No hosting required. The entire app is encoded into the snippet itself using a base64 data URI. Paste it anywhere that accepts HTML — Webflow, WordPress, Squarespace, Notion (via embeds), or a raw HTML file.
Using embedded data URI
Self-contained Full viewport

Takes up 100% of the browser window height. Best for a dedicated page or a full-screen embed.

<iframe src="data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBkYXRhLXBhbGV0dGU9ImNpdHJ1cyI+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cjx0aXRsZT5UaGUgS2l0Y2hlbiBTaW5rIOKAlCBQaGFzZSAyPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QbHVzK0pha2FydGErU2Fuczp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PUZyYXVuY2VzOml0YWwsb3Bzeix3Z2h0QDAsOS4uMTQ0LDcwMDsxLDkuLjE0NCw0MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgo8c3R5bGU+CltkYXRhLXBhbGV0dGU9ImNpdHJ1cyJdey0tYmc6I0ZBRkFGQTstLWJnMjojRkZGQkUwOy0tYmczOiNGRkY1QkI7LS1pbms6IzBBMjU0MDstLWluazI6IzFDM0Y2MjstLWluazM6IzRBNkU4RTstLWluazQ6IzhFQjBDQzstLWFjY2VudDojRkZBQTAwOy0tYWNjZW50LWJnOiNGRkYzQ0M7LS1hY2NlbnQtZGFyazojN0E0ODAwOy0tYWNjZW50LWJvcmRlcjojRkZEMTY2Oy0taGk6IzAwQzQ4QzstLWhpLWJnOiNERkY4RUY7LS1oaS1kYXJrOiMwMDc4NTU7LS1ib3JkZXI6I0VBRTA5QTstLWJvcmRlcjI6I0YyRUNDMDstLWF1dGgtbGVmdC1iZzojMEEyNTQwOy0tYXV0aC1sZWZ0LWluazpyZ2JhKDI1NSwyNTUsMjU1LDAuNik7LS1zYWI6I0ZGRjNDQzstLXNhaTojN0E0ODAwOy0tc2FiZDojRkZBQTAwOy0tY29sLWRvaW5nLWJnOiNGRkZCRTA7LS1jb2wtZG9pbmctYm9yZGVyOiNGRkQ5ODA7LS1jb2wtZG9uZS1iZzojRjBGQkY0Oy0tY29sLWRvbmUtYm9yZGVyOiM5QURCQjg7LS1mb2N1cy1yaW5nOjAgMCAwIDNweCByZ2JhKDI1NSwxNzAsMCwwLjQ1KTstLWNhcmQtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgxMCwzNyw2NCwwLjA3KTt9CltkYXRhLXBhbGV0dGU9InN0dWRpbyJdey0tYmc6I0ZBRkFGQTstLWJnMjojRjVGNUZGOy0tYmczOiNFQUVBRkY7LS1pbms6IzExMTExODstLWluazI6IzJDMkM0MDstLWluazM6IzU1NTU3QTstLWluazQ6Izk5OTlDMDstLWFjY2VudDojRkZBQTAwOy0tYWNjZW50LWJnOiNGRkY4RTY7LS1hY2NlbnQtZGFyazojN0E0ODAwOy0tYWNjZW50LWJvcmRlcjojRkZDQzU1Oy0taGk6IzVCNUJENjstLWhpLWJnOiNFREVERkY7LS1oaS1kYXJrOiMzRDNEQUE7LS1ib3JkZXI6I0UwRTBGMjstLWJvcmRlcjI6I0VFRUVGRjstLWF1dGgtbGVmdC1iZzojMUExQTJFOy0tYXV0aC1sZWZ0LWluazpyZ2JhKDI1NSwyNTUsMjU1LDAuNTgpOy0tc2FiOiNFREVERkY7LS1zYWk6IzNEM0RBQTstLXNhYmQ6IzVCNUJENjstLWNvbC1kb2luZy1iZzojRkZGOEU2Oy0tY29sLWRvaW5nLWJvcmRlcjojRkZEMTY2Oy0tY29sLWRvbmUtYmc6I0YwRjBGRjstLWNvbC1kb25lLWJvcmRlcjojQURBREVFOy0tZm9jdXMtcmluZzowIDAgMCAzcHggcmdiYSg5MSw5MSwyMTQsMC4zOCk7LS1jYXJkLXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMTcsMTcsMjQsMC4wNik7fQpbZGF0YS1wYWxldHRlPSJhcmN0aWMiXXstLWJnOiNGMEY3RkY7LS1iZzI6I0RDRjBGRjstLWJnMzojQzBFNEZGOy0taW5rOiMwRDJCNDU7LS1pbmsyOiMxQTRBNkU7LS1pbmszOiMzQTdBQUE7LS1pbms0OiM3QUIwRDQ7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiMwMEFBQ0M7LS1oaS1iZzojRDBGMEY4Oy0taGktZGFyazojMDA2RTg4Oy0tYm9yZGVyOiNBOEQ0RUM7LS1ib3JkZXIyOiNDNEU0Rjg7LS1hdXRoLWxlZnQtYmc6IzBEMkI0NTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRDBGMEY4Oy0tc2FpOiMwMDZFODg7LS1zYWJkOiMwMEFBQ0M7LS1jb2wtZG9pbmctYmc6I0ZGRjNDQzstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNEMEYwRjg7LS1jb2wtZG9uZS1ib3JkZXI6IzcwQ0NERDstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoMCwxNzAsMjA0LDAuMzgpOy0tY2FyZC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDEzLDQzLDY5LDAuMDgpO30KW2RhdGEtcGFsZXR0ZT0ic2xhdGUiXXstLWJnOiNGNEY0RjI7LS1iZzI6I0U4RThFNDstLWJnMzojRENEQ0Q2Oy0taW5rOiMxQzFDMUU7LS1pbmsyOiMzQTNBM0M7LS1pbmszOiM2QzZDNzA7LS1pbms0OiNBRUFFQjI7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiMzRDVBODA7LS1oaS1iZzojRTBFOEY0Oy0taGktZGFyazojMkEzRjVFOy0tYm9yZGVyOiNDQUNBQzQ7LS1ib3JkZXIyOiNEOEQ4RDI7LS1hdXRoLWxlZnQtYmc6IzFDMkEzQTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRTBFOEY0Oy0tc2FpOiMyQTNGNUU7LS1zYWJkOiMzRDVBODA7LS1jb2wtZG9pbmctYmc6I0ZGRjNDQzstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNFMEU4RjQ7LS1jb2wtZG9uZS1ib3JkZXI6IzlBQjREMDstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoNjEsOTAsMTI4LDAuMzIpOy0tY2FyZC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDI4LDI4LDMwLDAuMDcpO30KW2RhdGEtcGFsZXR0ZT0ic29sYXIiXXstLWJnOiNGRkZGRkY7LS1iZzI6I0ZGRjVFMDstLWJnMzojRkZFOEIwOy0taW5rOiMxQTFBMUE7LS1pbmsyOiMzMzMzMzM7LS1pbmszOiM2NjY2NjY7LS1pbms0OiNBQUFBQUE7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiNGRjZCMkI7LS1oaS1iZzojRkZFREU1Oy0taGktZGFyazojQkIzQTAwOy0tYm9yZGVyOiNFOEQ0QTA7LS1ib3JkZXIyOiNGMkVBQzQ7LS1hdXRoLWxlZnQtYmc6IzFBMUExQTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRkZFREU1Oy0tc2FpOiNCQjNBMDA7LS1zYWJkOiNGRjZCMkI7LS1jb2wtZG9pbmctYmc6I0ZGRjVFMDstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNGRkVERTU7LS1jb2wtZG9uZS1ib3JkZXI6I0ZGQUE4ODstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoMjU1LDEwNyw0MywwLjMyKTstLWNhcmQtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyNiwyNiwyNiwwLjA3KTt9CiosKjo6YmVmb3JlLCo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjA7fQpodG1se2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxNnB4O30KYm9keXtmb250LWZhbWlseTonUGx1cyBKYWthcnRhIFNhbnMnLCdTZWdvZSBVSScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjY7aGVpZ2h0OjEwMCU7fQouc2tpcC1saW5re3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjAwcHg7bGVmdDoxcmVtO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmspO3BhZGRpbmc6LjZyZW0gMS4ycmVtO2JvcmRlci1yYWRpdXM6MjRweDtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44NzVyZW07ei1pbmRleDo5OTk5O3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dG9wIC4xNXM7fQouc2tpcC1saW5rOmZvY3Vze3RvcDoxcmVtO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7b3V0bGluZTpub25lO30KKjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6M3B4O2JvcmRlci1yYWRpdXM6NHB4O30KYnV0dG9uOmZvY3VzLXZpc2libGUsW3JvbGU9ImJ1dHRvbiJdOmZvY3VzLXZpc2libGUsYTpmb2N1cy12aXNpYmxlLGlucHV0OmZvY3VzLXZpc2libGUsc2VsZWN0OmZvY3VzLXZpc2libGUsdGV4dGFyZWE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTtib3JkZXItcmFkaXVzOjhweDt9CiNhdXRoLXNjcmVlbntwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6dmFyKC0tYmcpO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuM3M7fQouYXV0aC1sZWZ0e2ZsZXg6MCAwIDQyMHB4O2JhY2tncm91bmQ6dmFyKC0tYXV0aC1sZWZ0LWJnKTtwYWRkaW5nOjQ4cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47fQouYXV0aC1sZWZ0OjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozNDBweDtoZWlnaHQ6MzQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO29wYWNpdHk6LjA3O2JvdHRvbTotODBweDtsZWZ0Oi02MHB4O30KLmF1dGgtbGVmdDo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1oaSk7b3BhY2l0eTouMDk7dG9wOjgwcHg7cmlnaHQ6LTMwcHg7fQouYXV0aC1icmFuZHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7fQouYXV0aC1sb2dve2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjMwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MS4xO21hcmdpbi10b3A6MjBweDt9Ci5hdXRoLWxvZ28gc3Bhbntjb2xvcjp2YXIoLS1hY2NlbnQpO30KLmF1dGgtdGFnbGluZXtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1hdXRoLWxlZnQtaW5rKTttYXJnaW4tdG9wOjhweDtmb250LXN0eWxlOml0YWxpYzt9Ci5hdXRoLWZlYXR1cmVze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt9Ci5hdXRoLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjEzcHg7fQouYXV0aC1mZWF0dXJlLWRvdHt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7ZmxleC1zaHJpbms6MDt9Ci5hdXRoLWZlYXR1cmUtdGV4dHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1hdXRoLWxlZnQtaW5rKTt9Ci5hdXRoLXJpZ2h0e2ZsZXg6MTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo0OHB4O30KLmF1dGgtYm94e3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM2MHB4O30KLmF1dGgtdGl0bGV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW4tYm90dG9tOjZweDt9Ci5hdXRoLXN1Yntmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tYm90dG9tOjI4cHg7fQouYXV0aC10YWJze2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjI0cHg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjNweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouYXV0aC10YWJ7ZmxleDoxO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6OHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0taW5rMyk7dHJhbnNpdGlvbjphbGwgLjE1cztib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5hdXRoLXRhYi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4xKTt9Ci5mb3JtLWdyb3Vwe21hcmdpbi1ib3R0b206MTRweDt9Ci5mb3JtLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluazMpO21hcmdpbi1ib3R0b206NXB4O30KLmZvcm0taW5wdXR7d2lkdGg6MTAwJTtwYWRkaW5nOjEwcHggMTRweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcpO291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzLGJveC1zaGFkb3cgLjE1czt9Ci5mb3JtLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQouYnRuLXByaW1hcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMsdHJhbnNmb3JtIC4xczttYXJnaW4tdG9wOjZweDt9Ci5idG4tcHJpbWFyeTpob3ZlcntvcGFjaXR5Oi44ODt9LmJ0bi1wcmltYXJ5OmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk4KTt9Ci5hdXRoLWRpdmlkZXJ7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luOjE0cHggMDtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci5hdXRoLWRpdmlkZXI6OmJlZm9yZSwuYXV0aC1kaXZpZGVyOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6NDMlO2hlaWdodDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXIpO30KLmF1dGgtZGl2aWRlcjo6YmVmb3Jle2xlZnQ6MDt9LmF1dGgtZGl2aWRlcjo6YWZ0ZXJ7cmlnaHQ6MDt9Ci5idG4tZ29vZ2xle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazIpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzO30KLmJ0bi1nb29nbGU6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLnBhbGV0dGUtdG9nZ2xle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6MjBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMyk7dHJhbnNpdGlvbjphbGwgLjE1czt9Ci5wYWxldHRlLXRvZ2dsZTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5wYWxldHRlLWRvdHt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6NTAlO2ZsZXgtc2hyaW5rOjA7fQojYXBwe2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwdmg7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO30KI2FwcC52aXNpYmxle29wYWNpdHk6MTt9Ci5zaWRlYmFye3dpZHRoOjIyOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yaWdodDoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtvdmVyZmxvdy15OmF1dG87fQouc2lkZWJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MDt9Ci5zaWRlYmFyLXRvcHtwYWRkaW5nOjE4cHggMTRweCAxMHB4O30KLnNpZGViYXItYnJhbmR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5icmFuZC1pY29ue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OXB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO30KLmJyYW5kLW5hbWV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjI7fQouYnJhbmQtbmFtZSBzbWFsbHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OidQbHVzIEpha2FydGEgU2Fucycsc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0taW5rNCk7Zm9udC1zdHlsZTpub3JtYWw7fQoubmF2LXNlY3Rpb257Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbms0KTtwYWRkaW5nOjAgMTBweDttYXJnaW4tYm90dG9tOjRweDttYXJnaW4tdG9wOjE0cHg7fQoubmF2LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxMi41cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazMpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7bWFyZ2luLWJvdHRvbToycHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQ6bm9uZTt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O30KLm5hdi1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5uYXYtaXRlbS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1zYWIpO2NvbG9yOnZhcigtLXNhaSk7Ym9yZGVyLWNvbG9yOnZhcigtLXNhYmQpO2ZvbnQtd2VpZ2h0OjYwMDt9Ci5uYXYtaWNvbnt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTouODt9Ci5uYXYtaXRlbS5hY3RpdmUgLm5hdi1pY29ue29wYWNpdHk6MTt9Ci5uYXYtYmFkZ2V7bWFyZ2luLWxlZnQ6YXV0bztiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzoxcHggN3B4O2JvcmRlci1yYWRpdXM6MTBweDt9Ci5zaWRlYmFyLXByb2plY3Rze3BhZGRpbmc6MCA2cHg7bWFyZ2luLXRvcDo0cHg7fQoucHJvai1idG57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3BhZGRpbmc6N3B4IDhweDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazMpO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O30KLnByb2otYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5wcm9qLWJ0bi5hY3RpdmUtcHJvantiYWNrZ3JvdW5kOnZhcigtLWJnMik7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo2MDA7fQoucHJvai1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5zaWRlYmFyLWZvb3RlcntwYWRkaW5nOjEycHggMTRweDtib3JkZXItdG9wOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWFyZ2luLXRvcDphdXRvO30KLnVzZXItY2hpcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7cGFkZGluZzo4cHggOHB4O2JvcmRlci1yYWRpdXM6MTJweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycztib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci51c2VyLWNoaXA6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLnVzZXItYXZhdGFye3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtmbGV4LXNocmluazowO30KLnVzZXItbmFtZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMik7fQoudXNlci1yb2xle2ZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpO30KLm1haW57ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO30KLnRvcGJhcntwYWRkaW5nOjAgMjJweDtoZWlnaHQ6NTRweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JvcmRlci1ib3R0b206MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtmbGV4LXNocmluazowO30KLnRvcGJhci1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7fQoucGFnZS10aXRsZXtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO30KLnRvcGJhci1yaWdodHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7fQoudmlldy10b2dnbGV7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzozcHg7Z2FwOjJweDt9Ci52dC1idG57cGFkZGluZzo1cHggMTBweDtib3JkZXItcmFkaXVzOjdweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0taW5rMyk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO3RyYW5zaXRpb246YWxsIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7fQoudnQtYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWJnKTtjb2xvcjp2YXIoLS1pbmspO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjA4KTt9Ci5idG4tc217cGFkZGluZzo3cHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO2JvcmRlcjpub25lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dHJhbnNpdGlvbjphbGwgLjE1czt9Ci5idG4tYWNjZW50e2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmspO30KLmJ0bi1hY2NlbnQ6aG92ZXJ7b3BhY2l0eTouODc7fQouYnRuLWdob3N0e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLmNvbnRlbnR7ZmxleDoxO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjIwcHggMjJweDt9Ci5zdGF0cy1iYXJ7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5zdGF0LWNhcmR7ZmxleDoxO2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoxNHB4IDE2cHg7fQouc3RhdC12YWx7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MjZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxO30KLnN0YXQtbGFiZWx7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rMyk7bWFyZ2luLXRvcDozcHg7Zm9udC13ZWlnaHQ6NTAwO30KLnN0YXQtY2FyZC5hY2NlbnQtc3RhdHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO30KLnN0YXQtY2FyZC5hY2NlbnQtc3RhdCAuc3RhdC12YWx7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO30KLmZpbHRlci1iYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci5maWx0ZXItcGlsbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7cGFkZGluZzo1cHggMTJweDtib3JkZXItcmFkaXVzOjIwcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JhY2tncm91bmQ6dmFyKC0tYmcpO2NvbG9yOnZhcigtLWluazMpO3RyYW5zaXRpb246YWxsIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5maWx0ZXItcGlsbDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0taW5rMyk7Y29sb3I6dmFyKC0taW5rMik7fQouZmlsdGVyLXBpbGwuYWN0aXZlLWZpbHRlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5zZWFyY2gtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci5zZWFyY2gtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2NvbG9yOnZhcigtLWluazQpO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouc2VhcmNoLWlucHV0e3BhZGRpbmc6NnB4IDEycHggNnB4IDI4cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoyMHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rKTtiYWNrZ3JvdW5kOnZhcigtLWJnKTtvdXRsaW5lOm5vbmU7d2lkdGg6MTgwcHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyxib3gtc2hhZG93IC4xNXM7fQouc2VhcmNoLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQoua2FuYmFue2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTJweDthbGlnbi1pdGVtczpzdGFydDt9Ci5jb2x7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlci1yYWRpdXM6MThweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1czt9Ci5jb2wuZHJhZy1vdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5jb2wuZG9pbmctY29se2JhY2tncm91bmQ6dmFyKC0tY29sLWRvaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sLWRvaW5nLWJvcmRlcik7fQouY29sLmRvbmUtY29se2JhY2tncm91bmQ6dmFyKC0tY29sLWRvbmUtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2wtZG9uZS1ib3JkZXIpO30KLmNvbC1oZWFke3BhZGRpbmc6MTJweCAxNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtib3JkZXItYm90dG9tOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouZG9pbmctY29sIC5jb2wtaGVhZHtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNvbC1kb2luZy1ib3JkZXIpO30KLmRvbmUtY29sIC5jb2wtaGVhZHtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNvbC1kb25lLWJvcmRlcik7fQouY29sLXN0YXR1cy1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5jb2wtdGl0bGV7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wN2VtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbmszKTtmbGV4OjE7fQouY29sLWNvdW50e2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbms0KTt9Ci5jb2wtYm9keXtwYWRkaW5nOjEwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O21pbi1oZWlnaHQ6NjBweDt9Ci5jYXJke2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjEycHg7Y3Vyc29yOmdyYWI7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xNXMsdHJhbnNmb3JtIC4xMnMsb3BhY2l0eSAuMTVzO2FuaW1hdGlvbjpjYXJkSW4gLjJzIGVhc2UgYm90aDt9CkBrZXlmcmFtZXMgY2FyZElue2Zyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0KLmNhcmQ6aG92ZXJ7Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7fQouY2FyZC5kcmFnZ2luZ3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpyb3RhdGUoMS41ZGVnKSBzY2FsZSgxLjAyKTtjdXJzb3I6Z3JhYmJpbmc7fQouZG9uZS1jb2wgLmNhcmR7b3BhY2l0eTouNzt9Ci5kb25lLWNvbCAuY2FyZC10aXRsZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO2NvbG9yOnZhcigtLWluazQpO30KLmNhcmQtdG9we2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo2cHg7bWFyZ2luLWJvdHRvbTo3cHg7fQouY2FyZC1sYWJlbHN7ZGlzcGxheTpmbGV4O2dhcDo0cHg7ZmxleC13cmFwOndyYXA7fQoubGFiZWx7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MnB4IDdweDtib3JkZXItcmFkaXVzOjVweDt9Ci5sLWRlc2lnbntiYWNrZ3JvdW5kOiNFREU4RkY7Y29sb3I6IzRCMkZBMDt9LmwtZGV2e2JhY2tncm91bmQ6I0RERjVFODtjb2xvcjojMUE2NjQwO30ubC1yZXNlYXJjaHtiYWNrZ3JvdW5kOiNGRUYwRDg7Y29sb3I6IzdBNEEwMDt9LmwtY29weXtiYWNrZ3JvdW5kOiNGRkU4RTg7Y29sb3I6IzhBMjAyMDt9LmwtcWF7YmFja2dyb3VuZDojRTBFRUZGO2NvbG9yOiMxQTQ4ODg7fQouY2FyZC10aXRsZXtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNDU7bWFyZ2luLWJvdHRvbTo5cHg7fQouY2FyZC1mb290e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQouY2FyZC1tZXRhLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O30KLmFzc2lnbmVle3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9udC1zaXplOjlweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7ZmxleC1zaHJpbms6MDt9Ci5kdWUtZGF0ZXtmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7fQouZHVlLWRhdGUub3ZlcmR1ZXtjb2xvcjojQzAzMDMwO2ZvbnQtd2VpZ2h0OjYwMDt9Ci5zdWJ0YXNrLXByb2d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpO30KLnByb2ctYmFye3dpZHRoOjM2cHg7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnMyk7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6aGlkZGVuO30KLnByb2ctZmlsbHtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo0cHg7fQoubW92ZS1idG57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4O2JvdHRvbTo4cHg7b3BhY2l0eTowO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjZweDt3aWR0aDoyMXB4O2hlaWdodDoyMXB4O2ZvbnQtc2l6ZToxMHB4O2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLWluazMpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjEycyxiYWNrZ3JvdW5kIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5jYXJkOmhvdmVyIC5tb3ZlLWJ0bntvcGFjaXR5OjE7fQoubW92ZS1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2NvbG9yOnZhcigtLWluayk7fQouYWRkLWNhcmQtYnRue21hcmdpbjowIDEwcHggMTBweDtwYWRkaW5nOjhweCAxMHB4O2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggZGFzaGVkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluazQpO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O3RyYW5zaXRpb246YWxsIC4xMnM7d2lkdGg6Y2FsYygxMDAlIC0gMjBweCk7fQouYWRkLWNhcmQtYnRuOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5xdWljay1mb3Jte21hcmdpbjowIDEwcHggMTBweDtiYWNrZ3JvdW5kOnZhcigtLWJnKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxMHB4O2Rpc3BsYXk6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDt9Ci5xdWljay1mb3JtLm9wZW57ZGlzcGxheTpmbGV4O30KLnFmLWlucHV0e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjlweDtwYWRkaW5nOjdweCAxMHB4O291dGxpbmU6bm9uZTtyZXNpemU6bm9uZTt3aWR0aDoxMDAlO30KLnFmLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQoucWYtcm93e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O30KLnFmLXNlbGVjdHtmbGV4OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbmsyKTtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo5cHg7cGFkZGluZzo1cHggOHB4O291dGxpbmU6bm9uZTt9Ci5xZi1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtnYXA6NnB4O30KLnFmLWNvbmZpcm17ZmxleDoxO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjlweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtwYWRkaW5nOjdweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O30KLnFmLWNhbmNlbHtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo5cHg7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rMyk7cGFkZGluZzo3cHggMTBweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O30KLmxpc3QtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDExMHB4IDkwcHggMTAwcHggNzBweDtnYXA6MTBweDtwYWRkaW5nOjhweCAxNHB4O2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHggMTJweCAwIDA7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbms0KTt9Ci5saXN0LXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxMTBweCA5MHB4IDEwMHB4IDcwcHg7Z2FwOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXRvcDpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzO2N1cnNvcjpwb2ludGVyO30KLmxpc3Qtcm93OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5saXN0LXJvdzpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDt9Ci5saXN0LWRvbmV7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtjb2xvcjp2YXIoLS1pbms0KTt9Ci5zdGF0dXMtY2hpcHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czoyMHB4O30KLnMtdG9kb3tiYWNrZ3JvdW5kOnZhcigtLWJnMyk7Y29sb3I6dmFyKC0taW5rMyk7fS5zLWRvaW5ne2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTtjb2xvcjp2YXIoLS1hY2NlbnQtZGFyayk7fS5zLWRvbmV7YmFja2dyb3VuZDp2YXIoLS1oaS1iZyk7Y29sb3I6dmFyKC0taGktZGFyayk7fQoubW9kYWwtb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjgpO3otaW5kZXg6NTAwO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpO30KLm1vZGFsLW92ZXJsYXkub3BlbntkaXNwbGF5OmZsZXg7fQoubW9kYWx7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MjZweDt3aWR0aDo0ODBweDttYXgtd2lkdGg6OTV2dztib3gtc2hhZG93OjAgMjRweCA2NHB4IHJnYmEoMCwwLDAsLjE0KTthbmltYXRpb246bW9kYWxJbiAuMThzIGVhc2UgYm90aDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTt9CkBrZXlmcmFtZXMgbW9kYWxJbntmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk2KSB0cmFuc2xhdGVZKDZweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfX0KLm1vZGFsLXRpdGxle2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7bWFyZ2luLWJvdHRvbToxOHB4O30KLm1vZGFsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMnB4O30KLm1vZGFsLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLXRvcDoxOHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci5kYXNoLWdyZWV0aW5ne21hcmdpbi1ib3R0b206MjBweDt9Ci5kYXNoLWdyZWV0aW5nIGgye2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjI2cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7bGluZS1oZWlnaHQ6MS4yO30KLmRhc2gtZ3JlZXRpbmcgcHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tdG9wOjRweDt9Ci5kYXNoLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5kYXNoLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjE4cHg7fQouZGFzaC1jYXJkLmFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO30KLmRhc2gtY2FyZC5oaS1jYXJke2JvcmRlci1jb2xvcjp2YXIoLS1oaS1iZyk7YmFja2dyb3VuZDp2YXIoLS1oaS1iZyk7fQouZGFzaC1jYXJkLWxhYmVse2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDZlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLWJvdHRvbTo4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O30KLmRhc2gtYmlnLW51bXtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZTo0MHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjE7fQouZGFzaC1zdWJ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rMyk7bWFyZ2luLXRvcDo0cHg7fQouZGFzaC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweDttYXJnaW4tdG9wOjRweDt9Ci5kYXNoLWxpc3QtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rMik7cGFkZGluZzo2cHggOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yYWRpdXM6OXB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyMik7fQouZGFzaC1kb3R7d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5kYXNoLXN0cmVha3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O30KLnN0cmVhay1udW17Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO30KLmRhc2gtd2lkZXtncmlkLWNvbHVtbjpzcGFuIDI7fQoucHJvZy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tdG9wOjhweDt9Ci5wcm9nLXRyYWNre2ZsZXg6MTtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47fQoucHJvZy10cmFjay1maWxse2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOndpZHRoIC41czt9Ci5jYWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToxNnB4O30KLmNhbC1tb250aHtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO30KLmNhbC1uYXYtYnRue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjlweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1pbmszKTt0cmFuc2l0aW9uOmFsbCAuMTJzO30KLmNhbC1uYXYtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXItY29sb3I6dmFyKC0taW5rMyk7fQouY2FsLXZpZXctdGFic3tkaXNwbGF5OmZsZXg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjNweDtnYXA6MnB4O30KLmNhbC12dHtwYWRkaW5nOjRweCAxMnB4O2JvcmRlci1yYWRpdXM6N3B4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1pbmszKTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1mYW1pbHk6aW5oZXJpdDt0cmFuc2l0aW9uOmFsbCAuMTJzO30KLmNhbC12dC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4wOCk7fQouY2FsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNywxZnIpO2dhcDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouY2FsLWRvd3tiYWNrZ3JvdW5kOnZhcigtLWJnMik7cGFkZGluZzo4cHggNHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDVlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7fQouY2FsLWRheXtiYWNrZ3JvdW5kOnZhcigtLWJnKTtwYWRkaW5nOjhweDttaW4taGVpZ2h0OjgwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnM7cG9zaXRpb246cmVsYXRpdmU7fQouY2FsLWRheTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7fQouY2FsLWRheS50b2RheXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7fQouY2FsLWRheS50b2RheSAuY2FsLWRheS1udW17YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWluayk7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC13ZWlnaHQ6NzAwO30KLmNhbC1kYXkub3RoZXItbW9udGggLmNhbC1kYXktbnVte2NvbG9yOnZhcigtLWluazQpO30KLmNhbC1kYXktbnVte2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmsyKTttYXJnaW4tYm90dG9tOjRweDt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5jYWwtZGF5LXRhc2tze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweDt9Ci5jYWwtdGFzay1waWxse2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjJweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2NvbG9yOnZhcigtLWluazMpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouY2FsLXRhc2stcGlsbC5wcmktaGlnaHtiYWNrZ3JvdW5kOiNGRkU4RTg7Y29sb3I6IzhBMjAyMDtib3JkZXItY29sb3I6I0ZGQUFBQTt9Ci5jYWwtdGFzay1waWxsLnByaS1tZWR7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7fQouY2FsLXRhc2stbW9yZXtmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtwYWRkaW5nOjFweCA0cHg7fQoud2Vlay1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTJweCByZXBlYXQoNywxZnIpO2dhcDowO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47fQoud2Vlay1oZWFke2JhY2tncm91bmQ6dmFyKC0tYmcyKTtwYWRkaW5nOjhweCA0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTt9Ci53ZWVrLWhlYWQtZGF5e2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07fQoud2Vlay1oZWFkLWRhdGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDoycHg7fQoud2Vlay1oZWFkLWRhdGUudG9kYXktZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0taW5rKTtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MnB4IGF1dG8gMDt9Ci53ZWVrLXRpbWUtY29se2JhY2tncm91bmQ6dmFyKC0tYmcyKTtwYWRkaW5nOjhweCA2cHggOHB4IDhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTt9Ci53ZWVrLXRpbWUtbGFiZWx7Zm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0taW5rNCk7fQoud2Vlay1jZWxse2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtwYWRkaW5nOjJweDttaW4taGVpZ2h0OjM2cHg7fQoud2Vlay1jZWxsLnRvZGF5LWNvbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDE3MCwwLC4wNCk7fQoud2Vlay10YXNrLWJsb2Nre2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjJweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtib3JkZXItbGVmdDozcHggc29saWQgdmFyKC0tYWNjZW50KTttYXJnaW4tYm90dG9tOjJweDt9Ci5qb3VybmFsLWxheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAzMDBweDtnYXA6MThweDthbGlnbi1pdGVtczpzdGFydDt9Ci5qb3VybmFsLWVkaXRvcntiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MjBweDt9Ci5qb3VybmFsLWRhdGUtaGVhZHtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbi1ib3R0b206MTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O30KLm1vb2Qtcm93e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O21hcmdpbi1ib3R0b206MTZweDt9Ci5tb29kLWJ0bntmbGV4OjE7cGFkZGluZzo4cHggNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnKTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO2ZvbnQtZmFtaWx5OmluaGVyaXQ7fQoubW9vZC1idG46aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7fQoubW9vZC1idG4uYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5tb29kLWljb257ZGlzcGxheTpibG9jazttYXJnaW46MCBhdXRvIDNweDt9Ci5tb29kLWxhYmVse2ZvbnQtc2l6ZTo5cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluazQpO2Rpc3BsYXk6YmxvY2s7fQoubW9vZC1idG4uYWN0aXZlIC5tb29kLWxhYmVse2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5qb3VybmFsLXRleHRhcmVhe3dpZHRoOjEwMCU7bWluLWhlaWdodDoyMDBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcpO291dGxpbmU6bm9uZTtyZXNpemU6dmVydGljYWw7bGluZS1oZWlnaHQ6MS43O30KLmpvdXJuYWwtdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTt9Ci50YWdzLWlucHV0LWp7d2lkdGg6MTAwJTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo4cHggMTJweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluayk7YmFja2dyb3VuZDp2YXIoLS1iZyk7b3V0bGluZTpub25lO21hcmdpbi10b3A6MTBweDt9Ci50YWdzLWlucHV0LWo6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTt9Ci5qb3VybmFsLWZvb3RlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi10b3A6MTJweDt9Ci53b3JkLWNvdW50e2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO30KLmpvdXJuYWwtc2F2ZS1idG57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjhweCAyMHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMsYmFja2dyb3VuZCAuM3M7fQouam91cm5hbC1zYXZlLWJ0bjpob3ZlcntvcGFjaXR5Oi44Nzt9Ci5qb3VybmFsLXNpZGViYXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweDt9Ci5zdHJlYWstY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWFjY2VudC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7fQouc3RyZWFrLW51bS1iaWd7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6NDRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO2xpbmUtaGVpZ2h0OjE7fQouc3RyZWFrLWxhYmVse2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXRvcDoycHg7fQouc3RyZWFrLXN1Yntmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KTttYXJnaW4tdG9wOjRweDt9Ci5wYXN0LWVudHJpZXMtY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNnB4O292ZXJmbG93OmhpZGRlbjt9Ci5wYXN0LWVudHJpZXMtaGVhZHtwYWRkaW5nOjEycHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQoucGFzdC1lbnRyeXtwYWRkaW5nOjEwcHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEyczt9Ci5wYXN0LWVudHJ5Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO30KLnBhc3QtZW50cnk6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZyk7fQoucGUtZGF0ZXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMik7fQoucGUtcHJldmlld3tmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWFyZ2luLXRvcDoycHg7fQoucGUtbW9vZC1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci50aW1lci1sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMjgwcHg7Z2FwOjE4cHg7YWxpZ24taXRlbXM6c3RhcnQ7fQoudGltZXItbWFpbntiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MjhweDt0ZXh0LWFsaWduOmNlbnRlcjt9Ci50aW1lci1tb2RlLXRhYnN7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzozcHg7Z2FwOjJweDttYXJnaW4tYm90dG9tOjI4cHg7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9Ci50aW1lci1tb2RlLXRhYntwYWRkaW5nOjZweCAxOHB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0taW5rMyk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dHJhbnNpdGlvbjphbGwgLjEyczt9Ci50aW1lci1tb2RlLXRhYi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTt9Ci50aW1lci1yaW5nLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O21hcmdpbjowIGF1dG8gMjRweDt9Ci50aW1lci1yaW5nLXN2Z3t0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7fQoudGltZXItcmluZy10cmFja3tmaWxsOm5vbmU7c3Ryb2tlOnZhcigtLWJnMyk7c3Ryb2tlLXdpZHRoOjg7fQoudGltZXItcmluZy1iYXJ7ZmlsbDpub25lO3N0cm9rZTp2YXIoLS1hY2NlbnQpO3N0cm9rZS13aWR0aDo4O3N0cm9rZS1saW5lY2FwOnJvdW5kO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgLjVzIGxpbmVhcjt9Ci50aW1lci1kaXNwbGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RleHQtYWxpZ246Y2VudGVyO30KLnRpbWVyLXRpbWV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6NDZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxO2xldHRlci1zcGFjaW5nOi0uMDJlbTt9Ci50aW1lci1zdGF0ZS1sYmx7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tdG9wOjRweDt9Ci50aW1lci1jb250cm9sc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnRpbWVyLWJ0bnt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO30KLnRpbWVyLWJ0bi1tYWlue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWluayk7fQoudGltZXItYnRuLW1haW46aG92ZXJ7b3BhY2l0eTouODg7fQoudGltZXItYnRuLWdob3N0e2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLWluazIpO30KLnRpbWVyLWJ0bi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnMyk7fQoudGltZXItdGFzay1saW5re2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjhweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbmszKTt9Ci50aW1lci10YXNrLXNlbGVjdHtmbGV4OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7fQoucG9tb2Rvcm8tY291bnR7ZGlzcGxheTpmbGV4O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjE2cHg7fQoucG9tLWRvdHt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYmczKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzO30KLnBvbS1kb3QuZG9uZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7fQoucG9tLWRvdC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1oaSk7fQoudGltZXItbG9nLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW47fQoudGltZXItbG9nLWhlYWR7cGFkZGluZzoxMnB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO30KLmxvZy1lbnRyeXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo5cHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtmb250LXNpemU6MTJweDt9Ci5sb2ctZW50cnk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmU7fQoubG9nLXR5cGUtYmFkZ2V7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MnB4IDdweDtib3JkZXItcmFkaXVzOjVweDt9Ci5sb2ctcG9tb2Rvcm97YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5sb2ctc3RvcHdhdGNoe2JhY2tncm91bmQ6dmFyKC0taGktYmcpO2NvbG9yOnZhcigtLWhpLWRhcmspO30KLmxvZy1kdXJhdGlvbntmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW4tbGVmdDphdXRvO30KLnN0b3B3YXRjaC1sYXBze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweDttYXgtaGVpZ2h0OjEwMHB4O292ZXJmbG93LXk6YXV0bzttYXJnaW4tdG9wOjEycHg7fQoubGFwLXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Zm9udC1zaXplOjExcHg7cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yYWRpdXM6N3B4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyMik7fQouc2NoZWQtbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDMwMHB4O2dhcDoxOHB4O2FsaWduLWl0ZW1zOnN0YXJ0O30KLnNjaGVkLWNhbHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O292ZXJmbG93OmhpZGRlbjt9Ci5zY2hlZC1jYWwtaGVhZGVye3BhZGRpbmc6MTRweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt9Ci5zY2hlZC1wYW5lbHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O292ZXJmbG93OmhpZGRlbjt9Ci5zY2hlZC1wYW5lbC1oZWFke3BhZGRpbmc6MTJweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt9Ci5ldmVudC1waWxse2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2N1cnNvcjpwb2ludGVyO30KLmV2ZW50LWl0ZW17cGFkZGluZzoxMHB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyMik7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnM7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQouZXZlbnQtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnKTt9Ci5ldmVudC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO30KLmV2ZW50LWNvbG9yLWJhcnt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoycHg7ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjJweDthbGlnbi1zZWxmOnN0cmV0Y2g7fQouZXZlbnQtbmFtZXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci5ldmVudC10aW1le2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO21hcmdpbi10b3A6MnB4O30KLmV2ZW50LWJhZGdle2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjFweCA3cHg7Ym9yZGVyLXJhZGl1czoxMHB4O21hcmdpbi1sZWZ0OmF1dG87ZmxleC1zaHJpbms6MDt9Ci5jb2xvci1zd2F0Y2hlc3tkaXNwbGF5OmZsZXg7Z2FwOjZweDttYXJnaW4tdG9wOjhweDt9Ci5jb2xvci1zd2F0Y2h7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7fQouY29sb3Itc3dhdGNoOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjE1KTt9Ci5jb2xvci1zd2F0Y2guYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1pbmspO30KLmNvdW50ZG93bi1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxNHB4O30KPC9zdHlsZT48L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8YSBocmVmPSIjbWFpbi1jb250ZW50IiBjbGFzcz0ic2tpcC1saW5rIj5Ta2lwIHRvIG1haW4gY29udGVudDwvYT4KCjxkaXYgY2xhc3M9Im1vZGFsLW92ZXJsYXkiIGlkPSJ0YXNrLW1vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWxsZWRieT0ibW9kYWwtaGVhZGluZyI+CiAgPGRpdiBjbGFzcz0ibW9kYWwiPgogICAgPGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im1vZGFsLWhlYWRpbmciPk5ldyB0YXNrPC9oMj4KICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLXRpdGxlIj5XaGF0IG5lZWRzIGRvaW5nPzwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS10aXRsZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkRlc2NyaWJlIHRoZSB0YXNr4oCmIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1wcm9qZWN0Ij5Qcm9qZWN0PC9sYWJlbD48c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS1wcm9qZWN0Ij48b3B0aW9uIHZhbHVlPSJwcm9kdWN0Ij5Qcm9kdWN0IExhdW5jaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJyYW5kIj5CcmFuZCBSZWZyZXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGV2Ij5EZXYgU3ByaW50PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLXN0YXR1cyI+U3RhdHVzPC9sYWJlbD48c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS1zdGF0dXMiPjxvcHRpb24gdmFsdWU9InRvZG8iPlRvIERvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG9pbmciPkluIFByb2dyZXNzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG9uZSI+RG9uZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1wcmlvcml0eSI+UHJpb3JpdHk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJtLXByaW9yaXR5Ij48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsb3ciPkxvdzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1sYWJlbCI+TGFiZWw8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJtLWxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1kdWUiPkR1ZSBkYXRlPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIHR5cGU9ImRhdGUiIGlkPSJtLWR1ZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLWFzc2lnbmVlIj5Bc3NpZ25lZTwvbGFiZWw+PHNlbGVjdCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9Im0tYXNzaWduZWUiPjxvcHRpb24gdmFsdWU9IjAiPkFsZXggS2ltPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMSI+TWlhIEJlbGxvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMiI+U2FtIExlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjMiPkpvcmRhbiBULjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtb2RhbC1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJidG4tc20gYnRuLWdob3N0IiBvbmNsaWNrPSJjbG9zZU1vZGFsKCkiPkNhbmNlbDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzYXZlVGFzaygpIj5BZGQgdGFzazwvYnV0dG9uPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9Im1vZGFsLW92ZXJsYXkiIGlkPSJldmVudC1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVsbGVkYnk9ImV2LW1vZGFsLWgiPgogIDxkaXYgY2xhc3M9Im1vZGFsIj4KICAgIDxoMiBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJldi1tb2RhbC1oIj5OZXcgZXZlbnQ8L2gyPgogICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9ImV2LXRpdGxlIj5FdmVudCBuYW1lPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJldi10aXRsZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IldoYXQncyBoYXBwZW5pbmc/Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtZGF0ZSI+RGF0ZTwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiB0eXBlPSJkYXRlIiBpZD0iZXYtZGF0ZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJldi10aW1lIj5TdGFydCB0aW1lPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIHR5cGU9InRpbWUiIGlkPSJldi10aW1lIiB2YWx1ZT0iMDk6MDAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtZW5kIj5FbmQgdGltZTwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiB0eXBlPSJ0aW1lIiBpZD0iZXYtZW5kIiB2YWx1ZT0iMTA6MDAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtcmVjdXIiPlJlY3VycmVuY2U8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJldi1yZWN1ciI+PG9wdGlvbiB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRhaWx5Ij5EYWlseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IndlZWtseSI+V2Vla2x5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibW9udGhseSI+TW9udGhseTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDo0cHgiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+Q29sb3VyPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoZXMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCBhY3RpdmUiIGRhdGEtY29sb3I9IiNGRkFBMDAiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkFBMDAiIG9uY2xpY2s9InNlbGVjdEV2ZW50Q29sb3IodGhpcykiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCIgZGF0YS1jb2xvcj0iIzVCNUJENiIgc3R5bGU9ImJhY2tncm91bmQ6IzVCNUJENiIgb25jbGljaz0ic2VsZWN0RXZlbnRDb2xvcih0aGlzKSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoIiBkYXRhLWNvbG9yPSIjMDBBQUNDIiBzdHlsZT0iYmFja2dyb3VuZDojMDBBQUNDIiBvbmNsaWNrPSJzZWxlY3RFdmVudENvbG9yKHRoaXMpIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1zd2F0Y2giIGRhdGEtY29sb3I9IiMyMjg2M0EiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMjg2M0EiIG9uY2xpY2s9InNlbGVjdEV2ZW50Q29sb3IodGhpcykiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCIgZGF0YS1jb2xvcj0iI0U1MzkzNSIgc3R5bGU9ImJhY2tncm91bmQ6I0U1MzkzNSIgb25jbGljaz0ic2VsZWN0RXZlbnRDb2xvcih0aGlzKSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoIiBkYXRhLWNvbG9yPSIjRkY2QjJCIiBzdHlsZT0iYmFja2dyb3VuZDojRkY2QjJCIiBvbmNsaWNrPSJzZWxlY3RFdmVudENvbG9yKHRoaXMpIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJldi1ub3RlcyI+Tm90ZXM8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9ImV2LW5vdGVzIiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iT3B0aW9uYWzigKYiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ibW9kYWwtYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYnRuLXNtIGJ0bi1naG9zdCIgb25jbGljaz0iY2xvc2VFdmVudE1vZGFsKCkiPkNhbmNlbDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzYXZlRXZlbnQoKSI+QWRkIGV2ZW50PC9idXR0b24+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0iYXV0aC1zY3JlZW4iIHJvbGU9Im1haW4iIGFyaWEtbGFiZWw9IlNpZ24gaW4iPgogIDxkaXYgY2xhc3M9ImF1dGgtbGVmdCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgPGRpdiBjbGFzcz0iYXV0aC1icmFuZCI+CiAgICAgIDxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCA0OCA0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgYXJpYS1oaWRkZW49InRydWUiIGZvY3VzYWJsZT0iZmFsc2UiPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgcng9IjEwIiBmaWxsPSIjRkZBQTAwIi8+PGRlZnM+PHN0eWxlPi5zazB7ZmlsbDpub25lfS5zazF7Y2xpcC1wYXRoOnVybCgjc2lua2NwKX08L3N0eWxlPjxjbGlwUGF0aCBpZD0ic2lua2NwIj48cmVjdCBjbGFzcz0ic2swIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGFzcz0ic2sxIj48aW1hZ2Ugd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHRyYW5zZm9ybT0ic2NhbGUoLjI0KSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FZQUFBQ3RXSzZlQUFBQUNYQklXWE1BQUM0akFBQXVJd0Y0cFQ5MkFBQU0zMGxFUVZSNG5PM2RmY3dkWlozRzhlOFBTcUVpcFFVQ0JvUHRVb0t0aVlpN2drUVIzVlZCRXdFaGlxOFJrczFteldJSWZ5RXhXYXJyN29wbW94SVgyUVdOMWJodVVDTXFHcXRHalNpS3ZGaXh1eXAwV1pFV1ZoRkYya0pmNmVVZk14VjRkdTc3bVRNelorYWM1MXlmcEdrNjU1bDdmbk42WDgrODN3Tm1abVptWm1abVptWm1abVptTm5OaTZBS3NQa25IQVNjQ0p3QXJnYVhBRXVBeFlDdHdMN0FKdURzaTdoK215b1hGQVpsd2tsWUQ1d0t2QVo0REhGRmp0dDhCRzRHdkFWK0tpTHZHVjZIWkFDUzlXTkwxa2g1VE85c2xmVWJTYVVPdmsxbHJrdjVNMGljbDdXc1pqTG4yU2xvbmFjWFE2MmpXaUtRTEpQMm00MkRNOVgrUzNqRDB1cHFOUk5JL2p6a1ljLzNUME9zOERYeVFQakJKaTRDUEFuOVRjNWE5d0diZ2Z5a094bmNDaHdCSEFxdUE0NEFEYTdiMWNlRHRFYkYzbEpyTmVpUHBtcHEvOFcrWGRKbWtreVVkbW1qclVFbC9YdjdjN1RYYi9XamY2MnhXaTZTL3I5R0JiNU4wcnFTNlc0WDliUytTZEg3Tm9MeHJYT3RvMW9pa1Y2czRzNVN5UjlJVmtnNXV1Wndsa3RiV1dOWXJ1MW8zczFZa0xaZjB5MHlIZlVUU3VSMHY4N1dTL3BCWjVpWkpTN3RjcGxramtqNlE2YWpiSmIxaVRNdjl5N0w5RkovWnNtR3B1QkNZNjZRWDFHeG5pYVFWa2s0cy8xNVNjNzQzWnBiOWlJcjd2Y3lHSWVsZk1oMzBxaHJ6djBUU3h5VDlyQXphdnZMdm4wbTZUdEpMYXJUeHI1a2EzdGZObXBxTlNOSlNTVnNTSGZPWGtnN1B6SHVNcEU5bE92YVQvWWVrWXpKdExaZjBxOFM4djVMMDlQRjhBMllaS2s2N3BseWNtZTk0U1J0cmhtTy9qWktPejdSNVNXYmVjOGJ6RFpobFNQcjNSSWQ4UU5LeXhEekxKRzBZTVJ6N2JjaTBlNFNrWHlmbXUzcTgzNFRaSENvdTNQMGswU0UvbHBudnd3M0RzZDhITTIxL0lqSFBqelhpaFVtelZpUWRLMmxyb2tOV25ybVN0RXJTb3kwRHNsMkpYUzFKYjByTTg0aWtaNHozRzVrT0J3eGR3QXhaQVZUZFE3VWIrTy9FUE9jRFQwdDh0Z0Y0UGJDNi9IdEQ0dWNPTGR1cHNoSFlVekg5NlJTUDlKcjFROUk1aWQvV0QwZzZNakhQbHhMejNDM3A2RGsvZTdTS3ErRlZ2cGhvL3lnVno0ZFU4WUU2M29MMEtiVWwyQUZzUzN5V2V2cHZYVVE4K09RSjViL1hqZGpPVm9vQkg2cWs2cDBwRGtoL1VqY2Q3cVZpTjBkU1VJeFlVbVZ6WXZwOWllbFBLOXViYTArNS9DcXRicEpjS0J5UTZaVDZmL1AvWjhmOGhjNkdmUkdodVJQTGFmc0dxR2RxTEJxNkFPdkZzWkxXcFQ3cnM1QnA0NERNaHFYQWhVTVhNWTI4aTdXd2REa0lod2Ywd0Z1UVZpUWRRWEVSN2huQWR5UGllME9YTktGdFRTMEhwQ0ZKSndCZkJ0WThNVWxySStLOUE1YjFpdzdiK25tSGJVMHQ3MkkxZHdWUGhBT0tYWkwzU0hydVFQVUEzRW94eGxaYlYwZkVyUjIwTS9XOEJXbnVsSXBwQVp4TWNZOVQ3eUpDa3Q0QjNBUzhIRmc4WWhPN2dXOUZ4UFdkRnplbEhKQUd5cXZTcWR2QkI3MU52THkyY1gzNXgxcnlMbFp6cVlQWW5ZbnB1OFpWaUkyUHR5RGRPMW5TYjZxbTkxNkp0ZWFBZE8rZDVSOWJBTHlMWlpiaGdKaGxPQ0JtR1E2SVdZWVAwcnYzS01VRnQ3a1dVejFvZzAwd0I2Ujdsd0gvV1RIOVRZQUhaSnN5RGtqM3RrYkV3M01uU3RvNlJESFdqbzlCbWtzOUw1SDZwZU9SQ3FlUUE5SkFlYjlUNnBhU0hYM1dZdVBsZ0RSM1k4VzBoNEdiK3k3RXhzY0JhZTVLNERNOE1hYlZ2Y0NGRWJGbHNJcXNjejVJYnlnaXRnRnZrWFFsc0J6NHI0ajQvY0JsV2NjY2tKWWlZcENIbzZ3ZjNzVXl5M0JBekRJY0VMTU1COFFzd3dFeHkzQkF6RElja1A2azN1VFU1TlVFcWJhc1k3NE8waEZKcTREbkFZY2xmdVQweFBSbGtpN2kvdzhqRkVEbE84NkJNeVdsWHBHMkRiZ3pJdTdKbEd2V0Qwa3JKWDFTeGV1V0o4VjJTWitXZE56UTM4KzA4eEQzTGFnWWgvZEcwaS9KSE5vOXdOa1I0WUdvRzNKQUdsS3hpM016a3o4ZzNBYmdqSWpZUG5RaDA4Z0g2YzI5bWNrUEI4RHpLUjczdFFZY2tPYk9HN3FBRVp3emRBSFR5bWV4bWx1Wm1QNXJZS2puejVkU3ZPMXFydVA3TG1TaGNFQWFVUEg2ZzRNU0gxOE9mS3JIY3A3c2JjQzZpdWtIU1lxcTZ5Mlc1NEEwbCtwc0dxb2pTa3JXMUdzaEM0aVBRYm8zNUpsQm41WHNtQU5pbHVHQU5ERFBMdFNRdXpQSlpmdjRvNWxPajBIS2c5ZFprRnZQR1BCN1NDNVgwZ0hNeUxGSWw3OE1HdjlIU2pvSWVGWDU1M25Ba2N6V0Zta2wxVytSbmNUVHZMc3BoaVdhRmZ1QWg0QTdnZlhBMXlOaVQzNldhbzBDSXVuVndEOEFMMmd5djFuUDdnRFdSc1JYUjUxeDVJQkl1Z3g0LzZqem1VMkF5eU5pcEw0N1VrQWtYUXA4YUtTU3pDYkxwUkZ4VmQwZnJoMFFTYWNBMzZkNnY5dHNXdXdHWGhRUmQ5VDU0VkVPcXRmaWNOajBXd3k4dSs0UDE5cUNTRnBEY1VhZzZ2NGpBZGNEMzZiNjFXTm1mVnNNdkJ5NGdPbyt2Z2M0S1NKKzBjblNKTDA5OFdqblBrbC8xOGxDekRvbTZlTE1ZOGwvMitXQ3Jrb3M1SmJPRm1JMkJwSnVTZlRkV2dmcWRZOUJsaWFtZDdPSk1odWZWQjlOOWVtbnFCdVFiWW5wcTJ2T2J6YVVOWW5wcVQ3OUZIVUQ4dFBFOUJkS3VyaG1HMmE5S3Z2bXFZbVA3NnpUUnQyeldDZFNoT1RncW8rQnp3TGZ3bWV4YkRJc0JsNUJjUmFyeWk3Z3VSR3hhYjZHUnJsUStBV21hNkFDczVRYkl1TDhPajg0U2tCT0FuNEVITkswS3JNSnNBTTRMU0pTaHcxUFVmdEtldG5nSlUyck1wc1FsOVlOQjR6NC9FWkVYQWU4QXg5cjJQVFpEVndTRWRlT010UElEemhGeE5VVUIwRGZZVWFlVUxPcGR4UHd5b2o0eUtnenRubzBWTklWd0hzcVBwcTFKOWhzZUN1cHZwbDJMZkRlcG8vaHRuMG1QWFdhN0Y2S0N6VGV3bGdmQXZnNWNHTEZaNXZhUEtQZU5pREoyOThqSXZWMkpMT3VaY2JNYS9lSXh0Z0dXWmloRVU1c1lPUHNhN00wQ29uWnlCd1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3pEQVRITGNFRE1NaHdRc3d3SHhDekRBVEhMY0VETU1od1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3pEQVRITGNFRE1NaHdRc3d3SHhDekRBVEhMY0VETU1od1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3lqYlVBZVQweVBEdG8ycStzQTB2MHQxVWRyTjl6R2pzVDB4Zmg5NnRhZlEwaS9TU3JWUjJ0cEc1QnRpZW5MZ0NOYnRtMVcxMUhBNFluUHRyWnB1RzFBN2dOMlZVdy9IRmpSc20yenVsWlNIWkJkRkgyMHNiWUIyUXc4bFBqczlKWnRtOVgxNHNUMDN3SmIyalRjS2lBUjhTaXdJZkh4MlczYU5xdWpmSUZucXE5dEtQdG9ZMTJjYWZwdVl2cXBrazdyb0gyem5CY0NweVErUy9YTi9raGFJMm1ucW4xKzZQcHNZWlAwK1VUZjJ5RnA5ZEQxQVNEcG00a2lINWQwNXREMTJjSWs2Y3l5ajFYNXh0RDEvWW1rY3hKRlN0TGRrbnpLMXpvbDZTaEptekw5Ym5LT2dTVWRLT21IbVdKdmxMUm82RHB0WVpDMFNOSlhNdjN0QjVJT0hMck9wNUQwVXFVM2Q1TDBhVW0rdW02dFNEcWs3RXNwajB0NjZkQjFWcEowVGFad1NWb3Y2VmxEMTJuVFNkSUtTVitmcDQ5ZFBYU2RTWklPazNUSFBDdHduNlNMSlBsbVJxdEYwZ0dTTHBTMGVaNitkWWVrdzRhdU4wdkZhZC83NTFrUlNicFowbHNsSFRWMHpUYVpKQzJYOU9heXI4eG5pNlExWGRjUVhUY0lJT2xGd0plcGQ4UGlBeFFYZEg0RTNBVThDRHdLYUJ5MTJjUUs0RkRnYUdBMWNDcHdCdkRNR3ZQK0RqZzdJbjQ0anFMR1F0SXB3T2RvZnRPaUF6SmJtdmJGemNBRkVYRkxsOFhzTjdhQUFFZzZBYmdPZU5rNGwyTXo2eWJncnlQaWY4YTFnTEVlS0plRm53WDhJOFZ1azFrWGRsRDBxYlBHR1E0WTh4Ymt5U1NkQkx3TE9JLzAwMTltT1h1QUc0RDNSY1JQK2xoZ2J3SFpUOUpmQUJkUjNLTHNoNnFzamkzQWpjQW5JdUsyUGhmY2UwRDJrN1NNNGxibE15ak9XRHdUT0FaWVF2L1BzK2UraDRWK3NtQ1MxbjBuOEJqRm1jejdnVnNwampOdWpZaUhlNjRGR0RBZ2MwbGFRdkVzKzhIMHZ3dDJIbkJseGZSN2dWZXhjRU1Td0hxS1IxYm51cHhpZDZaUHV5a2VrLzFEUkxRYWJLRXJFM01EWWZtRkRQS2xTTnFjK0doWFJOelZhekU5azFRMXBnREE1b2k0dTlkaUpwQnY5eWdjbEpnZUtoN3BYSkRLZFV1dFgrbzdtU2tPaUZtR0EyS1c0WURrN1l1SWhYcUFUcmx1KzRhdVk1Sk56RUg2d0ZJaE9GYlN1ajRMR2NDeGlla0w5aGZES0J5UXdtOFQwNWNDRi9aWnlBUjVjT2dDSm9GM3NRcTNrUjRoY2hZOUJOdytkQkdUd0FFQkl1SWg0TitHcm1PQ1hGTitKek52d1o3akg1V0tBU1Z1b0xoeVBzdldBK2RGeE02aEM1a0Uzb0tVeWc3eE91QWFpbHNlWnMxdWluVi92Y1B4Qkc5QktwUzM1cDhGUEp2UlQyU2NEcXlxbUg0UDhQMldwWTFqR1hzcEhuVmVIeEViMnhabWxpWHAyc1NnQXRkTzB6S3M0RjJzN3FYdVJPN3lEdVUrbG1FNElHWlpEb2haaGdOaWx1R0FtR1U0SUdZWkRvaFpoZ05pbHVHQW1HVTRJR1laRG9oWmhnTmlsdUdBbUdVNElHWVpEb2haaGdOaWx1R0E5S2ZMeDNobjhaSGdRWGhjclA3OFZZZUQwSjNlVVRzMkR3ZWtQNnVvZm83Y0pwaDNzYm8zNUVBWUhvU2pZdzVJOTRZYzA5Ymo2WGJNQWVsZUwyOWZUZGd3NExMTjVpZHB1YVFmSklibEdhZWJWYndZMVRya2ZkWXhrTFNVNGxYWHoyZjgzN0VvdGh6ckltTHJtSmRsWm1abVptWm1abVptWm1abVpyYncvUkVXNk9nM0ozZVRtUUFBQUFCSlJVNUVya0pnZ2c9PSIvPjwvZz48L3N2Zz4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1sb2dvIj5UaGUgS2l0Y2hlbjxicj48c3Bhbj5TaW5rPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLXRhZ2xpbmUiPkV2ZXJ5dGhpbmcgaW5jbHVkaW5nIHRoZSBraXRjaGVuIHNpbmsuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZXMiPgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUiPjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS1kb3QiPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS10ZXh0Ij5UYXNrIHRyYWNrZXIg4oCUIEthbmJhbiAmYW1wOyBsaXN0IHZpZXdzPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZSI+PGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlLWRvdCI+PC9kaXY+PGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlLXRleHQiPlBsYW5uZXIg4oCUIGRheSwgd2VlayAmYW1wOyBtb250aDwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUiPjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS1kb3QiPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS10ZXh0Ij5Kb3VybmFsIOKAlCBtb29kLCBzdHJlYWtzICZhbXA7IGVudHJpZXM8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlIj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtdGV4dCI+VGltZXJzIOKAlCBQb21vZG9ybyAmYW1wOyB0aW1lIGxvZ2dpbmc8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlIj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtdGV4dCI+U2NoZWR1bGVyIOKAlCBldmVudHMgJmFtcDsgR29vZ2xlIENhbGVuZGFyPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJhdXRoLXJpZ2h0Ij4KICAgIDxkaXYgY2xhc3M9ImF1dGgtYm94Ij4KICAgICAgPGgxIGNsYXNzPSJhdXRoLXRpdGxlIj5Hb29kIHRvIHNlZSB5b3UuPC9oMT4KICAgICAgPHAgY2xhc3M9ImF1dGgtc3ViIj5TaWduIGluIGFuZCBsZXQncyBnZXQgdGhpbmdzIGRvbmUuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLXRhYnMiIHJvbGU9InRhYmxpc3QiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImF1dGgtdGFiIGFjdGl2ZSIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIiBvbmNsaWNrPSJzd2l0Y2hUYWIoJ3NpZ25pbicsdGhpcykiPlNpZ24gaW48L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhdXRoLXRhYiIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgb25jbGljaz0ic3dpdGNoVGFiKCdzaWdudXAnLHRoaXMpIj5TaWduIHVwPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJzaWduaW4tcGFuZWwiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJhdXRoLWVtYWlsIj5FbWFpbDwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0iYXV0aC1lbWFpbCIgdHlwZT0iZW1haWwiIHZhbHVlPSJkZW1vQGtpdGNoZW5zaW5rLmFwcCIgYXV0b2NvbXBsZXRlPSJlbWFpbCI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9ImF1dGgtcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9ImF1dGgtcGFzcyIgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSJwYXNzd29yZCIgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIj48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tcHJpbWFyeSIgb25jbGljaz0ic2lnbkluKCkiPkxldCdzIGdvIOKGkjwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtZGl2aWRlciIgYXJpYS1oaWRkZW49InRydWUiPm9yPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdvb2dsZSIgb25jbGljaz0ic2lnbkluKCkiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBmaWxsPSIjNDI4NUY0IiBkPSJNMjIuNTYgMTIuMjVjMC0uNzgtLjA3LTEuNTMtLjItMi4yNUgxMnY0LjI2aDUuOTJjLS4yNiAxLjM3LTEuMDQgMi41My0yLjIxIDMuMzF2Mi43N2gzLjU3YzIuMDgtMS45MiAzLjI4LTQuNzQgMy4yOC04LjA5eiIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Ik0xMiAyM2MyLjk3IDAgNS40Ni0uOTggNy4yOC0yLjY2bC0zLjU3LTIuNzdjLS45OC42Ni0yLjIzIDEuMDYtMy43MSAxLjA2LTIuODYgMC01LjI5LTEuOTMtNi4xNi00LjUzSDIuMTh2Mi44NEMzLjk5IDIwLjUzIDcuNyAyMyAxMiAyM3oiLz48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNNS44NCAxNC4wOWMtLjIyLS42Ni0uMzUtMS4zNi0uMzUtMi4wOXMuMTMtMS40My4zNS0yLjA5VjcuMDdIMi4xOEMxLjQzIDguNTUgMSAxMC4yMiAxIDEycy40MyAzLjQ1IDEuMTggNC45M2wyLjg1LTIuMjIuODEtLjYyeiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Ik0xMiA1LjM4YzEuNjIgMCAzLjA2LjU2IDQuMjEgMS42NGwzLjE1LTMuMTVDMTcuNDUgMi4wOSAxNC45NyAxIDEyIDEgNy43IDEgMy45OSAzLjQ3IDIuMTggNy4wN2wzLjY2IDIuODRjLjg3LTIuNiAzLjMtNC41MyA2LjE2LTQuNTN6Ii8+PC9zdmc+Q29udGludWUgd2l0aCBHb29nbGU8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9InNpZ251cC1wYW5lbCIgaGlkZGVuPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJzdS1uYW1lIj5Zb3VyIG5hbWU8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9InN1LW5hbWUiIHR5cGU9InRleHQiIGF1dG9jb21wbGV0ZT0ibmFtZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9InN1LWVtYWlsIj5FbWFpbDwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ic3UtZW1haWwiIHR5cGU9ImVtYWlsIiBhdXRvY29tcGxldGU9ImVtYWlsIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ic3UtcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9InN1LXBhc3MiIHR5cGU9InBhc3N3b3JkIiBhdXRvY29tcGxldGU9Im5ldy1wYXNzd29yZCI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXByaW1hcnkiIG9uY2xpY2s9InNpZ25JbigpIj5DcmVhdGUgbXkgYWNjb3VudCDihpI8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGlkPSJhcHAiIHJvbGU9ImFwcGxpY2F0aW9uIj4KICA8bmF2IGNsYXNzPSJzaWRlYmFyIiBhcmlhLWxhYmVsPSJNYWluIG5hdmlnYXRpb24iPgogICAgPGRpdiBjbGFzcz0ic2lkZWJhci10b3AiPgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWJyYW5kIj4KICAgICAgICA8ZGl2IGNsYXNzPSJicmFuZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1pbmspIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjUiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjEyIiB3aWR0aD0iNyIgaGVpZ2h0PSI5IiByeD0iMSIvPjxyZWN0IHg9IjMiIHk9IjE2IiB3aWR0aD0iNyIgaGVpZ2h0PSI1IiByeD0iMSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJyYW5kLW5hbWUiPlRoZSBLaXRjaGVuIFNpbms8c21hbGw+UGhhc2UgMiDCtyBXb3Jrc3BhY2U8L3NtYWxsPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibmF2LXNlY3Rpb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5Xb3Jrc3BhY2U8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ2Rhc2hib2FyZCcsdGhpcykiIGFyaWEtbGFiZWw9IkRhc2hib2FyZCI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iOSIgcng9IjEiLz48cmVjdCB4PSIxNCIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iNSIgcng9IjEiLz48cmVjdCB4PSIxNCIgeT0iMTIiIHdpZHRoPSI3IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHJlY3QgeD0iMyIgeT0iMTYiIHdpZHRoPSI3IiBoZWlnaHQ9IjUiIHJ4PSIxIi8+PC9zdmc+CiAgICAgICAgRGFzaGJvYXJkCiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtaXRlbSBhY3RpdmUiIG9uY2xpY2s9InNldFBhZ2UoJ3Rhc2tzJyx0aGlzKSIgYXJpYS1jdXJyZW50PSJwYWdlIiBhcmlhLWxhYmVsPSJUYXNrcyI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjEiLz48cGF0aCBkPSJtMyAxNyAyIDIgNC00Ii8+PHBhdGggZD0iTTEzIDZoOCIvPjxwYXRoIGQ9Ik0xMyAxMmg4Ii8+PHBhdGggZD0iTTEzIDE4aDgiLz48L3N2Zz4KICAgICAgICBUYXNrczxzcGFuIGNsYXNzPSJuYXYtYmFkZ2UiIGlkPSJ0YXNrLWNvdW50Ij44PC9zcGFuPgogICAgICA8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ3BsYW5uZXInLHRoaXMpIiBhcmlhLWxhYmVsPSJQbGFubmVyIj4KICAgICAgICA8c3ZnIGNsYXNzPSJuYXYtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIi8+PGxpbmUgeDE9IjE2IiB5MT0iMiIgeDI9IjE2IiB5Mj0iNiIvPjxsaW5lIHgxPSI4IiB5MT0iMiIgeDI9IjgiIHkyPSI2Ii8+PGxpbmUgeDE9IjMiIHkxPSIxMCIgeDI9IjIxIiB5Mj0iMTAiLz48L3N2Zz4KICAgICAgICBQbGFubmVyCiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtaXRlbSIgb25jbGljaz0ic2V0UGFnZSgnam91cm5hbCcsdGhpcykiIGFyaWEtbGFiZWw9IkpvdXJuYWwiPgogICAgICAgIDxzdmcgY2xhc3M9Im5hdi1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjAiLz48cGF0aCBkPSJNNi41IDJIMjB2MjBINi41QTIuNSAyLjUgMCAwIDEgNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyeiIvPjxsaW5lIHgxPSI5IiB5MT0iNyIgeDI9IjE1IiB5Mj0iNyIvPjxsaW5lIHgxPSI5IiB5MT0iMTEiIHgyPSIxNSIgeTI9IjExIi8+PC9zdmc+CiAgICAgICAgSm91cm5hbAogICAgICA8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ3RpbWVycycsdGhpcykiIGFyaWEtbGFiZWw9IlRpbWVycyI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iOCIvPjxwb2x5bGluZSBwb2ludHM9IjEyIDkgMTIgMTMgMTQuNSAxNS41Ii8+PGxpbmUgeDE9IjEwIiB5MT0iMyIgeDI9IjE0IiB5Mj0iMyIvPjxsaW5lIHgxPSIyMSIgeTE9IjYiIHgyPSIxOSIgeTI9IjgiLz48L3N2Zz4KICAgICAgICBUaW1lcnMKICAgICAgPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1pdGVtIiBvbmNsaWNrPSJzZXRQYWdlKCdzY2hlZHVsZXInLHRoaXMpIiBhcmlhLWxhYmVsPSJTY2hlZHVsZXIiPgogICAgICAgIDxzdmcgY2xhc3M9Im5hdi1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiLz48bGluZSB4MT0iMTYiIHkxPSIyIiB4Mj0iMTYiIHkyPSI2Ii8+PGxpbmUgeDE9IjgiIHkxPSIyIiB4Mj0iOCIgeTI9IjYiLz48bGluZSB4MT0iMyIgeTE9IjEwIiB4Mj0iMjEiIHkyPSIxMCIvPjxjaXJjbGUgY3g9IjgiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+CiAgICAgICAgU2NoZWR1bGVyCiAgICAgIDwvYnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXRvcCIgc3R5bGU9InBhZGRpbmctdG9wOjAiPgogICAgICA8ZGl2IGNsYXNzPSJuYXYtc2VjdGlvbiIgYXJpYS1oaWRkZW49InRydWUiPlByb2plY3RzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItcHJvamVjdHMiIHJvbGU9Imxpc3QiIGFyaWEtbGFiZWw9IlByb2plY3QgZmlsdGVycyI+CiAgICAgICAgPGJ1dHRvbiByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InByb2otYnRuIGFjdGl2ZS1wcm9qIiBvbmNsaWNrPSJmaWx0ZXJQcm9qZWN0KCdhbGwnLHRoaXMpIiBhcmlhLXByZXNzZWQ9InRydWUiPjxkaXYgY2xhc3M9InByb2otZG90IiBzdHlsZT0iYmFja2dyb3VuZDojRkZBQTAwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+QWxsIFByb2plY3RzPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InByb2otYnRuIiBvbmNsaWNrPSJmaWx0ZXJQcm9qZWN0KCdwcm9kdWN0Jyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PGRpdiBjbGFzcz0icHJvai1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiM3QzNBRUQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj5Qcm9kdWN0IExhdW5jaDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gcm9sZT0ibGlzdGl0ZW0iIGNsYXNzPSJwcm9qLWJ0biIgb25jbGljaz0iZmlsdGVyUHJvamVjdCgnYnJhbmQnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48ZGl2IGNsYXNzPSJwcm9qLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6IzFBNUZDQyIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PkJyYW5kIFJlZnJlc2g8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIHJvbGU9Imxpc3RpdGVtIiBjbGFzcz0icHJvai1idG4iIG9uY2xpY2s9ImZpbHRlclByb2plY3QoJ2RldicsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxkaXYgY2xhc3M9InByb2otZG90IiBzdHlsZT0iYmFja2dyb3VuZDojMjI4NjNBIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+RGV2IFNwcmludDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2lkZWJhci1mb290ZXIiPgogICAgICA8YnV0dG9uIGNsYXNzPSJ1c2VyLWNoaXAiIGFyaWEtbGFiZWw9IlVzZXI6IEFsZXggS2ltLCBhZG1pbiI+PGRpdiBjbGFzcz0idXNlci1hdmF0YXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj5BSzwvZGl2PjxkaXY+PGRpdiBjbGFzcz0idXNlci1uYW1lIj5BbGV4IEtpbTwvZGl2PjxkaXYgY2xhc3M9InVzZXItcm9sZSI+YWRtaW4gwrcgcHJvPC9kaXY+PC9kaXY+PC9idXR0b24+CiAgICA8L2Rpdj4KICA8L25hdj4KCiAgPGRpdiBjbGFzcz0ibWFpbiIgaWQ9Im1haW4tY29udGVudCI+CiAgICA8aGVhZGVyIGNsYXNzPSJ0b3BiYXIiPgogICAgICA8ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIiBpZD0icGFnZS10aXRsZSI+VGFza3M8L2gxPgogICAgICAgIDxkaXYgY2xhc3M9InZpZXctdG9nZ2xlIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iVmlldyBvcHRpb25zIiBpZD0idmlldy10b2dnbGUiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idnQtYnRuIGFjdGl2ZSIgb25jbGljaz0ic2V0Vmlldygna2FuYmFuJyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJ0cnVlIj4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iMTgiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjEwIiByeD0iMSIvPjxyZWN0IHg9IjE0IiB5PSIxNyIgd2lkdGg9IjciIGhlaWdodD0iNCIgcng9IjEiLz48L3N2Zz5Cb2FyZAogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2dC1idG4iIG9uY2xpY2s9InNldFZpZXcoJ2xpc3QnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjgiIHkxPSI2IiB4Mj0iMjEiIHkyPSI2Ii8+PGxpbmUgeDE9IjgiIHkxPSIxMiIgeDI9IjIxIiB5Mj0iMTIiLz48bGluZSB4MT0iOCIgeTE9IjE4IiB4Mj0iMjEiIHkyPSIxOCIvPjxsaW5lIHgxPSIzIiB5MT0iNiIgeDI9IjMuMDEiIHkyPSI2Ii8+PGxpbmUgeDE9IjMiIHkxPSIxMiIgeDI9IjMuMDEiIHkyPSIxMiIvPjxsaW5lIHgxPSIzIiB5MT0iMTgiIHgyPSIzLjAxIiB5Mj0iMTgiLz48L3N2Zz5MaXN0CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKTt3aGl0ZS1zcGFjZTpub3dyYXAiPmNoYW5nZSBjb2xvcnM8L3NwYW4+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLWluazQpIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InBhbGV0dGUtdG9nZ2xlIiBvbmNsaWNrPSJ0b2dnbGVQYWxldHRlKCkiIGlkPSJwYWxldHRlLWJ0biIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtbGFiZWw9IlN3aXRjaCBjb2xvdXIgcGFsZXR0ZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLWRvdCIgaWQ9InBhbGV0dGUtZG90IiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMwMEM0OEMgNTAlKSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPHNwYW4gaWQ9InBhbGV0dGUtbGFiZWwiPkNpdHJ1czwvc3Bhbj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tc20gYnRuLWdob3N0IiBvbmNsaWNrPSJvcGVuTW9kYWwoKSIgaWQ9Im5ldy10YXNrLWJ0biI+KyBOZXcgdGFzazwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvaGVhZGVyPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiIGFyaWEtbGFiZWw9IlBhZ2UgY29udGVudCI+CiAgICAgIDxkaXYgaWQ9InBhZ2UtZGFzaGJvYXJkIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJEYXNoYm9hcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtZ3JlZXRpbmciPjxoMiBpZD0iZGFzaC1oIj5Hb29kIG1vcm5pbmcsIEFsZXg8L2gyPjxwIGlkPSJkYXNoLXN1YiI+PC9wPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQgYWNjZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBvbHlsaW5lIHBvaW50cz0iMTIgNiAxMiAxMiAxNiAxNCIvPjwvc3ZnPlRvZGF5J3MgdGFza3M8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1iaWctbnVtIiBpZD0iZC10b2RheS1uIj4wPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ctcm93Ij48ZGl2IGNsYXNzPSJwcm9nLXRyYWNrIj48ZGl2IGNsYXNzPSJwcm9nLXRyYWNrLWZpbGwiIGlkPSJkLXRvZGF5LXAiIHN0eWxlPSJ3aWR0aDowJSI+PC9kaXY+PC9kaXY+PHNwYW4gaWQ9ImQtdG9kYXktZCIgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazMpIj4wIGRvbmU8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtc3ViIiBpZD0iZC10b2RheS1sIj50YXNrcyBkdWUgdG9kYXk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiLz48bGluZSB4MT0iMyIgeTE9IjEwIiB4Mj0iMjEiIHkyPSIxMCIvPjxsaW5lIHgxPSIxNiIgeTE9IjIiIHgyPSIxNiIgeTI9IjYiLz48bGluZSB4MT0iOCIgeTE9IjIiIHgyPSI4IiB5Mj0iNiIvPjwvc3ZnPlVwY29taW5nIGV2ZW50czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWxpc3QiIGlkPSJkLWV2ZW50cyI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCBoaS1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjAiLz48cGF0aCBkPSJNNi41IDJIMjB2MjBINi41QTIuNSAyLjUgMCAwIDEgNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyeiIvPjwvc3ZnPkpvdXJuYWwgc3RyZWFrPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtc3RyZWFrIj48ZGl2IGNsYXNzPSJzdHJlYWstbnVtIiBpZD0iZC1zdHJlYWsiPjA8L2Rpdj48ZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKSI+ZGF5IHN0cmVhazwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO21hcmdpbi10b3A6MnB4IiBpZD0iZC1zdHJlYWstcyI+U3RhcnQgd3JpdGluZyB0b2RheSE8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIGRhc2gtd2lkZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZC1sYWJlbCI+PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIvPjxwYXRoIGQ9Im0zIDE3IDIgMiA0LTQiLz48cGF0aCBkPSJNMTMgNmg4Ii8+PHBhdGggZD0iTTEzIDEyaDgiLz48L3N2Zz5UYXNrcyBkdWUgdG9kYXk8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1saXN0IiBpZD0iZC10YXNrcyIgc3R5bGU9Im1heC1oZWlnaHQ6MTMwcHg7b3ZlcmZsb3cteTphdXRvIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTMiIHI9IjgiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA5IDEyIDEzIDE0LjUgMTUuNSIvPjxsaW5lIHgxPSIxMCIgeTE9IjMiIHgyPSIxNCIgeTI9IjMiLz48L3N2Zz5MYXN0IHRpbWVyIHNlc3Npb248L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZC10aW1lciIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWluazMpO21hcmdpbi10b3A6NnB4Ij5ObyBzZXNzaW9ucyB5ZXQuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJwYWdlLXRhc2tzIiBhcmlhLWxhYmVsPSJUYXNrIGJvYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1iYXIiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbD0iVGFzayBzdW1tYXJ5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtY2FyZCBhY2NlbnQtc3RhdCI+PGRpdiBjbGFzcz0ic3RhdC12YWwiIGlkPSJzLXRvdGFsIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkFsbCB0YXNrczwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1jYXJkIj48ZGl2IGNsYXNzPSJzdGF0LXZhbCIgaWQ9InMtdG9kby1jIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPlRvIGRvPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNhcmQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0icy1kb2luZy1jIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkluIHByb2dyZXNzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNhcmQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0icy1kb25lLWMiIGFyaWEtbGl2ZT0icG9saXRlIj4wPC9kaXY+PGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+RG9uZTwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiIHJvbGU9InNlYXJjaCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcCI+PHN2ZyBjbGFzcz0ic2VhcmNoLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ii8+PGxpbmUgeDE9IjIxIiB5MT0iMjEiIHgyPSIxNi42NSIgeTI9IjE2LjY1Ii8+PC9zdmc+PGlucHV0IGNsYXNzPSJzZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJTZWFyY2ggdGFza3PigKYiIG9uaW5wdXQ9ImZpbHRlclNlYXJjaCh0aGlzLnZhbHVlKSIgYXJpYS1sYWJlbD0iU2VhcmNoIHRhc2tzIj48L2Rpdj4KICAgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IkZpbHRlciBieSBwcmlvcml0eSIgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwgYWN0aXZlLWZpbHRlciIgb25jbGljaz0iZmlsdGVyUHJpb3JpdHkoJ2FsbCcsdGhpcykiIGFyaWEtcHJlc3NlZD0idHJ1ZSI+QWxsPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZpbHRlci1waWxsIiBvbmNsaWNrPSJmaWx0ZXJQcmlvcml0eSgnaGlnaCcsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPkhpZ2g8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwiIG9uY2xpY2s9ImZpbHRlclByaW9yaXR5KCdtZWQnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5NZWRpdW08L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwiIG9uY2xpY2s9ImZpbHRlclByaW9yaXR5KCdsb3cnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5Mb3c8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImthbmJhbiIgaWQ9ImthbmJhbi1ib2FyZCIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJUYXNrIGNvbHVtbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sIiBpZD0iY29sLXdyYXAtdG9kbyIgYXJpYS1sYWJlbD0iVG8gZG8iIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ3RvZG8nKSIgb25kcmFnbGVhdmU9Im9uRHJhZ0xlYXZlKCd0b2RvJykiIG9uZHJvcD0ib25Ecm9wKGV2ZW50LCd0b2RvJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNCQkJCQkIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+VG8gZG88L2gyPjxzcGFuIGNsYXNzPSJjb2wtY291bnQiIGlkPSJoYy10b2RvIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWJvZHkiIGlkPSJjb2wtdG9kbyIgcm9sZT0ibGlzdCI+PC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1jYXJkLWJ0biIgb25jbGljaz0ib3BlbklubGluZUZvcm0oJ3RvZG8nKSIgYXJpYS1sYWJlbD0iQWRkIHRhc2sgdG8gVG8gZG8iPisgQWRkIGEgdGFzazwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1mb3JtIiBpZD0icWYtdG9kbyI+PHRleHRhcmVhIGNsYXNzPSJxZi1pbnB1dCIgaWQ9InFpLXRvZG8iIHJvd3M9IjIiIHBsYWNlaG9sZGVyPSJXaGF0IG5lZWRzIGRvaW5nPyIgYXJpYS1sYWJlbD0iVGFzayB0aXRsZSI+PC90ZXh0YXJlYT48ZGl2IGNsYXNzPSJxZi1yb3ciPjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFsLXRvZG8iIGFyaWEtbGFiZWw9IkxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFwLXRvZG8iIGFyaWEtbGFiZWw9IlByaW9yaXR5Ij48b3B0aW9uIHZhbHVlPSJtZWQiPk1lZGl1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImhpZ2giPkhpZ2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsb3ciPkxvdzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9InFmLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InFmLWNvbmZpcm0iIG9uY2xpY2s9ImFkZElubGluZVRhc2soJ3RvZG8nKSI+QWRkPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icWYtY2FuY2VsIiBvbmNsaWNrPSJjbG9zZUlubGluZUZvcm0oJ3RvZG8nKSI+Q2FuY2VsPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBkb2luZy1jb2wiIGlkPSJjb2wtd3JhcC1kb2luZyIgYXJpYS1sYWJlbD0iSW4gcHJvZ3Jlc3MiIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ2RvaW5nJykiIG9uZHJhZ2xlYXZlPSJvbkRyYWdMZWF2ZSgnZG9pbmcnKSIgb25kcm9wPSJvbkRyb3AoZXZlbnQsJ2RvaW5nJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkFBMDAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+SW4gcHJvZ3Jlc3M8L2gyPjxzcGFuIGNsYXNzPSJjb2wtY291bnQiIGlkPSJoYy1kb2luZyIgYXJpYS1saXZlPSJwb2xpdGUiPjA8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1ib2R5IiBpZD0iY29sLWRvaW5nIiByb2xlPSJsaXN0Ij48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWNhcmQtYnRuIiBvbmNsaWNrPSJvcGVuSW5saW5lRm9ybSgnZG9pbmcnKSIgYXJpYS1sYWJlbD0iQWRkIHRhc2sgdG8gSW4gcHJvZ3Jlc3MiPisgQWRkIGEgdGFzazwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1mb3JtIiBpZD0icWYtZG9pbmciPjx0ZXh0YXJlYSBjbGFzcz0icWYtaW5wdXQiIGlkPSJxaS1kb2luZyIgcm93cz0iMiIgcGxhY2Vob2xkZXI9IldoYXQncyBpbiBmbGlnaHQ/IiBhcmlhLWxhYmVsPSJUYXNrIHRpdGxlIj48L3RleHRhcmVhPjxkaXYgY2xhc3M9InFmLXJvdyI+PHNlbGVjdCBjbGFzcz0icWYtc2VsZWN0IiBpZD0icWwtZG9pbmciIGFyaWEtbGFiZWw9IkxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFwLWRvaW5nIiBhcmlhLWxhYmVsPSJQcmlvcml0eSI+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibG93Ij5Mb3c8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJxZi1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJxZi1jb25maXJtIiBvbmNsaWNrPSJhZGRJbmxpbmVUYXNrKCdkb2luZycpIj5BZGQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJxZi1jYW5jZWwiIG9uY2xpY2s9ImNsb3NlSW5saW5lRm9ybSgnZG9pbmcnKSI+Q2FuY2VsPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBkb25lLWNvbCIgaWQ9ImNvbC13cmFwLWRvbmUiIGFyaWEtbGFiZWw9IkRvbmUiIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ2RvbmUnKSIgb25kcmFnbGVhdmU9Im9uRHJhZ0xlYXZlKCdkb25lJykiIG9uZHJvcD0ib25Ecm9wKGV2ZW50LCdkb25lJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMjg2M0EiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+RG9uZTwvaDI+PHNwYW4gY2xhc3M9ImNvbC1jb3VudCIgaWQ9ImhjLWRvbmUiIGFyaWEtbGl2ZT0icG9saXRlIj4wPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtYm9keSIgaWQ9ImNvbC1kb25lIiByb2xlPSJsaXN0Ij48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWNhcmQtYnRuIiBvbmNsaWNrPSJvcGVuSW5saW5lRm9ybSgnZG9uZScpIiBhcmlhLWxhYmVsPSJBZGQgdGFzayB0byBEb25lIj4rIEFkZCBhIHRhc2s8L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stZm9ybSIgaWQ9InFmLWRvbmUiPjx0ZXh0YXJlYSBjbGFzcz0icWYtaW5wdXQiIGlkPSJxaS1kb25lIiByb3dzPSIyIiBwbGFjZWhvbGRlcj0iU29tZXRoaW5nIGNvbXBsZXRlZD8iIGFyaWEtbGFiZWw9IlRhc2sgdGl0bGUiPjwvdGV4dGFyZWE+PGRpdiBjbGFzcz0icWYtcm93Ij48c2VsZWN0IGNsYXNzPSJxZi1zZWxlY3QiIGlkPSJxbC1kb25lIiBhcmlhLWxhYmVsPSJMYWJlbCI+PG9wdGlvbiB2YWx1ZT0iZGV2Ij5EZXY8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkZXNpZ24iPkRlc2lnbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlc2VhcmNoIj5SZXNlYXJjaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvcHkiPkNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJxYSI+UUE8L29wdGlvbj48L3NlbGVjdD48c2VsZWN0IGNsYXNzPSJxZi1zZWxlY3QiIGlkPSJxcC1kb25lIiBhcmlhLWxhYmVsPSJQcmlvcml0eSI+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibG93Ij5Mb3c8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJxZi1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJxZi1jb25maXJtIiBvbmNsaWNrPSJhZGRJbmxpbmVUYXNrKCdkb25lJykiPkFkZDwvYnV0dG9uPjxidXR0b24gY2xhc3M9InFmLWNhbmNlbCIgb25jbGljaz0iY2xvc2VJbmxpbmVGb3JtKCdkb25lJykiPkNhbmNlbDwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBpZD0ibGlzdC1ib2FyZCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJUYXNrIGxpc3QiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGlzdC1oZWFkZXIiIHJvbGU9InJvdyI+PHNwYW4+VGFzazwvc3Bhbj48c3Bhbj5TdGF0dXM8L3NwYW4+PHNwYW4+UHJpb3JpdHk8L3NwYW4+PHNwYW4+RHVlIGRhdGU8L3NwYW4+PHNwYW4+QXNzaWduZWU8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJsaXN0LXJvd3MiIHJvbGU9Imxpc3QiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2UtcGxhbm5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgYXJpYS1sYWJlbD0iUGxhbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsLWhlYWRlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0icGxhbm5lck5hdigtMSkiIGFyaWEtbGFiZWw9IlByZXZpb3VzIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPjwvc3ZnPjwvYnV0dG9uPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhbC1tb250aCIgaWQ9InBsYW5uZXItbGFiZWwiPk1heSAyMDI2PC9zcGFuPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLW5hdi1idG4iIG9uY2xpY2s9InBsYW5uZXJOYXYoMSkiIGFyaWEtbGFiZWw9Ik5leHQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC12aWV3LXRhYnMiIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLXZ0IGFjdGl2ZSIgb25jbGljaz0ic2V0UGxhbm5lclZpZXcoJ21vbnRoJyx0aGlzKSI+TW9udGg8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLXZ0IiBvbmNsaWNrPSJzZXRQbGFubmVyVmlldygnd2VlaycsdGhpcykiPldlZWs8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InBsYW5uZXItbW9udGgiPjwvZGl2PgogICAgICAgIDxkaXYgaWQ9InBsYW5uZXItd2VlayIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBpZD0icGFnZS1qb3VybmFsIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJKb3VybmFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqb3VybmFsLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqb3VybmFsLWVkaXRvciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImpvdXJuYWwtZGF0ZS1oZWFkIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNNCAxOS41QTIuNSAyLjUgMCAwIDEgNi41IDE3SDIwIi8+PHBhdGggZD0iTTYuNSAySDIwdjIwSDYuNUEyLjUgMi41IDAgMCAxIDQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMnoiLz48L3N2Zz48c3BhbiBpZD0iam91cm5hbC1kYXRlIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tYm90dG9tOjhweCI+SG93IGFyZSB5b3UgZmVlbGluZz88L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9vZC1yb3ciIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJNb29kIHNlbGVjdG9yIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb29kLWJ0biIgb25jbGljaz0ic2VsZWN0TW9vZCgxLHRoaXMpIiBhcmlhLWxhYmVsPSJSb3VnaCIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNMTYgMTZzLTEuNS0yLTQtMi00IDItNCAyIi8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPlJvdWdoPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1vb2QtYnRuIiBvbmNsaWNrPSJzZWxlY3RNb29kKDIsdGhpcykiIGFyaWEtbGFiZWw9IkxvdyIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOCAxNWg4Ii8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPkxvdzwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb29kLWJ0biIgb25jbGljaz0ic2VsZWN0TW9vZCgzLHRoaXMpIiBhcmlhLWxhYmVsPSJPa2F5IiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3ZnIGNsYXNzPSJtb29kLWljb24iIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIi8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPk9rYXk8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibW9vZC1idG4iIG9uY2xpY2s9InNlbGVjdE1vb2QoNCx0aGlzKSIgYXJpYS1sYWJlbD0iR29vZCIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOCAxM3MxLjUgMyA0IDMgNC0zIDQtMyIvPjxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjkuMDEiIHkyPSI5Ii8+PGxpbmUgeDE9IjE1IiB5MT0iOSIgeDI9IjE1LjAxIiB5Mj0iOSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJtb29kLWxhYmVsIj5Hb29kPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1vb2QtYnRuIiBvbmNsaWNrPSJzZWxlY3RNb29kKDUsdGhpcykiIGFyaWEtbGFiZWw9IkdyZWF0IiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3ZnIGNsYXNzPSJtb29kLWljb24iIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik04IDEyczEuNSA0IDQgNCA0LTQgNC00Ii8+PHBhdGggZD0iTTkgOWMuNSAwIDEtLjUgMS0xIi8+PHBhdGggZD0iTTE1IDljLS41IDAtMS0uNS0xLTEiLz48L3N2Zz48c3BhbiBjbGFzcz0ibW9vZC1sYWJlbCI+R3JlYXQ8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iam91cm5hbC1ib2R5Ij5Ub2RheSdzIGVudHJ5PC9sYWJlbD4KICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJqb3VybmFsLXRleHRhcmVhIiBpZD0iam91cm5hbC1ib2R5IiBwbGFjZWhvbGRlcj0iV2hhdCdzIG9uIHlvdXIgbWluZCB0b2RheT8gV3JpdGUgZnJlZWx54oCmIiBvbmlucHV0PSJ1cGRhdGVXb3JkQ291bnQoKSIgYXJpYS1sYWJlbD0iSm91cm5hbCBlbnRyeSB0ZXh0Ij48L3RleHRhcmVhPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9InRhZ3MtaW5wdXQtaiIgaWQ9ImpvdXJuYWwtdGFncyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlRhZ3M6IHdvcmssIGZvY3VzLCBpZGVhc+KApiAoY29tbWEgc2VwYXJhdGVkKSIgYXJpYS1sYWJlbD0iSm91cm5hbCB0YWdzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iam91cm5hbC1mb290ZXIiPjxzcGFuIGNsYXNzPSJ3b3JkLWNvdW50IiBpZD0id29yZC1jb3VudCIgYXJpYS1saXZlPSJwb2xpdGUiPjAgd29yZHM8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iam91cm5hbC1zYXZlLWJ0biIgb25jbGljaz0ic2F2ZUpvdXJuYWxFbnRyeSgpIj5TYXZlIGVudHJ5PC9idXR0b24+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImpvdXJuYWwtc2lkZWJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0cmVhay1jYXJkIiByb2xlPSJzdGF0dXMiPjxkaXYgY2xhc3M9InN0cmVhay1udW0tYmlnIiBpZD0iai1zdHJlYWsiPjA8L2Rpdj48ZGl2IGNsYXNzPSJzdHJlYWstbGFiZWwiPmRheSBzdHJlYWs8L2Rpdj48ZGl2IGNsYXNzPSJzdHJlYWstc3ViIiBpZD0iai1zdHJlYWstcyI+V3JpdGUgdG9kYXkgdG8gc3RhcnQhPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3QtZW50cmllcy1jYXJkIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXN0LWVudHJpZXMtaGVhZCI+UGFzdCBlbnRyaWVzPHNwYW4gaWQ9ImotZW50cnktY291bnQiIHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KSI+MDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJwYXN0LWVudHJpZXMiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2UtdGltZXJzIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJUaW1lcnMiPgogICAgICAgIDxkaXYgY2xhc3M9InRpbWVyLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1tYWluIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItbW9kZS10YWJzIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iVGltZXIgbW9kZSI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGltZXItbW9kZS10YWIgYWN0aXZlIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ3BvbW9kb3JvJyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJ0cnVlIj5Qb21vZG9ybzwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLW1vZGUtdGFiIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ3N0b3B3YXRjaCcsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPlN0b3B3YXRjaDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLW1vZGUtdGFiIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ2NvdW50ZG93bicsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPkNvdW50ZG93bjwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0icG9tLWRvdHMiIGNsYXNzPSJwb21vZG9yby1jb3VudCIgYXJpYS1sYWJlbD0iUG9tb2Rvcm8gc2Vzc2lvbnMiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1yaW5nLXdyYXAiIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9Im9mZiI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idGltZXItcmluZy1zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz0idGltZXItcmluZy10cmFjayIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODgiLz4KICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9InRpbWVyLXJpbmctYmFyIiBpZD0idGltZXItcmluZy1iYXIiIGN4PSIxMDAiIGN5PSIxMDAiIHI9Ijg4IiBzdHJva2UtZGFzaGFycmF5PSI1NTMiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIi8+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItZGlzcGxheSI+PGRpdiBjbGFzcz0idGltZXItdGltZSIgaWQ9InRpbWVyLWRpc3BsYXkiPjI1OjAwPC9kaXY+PGRpdiBjbGFzcz0idGltZXItc3RhdGUtbGJsIiBpZD0idGltZXItc3RhdGUiPkZvY3VzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1jb250cm9scyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IlRpbWVyIGNvbnRyb2xzIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aW1lci1idG4gdGltZXItYnRuLWdob3N0IiBvbmNsaWNrPSJyZXNldFRpbWVyKCkiIGFyaWEtbGFiZWw9IlJlc2V0Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjEgNCAxIDEwIDcgMTAiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxIDAgLjQ5LTQuNSIvPjwvc3ZnPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLWJ0biB0aW1lci1idG4tbWFpbiIgaWQ9InRpbWVyLXBsYXktYnRuIiBvbmNsaWNrPSJ0b2dnbGVUaW1lcigpIiBhcmlhLWxhYmVsPSJTdGFydCB0aW1lciI+PHN2ZyBpZD0idGltZXItcGxheS1pY29uIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlnb24gcG9pbnRzPSI1IDMgMTkgMTIgNSAyMSA1IDMiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aW1lci1idG4gdGltZXItYnRuLWdob3N0IiBvbmNsaWNrPSJsYXBUaW1lcigpIiBpZD0ibGFwLWJ0biIgYXJpYS1sYWJlbD0iTGFwIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiLz48cGF0aCBkPSJNMjAuNDkgMTVhOSA5IDAgMSAxLS40OS00LjUiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVyLXRhc2stbGluayIgYXJpYS1sYWJlbD0iTGluayB0byB0YXNrIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIvPjxwYXRoIGQ9Ik0xMyA2aDgiLz48cGF0aCBkPSJNMTMgMTJoOCIvPjwvc3ZnPjxzZWxlY3QgY2xhc3M9InRpbWVyLXRhc2stc2VsZWN0IiBpZD0idGltZXItdGFzay1zZWwiIGFyaWEtbGFiZWw9IkxpbmsgdG8gdGFzayI+PG9wdGlvbiB2YWx1ZT0iIj5MaW5rIHRvIGEgdGFzayAob3B0aW9uYWwpPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImNvdW50ZG93bi1zZXR1cCIgc3R5bGU9ImRpc3BsYXk6bm9uZTttYXJnaW4tdG9wOjE0cHgiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZG93bi1yb3ciPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJjZC1taW5zIiBzdHlsZT0ibWFyZ2luOjAiPk1pbnV0ZXM6PC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iY2QtbWlucyIgbWluPSIxIiBtYXg9IjE4MCIgdmFsdWU9IjI1IiBzdHlsZT0id2lkdGg6NzBweCIgY2xhc3M9ImZvcm0taW5wdXQiPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzZXRDb3VudGRvd24oKSIgc3R5bGU9InBhZGRpbmc6N3B4IDEycHgiPlNldDwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RvcHdhdGNoLWxhcHMiIGlkPSJsYXAtbGlzdCIgcm9sZT0ibGlzdCIgYXJpYS1sYWJlbD0iTGFwIHRpbWVzIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItbG9nLWNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1sb2ctaGVhZCI+U2Vzc2lvbiBsb2c8YnV0dG9uIG9uY2xpY2s9ImNsZWFyTG9nKCkiIHN0eWxlPSJmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdCI+Q2xlYXI8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0idGltZXItbG9nIiByb2xlPSJsaXN0Ij48ZGl2IHN0eWxlPSJwYWRkaW5nOjE2cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7dGV4dC1hbGlnbjpjZW50ZXIiPk5vIHNlc3Npb25zIHlldC48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2Utc2NoZWR1bGVyIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJTY2hlZHVsZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNjaGVkLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1jYWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1jYWwtaGVhZGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0ic2NoZWROYXYoLTEpIiBhcmlhLWxhYmVsPSJQcmV2aW91cyBtb250aCI+PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FsLW1vbnRoIiBpZD0ic2NoZWQtbGFiZWwiIHN0eWxlPSJmbGV4OjE7dGV4dC1hbGlnbjpjZW50ZXIiPjwvc3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0ic2NoZWROYXYoMSkiIGFyaWEtbGFiZWw9Ik5leHQgbW9udGgiPjxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9InNjaGVkLWdyaWQiIHN0eWxlPSJwYWRkaW5nOjAgMCAxMHB4Ij48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjaGVkLXBhbmVsIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1wYW5lbC1oZWFkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluaykiIGlkPSJzY2hlZC1ldi1oZWFkIj5VcGNvbWluZyBldmVudHM8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYnRuLXNtIGJ0bi1hY2NlbnQiIG9uY2xpY2s9Im9wZW5FdmVudE1vZGFsKCkiIHN0eWxlPSJwYWRkaW5nOjVweCAxMnB4O2ZvbnQtc2l6ZToxMXB4Ij4rIE5ldyBldmVudDwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgaWQ9InNjaGVkLWV2ZW50cyIgcm9sZT0ibGlzdCIgYXJpYS1sYWJlbD0iRXZlbnRzIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0Pgpjb25zdCBBU1NJR05FRVM9W3tpOidBSycsYzonIzdDM0FFRCcsbmFtZTonQWxleCBLaW0nfSx7aTonTUInLGM6JyMxQTVGQ0MnLG5hbWU6J01pYSBCZWxsbyd9LHtpOidTTCcsYzonI0ZGQUEwMCcsbmFtZTonU2FtIExlZSd9LHtpOidKVCcsYzonIzIyODYzQScsbmFtZTonSm9yZGFuIFQuJ31dOwpjb25zdCBORVhUPXt0b2RvOidkb2luZycsZG9pbmc6J2RvbmUnLGRvbmU6bnVsbH07CmNvbnN0IE5YVF9MQkw9e3RvZG86J+KGkicsZG9pbmc6J+KckycsZG9uZTpudWxsfTsKY29uc3QgUFJJPXtoaWdoOic8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InZlcnRpY2FsLWFsaWduOi0ycHg7ZmxleC1zaHJpbms6MCI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjUiIGZpbGw9IiNFMDM1MzUiLz48L3N2Zz4nLG1lZDonPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjotMnB4O2ZsZXgtc2hyaW5rOjAiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSI1IiBmaWxsPSIjRkZBQTAwIi8+PC9zdmc+Jyxsb3c6Jzxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0idmVydGljYWwtYWxpZ246LTJweDtmbGV4LXNocmluazowIj48Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iNSIgZmlsbD0iIzJEQTA1QSIvPjwvc3ZnPid9Owpjb25zdCBUT0RBWT0nMjAyNi0wNS0yMCc7CmNvbnN0IE1PTlRIUz1bJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywnSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ107CmNvbnN0IERBWVM9WydTdW4nLCdNb24nLCdUdWUnLCdXZWQnLCdUaHUnLCdGcmknLCdTYXQnXTsKY29uc3QgTU9PRF9DT0xPUlM9WycnLCcjRTA1MDUwJywnI0UwOTA0MCcsJyNDQ0FBMDAnLCcjNTBBMDUwJywnIzIwODBDMCddOwpjb25zdCBDSVJDPTIqTWF0aC5QSSo4ODsKCmxldCBjdXJyZW50Vmlldz0na2FuYmFuJyxwcmlGaWx0ZXI9J2FsbCcscHJvakZpbHRlcj0nYWxsJyxzZWFyY2hTdHI9JycsbmV4dElkPTIwLGRyYWdJZD1udWxsOwpsZXQgcGxhbm5lckRhdGU9bmV3IERhdGUoMjAyNiw0LDEpLHBsYW5uZXJWaWV3PSdtb250aCc7CmxldCBzY2hlZERhdGU9bmV3IERhdGUoMjAyNiw0LDEpLHNlbGVjdGVkRXZlbnRDb2xvcj0nI0ZGQUEwMCc7CmxldCBqb3VybmFsRW50cmllcz1bXSxzZWxlY3RlZE1vb2Q9MzsKbGV0IHRpbWVyTW9kZT0ncG9tb2Rvcm8nLHRpbWVyUnVubmluZz1mYWxzZSx0aW1lckludGVydmFsPW51bGwsdGltZXJTZWNzPTI1KjYwLHRpbWVyVG90YWw9MjUqNjA7CmxldCBwb21TZXNzaW9uPTAscG9tUGhhc2U9J2ZvY3VzJyxzd1NlY3M9MCxsYXBzPVtdLHRpbWVyTG9nPVtdOwoKY29uc3QgU0VFRD1bCiAge2lkOjEsdGl0bGU6J1NldCB1cCBtb25vcmVwbyB3aXRoIFR1cmJvcmVwbyArIE5leHQuanMnLGxhYmVsOidkZXYnLHByaW9yaXR5OidoaWdoJyxzdGF0dXM6J2RvbmUnLHByb2plY3Q6J2RldicsYXNzaWduZWU6MCxkdWU6JzIwMjYtMDUtMTAnLHN1YjozLHN1YkRvbmU6M30sCiAge2lkOjIsdGl0bGU6J0NvbmZpZ3VyZSBTdXBhYmFzZSBwcm9qZWN0ICsgZGF0YWJhc2Ugc2NoZW1hJyxsYWJlbDonZGV2Jyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb25lJyxwcm9qZWN0OidkZXYnLGFzc2lnbmVlOjEsZHVlOicyMDI2LTA1LTEyJyxzdWI6MixzdWJEb25lOjJ9LAogIHtpZDozLHRpdGxlOidCdWlsZCBhdXRoIHNjcmVlbnMnLGxhYmVsOidkZXNpZ24nLHByaW9yaXR5OidoaWdoJyxzdGF0dXM6J2RvbmUnLHByb2plY3Q6J3Byb2R1Y3QnLGFzc2lnbmVlOjIsZHVlOicyMDI2LTA1LTE0JyxzdWI6MyxzdWJEb25lOjN9LAogIHtpZDo0LHRpdGxlOidEZXNpZ24gc3lzdGVtOiBjb2xvdXIgdG9rZW5zIGFuZCBjb21wb25lbnRzJyxsYWJlbDonZGVzaWduJyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb2luZycscHJvamVjdDonYnJhbmQnLGFzc2lnbmVlOjAsZHVlOicyMDI2LTA1LTIwJyxzdWI6NCxzdWJEb25lOjJ9LAogIHtpZDo1LHRpdGxlOidJbXBsZW1lbnQgS2FuYmFuIGJvYXJkIHdpdGggZHJhZy10by1tb3ZlJyxsYWJlbDonZGV2Jyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb2luZycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToxLGR1ZTonMjAyNi0wNS0yMScsc3ViOjMsc3ViRG9uZToxfSwKICB7aWQ6Nix0aXRsZTonTGlzdCB2aWV3IGZvciB0YXNrIHRyYWNrZXInLGxhYmVsOidkZXYnLHByaW9yaXR5OidtZWQnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZTozLGR1ZTonMjAyNi0wNS0yNCcsc3ViOjAsc3ViRG9uZTowfSwKICB7aWQ6Nyx0aXRsZTonUHJvamVjdCBsYWJlbHMsIHByaW9yaXRpZXMgJiBkdWUgZGF0ZXMnLGxhYmVsOidkZXYnLHByaW9yaXR5OidtZWQnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToxLGR1ZTonMjAyNi0wNS0yNicsc3ViOjIsc3ViRG9uZTowfSwKICB7aWQ6OCx0aXRsZTonUFdBIG1hbmlmZXN0ICsgc2VydmljZSB3b3JrZXInLGxhYmVsOidkZXYnLHByaW9yaXR5Oidsb3cnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToyLGR1ZTonMjAyNi0wNS0zMCcsc3ViOjAsc3ViRG9uZTowfSwKXTsKbGV0IHRhc2tzPVsuLi5TRUVEXTsKCmxldCBldmVudHM9WwogIHtpZDoxLHRpdGxlOidEZXNpZ24gcmV2aWV3JyxkYXRlOicyMDI2LTA1LTIwJyx0aW1lOicxMDowMCcsZW5kOicxMTowMCcsY29sb3I6JyM1QjVCRDYnLHJlY3VycmVuY2U6J25vbmUnLG5vdGVzOidSZXZpZXcgUGhhc2UgMiBVSSB3aXRoIHRlYW0nfSwKICB7aWQ6Mix0aXRsZTonU3ByaW50IHBsYW5uaW5nJyxkYXRlOicyMDI2LTA1LTIyJyx0aW1lOicwOTowMCcsZW5kOicxMDozMCcsY29sb3I6JyNGRkFBMDAnLHJlY3VycmVuY2U6J3dlZWtseScsbm90ZXM6Jyd9LAogIHtpZDozLHRpdGxlOidTdGFrZWhvbGRlciBkZW1vJyxkYXRlOicyMDI2LTA1LTI4Jyx0aW1lOicxNDowMCcsZW5kOicxNTowMCcsY29sb3I6JyNFNTM5MzUnLHJlY3VycmVuY2U6J25vbmUnLG5vdGVzOidQaGFzZSAyIG1vZHVsZXMgZGVtbyd9LAogIHtpZDo0LHRpdGxlOicxOjEgd2l0aCBKb3JkYW4nLGRhdGU6JzIwMjYtMDUtMjcnLHRpbWU6JzExOjAwJyxlbmQ6JzExOjMwJyxjb2xvcjonIzIyODYzQScscmVjdXJyZW5jZTond2Vla2x5Jyxub3RlczonJ30sCiAge2lkOjUsdGl0bGU6J1Byb2R1Y3QgcmV0cm9zcGVjdGl2ZScsZGF0ZTonMjAyNi0wNi0wNScsdGltZTonMTU6MDAnLGVuZDonMTY6MDAnLGNvbG9yOicjRkY2QjJCJyxyZWN1cnJlbmNlOidtb250aGx5Jyxub3RlczonJ30sCl07CmxldCBuZXh0RXZlbnRJZD0xMDsKCi8qIOKVkOKVkOKVkCBUQVNLUyDilZDilZDilZAgKi8KZnVuY3Rpb24gZ2V0RmlsdGVyZWQoKXtyZXR1cm4gdGFza3MuZmlsdGVyKHQ9PntpZihwcm9qRmlsdGVyIT09J2FsbCcmJnQucHJvamVjdCE9PXByb2pGaWx0ZXIpcmV0dXJuIGZhbHNlO2lmKHByaUZpbHRlciE9PSdhbGwnJiZ0LnByaW9yaXR5IT09cHJpRmlsdGVyKXJldHVybiBmYWxzZTtpZihzZWFyY2hTdHImJiF0LnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyLnRvTG93ZXJDYXNlKCkpKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTt9KTt9CmZ1bmN0aW9uIHJlbmRlcigpewogIGNvbnN0IGY9Z2V0RmlsdGVyZWQoKSx0b2RvPWYuZmlsdGVyKHQ9PnQuc3RhdHVzPT09J3RvZG8nKSxkb2luZz1mLmZpbHRlcih0PT50LnN0YXR1cz09PSdkb2luZycpLGRvbmU9Zi5maWx0ZXIodD0+dC5zdGF0dXM9PT0nZG9uZScpOwogIFsnaGMtdG9kbycsJ2hjLWRvaW5nJywnaGMtZG9uZScsJ3MtdG90YWwnLCdzLXRvZG8tYycsJ3MtZG9pbmctYycsJ3MtZG9uZS1jJ10uZm9yRWFjaChpZD0+ewogICAgY29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXtbJ2hjLXRvZG8nXTp0b2RvLmxlbmd0aCxbJ2hjLWRvaW5nJ106ZG9pbmcubGVuZ3RoLFsnaGMtZG9uZSddOmRvbmUubGVuZ3RoLFsncy10b3RhbCddOmYubGVuZ3RoLFsncy10b2RvLWMnXTp0b2RvLmxlbmd0aCxbJ3MtZG9pbmctYyddOmRvaW5nLmxlbmd0aCxbJ3MtZG9uZS1jJ106ZG9uZS5sZW5ndGh9W2lkXTsKICB9KTsKICBjb25zdCB0Yz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFzay1jb3VudCcpO2lmKHRjKXRjLnRleHRDb250ZW50PXRhc2tzLmxlbmd0aDsKICBpZihjdXJyZW50Vmlldz09PSdrYW5iYW4nKXsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYW5iYW4tYm9hcmQnKS5zdHlsZS5kaXNwbGF5PSdncmlkJzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaXN0LWJvYXJkJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICByZW5kZXJDb2woJ2NvbC10b2RvJyx0b2RvLCd0b2RvJyk7cmVuZGVyQ29sKCdjb2wtZG9pbmcnLGRvaW5nLCdkb2luZycpO3JlbmRlckNvbCgnY29sLWRvbmUnLGRvbmUsJ2RvbmUnKTsKICB9ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2FuYmFuLWJvYXJkJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpc3QtYm9hcmQnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7cmVuZGVyTGlzdChmKTt9CiAgcG9wdWxhdGVUaW1lclRhc2tTZWwoKTsKfQpmdW5jdGlvbiByZW5kZXJDb2woaWQsaXRlbXMsY29sKXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuaW5uZXJIVE1MPScnOwogIGlmKCFpdGVtcy5sZW5ndGgpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5zdHlsZS5jc3NUZXh0PSdwYWRkaW5nOjEycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluazQpO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEuNSc7ZS50ZXh0Q29udGVudD1jb2w9PT0nZG9uZSc/J05vdGhpbmcgZG9uZSB5ZXQhJzonQWxsIGNsZWFyIGhlcmUhJztlbC5hcHBlbmRDaGlsZChlKTtyZXR1cm47fQogIGl0ZW1zLmZvckVhY2godD0+ZWwuYXBwZW5kQ2hpbGQobWFrZUNhcmQodCxjb2wpKSk7Cn0KZnVuY3Rpb24gbWFrZUNhcmQodCxjb2wpewogIGNvbnN0IGE9QVNTSUdORUVTW3QuYXNzaWduZWUlNF0sb3ZlcmR1ZT10LmR1ZSYmdC5kdWU8VE9EQVkmJmNvbCE9PSdkb25lJyxwY3Q9dC5zdWI+MD9NYXRoLnJvdW5kKCh0LnN1YkRvbmUvdC5zdWIpKjEwMCk6MDsKICBjb25zdCBjYXJkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2NhcmQuY2xhc3NOYW1lPSdjYXJkJztjYXJkLnNldEF0dHJpYnV0ZSgnZHJhZ2dhYmxlJywndHJ1ZScpO2NhcmQuc2V0QXR0cmlidXRlKCdyb2xlJywnbGlzdGl0ZW0nKTtjYXJkLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsYFRhc2s6ICR7dC50aXRsZX0uICR7dC5wcmlvcml0eX0gcHJpb3JpdHkuYCk7Y2FyZC5kYXRhc2V0LmlkPXQuaWQ7CiAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLGU9PntkcmFnSWQ9dC5pZDtjYXJkLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJyk7ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0nbW92ZSc7ZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC9wbGFpbicsdC5pZCk7fSk7CiAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW5kJywoKT0+e2NhcmQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ2dpbmcnKTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29sJykuZm9yRWFjaChjPT5jLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWctb3ZlcicpKTt9KTsKICBjYXJkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iY2FyZC10b3AiPjxkaXYgY2xhc3M9ImNhcmQtbGFiZWxzIj48c3BhbiBjbGFzcz0ibGFiZWwgbC0ke3QubGFiZWx9Ij4ke3QubGFiZWx9PC9zcGFuPjwvZGl2PjxzcGFuIGFyaWEtbGFiZWw9IiR7dC5wcmlvcml0eX0gcHJpb3JpdHkiPiR7UFJJW3QucHJpb3JpdHldfHxQUkkubWVkfTwvc3Bhbj48L2Rpdj48cCBjbGFzcz0iY2FyZC10aXRsZSI+JHt0LnRpdGxlfTwvcD48ZGl2IGNsYXNzPSJjYXJkLWZvb3QiPjxkaXYgY2xhc3M9ImNhcmQtbWV0YS1sZWZ0Ij48ZGl2IGNsYXNzPSJhc3NpZ25lZSIgc3R5bGU9ImJhY2tncm91bmQ6JHthLmN9IiB0aXRsZT0iJHthLm5hbWV9Ij4ke2EuaX08L2Rpdj4ke3Quc3ViPjA/YDxkaXYgY2xhc3M9InN1YnRhc2stcHJvZyI+JHt0LnN1YkRvbmV9LyR7dC5zdWJ9PGRpdiBjbGFzcz0icHJvZy1iYXIiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIke3BjdH0iIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCI+PGRpdiBjbGFzcz0icHJvZy1maWxsIiBzdHlsZT0id2lkdGg6JHtwY3R9JSI+PC9kaXY+PC9kaXY+PC9kaXY+YDonJ308L2Rpdj4ke3QuZHVlP2A8c3BhbiBjbGFzcz0iZHVlLWRhdGUke292ZXJkdWU/JyBvdmVyZHVlJzonJ30iPiR7dC5kdWUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKX08L3NwYW4+YDonJ308L2Rpdj4ke05FWFRbY29sXT9gPGJ1dHRvbiBjbGFzcz0ibW92ZS1idG4iIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO21vdmVUYXNrKCR7dC5pZH0sJyR7TkVYVFtjb2xdfScpIiBhcmlhLWxhYmVsPSJNb3ZlIHRvICR7TkVYVFtjb2xdPT09J2RvaW5nJz8nSW4gcHJvZ3Jlc3MnOidEb25lJ30iPiR7TlhUX0xCTFtjb2xdfTwvYnV0dG9uPmA6Jyd9YDsKICByZXR1cm4gY2FyZDsKfQpmdW5jdGlvbiByZW5kZXJMaXN0KGl0ZW1zKXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGlzdC1yb3dzJyk7ZWwuaW5uZXJIVE1MPScnOwogIGNvbnN0IHNjbHM9e3RvZG86J3MtdG9kbycsZG9pbmc6J3MtZG9pbmcnLGRvbmU6J3MtZG9uZSd9LHN0eHQ9e3RvZG86J1RvIGRvJyxkb2luZzonSW4gcHJvZ3Jlc3MnLGRvbmU6J0RvbmUnfTsKICBpdGVtcy5mb3JFYWNoKHQ9Pntjb25zdCByb3c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7cm93LmNsYXNzTmFtZT0nbGlzdC1yb3cnO3Jvdy5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCdsaXN0aXRlbScpO2NvbnN0IGE9QVNTSUdORUVTW3QuYXNzaWduZWUlNF0sb3ZlcmR1ZT10LmR1ZSYmdC5kdWU8VE9EQVkmJnQuc3RhdHVzIT09J2RvbmUnO3Jvdy5pbm5lckhUTUw9YDxzcGFuIGNsYXNzPSIke3Quc3RhdHVzPT09J2RvbmUnPydsaXN0LWRvbmUnOicnfSI+JHt0LnRpdGxlfTwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWNoaXAgJHtzY2xzW3Quc3RhdHVzXX0iPiR7c3R4dFt0LnN0YXR1c119PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4Ij4ke1BSSVt0LnByaW9yaXR5XXx8UFJJLm1lZH0gJHt0LnByaW9yaXR5fTwvc3Bhbj48c3BhbiBjbGFzcz0iJHtvdmVyZHVlPydkdWUtZGF0ZSBvdmVyZHVlJzonJ30iPiR7dC5kdWU/dC5kdWUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKTon4oCUJ308L3NwYW4+PHNwYW4+PGRpdiBjbGFzcz0iYXNzaWduZWUiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7YS5jfTtkaXNwbGF5OmlubGluZS1mbGV4IiB0aXRsZT0iJHthLm5hbWV9Ij4ke2EuaX08L2Rpdj48L3NwYW4+YDtlbC5hcHBlbmRDaGlsZChyb3cpO30pOwp9CmZ1bmN0aW9uIG1vdmVUYXNrKGlkLHRvKXtjb25zdCB0PXRhc2tzLmZpbmQoeD0+eC5pZD09PWlkKTtpZih0KXt0LnN0YXR1cz10bztyZW5kZXIoKTt9fQpmdW5jdGlvbiBvbkRyYWdPdmVyKGUsY29sKXtlLnByZXZlbnREZWZhdWx0KCk7ZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0nbW92ZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbC13cmFwLScrY29sKS5jbGFzc0xpc3QuYWRkKCdkcmFnLW92ZXInKTt9CmZ1bmN0aW9uIG9uRHJhZ0xlYXZlKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbC13cmFwLScrY29sKS5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnLW92ZXInKTt9CmZ1bmN0aW9uIG9uRHJvcChlLGNvbCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2wtd3JhcC0nK2NvbCkuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZy1vdmVyJyk7Y29uc3QgaWQ9cGFyc2VJbnQoZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dC9wbGFpbicpfHxkcmFnSWQpO2NvbnN0IHQ9dGFza3MuZmluZCh4PT54LmlkPT09aWQpO2lmKHQpe3Quc3RhdHVzPWNvbDtyZW5kZXIoKTt9ZHJhZ0lkPW51bGw7fQpmdW5jdGlvbiBzZXRWaWV3KHYsYnRuKXtjdXJyZW50Vmlldz12O2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy52dC1idG4nKS5mb3JFYWNoKGI9PntiLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO2Iuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCdmYWxzZScpO30pO2J0bi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtidG4uc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCd0cnVlJyk7cmVuZGVyKCk7fQpmdW5jdGlvbiBmaWx0ZXJQcmlvcml0eShwLGVsKXtwcmlGaWx0ZXI9cDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmlsdGVyLXBpbGwnKS5mb3JFYWNoKHg9Pnt4LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZS1maWx0ZXInKTt4LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTt9KTtlbC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUtZmlsdGVyJyk7ZWwuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCd0cnVlJyk7cmVuZGVyKCk7fQpmdW5jdGlvbiBmaWx0ZXJQcm9qZWN0KHAsZWwpe3Byb2pGaWx0ZXI9cDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucHJvai1idG4nKS5mb3JFYWNoKHg9Pnt4LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZS1wcm9qJyk7eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ2ZhbHNlJyk7fSk7ZWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlLXByb2onKTtlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ3RydWUnKTtyZW5kZXIoKTt9CmZ1bmN0aW9uIGZpbHRlclNlYXJjaCh2KXtzZWFyY2hTdHI9djtyZW5kZXIoKTt9CmZ1bmN0aW9uIG9wZW5Nb2RhbCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXNrLW1vZGFsJykuY2xhc3NMaXN0LmFkZCgnb3BlbicpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXRpdGxlJykuZm9jdXMoKTt9CmZ1bmN0aW9uIGNsb3NlTW9kYWwoKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFzay1tb2RhbCcpLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTt9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXNrLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGU9PntpZihlLnRhcmdldD09PWUuY3VycmVudFRhcmdldCljbG9zZU1vZGFsKCk7fSk7CmZ1bmN0aW9uIHNhdmVUYXNrKCl7Y29uc3QgdGl0bGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ20tdGl0bGUnKS52YWx1ZS50cmltKCk7aWYoIXRpdGxlKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS10aXRsZScpLmZvY3VzKCk7cmV0dXJuO310YXNrcy5wdXNoKHtpZDpuZXh0SWQrKyx0aXRsZSxsYWJlbDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS1sYWJlbCcpLnZhbHVlLHByaW9yaXR5OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXByaW9yaXR5JykudmFsdWUsc3RhdHVzOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXN0YXR1cycpLnZhbHVlLHByb2plY3Q6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ20tcHJvamVjdCcpLnZhbHVlLGFzc2lnbmVlOnBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLWFzc2lnbmVlJykudmFsdWUpLGR1ZTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS1kdWUnKS52YWx1ZXx8bnVsbCxzdWI6MCxzdWJEb25lOjB9KTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS10aXRsZScpLnZhbHVlPScnO2Nsb3NlTW9kYWwoKTtyZW5kZXIoKTt9CmZ1bmN0aW9uIG9wZW5JbmxpbmVGb3JtKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FmLScrY29sKS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FpLScrY29sKS5mb2N1cygpO30KZnVuY3Rpb24gY2xvc2VJbmxpbmVGb3JtKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FmLScrY29sKS5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FpLScrY29sKS52YWx1ZT0nJzt9CmZ1bmN0aW9uIGFkZElubGluZVRhc2soY29sKXtjb25zdCB0aXRsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncWktJytjb2wpLnZhbHVlLnRyaW0oKTtpZighdGl0bGUpcmV0dXJuO3Rhc2tzLnB1c2goe2lkOm5leHRJZCsrLHRpdGxlLGxhYmVsOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxbC0nK2NvbCkudmFsdWUscHJpb3JpdHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FwLScrY29sKS52YWx1ZSxzdGF0dXM6Y29sLHByb2plY3Q6cHJvakZpbHRlcj09PSdhbGwnPydkZXYnOnByb2pGaWx0ZXIsYXNzaWduZWU6TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpLGR1ZTpudWxsLHN1YjowLHN1YkRvbmU6MH0pO2Nsb3NlSW5saW5lRm9ybShjb2wpO3JlbmRlcigpO30KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnFmLWlucHV0JykuZm9yRWFjaChlbD0+e2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLGU9Pntjb25zdCBjb2w9ZWwuaWQucmVwbGFjZSgncWktJywnJyk7aWYoZS5rZXk9PT0nRW50ZXInJiYhZS5zaGlmdEtleSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2FkZElubGluZVRhc2soY29sKTt9aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZUlubGluZUZvcm0oY29sKTt9KTt9KTsKZnVuY3Rpb24gcG9wdWxhdGVUaW1lclRhc2tTZWwoKXtjb25zdCBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXRhc2stc2VsJyk7aWYoIXNlbClyZXR1cm47Y29uc3QgY3VyPXNlbC52YWx1ZTtzZWwuaW5uZXJIVE1MPSc8b3B0aW9uIHZhbHVlPSIiPkxpbmsgdG8gYSB0YXNrIChvcHRpb25hbCk8L29wdGlvbj4nO3Rhc2tzLmZpbHRlcih0PT50LnN0YXR1cyE9PSdkb25lJykuZm9yRWFjaCh0PT57Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtvLnZhbHVlPXQuaWQ7by50ZXh0Q29udGVudD10LnRpdGxlLnNsaWNlKDAsNDApO3NlbC5hcHBlbmRDaGlsZChvKTt9KTtzZWwudmFsdWU9Y3VyO30KCi8qIOKVkOKVkOKVkCBEQVNIQk9BUkQg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHJlbmRlckRhc2hib2FyZCgpewogIGNvbnN0IGhyPW5ldyBEYXRlKCkuZ2V0SG91cnMoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFzaC1oJykudGV4dENvbnRlbnQ9KGhyPDEyPydHb29kIG1vcm5pbmcnOmhyPDE3PydHb29kIGFmdGVybm9vbic6aHI8MjE/J0dvb2QgZXZlbmluZyc6J0dvb2QgbmlnaHQnKSsnLCBBbGV4JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFzaC1zdWInKS50ZXh0Q29udGVudD1uZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHt3ZWVrZGF5Oidsb25nJyx5ZWFyOidudW1lcmljJyxtb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOwogIGNvbnN0IHRvZGF5VGFza3M9dGFza3MuZmlsdGVyKHQ9PnQuZHVlPT09VE9EQVkpLHRvZGF5RG9uZT10b2RheVRhc2tzLmZpbHRlcih0PT50LnN0YXR1cz09PSdkb25lJykubGVuZ3RoOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRvZGF5LW4nKS50ZXh0Q29udGVudD10b2RheVRhc2tzLmxlbmd0aDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC10b2RheS1kJykudGV4dENvbnRlbnQ9dG9kYXlEb25lKycgZG9uZSc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QtdG9kYXktbCcpLnRleHRDb250ZW50PSd0YXNrJysodG9kYXlUYXNrcy5sZW5ndGghPT0xPydzJzonJykrJyBkdWUgdG9kYXknOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRvZGF5LXAnKS5zdHlsZS53aWR0aD0odG9kYXlUYXNrcy5sZW5ndGg/TWF0aC5yb3VuZCgodG9kYXlEb25lL3RvZGF5VGFza3MubGVuZ3RoKSoxMDApOjApKyclJzsKICBjb25zdCB0bD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC10YXNrcycpO3RsLmlubmVySFRNTD0nJzsKICBpZighdG9kYXlUYXNrcy5sZW5ndGgpe3RsLmlubmVySFRNTD0nPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7cGFkZGluZzo0cHggMCI+Tm8gdGFza3MgZHVlIHRvZGF5LjwvZGl2Pic7fQogIGVsc2UgdG9kYXlUYXNrcy5zbGljZSgwLDUpLmZvckVhY2godD0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2Rhc2gtbGlzdC1pdGVtJztkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iZGFzaC1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7dC5zdGF0dXM9PT0nZG9uZSc/JyMyMjg2M0EnOnQucHJpb3JpdHk9PT0naGlnaCc/JyNFMDM1MzUnOid2YXIoLS1hY2NlbnQpJ30iPjwvZGl2PjxzcGFuIHN0eWxlPSIke3Quc3RhdHVzPT09J2RvbmUnPyd0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO2NvbG9yOnZhcigtLWluazQpJzonJ30iPiR7dC50aXRsZX08L3NwYW4+YDt0bC5hcHBlbmRDaGlsZChkKTt9KTsKICBjb25zdCBldkxpc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QtZXZlbnRzJyk7ZXZMaXN0LmlubmVySFRNTD0nJzsKICBjb25zdCB1cGNvbWluZz1ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT49VE9EQVkpLnNvcnQoKGEsYik9PmEuZGF0ZS5sb2NhbGVDb21wYXJlKGIuZGF0ZSkpLnNsaWNlKDAsMyk7CiAgaWYoIXVwY29taW5nLmxlbmd0aCl7ZXZMaXN0LmlubmVySFRNTD0nPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLXRvcDo0cHgiPk5vIHVwY29taW5nIGV2ZW50cy48L2Rpdj4nO30KICBlbHNlIHVwY29taW5nLmZvckVhY2goZXY9Pntjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2QuY2xhc3NOYW1lPSdkYXNoLWxpc3QtaXRlbSc7ZC5pbm5lckhUTUw9YDxkaXYgY2xhc3M9ImRhc2gtZG90IiBzdHlsZT0iYmFja2dyb3VuZDoke2V2LmNvbG9yfSI+PC9kaXY+PHNwYW4gc3R5bGU9ImZsZXg6MSI+JHtldi50aXRsZX08L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpIj4ke2V2LmRhdGUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKX08L3NwYW4+YDtldkxpc3QuYXBwZW5kQ2hpbGQoZCk7fSk7CiAgY29uc3Qgc3RyZWFrPWNhbGNTdHJlYWsoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC1zdHJlYWsnKS50ZXh0Q29udGVudD1zdHJlYWs7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Qtc3RyZWFrLXMnKS50ZXh0Q29udGVudD1zdHJlYWs/c3RyZWFrKycgZGF5Jysoc3RyZWFrIT09MT8ncyc6JycpKycgaW4gYSByb3chJzonU3RhcnQgd3JpdGluZyB0b2RheSEnOwogIGNvbnN0IGxhc3Q9dGltZXJMb2dbdGltZXJMb2cubGVuZ3RoLTFdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRpbWVyJykuaW5uZXJIVE1MPWxhc3Q/YDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rKSI+JHtsYXN0LmxhYmVsfTwvc3Bhbj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpIj4ke2xhc3QuZHVyYXRpb259IMK3ICR7bGFzdC50aW1lfTwvc3Bhbj5gOidObyBzZXNzaW9ucyB5ZXQuJzsKfQoKLyog4pWQ4pWQ4pWQIFBMQU5ORVIg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHBsYW5uZXJOYXYoZGlyKXtwbGFubmVyRGF0ZT1uZXcgRGF0ZShwbGFubmVyRGF0ZS5nZXRGdWxsWWVhcigpLHBsYW5uZXJEYXRlLmdldE1vbnRoKCkrZGlyLDEpO3JlbmRlclBsYW5uZXIoKTt9CmZ1bmN0aW9uIHNldFBsYW5uZXJWaWV3KHYsYnRuKXtwbGFubmVyVmlldz12O2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYWwtdnQnKS5mb3JFYWNoKGI9PmIuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpO2J0bi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtyZW5kZXJQbGFubmVyKCk7fQpmdW5jdGlvbiByZW5kZXJQbGFubmVyKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItbGFiZWwnKS50ZXh0Q29udGVudD1NT05USFNbcGxhbm5lckRhdGUuZ2V0TW9udGgoKV0rJyAnK3BsYW5uZXJEYXRlLmdldEZ1bGxZZWFyKCk7CiAgaWYocGxhbm5lclZpZXc9PT0nbW9udGgnKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhbm5lci1tb250aCcpLnN0eWxlLmRpc3BsYXk9Jyc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItd2VlaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnO3JlbmRlclBsYW5uZXJNb250aCgpO30KICBlbHNle2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwbGFubmVyLW1vbnRoJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItd2VlaycpLnN0eWxlLmRpc3BsYXk9Jyc7cmVuZGVyUGxhbm5lcldlZWsoKTt9Cn0KZnVuY3Rpb24gcmVuZGVyUGxhbm5lck1vbnRoKCl7CiAgY29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItbW9udGgnKSx5cj1wbGFubmVyRGF0ZS5nZXRGdWxsWWVhcigpLG1vPXBsYW5uZXJEYXRlLmdldE1vbnRoKCk7CiAgY29uc3QgZmlyc3Q9bmV3IERhdGUoeXIsbW8sMSkuZ2V0RGF5KCksZGltPW5ldyBEYXRlKHlyLG1vKzEsMCkuZ2V0RGF0ZSgpOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJjYWwtZ3JpZCI+JzsKICBEQVlTLmZvckVhY2goZD0+e2grPWA8ZGl2IGNsYXNzPSJjYWwtZG93Ij4ke2R9PC9kaXY+YDt9KTsKICBmb3IobGV0IGk9MDtpPGZpcnN0O2krKyl7Y29uc3QgZD1uZXcgRGF0ZSh5cixtbywxLWZpcnN0K2kpO2grPWA8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkLmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBmb3IobGV0IGQ9MTtkPD1kaW07ZCsrKXsKICAgIGNvbnN0IGRzPWAke3lyfS0ke1N0cmluZyhtbysxKS5wYWRTdGFydCgyLCcwJyl9LSR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsJzAnKX1gLGlzVG9kYXk9ZHM9PT1UT0RBWTsKICAgIGNvbnN0IGR0PXRhc2tzLmZpbHRlcih0PT50LmR1ZT09PWRzKSxkZT1ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT09PWRzKTsKICAgIGgrPWA8ZGl2IGNsYXNzPSJjYWwtZGF5JHtpc1RvZGF5PycgdG9kYXknOicnfSI+PGRpdiBjbGFzcz0iY2FsLWRheS1udW0iPiR7ZH08L2Rpdj48ZGl2IGNsYXNzPSJjYWwtZGF5LXRhc2tzIj5gOwogICAgZHQuc2xpY2UoMCwyKS5mb3JFYWNoKHQ9PntoKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stcGlsbCBwcmktJHt0LnByaW9yaXR5fSIgdGl0bGU9IiR7dC50aXRsZX0iPiR7dC50aXRsZS5zbGljZSgwLDE2KX0ke3QudGl0bGUubGVuZ3RoPjE2PyfigKYnOicnfTwvZGl2PmA7fSk7CiAgICBkZS5zbGljZSgwLDEpLmZvckVhY2goZXY9PntoKz1gPGRpdiBjbGFzcz0iZXZlbnQtcGlsbCIgc3R5bGU9ImJhY2tncm91bmQ6JHtldi5jb2xvcn0yMjtjb2xvcjoke2V2LmNvbG9yfTtib3JkZXI6MXB4IHNvbGlkICR7ZXYuY29sb3J9NDQiPiR7ZXYudGl0bGUuc2xpY2UoMCwxNCl94oCmPC9kaXY+YDt9KTsKICAgIGNvbnN0IG1vcmU9KGR0Lmxlbmd0aC0yKSsoZGUubGVuZ3RoLTEpO2lmKG1vcmU+MCloKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stbW9yZSI+KyR7bW9yZX0gbW9yZTwvZGl2PmA7CiAgICBoKz0nPC9kaXY+PC9kaXY+JzsKICB9CiAgY29uc3QgbGFzdD1uZXcgRGF0ZSh5cixtbyxkaW0pLmdldERheSgpOwogIGZvcihsZXQgaT0xO2k8Ny1sYXN0O2krKyl7Y29uc3QgZD1uZXcgRGF0ZSh5cixtbysxLGkpO2grPWA8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkLmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBoKz0nPC9kaXY+JztlbC5pbm5lckhUTUw9aDsKfQpmdW5jdGlvbiByZW5kZXJQbGFubmVyV2VlaygpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwbGFubmVyLXdlZWsnKTsKICBjb25zdCBiYXNlPXBsYW5uZXJEYXRlLGRvdz1iYXNlLmdldERheSgpO2NvbnN0IHdzPW5ldyBEYXRlKGJhc2UpO3dzLnNldERhdGUoYmFzZS5nZXREYXRlKCktZG93KTsKICBjb25zdCBIT1VSUz1bJzhhbScsJzlhbScsJzEwYW0nLCcxMWFtJywnMTJwbScsJzFwbScsJzJwbScsJzNwbScsJzRwbScsJzVwbScsJzZwbSddOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJ3ZWVrLWdyaWQiPjxkaXYgY2xhc3M9IndlZWstaGVhZCIgc3R5bGU9ImdyaWQtcm93OjE7YmFja2dyb3VuZDp2YXIoLS1iZzIpIj48L2Rpdj4nOwogIGZvcihsZXQgZD0wO2Q8NztkKyspe2NvbnN0IGR0PW5ldyBEYXRlKHdzKTtkdC5zZXREYXRlKHdzLmdldERhdGUoKStkKTtjb25zdCBkcz1gJHtkdC5nZXRGdWxsWWVhcigpfS0ke1N0cmluZyhkdC5nZXRNb250aCgpKzEpLnBhZFN0YXJ0KDIsJzAnKX0tJHtTdHJpbmcoZHQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCcwJyl9YDtjb25zdCBpc1RkPWRzPT09VE9EQVk7aCs9YDxkaXYgY2xhc3M9IndlZWstaGVhZCI+PGRpdiBjbGFzcz0id2Vlay1oZWFkLWRheSI+JHtEQVlTW2RdfTwvZGl2PjxkaXYgY2xhc3M9IndlZWstaGVhZC1kYXRlJHtpc1RkPycgdG9kYXktZCc6Jyd9Ij4ke2R0LmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBIT1VSUy5mb3JFYWNoKChocixoaSk9PnsKICAgIGgrPWA8ZGl2IGNsYXNzPSJ3ZWVrLXRpbWUtY29sIj48c3BhbiBjbGFzcz0id2Vlay10aW1lLWxhYmVsIj4ke2hyfTwvc3Bhbj48L2Rpdj5gOwogICAgZm9yKGxldCBkPTA7ZDw3O2QrKyl7Y29uc3QgZHQ9bmV3IERhdGUod3MpO2R0LnNldERhdGUod3MuZ2V0RGF0ZSgpK2QpO2NvbnN0IGRzPWAke2R0LmdldEZ1bGxZZWFyKCl9LSR7U3RyaW5nKGR0LmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwnMCcpfS0ke1N0cmluZyhkdC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsJzAnKX1gO2NvbnN0IGlzVGQ9ZHM9PT1UT0RBWTtjb25zdCBkdDI9dGFza3MuZmlsdGVyKHQ9PnQuZHVlPT09ZHMmJnQuc3RhdHVzIT09J2RvbmUnKTtoKz1gPGRpdiBjbGFzcz0id2Vlay1jZWxsJHtpc1RkPycgdG9kYXktY29sJzonJ30iPiR7aGk9PT0wP2R0Mi5tYXAodD0+YDxkaXYgY2xhc3M9IndlZWstdGFzay1ibG9jayI+JHt0LnRpdGxlLnNsaWNlKDAsMTgpfTwvZGl2PmApLmpvaW4oJycpOicnfTwvZGl2PmA7fQogIH0pOwogIGgrPSc8L2Rpdj4nO2VsLmlubmVySFRNTD1oOwp9CgovKiDilZDilZDilZAgSk9VUk5BTCDilZDilZDilZAgKi8KYXN5bmMgZnVuY3Rpb24gbG9hZEpvdXJuYWwoKXsKICB0cnl7Y29uc3Qgcj1hd2FpdCB3aW5kb3cuc3RvcmFnZS5nZXQoJ3Rrc19qb3VybmFsJyk7aWYocilqb3VybmFsRW50cmllcz1KU09OLnBhcnNlKHIudmFsdWUpO31jYXRjaChlKXtqb3VybmFsRW50cmllcz1bXTt9CiAgaWYoIWpvdXJuYWxFbnRyaWVzLmxlbmd0aCl7am91cm5hbEVudHJpZXM9WwogICAge2RhdGU6JzIwMjYtMDUtMTknLG1vb2Q6NCx0ZXh0OidIYWQgYSBwcm9kdWN0aXZlIG1vcm5pbmcuIEZpbmlzaGVkIHRoZSBkZXNpZ24gdG9rZW5zIGFuZCBwdXNoZWQgdGhlIGJyYW5jaC4gRmVlbGluZyBnb29kIGFib3V0IHRoZSBkaXJlY3Rpb24uJyx0YWdzOid3b3JrLGRlc2lnbicsd29yZHM6MTl9LAogICAge2RhdGU6JzIwMjYtMDUtMTgnLG1vb2Q6Myx0ZXh0OidTbG93ZXIgZGF5IHRoYW4gcGxhbm5lZC4gU3ByaW50IHBsYW5uaW5nIHRvb2sgbG9uZ2VyIHRoYW4gZXhwZWN0ZWQgYnV0IHdlIGdvdCBhbGlnbmVkLicsdGFnczond29yayx0ZWFtJyx3b3JkczoxNH0sCiAgICB7ZGF0ZTonMjAyNi0wNS0xNycsbW9vZDo1LHRleHQ6J0dyZWF0IGRheSEgTGF1bmNoZWQgdGhlIGFscGhhIHRvIHRoZSBpbnRlcm5hbCB0ZWFtLiBGZWVkYmFjayB3YXMgb3ZlcndoZWxtaW5nbHkgcG9zaXRpdmUuJyx0YWdzOidsYXVuY2gsd29yaycsd29yZHM6MTN9LAogIF07fQogIHJlbmRlckpvdXJuYWwoKTsKfQphc3luYyBmdW5jdGlvbiBzYXZlSm91cm5hbEVudHJ5KCl7CiAgY29uc3QgdGV4dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1ib2R5JykudmFsdWUudHJpbSgpO2lmKCF0ZXh0KXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1ib2R5JykuZm9jdXMoKTtyZXR1cm47fQogIGNvbnN0IHRhZ3M9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtdGFncycpLnZhbHVlLnRyaW0oKTtjb25zdCB3b3Jkcz10ZXh0LnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoOwogIGNvbnN0IGV4aXN0aW5nPWpvdXJuYWxFbnRyaWVzLmZpbmRJbmRleChlPT5lLmRhdGU9PT1UT0RBWSk7CiAgY29uc3QgZW50cnk9e2RhdGU6VE9EQVksbW9vZDpzZWxlY3RlZE1vb2QsdGV4dCx0YWdzLHdvcmRzfTsKICBpZihleGlzdGluZz49MClqb3VybmFsRW50cmllc1tleGlzdGluZ109ZW50cnk7ZWxzZSBqb3VybmFsRW50cmllcy51bnNoaWZ0KGVudHJ5KTsKICBqb3VybmFsRW50cmllcy5zb3J0KChhLGIpPT5iLmRhdGUubG9jYWxlQ29tcGFyZShhLmRhdGUpKTsKICB0cnl7YXdhaXQgd2luZG93LnN0b3JhZ2Uuc2V0KCd0a3Nfam91cm5hbCcsSlNPTi5zdHJpbmdpZnkoam91cm5hbEVudHJpZXMpKTt9Y2F0Y2goZSl7fQogIHJlbmRlckpvdXJuYWwoKTsKICBjb25zdCBidG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpvdXJuYWwtc2F2ZS1idG4nKTtidG4udGV4dENvbnRlbnQ9J1NhdmVkIOKckyc7YnRuLnN0eWxlLmJhY2tncm91bmQ9J3ZhcigtLWhpKSc7c2V0VGltZW91dCgoKT0+e2J0bi50ZXh0Q29udGVudD0nU2F2ZSBlbnRyeSc7YnRuLnN0eWxlLmJhY2tncm91bmQ9Jyc7fSwyMDAwKTsKfQpmdW5jdGlvbiBjYWxjU3RyZWFrKCl7CiAgaWYoIWpvdXJuYWxFbnRyaWVzLmxlbmd0aClyZXR1cm4gMDsKICBjb25zdCBzb3J0ZWQ9Wy4uLmpvdXJuYWxFbnRyaWVzXS5zb3J0KChhLGIpPT5iLmRhdGUubG9jYWxlQ29tcGFyZShhLmRhdGUpKTsKICBsZXQgc3RyZWFrPTAsY2hlY2s9bmV3IERhdGUoVE9EQVkpOwogIGZvcihjb25zdCBlIG9mIHNvcnRlZCl7Y29uc3QgZWQ9bmV3IERhdGUoZS5kYXRlKTtjb25zdCBkaWZmPU1hdGgucm91bmQoKGNoZWNrLWVkKS8oODY0ZTUpKTtpZihkaWZmPT09MCl7c3RyZWFrKys7Y2hlY2suc2V0RGF0ZShjaGVjay5nZXREYXRlKCktMSk7fWVsc2UgaWYoZGlmZj09PTEpe3N0cmVhaysrO2NoZWNrPWVkO2NoZWNrLnNldERhdGUoY2hlY2suZ2V0RGF0ZSgpLTEpO31lbHNlIGJyZWFrO30KICByZXR1cm4gc3RyZWFrOwp9CmZ1bmN0aW9uIHJlbmRlckpvdXJuYWwoKXsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1kYXRlJykudGV4dENvbnRlbnQ9bmV3IERhdGUoVE9EQVkrJ1QwMDowMDowMCcpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHt3ZWVrZGF5Oidsb25nJyx5ZWFyOidudW1lcmljJyxtb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOwogIGNvbnN0IHRvZGF5RW50cnk9am91cm5hbEVudHJpZXMuZmluZChlPT5lLmRhdGU9PT1UT0RBWSk7CiAgaWYodG9kYXlFbnRyeSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtYm9keScpLnZhbHVlPXRvZGF5RW50cnkudGV4dDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC10YWdzJykudmFsdWU9dG9kYXlFbnRyeS50YWdzfHwnJztkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd29yZC1jb3VudCcpLnRleHRDb250ZW50PXRvZGF5RW50cnkud29yZHMrJyB3b3Jkcyc7c2VsZWN0TW9vZFNpbGVudCh0b2RheUVudHJ5Lm1vb2QpO30KICBjb25zdCBzdHJlYWs9Y2FsY1N0cmVhaygpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqLXN0cmVhaycpLnRleHRDb250ZW50PXN0cmVhazsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnai1zdHJlYWstcycpLnRleHRDb250ZW50PXN0cmVhaz9zdHJlYWsrJyBkYXknKyhzdHJlYWshPT0xPydzJzonJykrJyBpbiBhIHJvdyEnOidXcml0ZSB0b2RheSB0byBzdGFydCEnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqLWVudHJ5LWNvdW50JykudGV4dENvbnRlbnQ9am91cm5hbEVudHJpZXMubGVuZ3RoKycgZW50cmllcyc7CiAgY29uc3QgbGlzdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzdC1lbnRyaWVzJyk7bGlzdC5pbm5lckhUTUw9Jyc7CiAgY29uc3Qgb3RoZXJzPWpvdXJuYWxFbnRyaWVzLmZpbHRlcihlPT5lLmRhdGUhPT1UT0RBWSkuc2xpY2UoMCw4KTsKICBvdGhlcnMuZm9yRWFjaChlPT57Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0ncGFzdC1lbnRyeSc7ZC5pbm5lckhUTUw9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweCI+PGRpdiBjbGFzcz0icGUtbW9vZC1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7TU9PRF9DT0xPUlNbZS5tb29kXX0iPjwvZGl2PjxzcGFuIGNsYXNzPSJwZS1kYXRlIj4ke25ldyBEYXRlKGUuZGF0ZSsnVDAwOjAwOjAwJykudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1DQScse21vbnRoOidzaG9ydCcsZGF5OidudW1lcmljJyx5ZWFyOidudW1lcmljJ30pfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwZS1wcmV2aWV3Ij4ke2UudGV4dH08L2Rpdj5gO2Qub25jbGljaz0oKT0+e2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqb3VybmFsLWJvZHknKS52YWx1ZT1lLnRleHQ7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtdGFncycpLnZhbHVlPWUudGFnc3x8Jyc7dXBkYXRlV29yZENvdW50KCk7c2VsZWN0TW9vZFNpbGVudChlLm1vb2QpO307bGlzdC5hcHBlbmRDaGlsZChkKTt9KTsKICBpZighb3RoZXJzLmxlbmd0aCYmIXRvZGF5RW50cnkpbGlzdC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gcGFzdCBlbnRyaWVzIHlldC48L2Rpdj4nOwp9CmZ1bmN0aW9uIHNlbGVjdE1vb2QobGV2ZWwsYnRuKXtzZWxlY3RlZE1vb2Q9bGV2ZWw7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1vb2QtYnRuJykuZm9yRWFjaCgoYixpKT0+e2IuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJyxpKzE9PT1sZXZlbCk7Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsaSsxPT09bGV2ZWw/J3RydWUnOidmYWxzZScpO30pO30KZnVuY3Rpb24gc2VsZWN0TW9vZFNpbGVudChsZXZlbCl7c2VsZWN0ZWRNb29kPWxldmVsO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb29kLWJ0bicpLmZvckVhY2goKGIsaSk9PntiLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsaSsxPT09bGV2ZWwpO2Iuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLGkrMT09PWxldmVsPyd0cnVlJzonZmFsc2UnKTt9KTt9CmZ1bmN0aW9uIHVwZGF0ZVdvcmRDb3VudCgpe2NvbnN0IHY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtYm9keScpLnZhbHVlLnRyaW0oKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd29yZC1jb3VudCcpLnRleHRDb250ZW50PSh2P3Yuc3BsaXQoL1xzKy8pLmZpbHRlcihCb29sZWFuKS5sZW5ndGg6MCkrJyB3b3Jkcyc7fQoKLyog4pWQ4pWQ4pWQIFRJTUVSIOKVkOKVkOKVkCAqLwpmdW5jdGlvbiBzZXRUaW1lck1vZGUobW9kZSxidG4pewogIGNsZWFySW50ZXJ2YWwodGltZXJJbnRlcnZhbCk7dGltZXJSdW5uaW5nPWZhbHNlO3RpbWVyTW9kZT1tb2RlOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50aW1lci1tb2RlLXRhYicpLmZvckVhY2goYj0+e2IuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ2ZhbHNlJyk7fSk7YnRuLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO2J0bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ3RydWUnKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJykuaW5uZXJIVE1MPSc8cG9seWdvbiBwb2ludHM9IjUgMyAxOSAxMiA1IDIxIDUgMyIvPic7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xhcC1idG4nKS5zdHlsZS5kaXNwbGF5PW1vZGU9PT0nc3RvcHdhdGNoJz8nZmxleCc6J25vbmUnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudGRvd24tc2V0dXAnKS5zdHlsZS5kaXNwbGF5PW1vZGU9PT0nY291bnRkb3duJz8nZmxleCc6J25vbmUnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb20tZG90cycpLnN0eWxlLnZpc2liaWxpdHk9bW9kZT09PSdwb21vZG9ybyc/J3Zpc2libGUnOidoaWRkZW4nOwogIGlmKG1vZGU9PT0ncG9tb2Rvcm8nKXt0aW1lclNlY3M9MjUqNjA7dGltZXJUb3RhbD0yNSo2MDtwb21QaGFzZT0nZm9jdXMnO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1zdGF0ZScpLnRleHRDb250ZW50PSdGb2N1cyc7fQogIGVsc2UgaWYobW9kZT09PSdzdG9wd2F0Y2gnKXt0aW1lclNlY3M9MDt0aW1lclRvdGFsPTA7bGFwcz1bXTtyZW5kZXJMYXBzKCk7fQogIGVsc2V7dGltZXJTZWNzPTI1KjYwO3RpbWVyVG90YWw9MjUqNjA7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXN0YXRlJykudGV4dENvbnRlbnQ9J0NvdW50ZG93bic7fQogIHVwZGF0ZVRpbWVyRGlzcGxheSgpOwp9CmZ1bmN0aW9uIHRvZ2dsZVRpbWVyKCl7CiAgdGltZXJSdW5uaW5nPSF0aW1lclJ1bm5pbmc7CiAgY29uc3QgaWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJyk7CiAgaWNvbi5pbm5lckhUTUw9dGltZXJSdW5uaW5nPyc8cmVjdCB4PSI2IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIvPjxyZWN0IHg9IjE0IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIvPic6Jzxwb2x5Z29uIHBvaW50cz0iNSAzIDE5IDEyIDUgMjEgNSAzIi8+JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1idG4nKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLHRpbWVyUnVubmluZz8nUGF1c2UgdGltZXInOidTdGFydCB0aW1lcicpOwogIGlmKHRpbWVyUnVubmluZyl0aW1lckludGVydmFsPXNldEludGVydmFsKHRpY2tUaW1lciwxMDAwKTtlbHNlIGNsZWFySW50ZXJ2YWwodGltZXJJbnRlcnZhbCk7Cn0KZnVuY3Rpb24gdGlja1RpbWVyKCl7CiAgaWYodGltZXJNb2RlPT09J3N0b3B3YXRjaCcpe3RpbWVyU2VjcysrO3VwZGF0ZVRpbWVyRGlzcGxheSgpO3JldHVybjt9CiAgaWYodGltZXJTZWNzPjApe3RpbWVyU2Vjcy0tO3VwZGF0ZVRpbWVyRGlzcGxheSgpO30KICBlbHNlewogICAgY2xlYXJJbnRlcnZhbCh0aW1lckludGVydmFsKTt0aW1lclJ1bm5pbmc9ZmFsc2U7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJykuaW5uZXJIVE1MPSc8cG9seWdvbiBwb2ludHM9IjUgMyAxOSAxMiA1IDIxIDUgMyIvPic7CiAgICBjb25zdCB0YXNrTmFtZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItdGFzay1zZWwnKS5zZWxlY3RlZE9wdGlvbnNbMF0/LnRleHR8fCdObyB0YXNrJzsKICAgIGlmKHRpbWVyTW9kZT09PSdwb21vZG9ybycpewogICAgICBsb2dUaW1lclNlc3Npb24oJ1BvbW9kb3JvIMK3ICcrcG9tUGhhc2UscG9tUGhhc2U9PT0nZm9jdXMnPycyNSBtaW4nOic1IG1pbicsdGFza05hbWUpOwogICAgICBwb21TZXNzaW9uKz0ocG9tUGhhc2U9PT0nZm9jdXMnPzE6MCk7cG9tUGhhc2U9cG9tUGhhc2U9PT0nZm9jdXMnPydicmVhayc6J2ZvY3VzJzsKICAgICAgdGltZXJTZWNzPXBvbVBoYXNlPT09J2ZvY3VzJz8yNSo2MDo1KjYwO3RpbWVyVG90YWw9dGltZXJTZWNzOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItc3RhdGUnKS50ZXh0Q29udGVudD1wb21QaGFzZT09PSdmb2N1cyc/J0ZvY3VzJzonQnJlYWsnOwogICAgICByZW5kZXJQb21Eb3RzKCk7CiAgICB9ZWxzZSBpZih0aW1lck1vZGU9PT0nY291bnRkb3duJyl7bG9nVGltZXJTZXNzaW9uKCdDb3VudGRvd24nLGZtdFRpbWUodGltZXJUb3RhbCksdGFza05hbWUpO30KICAgIHVwZGF0ZVRpbWVyRGlzcGxheSgpOwogIH0KfQpmdW5jdGlvbiByZXNldFRpbWVyKCl7CiAgY2xlYXJJbnRlcnZhbCh0aW1lckludGVydmFsKTt0aW1lclJ1bm5pbmc9ZmFsc2U7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXBsYXktaWNvbicpLmlubmVySFRNTD0nPHBvbHlnb24gcG9pbnRzPSI1IDMgMTkgMTIgNSAyMSA1IDMiLz4nOwogIGlmKHRpbWVyTW9kZT09PSdwb21vZG9ybycpe3RpbWVyU2Vjcz0yNSo2MDt0aW1lclRvdGFsPTI1KjYwO3BvbVBoYXNlPSdmb2N1cyc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXN0YXRlJykudGV4dENvbnRlbnQ9J0ZvY3VzJzt9CiAgZWxzZSBpZih0aW1lck1vZGU9PT0nc3RvcHdhdGNoJyl7dGltZXJTZWNzPTA7dGltZXJUb3RhbD0wO2xhcHM9W107cmVuZGVyTGFwcygpO30KICBlbHNle2NvbnN0IG09cGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NkLW1pbnMnKT8udmFsdWV8fDI1KTt0aW1lclNlY3M9bSo2MDt0aW1lclRvdGFsPXRpbWVyU2Vjczt9CiAgdXBkYXRlVGltZXJEaXNwbGF5KCk7Cn0KZnVuY3Rpb24gbGFwVGltZXIoKXtpZih0aW1lck1vZGUhPT0nc3RvcHdhdGNoJylyZXR1cm47bGFwcy5wdXNoKGZtdFRpbWUodGltZXJTZWNzKSk7cmVuZGVyTGFwcygpO30KZnVuY3Rpb24gc2V0Q291bnRkb3duKCl7Y29uc3QgbT1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2QtbWlucycpLnZhbHVlfHwyNSk7dGltZXJTZWNzPW0qNjA7dGltZXJUb3RhbD10aW1lclNlY3M7dXBkYXRlVGltZXJEaXNwbGF5KCk7fQpmdW5jdGlvbiByZW5kZXJMYXBzKCl7Y29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xhcC1saXN0Jyk7ZWwuaW5uZXJIVE1MPScnO2xhcHMuc2xpY2UoKS5yZXZlcnNlKCkuZm9yRWFjaCgobCxpKT0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2xhcC1yb3cnO2QuaW5uZXJIVE1MPWA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0taW5rNCkiPkxhcCAke2xhcHMubGVuZ3RoLWl9PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo2MDAiPiR7bH08L3NwYW4+YDtlbC5hcHBlbmRDaGlsZChkKTt9KTt9CmZ1bmN0aW9uIGZtdFRpbWUocyl7Y29uc3QgaD1NYXRoLmZsb29yKHMvMzYwMCksbT1NYXRoLmZsb29yKChzJTM2MDApLzYwKSxzYz1zJTYwO3JldHVybihoP1N0cmluZyhoKS5wYWRTdGFydCgyLCcwJykrJzonOicnKStTdHJpbmcobSkucGFkU3RhcnQoMiwnMCcpKyc6JytTdHJpbmcoc2MpLnBhZFN0YXJ0KDIsJzAnKTt9CmZ1bmN0aW9uIHVwZGF0ZVRpbWVyRGlzcGxheSgpewogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1kaXNwbGF5JykudGV4dENvbnRlbnQ9Zm10VGltZSh0aW1lclNlY3MpOwogIGNvbnN0IGJhcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcmluZy1iYXInKTsKICBjb25zdCBwY3Q9dGltZXJUb3RhbD4wJiZ0aW1lck1vZGUhPT0nc3RvcHdhdGNoJz8xLSh0aW1lclNlY3MvdGltZXJUb3RhbCk6MDsKICBiYXIuc3R5bGUuc3Ryb2tlRGFzaG9mZnNldD1DSVJDKigxLXBjdCk7YmFyLnN0eWxlLnN0cm9rZT1wb21QaGFzZT09PSdicmVhayc/J3ZhcigtLWhpKSc6J3ZhcigtLWFjY2VudCknOwp9CmZ1bmN0aW9uIHJlbmRlclBvbURvdHMoKXtjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9tLWRvdHMnKTtlbC5pbm5lckhUTUw9Jyc7Zm9yKGxldCBpPTA7aTw0O2krKyl7Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0ncG9tLWRvdCcrKGk8cG9tU2Vzc2lvbj8nIGRvbmUnOmk9PT1wb21TZXNzaW9uJiZwb21QaGFzZT09PSdmb2N1cyc/JyBhY3RpdmUnOicnKTtlbC5hcHBlbmRDaGlsZChkKTt9fQpmdW5jdGlvbiBsb2dUaW1lclNlc3Npb24obGFiZWwsZHVyYXRpb24sdGFzayl7Y29uc3QgZW50cnk9e2xhYmVsLGR1cmF0aW9uLHRhc2ssdGltZTpuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygnZW4tQ0EnLHtob3VyOicyLWRpZ2l0JyxtaW51dGU6JzItZGlnaXQnfSl9O3RpbWVyTG9nLnB1c2goZW50cnkpO3JlbmRlclRpbWVyTG9nKCk7fQpmdW5jdGlvbiByZW5kZXJUaW1lckxvZygpe2NvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1sb2cnKTtpZighdGltZXJMb2cubGVuZ3RoKXtlbC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gc2Vzc2lvbnMgeWV0LjwvZGl2Pic7cmV0dXJuO31lbC5pbm5lckhUTUw9Jyc7dGltZXJMb2cuc2xpY2UoKS5yZXZlcnNlKCkuZm9yRWFjaChlPT57Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0nbG9nLWVudHJ5JztkLnNldEF0dHJpYnV0ZSgncm9sZScsJ2xpc3RpdGVtJyk7ZC5pbm5lckhUTUw9YDxzcGFuIGNsYXNzPSJsb2ctdHlwZS1iYWRnZSAke2UubGFiZWwuaW5jbHVkZXMoJ1BvbW9kb3JvJyk/J2xvZy1wb21vZG9ybyc6J2xvZy1zdG9wd2F0Y2gnfSI+JHtlLmxhYmVsLnNwbGl0KCcgwrcgJylbMF19PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1pbmszKTtmb250LXNpemU6MTFweDtmbGV4OjEiPiR7ZS50YXNrJiZlLnRhc2shPT0nTm8gdGFzayc/J8K3ICcrZS50YXNrLnNsaWNlKDAsMTgpOicnfTwvc3Bhbj48c3BhbiBjbGFzcz0ibG9nLWR1cmF0aW9uIj4ke2UuZHVyYXRpb259PC9zcGFuPmA7ZWwuYXBwZW5kQ2hpbGQoZCk7fSk7fQpmdW5jdGlvbiBjbGVhckxvZygpe3RpbWVyTG9nPVtdO3JlbmRlclRpbWVyTG9nKCk7fQoKLyog4pWQ4pWQ4pWQIFNDSEVEVUxFUiDilZDilZDilZAgKi8KZnVuY3Rpb24gc2NoZWROYXYoZGlyKXtzY2hlZERhdGU9bmV3IERhdGUoc2NoZWREYXRlLmdldEZ1bGxZZWFyKCksc2NoZWREYXRlLmdldE1vbnRoKCkrZGlyLDEpO3JlbmRlclNjaGVkdWxlcigpO30KZnVuY3Rpb24gcmVuZGVyU2NoZWR1bGVyKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjaGVkLWxhYmVsJykudGV4dENvbnRlbnQ9TU9OVEhTW3NjaGVkRGF0ZS5nZXRNb250aCgpXSsnICcrc2NoZWREYXRlLmdldEZ1bGxZZWFyKCk7CiAgcmVuZGVyU2NoZWRDYWwoKTtyZW5kZXJFdmVudExpc3QoKTsKfQpmdW5jdGlvbiByZW5kZXJTY2hlZENhbCgpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ncmlkJykseXI9c2NoZWREYXRlLmdldEZ1bGxZZWFyKCksbW89c2NoZWREYXRlLmdldE1vbnRoKCk7CiAgY29uc3QgZmlyc3Q9bmV3IERhdGUoeXIsbW8sMSkuZ2V0RGF5KCksZGltPW5ldyBEYXRlKHlyLG1vKzEsMCkuZ2V0RGF0ZSgpOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJjYWwtZ3JpZCIgc3R5bGU9Im1hcmdpbjowIDEwcHggMCI+JzsKICBEQVlTLmZvckVhY2goZD0+e2grPWA8ZGl2IGNsYXNzPSJjYWwtZG93Ij4ke2R9PC9kaXY+YDt9KTsKICBmb3IobGV0IGk9MDtpPGZpcnN0O2krKyloKz0nPGRpdiBjbGFzcz0iY2FsLWRheSBvdGhlci1tb250aCIgc3R5bGU9Im1pbi1oZWlnaHQ6NTJweCI+PC9kaXY+JzsKICBmb3IobGV0IGQ9MTtkPD1kaW07ZCsrKXsKICAgIGNvbnN0IGRzPWAke3lyfS0ke1N0cmluZyhtbysxKS5wYWRTdGFydCgyLCcwJyl9LSR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsJzAnKX1gLGlzVG9kYXk9ZHM9PT1UT0RBWTsKICAgIGNvbnN0IGRlPWV2ZW50cy5maWx0ZXIoZT0+ZS5kYXRlPT09ZHMpOwogICAgaCs9YDxkaXYgY2xhc3M9ImNhbC1kYXkke2lzVG9kYXk/JyB0b2RheSc6Jyd9IiBzdHlsZT0ibWluLWhlaWdodDo1MnB4O2N1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJzaG93RGF5RXZlbnRzKCcke2RzfScpIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkfTwvZGl2PmA7CiAgICBkZS5zbGljZSgwLDIpLmZvckVhY2goZT0+e2grPWA8ZGl2IGNsYXNzPSJldmVudC1waWxsIiBzdHlsZT0iYmFja2dyb3VuZDoke2UuY29sb3J9MjI7Y29sb3I6JHtlLmNvbG9yfSI+JHtlLnRpdGxlLnNsaWNlKDAsMTApfeKApjwvZGl2PmA7fSk7CiAgICBpZihkZS5sZW5ndGg+MiloKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stbW9yZSI+KyR7ZGUubGVuZ3RoLTJ9PC9kaXY+YDsKICAgIGgrPSc8L2Rpdj4nOwogIH0KICBjb25zdCBsYXN0PW5ldyBEYXRlKHlyLG1vLGRpbSkuZ2V0RGF5KCk7CiAgZm9yKGxldCBpPTE7aTw3LWxhc3Q7aSsrKWgrPSc8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIiBzdHlsZT0ibWluLWhlaWdodDo1MnB4Ij48L2Rpdj4nOwogIGgrPSc8L2Rpdj4nO2VsLmlubmVySFRNTD1oOwp9CmZ1bmN0aW9uIHJlbmRlckV2ZW50TGlzdChmaWx0ZXJEYXRlPW51bGwpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ldmVudHMnKSxoZWFkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ldi1oZWFkJyk7CiAgY29uc3QgZmlsdGVyZWQ9ZmlsdGVyRGF0ZT9ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT09PWZpbHRlckRhdGUpOmV2ZW50cy5maWx0ZXIoZT0+ZS5kYXRlPj1UT0RBWSkuc29ydCgoYSxiKT0+YS5kYXRlLmxvY2FsZUNvbXBhcmUoYi5kYXRlKXx8YS50aW1lLmxvY2FsZUNvbXBhcmUoYi50aW1lKSk7CiAgaGVhZC50ZXh0Q29udGVudD1maWx0ZXJEYXRlP25ldyBEYXRlKGZpbHRlckRhdGUrJ1QwMDowMDowMCcpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHttb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOidVcGNvbWluZyBldmVudHMnOwogIGVsLmlubmVySFRNTD0nJzsKICBpZighZmlsdGVyZWQubGVuZ3RoKXtlbC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gZXZlbnRzLjwvZGl2Pic7cmV0dXJuO30KICBmaWx0ZXJlZC5zbGljZSgwLDgpLmZvckVhY2goZT0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2V2ZW50LWl0ZW0nO2Quc2V0QXR0cmlidXRlKCdyb2xlJywnbGlzdGl0ZW0nKTtjb25zdCByZWNCYWRnZT1lLnJlY3VycmVuY2UmJmUucmVjdXJyZW5jZSE9PSdub25lJz9gPHNwYW4gY2xhc3M9ImV2ZW50LWJhZGdlIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1iZzMpO2NvbG9yOnZhcigtLWluazMpIj4ke2UucmVjdXJyZW5jZX08L3NwYW4+YDonJztkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iZXZlbnQtY29sb3ItYmFyIiBzdHlsZT0iYmFja2dyb3VuZDoke2UuY29sb3J9Ij48L2Rpdj48ZGl2IHN0eWxlPSJmbGV4OjEiPjxkaXYgY2xhc3M9ImV2ZW50LW5hbWUiPiR7ZS50aXRsZX08L2Rpdj48ZGl2IGNsYXNzPSJldmVudC10aW1lIj4ke2UuZGF0ZS5zbGljZSg1KS5yZXBsYWNlKCctJywnLycpfSDCtyAke2UudGltZX3igJMke2UuZW5kfTwvZGl2PiR7ZS5ub3Rlcz9gPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLXRvcDoycHgiPiR7ZS5ub3Rlc308L2Rpdj5gOicnfTwvZGl2PiR7cmVjQmFkZ2V9YDtlbC5hcHBlbmRDaGlsZChkKTt9KTsKfQpmdW5jdGlvbiBzaG93RGF5RXZlbnRzKGRhdGUpe3JlbmRlckV2ZW50TGlzdChkYXRlKTt9CmZ1bmN0aW9uIG9wZW5FdmVudE1vZGFsKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2ZW50LW1vZGFsJykuY2xhc3NMaXN0LmFkZCgnb3BlbicpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aXRsZScpLmZvY3VzKCk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LWRhdGUnKS52YWx1ZT1UT0RBWTt9CmZ1bmN0aW9uIGNsb3NlRXZlbnRNb2RhbCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmVudC1tb2RhbCcpLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTt9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmVudC1tb2RhbCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxlPT57aWYoZS50YXJnZXQ9PT1lLmN1cnJlbnRUYXJnZXQpY2xvc2VFdmVudE1vZGFsKCk7fSk7CmZ1bmN0aW9uIHNlbGVjdEV2ZW50Q29sb3IoZWwpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb2xvci1zd2F0Y2gnKS5mb3JFYWNoKHM9PnMuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpO2VsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO3NlbGVjdGVkRXZlbnRDb2xvcj1lbC5kYXRhc2V0LmNvbG9yO30KZnVuY3Rpb24gc2F2ZUV2ZW50KCl7Y29uc3QgdGl0bGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LXRpdGxlJykudmFsdWUudHJpbSgpO2lmKCF0aXRsZSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LXRpdGxlJykuZm9jdXMoKTtyZXR1cm47fWV2ZW50cy5wdXNoKHtpZDpuZXh0RXZlbnRJZCsrLHRpdGxlLGRhdGU6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LWRhdGUnKS52YWx1ZSx0aW1lOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aW1lJykudmFsdWUsZW5kOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1lbmQnKS52YWx1ZSxyZWN1cnJlbmNlOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1yZWN1cicpLnZhbHVlLG5vdGVzOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1ub3RlcycpLnZhbHVlLGNvbG9yOnNlbGVjdGVkRXZlbnRDb2xvcn0pO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aXRsZScpLnZhbHVlPScnO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1ub3RlcycpLnZhbHVlPScnO2Nsb3NlRXZlbnRNb2RhbCgpO3JlbmRlclNjaGVkdWxlcigpO30KCi8qIOKVkOKVkOKVkCBOQVZJR0FUSU9OIOKVkOKVkOKVkCAqLwpmdW5jdGlvbiBzZXRQYWdlKHAsbmF2RWwpewogIFsnZGFzaGJvYXJkJywndGFza3MnLCdwbGFubmVyJywnam91cm5hbCcsJ3RpbWVycycsJ3NjaGVkdWxlciddLmZvckVhY2gocGc9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLScrcGcpLnN0eWxlLmRpc3BsYXk9J25vbmUnKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS0nK3ApLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICBjb25zdCBsYWJlbHM9e2Rhc2hib2FyZDonRGFzaGJvYXJkJyx0YXNrczonVGFza3MnLHBsYW5uZXI6J1BsYW5uZXInLGpvdXJuYWw6J0pvdXJuYWwnLHRpbWVyczonVGltZXJzJyxzY2hlZHVsZXI6J1NjaGVkdWxlcid9OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLXRpdGxlJykudGV4dENvbnRlbnQ9bGFiZWxzW3BdfHxwOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWV3LXRvZ2dsZScpLnN0eWxlLmRpc3BsYXk9cD09PSd0YXNrcyc/J2ZsZXgnOidub25lJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmV3LXRhc2stYnRuJykuc3R5bGUuZGlzcGxheT1wPT09J3Rhc2tzJz8nJzonbm9uZSc7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5hdi1pdGVtJykuZm9yRWFjaChuPT57bi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTtuLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50Jyk7fSk7CiAgbmF2RWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7bmF2RWwuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCdwYWdlJyk7CiAgaWYocD09PSdkYXNoYm9hcmQnKXJlbmRlckRhc2hib2FyZCgpOwogIGVsc2UgaWYocD09PSdwbGFubmVyJylyZW5kZXJQbGFubmVyKCk7CiAgZWxzZSBpZihwPT09J2pvdXJuYWwnKWxvYWRKb3VybmFsKCk7CiAgZWxzZSBpZihwPT09J3RpbWVycycpe3JlbmRlclBvbURvdHMoKTt1cGRhdGVUaW1lckRpc3BsYXkoKTt9CiAgZWxzZSBpZihwPT09J3NjaGVkdWxlcicpcmVuZGVyU2NoZWR1bGVyKCk7CiAgZWxzZSBpZihwPT09J3Rhc2tzJylyZW5kZXIoKTsKfQoKLyog4pWQ4pWQ4pWQIEFVVEgg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHN3aXRjaFRhYih0YWIsZWwpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hdXRoLXRhYicpLmZvckVhY2godD0+e3QuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCdmYWxzZScpO30pO2VsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO2VsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsJ3RydWUnKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lnbmluLXBhbmVsJykuaGlkZGVuPXRhYiE9PSdzaWduaW4nO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaWdudXAtcGFuZWwnKS5oaWRkZW49dGFiPT09J3NpZ25pbic7fQpmdW5jdGlvbiBzaWduSW4oKXtjb25zdCBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdXRoLXNjcmVlbicpO3Muc3R5bGUub3BhY2l0eT0nMCc7c2V0VGltZW91dCgoKT0+e3Muc3R5bGUuZGlzcGxheT0nbm9uZSc7Y29uc3QgYXBwPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcHAnKTthcHAuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpO3JlbmRlcigpO3JlbmRlclBvbURvdHMoKTt9LDMwMCk7fQoKLyog4pWQ4pWQ4pWQIFBBTEVUVEUg4pWQ4pWQ4pWQICovCmNvbnN0IFBBTEVUVEVTPVsKICB7aWQ6J2NpdHJ1cycsbGFiZWw6J0NpdHJ1cycsZG90OidsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMwMEM0OEMgNTAlKSd9LAogIHtpZDonc3R1ZGlvJyxsYWJlbDonU3R1ZGlvJyxkb3Q6J2xpbmVhci1ncmFkaWVudCgxMzVkZWcsI0ZGQUEwMCA1MCUsIzVCNUJENiA1MCUpJ30sCiAge2lkOidhcmN0aWMnLGxhYmVsOidBcmN0aWMnLGRvdDonbGluZWFyLWdyYWRpZW50KDEzNWRlZywjRkZBQTAwIDUwJSwjMDBBQUNDIDUwJSknfSwKICB7aWQ6J3NsYXRlJywgbGFiZWw6J1NsYXRlJywgZG90OidsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMzRDVBODAgNTAlKSd9LAogIHtpZDonc29sYXInLCBsYWJlbDonU29sYXInLCBkb3Q6J2xpbmVhci1ncmFkaWVudCgxMzVkZWcsI0ZGQUEwMCA1MCUsI0ZGNkIyQiA1MCUpJ30sCl07CmxldCBwYWxJZHg9MDsKZnVuY3Rpb24gdG9nZ2xlUGFsZXR0ZSgpe3BhbElkeD0ocGFsSWR4KzEpJVBBTEVUVEVTLmxlbmd0aDtjb25zdCBwPVBBTEVUVEVTW3BhbElkeF07ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wYWxldHRlJyxwLmlkKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFsZXR0ZS1sYWJlbCcpLnRleHRDb250ZW50PXAubGFiZWw7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhbGV0dGUtZG90Jykuc3R5bGUuYmFja2dyb3VuZD1wLmRvdDt9Cgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS5rZXk9PT0nRXNjYXBlJyl7Y2xvc2VNb2RhbCgpO2Nsb3NlRXZlbnRNb2RhbCgpO319KTsKcmVuZGVyKCk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K" title="The Kitchen Sink — Productivity Suite" style="width:100%;height:100vh;border:none;display:block;" allow="clipboard-read; clipboard-write" ></iframe>
Self-contained Responsive (16:10 ratio)

Scales proportionally with the container width. Good for fluid layouts and responsive sites.

<div style="position:relative;width:100%;padding-bottom:66.6%;height:0;overflow:hidden;border-radius:16px;"> <iframe src="data:text/html;base64,PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBkYXRhLXBhbGV0dGU9ImNpdHJ1cyI+CjxoZWFkPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cjx0aXRsZT5UaGUgS2l0Y2hlbiBTaW5rIOKAlCBQaGFzZSAyPC90aXRsZT4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QbHVzK0pha2FydGErU2Fuczp3Z2h0QDQwMDs1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PUZyYXVuY2VzOml0YWwsb3Bzeix3Z2h0QDAsOS4uMTQ0LDcwMDsxLDkuLjE0NCw0MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgo8c3R5bGU+CltkYXRhLXBhbGV0dGU9ImNpdHJ1cyJdey0tYmc6I0ZBRkFGQTstLWJnMjojRkZGQkUwOy0tYmczOiNGRkY1QkI7LS1pbms6IzBBMjU0MDstLWluazI6IzFDM0Y2MjstLWluazM6IzRBNkU4RTstLWluazQ6IzhFQjBDQzstLWFjY2VudDojRkZBQTAwOy0tYWNjZW50LWJnOiNGRkYzQ0M7LS1hY2NlbnQtZGFyazojN0E0ODAwOy0tYWNjZW50LWJvcmRlcjojRkZEMTY2Oy0taGk6IzAwQzQ4QzstLWhpLWJnOiNERkY4RUY7LS1oaS1kYXJrOiMwMDc4NTU7LS1ib3JkZXI6I0VBRTA5QTstLWJvcmRlcjI6I0YyRUNDMDstLWF1dGgtbGVmdC1iZzojMEEyNTQwOy0tYXV0aC1sZWZ0LWluazpyZ2JhKDI1NSwyNTUsMjU1LDAuNik7LS1zYWI6I0ZGRjNDQzstLXNhaTojN0E0ODAwOy0tc2FiZDojRkZBQTAwOy0tY29sLWRvaW5nLWJnOiNGRkZCRTA7LS1jb2wtZG9pbmctYm9yZGVyOiNGRkQ5ODA7LS1jb2wtZG9uZS1iZzojRjBGQkY0Oy0tY29sLWRvbmUtYm9yZGVyOiM5QURCQjg7LS1mb2N1cy1yaW5nOjAgMCAwIDNweCByZ2JhKDI1NSwxNzAsMCwwLjQ1KTstLWNhcmQtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgxMCwzNyw2NCwwLjA3KTt9CltkYXRhLXBhbGV0dGU9InN0dWRpbyJdey0tYmc6I0ZBRkFGQTstLWJnMjojRjVGNUZGOy0tYmczOiNFQUVBRkY7LS1pbms6IzExMTExODstLWluazI6IzJDMkM0MDstLWluazM6IzU1NTU3QTstLWluazQ6Izk5OTlDMDstLWFjY2VudDojRkZBQTAwOy0tYWNjZW50LWJnOiNGRkY4RTY7LS1hY2NlbnQtZGFyazojN0E0ODAwOy0tYWNjZW50LWJvcmRlcjojRkZDQzU1Oy0taGk6IzVCNUJENjstLWhpLWJnOiNFREVERkY7LS1oaS1kYXJrOiMzRDNEQUE7LS1ib3JkZXI6I0UwRTBGMjstLWJvcmRlcjI6I0VFRUVGRjstLWF1dGgtbGVmdC1iZzojMUExQTJFOy0tYXV0aC1sZWZ0LWluazpyZ2JhKDI1NSwyNTUsMjU1LDAuNTgpOy0tc2FiOiNFREVERkY7LS1zYWk6IzNEM0RBQTstLXNhYmQ6IzVCNUJENjstLWNvbC1kb2luZy1iZzojRkZGOEU2Oy0tY29sLWRvaW5nLWJvcmRlcjojRkZEMTY2Oy0tY29sLWRvbmUtYmc6I0YwRjBGRjstLWNvbC1kb25lLWJvcmRlcjojQURBREVFOy0tZm9jdXMtcmluZzowIDAgMCAzcHggcmdiYSg5MSw5MSwyMTQsMC4zOCk7LS1jYXJkLXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMTcsMTcsMjQsMC4wNik7fQpbZGF0YS1wYWxldHRlPSJhcmN0aWMiXXstLWJnOiNGMEY3RkY7LS1iZzI6I0RDRjBGRjstLWJnMzojQzBFNEZGOy0taW5rOiMwRDJCNDU7LS1pbmsyOiMxQTRBNkU7LS1pbmszOiMzQTdBQUE7LS1pbms0OiM3QUIwRDQ7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiMwMEFBQ0M7LS1oaS1iZzojRDBGMEY4Oy0taGktZGFyazojMDA2RTg4Oy0tYm9yZGVyOiNBOEQ0RUM7LS1ib3JkZXIyOiNDNEU0Rjg7LS1hdXRoLWxlZnQtYmc6IzBEMkI0NTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRDBGMEY4Oy0tc2FpOiMwMDZFODg7LS1zYWJkOiMwMEFBQ0M7LS1jb2wtZG9pbmctYmc6I0ZGRjNDQzstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNEMEYwRjg7LS1jb2wtZG9uZS1ib3JkZXI6IzcwQ0NERDstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoMCwxNzAsMjA0LDAuMzgpOy0tY2FyZC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDEzLDQzLDY5LDAuMDgpO30KW2RhdGEtcGFsZXR0ZT0ic2xhdGUiXXstLWJnOiNGNEY0RjI7LS1iZzI6I0U4RThFNDstLWJnMzojRENEQ0Q2Oy0taW5rOiMxQzFDMUU7LS1pbmsyOiMzQTNBM0M7LS1pbmszOiM2QzZDNzA7LS1pbms0OiNBRUFFQjI7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiMzRDVBODA7LS1oaS1iZzojRTBFOEY0Oy0taGktZGFyazojMkEzRjVFOy0tYm9yZGVyOiNDQUNBQzQ7LS1ib3JkZXIyOiNEOEQ4RDI7LS1hdXRoLWxlZnQtYmc6IzFDMkEzQTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRTBFOEY0Oy0tc2FpOiMyQTNGNUU7LS1zYWJkOiMzRDVBODA7LS1jb2wtZG9pbmctYmc6I0ZGRjNDQzstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNFMEU4RjQ7LS1jb2wtZG9uZS1ib3JkZXI6IzlBQjREMDstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoNjEsOTAsMTI4LDAuMzIpOy0tY2FyZC1zaGFkb3c6MCAycHggMTBweCByZ2JhKDI4LDI4LDMwLDAuMDcpO30KW2RhdGEtcGFsZXR0ZT0ic29sYXIiXXstLWJnOiNGRkZGRkY7LS1iZzI6I0ZGRjVFMDstLWJnMzojRkZFOEIwOy0taW5rOiMxQTFBMUE7LS1pbmsyOiMzMzMzMzM7LS1pbmszOiM2NjY2NjY7LS1pbms0OiNBQUFBQUE7LS1hY2NlbnQ6I0ZGQUEwMDstLWFjY2VudC1iZzojRkZGM0NDOy0tYWNjZW50LWRhcms6IzdBNDgwMDstLWFjY2VudC1ib3JkZXI6I0ZGRDE2NjstLWhpOiNGRjZCMkI7LS1oaS1iZzojRkZFREU1Oy0taGktZGFyazojQkIzQTAwOy0tYm9yZGVyOiNFOEQ0QTA7LS1ib3JkZXIyOiNGMkVBQzQ7LS1hdXRoLWxlZnQtYmc6IzFBMUExQTstLWF1dGgtbGVmdC1pbms6cmdiYSgyNTUsMjU1LDI1NSwwLjU4KTstLXNhYjojRkZFREU1Oy0tc2FpOiNCQjNBMDA7LS1zYWJkOiNGRjZCMkI7LS1jb2wtZG9pbmctYmc6I0ZGRjVFMDstLWNvbC1kb2luZy1ib3JkZXI6I0ZGRDE2NjstLWNvbC1kb25lLWJnOiNGRkVERTU7LS1jb2wtZG9uZS1ib3JkZXI6I0ZGQUE4ODstLWZvY3VzLXJpbmc6MCAwIDAgM3B4IHJnYmEoMjU1LDEwNyw0MywwLjMyKTstLWNhcmQtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgyNiwyNiwyNiwwLjA3KTt9CiosKjo6YmVmb3JlLCo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjA7fQpodG1se2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxNnB4O30KYm9keXtmb250LWZhbWlseTonUGx1cyBKYWthcnRhIFNhbnMnLCdTZWdvZSBVSScsc3lzdGVtLXVpLHNhbnMtc2VyaWY7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjY7aGVpZ2h0OjEwMCU7fQouc2tpcC1saW5re3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjAwcHg7bGVmdDoxcmVtO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmspO3BhZGRpbmc6LjZyZW0gMS4ycmVtO2JvcmRlci1yYWRpdXM6MjRweDtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44NzVyZW07ei1pbmRleDo5OTk5O3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dG9wIC4xNXM7fQouc2tpcC1saW5rOmZvY3Vze3RvcDoxcmVtO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7b3V0bGluZTpub25lO30KKjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6M3B4O2JvcmRlci1yYWRpdXM6NHB4O30KYnV0dG9uOmZvY3VzLXZpc2libGUsW3JvbGU9ImJ1dHRvbiJdOmZvY3VzLXZpc2libGUsYTpmb2N1cy12aXNpYmxlLGlucHV0OmZvY3VzLXZpc2libGUsc2VsZWN0OmZvY3VzLXZpc2libGUsdGV4dGFyZWE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTtib3JkZXItcmFkaXVzOjhweDt9CiNhdXRoLXNjcmVlbntwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6dmFyKC0tYmcpO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuM3M7fQouYXV0aC1sZWZ0e2ZsZXg6MCAwIDQyMHB4O2JhY2tncm91bmQ6dmFyKC0tYXV0aC1sZWZ0LWJnKTtwYWRkaW5nOjQ4cHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47fQouYXV0aC1sZWZ0OjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozNDBweDtoZWlnaHQ6MzQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO29wYWNpdHk6LjA3O2JvdHRvbTotODBweDtsZWZ0Oi02MHB4O30KLmF1dGgtbGVmdDo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1oaSk7b3BhY2l0eTouMDk7dG9wOjgwcHg7cmlnaHQ6LTMwcHg7fQouYXV0aC1icmFuZHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7fQouYXV0aC1sb2dve2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjMwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MS4xO21hcmdpbi10b3A6MjBweDt9Ci5hdXRoLWxvZ28gc3Bhbntjb2xvcjp2YXIoLS1hY2NlbnQpO30KLmF1dGgtdGFnbGluZXtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1hdXRoLWxlZnQtaW5rKTttYXJnaW4tdG9wOjhweDtmb250LXN0eWxlOml0YWxpYzt9Ci5hdXRoLWZlYXR1cmVze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTt9Ci5hdXRoLWZlYXR1cmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjEzcHg7fQouYXV0aC1mZWF0dXJlLWRvdHt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7ZmxleC1zaHJpbms6MDt9Ci5hdXRoLWZlYXR1cmUtdGV4dHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1hdXRoLWxlZnQtaW5rKTt9Ci5hdXRoLXJpZ2h0e2ZsZXg6MTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzo0OHB4O30KLmF1dGgtYm94e3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM2MHB4O30KLmF1dGgtdGl0bGV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MzBweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW4tYm90dG9tOjZweDt9Ci5hdXRoLXN1Yntmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tYm90dG9tOjI4cHg7fQouYXV0aC10YWJze2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjI0cHg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjNweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouYXV0aC10YWJ7ZmxleDoxO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6OHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0taW5rMyk7dHJhbnNpdGlvbjphbGwgLjE1cztib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5hdXRoLXRhYi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4xKTt9Ci5mb3JtLWdyb3Vwe21hcmdpbi1ib3R0b206MTRweDt9Ci5mb3JtLWxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluazMpO21hcmdpbi1ib3R0b206NXB4O30KLmZvcm0taW5wdXR7d2lkdGg6MTAwJTtwYWRkaW5nOjEwcHggMTRweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcpO291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzLGJveC1zaGFkb3cgLjE1czt9Ci5mb3JtLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQouYnRuLXByaW1hcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMsdHJhbnNmb3JtIC4xczttYXJnaW4tdG9wOjZweDt9Ci5idG4tcHJpbWFyeTpob3ZlcntvcGFjaXR5Oi44ODt9LmJ0bi1wcmltYXJ5OmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk4KTt9Ci5hdXRoLWRpdmlkZXJ7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luOjE0cHggMDtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci5hdXRoLWRpdmlkZXI6OmJlZm9yZSwuYXV0aC1kaXZpZGVyOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6NDMlO2hlaWdodDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXIpO30KLmF1dGgtZGl2aWRlcjo6YmVmb3Jle2xlZnQ6MDt9LmF1dGgtZGl2aWRlcjo6YWZ0ZXJ7cmlnaHQ6MDt9Ci5idG4tZ29vZ2xle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazIpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzO30KLmJ0bi1nb29nbGU6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLnBhbGV0dGUtdG9nZ2xle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCAxMnB4O2JvcmRlci1yYWRpdXM6MjBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMyk7dHJhbnNpdGlvbjphbGwgLjE1czt9Ci5wYWxldHRlLXRvZ2dsZTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5wYWxldHRlLWRvdHt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6NTAlO2ZsZXgtc2hyaW5rOjA7fQojYXBwe2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwdmg7b3ZlcmZsb3c6aGlkZGVuO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO30KI2FwcC52aXNpYmxle29wYWNpdHk6MTt9Ci5zaWRlYmFye3dpZHRoOjIyOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yaWdodDoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtvdmVyZmxvdy15OmF1dG87fQouc2lkZWJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MDt9Ci5zaWRlYmFyLXRvcHtwYWRkaW5nOjE4cHggMTRweCAxMHB4O30KLnNpZGViYXItYnJhbmR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5icmFuZC1pY29ue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OXB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO30KLmJyYW5kLW5hbWV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxLjI7fQouYnJhbmQtbmFtZSBzbWFsbHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OidQbHVzIEpha2FydGEgU2Fucycsc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0taW5rNCk7Zm9udC1zdHlsZTpub3JtYWw7fQoubmF2LXNlY3Rpb257Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbms0KTtwYWRkaW5nOjAgMTBweDttYXJnaW4tYm90dG9tOjRweDttYXJnaW4tdG9wOjE0cHg7fQoubmF2LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxMi41cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazMpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4xNXM7bWFyZ2luLWJvdHRvbToycHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQ6bm9uZTt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O30KLm5hdi1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5uYXYtaXRlbS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1zYWIpO2NvbG9yOnZhcigtLXNhaSk7Ym9yZGVyLWNvbG9yOnZhcigtLXNhYmQpO2ZvbnQtd2VpZ2h0OjYwMDt9Ci5uYXYtaWNvbnt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTouODt9Ci5uYXYtaXRlbS5hY3RpdmUgLm5hdi1pY29ue29wYWNpdHk6MTt9Ci5uYXYtYmFkZ2V7bWFyZ2luLWxlZnQ6YXV0bztiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo3MDA7cGFkZGluZzoxcHggN3B4O2JvcmRlci1yYWRpdXM6MTBweDt9Ci5zaWRlYmFyLXByb2plY3Rze3BhZGRpbmc6MCA2cHg7bWFyZ2luLXRvcDo0cHg7fQoucHJvai1idG57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3BhZGRpbmc6N3B4IDhweDtib3JkZXItcmFkaXVzOjEwcHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLWluazMpO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTJzO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O30KLnByb2otYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5wcm9qLWJ0bi5hY3RpdmUtcHJvantiYWNrZ3JvdW5kOnZhcigtLWJnMik7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo2MDA7fQoucHJvai1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5zaWRlYmFyLWZvb3RlcntwYWRkaW5nOjEycHggMTRweDtib3JkZXItdG9wOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7bWFyZ2luLXRvcDphdXRvO30KLnVzZXItY2hpcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7cGFkZGluZzo4cHggOHB4O2JvcmRlci1yYWRpdXM6MTJweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEycztib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci51c2VyLWNoaXA6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLnVzZXItYXZhdGFye3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtmbGV4LXNocmluazowO30KLnVzZXItbmFtZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMik7fQoudXNlci1yb2xle2ZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpO30KLm1haW57ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVuO30KLnRvcGJhcntwYWRkaW5nOjAgMjJweDtoZWlnaHQ6NTRweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JvcmRlci1ib3R0b206MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtmbGV4LXNocmluazowO30KLnRvcGJhci1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7fQoucGFnZS10aXRsZXtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToyMXB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO30KLnRvcGJhci1yaWdodHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7fQoudmlldy10b2dnbGV7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzozcHg7Z2FwOjJweDt9Ci52dC1idG57cGFkZGluZzo1cHggMTBweDtib3JkZXItcmFkaXVzOjdweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0taW5rMyk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO3RyYW5zaXRpb246YWxsIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7fQoudnQtYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWJnKTtjb2xvcjp2YXIoLS1pbmspO2JveC1zaGFkb3c6MCAxcHggM3B4IHJnYmEoMCwwLDAsLjA4KTt9Ci5idG4tc217cGFkZGluZzo3cHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO2JvcmRlcjpub25lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dHJhbnNpdGlvbjphbGwgLjE1czt9Ci5idG4tYWNjZW50e2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1pbmspO30KLmJ0bi1hY2NlbnQ6aG92ZXJ7b3BhY2l0eTouODc7fQouYnRuLWdob3N0e2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtjb2xvcjp2YXIoLS1pbmsyKTt9Ci5idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO30KLmNvbnRlbnR7ZmxleDoxO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjIwcHggMjJweDt9Ci5zdGF0cy1iYXJ7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5zdGF0LWNhcmR7ZmxleDoxO2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoxNHB4IDE2cHg7fQouc3RhdC12YWx7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MjZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxO30KLnN0YXQtbGFiZWx7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rMyk7bWFyZ2luLXRvcDozcHg7Zm9udC13ZWlnaHQ6NTAwO30KLnN0YXQtY2FyZC5hY2NlbnQtc3RhdHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO30KLnN0YXQtY2FyZC5hY2NlbnQtc3RhdCAuc3RhdC12YWx7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO30KLmZpbHRlci1iYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21hcmdpbi1ib3R0b206MThweDtmbGV4LXdyYXA6d3JhcDt9Ci5maWx0ZXItcGlsbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7cGFkZGluZzo1cHggMTJweDtib3JkZXItcmFkaXVzOjIwcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NjAwO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JhY2tncm91bmQ6dmFyKC0tYmcpO2NvbG9yOnZhcigtLWluazMpO3RyYW5zaXRpb246YWxsIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5maWx0ZXItcGlsbDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0taW5rMyk7Y29sb3I6dmFyKC0taW5rMik7fQouZmlsdGVyLXBpbGwuYWN0aXZlLWZpbHRlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5zZWFyY2gtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTt9Ci5zZWFyY2gtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2NvbG9yOnZhcigtLWluazQpO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouc2VhcmNoLWlucHV0e3BhZGRpbmc6NnB4IDEycHggNnB4IDI4cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoyMHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rKTtiYWNrZ3JvdW5kOnZhcigtLWJnKTtvdXRsaW5lOm5vbmU7d2lkdGg6MTgwcHg7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyxib3gtc2hhZG93IC4xNXM7fQouc2VhcmNoLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQoua2FuYmFue2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtnYXA6MTJweDthbGlnbi1pdGVtczpzdGFydDt9Ci5jb2x7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlci1yYWRpdXM6MThweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1czt9Ci5jb2wuZHJhZy1vdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5jb2wuZG9pbmctY29se2JhY2tncm91bmQ6dmFyKC0tY29sLWRvaW5nLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sLWRvaW5nLWJvcmRlcik7fQouY29sLmRvbmUtY29se2JhY2tncm91bmQ6dmFyKC0tY29sLWRvbmUtYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2wtZG9uZS1ib3JkZXIpO30KLmNvbC1oZWFke3BhZGRpbmc6MTJweCAxNHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtib3JkZXItYm90dG9tOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouZG9pbmctY29sIC5jb2wtaGVhZHtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNvbC1kb2luZy1ib3JkZXIpO30KLmRvbmUtY29sIC5jb2wtaGVhZHtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWNvbC1kb25lLWJvcmRlcik7fQouY29sLXN0YXR1cy1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5jb2wtdGl0bGV7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wN2VtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbmszKTtmbGV4OjE7fQouY29sLWNvdW50e2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbms0KTt9Ci5jb2wtYm9keXtwYWRkaW5nOjEwcHg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O21pbi1oZWlnaHQ6NjBweDt9Ci5jYXJke2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjEycHg7Y3Vyc29yOmdyYWI7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xNXMsdHJhbnNmb3JtIC4xMnMsb3BhY2l0eSAuMTVzO2FuaW1hdGlvbjpjYXJkSW4gLjJzIGVhc2UgYm90aDt9CkBrZXlmcmFtZXMgY2FyZElue2Zyb217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0KLmNhcmQ6aG92ZXJ7Ym94LXNoYWRvdzp2YXIoLS1jYXJkLXNoYWRvdyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7fQouY2FyZC5kcmFnZ2luZ3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpyb3RhdGUoMS41ZGVnKSBzY2FsZSgxLjAyKTtjdXJzb3I6Z3JhYmJpbmc7fQouZG9uZS1jb2wgLmNhcmR7b3BhY2l0eTouNzt9Ci5kb25lLWNvbCAuY2FyZC10aXRsZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO2NvbG9yOnZhcigtLWluazQpO30KLmNhcmQtdG9we2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo2cHg7bWFyZ2luLWJvdHRvbTo3cHg7fQouY2FyZC1sYWJlbHN7ZGlzcGxheTpmbGV4O2dhcDo0cHg7ZmxleC13cmFwOndyYXA7fQoubGFiZWx7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MnB4IDdweDtib3JkZXItcmFkaXVzOjVweDt9Ci5sLWRlc2lnbntiYWNrZ3JvdW5kOiNFREU4RkY7Y29sb3I6IzRCMkZBMDt9LmwtZGV2e2JhY2tncm91bmQ6I0RERjVFODtjb2xvcjojMUE2NjQwO30ubC1yZXNlYXJjaHtiYWNrZ3JvdW5kOiNGRUYwRDg7Y29sb3I6IzdBNEEwMDt9LmwtY29weXtiYWNrZ3JvdW5kOiNGRkU4RTg7Y29sb3I6IzhBMjAyMDt9LmwtcWF7YmFja2dyb3VuZDojRTBFRUZGO2NvbG9yOiMxQTQ4ODg7fQouY2FyZC10aXRsZXtmb250LXNpemU6MTIuNXB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjEuNDU7bWFyZ2luLWJvdHRvbTo5cHg7fQouY2FyZC1mb290e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQouY2FyZC1tZXRhLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O30KLmFzc2lnbmVle3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9udC1zaXplOjlweDtmb250LXdlaWdodDo3MDA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7ZmxleC1zaHJpbms6MDt9Ci5kdWUtZGF0ZXtmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7fQouZHVlLWRhdGUub3ZlcmR1ZXtjb2xvcjojQzAzMDMwO2ZvbnQtd2VpZ2h0OjYwMDt9Ci5zdWJ0YXNrLXByb2d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpO30KLnByb2ctYmFye3dpZHRoOjM2cHg7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnMyk7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6aGlkZGVuO30KLnByb2ctZmlsbHtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo0cHg7fQoubW92ZS1idG57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4O2JvdHRvbTo4cHg7b3BhY2l0eTowO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjZweDt3aWR0aDoyMXB4O2hlaWdodDoyMXB4O2ZvbnQtc2l6ZToxMHB4O2N1cnNvcjpwb2ludGVyO2NvbG9yOnZhcigtLWluazMpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjEycyxiYWNrZ3JvdW5kIC4xMnM7Zm9udC1mYW1pbHk6aW5oZXJpdDt9Ci5jYXJkOmhvdmVyIC5tb3ZlLWJ0bntvcGFjaXR5OjE7fQoubW92ZS1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2NvbG9yOnZhcigtLWluayk7fQouYWRkLWNhcmQtYnRue21hcmdpbjowIDEwcHggMTBweDtwYWRkaW5nOjhweCAxMHB4O2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggZGFzaGVkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMnB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluazQpO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtmb250LWZhbWlseTppbmhlcml0O3RyYW5zaXRpb246YWxsIC4xMnM7d2lkdGg6Y2FsYygxMDAlIC0gMjBweCk7fQouYWRkLWNhcmQtYnRuOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5xdWljay1mb3Jte21hcmdpbjowIDEwcHggMTBweDtiYWNrZ3JvdW5kOnZhcigtLWJnKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxMHB4O2Rpc3BsYXk6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDt9Ci5xdWljay1mb3JtLm9wZW57ZGlzcGxheTpmbGV4O30KLnFmLWlucHV0e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEyLjVweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjlweDtwYWRkaW5nOjdweCAxMHB4O291dGxpbmU6bm9uZTtyZXNpemU6bm9uZTt3aWR0aDoxMDAlO30KLnFmLWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6dmFyKC0tZm9jdXMtcmluZyk7fQoucWYtcm93e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O30KLnFmLXNlbGVjdHtmbGV4OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbmsyKTtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo5cHg7cGFkZGluZzo1cHggOHB4O291dGxpbmU6bm9uZTt9Ci5xZi1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtnYXA6NnB4O30KLnFmLWNvbmZpcm17ZmxleDoxO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjlweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtwYWRkaW5nOjdweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O30KLnFmLWNhbmNlbHtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo5cHg7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rMyk7cGFkZGluZzo3cHggMTBweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTppbmhlcml0O30KLmxpc3QtaGVhZGVye2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDExMHB4IDkwcHggMTAwcHggNzBweDtnYXA6MTBweDtwYWRkaW5nOjhweCAxNHB4O2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHggMTJweCAwIDA7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbms0KTt9Ci5saXN0LXJvd3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxMTBweCA5MHB4IDEwMHB4IDcwcHg7Z2FwOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXRvcDpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzO2N1cnNvcjpwb2ludGVyO30KLmxpc3Qtcm93OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5saXN0LXJvdzpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDt9Ci5saXN0LWRvbmV7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtjb2xvcjp2YXIoLS1pbms0KTt9Ci5zdGF0dXMtY2hpcHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czoyMHB4O30KLnMtdG9kb3tiYWNrZ3JvdW5kOnZhcigtLWJnMyk7Y29sb3I6dmFyKC0taW5rMyk7fS5zLWRvaW5ne2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTtjb2xvcjp2YXIoLS1hY2NlbnQtZGFyayk7fS5zLWRvbmV7YmFja2dyb3VuZDp2YXIoLS1oaS1iZyk7Y29sb3I6dmFyKC0taGktZGFyayk7fQoubW9kYWwtb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjgpO3otaW5kZXg6NTAwO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpO30KLm1vZGFsLW92ZXJsYXkub3BlbntkaXNwbGF5OmZsZXg7fQoubW9kYWx7YmFja2dyb3VuZDp2YXIoLS1iZyk7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MjZweDt3aWR0aDo0ODBweDttYXgtd2lkdGg6OTV2dztib3gtc2hhZG93OjAgMjRweCA2NHB4IHJnYmEoMCwwLDAsLjE0KTthbmltYXRpb246bW9kYWxJbiAuMThzIGVhc2UgYm90aDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTt9CkBrZXlmcmFtZXMgbW9kYWxJbntmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk2KSB0cmFuc2xhdGVZKDZweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfX0KLm1vZGFsLXRpdGxle2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7bWFyZ2luLWJvdHRvbToxOHB4O30KLm1vZGFsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMnB4O30KLm1vZGFsLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLXRvcDoxOHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci5kYXNoLWdyZWV0aW5ne21hcmdpbi1ib3R0b206MjBweDt9Ci5kYXNoLWdyZWV0aW5nIGgye2ZvbnQtZmFtaWx5OidGcmF1bmNlcycsc2VyaWY7Zm9udC1zaXplOjI2cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7bGluZS1oZWlnaHQ6MS4yO30KLmRhc2gtZ3JlZXRpbmcgcHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tdG9wOjRweDt9Ci5kYXNoLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxNHB4O21hcmdpbi1ib3R0b206MjBweDt9Ci5kYXNoLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjE4cHg7fQouZGFzaC1jYXJkLmFjY2VudHtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO30KLmRhc2gtY2FyZC5oaS1jYXJke2JvcmRlci1jb2xvcjp2YXIoLS1oaS1iZyk7YmFja2dyb3VuZDp2YXIoLS1oaS1iZyk7fQouZGFzaC1jYXJkLWxhYmVse2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDZlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLWJvdHRvbTo4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O30KLmRhc2gtYmlnLW51bXtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZTo0MHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO2xpbmUtaGVpZ2h0OjE7fQouZGFzaC1zdWJ7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rMyk7bWFyZ2luLXRvcDo0cHg7fQouZGFzaC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweDttYXJnaW4tdG9wOjRweDt9Ci5kYXNoLWxpc3QtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rMik7cGFkZGluZzo2cHggOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yYWRpdXM6OXB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyMik7fQouZGFzaC1kb3R7d2lkdGg6N3B4O2hlaWdodDo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci5kYXNoLXN0cmVha3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O30KLnN0cmVhay1udW17Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6MzhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO30KLmRhc2gtd2lkZXtncmlkLWNvbHVtbjpzcGFuIDI7fQoucHJvZy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tdG9wOjhweDt9Ci5wcm9nLXRyYWNre2ZsZXg6MTtoZWlnaHQ6OHB4O2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47fQoucHJvZy10cmFjay1maWxse2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOndpZHRoIC41czt9Ci5jYWwtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToxNnB4O30KLmNhbC1tb250aHtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO30KLmNhbC1uYXYtYnRue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjlweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS1pbmszKTt0cmFuc2l0aW9uOmFsbCAuMTJzO30KLmNhbC1uYXYtYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmcyKTtib3JkZXItY29sb3I6dmFyKC0taW5rMyk7fQouY2FsLXZpZXctdGFic3tkaXNwbGF5OmZsZXg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjNweDtnYXA6MnB4O30KLmNhbC12dHtwYWRkaW5nOjRweCAxMnB4O2JvcmRlci1yYWRpdXM6N3B4O2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1pbmszKTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1mYW1pbHk6aW5oZXJpdDt0cmFuc2l0aW9uOmFsbCAuMTJzO30KLmNhbC12dC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4wOCk7fQouY2FsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNywxZnIpO2dhcDoxcHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouY2FsLWRvd3tiYWNrZ3JvdW5kOnZhcigtLWJnMik7cGFkZGluZzo4cHggNHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDVlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7fQouY2FsLWRheXtiYWNrZ3JvdW5kOnZhcigtLWJnKTtwYWRkaW5nOjhweDttaW4taGVpZ2h0OjgwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnM7cG9zaXRpb246cmVsYXRpdmU7fQouY2FsLWRheTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7fQouY2FsLWRheS50b2RheXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7fQouY2FsLWRheS50b2RheSAuY2FsLWRheS1udW17YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWluayk7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC13ZWlnaHQ6NzAwO30KLmNhbC1kYXkub3RoZXItbW9udGggLmNhbC1kYXktbnVte2NvbG9yOnZhcigtLWluazQpO30KLmNhbC1kYXktbnVte2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmsyKTttYXJnaW4tYm90dG9tOjRweDt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt9Ci5jYWwtZGF5LXRhc2tze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweDt9Ci5jYWwtdGFzay1waWxse2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjJweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2NvbG9yOnZhcigtLWluazMpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7fQouY2FsLXRhc2stcGlsbC5wcmktaGlnaHtiYWNrZ3JvdW5kOiNGRkU4RTg7Y29sb3I6IzhBMjAyMDtib3JkZXItY29sb3I6I0ZGQUFBQTt9Ci5jYWwtdGFzay1waWxsLnByaS1tZWR7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LWJvcmRlcik7fQouY2FsLXRhc2stbW9yZXtmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtwYWRkaW5nOjFweCA0cHg7fQoud2Vlay1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NTJweCByZXBlYXQoNywxZnIpO2dhcDowO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47fQoud2Vlay1oZWFke2JhY2tncm91bmQ6dmFyKC0tYmcyKTtwYWRkaW5nOjhweCA0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTt9Ci53ZWVrLWhlYWQtZGF5e2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0taW5rNCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07fQoud2Vlay1oZWFkLWRhdGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluayk7bWFyZ2luLXRvcDoycHg7fQoud2Vlay1oZWFkLWRhdGUudG9kYXktZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0taW5rKTtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MnB4IGF1dG8gMDt9Ci53ZWVrLXRpbWUtY29se2JhY2tncm91bmQ6dmFyKC0tYmcyKTtwYWRkaW5nOjhweCA2cHggOHB4IDhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTt9Ci53ZWVrLXRpbWUtbGFiZWx7Zm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0taW5rNCk7fQoud2Vlay1jZWxse2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtwYWRkaW5nOjJweDttaW4taGVpZ2h0OjM2cHg7fQoud2Vlay1jZWxsLnRvZGF5LWNvbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDE3MCwwLC4wNCk7fQoud2Vlay10YXNrLWJsb2Nre2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjJweCA1cHg7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtib3JkZXItbGVmdDozcHggc29saWQgdmFyKC0tYWNjZW50KTttYXJnaW4tYm90dG9tOjJweDt9Ci5qb3VybmFsLWxheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAzMDBweDtnYXA6MThweDthbGlnbi1pdGVtczpzdGFydDt9Ci5qb3VybmFsLWVkaXRvcntiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MjBweDt9Ci5qb3VybmFsLWRhdGUtaGVhZHtmb250LWZhbWlseTonRnJhdW5jZXMnLHNlcmlmO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbi1ib3R0b206MTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O30KLm1vb2Qtcm93e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O21hcmdpbi1ib3R0b206MTZweDt9Ci5tb29kLWJ0bntmbGV4OjE7cGFkZGluZzo4cHggNHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnKTtjdXJzb3I6cG9pbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO2ZvbnQtZmFtaWx5OmluaGVyaXQ7fQoubW9vZC1idG46aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7fQoubW9vZC1idG4uYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LWJnKTt9Ci5tb29kLWljb257ZGlzcGxheTpibG9jazttYXJnaW46MCBhdXRvIDNweDt9Ci5tb29kLWxhYmVse2ZvbnQtc2l6ZTo5cHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLWluazQpO2Rpc3BsYXk6YmxvY2s7fQoubW9vZC1idG4uYWN0aXZlIC5tb29kLWxhYmVse2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5qb3VybmFsLXRleHRhcmVhe3dpZHRoOjEwMCU7bWluLWhlaWdodDoyMDBweDtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0tYmcpO291dGxpbmU6bm9uZTtyZXNpemU6dmVydGljYWw7bGluZS1oZWlnaHQ6MS43O30KLmpvdXJuYWwtdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTt9Ci50YWdzLWlucHV0LWp7d2lkdGg6MTAwJTtib3JkZXI6MS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzo4cHggMTJweDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluayk7YmFja2dyb3VuZDp2YXIoLS1iZyk7b3V0bGluZTpub25lO21hcmdpbi10b3A6MTBweDt9Ci50YWdzLWlucHV0LWo6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzp2YXIoLS1mb2N1cy1yaW5nKTt9Ci5qb3VybmFsLWZvb3RlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi10b3A6MTJweDt9Ci53b3JkLWNvdW50e2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO30KLmpvdXJuYWwtc2F2ZS1idG57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjhweCAyMHB4O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluayk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMsYmFja2dyb3VuZCAuM3M7fQouam91cm5hbC1zYXZlLWJ0bjpob3ZlcntvcGFjaXR5Oi44Nzt9Ci5qb3VybmFsLXNpZGViYXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweDt9Ci5zdHJlYWstY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1iZyk7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWFjY2VudC1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7fQouc3RyZWFrLW51bS1iaWd7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6NDRweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tYWNjZW50LWRhcmspO2xpbmUtaGVpZ2h0OjE7fQouc3RyZWFrLWxhYmVse2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXRvcDoycHg7fQouc3RyZWFrLXN1Yntmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KTttYXJnaW4tdG9wOjRweDt9Ci5wYXN0LWVudHJpZXMtY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxNnB4O292ZXJmbG93OmhpZGRlbjt9Ci5wYXN0LWVudHJpZXMtaGVhZHtwYWRkaW5nOjEycHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS1pbmspO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQoucGFzdC1lbnRyeXtwYWRkaW5nOjEwcHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEyczt9Ci5wYXN0LWVudHJ5Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO30KLnBhc3QtZW50cnk6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZyk7fQoucGUtZGF0ZXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rMik7fQoucGUtcHJldmlld3tmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWFyZ2luLXRvcDoycHg7fQoucGUtbW9vZC1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZmxleC1zaHJpbms6MDt9Ci50aW1lci1sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMjgwcHg7Z2FwOjE4cHg7YWxpZ24taXRlbXM6c3RhcnQ7fQoudGltZXItbWFpbntiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MjhweDt0ZXh0LWFsaWduOmNlbnRlcjt9Ci50aW1lci1tb2RlLXRhYnN7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzozcHg7Z2FwOjJweDttYXJnaW4tYm90dG9tOjI4cHg7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt9Ci50aW1lci1tb2RlLXRhYntwYWRkaW5nOjZweCAxOHB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDA7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0taW5rMyk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dHJhbnNpdGlvbjphbGwgLjEyczt9Ci50aW1lci1tb2RlLXRhYi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1iZyk7Y29sb3I6dmFyKC0taW5rKTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKTt9Ci50aW1lci1yaW5nLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjAwcHg7aGVpZ2h0OjIwMHB4O21hcmdpbjowIGF1dG8gMjRweDt9Ci50aW1lci1yaW5nLXN2Z3t0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7fQoudGltZXItcmluZy10cmFja3tmaWxsOm5vbmU7c3Ryb2tlOnZhcigtLWJnMyk7c3Ryb2tlLXdpZHRoOjg7fQoudGltZXItcmluZy1iYXJ7ZmlsbDpub25lO3N0cm9rZTp2YXIoLS1hY2NlbnQpO3N0cm9rZS13aWR0aDo4O3N0cm9rZS1saW5lY2FwOnJvdW5kO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgLjVzIGxpbmVhcjt9Ci50aW1lci1kaXNwbGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RleHQtYWxpZ246Y2VudGVyO30KLnRpbWVyLXRpbWV7Zm9udC1mYW1pbHk6J0ZyYXVuY2VzJyxzZXJpZjtmb250LXNpemU6NDZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtsaW5lLWhlaWdodDoxO2xldHRlci1zcGFjaW5nOi0uMDJlbTt9Ci50aW1lci1zdGF0ZS1sYmx7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi4wOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tdG9wOjRweDt9Ci50aW1lci1jb250cm9sc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyMHB4O30KLnRpbWVyLWJ0bnt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAuMTVzO30KLnRpbWVyLWJ0bi1tYWlue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWluayk7fQoudGltZXItYnRuLW1haW46aG92ZXJ7b3BhY2l0eTouODg7fQoudGltZXItYnRuLWdob3N0e2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2NvbG9yOnZhcigtLWluazIpO30KLnRpbWVyLWJ0bi1naG9zdDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnMyk7fQoudGltZXItdGFzay1saW5re2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjhweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbmszKTt9Ci50aW1lci10YXNrLXNlbGVjdHtmbGV4OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbmspO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7fQoucG9tb2Rvcm8tY291bnR7ZGlzcGxheTpmbGV4O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjE2cHg7fQoucG9tLWRvdHt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYmczKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzO30KLnBvbS1kb3QuZG9uZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7fQoucG9tLWRvdC5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1oaSk7fQoudGltZXItbG9nLWNhcmR7YmFja2dyb3VuZDp2YXIoLS1iZzIpO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW47fQoudGltZXItbG9nLWhlYWR7cGFkZGluZzoxMnB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0taW5rKTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO30KLmxvZy1lbnRyeXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo5cHggMTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIyKTtmb250LXNpemU6MTJweDt9Ci5sb2ctZW50cnk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmU7fQoubG9nLXR5cGUtYmFkZ2V7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MnB4IDdweDtib3JkZXItcmFkaXVzOjVweDt9Ci5sb2ctcG9tb2Rvcm97YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtYmcpO2NvbG9yOnZhcigtLWFjY2VudC1kYXJrKTt9Ci5sb2ctc3RvcHdhdGNoe2JhY2tncm91bmQ6dmFyKC0taGktYmcpO2NvbG9yOnZhcigtLWhpLWRhcmspO30KLmxvZy1kdXJhdGlvbntmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rKTttYXJnaW4tbGVmdDphdXRvO30KLnN0b3B3YXRjaC1sYXBze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjRweDttYXgtaGVpZ2h0OjEwMHB4O292ZXJmbG93LXk6YXV0bzttYXJnaW4tdG9wOjEycHg7fQoubGFwLXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Zm9udC1zaXplOjExcHg7cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6dmFyKC0tYmcpO2JvcmRlci1yYWRpdXM6N3B4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyMik7fQouc2NoZWQtbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDMwMHB4O2dhcDoxOHB4O2FsaWduLWl0ZW1zOnN0YXJ0O30KLnNjaGVkLWNhbHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O292ZXJmbG93OmhpZGRlbjt9Ci5zY2hlZC1jYWwtaGVhZGVye3BhZGRpbmc6MTRweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt9Ci5zY2hlZC1wYW5lbHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxOHB4O292ZXJmbG93OmhpZGRlbjt9Ci5zY2hlZC1wYW5lbC1oZWFke3BhZGRpbmc6MTJweCAxNnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt9Ci5ldmVudC1waWxse2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjJweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2N1cnNvcjpwb2ludGVyO30KLmV2ZW50LWl0ZW17cGFkZGluZzoxMHB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyMik7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnM7ZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQouZXZlbnQtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnKTt9Ci5ldmVudC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO30KLmV2ZW50LWNvbG9yLWJhcnt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoycHg7ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjJweDthbGlnbi1zZWxmOnN0cmV0Y2g7fQouZXZlbnQtbmFtZXtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0taW5rKTt9Ci5ldmVudC10aW1le2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO21hcmdpbi10b3A6MnB4O30KLmV2ZW50LWJhZGdle2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjFweCA3cHg7Ym9yZGVyLXJhZGl1czoxMHB4O21hcmdpbi1sZWZ0OmF1dG87ZmxleC1zaHJpbms6MDt9Ci5jb2xvci1zd2F0Y2hlc3tkaXNwbGF5OmZsZXg7Z2FwOjZweDttYXJnaW4tdG9wOjhweDt9Ci5jb2xvci1zd2F0Y2h7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTJzO2JvcmRlcjoycHggc29saWQgdHJhbnNwYXJlbnQ7fQouY29sb3Itc3dhdGNoOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjE1KTt9Ci5jb2xvci1zd2F0Y2guYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1pbmspO30KLmNvdW50ZG93bi1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDoxNHB4O30KPC9zdHlsZT48L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8YSBocmVmPSIjbWFpbi1jb250ZW50IiBjbGFzcz0ic2tpcC1saW5rIj5Ta2lwIHRvIG1haW4gY29udGVudDwvYT4KCjxkaXYgY2xhc3M9Im1vZGFsLW92ZXJsYXkiIGlkPSJ0YXNrLW1vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWxsZWRieT0ibW9kYWwtaGVhZGluZyI+CiAgPGRpdiBjbGFzcz0ibW9kYWwiPgogICAgPGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9Im1vZGFsLWhlYWRpbmciPk5ldyB0YXNrPC9oMj4KICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLXRpdGxlIj5XaGF0IG5lZWRzIGRvaW5nPzwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS10aXRsZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkRlc2NyaWJlIHRoZSB0YXNr4oCmIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1wcm9qZWN0Ij5Qcm9qZWN0PC9sYWJlbD48c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS1wcm9qZWN0Ij48b3B0aW9uIHZhbHVlPSJwcm9kdWN0Ij5Qcm9kdWN0IExhdW5jaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImJyYW5kIj5CcmFuZCBSZWZyZXNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZGV2Ij5EZXYgU3ByaW50PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLXN0YXR1cyI+U3RhdHVzPC9sYWJlbD48c2VsZWN0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ibS1zdGF0dXMiPjxvcHRpb24gdmFsdWU9InRvZG8iPlRvIERvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG9pbmciPkluIFByb2dyZXNzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZG9uZSI+RG9uZTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1wcmlvcml0eSI+UHJpb3JpdHk8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJtLXByaW9yaXR5Ij48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsb3ciPkxvdzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1sYWJlbCI+TGFiZWw8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJtLWxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ibS1kdWUiPkR1ZSBkYXRlPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIHR5cGU9ImRhdGUiIGlkPSJtLWR1ZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJtLWFzc2lnbmVlIj5Bc3NpZ25lZTwvbGFiZWw+PHNlbGVjdCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9Im0tYXNzaWduZWUiPjxvcHRpb24gdmFsdWU9IjAiPkFsZXggS2ltPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMSI+TWlhIEJlbGxvPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iMiI+U2FtIExlZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IjMiPkpvcmRhbiBULjwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJtb2RhbC1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJidG4tc20gYnRuLWdob3N0IiBvbmNsaWNrPSJjbG9zZU1vZGFsKCkiPkNhbmNlbDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzYXZlVGFzaygpIj5BZGQgdGFzazwvYnV0dG9uPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9Im1vZGFsLW92ZXJsYXkiIGlkPSJldmVudC1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLW1vZGFsPSJ0cnVlIiBhcmlhLWxhYmVsbGVkYnk9ImV2LW1vZGFsLWgiPgogIDxkaXYgY2xhc3M9Im1vZGFsIj4KICAgIDxoMiBjbGFzcz0ibW9kYWwtdGl0bGUiIGlkPSJldi1tb2RhbC1oIj5OZXcgZXZlbnQ8L2gyPgogICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9ImV2LXRpdGxlIj5FdmVudCBuYW1lPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJldi10aXRsZSIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IldoYXQncyBoYXBwZW5pbmc/Ij48L2Rpdj4KICAgIDxkaXYgY2xhc3M9Im1vZGFsLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtZGF0ZSI+RGF0ZTwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiB0eXBlPSJkYXRlIiBpZD0iZXYtZGF0ZSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJldi10aW1lIj5TdGFydCB0aW1lPC9sYWJlbD48aW5wdXQgY2xhc3M9ImZvcm0taW5wdXQiIHR5cGU9InRpbWUiIGlkPSJldi10aW1lIiB2YWx1ZT0iMDk6MDAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtZW5kIj5FbmQgdGltZTwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiB0eXBlPSJ0aW1lIiBpZD0iZXYtZW5kIiB2YWx1ZT0iMTA6MDAiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iZXYtcmVjdXIiPlJlY3VycmVuY2U8L2xhYmVsPjxzZWxlY3QgY2xhc3M9ImZvcm0taW5wdXQiIGlkPSJldi1yZWN1ciI+PG9wdGlvbiB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRhaWx5Ij5EYWlseTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IndlZWtseSI+V2Vla2x5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibW9udGhseSI+TW9udGhseTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDo0cHgiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+Q29sb3VyPC9sYWJlbD4KICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoZXMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCBhY3RpdmUiIGRhdGEtY29sb3I9IiNGRkFBMDAiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkFBMDAiIG9uY2xpY2s9InNlbGVjdEV2ZW50Q29sb3IodGhpcykiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCIgZGF0YS1jb2xvcj0iIzVCNUJENiIgc3R5bGU9ImJhY2tncm91bmQ6IzVCNUJENiIgb25jbGljaz0ic2VsZWN0RXZlbnRDb2xvcih0aGlzKSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoIiBkYXRhLWNvbG9yPSIjMDBBQUNDIiBzdHlsZT0iYmFja2dyb3VuZDojMDBBQUNDIiBvbmNsaWNrPSJzZWxlY3RFdmVudENvbG9yKHRoaXMpIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1zd2F0Y2giIGRhdGEtY29sb3I9IiMyMjg2M0EiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMjg2M0EiIG9uY2xpY2s9InNlbGVjdEV2ZW50Q29sb3IodGhpcykiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXN3YXRjaCIgZGF0YS1jb2xvcj0iI0U1MzkzNSIgc3R5bGU9ImJhY2tncm91bmQ6I0U1MzkzNSIgb25jbGljaz0ic2VsZWN0RXZlbnRDb2xvcih0aGlzKSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sb3Itc3dhdGNoIiBkYXRhLWNvbG9yPSIjRkY2QjJCIiBzdHlsZT0iYmFja2dyb3VuZDojRkY2QjJCIiBvbmNsaWNrPSJzZWxlY3RFdmVudENvbG9yKHRoaXMpIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJldi1ub3RlcyI+Tm90ZXM8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9ImV2LW5vdGVzIiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iT3B0aW9uYWzigKYiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ibW9kYWwtYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYnRuLXNtIGJ0bi1naG9zdCIgb25jbGljaz0iY2xvc2VFdmVudE1vZGFsKCkiPkNhbmNlbDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzYXZlRXZlbnQoKSI+QWRkIGV2ZW50PC9idXR0b24+PC9kaXY+CiAgPC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0iYXV0aC1zY3JlZW4iIHJvbGU9Im1haW4iIGFyaWEtbGFiZWw9IlNpZ24gaW4iPgogIDxkaXYgY2xhc3M9ImF1dGgtbGVmdCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgPGRpdiBjbGFzcz0iYXV0aC1icmFuZCI+CiAgICAgIDxzdmcgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCA0OCA0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgYXJpYS1oaWRkZW49InRydWUiIGZvY3VzYWJsZT0iZmFsc2UiPjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgcng9IjEwIiBmaWxsPSIjRkZBQTAwIi8+PGRlZnM+PHN0eWxlPi5zazB7ZmlsbDpub25lfS5zazF7Y2xpcC1wYXRoOnVybCgjc2lua2NwKX08L3N0eWxlPjxjbGlwUGF0aCBpZD0ic2lua2NwIj48cmVjdCBjbGFzcz0ic2swIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGFzcz0ic2sxIj48aW1hZ2Ugd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHRyYW5zZm9ybT0ic2NhbGUoLjI0KSIgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNZ0FBQURJQ0FZQUFBQ3RXSzZlQUFBQUNYQklXWE1BQUM0akFBQXVJd0Y0cFQ5MkFBQU0zMGxFUVZSNG5PM2RmY3dkWlozRzhlOFBTcUVpcFFVQ0JvUHRVb0t0aVlpN2drUVIzVlZCRXdFaGlxOFJrczFteldJSWZ5RXhXYXJyN29wbW94SVgyUVdOMWJodVVDTXFHcXRHalNpS3ZGaXh1eXAwV1pFV1ZoRkYya0pmNmVVZk14VjRkdTc3bVRNelorYWM1MXlmcEdrNjU1bDdmbk42WDgrODN3Tm1abVptWm1abVptWm1abVptTm5OaTZBS3NQa25IQVNjQ0p3QXJnYVhBRXVBeFlDdHdMN0FKdURzaTdoK215b1hGQVpsd2tsWUQ1d0t2QVo0REhGRmp0dDhCRzRHdkFWK0tpTHZHVjZIWkFDUzlXTkwxa2g1VE85c2xmVWJTYVVPdmsxbHJrdjVNMGljbDdXc1pqTG4yU2xvbmFjWFE2MmpXaUtRTEpQMm00MkRNOVgrUzNqRDB1cHFOUk5JL2p6a1ljLzNUME9zOERYeVFQakJKaTRDUEFuOVRjNWE5d0diZ2Z5a094bmNDaHdCSEFxdUE0NEFEYTdiMWNlRHRFYkYzbEpyTmVpUHBtcHEvOFcrWGRKbWtreVVkbW1qclVFbC9YdjdjN1RYYi9XamY2MnhXaTZTL3I5R0JiNU4wcnFTNlc0WDliUytTZEg3Tm9MeHJYT3RvMW9pa1Y2czRzNVN5UjlJVmtnNXV1Wndsa3RiV1dOWXJ1MW8zczFZa0xaZjB5MHlIZlVUU3VSMHY4N1dTL3BCWjVpWkpTN3RjcGxramtqNlE2YWpiSmIxaVRNdjl5N0w5RkovWnNtR3B1QkNZNjZRWDFHeG5pYVFWa2s0cy8xNVNjNzQzWnBiOWlJcjd2Y3lHSWVsZk1oMzBxaHJ6djBUU3h5VDlyQXphdnZMdm4wbTZUdEpMYXJUeHI1a2EzdGZObXBxTlNOSlNTVnNTSGZPWGtnN1B6SHVNcEU5bE92YVQvWWVrWXpKdExaZjBxOFM4djVMMDlQRjhBMllaS2s2N3BseWNtZTk0U1J0cmhtTy9qWktPejdSNVNXYmVjOGJ6RFpobFNQcjNSSWQ4UU5LeXhEekxKRzBZTVJ6N2JjaTBlNFNrWHlmbXUzcTgzNFRaSENvdTNQMGswU0UvbHBudnd3M0RzZDhITTIxL0lqSFBqelhpaFVtelZpUWRLMmxyb2tOV25ybVN0RXJTb3kwRHNsMkpYUzFKYjByTTg0aWtaNHozRzVrT0J3eGR3QXhaQVZUZFE3VWIrTy9FUE9jRFQwdDh0Z0Y0UGJDNi9IdEQ0dWNPTGR1cHNoSFlVekg5NlJTUDlKcjFROUk1aWQvV0QwZzZNakhQbHhMejNDM3A2RGsvZTdTS3ErRlZ2cGhvL3lnVno0ZFU4WUU2M29MMEtiVWwyQUZzUzN5V2V2cHZYVVE4K09RSjViL1hqZGpPVm9vQkg2cWs2cDBwRGtoL1VqY2Q3cVZpTjBkU1VJeFlVbVZ6WXZwOWllbFBLOXViYTArNS9DcXRicEpjS0J5UTZaVDZmL1AvWjhmOGhjNkdmUkdodVJQTGFmc0dxR2RxTEJxNkFPdkZzWkxXcFQ3cnM1QnA0NERNaHFYQWhVTVhNWTI4aTdXd2REa0lod2Ywd0Z1UVZpUWRRWEVSN2huQWR5UGllME9YTktGdFRTMEhwQ0ZKSndCZkJ0WThNVWxySStLOUE1YjFpdzdiK25tSGJVMHQ3MkkxZHdWUGhBT0tYWkwzU0hydVFQVUEzRW94eGxaYlYwZkVyUjIwTS9XOEJXbnVsSXBwQVp4TWNZOVQ3eUpDa3Q0QjNBUzhIRmc4WWhPN2dXOUZ4UFdkRnplbEhKQUd5cXZTcWR2QkI3MU52THkyY1gzNXgxcnlMbFp6cVlQWW5ZbnB1OFpWaUkyUHR5RGRPMW5TYjZxbTkxNkp0ZWFBZE8rZDVSOWJBTHlMWlpiaGdKaGxPQ0JtR1E2SVdZWVAwcnYzS01VRnQ3a1dVejFvZzAwd0I2Ujdsd0gvV1RIOVRZQUhaSnN5RGtqM3RrYkV3M01uU3RvNlJESFdqbzlCbWtzOUw1SDZwZU9SQ3FlUUE5SkFlYjlUNnBhU0hYM1dZdVBsZ0RSM1k4VzBoNEdiK3k3RXhzY0JhZTVLNERNOE1hYlZ2Y0NGRWJGbHNJcXNjejVJYnlnaXRnRnZrWFFsc0J6NHI0ajQvY0JsV2NjY2tKWWlZcENIbzZ3ZjNzVXl5M0JBekRJY0VMTU1COFFzd3dFeHkzQkF6RElja1A2azN1VFU1TlVFcWJhc1k3NE8waEZKcTREbkFZY2xmdVQweFBSbGtpN2kvdzhqRkVEbE84NkJNeVdsWHBHMkRiZ3pJdTdKbEd2V0Qwa3JKWDFTeGV1V0o4VjJTWitXZE56UTM4KzA4eEQzTGFnWWgvZEcwaS9KSE5vOXdOa1I0WUdvRzNKQUdsS3hpM016a3o4ZzNBYmdqSWpZUG5RaDA4Z0g2YzI5bWNrUEI4RHpLUjczdFFZY2tPYk9HN3FBRVp3emRBSFR5bWV4bWx1Wm1QNXJZS2puejVkU3ZPMXFydVA3TG1TaGNFQWFVUEg2ZzRNU0gxOE9mS3JIY3A3c2JjQzZpdWtIU1lxcTZ5Mlc1NEEwbCtwc0dxb2pTa3JXMUdzaEM0aVBRYm8zNUpsQm41WHNtQU5pbHVHQU5ERFBMdFNRdXpQSlpmdjRvNWxPajBIS2c5ZFprRnZQR1BCN1NDNVgwZ0hNeUxGSWw3OE1HdjlIU2pvSWVGWDU1M25Ba2N6V0Zta2wxVytSbmNUVHZMc3BoaVdhRmZ1QWg0QTdnZlhBMXlOaVQzNldhbzBDSXVuVndEOEFMMmd5djFuUDdnRFdSc1JYUjUxeDVJQkl1Z3g0LzZqem1VMkF5eU5pcEw0N1VrQWtYUXA4YUtTU3pDYkxwUkZ4VmQwZnJoMFFTYWNBMzZkNnY5dHNXdXdHWGhRUmQ5VDU0VkVPcXRmaWNOajBXd3k4dSs0UDE5cUNTRnBEY1VhZzZ2NGpBZGNEMzZiNjFXTm1mVnNNdkJ5NGdPbyt2Z2M0S1NKKzBjblNKTDA5OFdqblBrbC8xOGxDekRvbTZlTE1ZOGwvMitXQ3Jrb3M1SmJPRm1JMkJwSnVTZlRkV2dmcWRZOUJsaWFtZDdPSk1odWZWQjlOOWVtbnFCdVFiWW5wcTJ2T2J6YVVOWW5wcVQ3OUZIVUQ4dFBFOUJkS3VyaG1HMmE5S3Z2bXFZbVA3NnpUUnQyeldDZFNoT1RncW8rQnp3TGZ3bWV4YkRJc0JsNUJjUmFyeWk3Z3VSR3hhYjZHUnJsUStBV21hNkFDczVRYkl1TDhPajg0U2tCT0FuNEVITkswS3JNSnNBTTRMU0pTaHcxUFVmdEtldG5nSlUyck1wc1FsOVlOQjR6NC9FWkVYQWU4QXg5cjJQVFpEVndTRWRlT010UElEemhGeE5VVUIwRGZZVWFlVUxPcGR4UHd5b2o0eUtnenRubzBWTklWd0hzcVBwcTFKOWhzZUN1cHZwbDJMZkRlcG8vaHRuMG1QWFdhN0Y2S0N6VGV3bGdmQXZnNWNHTEZaNXZhUEtQZU5pREoyOThqSXZWMkpMT3VaY2JNYS9lSXh0Z0dXWmloRVU1c1lPUHNhN00wQ29uWnlCd1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3pEQVRITGNFRE1NaHdRc3d3SHhDekRBVEhMY0VETU1od1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3pEQVRITGNFRE1NaHdRc3d3SHhDekRBVEhMY0VETU1od1Fzd3dIeEN6REFUSExjRURNTWh3UXN3d0h4Q3lqYlVBZVQweVBEdG8ycStzQTB2MHQxVWRyTjl6R2pzVDB4Zmg5NnRhZlEwaS9TU3JWUjJ0cEc1QnRpZW5MZ0NOYnRtMVcxMUhBNFluUHRyWnB1RzFBN2dOMlZVdy9IRmpSc20yenVsWlNIWkJkRkgyMHNiWUIyUXc4bFBqczlKWnRtOVgxNHNUMDN3SmIyalRjS2lBUjhTaXdJZkh4MlczYU5xdWpmSUZucXE5dEtQdG9ZMTJjYWZwdVl2cXBrazdyb0gyem5CY0NweVErUy9YTi9raGFJMm1ucW4xKzZQcHNZWlAwK1VUZjJ5RnA5ZEQxQVNEcG00a2lINWQwNXREMTJjSWs2Y3l5ajFYNXh0RDEvWW1rY3hKRlN0TGRrbnpLMXpvbDZTaEptekw5Ym5LT2dTVWRLT21IbVdKdmxMUm82RHB0WVpDMFNOSlhNdjN0QjVJT0hMck9wNUQwVXFVM2Q1TDBhVW0rdW02dFNEcWs3RXNwajB0NjZkQjFWcEowVGFad1NWb3Y2VmxEMTJuVFNkSUtTVitmcDQ5ZFBYU2RTWklPazNUSFBDdHduNlNMSlBsbVJxdEYwZ0dTTHBTMGVaNitkWWVrdzRhdU4wdkZhZC83NTFrUlNicFowbHNsSFRWMHpUYVpKQzJYOU9heXI4eG5pNlExWGRjUVhUY0lJT2xGd0plcGQ4UGlBeFFYZEg0RTNBVThDRHdLYUJ5MTJjUUs0RkRnYUdBMWNDcHdCdkRNR3ZQK0RqZzdJbjQ0anFMR1F0SXB3T2RvZnRPaUF6SmJtdmJGemNBRkVYRkxsOFhzTjdhQUFFZzZBYmdPZU5rNGwyTXo2eWJncnlQaWY4YTFnTEVlS0plRm53WDhJOFZ1azFrWGRsRDBxYlBHR1E0WTh4Ymt5U1NkQkx3TE9JLzAwMTltT1h1QUc0RDNSY1JQK2xoZ2J3SFpUOUpmQUJkUjNLTHNoNnFzamkzQWpjQW5JdUsyUGhmY2UwRDJrN1NNNGxibE15ak9XRHdUT0FaWVF2L1BzK2UraDRWK3NtQ1MxbjBuOEJqRm1jejdnVnNwampOdWpZaUhlNjRGR0RBZ2MwbGFRdkVzKzhIMHZ3dDJIbkJseGZSN2dWZXhjRU1Td0hxS1IxYm51cHhpZDZaUHV5a2VrLzFEUkxRYWJLRXJFM01EWWZtRkRQS2xTTnFjK0doWFJOelZhekU5azFRMXBnREE1b2k0dTlkaUpwQnY5eWdjbEpnZUtoN3BYSkRLZFV1dFgrbzdtU2tPaUZtR0EyS1c0WURrN1l1SWhYcUFUcmx1KzRhdVk1Sk56RUg2d0ZJaE9GYlN1ajRMR2NDeGlla0w5aGZES0J5UXdtOFQwNWNDRi9aWnlBUjVjT2dDSm9GM3NRcTNrUjRoY2hZOUJOdytkQkdUd0FFQkl1SWg0TitHcm1PQ1hGTitKek52d1o3akg1V0tBU1Z1b0xoeVBzdldBK2RGeE02aEM1a0Uzb0tVeWc3eE91QWFpbHNlWnMxdWluVi92Y1B4Qkc5QktwUzM1cDhGUEp2UlQyU2NEcXlxbUg0UDhQMldwWTFqR1hzcEhuVmVIeEViMnhabWxpWHAyc1NnQXRkTzB6S3M0RjJzN3FYdVJPN3lEdVUrbG1FNElHWlpEb2haaGdOaWx1R0FtR1U0SUdZWkRvaFpoZ05pbHVHQW1HVTRJR1laRG9oWmhnTmlsdUdBbUdVNElHWVpEb2haaGdOaWx1R0E5S2ZMeDNobjhaSGdRWGhjclA3OFZZZUQwSjNlVVRzMkR3ZWtQNnVvZm83Y0pwaDNzYm8zNUVBWUhvU2pZdzVJOTRZYzA5Ymo2WGJNQWVsZUwyOWZUZGd3NExMTjVpZHB1YVFmSklibEdhZWJWYndZMVRya2ZkWXhrTFNVNGxYWHoyZjgzN0VvdGh6ckltTHJtSmRsWm1abVptWm1abVptWm1abVpyYncvUkVXNk9nM0ozZVRtUUFBQUFCSlJVNUVya0pnZ2c9PSIvPjwvZz48L3N2Zz4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1sb2dvIj5UaGUgS2l0Y2hlbjxicj48c3Bhbj5TaW5rPC9zcGFuPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLXRhZ2xpbmUiPkV2ZXJ5dGhpbmcgaW5jbHVkaW5nIHRoZSBraXRjaGVuIHNpbmsuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZXMiPgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUiPjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS1kb3QiPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS10ZXh0Ij5UYXNrIHRyYWNrZXIg4oCUIEthbmJhbiAmYW1wOyBsaXN0IHZpZXdzPC9kaXY+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZSI+PGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlLWRvdCI+PC9kaXY+PGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlLXRleHQiPlBsYW5uZXIg4oCUIGRheSwgd2VlayAmYW1wOyBtb250aDwvZGl2PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUiPjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS1kb3QiPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGgtZmVhdHVyZS10ZXh0Ij5Kb3VybmFsIOKAlCBtb29kLCBzdHJlYWtzICZhbXA7IGVudHJpZXM8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlIj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtdGV4dCI+VGltZXJzIOKAlCBQb21vZG9ybyAmYW1wOyB0aW1lIGxvZ2dpbmc8L2Rpdj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYXV0aC1mZWF0dXJlIj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJhdXRoLWZlYXR1cmUtdGV4dCI+U2NoZWR1bGVyIOKAlCBldmVudHMgJmFtcDsgR29vZ2xlIENhbGVuZGFyPC9kaXY+PC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJhdXRoLXJpZ2h0Ij4KICAgIDxkaXYgY2xhc3M9ImF1dGgtYm94Ij4KICAgICAgPGgxIGNsYXNzPSJhdXRoLXRpdGxlIj5Hb29kIHRvIHNlZSB5b3UuPC9oMT4KICAgICAgPHAgY2xhc3M9ImF1dGgtc3ViIj5TaWduIGluIGFuZCBsZXQncyBnZXQgdGhpbmdzIGRvbmUuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJhdXRoLXRhYnMiIHJvbGU9InRhYmxpc3QiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImF1dGgtdGFiIGFjdGl2ZSIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIiBvbmNsaWNrPSJzd2l0Y2hUYWIoJ3NpZ25pbicsdGhpcykiPlNpZ24gaW48L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhdXRoLXRhYiIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgb25jbGljaz0ic3dpdGNoVGFiKCdzaWdudXAnLHRoaXMpIj5TaWduIHVwPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJzaWduaW4tcGFuZWwiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJhdXRoLWVtYWlsIj5FbWFpbDwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0iYXV0aC1lbWFpbCIgdHlwZT0iZW1haWwiIHZhbHVlPSJkZW1vQGtpdGNoZW5zaW5rLmFwcCIgYXV0b2NvbXBsZXRlPSJlbWFpbCI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9ImF1dGgtcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9ImF1dGgtcGFzcyIgdHlwZT0icGFzc3dvcmQiIHZhbHVlPSJwYXNzd29yZCIgYXV0b2NvbXBsZXRlPSJjdXJyZW50LXBhc3N3b3JkIj48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tcHJpbWFyeSIgb25jbGljaz0ic2lnbkluKCkiPkxldCdzIGdvIOKGkjwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtZGl2aWRlciIgYXJpYS1oaWRkZW49InRydWUiPm9yPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLWdvb2dsZSIgb25jbGljaz0ic2lnbkluKCkiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBmaWxsPSIjNDI4NUY0IiBkPSJNMjIuNTYgMTIuMjVjMC0uNzgtLjA3LTEuNTMtLjItMi4yNUgxMnY0LjI2aDUuOTJjLS4yNiAxLjM3LTEuMDQgMi41My0yLjIxIDMuMzF2Mi43N2gzLjU3YzIuMDgtMS45MiAzLjI4LTQuNzQgMy4yOC04LjA5eiIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Ik0xMiAyM2MyLjk3IDAgNS40Ni0uOTggNy4yOC0yLjY2bC0zLjU3LTIuNzdjLS45OC42Ni0yLjIzIDEuMDYtMy43MSAxLjA2LTIuODYgMC01LjI5LTEuOTMtNi4xNi00LjUzSDIuMTh2Mi44NEMzLjk5IDIwLjUzIDcuNyAyMyAxMiAyM3oiLz48cGF0aCBmaWxsPSIjRkJCQzA1IiBkPSJNNS44NCAxNC4wOWMtLjIyLS42Ni0uMzUtMS4zNi0uMzUtMi4wOXMuMTMtMS40My4zNS0yLjA5VjcuMDdIMi4xOEMxLjQzIDguNTUgMSAxMC4yMiAxIDEycy40MyAzLjQ1IDEuMTggNC45M2wyLjg1LTIuMjIuODEtLjYyeiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Ik0xMiA1LjM4YzEuNjIgMCAzLjA2LjU2IDQuMjEgMS42NGwzLjE1LTMuMTVDMTcuNDUgMi4wOSAxNC45NyAxIDEyIDEgNy43IDEgMy45OSAzLjQ3IDIuMTggNy4wN2wzLjY2IDIuODRjLjg3LTIuNiAzLjMtNC41MyA2LjE2LTQuNTN6Ii8+PC9zdmc+Q29udGludWUgd2l0aCBHb29nbGU8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgaWQ9InNpZ251cC1wYW5lbCIgaGlkZGVuPgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJzdS1uYW1lIj5Zb3VyIG5hbWU8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9InN1LW5hbWUiIHR5cGU9InRleHQiIGF1dG9jb21wbGV0ZT0ibmFtZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+PGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIiBmb3I9InN1LWVtYWlsIj5FbWFpbDwvbGFiZWw+PGlucHV0IGNsYXNzPSJmb3JtLWlucHV0IiBpZD0ic3UtZW1haWwiIHR5cGU9ImVtYWlsIiBhdXRvY29tcGxldGU9ImVtYWlsIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj48bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0ic3UtcGFzcyI+UGFzc3dvcmQ8L2xhYmVsPjxpbnB1dCBjbGFzcz0iZm9ybS1pbnB1dCIgaWQ9InN1LXBhc3MiIHR5cGU9InBhc3N3b3JkIiBhdXRvY29tcGxldGU9Im5ldy1wYXNzd29yZCI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLXByaW1hcnkiIG9uY2xpY2s9InNpZ25JbigpIj5DcmVhdGUgbXkgYWNjb3VudCDihpI8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGlkPSJhcHAiIHJvbGU9ImFwcGxpY2F0aW9uIj4KICA8bmF2IGNsYXNzPSJzaWRlYmFyIiBhcmlhLWxhYmVsPSJNYWluIG5hdmlnYXRpb24iPgogICAgPGRpdiBjbGFzcz0ic2lkZWJhci10b3AiPgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWJyYW5kIj4KICAgICAgICA8ZGl2IGNsYXNzPSJicmFuZC1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ2YXIoLS1pbmspIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjUiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjEyIiB3aWR0aD0iNyIgaGVpZ2h0PSI5IiByeD0iMSIvPjxyZWN0IHg9IjMiIHk9IjE2IiB3aWR0aD0iNyIgaGVpZ2h0PSI1IiByeD0iMSIvPjwvc3ZnPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJyYW5kLW5hbWUiPlRoZSBLaXRjaGVuIFNpbms8c21hbGw+UGhhc2UgMiDCtyBXb3Jrc3BhY2U8L3NtYWxsPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibmF2LXNlY3Rpb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj5Xb3Jrc3BhY2U8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ2Rhc2hib2FyZCcsdGhpcykiIGFyaWEtbGFiZWw9IkRhc2hib2FyZCI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iOSIgcng9IjEiLz48cmVjdCB4PSIxNCIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iNSIgcng9IjEiLz48cmVjdCB4PSIxNCIgeT0iMTIiIHdpZHRoPSI3IiBoZWlnaHQ9IjkiIHJ4PSIxIi8+PHJlY3QgeD0iMyIgeT0iMTYiIHdpZHRoPSI3IiBoZWlnaHQ9IjUiIHJ4PSIxIi8+PC9zdmc+CiAgICAgICAgRGFzaGJvYXJkCiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtaXRlbSBhY3RpdmUiIG9uY2xpY2s9InNldFBhZ2UoJ3Rhc2tzJyx0aGlzKSIgYXJpYS1jdXJyZW50PSJwYWdlIiBhcmlhLWxhYmVsPSJUYXNrcyI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iNSIgd2lkdGg9IjYiIGhlaWdodD0iNiIgcng9IjEiLz48cGF0aCBkPSJtMyAxNyAyIDIgNC00Ii8+PHBhdGggZD0iTTEzIDZoOCIvPjxwYXRoIGQ9Ik0xMyAxMmg4Ii8+PHBhdGggZD0iTTEzIDE4aDgiLz48L3N2Zz4KICAgICAgICBUYXNrczxzcGFuIGNsYXNzPSJuYXYtYmFkZ2UiIGlkPSJ0YXNrLWNvdW50Ij44PC9zcGFuPgogICAgICA8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ3BsYW5uZXInLHRoaXMpIiBhcmlhLWxhYmVsPSJQbGFubmVyIj4KICAgICAgICA8c3ZnIGNsYXNzPSJuYXYtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIi8+PGxpbmUgeDE9IjE2IiB5MT0iMiIgeDI9IjE2IiB5Mj0iNiIvPjxsaW5lIHgxPSI4IiB5MT0iMiIgeDI9IjgiIHkyPSI2Ii8+PGxpbmUgeDE9IjMiIHkxPSIxMCIgeDI9IjIxIiB5Mj0iMTAiLz48L3N2Zz4KICAgICAgICBQbGFubmVyCiAgICAgIDwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtaXRlbSIgb25jbGljaz0ic2V0UGFnZSgnam91cm5hbCcsdGhpcykiIGFyaWEtbGFiZWw9IkpvdXJuYWwiPgogICAgICAgIDxzdmcgY2xhc3M9Im5hdi1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjAiLz48cGF0aCBkPSJNNi41IDJIMjB2MjBINi41QTIuNSAyLjUgMCAwIDEgNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyeiIvPjxsaW5lIHgxPSI5IiB5MT0iNyIgeDI9IjE1IiB5Mj0iNyIvPjxsaW5lIHgxPSI5IiB5MT0iMTEiIHgyPSIxNSIgeTI9IjExIi8+PC9zdmc+CiAgICAgICAgSm91cm5hbAogICAgICA8L2J1dHRvbj4KICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWl0ZW0iIG9uY2xpY2s9InNldFBhZ2UoJ3RpbWVycycsdGhpcykiIGFyaWEtbGFiZWw9IlRpbWVycyI+CiAgICAgICAgPHN2ZyBjbGFzcz0ibmF2LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iOCIvPjxwb2x5bGluZSBwb2ludHM9IjEyIDkgMTIgMTMgMTQuNSAxNS41Ii8+PGxpbmUgeDE9IjEwIiB5MT0iMyIgeDI9IjE0IiB5Mj0iMyIvPjxsaW5lIHgxPSIyMSIgeTE9IjYiIHgyPSIxOSIgeTI9IjgiLz48L3N2Zz4KICAgICAgICBUaW1lcnMKICAgICAgPC9idXR0b24+CiAgICAgIDxidXR0b24gY2xhc3M9Im5hdi1pdGVtIiBvbmNsaWNrPSJzZXRQYWdlKCdzY2hlZHVsZXInLHRoaXMpIiBhcmlhLWxhYmVsPSJTY2hlZHVsZXIiPgogICAgICAgIDxzdmcgY2xhc3M9Im5hdi1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiLz48bGluZSB4MT0iMTYiIHkxPSIyIiB4Mj0iMTYiIHkyPSI2Ii8+PGxpbmUgeDE9IjgiIHkxPSIyIiB4Mj0iOCIgeTI9IjYiLz48bGluZSB4MT0iMyIgeTE9IjEwIiB4Mj0iMjEiIHkyPSIxMCIvPjxjaXJjbGUgY3g9IjgiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PGNpcmNsZSBjeD0iMTYiIGN5PSIxNSIgcj0iMSIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+CiAgICAgICAgU2NoZWR1bGVyCiAgICAgIDwvYnV0dG9uPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXRvcCIgc3R5bGU9InBhZGRpbmctdG9wOjAiPgogICAgICA8ZGl2IGNsYXNzPSJuYXYtc2VjdGlvbiIgYXJpYS1oaWRkZW49InRydWUiPlByb2plY3RzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItcHJvamVjdHMiIHJvbGU9Imxpc3QiIGFyaWEtbGFiZWw9IlByb2plY3QgZmlsdGVycyI+CiAgICAgICAgPGJ1dHRvbiByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InByb2otYnRuIGFjdGl2ZS1wcm9qIiBvbmNsaWNrPSJmaWx0ZXJQcm9qZWN0KCdhbGwnLHRoaXMpIiBhcmlhLXByZXNzZWQ9InRydWUiPjxkaXYgY2xhc3M9InByb2otZG90IiBzdHlsZT0iYmFja2dyb3VuZDojRkZBQTAwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+QWxsIFByb2plY3RzPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiByb2xlPSJsaXN0aXRlbSIgY2xhc3M9InByb2otYnRuIiBvbmNsaWNrPSJmaWx0ZXJQcm9qZWN0KCdwcm9kdWN0Jyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PGRpdiBjbGFzcz0icHJvai1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiM3QzNBRUQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj5Qcm9kdWN0IExhdW5jaDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gcm9sZT0ibGlzdGl0ZW0iIGNsYXNzPSJwcm9qLWJ0biIgb25jbGljaz0iZmlsdGVyUHJvamVjdCgnYnJhbmQnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48ZGl2IGNsYXNzPSJwcm9qLWRvdCIgc3R5bGU9ImJhY2tncm91bmQ6IzFBNUZDQyIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PkJyYW5kIFJlZnJlc2g8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIHJvbGU9Imxpc3RpdGVtIiBjbGFzcz0icHJvai1idG4iIG9uY2xpY2s9ImZpbHRlclByb2plY3QoJ2RldicsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxkaXYgY2xhc3M9InByb2otZG90IiBzdHlsZT0iYmFja2dyb3VuZDojMjI4NjNBIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+RGV2IFNwcmludDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ic2lkZWJhci1mb290ZXIiPgogICAgICA8YnV0dG9uIGNsYXNzPSJ1c2VyLWNoaXAiIGFyaWEtbGFiZWw9IlVzZXI6IEFsZXggS2ltLCBhZG1pbiI+PGRpdiBjbGFzcz0idXNlci1hdmF0YXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj5BSzwvZGl2PjxkaXY+PGRpdiBjbGFzcz0idXNlci1uYW1lIj5BbGV4IEtpbTwvZGl2PjxkaXYgY2xhc3M9InVzZXItcm9sZSI+YWRtaW4gwrcgcHJvPC9kaXY+PC9kaXY+PC9idXR0b24+CiAgICA8L2Rpdj4KICA8L25hdj4KCiAgPGRpdiBjbGFzcz0ibWFpbiIgaWQ9Im1haW4tY29udGVudCI+CiAgICA8aGVhZGVyIGNsYXNzPSJ0b3BiYXIiPgogICAgICA8ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIiBpZD0icGFnZS10aXRsZSI+VGFza3M8L2gxPgogICAgICAgIDxkaXYgY2xhc3M9InZpZXctdG9nZ2xlIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iVmlldyBvcHRpb25zIiBpZD0idmlldy10b2dnbGUiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idnQtYnRuIGFjdGl2ZSIgb25jbGljaz0ic2V0Vmlldygna2FuYmFuJyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJ0cnVlIj4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjciIGhlaWdodD0iMTgiIHJ4PSIxIi8+PHJlY3QgeD0iMTQiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjEwIiByeD0iMSIvPjxyZWN0IHg9IjE0IiB5PSIxNyIgd2lkdGg9IjciIGhlaWdodD0iNCIgcng9IjEiLz48L3N2Zz5Cb2FyZAogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2dC1idG4iIG9uY2xpY2s9InNldFZpZXcoJ2xpc3QnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjgiIHkxPSI2IiB4Mj0iMjEiIHkyPSI2Ii8+PGxpbmUgeDE9IjgiIHkxPSIxMiIgeDI9IjIxIiB5Mj0iMTIiLz48bGluZSB4MT0iOCIgeTE9IjE4IiB4Mj0iMjEiIHkyPSIxOCIvPjxsaW5lIHgxPSIzIiB5MT0iNiIgeDI9IjMuMDEiIHkyPSI2Ii8+PGxpbmUgeDE9IjMiIHkxPSIxMiIgeDI9IjMuMDEiIHkyPSIxMiIvPjxsaW5lIHgxPSIzIiB5MT0iMTgiIHgyPSIzLjAxIiB5Mj0iMTgiLz48L3N2Zz5MaXN0CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKTt3aGl0ZS1zcGFjZTpub3dyYXAiPmNoYW5nZSBjb2xvcnM8L3NwYW4+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLWluazQpIiBhcmlhLWhpZGRlbj0idHJ1ZSI+4oaSPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InBhbGV0dGUtdG9nZ2xlIiBvbmNsaWNrPSJ0b2dnbGVQYWxldHRlKCkiIGlkPSJwYWxldHRlLWJ0biIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtbGFiZWw9IlN3aXRjaCBjb2xvdXIgcGFsZXR0ZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLWRvdCIgaWQ9InBhbGV0dGUtZG90IiBzdHlsZT0iYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMwMEM0OEMgNTAlKSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPHNwYW4gaWQ9InBhbGV0dGUtbGFiZWwiPkNpdHJ1czwvc3Bhbj4KICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tc20gYnRuLWdob3N0IiBvbmNsaWNrPSJvcGVuTW9kYWwoKSIgaWQ9Im5ldy10YXNrLWJ0biI+KyBOZXcgdGFzazwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvaGVhZGVyPgoKICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiIGFyaWEtbGFiZWw9IlBhZ2UgY29udGVudCI+CiAgICAgIDxkaXYgaWQ9InBhZ2UtZGFzaGJvYXJkIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJEYXNoYm9hcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtZ3JlZXRpbmciPjxoMiBpZD0iZGFzaC1oIj5Hb29kIG1vcm5pbmcsIEFsZXg8L2gyPjxwIGlkPSJkYXNoLXN1YiI+PC9wPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWNhcmQgYWNjZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBvbHlsaW5lIHBvaW50cz0iMTIgNiAxMiAxMiAxNiAxNCIvPjwvc3ZnPlRvZGF5J3MgdGFza3M8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1iaWctbnVtIiBpZD0iZC10b2RheS1uIj4wPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2ctcm93Ij48ZGl2IGNsYXNzPSJwcm9nLXRyYWNrIj48ZGl2IGNsYXNzPSJwcm9nLXRyYWNrLWZpbGwiIGlkPSJkLXRvZGF5LXAiIHN0eWxlPSJ3aWR0aDowJSI+PC9kaXY+PC9kaXY+PHNwYW4gaWQ9ImQtdG9kYXktZCIgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazMpIj4wIGRvbmU8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtc3ViIiBpZD0iZC10b2RheS1sIj50YXNrcyBkdWUgdG9kYXk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiLz48bGluZSB4MT0iMyIgeTE9IjEwIiB4Mj0iMjEiIHkyPSIxMCIvPjxsaW5lIHgxPSIxNiIgeTE9IjIiIHgyPSIxNiIgeTI9IjYiLz48bGluZSB4MT0iOCIgeTE9IjIiIHgyPSI4IiB5Mj0iNiIvPjwvc3ZnPlVwY29taW5nIGV2ZW50czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXNoLWxpc3QiIGlkPSJkLWV2ZW50cyI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZCBoaS1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik00IDE5LjVBMi41IDIuNSAwIDAgMSA2LjUgMTdIMjAiLz48cGF0aCBkPSJNNi41IDJIMjB2MjBINi41QTIuNSAyLjUgMCAwIDEgNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyeiIvPjwvc3ZnPkpvdXJuYWwgc3RyZWFrPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtc3RyZWFrIj48ZGl2IGNsYXNzPSJzdHJlYWstbnVtIiBpZD0iZC1zdHJlYWsiPjA8L2Rpdj48ZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKSI+ZGF5IHN0cmVhazwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpO21hcmdpbi10b3A6MnB4IiBpZD0iZC1zdHJlYWstcyI+U3RhcnQgd3JpdGluZyB0b2RheSE8L2Rpdj48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIGRhc2gtd2lkZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRhc2gtY2FyZC1sYWJlbCI+PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIvPjxwYXRoIGQ9Im0zIDE3IDIgMiA0LTQiLz48cGF0aCBkPSJNMTMgNmg4Ii8+PHBhdGggZD0iTTEzIDEyaDgiLz48L3N2Zz5UYXNrcyBkdWUgdG9kYXk8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1saXN0IiBpZD0iZC10YXNrcyIgc3R5bGU9Im1heC1oZWlnaHQ6MTMwcHg7b3ZlcmZsb3cteTphdXRvIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGFzaC1jYXJkLWxhYmVsIj48c3ZnIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTMiIHI9IjgiLz48cG9seWxpbmUgcG9pbnRzPSIxMiA5IDEyIDEzIDE0LjUgMTUuNSIvPjxsaW5lIHgxPSIxMCIgeTE9IjMiIHgyPSIxNCIgeTI9IjMiLz48L3N2Zz5MYXN0IHRpbWVyIHNlc3Npb248L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0iZC10aW1lciIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLWluazMpO21hcmdpbi10b3A6NnB4Ij5ObyBzZXNzaW9ucyB5ZXQuPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGlkPSJwYWdlLXRhc2tzIiBhcmlhLWxhYmVsPSJUYXNrIGJvYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1iYXIiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbD0iVGFzayBzdW1tYXJ5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtY2FyZCBhY2NlbnQtc3RhdCI+PGRpdiBjbGFzcz0ic3RhdC12YWwiIGlkPSJzLXRvdGFsIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkFsbCB0YXNrczwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1jYXJkIj48ZGl2IGNsYXNzPSJzdGF0LXZhbCIgaWQ9InMtdG9kby1jIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPlRvIGRvPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNhcmQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0icy1kb2luZy1jIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvZGl2PjxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkluIHByb2dyZXNzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWNhcmQiPjxkaXYgY2xhc3M9InN0YXQtdmFsIiBpZD0icy1kb25lLWMiIGFyaWEtbGl2ZT0icG9saXRlIj4wPC9kaXY+PGRpdiBjbGFzcz0ic3RhdC1sYWJlbCI+RG9uZTwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiIHJvbGU9InNlYXJjaCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcCI+PHN2ZyBjbGFzcz0ic2VhcmNoLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ii8+PGxpbmUgeDE9IjIxIiB5MT0iMjEiIHgyPSIxNi42NSIgeTI9IjE2LjY1Ii8+PC9zdmc+PGlucHV0IGNsYXNzPSJzZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJTZWFyY2ggdGFza3PigKYiIG9uaW5wdXQ9ImZpbHRlclNlYXJjaCh0aGlzLnZhbHVlKSIgYXJpYS1sYWJlbD0iU2VhcmNoIHRhc2tzIj48L2Rpdj4KICAgICAgICAgIDxkaXYgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IkZpbHRlciBieSBwcmlvcml0eSIgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6NnB4Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwgYWN0aXZlLWZpbHRlciIgb25jbGljaz0iZmlsdGVyUHJpb3JpdHkoJ2FsbCcsdGhpcykiIGFyaWEtcHJlc3NlZD0idHJ1ZSI+QWxsPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImZpbHRlci1waWxsIiBvbmNsaWNrPSJmaWx0ZXJQcmlvcml0eSgnaGlnaCcsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPkhpZ2g8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwiIG9uY2xpY2s9ImZpbHRlclByaW9yaXR5KCdtZWQnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5NZWRpdW08L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZmlsdGVyLXBpbGwiIG9uY2xpY2s9ImZpbHRlclByaW9yaXR5KCdsb3cnLHRoaXMpIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5Mb3c8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImthbmJhbiIgaWQ9ImthbmJhbi1ib2FyZCIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJUYXNrIGNvbHVtbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sIiBpZD0iY29sLXdyYXAtdG9kbyIgYXJpYS1sYWJlbD0iVG8gZG8iIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ3RvZG8nKSIgb25kcmFnbGVhdmU9Im9uRHJhZ0xlYXZlKCd0b2RvJykiIG9uZHJvcD0ib25Ecm9wKGV2ZW50LCd0b2RvJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNCQkJCQkIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+VG8gZG88L2gyPjxzcGFuIGNsYXNzPSJjb2wtY291bnQiIGlkPSJoYy10b2RvIiBhcmlhLWxpdmU9InBvbGl0ZSI+MDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWJvZHkiIGlkPSJjb2wtdG9kbyIgcm9sZT0ibGlzdCI+PC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1jYXJkLWJ0biIgb25jbGljaz0ib3BlbklubGluZUZvcm0oJ3RvZG8nKSIgYXJpYS1sYWJlbD0iQWRkIHRhc2sgdG8gVG8gZG8iPisgQWRkIGEgdGFzazwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1mb3JtIiBpZD0icWYtdG9kbyI+PHRleHRhcmVhIGNsYXNzPSJxZi1pbnB1dCIgaWQ9InFpLXRvZG8iIHJvd3M9IjIiIHBsYWNlaG9sZGVyPSJXaGF0IG5lZWRzIGRvaW5nPyIgYXJpYS1sYWJlbD0iVGFzayB0aXRsZSI+PC90ZXh0YXJlYT48ZGl2IGNsYXNzPSJxZi1yb3ciPjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFsLXRvZG8iIGFyaWEtbGFiZWw9IkxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFwLXRvZG8iIGFyaWEtbGFiZWw9IlByaW9yaXR5Ij48b3B0aW9uIHZhbHVlPSJtZWQiPk1lZGl1bTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImhpZ2giPkhpZ2g8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJsb3ciPkxvdzwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjxkaXYgY2xhc3M9InFmLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9InFmLWNvbmZpcm0iIG9uY2xpY2s9ImFkZElubGluZVRhc2soJ3RvZG8nKSI+QWRkPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icWYtY2FuY2VsIiBvbmNsaWNrPSJjbG9zZUlubGluZUZvcm0oJ3RvZG8nKSI+Q2FuY2VsPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBkb2luZy1jb2wiIGlkPSJjb2wtd3JhcC1kb2luZyIgYXJpYS1sYWJlbD0iSW4gcHJvZ3Jlc3MiIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ2RvaW5nJykiIG9uZHJhZ2xlYXZlPSJvbkRyYWdMZWF2ZSgnZG9pbmcnKSIgb25kcm9wPSJvbkRyb3AoZXZlbnQsJ2RvaW5nJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGRkFBMDAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+SW4gcHJvZ3Jlc3M8L2gyPjxzcGFuIGNsYXNzPSJjb2wtY291bnQiIGlkPSJoYy1kb2luZyIgYXJpYS1saXZlPSJwb2xpdGUiPjA8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1ib2R5IiBpZD0iY29sLWRvaW5nIiByb2xlPSJsaXN0Ij48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWNhcmQtYnRuIiBvbmNsaWNrPSJvcGVuSW5saW5lRm9ybSgnZG9pbmcnKSIgYXJpYS1sYWJlbD0iQWRkIHRhc2sgdG8gSW4gcHJvZ3Jlc3MiPisgQWRkIGEgdGFzazwvYnV0dG9uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1mb3JtIiBpZD0icWYtZG9pbmciPjx0ZXh0YXJlYSBjbGFzcz0icWYtaW5wdXQiIGlkPSJxaS1kb2luZyIgcm93cz0iMiIgcGxhY2Vob2xkZXI9IldoYXQncyBpbiBmbGlnaHQ/IiBhcmlhLWxhYmVsPSJUYXNrIHRpdGxlIj48L3RleHRhcmVhPjxkaXYgY2xhc3M9InFmLXJvdyI+PHNlbGVjdCBjbGFzcz0icWYtc2VsZWN0IiBpZD0icWwtZG9pbmciIGFyaWEtbGFiZWw9IkxhYmVsIj48b3B0aW9uIHZhbHVlPSJkZXYiPkRldjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImRlc2lnbiI+RGVzaWduPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0icmVzZWFyY2giPlJlc2VhcmNoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY29weSI+Q29weTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InFhIj5RQTwvb3B0aW9uPjwvc2VsZWN0PjxzZWxlY3QgY2xhc3M9InFmLXNlbGVjdCIgaWQ9InFwLWRvaW5nIiBhcmlhLWxhYmVsPSJQcmlvcml0eSI+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibG93Ij5Mb3c8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJxZi1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJxZi1jb25maXJtIiBvbmNsaWNrPSJhZGRJbmxpbmVUYXNrKCdkb2luZycpIj5BZGQ8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJxZi1jYW5jZWwiIG9uY2xpY2s9ImNsb3NlSW5saW5lRm9ybSgnZG9pbmcnKSI+Q2FuY2VsPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBkb25lLWNvbCIgaWQ9ImNvbC13cmFwLWRvbmUiIGFyaWEtbGFiZWw9IkRvbmUiIG9uZHJhZ292ZXI9Im9uRHJhZ092ZXIoZXZlbnQsJ2RvbmUnKSIgb25kcmFnbGVhdmU9Im9uRHJhZ0xlYXZlKCdkb25lJykiIG9uZHJvcD0ib25Ecm9wKGV2ZW50LCdkb25lJykiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtaGVhZCI+PGRpdiBjbGFzcz0iY29sLXN0YXR1cy1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiMyMjg2M0EiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48aDIgY2xhc3M9ImNvbC10aXRsZSI+RG9uZTwvaDI+PHNwYW4gY2xhc3M9ImNvbC1jb3VudCIgaWQ9ImhjLWRvbmUiIGFyaWEtbGl2ZT0icG9saXRlIj4wPC9zcGFuPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtYm9keSIgaWQ9ImNvbC1kb25lIiByb2xlPSJsaXN0Ij48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWNhcmQtYnRuIiBvbmNsaWNrPSJvcGVuSW5saW5lRm9ybSgnZG9uZScpIiBhcmlhLWxhYmVsPSJBZGQgdGFzayB0byBEb25lIj4rIEFkZCBhIHRhc2s8L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stZm9ybSIgaWQ9InFmLWRvbmUiPjx0ZXh0YXJlYSBjbGFzcz0icWYtaW5wdXQiIGlkPSJxaS1kb25lIiByb3dzPSIyIiBwbGFjZWhvbGRlcj0iU29tZXRoaW5nIGNvbXBsZXRlZD8iIGFyaWEtbGFiZWw9IlRhc2sgdGl0bGUiPjwvdGV4dGFyZWE+PGRpdiBjbGFzcz0icWYtcm93Ij48c2VsZWN0IGNsYXNzPSJxZi1zZWxlY3QiIGlkPSJxbC1kb25lIiBhcmlhLWxhYmVsPSJMYWJlbCI+PG9wdGlvbiB2YWx1ZT0iZGV2Ij5EZXY8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJkZXNpZ24iPkRlc2lnbjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9InJlc2VhcmNoIj5SZXNlYXJjaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImNvcHkiPkNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJxYSI+UUE8L29wdGlvbj48L3NlbGVjdD48c2VsZWN0IGNsYXNzPSJxZi1zZWxlY3QiIGlkPSJxcC1kb25lIiBhcmlhLWxhYmVsPSJQcmlvcml0eSI+PG9wdGlvbiB2YWx1ZT0ibWVkIj5NZWRpdW08L29wdGlvbj48b3B0aW9uIHZhbHVlPSJoaWdoIj5IaWdoPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibG93Ij5Mb3c8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48ZGl2IGNsYXNzPSJxZi1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJxZi1jb25maXJtIiBvbmNsaWNrPSJhZGRJbmxpbmVUYXNrKCdkb25lJykiPkFkZDwvYnV0dG9uPjxidXR0b24gY2xhc3M9InFmLWNhbmNlbCIgb25jbGljaz0iY2xvc2VJbmxpbmVGb3JtKCdkb25lJykiPkNhbmNlbDwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBpZD0ibGlzdC1ib2FyZCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJUYXNrIGxpc3QiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGlzdC1oZWFkZXIiIHJvbGU9InJvdyI+PHNwYW4+VGFzazwvc3Bhbj48c3Bhbj5TdGF0dXM8L3NwYW4+PHNwYW4+UHJpb3JpdHk8L3NwYW4+PHNwYW4+RHVlIGRhdGU8L3NwYW4+PHNwYW4+QXNzaWduZWU8L3NwYW4+PC9kaXY+CiAgICAgICAgICA8ZGl2IGlkPSJsaXN0LXJvd3MiIHJvbGU9Imxpc3QiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2UtcGxhbm5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgYXJpYS1sYWJlbD0iUGxhbm5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FsLWhlYWRlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0icGxhbm5lck5hdigtMSkiIGFyaWEtbGFiZWw9IlByZXZpb3VzIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPjwvc3ZnPjwvYnV0dG9uPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNhbC1tb250aCIgaWQ9InBsYW5uZXItbGFiZWwiPk1heSAyMDI2PC9zcGFuPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLW5hdi1idG4iIG9uY2xpY2s9InBsYW5uZXJOYXYoMSkiIGFyaWEtbGFiZWw9Ik5leHQiPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbC12aWV3LXRhYnMiIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLXZ0IGFjdGl2ZSIgb25jbGljaz0ic2V0UGxhbm5lclZpZXcoJ21vbnRoJyx0aGlzKSI+TW9udGg8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2FsLXZ0IiBvbmNsaWNrPSJzZXRQbGFubmVyVmlldygnd2VlaycsdGhpcykiPldlZWs8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9InBsYW5uZXItbW9udGgiPjwvZGl2PgogICAgICAgIDxkaXYgaWQ9InBsYW5uZXItd2VlayIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBpZD0icGFnZS1qb3VybmFsIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJKb3VybmFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJqb3VybmFsLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqb3VybmFsLWVkaXRvciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImpvdXJuYWwtZGF0ZS1oZWFkIj48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNNCAxOS41QTIuNSAyLjUgMCAwIDEgNi41IDE3SDIwIi8+PHBhdGggZD0iTTYuNSAySDIwdjIwSDYuNUEyLjUgMi41IDAgMCAxIDQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMnoiLz48L3N2Zz48c3BhbiBpZD0iam91cm5hbC1kYXRlIj48L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS1pbmszKTttYXJnaW4tYm90dG9tOjhweCI+SG93IGFyZSB5b3UgZmVlbGluZz88L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9vZC1yb3ciIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJNb29kIHNlbGVjdG9yIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb29kLWJ0biIgb25jbGljaz0ic2VsZWN0TW9vZCgxLHRoaXMpIiBhcmlhLWxhYmVsPSJSb3VnaCIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNMTYgMTZzLTEuNS0yLTQtMi00IDItNCAyIi8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPlJvdWdoPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1vb2QtYnRuIiBvbmNsaWNrPSJzZWxlY3RNb29kKDIsdGhpcykiIGFyaWEtbGFiZWw9IkxvdyIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOCAxNWg4Ii8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPkxvdzwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJtb29kLWJ0biIgb25jbGljaz0ic2VsZWN0TW9vZCgzLHRoaXMpIiBhcmlhLWxhYmVsPSJPa2F5IiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3ZnIGNsYXNzPSJtb29kLWljb24iIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIi8+PGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iOS4wMSIgeTI9IjkiLz48bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iMTUuMDEiIHkyPSI5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9Im1vb2QtbGFiZWwiPk9rYXk8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibW9vZC1idG4iIG9uY2xpY2s9InNlbGVjdE1vb2QoNCx0aGlzKSIgYXJpYS1sYWJlbD0iR29vZCIgYXJpYS1wcmVzc2VkPSJmYWxzZSI+PHN2ZyBjbGFzcz0ibW9vZC1pY29uIiB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiLz48cGF0aCBkPSJNOCAxM3MxLjUgMyA0IDMgNC0zIDQtMyIvPjxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjkuMDEiIHkyPSI5Ii8+PGxpbmUgeDE9IjE1IiB5MT0iOSIgeDI9IjE1LjAxIiB5Mj0iOSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJtb29kLWxhYmVsIj5Hb29kPC9zcGFuPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1vb2QtYnRuIiBvbmNsaWNrPSJzZWxlY3RNb29kKDUsdGhpcykiIGFyaWEtbGFiZWw9IkdyZWF0IiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3ZnIGNsYXNzPSJtb29kLWljb24iIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwYXRoIGQ9Ik04IDEyczEuNSA0IDQgNCA0LTQgNC00Ii8+PHBhdGggZD0iTTkgOWMuNSAwIDEtLjUgMS0xIi8+PHBhdGggZD0iTTE1IDljLS41IDAtMS0uNS0xLTEiLz48L3N2Zz48c3BhbiBjbGFzcz0ibW9vZC1sYWJlbCI+R3JlYXQ8L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0iam91cm5hbC1ib2R5Ij5Ub2RheSdzIGVudHJ5PC9sYWJlbD4KICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJqb3VybmFsLXRleHRhcmVhIiBpZD0iam91cm5hbC1ib2R5IiBwbGFjZWhvbGRlcj0iV2hhdCdzIG9uIHlvdXIgbWluZCB0b2RheT8gV3JpdGUgZnJlZWx54oCmIiBvbmlucHV0PSJ1cGRhdGVXb3JkQ291bnQoKSIgYXJpYS1sYWJlbD0iSm91cm5hbCBlbnRyeSB0ZXh0Ij48L3RleHRhcmVhPgogICAgICAgICAgICA8aW5wdXQgY2xhc3M9InRhZ3MtaW5wdXQtaiIgaWQ9ImpvdXJuYWwtdGFncyIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlRhZ3M6IHdvcmssIGZvY3VzLCBpZGVhc+KApiAoY29tbWEgc2VwYXJhdGVkKSIgYXJpYS1sYWJlbD0iSm91cm5hbCB0YWdzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iam91cm5hbC1mb290ZXIiPjxzcGFuIGNsYXNzPSJ3b3JkLWNvdW50IiBpZD0id29yZC1jb3VudCIgYXJpYS1saXZlPSJwb2xpdGUiPjAgd29yZHM8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iam91cm5hbC1zYXZlLWJ0biIgb25jbGljaz0ic2F2ZUpvdXJuYWxFbnRyeSgpIj5TYXZlIGVudHJ5PC9idXR0b24+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImpvdXJuYWwtc2lkZWJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0cmVhay1jYXJkIiByb2xlPSJzdGF0dXMiPjxkaXYgY2xhc3M9InN0cmVhay1udW0tYmlnIiBpZD0iai1zdHJlYWsiPjA8L2Rpdj48ZGl2IGNsYXNzPSJzdHJlYWstbGFiZWwiPmRheSBzdHJlYWs8L2Rpdj48ZGl2IGNsYXNzPSJzdHJlYWstc3ViIiBpZD0iai1zdHJlYWstcyI+V3JpdGUgdG9kYXkgdG8gc3RhcnQhPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3QtZW50cmllcy1jYXJkIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXN0LWVudHJpZXMtaGVhZCI+UGFzdCBlbnRyaWVzPHNwYW4gaWQ9ImotZW50cnktY291bnQiIHN0eWxlPSJmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1pbms0KSI+MDwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGlkPSJwYXN0LWVudHJpZXMiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2UtdGltZXJzIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJUaW1lcnMiPgogICAgICAgIDxkaXYgY2xhc3M9InRpbWVyLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1tYWluIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItbW9kZS10YWJzIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iVGltZXIgbW9kZSI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGltZXItbW9kZS10YWIgYWN0aXZlIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ3BvbW9kb3JvJyx0aGlzKSIgYXJpYS1wcmVzc2VkPSJ0cnVlIj5Qb21vZG9ybzwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLW1vZGUtdGFiIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ3N0b3B3YXRjaCcsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPlN0b3B3YXRjaDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLW1vZGUtdGFiIiBvbmNsaWNrPSJzZXRUaW1lck1vZGUoJ2NvdW50ZG93bicsdGhpcykiIGFyaWEtcHJlc3NlZD0iZmFsc2UiPkNvdW50ZG93bjwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0icG9tLWRvdHMiIGNsYXNzPSJwb21vZG9yby1jb3VudCIgYXJpYS1sYWJlbD0iUG9tb2Rvcm8gc2Vzc2lvbnMiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1yaW5nLXdyYXAiIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9Im9mZiI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0idGltZXItcmluZy1zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSIwIDAgMjAwIDIwMCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz0idGltZXItcmluZy10cmFjayIgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODgiLz4KICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9InRpbWVyLXJpbmctYmFyIiBpZD0idGltZXItcmluZy1iYXIiIGN4PSIxMDAiIGN5PSIxMDAiIHI9Ijg4IiBzdHJva2UtZGFzaGFycmF5PSI1NTMiIHN0cm9rZS1kYXNob2Zmc2V0PSIwIi8+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItZGlzcGxheSI+PGRpdiBjbGFzcz0idGltZXItdGltZSIgaWQ9InRpbWVyLWRpc3BsYXkiPjI1OjAwPC9kaXY+PGRpdiBjbGFzcz0idGltZXItc3RhdGUtbGJsIiBpZD0idGltZXItc3RhdGUiPkZvY3VzPC9kaXY+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1jb250cm9scyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IlRpbWVyIGNvbnRyb2xzIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aW1lci1idG4gdGltZXItYnRuLWdob3N0IiBvbmNsaWNrPSJyZXNldFRpbWVyKCkiIGFyaWEtbGFiZWw9IlJlc2V0Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjEgNCAxIDEwIDcgMTAiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxIDAgLjQ5LTQuNSIvPjwvc3ZnPjwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbWVyLWJ0biB0aW1lci1idG4tbWFpbiIgaWQ9InRpbWVyLXBsYXktYnRuIiBvbmNsaWNrPSJ0b2dnbGVUaW1lcigpIiBhcmlhLWxhYmVsPSJTdGFydCB0aW1lciI+PHN2ZyBpZD0idGltZXItcGxheS1pY29uIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlnb24gcG9pbnRzPSI1IDMgMTkgMTIgNSAyMSA1IDMiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aW1lci1idG4gdGltZXItYnRuLWdob3N0IiBvbmNsaWNrPSJsYXBUaW1lcigpIiBpZD0ibGFwLWJ0biIgYXJpYS1sYWJlbD0iTGFwIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiLz48cGF0aCBkPSJNMjAuNDkgMTVhOSA5IDAgMSAxLS40OS00LjUiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVyLXRhc2stbGluayIgYXJpYS1sYWJlbD0iTGluayB0byB0YXNrIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cmVjdCB4PSIzIiB5PSI1IiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIvPjxwYXRoIGQ9Ik0xMyA2aDgiLz48cGF0aCBkPSJNMTMgMTJoOCIvPjwvc3ZnPjxzZWxlY3QgY2xhc3M9InRpbWVyLXRhc2stc2VsZWN0IiBpZD0idGltZXItdGFzay1zZWwiIGFyaWEtbGFiZWw9IkxpbmsgdG8gdGFzayI+PG9wdGlvbiB2YWx1ZT0iIj5MaW5rIHRvIGEgdGFzayAob3B0aW9uYWwpPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9ImNvdW50ZG93bi1zZXR1cCIgc3R5bGU9ImRpc3BsYXk6bm9uZTttYXJnaW4tdG9wOjE0cHgiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZG93bi1yb3ciPjxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJjZC1taW5zIiBzdHlsZT0ibWFyZ2luOjAiPk1pbnV0ZXM6PC9sYWJlbD48aW5wdXQgdHlwZT0ibnVtYmVyIiBpZD0iY2QtbWlucyIgbWluPSIxIiBtYXg9IjE4MCIgdmFsdWU9IjI1IiBzdHlsZT0id2lkdGg6NzBweCIgY2xhc3M9ImZvcm0taW5wdXQiPjxidXR0b24gY2xhc3M9ImJ0bi1zbSBidG4tYWNjZW50IiBvbmNsaWNrPSJzZXRDb3VudGRvd24oKSIgc3R5bGU9InBhZGRpbmc6N3B4IDEycHgiPlNldDwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RvcHdhdGNoLWxhcHMiIGlkPSJsYXAtbGlzdCIgcm9sZT0ibGlzdCIgYXJpYS1sYWJlbD0iTGFwIHRpbWVzIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idGltZXItbG9nLWNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lci1sb2ctaGVhZCI+U2Vzc2lvbiBsb2c8YnV0dG9uIG9uY2xpY2s9ImNsZWFyTG9nKCkiIHN0eWxlPSJmb250LXNpemU6MTBweDtjb2xvcjp2YXIoLS1pbms0KTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdCI+Q2xlYXI8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBpZD0idGltZXItbG9nIiByb2xlPSJsaXN0Ij48ZGl2IHN0eWxlPSJwYWRkaW5nOjE2cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7dGV4dC1hbGlnbjpjZW50ZXIiPk5vIHNlc3Npb25zIHlldC48L2Rpdj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgaWQ9InBhZ2Utc2NoZWR1bGVyIiBzdHlsZT0iZGlzcGxheTpub25lIiBhcmlhLWxhYmVsPSJTY2hlZHVsZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNjaGVkLWxheW91dCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1jYWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1jYWwtaGVhZGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0ic2NoZWROYXYoLTEpIiBhcmlhLWxhYmVsPSJQcmV2aW91cyBtb250aCI+PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FsLW1vbnRoIiBpZD0ic2NoZWQtbGFiZWwiIHN0eWxlPSJmbGV4OjE7dGV4dC1hbGlnbjpjZW50ZXIiPjwvc3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjYWwtbmF2LWJ0biIgb25jbGljaz0ic2NoZWROYXYoMSkiIGFyaWEtbGFiZWw9Ik5leHQgbW9udGgiPjxzdmcgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iOSAxOCAxNSAxMiA5IDYiLz48L3N2Zz48L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgaWQ9InNjaGVkLWdyaWQiIHN0eWxlPSJwYWRkaW5nOjAgMCAxMHB4Ij48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjaGVkLXBhbmVsIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY2hlZC1wYW5lbC1oZWFkIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWluaykiIGlkPSJzY2hlZC1ldi1oZWFkIj5VcGNvbWluZyBldmVudHM8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYnRuLXNtIGJ0bi1hY2NlbnQiIG9uY2xpY2s9Im9wZW5FdmVudE1vZGFsKCkiIHN0eWxlPSJwYWRkaW5nOjVweCAxMnB4O2ZvbnQtc2l6ZToxMXB4Ij4rIE5ldyBldmVudDwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgaWQ9InNjaGVkLWV2ZW50cyIgcm9sZT0ibGlzdCIgYXJpYS1sYWJlbD0iRXZlbnRzIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0Pgpjb25zdCBBU1NJR05FRVM9W3tpOidBSycsYzonIzdDM0FFRCcsbmFtZTonQWxleCBLaW0nfSx7aTonTUInLGM6JyMxQTVGQ0MnLG5hbWU6J01pYSBCZWxsbyd9LHtpOidTTCcsYzonI0ZGQUEwMCcsbmFtZTonU2FtIExlZSd9LHtpOidKVCcsYzonIzIyODYzQScsbmFtZTonSm9yZGFuIFQuJ31dOwpjb25zdCBORVhUPXt0b2RvOidkb2luZycsZG9pbmc6J2RvbmUnLGRvbmU6bnVsbH07CmNvbnN0IE5YVF9MQkw9e3RvZG86J+KGkicsZG9pbmc6J+KckycsZG9uZTpudWxsfTsKY29uc3QgUFJJPXtoaWdoOic8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InZlcnRpY2FsLWFsaWduOi0ycHg7ZmxleC1zaHJpbms6MCI+PGNpcmNsZSBjeD0iNiIgY3k9IjYiIHI9IjUiIGZpbGw9IiNFMDM1MzUiLz48L3N2Zz4nLG1lZDonPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjotMnB4O2ZsZXgtc2hyaW5rOjAiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSI1IiBmaWxsPSIjRkZBQTAwIi8+PC9zdmc+Jyxsb3c6Jzxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMTIgMTIiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0idmVydGljYWwtYWxpZ246LTJweDtmbGV4LXNocmluazowIj48Y2lyY2xlIGN4PSI2IiBjeT0iNiIgcj0iNSIgZmlsbD0iIzJEQTA1QSIvPjwvc3ZnPid9Owpjb25zdCBUT0RBWT0nMjAyNi0wNS0yMCc7CmNvbnN0IE1PTlRIUz1bJ0phbnVhcnknLCdGZWJydWFyeScsJ01hcmNoJywnQXByaWwnLCdNYXknLCdKdW5lJywnSnVseScsJ0F1Z3VzdCcsJ1NlcHRlbWJlcicsJ09jdG9iZXInLCdOb3ZlbWJlcicsJ0RlY2VtYmVyJ107CmNvbnN0IERBWVM9WydTdW4nLCdNb24nLCdUdWUnLCdXZWQnLCdUaHUnLCdGcmknLCdTYXQnXTsKY29uc3QgTU9PRF9DT0xPUlM9WycnLCcjRTA1MDUwJywnI0UwOTA0MCcsJyNDQ0FBMDAnLCcjNTBBMDUwJywnIzIwODBDMCddOwpjb25zdCBDSVJDPTIqTWF0aC5QSSo4ODsKCmxldCBjdXJyZW50Vmlldz0na2FuYmFuJyxwcmlGaWx0ZXI9J2FsbCcscHJvakZpbHRlcj0nYWxsJyxzZWFyY2hTdHI9JycsbmV4dElkPTIwLGRyYWdJZD1udWxsOwpsZXQgcGxhbm5lckRhdGU9bmV3IERhdGUoMjAyNiw0LDEpLHBsYW5uZXJWaWV3PSdtb250aCc7CmxldCBzY2hlZERhdGU9bmV3IERhdGUoMjAyNiw0LDEpLHNlbGVjdGVkRXZlbnRDb2xvcj0nI0ZGQUEwMCc7CmxldCBqb3VybmFsRW50cmllcz1bXSxzZWxlY3RlZE1vb2Q9MzsKbGV0IHRpbWVyTW9kZT0ncG9tb2Rvcm8nLHRpbWVyUnVubmluZz1mYWxzZSx0aW1lckludGVydmFsPW51bGwsdGltZXJTZWNzPTI1KjYwLHRpbWVyVG90YWw9MjUqNjA7CmxldCBwb21TZXNzaW9uPTAscG9tUGhhc2U9J2ZvY3VzJyxzd1NlY3M9MCxsYXBzPVtdLHRpbWVyTG9nPVtdOwoKY29uc3QgU0VFRD1bCiAge2lkOjEsdGl0bGU6J1NldCB1cCBtb25vcmVwbyB3aXRoIFR1cmJvcmVwbyArIE5leHQuanMnLGxhYmVsOidkZXYnLHByaW9yaXR5OidoaWdoJyxzdGF0dXM6J2RvbmUnLHByb2plY3Q6J2RldicsYXNzaWduZWU6MCxkdWU6JzIwMjYtMDUtMTAnLHN1YjozLHN1YkRvbmU6M30sCiAge2lkOjIsdGl0bGU6J0NvbmZpZ3VyZSBTdXBhYmFzZSBwcm9qZWN0ICsgZGF0YWJhc2Ugc2NoZW1hJyxsYWJlbDonZGV2Jyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb25lJyxwcm9qZWN0OidkZXYnLGFzc2lnbmVlOjEsZHVlOicyMDI2LTA1LTEyJyxzdWI6MixzdWJEb25lOjJ9LAogIHtpZDozLHRpdGxlOidCdWlsZCBhdXRoIHNjcmVlbnMnLGxhYmVsOidkZXNpZ24nLHByaW9yaXR5OidoaWdoJyxzdGF0dXM6J2RvbmUnLHByb2plY3Q6J3Byb2R1Y3QnLGFzc2lnbmVlOjIsZHVlOicyMDI2LTA1LTE0JyxzdWI6MyxzdWJEb25lOjN9LAogIHtpZDo0LHRpdGxlOidEZXNpZ24gc3lzdGVtOiBjb2xvdXIgdG9rZW5zIGFuZCBjb21wb25lbnRzJyxsYWJlbDonZGVzaWduJyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb2luZycscHJvamVjdDonYnJhbmQnLGFzc2lnbmVlOjAsZHVlOicyMDI2LTA1LTIwJyxzdWI6NCxzdWJEb25lOjJ9LAogIHtpZDo1LHRpdGxlOidJbXBsZW1lbnQgS2FuYmFuIGJvYXJkIHdpdGggZHJhZy10by1tb3ZlJyxsYWJlbDonZGV2Jyxwcmlvcml0eTonaGlnaCcsc3RhdHVzOidkb2luZycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToxLGR1ZTonMjAyNi0wNS0yMScsc3ViOjMsc3ViRG9uZToxfSwKICB7aWQ6Nix0aXRsZTonTGlzdCB2aWV3IGZvciB0YXNrIHRyYWNrZXInLGxhYmVsOidkZXYnLHByaW9yaXR5OidtZWQnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZTozLGR1ZTonMjAyNi0wNS0yNCcsc3ViOjAsc3ViRG9uZTowfSwKICB7aWQ6Nyx0aXRsZTonUHJvamVjdCBsYWJlbHMsIHByaW9yaXRpZXMgJiBkdWUgZGF0ZXMnLGxhYmVsOidkZXYnLHByaW9yaXR5OidtZWQnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToxLGR1ZTonMjAyNi0wNS0yNicsc3ViOjIsc3ViRG9uZTowfSwKICB7aWQ6OCx0aXRsZTonUFdBIG1hbmlmZXN0ICsgc2VydmljZSB3b3JrZXInLGxhYmVsOidkZXYnLHByaW9yaXR5Oidsb3cnLHN0YXR1czondG9kbycscHJvamVjdDonZGV2Jyxhc3NpZ25lZToyLGR1ZTonMjAyNi0wNS0zMCcsc3ViOjAsc3ViRG9uZTowfSwKXTsKbGV0IHRhc2tzPVsuLi5TRUVEXTsKCmxldCBldmVudHM9WwogIHtpZDoxLHRpdGxlOidEZXNpZ24gcmV2aWV3JyxkYXRlOicyMDI2LTA1LTIwJyx0aW1lOicxMDowMCcsZW5kOicxMTowMCcsY29sb3I6JyM1QjVCRDYnLHJlY3VycmVuY2U6J25vbmUnLG5vdGVzOidSZXZpZXcgUGhhc2UgMiBVSSB3aXRoIHRlYW0nfSwKICB7aWQ6Mix0aXRsZTonU3ByaW50IHBsYW5uaW5nJyxkYXRlOicyMDI2LTA1LTIyJyx0aW1lOicwOTowMCcsZW5kOicxMDozMCcsY29sb3I6JyNGRkFBMDAnLHJlY3VycmVuY2U6J3dlZWtseScsbm90ZXM6Jyd9LAogIHtpZDozLHRpdGxlOidTdGFrZWhvbGRlciBkZW1vJyxkYXRlOicyMDI2LTA1LTI4Jyx0aW1lOicxNDowMCcsZW5kOicxNTowMCcsY29sb3I6JyNFNTM5MzUnLHJlY3VycmVuY2U6J25vbmUnLG5vdGVzOidQaGFzZSAyIG1vZHVsZXMgZGVtbyd9LAogIHtpZDo0LHRpdGxlOicxOjEgd2l0aCBKb3JkYW4nLGRhdGU6JzIwMjYtMDUtMjcnLHRpbWU6JzExOjAwJyxlbmQ6JzExOjMwJyxjb2xvcjonIzIyODYzQScscmVjdXJyZW5jZTond2Vla2x5Jyxub3RlczonJ30sCiAge2lkOjUsdGl0bGU6J1Byb2R1Y3QgcmV0cm9zcGVjdGl2ZScsZGF0ZTonMjAyNi0wNi0wNScsdGltZTonMTU6MDAnLGVuZDonMTY6MDAnLGNvbG9yOicjRkY2QjJCJyxyZWN1cnJlbmNlOidtb250aGx5Jyxub3RlczonJ30sCl07CmxldCBuZXh0RXZlbnRJZD0xMDsKCi8qIOKVkOKVkOKVkCBUQVNLUyDilZDilZDilZAgKi8KZnVuY3Rpb24gZ2V0RmlsdGVyZWQoKXtyZXR1cm4gdGFza3MuZmlsdGVyKHQ9PntpZihwcm9qRmlsdGVyIT09J2FsbCcmJnQucHJvamVjdCE9PXByb2pGaWx0ZXIpcmV0dXJuIGZhbHNlO2lmKHByaUZpbHRlciE9PSdhbGwnJiZ0LnByaW9yaXR5IT09cHJpRmlsdGVyKXJldHVybiBmYWxzZTtpZihzZWFyY2hTdHImJiF0LnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyLnRvTG93ZXJDYXNlKCkpKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZTt9KTt9CmZ1bmN0aW9uIHJlbmRlcigpewogIGNvbnN0IGY9Z2V0RmlsdGVyZWQoKSx0b2RvPWYuZmlsdGVyKHQ9PnQuc3RhdHVzPT09J3RvZG8nKSxkb2luZz1mLmZpbHRlcih0PT50LnN0YXR1cz09PSdkb2luZycpLGRvbmU9Zi5maWx0ZXIodD0+dC5zdGF0dXM9PT0nZG9uZScpOwogIFsnaGMtdG9kbycsJ2hjLWRvaW5nJywnaGMtZG9uZScsJ3MtdG90YWwnLCdzLXRvZG8tYycsJ3MtZG9pbmctYycsJ3MtZG9uZS1jJ10uZm9yRWFjaChpZD0+ewogICAgY29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKWVsLnRleHRDb250ZW50PXtbJ2hjLXRvZG8nXTp0b2RvLmxlbmd0aCxbJ2hjLWRvaW5nJ106ZG9pbmcubGVuZ3RoLFsnaGMtZG9uZSddOmRvbmUubGVuZ3RoLFsncy10b3RhbCddOmYubGVuZ3RoLFsncy10b2RvLWMnXTp0b2RvLmxlbmd0aCxbJ3MtZG9pbmctYyddOmRvaW5nLmxlbmd0aCxbJ3MtZG9uZS1jJ106ZG9uZS5sZW5ndGh9W2lkXTsKICB9KTsKICBjb25zdCB0Yz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFzay1jb3VudCcpO2lmKHRjKXRjLnRleHRDb250ZW50PXRhc2tzLmxlbmd0aDsKICBpZihjdXJyZW50Vmlldz09PSdrYW5iYW4nKXsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYW5iYW4tYm9hcmQnKS5zdHlsZS5kaXNwbGF5PSdncmlkJzsKICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaXN0LWJvYXJkJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7CiAgICByZW5kZXJDb2woJ2NvbC10b2RvJyx0b2RvLCd0b2RvJyk7cmVuZGVyQ29sKCdjb2wtZG9pbmcnLGRvaW5nLCdkb2luZycpO3JlbmRlckNvbCgnY29sLWRvbmUnLGRvbmUsJ2RvbmUnKTsKICB9ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2FuYmFuLWJvYXJkJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpc3QtYm9hcmQnKS5zdHlsZS5kaXNwbGF5PSdibG9jayc7cmVuZGVyTGlzdChmKTt9CiAgcG9wdWxhdGVUaW1lclRhc2tTZWwoKTsKfQpmdW5jdGlvbiByZW5kZXJDb2woaWQsaXRlbXMsY29sKXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7ZWwuaW5uZXJIVE1MPScnOwogIGlmKCFpdGVtcy5sZW5ndGgpe2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZS5zdHlsZS5jc3NUZXh0PSdwYWRkaW5nOjEycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLWluazQpO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjEuNSc7ZS50ZXh0Q29udGVudD1jb2w9PT0nZG9uZSc/J05vdGhpbmcgZG9uZSB5ZXQhJzonQWxsIGNsZWFyIGhlcmUhJztlbC5hcHBlbmRDaGlsZChlKTtyZXR1cm47fQogIGl0ZW1zLmZvckVhY2godD0+ZWwuYXBwZW5kQ2hpbGQobWFrZUNhcmQodCxjb2wpKSk7Cn0KZnVuY3Rpb24gbWFrZUNhcmQodCxjb2wpewogIGNvbnN0IGE9QVNTSUdORUVTW3QuYXNzaWduZWUlNF0sb3ZlcmR1ZT10LmR1ZSYmdC5kdWU8VE9EQVkmJmNvbCE9PSdkb25lJyxwY3Q9dC5zdWI+MD9NYXRoLnJvdW5kKCh0LnN1YkRvbmUvdC5zdWIpKjEwMCk6MDsKICBjb25zdCBjYXJkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2NhcmQuY2xhc3NOYW1lPSdjYXJkJztjYXJkLnNldEF0dHJpYnV0ZSgnZHJhZ2dhYmxlJywndHJ1ZScpO2NhcmQuc2V0QXR0cmlidXRlKCdyb2xlJywnbGlzdGl0ZW0nKTtjYXJkLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsYFRhc2s6ICR7dC50aXRsZX0uICR7dC5wcmlvcml0eX0gcHJpb3JpdHkuYCk7Y2FyZC5kYXRhc2V0LmlkPXQuaWQ7CiAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLGU9PntkcmFnSWQ9dC5pZDtjYXJkLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJyk7ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0nbW92ZSc7ZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgndGV4dC9wbGFpbicsdC5pZCk7fSk7CiAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW5kJywoKT0+e2NhcmQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ2dpbmcnKTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY29sJykuZm9yRWFjaChjPT5jLmNsYXNzTGlzdC5yZW1vdmUoJ2RyYWctb3ZlcicpKTt9KTsKICBjYXJkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iY2FyZC10b3AiPjxkaXYgY2xhc3M9ImNhcmQtbGFiZWxzIj48c3BhbiBjbGFzcz0ibGFiZWwgbC0ke3QubGFiZWx9Ij4ke3QubGFiZWx9PC9zcGFuPjwvZGl2PjxzcGFuIGFyaWEtbGFiZWw9IiR7dC5wcmlvcml0eX0gcHJpb3JpdHkiPiR7UFJJW3QucHJpb3JpdHldfHxQUkkubWVkfTwvc3Bhbj48L2Rpdj48cCBjbGFzcz0iY2FyZC10aXRsZSI+JHt0LnRpdGxlfTwvcD48ZGl2IGNsYXNzPSJjYXJkLWZvb3QiPjxkaXYgY2xhc3M9ImNhcmQtbWV0YS1sZWZ0Ij48ZGl2IGNsYXNzPSJhc3NpZ25lZSIgc3R5bGU9ImJhY2tncm91bmQ6JHthLmN9IiB0aXRsZT0iJHthLm5hbWV9Ij4ke2EuaX08L2Rpdj4ke3Quc3ViPjA/YDxkaXYgY2xhc3M9InN1YnRhc2stcHJvZyI+JHt0LnN1YkRvbmV9LyR7dC5zdWJ9PGRpdiBjbGFzcz0icHJvZy1iYXIiIHJvbGU9InByb2dyZXNzYmFyIiBhcmlhLXZhbHVlbm93PSIke3BjdH0iIGFyaWEtdmFsdWVtaW49IjAiIGFyaWEtdmFsdWVtYXg9IjEwMCI+PGRpdiBjbGFzcz0icHJvZy1maWxsIiBzdHlsZT0id2lkdGg6JHtwY3R9JSI+PC9kaXY+PC9kaXY+PC9kaXY+YDonJ308L2Rpdj4ke3QuZHVlP2A8c3BhbiBjbGFzcz0iZHVlLWRhdGUke292ZXJkdWU/JyBvdmVyZHVlJzonJ30iPiR7dC5kdWUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKX08L3NwYW4+YDonJ308L2Rpdj4ke05FWFRbY29sXT9gPGJ1dHRvbiBjbGFzcz0ibW92ZS1idG4iIG9uY2xpY2s9ImV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO21vdmVUYXNrKCR7dC5pZH0sJyR7TkVYVFtjb2xdfScpIiBhcmlhLWxhYmVsPSJNb3ZlIHRvICR7TkVYVFtjb2xdPT09J2RvaW5nJz8nSW4gcHJvZ3Jlc3MnOidEb25lJ30iPiR7TlhUX0xCTFtjb2xdfTwvYnV0dG9uPmA6Jyd9YDsKICByZXR1cm4gY2FyZDsKfQpmdW5jdGlvbiByZW5kZXJMaXN0KGl0ZW1zKXsKICBjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGlzdC1yb3dzJyk7ZWwuaW5uZXJIVE1MPScnOwogIGNvbnN0IHNjbHM9e3RvZG86J3MtdG9kbycsZG9pbmc6J3MtZG9pbmcnLGRvbmU6J3MtZG9uZSd9LHN0eHQ9e3RvZG86J1RvIGRvJyxkb2luZzonSW4gcHJvZ3Jlc3MnLGRvbmU6J0RvbmUnfTsKICBpdGVtcy5mb3JFYWNoKHQ9Pntjb25zdCByb3c9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7cm93LmNsYXNzTmFtZT0nbGlzdC1yb3cnO3Jvdy5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCdsaXN0aXRlbScpO2NvbnN0IGE9QVNTSUdORUVTW3QuYXNzaWduZWUlNF0sb3ZlcmR1ZT10LmR1ZSYmdC5kdWU8VE9EQVkmJnQuc3RhdHVzIT09J2RvbmUnO3Jvdy5pbm5lckhUTUw9YDxzcGFuIGNsYXNzPSIke3Quc3RhdHVzPT09J2RvbmUnPydsaXN0LWRvbmUnOicnfSI+JHt0LnRpdGxlfTwvc3Bhbj48c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWNoaXAgJHtzY2xzW3Quc3RhdHVzXX0iPiR7c3R4dFt0LnN0YXR1c119PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4Ij4ke1BSSVt0LnByaW9yaXR5XXx8UFJJLm1lZH0gJHt0LnByaW9yaXR5fTwvc3Bhbj48c3BhbiBjbGFzcz0iJHtvdmVyZHVlPydkdWUtZGF0ZSBvdmVyZHVlJzonJ30iPiR7dC5kdWU/dC5kdWUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKTon4oCUJ308L3NwYW4+PHNwYW4+PGRpdiBjbGFzcz0iYXNzaWduZWUiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7YS5jfTtkaXNwbGF5OmlubGluZS1mbGV4IiB0aXRsZT0iJHthLm5hbWV9Ij4ke2EuaX08L2Rpdj48L3NwYW4+YDtlbC5hcHBlbmRDaGlsZChyb3cpO30pOwp9CmZ1bmN0aW9uIG1vdmVUYXNrKGlkLHRvKXtjb25zdCB0PXRhc2tzLmZpbmQoeD0+eC5pZD09PWlkKTtpZih0KXt0LnN0YXR1cz10bztyZW5kZXIoKTt9fQpmdW5jdGlvbiBvbkRyYWdPdmVyKGUsY29sKXtlLnByZXZlbnREZWZhdWx0KCk7ZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0nbW92ZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbC13cmFwLScrY29sKS5jbGFzc0xpc3QuYWRkKCdkcmFnLW92ZXInKTt9CmZ1bmN0aW9uIG9uRHJhZ0xlYXZlKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbC13cmFwLScrY29sKS5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnLW92ZXInKTt9CmZ1bmN0aW9uIG9uRHJvcChlLGNvbCl7ZS5wcmV2ZW50RGVmYXVsdCgpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2wtd3JhcC0nK2NvbCkuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZy1vdmVyJyk7Y29uc3QgaWQ9cGFyc2VJbnQoZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dC9wbGFpbicpfHxkcmFnSWQpO2NvbnN0IHQ9dGFza3MuZmluZCh4PT54LmlkPT09aWQpO2lmKHQpe3Quc3RhdHVzPWNvbDtyZW5kZXIoKTt9ZHJhZ0lkPW51bGw7fQpmdW5jdGlvbiBzZXRWaWV3KHYsYnRuKXtjdXJyZW50Vmlldz12O2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy52dC1idG4nKS5mb3JFYWNoKGI9PntiLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpO2Iuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCdmYWxzZScpO30pO2J0bi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtidG4uc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCd0cnVlJyk7cmVuZGVyKCk7fQpmdW5jdGlvbiBmaWx0ZXJQcmlvcml0eShwLGVsKXtwcmlGaWx0ZXI9cDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZmlsdGVyLXBpbGwnKS5mb3JFYWNoKHg9Pnt4LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZS1maWx0ZXInKTt4LnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywnZmFsc2UnKTt9KTtlbC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUtZmlsdGVyJyk7ZWwuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCd0cnVlJyk7cmVuZGVyKCk7fQpmdW5jdGlvbiBmaWx0ZXJQcm9qZWN0KHAsZWwpe3Byb2pGaWx0ZXI9cDtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucHJvai1idG4nKS5mb3JFYWNoKHg9Pnt4LmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZS1wcm9qJyk7eC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ2ZhbHNlJyk7fSk7ZWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlLXByb2onKTtlbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ3RydWUnKTtyZW5kZXIoKTt9CmZ1bmN0aW9uIGZpbHRlclNlYXJjaCh2KXtzZWFyY2hTdHI9djtyZW5kZXIoKTt9CmZ1bmN0aW9uIG9wZW5Nb2RhbCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXNrLW1vZGFsJykuY2xhc3NMaXN0LmFkZCgnb3BlbicpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXRpdGxlJykuZm9jdXMoKTt9CmZ1bmN0aW9uIGNsb3NlTW9kYWwoKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFzay1tb2RhbCcpLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTt9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXNrLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGU9PntpZihlLnRhcmdldD09PWUuY3VycmVudFRhcmdldCljbG9zZU1vZGFsKCk7fSk7CmZ1bmN0aW9uIHNhdmVUYXNrKCl7Y29uc3QgdGl0bGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ20tdGl0bGUnKS52YWx1ZS50cmltKCk7aWYoIXRpdGxlKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS10aXRsZScpLmZvY3VzKCk7cmV0dXJuO310YXNrcy5wdXNoKHtpZDpuZXh0SWQrKyx0aXRsZSxsYWJlbDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS1sYWJlbCcpLnZhbHVlLHByaW9yaXR5OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXByaW9yaXR5JykudmFsdWUsc3RhdHVzOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLXN0YXR1cycpLnZhbHVlLHByb2plY3Q6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ20tcHJvamVjdCcpLnZhbHVlLGFzc2lnbmVlOnBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtLWFzc2lnbmVlJykudmFsdWUpLGR1ZTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS1kdWUnKS52YWx1ZXx8bnVsbCxzdWI6MCxzdWJEb25lOjB9KTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbS10aXRsZScpLnZhbHVlPScnO2Nsb3NlTW9kYWwoKTtyZW5kZXIoKTt9CmZ1bmN0aW9uIG9wZW5JbmxpbmVGb3JtKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FmLScrY29sKS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FpLScrY29sKS5mb2N1cygpO30KZnVuY3Rpb24gY2xvc2VJbmxpbmVGb3JtKGNvbCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FmLScrY29sKS5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FpLScrY29sKS52YWx1ZT0nJzt9CmZ1bmN0aW9uIGFkZElubGluZVRhc2soY29sKXtjb25zdCB0aXRsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncWktJytjb2wpLnZhbHVlLnRyaW0oKTtpZighdGl0bGUpcmV0dXJuO3Rhc2tzLnB1c2goe2lkOm5leHRJZCsrLHRpdGxlLGxhYmVsOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxbC0nK2NvbCkudmFsdWUscHJpb3JpdHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3FwLScrY29sKS52YWx1ZSxzdGF0dXM6Y29sLHByb2plY3Q6cHJvakZpbHRlcj09PSdhbGwnPydkZXYnOnByb2pGaWx0ZXIsYXNzaWduZWU6TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpLGR1ZTpudWxsLHN1YjowLHN1YkRvbmU6MH0pO2Nsb3NlSW5saW5lRm9ybShjb2wpO3JlbmRlcigpO30KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnFmLWlucHV0JykuZm9yRWFjaChlbD0+e2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLGU9Pntjb25zdCBjb2w9ZWwuaWQucmVwbGFjZSgncWktJywnJyk7aWYoZS5rZXk9PT0nRW50ZXInJiYhZS5zaGlmdEtleSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2FkZElubGluZVRhc2soY29sKTt9aWYoZS5rZXk9PT0nRXNjYXBlJyljbG9zZUlubGluZUZvcm0oY29sKTt9KTt9KTsKZnVuY3Rpb24gcG9wdWxhdGVUaW1lclRhc2tTZWwoKXtjb25zdCBzZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXRhc2stc2VsJyk7aWYoIXNlbClyZXR1cm47Y29uc3QgY3VyPXNlbC52YWx1ZTtzZWwuaW5uZXJIVE1MPSc8b3B0aW9uIHZhbHVlPSIiPkxpbmsgdG8gYSB0YXNrIChvcHRpb25hbCk8L29wdGlvbj4nO3Rhc2tzLmZpbHRlcih0PT50LnN0YXR1cyE9PSdkb25lJykuZm9yRWFjaCh0PT57Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtvLnZhbHVlPXQuaWQ7by50ZXh0Q29udGVudD10LnRpdGxlLnNsaWNlKDAsNDApO3NlbC5hcHBlbmRDaGlsZChvKTt9KTtzZWwudmFsdWU9Y3VyO30KCi8qIOKVkOKVkOKVkCBEQVNIQk9BUkQg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHJlbmRlckRhc2hib2FyZCgpewogIGNvbnN0IGhyPW5ldyBEYXRlKCkuZ2V0SG91cnMoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFzaC1oJykudGV4dENvbnRlbnQ9KGhyPDEyPydHb29kIG1vcm5pbmcnOmhyPDE3PydHb29kIGFmdGVybm9vbic6aHI8MjE/J0dvb2QgZXZlbmluZyc6J0dvb2QgbmlnaHQnKSsnLCBBbGV4JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGFzaC1zdWInKS50ZXh0Q29udGVudD1uZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHt3ZWVrZGF5Oidsb25nJyx5ZWFyOidudW1lcmljJyxtb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOwogIGNvbnN0IHRvZGF5VGFza3M9dGFza3MuZmlsdGVyKHQ9PnQuZHVlPT09VE9EQVkpLHRvZGF5RG9uZT10b2RheVRhc2tzLmZpbHRlcih0PT50LnN0YXR1cz09PSdkb25lJykubGVuZ3RoOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRvZGF5LW4nKS50ZXh0Q29udGVudD10b2RheVRhc2tzLmxlbmd0aDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC10b2RheS1kJykudGV4dENvbnRlbnQ9dG9kYXlEb25lKycgZG9uZSc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QtdG9kYXktbCcpLnRleHRDb250ZW50PSd0YXNrJysodG9kYXlUYXNrcy5sZW5ndGghPT0xPydzJzonJykrJyBkdWUgdG9kYXknOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRvZGF5LXAnKS5zdHlsZS53aWR0aD0odG9kYXlUYXNrcy5sZW5ndGg/TWF0aC5yb3VuZCgodG9kYXlEb25lL3RvZGF5VGFza3MubGVuZ3RoKSoxMDApOjApKyclJzsKICBjb25zdCB0bD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC10YXNrcycpO3RsLmlubmVySFRNTD0nJzsKICBpZighdG9kYXlUYXNrcy5sZW5ndGgpe3RsLmlubmVySFRNTD0nPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7cGFkZGluZzo0cHggMCI+Tm8gdGFza3MgZHVlIHRvZGF5LjwvZGl2Pic7fQogIGVsc2UgdG9kYXlUYXNrcy5zbGljZSgwLDUpLmZvckVhY2godD0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2Rhc2gtbGlzdC1pdGVtJztkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iZGFzaC1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7dC5zdGF0dXM9PT0nZG9uZSc/JyMyMjg2M0EnOnQucHJpb3JpdHk9PT0naGlnaCc/JyNFMDM1MzUnOid2YXIoLS1hY2NlbnQpJ30iPjwvZGl2PjxzcGFuIHN0eWxlPSIke3Quc3RhdHVzPT09J2RvbmUnPyd0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO2NvbG9yOnZhcigtLWluazQpJzonJ30iPiR7dC50aXRsZX08L3NwYW4+YDt0bC5hcHBlbmRDaGlsZChkKTt9KTsKICBjb25zdCBldkxpc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2QtZXZlbnRzJyk7ZXZMaXN0LmlubmVySFRNTD0nJzsKICBjb25zdCB1cGNvbWluZz1ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT49VE9EQVkpLnNvcnQoKGEsYik9PmEuZGF0ZS5sb2NhbGVDb21wYXJlKGIuZGF0ZSkpLnNsaWNlKDAsMyk7CiAgaWYoIXVwY29taW5nLmxlbmd0aCl7ZXZMaXN0LmlubmVySFRNTD0nPGRpdiBzdHlsZT0iZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLXRvcDo0cHgiPk5vIHVwY29taW5nIGV2ZW50cy48L2Rpdj4nO30KICBlbHNlIHVwY29taW5nLmZvckVhY2goZXY9Pntjb25zdCBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO2QuY2xhc3NOYW1lPSdkYXNoLWxpc3QtaXRlbSc7ZC5pbm5lckhUTUw9YDxkaXYgY2xhc3M9ImRhc2gtZG90IiBzdHlsZT0iYmFja2dyb3VuZDoke2V2LmNvbG9yfSI+PC9kaXY+PHNwYW4gc3R5bGU9ImZsZXg6MSI+JHtldi50aXRsZX08L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB4O2NvbG9yOnZhcigtLWluazQpIj4ke2V2LmRhdGUuc2xpY2UoNSkucmVwbGFjZSgnLScsJy8nKX08L3NwYW4+YDtldkxpc3QuYXBwZW5kQ2hpbGQoZCk7fSk7CiAgY29uc3Qgc3RyZWFrPWNhbGNTdHJlYWsoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZC1zdHJlYWsnKS50ZXh0Q29udGVudD1zdHJlYWs7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Qtc3RyZWFrLXMnKS50ZXh0Q29udGVudD1zdHJlYWs/c3RyZWFrKycgZGF5Jysoc3RyZWFrIT09MT8ncyc6JycpKycgaW4gYSByb3chJzonU3RhcnQgd3JpdGluZyB0b2RheSEnOwogIGNvbnN0IGxhc3Q9dGltZXJMb2dbdGltZXJMb2cubGVuZ3RoLTFdOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkLXRpbWVyJykuaW5uZXJIVE1MPWxhc3Q/YDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rKSI+JHtsYXN0LmxhYmVsfTwvc3Bhbj48YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLWluazQpIj4ke2xhc3QuZHVyYXRpb259IMK3ICR7bGFzdC50aW1lfTwvc3Bhbj5gOidObyBzZXNzaW9ucyB5ZXQuJzsKfQoKLyog4pWQ4pWQ4pWQIFBMQU5ORVIg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHBsYW5uZXJOYXYoZGlyKXtwbGFubmVyRGF0ZT1uZXcgRGF0ZShwbGFubmVyRGF0ZS5nZXRGdWxsWWVhcigpLHBsYW5uZXJEYXRlLmdldE1vbnRoKCkrZGlyLDEpO3JlbmRlclBsYW5uZXIoKTt9CmZ1bmN0aW9uIHNldFBsYW5uZXJWaWV3KHYsYnRuKXtwbGFubmVyVmlldz12O2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYWwtdnQnKS5mb3JFYWNoKGI9PmIuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpO2J0bi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtyZW5kZXJQbGFubmVyKCk7fQpmdW5jdGlvbiByZW5kZXJQbGFubmVyKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItbGFiZWwnKS50ZXh0Q29udGVudD1NT05USFNbcGxhbm5lckRhdGUuZ2V0TW9udGgoKV0rJyAnK3BsYW5uZXJEYXRlLmdldEZ1bGxZZWFyKCk7CiAgaWYocGxhbm5lclZpZXc9PT0nbW9udGgnKXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhbm5lci1tb250aCcpLnN0eWxlLmRpc3BsYXk9Jyc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItd2VlaycpLnN0eWxlLmRpc3BsYXk9J25vbmUnO3JlbmRlclBsYW5uZXJNb250aCgpO30KICBlbHNle2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwbGFubmVyLW1vbnRoJykuc3R5bGUuZGlzcGxheT0nbm9uZSc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItd2VlaycpLnN0eWxlLmRpc3BsYXk9Jyc7cmVuZGVyUGxhbm5lcldlZWsoKTt9Cn0KZnVuY3Rpb24gcmVuZGVyUGxhbm5lck1vbnRoKCl7CiAgY29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BsYW5uZXItbW9udGgnKSx5cj1wbGFubmVyRGF0ZS5nZXRGdWxsWWVhcigpLG1vPXBsYW5uZXJEYXRlLmdldE1vbnRoKCk7CiAgY29uc3QgZmlyc3Q9bmV3IERhdGUoeXIsbW8sMSkuZ2V0RGF5KCksZGltPW5ldyBEYXRlKHlyLG1vKzEsMCkuZ2V0RGF0ZSgpOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJjYWwtZ3JpZCI+JzsKICBEQVlTLmZvckVhY2goZD0+e2grPWA8ZGl2IGNsYXNzPSJjYWwtZG93Ij4ke2R9PC9kaXY+YDt9KTsKICBmb3IobGV0IGk9MDtpPGZpcnN0O2krKyl7Y29uc3QgZD1uZXcgRGF0ZSh5cixtbywxLWZpcnN0K2kpO2grPWA8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkLmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBmb3IobGV0IGQ9MTtkPD1kaW07ZCsrKXsKICAgIGNvbnN0IGRzPWAke3lyfS0ke1N0cmluZyhtbysxKS5wYWRTdGFydCgyLCcwJyl9LSR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsJzAnKX1gLGlzVG9kYXk9ZHM9PT1UT0RBWTsKICAgIGNvbnN0IGR0PXRhc2tzLmZpbHRlcih0PT50LmR1ZT09PWRzKSxkZT1ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT09PWRzKTsKICAgIGgrPWA8ZGl2IGNsYXNzPSJjYWwtZGF5JHtpc1RvZGF5PycgdG9kYXknOicnfSI+PGRpdiBjbGFzcz0iY2FsLWRheS1udW0iPiR7ZH08L2Rpdj48ZGl2IGNsYXNzPSJjYWwtZGF5LXRhc2tzIj5gOwogICAgZHQuc2xpY2UoMCwyKS5mb3JFYWNoKHQ9PntoKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stcGlsbCBwcmktJHt0LnByaW9yaXR5fSIgdGl0bGU9IiR7dC50aXRsZX0iPiR7dC50aXRsZS5zbGljZSgwLDE2KX0ke3QudGl0bGUubGVuZ3RoPjE2PyfigKYnOicnfTwvZGl2PmA7fSk7CiAgICBkZS5zbGljZSgwLDEpLmZvckVhY2goZXY9PntoKz1gPGRpdiBjbGFzcz0iZXZlbnQtcGlsbCIgc3R5bGU9ImJhY2tncm91bmQ6JHtldi5jb2xvcn0yMjtjb2xvcjoke2V2LmNvbG9yfTtib3JkZXI6MXB4IHNvbGlkICR7ZXYuY29sb3J9NDQiPiR7ZXYudGl0bGUuc2xpY2UoMCwxNCl94oCmPC9kaXY+YDt9KTsKICAgIGNvbnN0IG1vcmU9KGR0Lmxlbmd0aC0yKSsoZGUubGVuZ3RoLTEpO2lmKG1vcmU+MCloKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stbW9yZSI+KyR7bW9yZX0gbW9yZTwvZGl2PmA7CiAgICBoKz0nPC9kaXY+PC9kaXY+JzsKICB9CiAgY29uc3QgbGFzdD1uZXcgRGF0ZSh5cixtbyxkaW0pLmdldERheSgpOwogIGZvcihsZXQgaT0xO2k8Ny1sYXN0O2krKyl7Y29uc3QgZD1uZXcgRGF0ZSh5cixtbysxLGkpO2grPWA8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkLmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBoKz0nPC9kaXY+JztlbC5pbm5lckhUTUw9aDsKfQpmdW5jdGlvbiByZW5kZXJQbGFubmVyV2VlaygpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwbGFubmVyLXdlZWsnKTsKICBjb25zdCBiYXNlPXBsYW5uZXJEYXRlLGRvdz1iYXNlLmdldERheSgpO2NvbnN0IHdzPW5ldyBEYXRlKGJhc2UpO3dzLnNldERhdGUoYmFzZS5nZXREYXRlKCktZG93KTsKICBjb25zdCBIT1VSUz1bJzhhbScsJzlhbScsJzEwYW0nLCcxMWFtJywnMTJwbScsJzFwbScsJzJwbScsJzNwbScsJzRwbScsJzVwbScsJzZwbSddOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJ3ZWVrLWdyaWQiPjxkaXYgY2xhc3M9IndlZWstaGVhZCIgc3R5bGU9ImdyaWQtcm93OjE7YmFja2dyb3VuZDp2YXIoLS1iZzIpIj48L2Rpdj4nOwogIGZvcihsZXQgZD0wO2Q8NztkKyspe2NvbnN0IGR0PW5ldyBEYXRlKHdzKTtkdC5zZXREYXRlKHdzLmdldERhdGUoKStkKTtjb25zdCBkcz1gJHtkdC5nZXRGdWxsWWVhcigpfS0ke1N0cmluZyhkdC5nZXRNb250aCgpKzEpLnBhZFN0YXJ0KDIsJzAnKX0tJHtTdHJpbmcoZHQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCcwJyl9YDtjb25zdCBpc1RkPWRzPT09VE9EQVk7aCs9YDxkaXYgY2xhc3M9IndlZWstaGVhZCI+PGRpdiBjbGFzcz0id2Vlay1oZWFkLWRheSI+JHtEQVlTW2RdfTwvZGl2PjxkaXYgY2xhc3M9IndlZWstaGVhZC1kYXRlJHtpc1RkPycgdG9kYXktZCc6Jyd9Ij4ke2R0LmdldERhdGUoKX08L2Rpdj48L2Rpdj5gO30KICBIT1VSUy5mb3JFYWNoKChocixoaSk9PnsKICAgIGgrPWA8ZGl2IGNsYXNzPSJ3ZWVrLXRpbWUtY29sIj48c3BhbiBjbGFzcz0id2Vlay10aW1lLWxhYmVsIj4ke2hyfTwvc3Bhbj48L2Rpdj5gOwogICAgZm9yKGxldCBkPTA7ZDw3O2QrKyl7Y29uc3QgZHQ9bmV3IERhdGUod3MpO2R0LnNldERhdGUod3MuZ2V0RGF0ZSgpK2QpO2NvbnN0IGRzPWAke2R0LmdldEZ1bGxZZWFyKCl9LSR7U3RyaW5nKGR0LmdldE1vbnRoKCkrMSkucGFkU3RhcnQoMiwnMCcpfS0ke1N0cmluZyhkdC5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsJzAnKX1gO2NvbnN0IGlzVGQ9ZHM9PT1UT0RBWTtjb25zdCBkdDI9dGFza3MuZmlsdGVyKHQ9PnQuZHVlPT09ZHMmJnQuc3RhdHVzIT09J2RvbmUnKTtoKz1gPGRpdiBjbGFzcz0id2Vlay1jZWxsJHtpc1RkPycgdG9kYXktY29sJzonJ30iPiR7aGk9PT0wP2R0Mi5tYXAodD0+YDxkaXYgY2xhc3M9IndlZWstdGFzay1ibG9jayI+JHt0LnRpdGxlLnNsaWNlKDAsMTgpfTwvZGl2PmApLmpvaW4oJycpOicnfTwvZGl2PmA7fQogIH0pOwogIGgrPSc8L2Rpdj4nO2VsLmlubmVySFRNTD1oOwp9CgovKiDilZDilZDilZAgSk9VUk5BTCDilZDilZDilZAgKi8KYXN5bmMgZnVuY3Rpb24gbG9hZEpvdXJuYWwoKXsKICB0cnl7Y29uc3Qgcj1hd2FpdCB3aW5kb3cuc3RvcmFnZS5nZXQoJ3Rrc19qb3VybmFsJyk7aWYocilqb3VybmFsRW50cmllcz1KU09OLnBhcnNlKHIudmFsdWUpO31jYXRjaChlKXtqb3VybmFsRW50cmllcz1bXTt9CiAgaWYoIWpvdXJuYWxFbnRyaWVzLmxlbmd0aCl7am91cm5hbEVudHJpZXM9WwogICAge2RhdGU6JzIwMjYtMDUtMTknLG1vb2Q6NCx0ZXh0OidIYWQgYSBwcm9kdWN0aXZlIG1vcm5pbmcuIEZpbmlzaGVkIHRoZSBkZXNpZ24gdG9rZW5zIGFuZCBwdXNoZWQgdGhlIGJyYW5jaC4gRmVlbGluZyBnb29kIGFib3V0IHRoZSBkaXJlY3Rpb24uJyx0YWdzOid3b3JrLGRlc2lnbicsd29yZHM6MTl9LAogICAge2RhdGU6JzIwMjYtMDUtMTgnLG1vb2Q6Myx0ZXh0OidTbG93ZXIgZGF5IHRoYW4gcGxhbm5lZC4gU3ByaW50IHBsYW5uaW5nIHRvb2sgbG9uZ2VyIHRoYW4gZXhwZWN0ZWQgYnV0IHdlIGdvdCBhbGlnbmVkLicsdGFnczond29yayx0ZWFtJyx3b3JkczoxNH0sCiAgICB7ZGF0ZTonMjAyNi0wNS0xNycsbW9vZDo1LHRleHQ6J0dyZWF0IGRheSEgTGF1bmNoZWQgdGhlIGFscGhhIHRvIHRoZSBpbnRlcm5hbCB0ZWFtLiBGZWVkYmFjayB3YXMgb3ZlcndoZWxtaW5nbHkgcG9zaXRpdmUuJyx0YWdzOidsYXVuY2gsd29yaycsd29yZHM6MTN9LAogIF07fQogIHJlbmRlckpvdXJuYWwoKTsKfQphc3luYyBmdW5jdGlvbiBzYXZlSm91cm5hbEVudHJ5KCl7CiAgY29uc3QgdGV4dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1ib2R5JykudmFsdWUudHJpbSgpO2lmKCF0ZXh0KXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1ib2R5JykuZm9jdXMoKTtyZXR1cm47fQogIGNvbnN0IHRhZ3M9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtdGFncycpLnZhbHVlLnRyaW0oKTtjb25zdCB3b3Jkcz10ZXh0LnNwbGl0KC9ccysvKS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoOwogIGNvbnN0IGV4aXN0aW5nPWpvdXJuYWxFbnRyaWVzLmZpbmRJbmRleChlPT5lLmRhdGU9PT1UT0RBWSk7CiAgY29uc3QgZW50cnk9e2RhdGU6VE9EQVksbW9vZDpzZWxlY3RlZE1vb2QsdGV4dCx0YWdzLHdvcmRzfTsKICBpZihleGlzdGluZz49MClqb3VybmFsRW50cmllc1tleGlzdGluZ109ZW50cnk7ZWxzZSBqb3VybmFsRW50cmllcy51bnNoaWZ0KGVudHJ5KTsKICBqb3VybmFsRW50cmllcy5zb3J0KChhLGIpPT5iLmRhdGUubG9jYWxlQ29tcGFyZShhLmRhdGUpKTsKICB0cnl7YXdhaXQgd2luZG93LnN0b3JhZ2Uuc2V0KCd0a3Nfam91cm5hbCcsSlNPTi5zdHJpbmdpZnkoam91cm5hbEVudHJpZXMpKTt9Y2F0Y2goZSl7fQogIHJlbmRlckpvdXJuYWwoKTsKICBjb25zdCBidG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmpvdXJuYWwtc2F2ZS1idG4nKTtidG4udGV4dENvbnRlbnQ9J1NhdmVkIOKckyc7YnRuLnN0eWxlLmJhY2tncm91bmQ9J3ZhcigtLWhpKSc7c2V0VGltZW91dCgoKT0+e2J0bi50ZXh0Q29udGVudD0nU2F2ZSBlbnRyeSc7YnRuLnN0eWxlLmJhY2tncm91bmQ9Jyc7fSwyMDAwKTsKfQpmdW5jdGlvbiBjYWxjU3RyZWFrKCl7CiAgaWYoIWpvdXJuYWxFbnRyaWVzLmxlbmd0aClyZXR1cm4gMDsKICBjb25zdCBzb3J0ZWQ9Wy4uLmpvdXJuYWxFbnRyaWVzXS5zb3J0KChhLGIpPT5iLmRhdGUubG9jYWxlQ29tcGFyZShhLmRhdGUpKTsKICBsZXQgc3RyZWFrPTAsY2hlY2s9bmV3IERhdGUoVE9EQVkpOwogIGZvcihjb25zdCBlIG9mIHNvcnRlZCl7Y29uc3QgZWQ9bmV3IERhdGUoZS5kYXRlKTtjb25zdCBkaWZmPU1hdGgucm91bmQoKGNoZWNrLWVkKS8oODY0ZTUpKTtpZihkaWZmPT09MCl7c3RyZWFrKys7Y2hlY2suc2V0RGF0ZShjaGVjay5nZXREYXRlKCktMSk7fWVsc2UgaWYoZGlmZj09PTEpe3N0cmVhaysrO2NoZWNrPWVkO2NoZWNrLnNldERhdGUoY2hlY2suZ2V0RGF0ZSgpLTEpO31lbHNlIGJyZWFrO30KICByZXR1cm4gc3RyZWFrOwp9CmZ1bmN0aW9uIHJlbmRlckpvdXJuYWwoKXsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC1kYXRlJykudGV4dENvbnRlbnQ9bmV3IERhdGUoVE9EQVkrJ1QwMDowMDowMCcpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHt3ZWVrZGF5Oidsb25nJyx5ZWFyOidudW1lcmljJyxtb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOwogIGNvbnN0IHRvZGF5RW50cnk9am91cm5hbEVudHJpZXMuZmluZChlPT5lLmRhdGU9PT1UT0RBWSk7CiAgaWYodG9kYXlFbnRyeSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtYm9keScpLnZhbHVlPXRvZGF5RW50cnkudGV4dDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnam91cm5hbC10YWdzJykudmFsdWU9dG9kYXlFbnRyeS50YWdzfHwnJztkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd29yZC1jb3VudCcpLnRleHRDb250ZW50PXRvZGF5RW50cnkud29yZHMrJyB3b3Jkcyc7c2VsZWN0TW9vZFNpbGVudCh0b2RheUVudHJ5Lm1vb2QpO30KICBjb25zdCBzdHJlYWs9Y2FsY1N0cmVhaygpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqLXN0cmVhaycpLnRleHRDb250ZW50PXN0cmVhazsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnai1zdHJlYWstcycpLnRleHRDb250ZW50PXN0cmVhaz9zdHJlYWsrJyBkYXknKyhzdHJlYWshPT0xPydzJzonJykrJyBpbiBhIHJvdyEnOidXcml0ZSB0b2RheSB0byBzdGFydCEnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqLWVudHJ5LWNvdW50JykudGV4dENvbnRlbnQ9am91cm5hbEVudHJpZXMubGVuZ3RoKycgZW50cmllcyc7CiAgY29uc3QgbGlzdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzdC1lbnRyaWVzJyk7bGlzdC5pbm5lckhUTUw9Jyc7CiAgY29uc3Qgb3RoZXJzPWpvdXJuYWxFbnRyaWVzLmZpbHRlcihlPT5lLmRhdGUhPT1UT0RBWSkuc2xpY2UoMCw4KTsKICBvdGhlcnMuZm9yRWFjaChlPT57Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0ncGFzdC1lbnRyeSc7ZC5pbm5lckhUTUw9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjdweCI+PGRpdiBjbGFzcz0icGUtbW9vZC1kb3QiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7TU9PRF9DT0xPUlNbZS5tb29kXX0iPjwvZGl2PjxzcGFuIGNsYXNzPSJwZS1kYXRlIj4ke25ldyBEYXRlKGUuZGF0ZSsnVDAwOjAwOjAwJykudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1DQScse21vbnRoOidzaG9ydCcsZGF5OidudW1lcmljJyx5ZWFyOidudW1lcmljJ30pfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJwZS1wcmV2aWV3Ij4ke2UudGV4dH08L2Rpdj5gO2Qub25jbGljaz0oKT0+e2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdqb3VybmFsLWJvZHknKS52YWx1ZT1lLnRleHQ7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtdGFncycpLnZhbHVlPWUudGFnc3x8Jyc7dXBkYXRlV29yZENvdW50KCk7c2VsZWN0TW9vZFNpbGVudChlLm1vb2QpO307bGlzdC5hcHBlbmRDaGlsZChkKTt9KTsKICBpZighb3RoZXJzLmxlbmd0aCYmIXRvZGF5RW50cnkpbGlzdC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gcGFzdCBlbnRyaWVzIHlldC48L2Rpdj4nOwp9CmZ1bmN0aW9uIHNlbGVjdE1vb2QobGV2ZWwsYnRuKXtzZWxlY3RlZE1vb2Q9bGV2ZWw7ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1vb2QtYnRuJykuZm9yRWFjaCgoYixpKT0+e2IuY2xhc3NMaXN0LnRvZ2dsZSgnYWN0aXZlJyxpKzE9PT1sZXZlbCk7Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsaSsxPT09bGV2ZWw/J3RydWUnOidmYWxzZScpO30pO30KZnVuY3Rpb24gc2VsZWN0TW9vZFNpbGVudChsZXZlbCl7c2VsZWN0ZWRNb29kPWxldmVsO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tb29kLWJ0bicpLmZvckVhY2goKGIsaSk9PntiLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsaSsxPT09bGV2ZWwpO2Iuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLGkrMT09PWxldmVsPyd0cnVlJzonZmFsc2UnKTt9KTt9CmZ1bmN0aW9uIHVwZGF0ZVdvcmRDb3VudCgpe2NvbnN0IHY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pvdXJuYWwtYm9keScpLnZhbHVlLnRyaW0oKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd29yZC1jb3VudCcpLnRleHRDb250ZW50PSh2P3Yuc3BsaXQoL1xzKy8pLmZpbHRlcihCb29sZWFuKS5sZW5ndGg6MCkrJyB3b3Jkcyc7fQoKLyog4pWQ4pWQ4pWQIFRJTUVSIOKVkOKVkOKVkCAqLwpmdW5jdGlvbiBzZXRUaW1lck1vZGUobW9kZSxidG4pewogIGNsZWFySW50ZXJ2YWwodGltZXJJbnRlcnZhbCk7dGltZXJSdW5uaW5nPWZhbHNlO3RpbWVyTW9kZT1tb2RlOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50aW1lci1tb2RlLXRhYicpLmZvckVhY2goYj0+e2IuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7Yi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ2ZhbHNlJyk7fSk7YnRuLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO2J0bi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsJ3RydWUnKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJykuaW5uZXJIVE1MPSc8cG9seWdvbiBwb2ludHM9IjUgMyAxOSAxMiA1IDIxIDUgMyIvPic7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xhcC1idG4nKS5zdHlsZS5kaXNwbGF5PW1vZGU9PT0nc3RvcHdhdGNoJz8nZmxleCc6J25vbmUnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb3VudGRvd24tc2V0dXAnKS5zdHlsZS5kaXNwbGF5PW1vZGU9PT0nY291bnRkb3duJz8nZmxleCc6J25vbmUnOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb20tZG90cycpLnN0eWxlLnZpc2liaWxpdHk9bW9kZT09PSdwb21vZG9ybyc/J3Zpc2libGUnOidoaWRkZW4nOwogIGlmKG1vZGU9PT0ncG9tb2Rvcm8nKXt0aW1lclNlY3M9MjUqNjA7dGltZXJUb3RhbD0yNSo2MDtwb21QaGFzZT0nZm9jdXMnO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1zdGF0ZScpLnRleHRDb250ZW50PSdGb2N1cyc7fQogIGVsc2UgaWYobW9kZT09PSdzdG9wd2F0Y2gnKXt0aW1lclNlY3M9MDt0aW1lclRvdGFsPTA7bGFwcz1bXTtyZW5kZXJMYXBzKCk7fQogIGVsc2V7dGltZXJTZWNzPTI1KjYwO3RpbWVyVG90YWw9MjUqNjA7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXN0YXRlJykudGV4dENvbnRlbnQ9J0NvdW50ZG93bic7fQogIHVwZGF0ZVRpbWVyRGlzcGxheSgpOwp9CmZ1bmN0aW9uIHRvZ2dsZVRpbWVyKCl7CiAgdGltZXJSdW5uaW5nPSF0aW1lclJ1bm5pbmc7CiAgY29uc3QgaWNvbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJyk7CiAgaWNvbi5pbm5lckhUTUw9dGltZXJSdW5uaW5nPyc8cmVjdCB4PSI2IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIvPjxyZWN0IHg9IjE0IiB5PSI0IiB3aWR0aD0iNCIgaGVpZ2h0PSIxNiIvPic6Jzxwb2x5Z29uIHBvaW50cz0iNSAzIDE5IDEyIDUgMjEgNSAzIi8+JzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1idG4nKS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLHRpbWVyUnVubmluZz8nUGF1c2UgdGltZXInOidTdGFydCB0aW1lcicpOwogIGlmKHRpbWVyUnVubmluZyl0aW1lckludGVydmFsPXNldEludGVydmFsKHRpY2tUaW1lciwxMDAwKTtlbHNlIGNsZWFySW50ZXJ2YWwodGltZXJJbnRlcnZhbCk7Cn0KZnVuY3Rpb24gdGlja1RpbWVyKCl7CiAgaWYodGltZXJNb2RlPT09J3N0b3B3YXRjaCcpe3RpbWVyU2VjcysrO3VwZGF0ZVRpbWVyRGlzcGxheSgpO3JldHVybjt9CiAgaWYodGltZXJTZWNzPjApe3RpbWVyU2Vjcy0tO3VwZGF0ZVRpbWVyRGlzcGxheSgpO30KICBlbHNlewogICAgY2xlYXJJbnRlcnZhbCh0aW1lckludGVydmFsKTt0aW1lclJ1bm5pbmc9ZmFsc2U7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcGxheS1pY29uJykuaW5uZXJIVE1MPSc8cG9seWdvbiBwb2ludHM9IjUgMyAxOSAxMiA1IDIxIDUgMyIvPic7CiAgICBjb25zdCB0YXNrTmFtZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItdGFzay1zZWwnKS5zZWxlY3RlZE9wdGlvbnNbMF0/LnRleHR8fCdObyB0YXNrJzsKICAgIGlmKHRpbWVyTW9kZT09PSdwb21vZG9ybycpewogICAgICBsb2dUaW1lclNlc3Npb24oJ1BvbW9kb3JvIMK3ICcrcG9tUGhhc2UscG9tUGhhc2U9PT0nZm9jdXMnPycyNSBtaW4nOic1IG1pbicsdGFza05hbWUpOwogICAgICBwb21TZXNzaW9uKz0ocG9tUGhhc2U9PT0nZm9jdXMnPzE6MCk7cG9tUGhhc2U9cG9tUGhhc2U9PT0nZm9jdXMnPydicmVhayc6J2ZvY3VzJzsKICAgICAgdGltZXJTZWNzPXBvbVBoYXNlPT09J2ZvY3VzJz8yNSo2MDo1KjYwO3RpbWVyVG90YWw9dGltZXJTZWNzOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItc3RhdGUnKS50ZXh0Q29udGVudD1wb21QaGFzZT09PSdmb2N1cyc/J0ZvY3VzJzonQnJlYWsnOwogICAgICByZW5kZXJQb21Eb3RzKCk7CiAgICB9ZWxzZSBpZih0aW1lck1vZGU9PT0nY291bnRkb3duJyl7bG9nVGltZXJTZXNzaW9uKCdDb3VudGRvd24nLGZtdFRpbWUodGltZXJUb3RhbCksdGFza05hbWUpO30KICAgIHVwZGF0ZVRpbWVyRGlzcGxheSgpOwogIH0KfQpmdW5jdGlvbiByZXNldFRpbWVyKCl7CiAgY2xlYXJJbnRlcnZhbCh0aW1lckludGVydmFsKTt0aW1lclJ1bm5pbmc9ZmFsc2U7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXBsYXktaWNvbicpLmlubmVySFRNTD0nPHBvbHlnb24gcG9pbnRzPSI1IDMgMTkgMTIgNSAyMSA1IDMiLz4nOwogIGlmKHRpbWVyTW9kZT09PSdwb21vZG9ybycpe3RpbWVyU2Vjcz0yNSo2MDt0aW1lclRvdGFsPTI1KjYwO3BvbVBoYXNlPSdmb2N1cyc7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyLXN0YXRlJykudGV4dENvbnRlbnQ9J0ZvY3VzJzt9CiAgZWxzZSBpZih0aW1lck1vZGU9PT0nc3RvcHdhdGNoJyl7dGltZXJTZWNzPTA7dGltZXJUb3RhbD0wO2xhcHM9W107cmVuZGVyTGFwcygpO30KICBlbHNle2NvbnN0IG09cGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NkLW1pbnMnKT8udmFsdWV8fDI1KTt0aW1lclNlY3M9bSo2MDt0aW1lclRvdGFsPXRpbWVyU2Vjczt9CiAgdXBkYXRlVGltZXJEaXNwbGF5KCk7Cn0KZnVuY3Rpb24gbGFwVGltZXIoKXtpZih0aW1lck1vZGUhPT0nc3RvcHdhdGNoJylyZXR1cm47bGFwcy5wdXNoKGZtdFRpbWUodGltZXJTZWNzKSk7cmVuZGVyTGFwcygpO30KZnVuY3Rpb24gc2V0Q291bnRkb3duKCl7Y29uc3QgbT1wYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2QtbWlucycpLnZhbHVlfHwyNSk7dGltZXJTZWNzPW0qNjA7dGltZXJUb3RhbD10aW1lclNlY3M7dXBkYXRlVGltZXJEaXNwbGF5KCk7fQpmdW5jdGlvbiByZW5kZXJMYXBzKCl7Y29uc3QgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xhcC1saXN0Jyk7ZWwuaW5uZXJIVE1MPScnO2xhcHMuc2xpY2UoKS5yZXZlcnNlKCkuZm9yRWFjaCgobCxpKT0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2xhcC1yb3cnO2QuaW5uZXJIVE1MPWA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0taW5rNCkiPkxhcCAke2xhcHMubGVuZ3RoLWl9PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo2MDAiPiR7bH08L3NwYW4+YDtlbC5hcHBlbmRDaGlsZChkKTt9KTt9CmZ1bmN0aW9uIGZtdFRpbWUocyl7Y29uc3QgaD1NYXRoLmZsb29yKHMvMzYwMCksbT1NYXRoLmZsb29yKChzJTM2MDApLzYwKSxzYz1zJTYwO3JldHVybihoP1N0cmluZyhoKS5wYWRTdGFydCgyLCcwJykrJzonOicnKStTdHJpbmcobSkucGFkU3RhcnQoMiwnMCcpKyc6JytTdHJpbmcoc2MpLnBhZFN0YXJ0KDIsJzAnKTt9CmZ1bmN0aW9uIHVwZGF0ZVRpbWVyRGlzcGxheSgpewogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1kaXNwbGF5JykudGV4dENvbnRlbnQ9Zm10VGltZSh0aW1lclNlY3MpOwogIGNvbnN0IGJhcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGltZXItcmluZy1iYXInKTsKICBjb25zdCBwY3Q9dGltZXJUb3RhbD4wJiZ0aW1lck1vZGUhPT0nc3RvcHdhdGNoJz8xLSh0aW1lclNlY3MvdGltZXJUb3RhbCk6MDsKICBiYXIuc3R5bGUuc3Ryb2tlRGFzaG9mZnNldD1DSVJDKigxLXBjdCk7YmFyLnN0eWxlLnN0cm9rZT1wb21QaGFzZT09PSdicmVhayc/J3ZhcigtLWhpKSc6J3ZhcigtLWFjY2VudCknOwp9CmZ1bmN0aW9uIHJlbmRlclBvbURvdHMoKXtjb25zdCBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9tLWRvdHMnKTtlbC5pbm5lckhUTUw9Jyc7Zm9yKGxldCBpPTA7aTw0O2krKyl7Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0ncG9tLWRvdCcrKGk8cG9tU2Vzc2lvbj8nIGRvbmUnOmk9PT1wb21TZXNzaW9uJiZwb21QaGFzZT09PSdmb2N1cyc/JyBhY3RpdmUnOicnKTtlbC5hcHBlbmRDaGlsZChkKTt9fQpmdW5jdGlvbiBsb2dUaW1lclNlc3Npb24obGFiZWwsZHVyYXRpb24sdGFzayl7Y29uc3QgZW50cnk9e2xhYmVsLGR1cmF0aW9uLHRhc2ssdGltZTpuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygnZW4tQ0EnLHtob3VyOicyLWRpZ2l0JyxtaW51dGU6JzItZGlnaXQnfSl9O3RpbWVyTG9nLnB1c2goZW50cnkpO3JlbmRlclRpbWVyTG9nKCk7fQpmdW5jdGlvbiByZW5kZXJUaW1lckxvZygpe2NvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aW1lci1sb2cnKTtpZighdGltZXJMb2cubGVuZ3RoKXtlbC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gc2Vzc2lvbnMgeWV0LjwvZGl2Pic7cmV0dXJuO31lbC5pbm5lckhUTUw9Jyc7dGltZXJMb2cuc2xpY2UoKS5yZXZlcnNlKCkuZm9yRWFjaChlPT57Y29uc3QgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtkLmNsYXNzTmFtZT0nbG9nLWVudHJ5JztkLnNldEF0dHJpYnV0ZSgncm9sZScsJ2xpc3RpdGVtJyk7ZC5pbm5lckhUTUw9YDxzcGFuIGNsYXNzPSJsb2ctdHlwZS1iYWRnZSAke2UubGFiZWwuaW5jbHVkZXMoJ1BvbW9kb3JvJyk/J2xvZy1wb21vZG9ybyc6J2xvZy1zdG9wd2F0Y2gnfSI+JHtlLmxhYmVsLnNwbGl0KCcgwrcgJylbMF19PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjp2YXIoLS1pbmszKTtmb250LXNpemU6MTFweDtmbGV4OjEiPiR7ZS50YXNrJiZlLnRhc2shPT0nTm8gdGFzayc/J8K3ICcrZS50YXNrLnNsaWNlKDAsMTgpOicnfTwvc3Bhbj48c3BhbiBjbGFzcz0ibG9nLWR1cmF0aW9uIj4ke2UuZHVyYXRpb259PC9zcGFuPmA7ZWwuYXBwZW5kQ2hpbGQoZCk7fSk7fQpmdW5jdGlvbiBjbGVhckxvZygpe3RpbWVyTG9nPVtdO3JlbmRlclRpbWVyTG9nKCk7fQoKLyog4pWQ4pWQ4pWQIFNDSEVEVUxFUiDilZDilZDilZAgKi8KZnVuY3Rpb24gc2NoZWROYXYoZGlyKXtzY2hlZERhdGU9bmV3IERhdGUoc2NoZWREYXRlLmdldEZ1bGxZZWFyKCksc2NoZWREYXRlLmdldE1vbnRoKCkrZGlyLDEpO3JlbmRlclNjaGVkdWxlcigpO30KZnVuY3Rpb24gcmVuZGVyU2NoZWR1bGVyKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NjaGVkLWxhYmVsJykudGV4dENvbnRlbnQ9TU9OVEhTW3NjaGVkRGF0ZS5nZXRNb250aCgpXSsnICcrc2NoZWREYXRlLmdldEZ1bGxZZWFyKCk7CiAgcmVuZGVyU2NoZWRDYWwoKTtyZW5kZXJFdmVudExpc3QoKTsKfQpmdW5jdGlvbiByZW5kZXJTY2hlZENhbCgpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ncmlkJykseXI9c2NoZWREYXRlLmdldEZ1bGxZZWFyKCksbW89c2NoZWREYXRlLmdldE1vbnRoKCk7CiAgY29uc3QgZmlyc3Q9bmV3IERhdGUoeXIsbW8sMSkuZ2V0RGF5KCksZGltPW5ldyBEYXRlKHlyLG1vKzEsMCkuZ2V0RGF0ZSgpOwogIGxldCBoPSc8ZGl2IGNsYXNzPSJjYWwtZ3JpZCIgc3R5bGU9Im1hcmdpbjowIDEwcHggMCI+JzsKICBEQVlTLmZvckVhY2goZD0+e2grPWA8ZGl2IGNsYXNzPSJjYWwtZG93Ij4ke2R9PC9kaXY+YDt9KTsKICBmb3IobGV0IGk9MDtpPGZpcnN0O2krKyloKz0nPGRpdiBjbGFzcz0iY2FsLWRheSBvdGhlci1tb250aCIgc3R5bGU9Im1pbi1oZWlnaHQ6NTJweCI+PC9kaXY+JzsKICBmb3IobGV0IGQ9MTtkPD1kaW07ZCsrKXsKICAgIGNvbnN0IGRzPWAke3lyfS0ke1N0cmluZyhtbysxKS5wYWRTdGFydCgyLCcwJyl9LSR7U3RyaW5nKGQpLnBhZFN0YXJ0KDIsJzAnKX1gLGlzVG9kYXk9ZHM9PT1UT0RBWTsKICAgIGNvbnN0IGRlPWV2ZW50cy5maWx0ZXIoZT0+ZS5kYXRlPT09ZHMpOwogICAgaCs9YDxkaXYgY2xhc3M9ImNhbC1kYXkke2lzVG9kYXk/JyB0b2RheSc6Jyd9IiBzdHlsZT0ibWluLWhlaWdodDo1MnB4O2N1cnNvcjpwb2ludGVyIiBvbmNsaWNrPSJzaG93RGF5RXZlbnRzKCcke2RzfScpIj48ZGl2IGNsYXNzPSJjYWwtZGF5LW51bSI+JHtkfTwvZGl2PmA7CiAgICBkZS5zbGljZSgwLDIpLmZvckVhY2goZT0+e2grPWA8ZGl2IGNsYXNzPSJldmVudC1waWxsIiBzdHlsZT0iYmFja2dyb3VuZDoke2UuY29sb3J9MjI7Y29sb3I6JHtlLmNvbG9yfSI+JHtlLnRpdGxlLnNsaWNlKDAsMTApfeKApjwvZGl2PmA7fSk7CiAgICBpZihkZS5sZW5ndGg+MiloKz1gPGRpdiBjbGFzcz0iY2FsLXRhc2stbW9yZSI+KyR7ZGUubGVuZ3RoLTJ9PC9kaXY+YDsKICAgIGgrPSc8L2Rpdj4nOwogIH0KICBjb25zdCBsYXN0PW5ldyBEYXRlKHlyLG1vLGRpbSkuZ2V0RGF5KCk7CiAgZm9yKGxldCBpPTE7aTw3LWxhc3Q7aSsrKWgrPSc8ZGl2IGNsYXNzPSJjYWwtZGF5IG90aGVyLW1vbnRoIiBzdHlsZT0ibWluLWhlaWdodDo1MnB4Ij48L2Rpdj4nOwogIGgrPSc8L2Rpdj4nO2VsLmlubmVySFRNTD1oOwp9CmZ1bmN0aW9uIHJlbmRlckV2ZW50TGlzdChmaWx0ZXJEYXRlPW51bGwpewogIGNvbnN0IGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ldmVudHMnKSxoZWFkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2hlZC1ldi1oZWFkJyk7CiAgY29uc3QgZmlsdGVyZWQ9ZmlsdGVyRGF0ZT9ldmVudHMuZmlsdGVyKGU9PmUuZGF0ZT09PWZpbHRlckRhdGUpOmV2ZW50cy5maWx0ZXIoZT0+ZS5kYXRlPj1UT0RBWSkuc29ydCgoYSxiKT0+YS5kYXRlLmxvY2FsZUNvbXBhcmUoYi5kYXRlKXx8YS50aW1lLmxvY2FsZUNvbXBhcmUoYi50aW1lKSk7CiAgaGVhZC50ZXh0Q29udGVudD1maWx0ZXJEYXRlP25ldyBEYXRlKGZpbHRlckRhdGUrJ1QwMDowMDowMCcpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tQ0EnLHttb250aDonbG9uZycsZGF5OidudW1lcmljJ30pOidVcGNvbWluZyBldmVudHMnOwogIGVsLmlubmVySFRNTD0nJzsKICBpZighZmlsdGVyZWQubGVuZ3RoKXtlbC5pbm5lckhUTUw9JzxkaXYgc3R5bGU9InBhZGRpbmc6MTZweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1pbms0KTt0ZXh0LWFsaWduOmNlbnRlciI+Tm8gZXZlbnRzLjwvZGl2Pic7cmV0dXJuO30KICBmaWx0ZXJlZC5zbGljZSgwLDgpLmZvckVhY2goZT0+e2NvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7ZC5jbGFzc05hbWU9J2V2ZW50LWl0ZW0nO2Quc2V0QXR0cmlidXRlKCdyb2xlJywnbGlzdGl0ZW0nKTtjb25zdCByZWNCYWRnZT1lLnJlY3VycmVuY2UmJmUucmVjdXJyZW5jZSE9PSdub25lJz9gPHNwYW4gY2xhc3M9ImV2ZW50LWJhZGdlIiBzdHlsZT0iYmFja2dyb3VuZDp2YXIoLS1iZzMpO2NvbG9yOnZhcigtLWluazMpIj4ke2UucmVjdXJyZW5jZX08L3NwYW4+YDonJztkLmlubmVySFRNTD1gPGRpdiBjbGFzcz0iZXZlbnQtY29sb3ItYmFyIiBzdHlsZT0iYmFja2dyb3VuZDoke2UuY29sb3J9Ij48L2Rpdj48ZGl2IHN0eWxlPSJmbGV4OjEiPjxkaXYgY2xhc3M9ImV2ZW50LW5hbWUiPiR7ZS50aXRsZX08L2Rpdj48ZGl2IGNsYXNzPSJldmVudC10aW1lIj4ke2UuZGF0ZS5zbGljZSg1KS5yZXBsYWNlKCctJywnLycpfSDCtyAke2UudGltZX3igJMke2UuZW5kfTwvZGl2PiR7ZS5ub3Rlcz9gPGRpdiBzdHlsZT0iZm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0taW5rNCk7bWFyZ2luLXRvcDoycHgiPiR7ZS5ub3Rlc308L2Rpdj5gOicnfTwvZGl2PiR7cmVjQmFkZ2V9YDtlbC5hcHBlbmRDaGlsZChkKTt9KTsKfQpmdW5jdGlvbiBzaG93RGF5RXZlbnRzKGRhdGUpe3JlbmRlckV2ZW50TGlzdChkYXRlKTt9CmZ1bmN0aW9uIG9wZW5FdmVudE1vZGFsKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2ZW50LW1vZGFsJykuY2xhc3NMaXN0LmFkZCgnb3BlbicpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aXRsZScpLmZvY3VzKCk7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LWRhdGUnKS52YWx1ZT1UT0RBWTt9CmZ1bmN0aW9uIGNsb3NlRXZlbnRNb2RhbCgpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmVudC1tb2RhbCcpLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTt9CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmVudC1tb2RhbCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxlPT57aWYoZS50YXJnZXQ9PT1lLmN1cnJlbnRUYXJnZXQpY2xvc2VFdmVudE1vZGFsKCk7fSk7CmZ1bmN0aW9uIHNlbGVjdEV2ZW50Q29sb3IoZWwpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb2xvci1zd2F0Y2gnKS5mb3JFYWNoKHM9PnMuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpO2VsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO3NlbGVjdGVkRXZlbnRDb2xvcj1lbC5kYXRhc2V0LmNvbG9yO30KZnVuY3Rpb24gc2F2ZUV2ZW50KCl7Y29uc3QgdGl0bGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LXRpdGxlJykudmFsdWUudHJpbSgpO2lmKCF0aXRsZSl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LXRpdGxlJykuZm9jdXMoKTtyZXR1cm47fWV2ZW50cy5wdXNoKHtpZDpuZXh0RXZlbnRJZCsrLHRpdGxlLGRhdGU6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2LWRhdGUnKS52YWx1ZSx0aW1lOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aW1lJykudmFsdWUsZW5kOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1lbmQnKS52YWx1ZSxyZWN1cnJlbmNlOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1yZWN1cicpLnZhbHVlLG5vdGVzOmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1ub3RlcycpLnZhbHVlLGNvbG9yOnNlbGVjdGVkRXZlbnRDb2xvcn0pO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi10aXRsZScpLnZhbHVlPScnO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldi1ub3RlcycpLnZhbHVlPScnO2Nsb3NlRXZlbnRNb2RhbCgpO3JlbmRlclNjaGVkdWxlcigpO30KCi8qIOKVkOKVkOKVkCBOQVZJR0FUSU9OIOKVkOKVkOKVkCAqLwpmdW5jdGlvbiBzZXRQYWdlKHAsbmF2RWwpewogIFsnZGFzaGJvYXJkJywndGFza3MnLCdwbGFubmVyJywnam91cm5hbCcsJ3RpbWVycycsJ3NjaGVkdWxlciddLmZvckVhY2gocGc9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLScrcGcpLnN0eWxlLmRpc3BsYXk9J25vbmUnKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS0nK3ApLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsKICBjb25zdCBsYWJlbHM9e2Rhc2hib2FyZDonRGFzaGJvYXJkJyx0YXNrczonVGFza3MnLHBsYW5uZXI6J1BsYW5uZXInLGpvdXJuYWw6J0pvdXJuYWwnLHRpbWVyczonVGltZXJzJyxzY2hlZHVsZXI6J1NjaGVkdWxlcid9OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLXRpdGxlJykudGV4dENvbnRlbnQ9bGFiZWxzW3BdfHxwOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWV3LXRvZ2dsZScpLnN0eWxlLmRpc3BsYXk9cD09PSd0YXNrcyc/J2ZsZXgnOidub25lJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmV3LXRhc2stYnRuJykuc3R5bGUuZGlzcGxheT1wPT09J3Rhc2tzJz8nJzonbm9uZSc7CiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5hdi1pdGVtJykuZm9yRWFjaChuPT57bi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTtuLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50Jyk7fSk7CiAgbmF2RWwuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7bmF2RWwuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCdwYWdlJyk7CiAgaWYocD09PSdkYXNoYm9hcmQnKXJlbmRlckRhc2hib2FyZCgpOwogIGVsc2UgaWYocD09PSdwbGFubmVyJylyZW5kZXJQbGFubmVyKCk7CiAgZWxzZSBpZihwPT09J2pvdXJuYWwnKWxvYWRKb3VybmFsKCk7CiAgZWxzZSBpZihwPT09J3RpbWVycycpe3JlbmRlclBvbURvdHMoKTt1cGRhdGVUaW1lckRpc3BsYXkoKTt9CiAgZWxzZSBpZihwPT09J3NjaGVkdWxlcicpcmVuZGVyU2NoZWR1bGVyKCk7CiAgZWxzZSBpZihwPT09J3Rhc2tzJylyZW5kZXIoKTsKfQoKLyog4pWQ4pWQ4pWQIEFVVEgg4pWQ4pWQ4pWQICovCmZ1bmN0aW9uIHN3aXRjaFRhYih0YWIsZWwpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hdXRoLXRhYicpLmZvckVhY2godD0+e3QuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCdmYWxzZScpO30pO2VsLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO2VsLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsJ3RydWUnKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2lnbmluLXBhbmVsJykuaGlkZGVuPXRhYiE9PSdzaWduaW4nO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzaWdudXAtcGFuZWwnKS5oaWRkZW49dGFiPT09J3NpZ25pbic7fQpmdW5jdGlvbiBzaWduSW4oKXtjb25zdCBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdXRoLXNjcmVlbicpO3Muc3R5bGUub3BhY2l0eT0nMCc7c2V0VGltZW91dCgoKT0+e3Muc3R5bGUuZGlzcGxheT0nbm9uZSc7Y29uc3QgYXBwPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcHAnKTthcHAuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpO3JlbmRlcigpO3JlbmRlclBvbURvdHMoKTt9LDMwMCk7fQoKLyog4pWQ4pWQ4pWQIFBBTEVUVEUg4pWQ4pWQ4pWQICovCmNvbnN0IFBBTEVUVEVTPVsKICB7aWQ6J2NpdHJ1cycsbGFiZWw6J0NpdHJ1cycsZG90OidsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMwMEM0OEMgNTAlKSd9LAogIHtpZDonc3R1ZGlvJyxsYWJlbDonU3R1ZGlvJyxkb3Q6J2xpbmVhci1ncmFkaWVudCgxMzVkZWcsI0ZGQUEwMCA1MCUsIzVCNUJENiA1MCUpJ30sCiAge2lkOidhcmN0aWMnLGxhYmVsOidBcmN0aWMnLGRvdDonbGluZWFyLWdyYWRpZW50KDEzNWRlZywjRkZBQTAwIDUwJSwjMDBBQUNDIDUwJSknfSwKICB7aWQ6J3NsYXRlJywgbGFiZWw6J1NsYXRlJywgZG90OidsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNGRkFBMDAgNTAlLCMzRDVBODAgNTAlKSd9LAogIHtpZDonc29sYXInLCBsYWJlbDonU29sYXInLCBkb3Q6J2xpbmVhci1ncmFkaWVudCgxMzVkZWcsI0ZGQUEwMCA1MCUsI0ZGNkIyQiA1MCUpJ30sCl07CmxldCBwYWxJZHg9MDsKZnVuY3Rpb24gdG9nZ2xlUGFsZXR0ZSgpe3BhbElkeD0ocGFsSWR4KzEpJVBBTEVUVEVTLmxlbmd0aDtjb25zdCBwPVBBTEVUVEVTW3BhbElkeF07ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wYWxldHRlJyxwLmlkKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFsZXR0ZS1sYWJlbCcpLnRleHRDb250ZW50PXAubGFiZWw7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhbGV0dGUtZG90Jykuc3R5bGUuYmFja2dyb3VuZD1wLmRvdDt9Cgpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS5rZXk9PT0nRXNjYXBlJyl7Y2xvc2VNb2RhbCgpO2Nsb3NlRXZlbnRNb2RhbCgpO319KTsKcmVuZGVyKCk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K" title="The Kitchen Sink — Productivity Suite" style="position:absolute;top:0;left:0;width:100%;height:100%;border:none;" allow="clipboard-read; clipboard-write" loading="lazy" ></iframe> </div>
🌐
Host the file first. Upload TheKitchenSink_Phase2.html to Netlify, Vercel, GitHub Pages, or your own server. Then replace YOUR-DOMAIN.com with your actual URL. Hosted embeds load faster and are easier to update.
Hosted Full viewport
<iframe src="https://YOUR-DOMAIN.com/TheKitchenSink_Phase2.html" title="The Kitchen Sink — Productivity Suite" style="width:100%;height:100vh;border:none;display:block;" allow="clipboard-read; clipboard-write" ></iframe>
Hosted Responsive (16:10)
<div style="position:relative;width:100%;padding-bottom:66.6%;height:0;overflow:hidden;border-radius:16px;"> <iframe src="https://YOUR-DOMAIN.com/TheKitchenSink_Phase2.html" title="The Kitchen Sink — Productivity Suite" style="position:absolute;top:0;left:0;width:100%;height:100%;border:none;" allow="clipboard-read; clipboard-write" loading="lazy" ></iframe> </div>
📋
Platform-specific instructions. Use the self-contained snippet (no hosting needed) with all of these platforms unless noted.
Notion
1. Type /embed in a page 2. Paste the iframe code 3. Notion wraps it automatically ⚠ Use hosted URL — Notion blocks data URIs
WordPress
1. Add a Custom HTML block 2. Paste the iframe code 3. Publish or update the page ✓ Self-contained works fine
Webflow
1. Drag an Embed element 2. Paste the iframe code 3. Click Save & Close ✓ Self-contained works fine
Squarespace
1. Add a Code Block 2. Paste the iframe code 3. Apply changes ✓ Self-contained works fine
Netlify
1. Drop HTML file to deploy 2. Copy your .netlify.app URL 3. Use the Hosted URL snippet ✓ Recommended for best performance
GitHub Pages
1. Push HTML to a repo 2. Enable Pages in Settings 3. Use the Hosted URL snippet ✓ Free HTTPS hosting
Vercel
1. npx vercel --cwd ./folder 2. Copy the .vercel.app URL 3. Use the Hosted URL snippet ✓ Instant CI/CD on every update
SharePoint / Teams
1. Add a Page Viewer web part 2. Enter the hosted URL 3. Or embed via Embed web part ⚠ Requires hosted URL
👁
Live preview of the embedded app. This is exactly what the self-contained embed looks like when pasted into a page. Sign in with any credentials to explore the full app.
embedded via data URI · no hosting required