Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| b64 = "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiLz4KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAiLz4KICA8dGl0bGU+Tm91cmlzaE5ldDwvdGl0bGU+CiAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgPHN0eWxlPgogICAgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjA7cGFkZGluZzowO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CiAgICBib2R5e2ZvbnQtZmFtaWx5OidJbnRlcicsc2Fucy1zZXJpZjtiYWNrZ3JvdW5kOiNGN0Y1RjA7Y29sb3I6IzFhMWExYTtvdmVyZmxvdy14OmhpZGRlbjttaW4td2lkdGg6MTAwJTt3aWR0aDoxMDAlfQogICAgLmdyYWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCMxRDlFNzUgMCUsIzBhN2E1MiA2MCUsIzM4Yzk4YSAxMDAlKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDp0ZXh0fQoKICAgIC8qIE5BViAqLwogICAgbmF2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxOHB4IDQ4cHg7YmFja2dyb3VuZDojMUQ5RTc1O3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjEwMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMGE2MzUwfQogICAgLmxvZ297Zm9udC1zaXplOjIxcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7bGV0dGVyLXNwYWNpbmc6LTAuMDFlbX0KICAgIC5uYXYtbGlua3N7ZGlzcGxheTpmbGV4O2dhcDozMnB4fQogICAgLm5hdi1saW5re2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNkMGY1ZTg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciAwLjJzO2ZvbnQtd2VpZ2h0OjUwMH0KICAgIC5uYXYtbGluazpob3Zlcntjb2xvcjojZmZmfQogICAgLm5hdi1jdGF7Zm9udC1zaXplOjEzcHg7Y29sb3I6IzFEOUU3NTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7cGFkZGluZzo5cHggMjBweDtjdXJzb3I6cG9pbnRlcjtmb250LXdlaWdodDo3MDA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuMnMsdHJhbnNmb3JtIDAuMXN9CiAgICAubmF2LWN0YTpob3ZlcntiYWNrZ3JvdW5kOiNkMGY1ZTg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9CgogICAgLyogUEFHRVMgKi8KICAgIC5wYWdle2Rpc3BsYXk6bm9uZTthbmltYXRpb246ZmFkZUluIDAuNHMgZWFzZX0KICAgIC5wYWdlLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfQogICAgQGtleWZyYW1lcyBmYWRlSW57ZnJvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTRweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0KCiAgICAvKiBIRVJPICovCiAgICAuaGVyb3twYWRkaW5nOjEwMHB4IDQ4cHggODRweDt0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6ODIwcHg7bWFyZ2luOjAgYXV0b30KICAgIC5oZXJvLWV5ZWJyb3d7Zm9udC1zaXplOjEycHg7Y29sb3I6IzBGNkU1NjtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxNHB4O2JvcmRlci1yYWRpdXM6MjBweDttYXJnaW4tYm90dG9tOjI2cHg7Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOjAuMDRlbTtib3JkZXI6MXB4IHNvbGlkICNiNmU4ZDN9CiAgICAuZG90e3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFEOUU3NTthbmltYXRpb246cHVsc2UgMnMgaW5maW5pdGV9CiAgICBAa2V5ZnJhbWVzIHB1bHNlezAlLDEwMCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX01MCV7b3BhY2l0eTowLjQ7dHJhbnNmb3JtOnNjYWxlKDEuNSl9fQogICAgLmhlcm8gaDF7Zm9udC1zaXplOjU0cHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luLWJvdHRvbToyNHB4O2xldHRlci1zcGFjaW5nOi0wLjAyNWVtO2NvbG9yOiMxMTF9CiAgICAuaGVybyBwe2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM1YTVhNWE7bGluZS1oZWlnaHQ6MS44O21heC13aWR0aDo1MjBweDttYXJnaW46MCBhdXRvIDQycHh9CiAgICAuaGVyby1idG5ze2Rpc3BsYXk6ZmxleDtnYXA6MTJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwfQogICAgLmJ0bi1wcmltYXJ5e2JhY2tncm91bmQ6IzFEOUU3NTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjE1cHggMzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuMnMsdHJhbnNmb3JtIDAuMTVzO2ZvbnQtZmFtaWx5OidJbnRlcicsc2Fucy1zZXJpZn0KICAgIC5idG4tcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kOiMwYTYzNTA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9CiAgICAuYnRuLW91dGxpbmV7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMUQ5RTc1O2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjE1cHggMzJweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjEuNXB4IHNvbGlkICMxRDlFNzU7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgMC4ycztmb250LWZhbWlseTonSW50ZXInLHNhbnMtc2VyaWZ9CiAgICAuYnRuLW91dGxpbmU6aG92ZXJ7YmFja2dyb3VuZDojZGZmNGVjO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfQogICAgLmhlcm8tc3Vie2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNiMGE4OTg7bWFyZ2luLXRvcDoxNnB4fQoKICAgIC8qIFNUQVRTICovCiAgICAuc3RhdHMtYmFye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtiYWNrZ3JvdW5kOiMxRDlFNzV9CiAgICAuc3RhdHtwYWRkaW5nOjM2cHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMwYTYzNTB9CiAgICAuc3RhdDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDpub25lfQogICAgLnN0YXQtdmFse2ZvbnQtc2l6ZTozMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmfQogICAgLnN0YXQtbGJse2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiNkMGY1ZTg7bWFyZ2luLXRvcDo2cHg7Zm9udC13ZWlnaHQ6NTAwfQoKICAgIC8qIFNFQ1RJT05TICovCiAgICAuc2VjdGlvbntwYWRkaW5nOjg0cHggNDhweDttYXgtd2lkdGg6MTAyMHB4O21hcmdpbjowIGF1dG99CiAgICAuc2VjdGlvbi1sYWJlbHtmb250LXNpemU6MTJweDtjb2xvcjojOTk5O3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MTJweDtsZXR0ZXItc3BhY2luZzowLjFlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6NjAwfQogICAgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjM2cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MTRweDtsZXR0ZXItc3BhY2luZzotMC4wMTVlbTtjb2xvcjojMTExfQogICAgLnNlY3Rpb24tc3Vie2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiM2NjY7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo1MnB4O2xpbmUtaGVpZ2h0OjEuNzU7bWF4LXdpZHRoOjU2MHB4O21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99CiAgICAuZ3JpZC0ze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MjBweH0KICAgIC5ncmlkLTJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpO2dhcDoyMHB4fQogICAgLmNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U0ZTBkODtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzozMnB4IDI2cHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgMC4ycyx0cmFuc2Zvcm0gMC4yc30KICAgIC5jYXJkOmhvdmVye2JvcmRlci1jb2xvcjojMUQ5RTc1O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpfQogICAgLmNhcmQtaWNvbnt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ib3R0b206MThweDtmb250LXNpemU6MjJweH0KICAgIC5jYXJkLXRpdGxle2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjEwcHg7Y29sb3I6IzExMX0KICAgIC5jYXJkLWRlc2N7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzY2NjtsaW5lLWhlaWdodDoxLjc1fQoKICAgIC8qIFJPVVRJTkcgKi8KICAgIC5yb3V0aW5nLXNlY3Rpb257YmFja2dyb3VuZDojZWVlYWUyO3BhZGRpbmc6ODRweCA0OHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNGUwZDg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTBkOH0KICAgIC5yb3V0aW5nLWlubmVye21heC13aWR0aDo5MjBweDttYXJnaW46MCBhdXRvfQogICAgLnJvdXRpbmctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciBhdXRvIDFmcjtnYXA6MjhweDthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDo1MnB4fQogICAgLnJvdXRpbmctY29se2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHh9CiAgICAucm91dGluZy1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlNGUwZDg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTRweCAxNnB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIDAuMnM7Y29sb3I6IzFhMWExYX0KICAgIC5yb3V0aW5nLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxRDlFNzV9CiAgICAucmluZm97Zm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODtmb250LXdlaWdodDo0MDA7bWFyZ2luLXRvcDoycHh9CiAgICAucm91dGluZy1taWR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9CiAgICAuYWktYm94e2JhY2tncm91bmQ6IzFEOUU3NTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjIycHggMTZweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7d2lkdGg6MTE4cHh9CiAgICAuYWktc3Vie2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMDtvcGFjaXR5OjAuNzU7bWFyZ2luLXRvcDo1cHh9CiAgICAuYXJyb3d7Zm9udC1zaXplOjIycHg7Y29sb3I6IzFEOUU3NTtmb250LXdlaWdodDo3MDB9CgogICAgLyogQ1RBIEJBTk5FUiAqLwogICAgLmN0YS1zZWN0aW9ue21hcmdpbjowIDQ4cHggODRweDtiYWNrZ3JvdW5kOiMxRDlFNzU7Ym9yZGVyLXJhZGl1czoyNHB4O3BhZGRpbmc6NjhweCA0OHB4O3RleHQtYWxpZ246Y2VudGVyfQogICAgLmN0YS10aXRsZXtmb250LXNpemU6MzZweDtmb250LXdlaWdodDo3MDA7bWFyZ2luLWJvdHRvbToxNHB4O2NvbG9yOiNmZmY7bGV0dGVyLXNwYWNpbmc6LTAuMDFlbX0KICAgIC5jdGEtc3Vie2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiNkMGY1ZTg7bWFyZ2luLWJvdHRvbTozMnB4O2xpbmUtaGVpZ2h0OjEuNzV9CiAgICAuY3RhLWJ0bntiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzFEOUU3NTtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzoxNXB4IDMycHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAwLjJzLHRyYW5zZm9ybSAwLjE1cztmb250LWZhbWlseTonSW50ZXInLHNhbnMtc2VyaWZ9CiAgICAuY3RhLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNkMGY1ZTg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9CgogICAgLyogREFTSEJPQVJEICovCiAgICAuZGFzaC1oZWFkZXJ7YmFja2dyb3VuZDojMUQ5RTc1O3BhZGRpbmc6MjhweCA0OHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59CiAgICAuZGFzaC1oZWFkZXIgaDJ7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmZ9CiAgICAuZGFzaC1oZWFkZXIgcHtmb250LXNpemU6MTNweDtjb2xvcjojZDBmNWU4O21hcmdpbi10b3A6MnB4fQogICAgLmRhc2gtYm9keXttYXgtd2lkdGg6MTAyMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzo0MHB4IDQ4cHh9CiAgICAubWV0cmljLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNnB4O21hcmdpbi1ib3R0b206MzJweH0KICAgIC5tZXRyaWMtY2FyZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTRlMGQ4O2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjI0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9CiAgICAubWV0cmljLXZhbHtmb250LXNpemU6MzJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFEOUU3NX0KICAgIC5tZXRyaWMtbGJse2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM4ODg7bWFyZ2luLXRvcDo2cHg7Zm9udC13ZWlnaHQ6NTAwfQogICAgLmRhc2gtZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjIwcHh9CiAgICAuZGFzaC1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlNGUwZDg7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MjRweH0KICAgIC5kYXNoLWNhcmQtdGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM5OTk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDdlbTttYXJnaW4tYm90dG9tOjE2cHh9CiAgICAuYmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjExcHg7cGFkZGluZzozcHggMTBweDtib3JkZXItcmFkaXVzOjIwcHg7Zm9udC13ZWlnaHQ6NjAwfQogICAgLmJhZGdlLWdyZWVue2JhY2tncm91bmQ6I2RmZjRlYztjb2xvcjojMEY2RTU2fQogICAgLmJhZGdlLWFtYmVye2JhY2tncm91bmQ6I0ZBRUVEQTtjb2xvcjojODU0RjBCfQogICAgLmJhZGdlLWJsdWV7YmFja2dyb3VuZDojRTZGMUZCO2NvbG9yOiMxODVGQTV9CiAgICAuYmFkZ2UtY29yYWx7YmFja2dyb3VuZDojRkFFQ0U3O2NvbG9yOiM5OTNDMUR9CiAgICAucHJvZ3Jlc3N7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNlNGUwZDg7bWFyZ2luLXRvcDoxMHB4O292ZXJmbG93OmhpZGRlbn0KICAgIC5wcm9ncmVzcy1maWxse2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6IzFEOUU3NTt0cmFuc2l0aW9uOndpZHRoIDAuNnMgZWFzZX0KCiAgICAvKiBGT1JNICovCiAgICAuZm9ybS1wYWdle21heC13aWR0aDo3MjBweDttYXJnaW46MCBhdXRvO3BhZGRpbmc6NDhweH0KICAgIC5mb3JtLWxhYmVse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojODg4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzowLjA3ZW07bWFyZ2luLWJvdHRvbTo4cHg7ZGlzcGxheTpibG9ja30KICAgIHNlbGVjdCxpbnB1dFt0eXBlPXJhbmdlXXt3aWR0aDoxMDAlO3BhZGRpbmc6MTJweCAxNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkICNlNGUwZDg7Zm9udC1zaXplOjE0cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMxYTFhMWE7bWFyZ2luLWJvdHRvbToyMHB4O2ZvbnQtZmFtaWx5OidJbnRlcicsc2Fucy1zZXJpZn0KICAgIGlucHV0W3R5cGU9cmFuZ2Vde3BhZGRpbmc6NnB4IDA7YWNjZW50LWNvbG9yOiMxRDlFNzV9CiAgICAuYWktcmVjLWJveHtiYWNrZ3JvdW5kOiNmMGZkZjg7Ym9yZGVyOjFweCBzb2xpZCAjOUZFMUNCO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE2cHggMThweDtmb250LXNpemU6MTRweDtjb2xvcjojMDg1MDQxO2xpbmUtaGVpZ2h0OjEuNzttYXJnaW4tYm90dG9tOjIwcHh9CiAgICAucmVjaXBpZW50LWNhcmR7Ym9yZGVyOjFweCBzb2xpZCAjZTRlMGQ4O2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE2cHg7bWFyZ2luLWJvdHRvbToxMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDojZmZmO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIDAuMnMsYmFja2dyb3VuZCAwLjJzfQogICAgLnJlY2lwaWVudC1jYXJkLnNlbGVjdGVke2JvcmRlci1jb2xvcjojMUQ5RTc1O2JhY2tncm91bmQ6I2YwZmRmOH0KICAgIC5yLWljb257d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToyMHB4O2ZsZXgtc2hyaW5rOjB9CgogICAgLyogQ09ORklSTSAqLwogICAgLmNvbmZpcm0tcGFnZXttYXgtd2lkdGg6NjAwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjYwcHggNDhweDt0ZXh0LWFsaWduOmNlbnRlcn0KICAgIC5zdWNjZXNzLWNpcmNsZXt3aWR0aDo4OHB4O2hlaWdodDo4OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2RmZjRlYztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjQ0cHg7bWFyZ2luOjAgYXV0byAyNHB4fQogICAgLnRyYWNrZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U0ZTBkODtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoyOHB4O21hcmdpbjoyOHB4IDA7dGV4dC1hbGlnbjpsZWZ0fQogICAgLnRyYWNrLXN0ZXB7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7bWFyZ2luLWJvdHRvbToxNnB4fQogICAgLnRyYWNrLWRvdHt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7ZmxleC1zaHJpbms6MH0KICAgIC50ZG9uZXtiYWNrZ3JvdW5kOiNkZmY0ZWM7Y29sb3I6IzBGNkU1Nn0KICAgIC50YWN0aXZle2JhY2tncm91bmQ6I0ZBRUVEQTtjb2xvcjojODU0RjBCfQogICAgLnRwZW5kaW5ne2JhY2tncm91bmQ6I2VlZTtjb2xvcjojYmJifQogICAgLnRjb25uZWN0e3dpZHRoOjJweDtoZWlnaHQ6MjBweDtiYWNrZ3JvdW5kOiNlNGUwZDg7bWFyZ2luOjNweCAwIDNweCAxM3B4fQoKICAgIC8qIElNUEFDVCAqLwogICAgLmltcGFjdC1wYWdle21heC13aWR0aDoxMDIwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjQ4cHh9CiAgICAuYmFyLXJvd3ttYXJnaW4tYm90dG9tOjE2cHh9CiAgICAuYmFyLWxhYmVse2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMTttYXJnaW4tYm90dG9tOjZweH0KICAgIC5iYXItdHJhY2t7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZDojZTRlMGQ4O292ZXJmbG93OmhpZGRlbn0KICAgIC5iYXItZmlsbHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjVweDt0cmFuc2l0aW9uOndpZHRoIDAuOHMgZWFzZX0KCiAgICAvKiBMRUFERVJCT0FSRCAqLwogICAgLmxiLXBhZ2V7bWF4LXdpZHRoOjgwMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzo0OHB4fQogICAgLmNpdHktdGFic3tkaXNwbGF5OmZsZXg7Z2FwOjhweDttYXJnaW4tYm90dG9tOjI4cHh9CiAgICAuY2l0eS10YWJ7cGFkZGluZzo4cHggMjBweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MS41cHggc29saWQgI2U0ZTBkODtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIDAuMnM7Zm9udC1mYW1pbHk6J0ludGVyJyxzYW5zLXNlcmlmO2NvbG9yOiM2NjZ9CiAgICAuY2l0eS10YWIuYWN0aXZle2JhY2tncm91bmQ6IzFEOUU3NTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojMUQ5RTc1fQogICAgLmxiLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNHB4O3BhZGRpbmc6MTRweCAxOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMGVkZTY7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuMnN9CiAgICAubGItcm93Lm1le2JhY2tncm91bmQ6I2YwZmRmODtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyLWJvdHRvbTpub25lO21hcmdpbjo0cHggMH0KICAgIC5sYi1yYW5re2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojY2NjO3dpZHRoOjI0cHh9CiAgICAubGItcmFuay5nb2xke2NvbG9yOiNCQTc1MTd9CiAgICAubGItcmFuay5zaWx2ZXJ7Y29sb3I6Izg4OH0KICAgIC5sYi1yYW5rLm1lLXJhbmt7Y29sb3I6IzFEOUU3NX0KICAgIC5sYi1hdmF0YXJ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjE4cHg7ZmxleC1zaHJpbms6MH0KCiAgICAvKiBBQk9VVCAqLwogICAgLmFib3V0LWhlcm8tYmFubmVye2JhY2tncm91bmQ6IzFEOUU3NTtwYWRkaW5nOjgwcHggNDhweCA3MnB4O3RleHQtYWxpZ246Y2VudGVyfQogICAgLmFib3V0LWhlcm8tYmFubmVyIGgxe2ZvbnQtc2l6ZTo0OHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO2xldHRlci1zcGFjaW5nOi0wLjAyNWVtO2xpbmUtaGVpZ2h0OjEuMTU7bWFyZ2luLWJvdHRvbToyMHB4fQogICAgLmFib3V0LWhlcm8tYmFubmVyIHB7Zm9udC1zaXplOjE3cHg7Y29sb3I6IzlGRTFDQjttYXgtd2lkdGg6NTQwcHg7bWFyZ2luOjAgYXV0bztsaW5lLWhlaWdodDoxLjh9CiAgICAuc3RhdC1zdHJpcHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7YmFja2dyb3VuZDojRjdGNUYwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNGUwZDh9CiAgICAuc3RhdC1ibG9ja3twYWRkaW5nOjQwcHggMjBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNlNGUwZDh9CiAgICAuc3RhdC1ibG9jazpsYXN0LWNoaWxke2JvcmRlci1yaWdodDpub25lfQogICAgLnN0YXQtYmlne2ZvbnQtc2l6ZTozNnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUQ5RTc1O21hcmdpbi1ib3R0b206NnB4fQogICAgLnN0YXQtc21hbGx7Zm9udC1zaXplOjEzcHg7Y29sb3I6Izg4ODtmb250LXdlaWdodDo1MDB9CiAgICAuY29tcGFyZS1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjBweH0KICAgIC5jb21wYXJlLWNhcmR7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U0ZTBkODtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoyOHB4fQogICAgLmNvbXBhcmUtY2FyZC5mZWF0dXJlZHtib3JkZXI6MnB4IHNvbGlkICMxRDlFNzV9CiAgICAuY29tcGFyZS1yb3d7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjEwcHh9CgogICAgLyogRk9PVEVSICovCiAgICBmb290ZXJ7cGFkZGluZzoyOHB4IDQ4cHg7YmFja2dyb3VuZDojMUQ5RTc1O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Ym9yZGVyLXRvcDoxcHggc29saWQgIzBhNjM1MH0KICAgIC5mb290ZXItbG9nb3tmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZn0KICAgIC5mb290ZXItbGlua3N7ZGlzcGxheTpmbGV4O2dhcDoyMHB4fQogICAgLmZvb3Rlci1saW5re2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiNkMGY1ZTg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciAwLjJzfQogICAgLmZvb3Rlci1saW5rOmhvdmVye2NvbG9yOiNmZmZ9CiAgICAuZm9vdGVyLXRleHR7Zm9udC1zaXplOjEycHg7Y29sb3I6I2QwZjVlOH0KCiAgICBAbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsKICAgICAgbmF2e3BhZGRpbmc6MTRweCAyMHB4fQogICAgICAubmF2LWxpbmtze2Rpc3BsYXk6bm9uZX0KICAgICAgLmhlcm97cGFkZGluZzo1NnB4IDIwcHggNDhweH0KICAgICAgLmhlcm8gaDF7Zm9udC1zaXplOjMycHh9CiAgICAgIC5zdGF0cy1iYXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9CiAgICAgIC5zZWN0aW9ue3BhZGRpbmc6NTZweCAyMHB4fQogICAgICAuZ3JpZC0zLC5ncmlkLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAgICAgLnJvdXRpbmctZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogICAgICAuY3RhLXNlY3Rpb257bWFyZ2luOjAgMjBweCA1NnB4O3BhZGRpbmc6NDBweCAyNHB4fQogICAgICAuZGFzaC1ib2R5LC5mb3JtLXBhZ2UsLmltcGFjdC1wYWdlLC5sYi1wYWdle3BhZGRpbmc6MjRweCAyMHB4fQogICAgICAuZGFzaC1ncmlkLC5tZXRyaWMtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogICAgICAuY29tcGFyZS1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgICAgIGZvb3RlcntwYWRkaW5nOjIwcHg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O3RleHQtYWxpZ246Y2VudGVyfQogICAgICAuYWJvdXQtaGVyby1iYW5uZXJ7cGFkZGluZzo1NnB4IDIwcHh9CiAgICAgIC5hYm91dC1oZXJvLWJhbm5lciBoMXtmb250LXNpemU6MzBweH0KICAgICAgLnN0YXQtc3RyaXB7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0KICAgIH0KICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoKPG5hdj4KICA8ZGl2IGNsYXNzPSJsb2dvIiBvbmNsaWNrPSJzaG93UGFnZSgnaG9tZScpIj5Ob3VyaXNoTmV0PC9kaXY+CiAgPGRpdiBjbGFzcz0ibmF2LWxpbmtzIj4KICAgIDxzcGFuIGNsYXNzPSJuYXYtbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2hvbWUnKSI+SG9tZTwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJuYXYtbGluayIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvdycpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJ30pO3Nob3dQYWdlKCdob21lJykiPkhvdyBpdCB3b3Jrczwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJuYXYtbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2Fib3V0JykiPkFib3V0PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im5hdi1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnbGVhZGVyYm9hcmQnKSI+TGVhZGVyYm9hcmQ8L3NwYW4+CiAgPC9kaXY+CiAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj5SZXN0YXVyYW50IGRhc2hib2FyZDwvYnV0dG9uPgo8L25hdj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIEhPTUUg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8ZGl2IGNsYXNzPSJwYWdlIGFjdGl2ZSIgaWQ9InBhZ2UtaG9tZSI+CiAgPHNlY3Rpb24gY2xhc3M9Imhlcm8iPgogICAgPGRpdiBjbGFzcz0iaGVyby1leWVicm93Ij48c3BhbiBjbGFzcz0iZG90Ij48L3NwYW4+IExpdmUgaW4gVUFFIMK3IFBvd2VyZWQgYnkgQUk8L2Rpdj4KICAgIDxoMT5UdXJuIHRvbmlnaHQncyBzdXJwbHVzPGJyPmludG8gPHNwYW4gY2xhc3M9ImdyYWQiPnRvbW9ycm93J3MgbWVhbDwvc3Bhbj48L2gxPgogICAgPHA+My4yNyBtaWxsaW9uIHRvbnMgb2YgZm9vZCB3YXN0ZWQgaW4gdGhlIFVBRSBldmVyeSB5ZWFyLiBOb3VyaXNoTmV0IGF1dG9tYXRpY2FsbHkgcm91dGVzIHlvdXIgc3VycGx1cyB0byBlbGRlcmx5IGhvbWVzLCByZWZ1Z2VlIGNlbnRlcnMsIGFuZCBmYW1pbGllcyBpbiBuZWVkLjwvcD4KICAgIDxkaXYgY2xhc3M9Imhlcm8tYnRucyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wcmltYXJ5IiBvbmNsaWNrPSJzaG93UGFnZSgnZGFzaGJvYXJkJykiPkdvIHRvIGRhc2hib2FyZDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4tb3V0bGluZSIgb25jbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvdycpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjonc21vb3RoJ30pIj5TZWUgaG93IGl0IHdvcmtzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Imhlcm8tc3ViIj5GcmVlIHRvIGpvaW4gwrcgTm8gdGVjaG5pY2FsIHNldHVwIMK3IFRha2VzIDIgbWludXRlczwvZGl2PgogIDwvc2VjdGlvbj4KCiAgPGRpdiBjbGFzcz0ic3RhdHMtYmFyIj4KICAgIDxkaXYgY2xhc3M9InN0YXQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0iYzEiPjA8L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LWxibCI+TWVhbHMgc2F2ZWQ8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0iYzIiPjA8L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LWxibCI+UmVzdGF1cmFudHM8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0iYzMiPjA8L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LWxibCI+Q0/igoIgYXZvaWRlZDwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3RhdCI+PGRpdiBjbGFzcz0ic3RhdC12YWwiIGlkPSJjNCI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGJsIj5Db21tdW5pdGllczwvZGl2PjwvZGl2PgogIDwvZGl2PgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgaWQ9ImhvdyI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5Ib3cgaXQgd29ya3M8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRocmVlIHN0ZXBzLiA8c3BhbiBjbGFzcz0iZ3JhZCI+WmVybyB3YXN0ZS48L3NwYW4+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YiI+Tm8gY29tcGxpY2F0ZWQgc2V0dXAuIE5vIG1hbnVhbCBjb29yZGluYXRpb24uIEp1c3Qgc3VycGx1cyBmb29kIHJlYWNoaW5nIHBlb3BsZSB3aG8gbmVlZCBpdC48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImdyaWQtMyI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPjxkaXYgY2xhc3M9ImNhcmQtaWNvbiI+8J+TizwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkxvZyB5b3VyIHN1cnBsdXM8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkLWRlc2MiPlRlbGwgdXMgd2hhdCBmb29kIHlvdSBoYXZlLCB0aGUgcXVhbnRpdHksIGFuZCB3aGVuIGl0IGV4cGlyZXMuIE91ciBzaW1wbGUgZm9ybSB0YWtlcyB1bmRlciAzMCBzZWNvbmRzLjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj48ZGl2IGNsYXNzPSJjYXJkLWljb24iPvCfpJY8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5BSSByb3V0ZXMgaXQgaW5zdGFudGx5PC9kaXY+PGRpdiBjbGFzcz0iY2FyZC1kZXNjIj5PdXIgQUkgYW5hbHl6ZXMgZm9vZCB0eXBlLCBxdWFudGl0eSwgZXhwaXJ5LCBhbmQgbG9jYXRpb24gdG8gbWF0Y2ggc3VycGx1cyB3aXRoIHRoZSBwZXJmZWN0IHJlY2lwaWVudCBjb21tdW5pdHkuPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPjxkaXYgY2xhc3M9ImNhcmQtaWNvbiI+8J+alzwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPlZvbHVudGVlciBkZWxpdmVycyBpdDwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtZGVzYyI+QSB2ZXJpZmllZCB2b2x1bnRlZXIgcGlja3MgdXAgYW5kIGRlbGl2ZXJzLiBZb3UgZ2V0IGEgbGl2ZSB0cmFja2VyIGFuZCBjb25maXJtZWQgaW1wYWN0IHJlcG9ydCB3aGVuIGRvbmUuPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxkaXYgY2xhc3M9InJvdXRpbmctc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJyb3V0aW5nLWlubmVyIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+U21hcnQgcm91dGluZyBlbmdpbmU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UmlnaHQgZm9vZC4gPHNwYW4gY2xhc3M9ImdyYWQiPlJpZ2h0IHBlb3BsZS48L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3ViIj5RdWFudGl0eSBhbmQgZm9vZCB0eXBlIGRldGVybWluZSB3aG8gZ2V0cyB0aGUgZm9vZCDigJQgbm90IGNoYW5jZS48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3V0aW5nLWNvbCI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6Izk5OTttYXJnaW4tYm90dG9tOjZweDtsZXR0ZXItc3BhY2luZzowLjA2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIj5Eb25vcnM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdXRpbmctY2FyZCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMHB4Ij7wn42977iPPC9zcGFuPjxkaXY+PGRpdj5BbCBCYWlrIFJlc3RhdXJhbnQ8L2Rpdj48ZGl2IGNsYXNzPSJyaW5mbyI+NjAgcG9ydGlvbnMgwrcgaGFsYWwgwrcgNGhyczwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1jYXJkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIwcHgiPvCfpZY8L3NwYW4+PGRpdj48ZGl2PlN1bnNldCBCYWtlcnk8L2Rpdj48ZGl2IGNsYXNzPSJyaW5mbyI+MTIwIGJyZWFkIGxvYXZlcyDCtyAyaHJzPC9kaXY+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3V0aW5nLWNhcmQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MjBweCI+8J+PqDwvc3Bhbj48ZGl2PjxkaXY+R3JhbmQgSHlhdHQgSG90ZWw8L2Rpdj48ZGl2IGNsYXNzPSJyaW5mbyI+MjAwIHBvcnRpb25zIMK3IHZhcmllZCDCtyB0b2RheTwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdXRpbmctbWlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93Ij7ihpI8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFpLWJveCI+8J+kliBBSTxkaXYgY2xhc3M9ImFpLXN1YiI+TWF0Y2hlcyBpbiBzZWNvbmRzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhcnJvdyI+4oaSPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1jb2wiPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM5OTk7bWFyZ2luLWJvdHRvbTo2cHg7bGV0dGVyLXNwYWNpbmc6MC4wNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSI+UmVjaXBpZW50czwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1jYXJkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIwcHgiPvCfp5M8L3NwYW4+PGRpdj48ZGl2PkFsIFFhc2JhIEVsZGVybHkgSG9tZTwvZGl2PjxkaXYgY2xhc3M9InJpbmZvIj5OZWVkcyA0MOKAkzgwIMK3IGhhbGFsIOKckzwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1jYXJkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIwcHgiPvCfm5Y8L3NwYW4+PGRpdj48ZGl2PlNoYXJqYWggUmVmdWdlZSBDZW50ZXI8L2Rpdj48ZGl2IGNsYXNzPSJyaW5mbyI+TmVlZHMgMTAwKyDCtyBhbnkgZm9vZDwvZGl2PjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icm91dGluZy1jYXJkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIwcHgiPvCfkajigI3wn5Gp4oCN8J+Rpzwvc3Bhbj48ZGl2PjxkaXY+TG93LWluY29tZSBGYW1pbGllczwvZGl2PjxkaXYgY2xhc3M9InJpbmZvIj5GbGV4aWJsZSDCtyBuZWlnaGJvcmhvb2Q8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+R2FtaWZpY2F0aW9uPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Eb25hdGUuIEVhcm4uIDxzcGFuIGNsYXNzPSJncmFkIj5Db21wZXRlLjwvc3Bhbj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3ViIj5FdmVyeSBkb25hdGlvbiBlYXJucyBwb2ludHMsIGJhZGdlcywgYW5kIHB1YmxpYyByZWNvZ25pdGlvbiDigJQgdHVybmluZyBzdXN0YWluYWJpbGl0eSBpbnRvIGEgYnJhbmQgYWR2YW50YWdlLjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ3JpZC0zIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+PGRpdiBjbGFzcz0iY2FyZC1pY29uIj7wn4+GPC9kaXY+PGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+Q2l0eSBsZWFkZXJib2FyZDwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtZGVzYyI+Q29tcGV0ZSB3aXRoIHJlc3RhdXJhbnRzIGFjcm9zcyBEdWJhaSBhbmQgU2hhcmphaC4gVG9wIGRvbm9ycyBnZXQgZmVhdHVyZWQgb24gR29vZ2xlIE1hcHMgYW5kIHByZXNzIGNvdmVyYWdlLjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj48ZGl2IGNsYXNzPSJjYXJkLWljb24iPvCflKU8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5Eb25hdGlvbiBzdHJlYWtzPC9kaXY+PGRpdiBjbGFzcz0iY2FyZC1kZXNjIj5Eb25hdGUgNyBkYXlzIGluIGEgcm93IGFuZCBlYXJuIHRoZSBDb21tdW5pdHkgSGVybyBiYWRnZS4gS2VlcCBnb2luZyBmb3IgWmVybyBXYXN0ZSBDaGFtcGlvbiBzdGF0dXMuPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPjxkaXYgY2xhc3M9ImNhcmQtaWNvbiI+8J+TijwvZGl2PjxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkltcGFjdCBkYXNoYm9hcmQ8L2Rpdj48ZGl2IGNsYXNzPSJjYXJkLWRlc2MiPlNlZSBleGFjdGx5IHdobyB5b3UgZmVkLCBob3cgbXVjaCBDT+KCgiB5b3Ugc2F2ZWQsIGFuZCByZWNlaXZlIHJlYWwgbWVzc2FnZXMgZnJvbSByZWNpcGllbnQgY29tbXVuaXRpZXMuPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CgogIDxzZWN0aW9uIGNsYXNzPSJjdGEtc2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJjdGEtdGl0bGUiPlJlYWR5IHRvIG1ha2UgYW4gaW1wYWN0PzwvZGl2PgogICAgPGRpdiBjbGFzcz0iY3RhLXN1YiI+Sm9pbiAxODYgcmVzdGF1cmFudHMgYWxyZWFkeSBmZWVkaW5nIGNvbW11bml0aWVzIGFjcm9zcyB0aGUgVUFFLjxicj5GcmVlLCB0YWtlcyAyIG1pbnV0ZXMsIGZpcnN0IHBpY2t1cCBpcyBzYW1lLWRheS48L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImN0YS1idG4iIG9uY2xpY2s9InNob3dQYWdlKCdkYXNoYm9hcmQnKSI+R28gdG8gZGFzaGJvYXJkIOKGkjwvYnV0dG9uPgogIDwvc2VjdGlvbj4KCiAgPGZvb3Rlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj5Ob3VyaXNoTmV0PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGlua3MiPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdob21lJykiPkhvbWU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj5EYXNoYm9hcmQ8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2xlYWRlcmJvYXJkJykiPkxlYWRlcmJvYXJkPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdhYm91dCcpIj5BYm91dDwvc3Bhbj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLXRleHQiPlVBRSDCtyAyMDI1IMK3IFBhcnRuZXJlZCB3aXRoIFVBRSBGb29kIEJhbmsgJiBOZSdtYTwvZGl2PgogIDwvZm9vdGVyPgo8L2Rpdj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIERBU0hCT0FSRCDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxkaXYgY2xhc3M9InBhZ2UiIGlkPSJwYWdlLWRhc2hib2FyZCI+CiAgPGRpdiBjbGFzcz0iZGFzaC1oZWFkZXIiPgogICAgPGRpdj4KICAgICAgPGgyPkFsIEJhaWsgUmVzdGF1cmFudDwvaDI+CiAgICAgIDxwPkR1YmFpIMK3IE1lbWJlciBzaW5jZSBKYW4gMjAyNTwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlciI+CiAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1ncmVlbiI+4pePIEFjdGl2ZTwvc3Bhbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0ic2hvd1BhZ2UoJ2xvZycpIj4rIExvZyBzdXJwbHVzPC9idXR0b24+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJkYXNoLWJvZHkiPgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiM4ODg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDdlbTttYXJnaW4tYm90dG9tOjE2cHgiPlRoaXMgd2VlaydzIGltcGFjdDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibWV0cmljLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+PGRpdiBjbGFzcz0ibWV0cmljLXZhbCI+MTQyPC9kaXY+PGRpdiBjbGFzcz0ibWV0cmljLWxibCI+TWVhbHMgc2F2ZWQ8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWNhcmQiPjxkaXYgY2xhc3M9Im1ldHJpYy12YWwiPjM4a2c8L2Rpdj48ZGl2IGNsYXNzPSJtZXRyaWMtbGJsIj5DT+KCgiBhdm9pZGVkPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1jYXJkIj48ZGl2IGNsYXNzPSJtZXRyaWMtdmFsIj43MjA8L2Rpdj48ZGl2IGNsYXNzPSJtZXRyaWMtbGJsIj5Qb2ludHMgZWFybmVkPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRhc2gtZ3JpZCI+CiAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLXRpdGxlIj5BSSBwcmVkaWN0aW9uIOKAlCB0b25pZ2h0PC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW4tYm90dG9tOjEycHgiPgogICAgICAgICAgPGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzExMSI+fjYwIHN1cnBsdXMgcG9ydGlvbnM8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij5MYW1iIGtvZnRhIMK3IGV4cGlyZXMgaW4gNSBocnM8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1hbWJlciI+VXJnZW50PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDoxcHg7YmFja2dyb3VuZDojZjBmMGYwO21hcmdpbjoxNHB4IDAiPjwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2NvbG9yOiM4ODg7bWFyZ2luLWJvdHRvbToxMHB4O2ZvbnQtd2VpZ2h0OjUwMCI+QmVzdCBBSSBtYXRjaDwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7bWFyZ2luLWJvdHRvbToxNnB4Ij4KICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZGZmNGVjO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MThweCI+8J+PoDwvZGl2PgogICAgICAgICAgPGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSI+QWwgUWFzYmEgRWxkZXJseSBIb21lPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4OCI+Mi4xIGttIMK3IGNhcGFjaXR5IDgwIMK3IGhhbGFsIOKckzwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wcmltYXJ5IiBzdHlsZT0id2lkdGg6MTAwJTtwYWRkaW5nOjEycHgiIG9uY2xpY2s9InNob3dQYWdlKCdsb2cnKSI+TG9nIHN1cnBsdXMgJiByb3V0ZSDihpI8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxNnB4Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZC10aXRsZSI+RG9uYXRpb24gc3RyZWFrPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206OHB4Ij4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxMTEiPvCflKUgNyBkYXlzPC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1ibHVlIj5Db21tdW5pdHkgSGVybzwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiPjxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDo3MCUiPjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6I2FhYTttYXJnaW4tdG9wOjhweCI+MyBtb3JlIGRheXMg4oaSIFplcm8gV2FzdGUgQ2hhbXBpb248L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLXRpdGxlIj5RdWljayBhY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXByaW1hcnkiIHN0eWxlPSJwYWRkaW5nOjExcHgiIG9uY2xpY2s9InNob3dQYWdlKCdsb2cnKSI+KyBMb2cgc3VycGx1cyBub3c8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLW91dGxpbmUiIHN0eWxlPSJwYWRkaW5nOjExcHgiIG9uY2xpY2s9InNob3dQYWdlKCdpbXBhY3QnKSI+VmlldyBpbXBhY3QgcmVwb3J0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1vdXRsaW5lIiBzdHlsZT0icGFkZGluZzoxMXB4IiBvbmNsaWNrPSJzaG93UGFnZSgnbGVhZGVyYm9hcmQnKSI+U2VlIGxlYWRlcmJvYXJkPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8Zm9vdGVyPgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWxvZ28iPk5vdXJpc2hOZXQ8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1saW5rcyI+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2hvbWUnKSI+SG9tZTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnZGFzaGJvYXJkJykiPkRhc2hib2FyZDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnaW1wYWN0JykiPkltcGFjdDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnbGVhZGVyYm9hcmQnKSI+TGVhZGVyYm9hcmQ8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci10ZXh0Ij5VQUUgwrcgMjAyNTwvZGl2PgogIDwvZm9vdGVyPgo8L2Rpdj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIExPRyBTVVJQTFVTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBjbGFzcz0icGFnZSIgaWQ9InBhZ2UtbG9nIj4KICA8ZGl2IGNsYXNzPSJkYXNoLWhlYWRlciI+CiAgICA8ZGl2PjxoMj5Mb2cgc3VycGx1cyBmb29kPC9oMj48cD5UYWtlcyB1bmRlciAzMCBzZWNvbmRzPC9wPjwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj7ihpAgQmFjazwvYnV0dG9uPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImZvcm0tcGFnZSI+CiAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPkZvb2QgdHlwZTwvbGFiZWw+CiAgICA8c2VsZWN0IGlkPSJmb29kLXR5cGUiIG9uY2hhbmdlPSJ1cGRhdGVSb3V0aW5nKCkiPgogICAgICA8b3B0aW9uPkNvb2tlZCBtZWFscyAoaGFsYWwpPC9vcHRpb24+CiAgICAgIDxvcHRpb24+QmFrZWQgZ29vZHMgLyBicmVhZDwvb3B0aW9uPgogICAgICA8b3B0aW9uPlJhdyBwcm9kdWNlPC9vcHRpb24+CiAgICAgIDxvcHRpb24+UGFja2FnZWQgLyBkcnkgZ29vZHM8L29wdGlvbj4KICAgIDwvc2VsZWN0PgoKICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+TnVtYmVyIG9mIHBvcnRpb25zOiA8c3BhbiBpZD0icXR5LXZhbCIgc3R5bGU9ImNvbG9yOiMxRDlFNzU7Zm9udC13ZWlnaHQ6NzAwIj42MDwvc3Bhbj48L2xhYmVsPgogICAgPGlucHV0IHR5cGU9InJhbmdlIiBtaW49IjEiIG1heD0iMjUwIiB2YWx1ZT0iNjAiIHN0ZXA9IjEiIGlkPSJxdHktc2xpZGVyIiBvbmlucHV0PSJ1cGRhdGVRdHkodGhpcy52YWx1ZSkiPgoKICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+RXhwaXJlcyBpbjwvbGFiZWw+CiAgICA8c2VsZWN0IGlkPSJleHBpcnkiIG9uY2hhbmdlPSJ1cGRhdGVSb3V0aW5nKCkiPgogICAgICA8b3B0aW9uPkxlc3MgdGhhbiAyIGhvdXJzPC9vcHRpb24+CiAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+MuKAkzYgaG91cnM8L29wdGlvbj4KICAgICAgPG9wdGlvbj5TYW1lIGRheTwvb3B0aW9uPgogICAgICA8b3B0aW9uPlRvbW9ycm93PC9vcHRpb24+CiAgICA8L3NlbGVjdD4KCiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6MXB4O2JhY2tncm91bmQ6I2U0ZTBkODttYXJnaW46OHB4IDAgMjBweCI+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFEOUU3NTttYXJnaW4tYm90dG9tOjEwcHgiPvCfpJYgQUkgcmVjb21tZW5kYXRpb248L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImFpLXJlYy1ib3giIGlkPSJhaS1yZWMiPgogICAgICBCYXNlZCBvbiA2MCBoYWxhbCBwb3J0aW9ucyBleHBpcmluZyBpbiAy4oCTNiBocnM6IGJlc3QgbWF0Y2ggaXMgYW4gPHN0cm9uZz5lbGRlcmx5IGNhcmUgaG9tZTwvc3Ryb25nPiB3aXRoaW4gM2ttLiBOdXRyaXRpb25hbCBwcm9maWxlIHN1aXRzIHNvZnQtbWVhbCBuZWVkcy4KICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojODg4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzowLjA3ZW07bWFyZ2luLWJvdHRvbToxMnB4Ij5NYXRjaGVkIHJlY2lwaWVudHM8L2Rpdj4KICAgIDxkaXYgaWQ9InJlY2lwaWVudHMiPgogICAgICA8ZGl2IGNsYXNzPSJyZWNpcGllbnQtY2FyZCBzZWxlY3RlZCIgb25jbGljaz0ic2VsZWN0UmVjaXBpZW50KHRoaXMpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyLWljb24iPvCfj6A8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OjEiPjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMTExIiBpZD0icjEtbmFtZSI+QWwgUWFzYmEgRWxkZXJseSBIb21lPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODttYXJnaW4tdG9wOjJweCI+Mi4xIGttIMK3IGhhbGFsIOKckyDCtyBjYXBhY2l0eSA0MOKAkzgwPC9kaXY+PC9kaXY+CiAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWdyZWVuIj5CZXN0IG1hdGNoPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icmVjaXBpZW50LWNhcmQiIG9uY2xpY2s9InNlbGVjdFJlY2lwaWVudCh0aGlzKSI+CiAgICAgICAgPGRpdiBjbGFzcz0ici1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDojRTZGMUZCIj7wn5uWPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZmxleDoxIj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSIgaWQ9InIyLW5hbWUiPlNoYXJqYWggUmVmdWdlZSBDZW50ZXI8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij40LjMga20gwrcgaGFsYWwg4pyTIMK3IGNhcGFjaXR5IDEwMOKAkzIwMDwvZGl2PjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icmVjaXBpZW50LWNhcmQiIG9uY2xpY2s9InNlbGVjdFJlY2lwaWVudCh0aGlzKSI+CiAgICAgICAgPGRpdiBjbGFzcz0ici1pY29uIiBzdHlsZT0iYmFja2dyb3VuZDojRkFFRURBIj7wn5Go4oCN8J+RqeKAjfCfkac8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OjEiPjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMTExIiBpZD0icjMtbmFtZSI+QWwgTmFoZGEgRmFtaWxpZXM8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij4zLjYga20gwrcgYW55IGZvb2QgwrcgZmxleGlibGUgY2FwYWNpdHk8L2Rpdj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImJ0bi1wcmltYXJ5IiBzdHlsZT0id2lkdGg6MTAwJTtwYWRkaW5nOjE0cHg7bWFyZ2luLXRvcDo4cHg7Zm9udC1zaXplOjE1cHgiIG9uY2xpY2s9InNob3dQYWdlKCdjb25maXJtJykiPkNvbmZpcm0gZG9uYXRpb24g4oaSPC9idXR0b24+CiAgICA8YnV0dG9uIGNsYXNzPSJidG4tb3V0bGluZSIgc3R5bGU9IndpZHRoOjEwMCU7cGFkZGluZzoxNHB4O21hcmdpbi10b3A6MTBweCIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj5DYW5jZWw8L2J1dHRvbj4KICA8L2Rpdj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBDT05GSVJNIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBjbGFzcz0icGFnZSIgaWQ9InBhZ2UtY29uZmlybSI+CiAgPGRpdiBjbGFzcz0iY29uZmlybS1wYWdlIj4KICAgIDxkaXYgY2xhc3M9InN1Y2Nlc3MtY2lyY2xlIj7inJM8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUQ5RTc1O21hcmdpbi1ib3R0b206OHB4Ij5QaWNrdXAgc2NoZWR1bGVkITwvZGl2PgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE1cHg7Y29sb3I6Izg4ODttYXJnaW4tYm90dG9tOjhweCI+Vm9sdW50ZWVyIGNvbmZpcm1lZCDCtyBFVEEgMzUgbWludXRlczwvZGl2PgogICAgPGRpdiBjbGFzcz0idHJhY2tlciI+CiAgICAgIDxkaXYgY2xhc3M9InRyYWNrLXN0ZXAiPjxkaXYgY2xhc3M9InRyYWNrLWRvdCB0ZG9uZSI+4pyTPC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSI+U3VycGx1cyBsb2dnZWQ8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij42MCBwb3J0aW9ucyDCtyBoYWxhbCBjb29rZWQgbWVhbHM8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGNvbm5lY3QiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0cmFjay1zdGVwIj48ZGl2IGNsYXNzPSJ0cmFjay1kb3QgdGRvbmUiPuKckzwvZGl2PjxkaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxMTEiPkFJIG1hdGNoZWQgcmVjaXBpZW50PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODttYXJnaW4tdG9wOjJweCI+QWwgUWFzYmEgRWxkZXJseSBIb21lIMK3IDIuMWttIGF3YXk8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGNvbm5lY3QiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0cmFjay1zdGVwIj48ZGl2IGNsYXNzPSJ0cmFjay1kb3QgdGFjdGl2ZSI+4oaSPC9kaXY+PGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSI+Vm9sdW50ZWVyIGVuIHJvdXRlPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODttYXJnaW4tdG9wOjJweCI+QWhtZWQgSy4gwrcgcGlja3VwIGF0IDg6MzAgUE08L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0idGNvbm5lY3QiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0cmFjay1zdGVwIj48ZGl2IGNsYXNzPSJ0cmFjay1kb3QgdHBlbmRpbmciPjQ8L2Rpdj48ZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojYmJiIj5EZWxpdmVyeSBjb25maXJtZWQ8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojY2NjO21hcmdpbi10b3A6MnB4Ij5QZW5kaW5nPC9kaXY+PC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlNGUwZDg7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MjJweDttYXJnaW4tYm90dG9tOjI0cHg7dGV4dC1hbGlnbjpsZWZ0Ij4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM5OTk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDdlbTttYXJnaW4tYm90dG9tOjEycHgiPlBvaW50cyBlYXJuZWQ8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxMTEiPisxMjAgcG9pbnRzPC9kaXY+CiAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlIGJhZGdlLWdyZWVuIj5TdHJlYWsgKzEg8J+UpTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOiM4ODg7bWFyZ2luLXRvcDo2cHgiPlRvdGFsOiA4NDAgcHRzIMK3IFJhbmsgIzMgaW4gRHViYWk8L2Rpdj4KICAgIDwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXByaW1hcnkiIHN0eWxlPSJ3aWR0aDoxMDAlO3BhZGRpbmc6MTRweDtmb250LXNpemU6MTVweDttYXJnaW4tYm90dG9tOjEwcHgiIG9uY2xpY2s9InNob3dQYWdlKCdkYXNoYm9hcmQnKSI+QmFjayB0byBkYXNoYm9hcmQ8L2J1dHRvbj4KICAgIDxidXR0b24gY2xhc3M9ImJ0bi1vdXRsaW5lIiBzdHlsZT0id2lkdGg6MTAwJTtwYWRkaW5nOjE0cHgiIG9uY2xpY2s9InNob3dQYWdlKCdpbXBhY3QnKSI+VmlldyBteSBpbXBhY3Qg4oaSPC9idXR0b24+CiAgPC9kaXY+CjwvZGl2PgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgSU1QQUNUIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPGRpdiBjbGFzcz0icGFnZSIgaWQ9InBhZ2UtaW1wYWN0Ij4KICA8ZGl2IGNsYXNzPSJkYXNoLWhlYWRlciI+CiAgICA8ZGl2PjxoMj5Zb3VyIGltcGFjdDwvaDI+PHA+QWwgQmFpayBSZXN0YXVyYW50IMK3IEFsbCB0aW1lPC9wPjwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj7ihpAgRGFzaGJvYXJkPC9idXR0b24+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iaW1wYWN0LXBhZ2UiPgogICAgPGRpdiBjbGFzcz0ibWV0cmljLWdyaWQiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjMycHgiPgogICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+PGRpdiBjbGFzcz0ibWV0cmljLXZhbCI+MSwyNDA8L2Rpdj48ZGl2IGNsYXNzPSJtZXRyaWMtbGJsIj5Ub3RhbCBtZWFscyBzYXZlZDwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+PGRpdiBjbGFzcz0ibWV0cmljLXZhbCI+MzEya2c8L2Rpdj48ZGl2IGNsYXNzPSJtZXRyaWMtbGJsIj5DT+KCgiBhdm9pZGVkPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1jYXJkIj48ZGl2IGNsYXNzPSJtZXRyaWMtdmFsIj5BRUQgNCwyMDA8L2Rpdj48ZGl2IGNsYXNzPSJtZXRyaWMtbGJsIj5EaXNwb3NhbCBjb3N0cyBzYXZlZDwvZGl2PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkYXNoLWdyaWQiPgogICAgICA8ZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjBweCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQtdGl0bGUiPldobyB5b3UndmUgZmVkPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXItcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFyLWxhYmVsIj48c3Bhbj7wn6eTIEVsZGVybHkgaG9tZXM8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRDlFNzUiPjQ4JTwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFyLXRyYWNrIj48ZGl2IGNsYXNzPSJiYXItZmlsbCIgc3R5bGU9IndpZHRoOjQ4JTtiYWNrZ3JvdW5kOiMxRDlFNzUiPjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXItcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFyLWxhYmVsIj48c3Bhbj7wn5uWIFJlZnVnZWUgY2VudGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzE4NUZBNSI+MzElPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXItdHJhY2siPjxkaXYgY2xhc3M9ImJhci1maWxsIiBzdHlsZT0id2lkdGg6MzElO2JhY2tncm91bmQ6IzE4NUZBNSI+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJhci1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYXItbGFiZWwiPjxzcGFuPvCfkajigI3wn5Gp4oCN8J+RpyBMb3ctaW5jb21lIGZhbWlsaWVzPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojQkE3NTE3Ij4yMSU8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhci10cmFjayI+PGRpdiBjbGFzcz0iYmFyLWZpbGwiIHN0eWxlPSJ3aWR0aDoyMSU7YmFja2dyb3VuZDojQkE3NTE3Ij48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQtdGl0bGUiPkxhdGVzdCBtZXNzYWdlIGZyb20gcmVjaXBpZW50PC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjojMzMzO2xpbmUtaGVpZ2h0OjEuNzU7Zm9udC1zdHlsZTppdGFsaWMiPiJZb3VyIE1vbmRheSBzdXJwbHVzIGZlZCA0NyBlbGRlcmx5IHJlc2lkZW50cyBhdCBBbCBRYXNiYSBDYXJlIEhvbWUsIHNhdmluZyAxMmtnIG9mIENP4oKCIGFuZCBwcm92aWRpbmcgYSB3YXJtIGhhbGFsIG1lYWwgdG8gcGVvcGxlIHdobyBuZWVkZWQgaXQgbW9zdC4iPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojMUQ5RTc1O21hcmdpbi10b3A6MTBweDtmb250LXdlaWdodDo2MDAiPuKAlCBBbCBRYXNiYSBFbGRlcmx5IEhvbWUgwrcgMiBkYXlzIGFnbzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQtdGl0bGUiPkJhZGdlcyBlYXJuZWQ8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4Ij4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7cGFkZGluZzoxNHB4O2JhY2tncm91bmQ6I2RmZjRlYztib3JkZXItcmFkaXVzOjEwcHgiPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjI4cHgiPvCfj4Y8L3NwYW4+CiAgICAgICAgICAgIDxkaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwODUwNDEiPkNvbW11bml0eSBIZXJvPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6IzFEOUU3NTttYXJnaW4tdG9wOjJweCI+Ny1kYXkgZG9uYXRpb24gc3RyZWFrIGFjaGlldmVkPC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE0cHg7cGFkZGluZzoxNHB4O2JhY2tncm91bmQ6I0U2RjFGQjtib3JkZXItcmFkaXVzOjEwcHgiPgogICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjI4cHgiPuKtkDwvc3Bhbj4KICAgICAgICAgICAgPGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzBDNDQ3QyI+MSwwMDAgTWVhbHM8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojMTg1RkE1O21hcmdpbi10b3A6MnB4Ij5PdmVyIDEsMDAwIG1lYWxzIGRvbmF0ZWQ8L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDtwYWRkaW5nOjE0cHg7YmFja2dyb3VuZDojRkFFRURBO2JvcmRlci1yYWRpdXM6MTBweCI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MjhweCI+8J+MsTwvc3Bhbj4KICAgICAgICAgICAgPGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzYzMzgwNiI+VG9wIERvbm9yIER1YmFpPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg1NEYwQjttYXJnaW4tdG9wOjJweCI+UmFua2VkICMzIGluIER1YmFpIHRoaXMgbW9udGg8L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDtwYWRkaW5nOjE0cHg7YmFja2dyb3VuZDojRkFFQ0U3O2JvcmRlci1yYWRpdXM6MTBweCI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6MjhweCI+8J+UpTwvc3Bhbj4KICAgICAgICAgICAgPGRpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzcxMkIxMyI+U3RyZWFrIE1hc3RlcjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2NvbG9yOiM5OTNDMUQ7bWFyZ2luLXRvcDoycHgiPkRvbmF0ZWQgMzAgZGF5cyBpbiBhIHJvdzwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGZvb3Rlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj5Ob3VyaXNoTmV0PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGlua3MiPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdob21lJykiPkhvbWU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj5EYXNoYm9hcmQ8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2xlYWRlcmJvYXJkJykiPkxlYWRlcmJvYXJkPC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItdGV4dCI+VUFFIMK3IDIwMjU8L2Rpdj4KICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBMRUFERVJCT0FSRCDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxkaXYgY2xhc3M9InBhZ2UiIGlkPSJwYWdlLWxlYWRlcmJvYXJkIj4KICA8ZGl2IGNsYXNzPSJkYXNoLWhlYWRlciI+CiAgICA8ZGl2PjxoMj5DaXR5IGxlYWRlcmJvYXJkIPCfj4Y8L2gyPjxwPlRvcCByZXN0YXVyYW50cyBieSBtZWFscyBkb25hdGVkPC9wPjwvZGl2PgogICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWN0YSIgb25jbGljaz0ic2hvd1BhZ2UoJ2hvbWUnKSI+4oaQIEhvbWU8L2J1dHRvbj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJsYi1wYWdlIj4KICAgIDxkaXYgY2xhc3M9ImNpdHktdGFicyI+CiAgICAgIDxidXR0b24gY2xhc3M9ImNpdHktdGFiIGFjdGl2ZSIgb25jbGljaz0ic3dpdGNoQ2l0eSh0aGlzLCdkdWJhaScpIj5EdWJhaTwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJjaXR5LXRhYiIgb25jbGljaz0ic3dpdGNoQ2l0eSh0aGlzLCdzaGFyamFoJykiPlNoYXJqYWg8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY2l0eS10YWIiIG9uY2xpY2s9InN3aXRjaENpdHkodGhpcywnYWJ1ZGhhYmknKSI+QWJ1IERoYWJpPC9idXR0b24+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTRlMGQ4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjhweCAwO21hcmdpbi1ib3R0b206MjhweCI+CiAgICAgIDxkaXYgY2xhc3M9ImxiLXJvdyI+PGRpdiBjbGFzcz0ibGItcmFuayBnb2xkIj4xPC9kaXY+PGRpdiBjbGFzcz0ibGItYXZhdGFyIiBzdHlsZT0iYmFja2dyb3VuZDojRkFFRURBIj7wn42977iPPC9kaXY+PGRpdiBzdHlsZT0iZmxleDoxIj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTVweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSI+UmF2aSdzIEtpdGNoZW48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij4yLDM0MCBtZWFscyDCtyA1ODBrZyBDT+KCgjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1hbWJlciI+Q2hhbXBpb24g8J+lhzwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGItcm93Ij48ZGl2IGNsYXNzPSJsYi1yYW5rIHNpbHZlciI+MjwvZGl2PjxkaXYgY2xhc3M9ImxiLWF2YXRhciIgc3R5bGU9ImJhY2tncm91bmQ6I2RmZjRlYyI+8J+MvzwvZGl2PjxkaXYgc3R5bGU9ImZsZXg6MSI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxMTEiPkdyZWVuIEZlYXN0PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6Izg4ODttYXJnaW4tdG9wOjJweCI+MSw5ODAgbWVhbHMgwrcgNDk0a2cgQ0/igoI8L2Rpdj48L2Rpdj48c3BhbiBjbGFzcz0iYmFkZ2UgYmFkZ2UtZ3JlZW4iPkhlcm88L3NwYW4+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxiLXJvdyBtZSI+PGRpdiBjbGFzcz0ibGItcmFuayBtZS1yYW5rIj4zPC9kaXY+PGRpdiBjbGFzcz0ibGItYXZhdGFyIiBzdHlsZT0iYmFja2dyb3VuZDojZGZmNGVjO2JvcmRlcjoycHggc29saWQgIzFEOUU3NSI+8J+NljwvZGl2PjxkaXYgc3R5bGU9ImZsZXg6MSI+PGRpdiBzdHlsZT0iZm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMxRDlFNzUiPkFsIEJhaWsgKFlvdSk8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojMUQ5RTc1O21hcmdpbi10b3A6MnB4Ij4xLDI0MCBtZWFscyDCtyAzMTJrZyBDT+KCgjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJiYWRnZSBiYWRnZS1ncmVlbiI+WW91IOKcpjwvc3Bhbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGItcm93Ij48ZGl2IGNsYXNzPSJsYi1yYW5rIj40PC9kaXY+PGRpdiBjbGFzcz0ibGItYXZhdGFyIiBzdHlsZT0iYmFja2dyb3VuZDojZjBmMGYwIj7wn6WXPC9kaXY+PGRpdiBzdHlsZT0iZmxleDoxIj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTVweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMSI+U2FsYWQgRGF5czwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2NvbG9yOiM4ODg7bWFyZ2luLXRvcDoycHgiPjk4MCBtZWFscyDCtyAyNDVrZyBDT+KCgjwvZGl2PjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsYi1yb3ciIHN0eWxlPSJib3JkZXItYm90dG9tOm5vbmUiPjxkaXYgY2xhc3M9ImxiLXJhbmsiPjU8L2Rpdj48ZGl2IGNsYXNzPSJsYi1hdmF0YXIiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmMGYwZjAiPvCfjZw8L2Rpdj48ZGl2IHN0eWxlPSJmbGV4OjEiPjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMTExIj5Ob29kbGUgSG91c2U8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojODg4O21hcmdpbi10b3A6MnB4Ij43NDAgbWVhbHMgwrcgMTg1a2cgQ0/igoI8L2Rpdj48L2Rpdj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MjhweCI+CiAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZC10aXRsZSI+WW91ciBuZXh0IG1pbGVzdG9uZTwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTZweDtmb250LXdlaWdodDo2MDA7Y29sb3I6IzExMTttYXJnaW4tYm90dG9tOjhweCI+NzQwIG1vcmUgbWVhbHMgdG8gcmVhY2ggIzI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiPjxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDo2MiUiPjwvZGl2PjwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojYWFhO21hcmdpbi10b3A6OHB4Ij5LZWVwIGRvbmF0aW5nIGRhaWx5IHRvIGNsaW1iIHRoZSByYW5rczwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxMTE7bWFyZ2luLWJvdHRvbToxNnB4Ij5CYWRnZSB0aWVyczwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ3JpZC0zIj4KICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZGZmNGVjO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXIiPgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToyOHB4O21hcmdpbi1ib3R0b206OHB4Ij7wn4+FPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwODUwNDEiPkNvbW11bml0eSBIZXJvPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6IzFEOUU3NTttYXJnaW4tdG9wOjRweCI+Ny1kYXkgc3RyZWFrPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNGQUVFREE7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MThweDt0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbTo4cHgiPvCfpYc8L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzYzMzgwNiI+WmVybyBXYXN0ZSBDaGFtcGlvbjwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2NvbG9yOiM4NTRGMEI7bWFyZ2luLXRvcDo0cHgiPlRvcCBjaXR5IGRvbm9yPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNFNkYxRkI7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MThweDt0ZXh0LWFsaWduOmNlbnRlciI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbTo4cHgiPuKtkDwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMEM0NDdDIj4xLDAwMCBNZWFsczwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2NvbG9yOiMxODVGQTU7bWFyZ2luLXRvcDo0cHgiPjEsMDAwKyBkb25hdGVkPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgPGZvb3Rlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sb2dvIj5Ob3VyaXNoTmV0PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItbGlua3MiPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdob21lJykiPkhvbWU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2Rhc2hib2FyZCcpIj5EYXNoYm9hcmQ8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGluayIgb25jbGljaz0ic2hvd1BhZ2UoJ2Fib3V0JykiPkFib3V0PC9zcGFuPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItdGV4dCI+VUFFIMK3IDIwMjU8L2Rpdj4KICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBBQk9VVCDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxkaXYgY2xhc3M9InBhZ2UiIGlkPSJwYWdlLWFib3V0Ij4KICA8ZGl2IGNsYXNzPSJhYm91dC1oZXJvLWJhbm5lciI+CiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtjb2xvcjojOUZFMUNCO2xldHRlci1zcGFjaW5nOjAuMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo2MDA7bWFyZ2luLWJvdHRvbToxNHB4Ij5PdXIgbWlzc2lvbjwvZGl2PgogICAgPGgxPk5vIGZvb2QgbGVmdCBiZWhpbmQ8YnI+aW4gdGhlIFVBRTwvaDE+CiAgICA8cD5Ob3VyaXNoTmV0IHdhcyBidWlsdCB0byBjbG9zZSBvbmUgb2YgdGhlIEd1bGYncyBtb3N0IHByZXNzaW5nIGdhcHMg4oCUIDMuMjcgbWlsbGlvbiB0b25zIHdhc3RlZCBldmVyeSB5ZWFyLCB3aGlsZSB0aG91c2FuZHMgZ28gd2l0aG91dCBhIG1lYWwuPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJzdGF0LXN0cmlwIj4KICAgIDxkaXYgY2xhc3M9InN0YXQtYmxvY2siPjxkaXYgY2xhc3M9InN0YXQtYmlnIj4zLjI3TTwvZGl2PjxkaXYgY2xhc3M9InN0YXQtc21hbGwiPlRvbnMgd2FzdGVkIGluIFVBRSB5ZWFybHk8L2Rpdj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXQtYmxvY2siPjxkaXYgY2xhc3M9InN0YXQtYmlnIj42MCU8L2Rpdj48ZGl2IGNsYXNzPSJzdGF0LXNtYWxsIj5Gb29kIHdhc3RlZCBkdXJpbmcgUmFtYWRhbjwvZGl2PjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3RhdC1ibG9jayI+PGRpdiBjbGFzcz0ic3RhdC1iaWciPiQzLjVCPC9kaXY+PGRpdiBjbGFzcz0ic3RhdC1zbWFsbCI+QW5udWFsIGVjb25vbWljIGNvc3Q8L2Rpdj48L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1dG87cGFkZGluZzo4MHB4IDQ4cHg7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDo1NnB4O2FsaWduLWl0ZW1zOmNlbnRlciI+CiAgICA8ZGl2PgogICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFEOUU3NTtsZXR0ZXItc3BhY2luZzowLjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi1ib3R0b206MTRweCI+V2h5IHdlIGJ1aWx0IHRoaXM8L2Rpdj4KICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjI4cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxMTE7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1ib3R0b206MThweCI+QSBwcm9ibGVtIGhpZGluZyBpbiBwbGFpbiBzaWdodDwvZGl2PgogICAgICA8cCBzdHlsZT0iZm9udC1zaXplOjE1cHg7Y29sb3I6IzU1NTtsaW5lLWhlaWdodDoxLjg1O21hcmdpbi1ib3R0b206MTZweCI+RHViYWkgd2FzdGVzIDM4JSBvZiBwcmVwYXJlZCBmb29kIGRhaWx5LiBFdmVyeSBldmVuaW5nLCByZXN0YXVyYW50cyB0aHJvdyBhd2F5IHBlcmZlY3RseSBnb29kIG1lYWxzIHdoaWxlIGVsZGVybHkgcmVzaWRlbnRzLCByZWZ1Z2VlIGZhbWlsaWVzLCBhbmQgbG93LWluY29tZSBob3VzZWhvbGRzIG5lYXJieSBnbyB3aXRob3V0LjwvcD4KICAgICAgPHAgc3R5bGU9ImZvbnQtc2l6ZToxNXB4O2NvbG9yOiM1NTU7bGluZS1oZWlnaHQ6MS44NSI+RXhpc3Rpbmcgc29sdXRpb25zIGFyZSBtYW51YWwgYW5kIG9uZS1zaXplLWZpdHMtYWxsLiBOb3VyaXNoTmV0J3MgQUkgbWF0Y2hlcyBmb29kIGludGVsbGlnZW50bHkg4oCUIGV2ZXJ5IHNpbmdsZSB0aW1lLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweCI+CiAgICAgIDxkaXYgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjtib3JkZXItbGVmdDo0cHggc29saWQgIzFEOUU3NTtib3JkZXItcmFkaXVzOjAgMTJweCAxMnB4IDA7cGFkZGluZzoxOHB4IDIwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZTRlMGQ4Ij4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MjJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6IzFEOUU3NTttYXJnaW4tYm90dG9tOjRweCI+MzglPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6IzU1NTtsaW5lLWhlaWdodDoxLjYiPm9mIHByZXBhcmVkIGZvb2Qgd2FzdGVkIGRhaWx5IGluIER1YmFpIGFsb25lPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICMxODVGQTU7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO3BhZGRpbmc6MThweCAyMHB4O2JvcmRlcjoxcHggc29saWQgI2U0ZTBkOCI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMxODVGQTU7bWFyZ2luLWJvdHRvbTo0cHgiPjgw4oCTOTAlPC9kaXY+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Y29sb3I6IzU1NTtsaW5lLWhlaWdodDoxLjYiPm9mIFVBRSBmb29kIGlzIGltcG9ydGVkIOKAlCBldmVyeSB3YXN0ZWQgbWVhbCBpcyBhIGRvdWJsZSBsb3NzPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICNCQTc1MTc7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO3BhZGRpbmc6MThweCAyMHB4O2JvcmRlcjoxcHggc29saWQgI2U0ZTBkOCI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNCQTc1MTc7bWFyZ2luLWJvdHRvbTo0cHgiPjUwJTwvZGl2PgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOiM1NTU7bGluZS1oZWlnaHQ6MS42Ij5VQUUgbmF0aW9uYWwgdGFyZ2V0IHRvIHJlZHVjZSBmb29kIHdhc3RlIGJ5IDIwMzA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZWVlYWUyO3BhZGRpbmc6ODBweCA0OHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlNGUwZDg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTBkOCI+CiAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6ODYwcHg7bWFyZ2luOjAgYXV0byI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPldoYXQgbWFrZXMgdXMgZGlmZmVyZW50PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjQ4cHgiPk5vdCBqdXN0IHJlZGlzdHJpYnV0aW9uLiA8c3BhbiBjbGFzcz0iZ3JhZCI+U21hcnQgcmVkaXN0cmlidXRpb24uPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb21wYXJlLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmUtY2FyZCI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo3MDA7Y29sb3I6Izk5OTttYXJnaW4tYm90dG9tOjE2cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjAuMDZlbSI+T3RoZXIgcGxhdGZvcm1zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJlLXJvdyI+PHNwYW4gc3R5bGU9ImNvbG9yOiNFMjRCNEE7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNnB4Ij7inJc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiM2NjYiPk1hbnVhbCBkb25vci1yZWNpcGllbnQgbWF0Y2hpbmc8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJlLXJvdyI+PHNwYW4gc3R5bGU9ImNvbG9yOiNFMjRCNEE7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNnB4Ij7inJc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiM2NjYiPk9uZS1zaXplLWZpdHMtYWxsIGRpc3RyaWJ1dGlvbjwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmUtcm93Ij48c3BhbiBzdHlsZT0iY29sb3I6I0UyNEI0QTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE2cHgiPuKclzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6IzY2NiI+Tm8gZGlldGFyeSBvciBjdWx0dXJhbCBmaWx0ZXJzPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyZS1yb3ciPjxzcGFuIHN0eWxlPSJjb2xvcjojRTI0QjRBO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweCI+4pyXPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjojNjY2Ij5ObyBpbXBhY3QgdHJhY2tpbmcgZm9yIGRvbm9yczwvc3Bhbj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbXBhcmUtcm93Ij48c3BhbiBzdHlsZT0iY29sb3I6I0UyNEI0QTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE2cHgiPuKclzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6IzY2NiI+Tm8gaW5jZW50aXZlcyBmb3IgcmVzdGF1cmFudHM8L3NwYW4+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyZS1jYXJkIGZlYXR1cmVkIj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMUQ5RTc1O21hcmdpbi1ib3R0b206MTZweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6MC4wNmVtIj5Ob3VyaXNoTmV0PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJlLXJvdyI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRDlFNzU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNnB4Ij7inJM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiMxMTEiPkFJLXBvd2VyZWQgc21hcnQgbWF0Y2hpbmc8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb21wYXJlLXJvdyI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRDlFNzU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxNnB4Ij7inJM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOiMxMTEiPlF1YW50aXR5LWJhc2VkIHJlY2lwaWVudCByb3V0aW5nPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyZS1yb3ciPjxzcGFuIHN0eWxlPSJjb2xvcjojMUQ5RTc1O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweCI+4pyTPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjojMTExIj5IYWxhbCwgZGlldGFyeSAmIGN1bHR1cmFsIG1hdGNoaW5nPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyZS1yb3ciPjxzcGFuIHN0eWxlPSJjb2xvcjojMUQ5RTc1O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweCI+4pyTPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjojMTExIj5GdWxsIGltcGFjdCBkYXNoYm9hcmQgcGVyIGRvbm9yPC9zcGFuPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29tcGFyZS1yb3ciPjxzcGFuIHN0eWxlPSJjb2xvcjojMUQ5RTc1O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweCI+4pyTPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTRweDtjb2xvcjojMTExIj5HYW1pZmljYXRpb24sIGJhZGdlcyAmIGxlYWRlcmJvYXJkPC9zcGFuPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5PdXIgcGFydG5lcnM8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkJ1aWx0IHdpdGggdGhlIDxzcGFuIGNsYXNzPSJncmFkIj5yaWdodCBwZW9wbGU8L3NwYW4+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YiI+V2UgcGFydG5lcmVkIHdpdGggdGhlIG9yZ2FuaXNhdGlvbnMgYWxyZWFkeSBkb2luZyB0aGUgd29yayBvbiB0aGUgZ3JvdW5kLjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ3JpZC0zIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToyOHB4O21hcmdpbjowIGF1dG8gMTZweCI+8J+PpjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPlVBRSBGb29kIEJhbms8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWRlc2MiPlByaW1hcnkgZGlzdHJpYnV0aW9uIHBhcnRuZXIuIEhhbmRsZXMgbGFzdC1taWxlIGRlbGl2ZXJ5IHRvIGZhbWlsaWVzIGFuZCBzaGVsdGVycyBhY3Jvc3MgYWxsIHNldmVuIEVtaXJhdGVzLjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToyOHB4O21hcmdpbjowIGF1dG8gMTZweCI+8J+MvzwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPk5lJ21hIEluaXRpYXRpdmU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWRlc2MiPlVBRSdzIG5hdGlvbmFsIGZvb2Qgd2FzdGUgcmVkdWN0aW9uIGluaXRpYXRpdmUsIHRhcmdldGluZyA1MCUgcmVkdWN0aW9uIGJ5IDIwMzAuIFdlJ3JlIGFsaWduZWQgd2l0aCB0aGVpciByb2FkbWFwLjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4KICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOiNkZmY0ZWM7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToyOHB4O21hcmdpbjowIGF1dG8gMTZweCI+8J+kljwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkdyb3EgQUk8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWRlc2MiPlBvd2VycyB0aGUgaW50ZWxsaWdlbnQgcm91dGluZyBlbmdpbmUgdGhhdCBtYXRjaGVzIHN1cnBsdXMgdG8gY29tbXVuaXRpZXMgaW4gcmVhbCB0aW1lIHdpdGggdWx0cmEtbG93IGxhdGVuY3kuPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9zZWN0aW9uPgoKICA8c2VjdGlvbiBjbGFzcz0iY3RhLXNlY3Rpb24iPgogICAgPGRpdiBjbGFzcz0iY3RhLXRpdGxlIj5Kb2luIHRoZSBtb3ZlbWVudDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY3RhLXN1YiI+MTg2IHJlc3RhdXJhbnRzIGFyZSBhbHJlYWR5IG1ha2luZyBhIGRpZmZlcmVuY2UgYWNyb3NzIHRoZSBVQUUuPGJyPllvdXIgc3VycGx1cyBjYW4gZmVlZCBzb21lb25lIHRvbmlnaHQuPC9kaXY+CiAgICA8YnV0dG9uIGNsYXNzPSJjdGEtYnRuIiBvbmNsaWNrPSJzaG93UGFnZSgnZGFzaGJvYXJkJykiPkdvIHRvIGRhc2hib2FyZCDihpI8L2J1dHRvbj4KICA8L3NlY3Rpb24+CgogIDxmb290ZXI+CiAgICA8ZGl2IGNsYXNzPSJmb290ZXItbG9nbyI+Tm91cmlzaE5ldDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWxpbmtzIj4KICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnaG9tZScpIj5Ib21lPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdkYXNoYm9hcmQnKSI+RGFzaGJvYXJkPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmsiIG9uY2xpY2s9InNob3dQYWdlKCdsZWFkZXJib2FyZCcpIj5MZWFkZXJib2FyZDwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9ImZvb3Rlci1saW5rIiBvbmNsaWNrPSJzaG93UGFnZSgnYWJvdXQnKSI+QWJvdXQ8L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci10ZXh0Ij5VQUUgwrcgMjAyNSDCtyBQYXJ0bmVyZWQgd2l0aCBVQUUgRm9vZCBCYW5rICYgTmUnbWE8L2Rpdj4KICA8L2Zvb3Rlcj4KPC9kaXY+Cgo8c2NyaXB0PgogIGZ1bmN0aW9uIHNob3dQYWdlKGlkKSB7CiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucGFnZScpLmZvckVhY2gocCA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLScgKyBpZCkuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICB3aW5kb3cuc2Nyb2xsVG8oe3RvcDowLGJlaGF2aW9yOidzbW9vdGgnfSk7CiAgfQoKICBmdW5jdGlvbiBzZWxlY3RSZWNpcGllbnQoZWwpIHsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZWNpcGllbnQtY2FyZCcpLmZvckVhY2goYyA9PiBjLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJykpOwogICAgZWwuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTsKICB9CgogIGZ1bmN0aW9uIHVwZGF0ZVF0eSh2YWwpIHsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxdHktdmFsJykudGV4dENvbnRlbnQgPSB2YWw7CiAgICB1cGRhdGVSb3V0aW5nKCk7CiAgfQoKICBmdW5jdGlvbiB1cGRhdGVSb3V0aW5nKCkgewogICAgY29uc3QgcXR5ID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3F0eS1zbGlkZXInKS52YWx1ZSk7CiAgICBjb25zdCBmb29kID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvb2QtdHlwZScpLnZhbHVlOwogICAgY29uc3QgZXhwaXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4cGlyeScpLnZhbHVlOwogICAgbGV0IHJlYywgcjEsIHIyLCByMzsKICAgIGlmIChxdHkgPD0gMTUpIHsKICAgICAgcmVjID0gYFNtYWxsIGJhdGNoIG9mIDxzdHJvbmc+JHtxdHl9IHBvcnRpb25zPC9zdHJvbmc+IOKAlCBiZXN0IHJvdXRlZCB0byA8c3Ryb25nPmhvbWVib3VuZCBlbGRlcmx5IGluZGl2aWR1YWxzPC9zdHJvbmc+IG5lYXJieS4gUXVpY2sgcGlja3VwLCBtaW5pbWFsIGxvZ2lzdGljcyBuZWVkZWQuYDsKICAgICAgcjEgPSAn8J+PoCBBbCBRYXNiYSBFbGRlcmx5IEhvbWUnOyByMiA9ICfwn5Go4oCN8J+RqeKAjfCfkacgQWwgTmFoZGEgRmFtaWxpZXMnOyByMyA9ICfwn4+gIERlaXJhIEVsZGVybHkgQ2FyZSc7CiAgICB9IGVsc2UgaWYgKHF0eSA8PSA4MCkgewogICAgICByZWMgPSBgPHN0cm9uZz4ke3F0eX0gcG9ydGlvbnM8L3N0cm9uZz4gb2YgJHtmb29kLnRvTG93ZXJDYXNlKCl9IGV4cGlyaW5nIDxzdHJvbmc+JHtleHBpcnkudG9Mb3dlckNhc2UoKX08L3N0cm9uZz4g4oCUIGJlc3QgbWF0Y2ggaXMgYW4gPHN0cm9uZz5lbGRlcmx5IGNhcmUgaG9tZTwvc3Ryb25nPi4gVm9sdW1lIGFuZCBudXRyaXRpb25hbCBwcm9maWxlIGFsaWduIHdlbGwuYDsKICAgICAgcjEgPSAn8J+PoCBBbCBRYXNiYSBFbGRlcmx5IEhvbWUnOyByMiA9ICfwn5uWIFNoYXJqYWggUmVmdWdlZSBDZW50ZXInOyByMyA9ICfwn5Go4oCN8J+RqeKAjfCfkacgQWwgTmFoZGEgRmFtaWxpZXMnOwogICAgfSBlbHNlIGlmIChxdHkgPD0gMTUwKSB7CiAgICAgIHJlYyA9IGA8c3Ryb25nPiR7cXR5fSBwb3J0aW9uczwvc3Ryb25nPiDigJQgdm9sdW1lIHN1aXRzIGEgPHN0cm9uZz5yZWZ1Z2VlIGNlbnRlcjwvc3Ryb25nPiBvciBsYXJnZSBjb21tdW5pdHkgc2hlbHRlci4gTXVsdGlwbGUgZmFtaWxpZXMgY2FuIGJlbmVmaXQgZnJvbSB0aGlzIGJhdGNoLmA7CiAgICAgIHIxID0gJ/Cfm5YgU2hhcmphaCBSZWZ1Z2VlIENlbnRlcic7IHIyID0gJ/CfkajigI3wn5Gp4oCN8J+RpyBBbCBOYWhkYSBGYW1pbGllcyc7IHIzID0gJ/Cfj6AgQWwgUWFzYmEgRWxkZXJseSBIb21lJzsKICAgIH0gZWxzZSB7CiAgICAgIHJlYyA9IGBMYXJnZSBiYXRjaCBvZiA8c3Ryb25nPiR7cXR5fSBwb3J0aW9uczwvc3Ryb25nPiDigJQgcm91dGUgdG8gPHN0cm9uZz5VQUUgRm9vZCBCYW5rPC9zdHJvbmc+IG9yIGEgbGFyZ2UgTkdPIHdpdGggc3RvcmFnZSBjYXBhY2l0eSB0byByZWRpc3RyaWJ1dGUgZWZmaWNpZW50bHkuYDsKICAgICAgcjEgPSAn8J+Pm++4jyBVQUUgRm9vZCBCYW5rJzsgcjIgPSAn8J+bliBTaGFyamFoIFJlZnVnZWUgQ2VudGVyJzsgcjMgPSAn8J+MjSBEdWJhaSBOR08gTmV0d29yayc7CiAgICB9CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWktcmVjJykuaW5uZXJIVE1MID0gcmVjOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3IxLW5hbWUnKS50ZXh0Q29udGVudCA9IHIxOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3IyLW5hbWUnKS50ZXh0Q29udGVudCA9IHIyOwogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3IzLW5hbWUnKS50ZXh0Q29udGVudCA9IHIzOwogIH0KCiAgZnVuY3Rpb24gc3dpdGNoQ2l0eShlbCwgY2l0eSkgewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNpdHktdGFiJykuZm9yRWFjaCh0ID0+IHQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpOwogICAgZWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgfQoKICBmdW5jdGlvbiBhbmltYXRlQ291bnRlcihpZCwgdGFyZ2V0LCBzdWZmaXgpIHsKICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgaWYgKCFlbCkgcmV0dXJuOwogICAgbGV0IGN1cnJlbnQgPSAwOwogICAgY29uc3Qgc3RlcCA9IE1hdGguY2VpbCh0YXJnZXQgLyA2MCk7CiAgICBjb25zdCB0aW1lciA9IHNldEludGVydmFsKCgpID0+IHsKICAgICAgY3VycmVudCA9IE1hdGgubWluKGN1cnJlbnQgKyBzdGVwLCB0YXJnZXQpOwogICAgICBlbC50ZXh0Q29udGVudCA9IGN1cnJlbnQudG9Mb2NhbGVTdHJpbmcoKSArIHN1ZmZpeDsKICAgICAgaWYgKGN1cnJlbnQgPj0gdGFyZ2V0KSBjbGVhckludGVydmFsKHRpbWVyKTsKICAgIH0sIDI0KTsKICB9CgoKICAvLyBSZXBvcnQgaGVpZ2h0IHRvIHBhcmVudCBmb3IgaWZyYW1lIGF1dG8tcmVzaXplCiAgZnVuY3Rpb24gcmVwb3J0SGVpZ2h0KCkgewogICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7aGVpZ2h0OiBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodH0sICcqJyk7CiAgfQogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVwb3J0SGVpZ2h0KTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVwb3J0SGVpZ2h0KTsKICAvLyBSZXBvcnQgYWZ0ZXIgcGFnZSBzd2l0Y2hlcwogIGNvbnN0IG9yaWdTaG93UGFnZSA9IHNob3dQYWdlOwogIGZ1bmN0aW9uIHNob3dQYWdlKGlkKSB7CiAgICBvcmlnU2hvd1BhZ2UoaWQpOwogICAgc2V0VGltZW91dChyZXBvcnRIZWlnaHQsIDEwMCk7CiAgfQoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKICAgIGFuaW1hdGVDb3VudGVyKCdjMScsIDE0MjAwLCAnJyk7CiAgICBhbmltYXRlQ291bnRlcignYzInLCAxODYsICcnKTsKICAgIGFuaW1hdGVDb3VudGVyKCdjMycsIDM4MDAsICdrZycpOwogICAgYW5pbWF0ZUNvdW50ZXIoJ2M0JywgNDIsICcnKTsKICB9KTsKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgoiIiIKCndpdGggZ3IuQmxvY2tzKGNzcz0iIiIKICAuZ3JhZGlvLWNvbnRhaW5lcntwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9CiAgZm9vdGVye2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9CiAgI2NvbXBvbmVudC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9CiAiIiIKCiMgV3JpdGUgdG8gYSB0ZW1wIEhUTUwgZmlsZSBhbmQgc2VydmUgdmlhIGlmcmFtZQpkZWYgZ2V0X2FwcCgpOgogICAgcmV0dXJuIGh0bWxfY29udGVudAoKd2l0aCBnci5CbG9ja3MoY3NzPSIiIgogIC5ncmFkaW8tY29udGFpbmVye3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O21heC13aWR0aDoxMDAlIWltcG9ydGFudH0KICBmb290ZXJ7ZGlzcGxheTpub25lIWltcG9ydGFudH0KICAjY29tcG9uZW50LTB7cGFkZGluZzowIWltcG9ydGFudH0KICBpZnJhbWV7d2lkdGg6MTAwJTtib3JkZXI6bm9uZTtoZWlnaHQ6MTAwdmh9" | |
| iframe_html = f''' | |
| <style> | |
| .gradio-container {{padding:0!important;margin:0!important;max-width:100%!important;min-height:0!important}} | |
| footer.svelte-1ax1toq {{display:none!important}} | |
| footer {{display:none!important}} | |
| #component-0 {{padding:0!important;margin:0!important}} | |
| .wrap {{padding:0!important}} | |
| iframe {{display:block;width:100%;height:100vh;border:none;overflow:hidden}} | |
| </style> | |
| <iframe src="data:text/html;base64,{b64}" style="display:block;width:100%;height:100vh;border:none" scrolling="yes"></iframe> | |
| ''' | |
| with gr.Blocks(css=""" | |
| .gradio-container{padding:0!important;margin:0!important;max-width:100%!important} | |
| footer{display:none!important} | |
| #component-0{padding:0!important} | |
| """) as demo: | |
| gr.HTML(iframe_html) | |
| demo.launch() | |