<style id="elementor-post-4691">.elementor-4691 .elementor-element.elementor-element-2990979{--display:flex;}</style>{"id":4691,"date":"2026-09-24T14:34:42","date_gmt":"2026-09-24T14:34:42","guid":{"rendered":"https:\/\/naroeco.com\/?page_id=4691"},"modified":"2026-10-11T13:17:56","modified_gmt":"2026-10-11T13:17:56","slug":"stay","status":"publish","type":"page","link":"https:\/\/naroeco.com\/","title":{"rendered":"Stay at Naro Eco Resort"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4691\" class=\"elementor elementor-4691\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2990979 e-flex e-con-boxed e-con e-parent\" data-id=\"2990979\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47fffc23 elementor-widget elementor-widget-text-editor\" data-id=\"47fffc23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t\n<div id=\"naro-app\" data-src=\"PHN0eWxlPgo6cm9vdHsKICBjb2xvci1zY2hlbWU6ZGFyazsKICAtLW5pZ2h0OiMwODE0MGY7IC0tZm9yZXN0OiMwZTFmMTg7IC0tbW9zczojMTYzMDJhOyAtLWNhcmQ6IzExMjUxZTsgLS1taXN0OiNlOGYwZWE7IC0tbWlzdDI6I2E4YmRiMDsgLS1saW5lOnJnYmEoMjMyLDI0MCwyMzQsLjE0KTsKICAtLWdvbGQ6I2VmYmY2MjsgLS1nb2xkLWluazojMjQxNzAzOyAtLXRlYWw6IzYzYjdiMDsgLS13YXJuOiNmZjliN2E7IC0tZ29vZDojN2ZkMWEwOwogIC0tcGFwZXI6I2YzZjZmMTsgLS1wYXBlci1pbms6IzEwMjUxYzsgLS1wYXBlci0yOiNlM2ViZTQ7IC0tcGFwZXItbGluZTojYzlkNmNjOyAtLXBhcGVyLW11dGU6IzRhNjA1NTsKICAtLWY6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZjsKfQoqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0KaDEsaDIsaDMsaDR7Zm9udC1mYW1pbHk6dmFyKC0tZik7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo0MDB9CmJ1dHRvbixpbnB1dCxzZWxlY3QsdGV4dGFyZWEsc3VtbWFyeXtmb250LWZhbWlseTp2YXIoLS1mKX0KcCxsaSxzcGFuLGxhYmVsLGF7Zm9udC1mYW1pbHk6dmFyKC0tZil9CgpodG1se3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CmJvZHl7YmFja2dyb3VuZDp2YXIoLS1uaWdodCk7Y29sb3I6dmFyKC0tbWlzdCk7Zm9udDo0MDAgMTdweC8xLjY1IHZhcigtLWYpO3BhZGRpbmctaW5saW5lOjB9CmgxLGgyLGgzLGg0LHAsdWx7bWFyZ2luOjB9CmgxLGgyLGgze2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjA4O3RleHQtd3JhcDpiYWxhbmNlO2xldHRlci1zcGFjaW5nOi0uMDFlbX0KYXtjb2xvcjppbmhlcml0fQpidXR0b24saW5wdXQsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OnZhcigtLWYpfQo6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCB2YXIoLS1nb2xkKTtvdXRsaW5lLW9mZnNldDoycHh9Ci53cmFwe21heC13aWR0aDoxMTgwcHg7bWFyZ2luLWlubGluZTphdXRvO3BhZGRpbmctaW5saW5lOjIwcHh9Ci5leWVicm93e2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4yMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKX0KLmJ0bntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzoxNXB4IDI2cHg7Zm9udDo3MDAgMTVweC8xIHZhcigtLWYpO2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXMsZmlsdGVyIC4xNXN9Ci5idG46aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNyl9Ci5idG4tZ29sZHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKX0KLmJ0bi1saW5le2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tbWlzdCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKX0KLmJ0bi1kYXJre2JhY2tncm91bmQ6dmFyKC0tcGFwZXItaW5rKTtjb2xvcjp2YXIoLS1wYXBlcil9Ci5idG46ZGlzYWJsZWR7b3BhY2l0eTouNTU7Y3Vyc29yOndhaXQ7dHJhbnNmb3JtOm5vbmV9CgovKiBuYXYgKi8KLm5hdntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjMwO3BhZGRpbmctdG9wOmVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoOCwyMCwxNSwuNzgpLHJnYmEoOCwyMCwxNSwwKSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KX0KLm5hdiAud3JhcHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxNnB4O21pbi1oZWlnaHQ6NzBweH0KLmJyYW5ke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjIwcHh9Ci5icmFuZC1tYXJre3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1nb2xkLWluayk7ZGlzcGxheTpncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MTlweDtmb250LXdlaWdodDo3MDA7ZmxleDpub25lfQouYnJhbmQgc21hbGx7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1taXN0Mil9Ci5uYXYgdWx7ZGlzcGxheTpmbGV4O2dhcDoyOHB4O2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7Zm9udC1zaXplOjE1cHh9Ci5uYXYgdWwgYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1taXN0Mil9Lm5hdiB1bCBhOmhvdmVye2NvbG9yOnZhcigtLW1pc3QpfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsubmF2IHVse2Rpc3BsYXk6bm9uZX19CgovKiBoZXJvICovCi5oZXJve3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NzIwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtZW5kO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW5pZ2h0KX0KI3NreXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9ja30KLmhlcm86OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSg4LDIwLDE1LC41NSkgMCUscmdiYSg4LDIwLDE1LDApIDM4JSxyZ2JhKDgsMjAsMTUsLjU1KSA3OCUsdmFyKC0tbmlnaHQpIDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Ci5oZXJvIC53cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDoxMDAlO3BhZGRpbmctYmxvY2s6MTUwcHggNjRweH0KLmhlcm8gaDF7Zm9udC1zaXplOmNsYW1wKDQ0cHgsOHZ3LDEwNHB4KTttYXgtd2lkdGg6MTJjaH0KLmhlcm8gaDEgZW17Zm9udC1zdHlsZTppdGFsaWM7Y29sb3I6dmFyKC0tZ29sZCl9Ci5oZXJvIC5sZWRle21heC13aWR0aDo1NGNoO21hcmdpbi10b3A6MjJweDtmb250LXNpemU6MTlweDtjb2xvcjp2YXIoLS1taXN0KX0KLmNtZHttYXJnaW4tdG9wOjM2cHg7bWF4LXdpZHRoOjgyMHB4O2JhY2tncm91bmQ6cmdiYSgxMCwyNiwyMCwuNzIpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMnB4O3BhZGRpbmc6MTRweDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KTtib3gtc2hhZG93OjAgMzBweCA4MHB4IHJnYmEoMCwwLDAsLjQpfQouY21kLXJvd3tkaXNwbGF5OmZsZXg7Z2FwOjEycHg7YWxpZ24taXRlbXM6c3RyZXRjaDtmbGV4LXdyYXA6d3JhcH0KLmNtZCB0ZXh0YXJlYXtmbGV4OjEgMSAzMDBweDttaW4taGVpZ2h0OjYwcHg7cmVzaXplOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjp2YXIoLS1taXN0KTtmb250OjQwMCAxOHB4LzEuNDUgdmFyKC0tZik7cGFkZGluZzoxMnB4IDE0cHh9Ci5jbWQgdGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLW1pc3QyKX0KLmNtZC10YWd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4xNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKTtwYWRkaW5nOjhweCAxNHB4IDB9Ci5wdWxzZXt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDIzOSwxOTEsOTgsLjcpO2FuaW1hdGlvbjpwdWxzZSAycyBpbmZpbml0ZX0KQGtleWZyYW1lcyBwdWxzZXs3MCV7Ym94LXNoYWRvdzowIDAgMCAxMHB4IHJnYmEoMjM5LDE5MSw5OCwwKX0xMDAle2JveC1zaGFkb3c6MCAwIDAgMCByZ2JhKDIzOSwxOTEsOTgsMCl9fQouY2hpcHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo4cHg7cGFkZGluZzo2cHggMTRweCA4cHh9Ci5jaGlwe2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS1taXN0Mik7Ym9yZGVyLXJhZGl1czo5OXB4O3BhZGRpbmc6N3B4IDE0cHg7Zm9udDo0MDAgMTRweC8xLjIgdmFyKC0tZik7Y3Vyc29yOnBvaW50ZXJ9Ci5jaGlwOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1taXN0KX0KLmFpbXNne3BhZGRpbmc6MCAxNHB4IDhweDtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1taXN0Mik7bWluLWhlaWdodDowfQouZmFjdHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDoxMHB4IDMwcHg7bWFyZ2luLXRvcDozMHB4O2ZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1taXN0Mil9Ci5mYWN0cyBzcGFuOjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO21hcmdpbi1yaWdodDoxMHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0KCi8qIGJvb2tpbmcgc3R1ZGlvICovCi5zdHVkaW97cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ibG9jazoxMDBweCA5NnB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1uaWdodCksdmFyKC0tZm9yZXN0KSl9Ci5zdHVkaW8taGVhZHtkaXNwbGF5OmdyaWQ7Z2FwOjEycHg7bWFyZ2luLWJvdHRvbToyOHB4O21heC13aWR0aDo2MGNofQouc3R1ZGlvLWhlYWQgaDJ7Zm9udC1zaXplOmNsYW1wKDMycHgsNXZ3LDU0cHgpfQouc3R1ZGlvLWhlYWQgcHtjb2xvcjp2YXIoLS1taXN0Mil9Ci5zdHVkaW8tZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuNWZyIDFmcjtnYXA6MjhweDthbGlnbi1pdGVtczpzdGFydH0KQG1lZGlhKG1heC13aWR0aDo5MDBweCl7LnN0dWRpby1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQouY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1yYWRpdXM6MjBweDtib3gtc2hhZG93OjAgMzBweCA3MHB4IHJnYmEoMCwwLDAsLjM1KTtvdmVyZmxvdzpoaWRkZW59Ci5zdGVwc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSk7YmFja2dyb3VuZDp2YXIoLS1wYXBlci0yKX0KLnN0ZXBzIGJ1dHRvbntib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO3BhZGRpbmc6MTZweCA4cHg7Zm9udDo0MDAgMTNweC8xLjIgdmFyKC0tZik7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudH0KLnN0ZXBzIGJ1dHRvbiBie3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1saW5lKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEzcHh9Ci5zdGVwcyBidXR0b24ub257Y29sb3I6dmFyKC0tcGFwZXItaW5rKTtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLWdvbGQpfQouc3RlcHMgYnV0dG9uLm9uIGIsLnN0ZXBzIGJ1dHRvbi5kb25lIGJ7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1pbmspO2NvbG9yOnZhcigtLXBhcGVyKX0KLnN0ZXBzIGJ1dHRvbi5kb25le2NvbG9yOnZhcigtLXBhcGVyLWluayl9Ci5wYW5le3BhZGRpbmc6MjZweH0KLnBhbmUgaDN7Zm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbTo2cHh9Ci5wYW5lIC5zdWJ7Y29sb3I6dmFyKC0tcGFwZXItbXV0ZSk7Zm9udC1zaXplOjE1cHg7bWFyZ2luLWJvdHRvbToyMHB4fQouZ3JpZDJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIwMHB4LDFmcikpO2dhcDoxNnB4fQouZmxkIGxhYmVse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO21hcmdpbi1ib3R0b206OHB4fQouZmxkIGlucHV0LC5mbGQgc2VsZWN0LC5mbGQgdGV4dGFyZWF7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjUwcHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wYXBlci1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOnZhcigtLXBhcGVyLWluayk7Zm9udDo0MDAgMTZweCB2YXIoLS1mKTtwYWRkaW5nOjEycHggMTRweH0KLmZsZCB0ZXh0YXJlYXttaW4taGVpZ2h0Ojg0cHg7cmVzaXplOnZlcnRpY2FsfQouc3RlcHBlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZ9Ci5zdGVwcGVyIGJ1dHRvbnt3aWR0aDo1MHB4O2FsaWduLXNlbGY6c3RyZXRjaDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXBhcGVyLWluayk7Zm9udDo0MDAgMjRweCB2YXIoLS1mKTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjEycHh9Ci5zdGVwcGVyIGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLTIpfQouc3RlcHBlciBvdXRwdXR7ZmxleDoxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxN3B4O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30KLmFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MjRweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5lcnJ7Y29sb3I6I2IyM2ExNztmb250LXNpemU6MTRweDttaW4taGVpZ2h0OjIwcHh9Ci5ub3Rle2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXBhcGVyLW11dGUpfQoub3B0c3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0KLm9wdHMgbGFiZWx7Y3Vyc29yOnBvaW50ZXJ9Ci5vcHRzIGlucHV0e3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MH0KLm9wdHMgc3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjEwcHggMTZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1zaXplOjE1cHh9Ci5vcHRzIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1pbmspfQoub3B0cyBpbnB1dDpmb2N1cy12aXNpYmxlK3NwYW57b3V0bGluZTozcHggc29saWQgdmFyKC0tZ29sZCl9Ci5wYXktYm94e2JvcmRlcjoxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MThweDtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpncmlkO2dhcDoxMHB4fQoucGF5LWJhZGdlc3tkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0KLnBheS1iYWRnZXMgc3Bhbntmb250LXNpemU6MTNweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NHB4IDEwcHg7Y29sb3I6dmFyKC0tcGFwZXItbXV0ZSl9Ci5wcmV2aWV3bm90ZXtiYWNrZ3JvdW5kOiNmZmY2ZGM7Ym9yZGVyOjFweCBzb2xpZCAjZWNkNDhjO2NvbG9yOiM1YzQ1MDg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O2ZvbnQtc2l6ZToxNHB4fQoKLyogc3VtbWFyeSAqLwouc3Vte3Bvc2l0aW9uOnN0aWNreTt0b3A6OTBweDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MjRweDtkaXNwbGF5OmdyaWQ7Z2FwOjE2cHh9CkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpey5zdW17cG9zaXRpb246c3RhdGljfX0KLnN1bSBoNHtmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2luZzouMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXdlaWdodDo0MDB9Ci5zdW0gLnN0YXktbHtkaXNwbGF5OmdyaWQ7Z2FwOjhweDtmb250LXNpemU6MTZweH0KLnN1bSAuc3RheS1sIGRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHh9Ci5zdW0gLnN0YXktbCAudntmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5zdW0gLnRvdGFse2JvcmRlci10b3A6MXB4IGRhc2hlZCB2YXIoLS1saW5lKTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToyMnB4fQouc3VtIC5zYXZle2NvbG9yOnZhcigtLWdvb2QpO2ZvbnQtc2l6ZToxNHB4fQouYnJpZWZ7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxNHB4O2ZvbnQtc2l6ZToxNXB4O2NvbG9yOnZhcigtLW1pc3QpO21pbi1oZWlnaHQ6NjRweDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0KLnN1bSAud2h5e2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLW1pc3QyKX0KCi8qIHBhc3MgKi8KLnBhc3N7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCMxNTNiMmYsIzBjMjMxYik7Y29sb3I6dmFyKC0tbWlzdCk7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpncmlkO2dhcDoxNnB4fQoucGFzczo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTYwcHg7dG9wOi02MHB4O3dpZHRoOjIyMHB4O2hlaWdodDoyMjBweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgyMzksMTkxLDk4LC40NSkscmdiYSgyMzksMTkxLDk4LDApIDcwJSl9Ci5wYXNzIC5yZWZ7Zm9udC1zaXplOjM0cHg7bGV0dGVyLXNwYWNpbmc6LjA4ZW07Y29sb3I6dmFyKC0tZ29sZCl9Ci5wYXNzIGRse21hcmdpbjowO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgxNTBweCwxZnIpKTtnYXA6MTRweCAyMHB4fQoucGFzcyBkdHtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMThlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tbWlzdDIpfQoucGFzcyBkZHttYXJnaW46MnB4IDAgMDtmb250LXNpemU6MTdweH0KLnN0YW1we2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZCk7Ym9yZGVyLXJhZGl1czo5OXB4O3BhZGRpbmc6NXB4IDE0cHg7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2p1c3RpZnktc2VsZjpzdGFydH0KLndlbGNvbWV7YmFja2dyb3VuZDp2YXIoLS1wYXBlci0yKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNnB4O2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOnByZS13cmFwO21pbi1oZWlnaHQ6NzBweH0KCi8qIHNlY3Rpb25zICovCnNlY3Rpb24uc3twYWRkaW5nLWJsb2NrOjEwMHB4fQoucy1oZWFke2Rpc3BsYXk6Z3JpZDtnYXA6MTRweDttYXJnaW4tYm90dG9tOjQ0cHg7bWF4LXdpZHRoOjYyY2h9Ci5zLWhlYWQgaDJ7Zm9udC1zaXplOmNsYW1wKDMycHgsNXZ3LDU4cHgpfQoucy1oZWFkIHB7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxOHB4fQouYmFuZHtiYWNrZ3JvdW5kOnZhcigtLWZvcmVzdCl9Ci5zdGF5e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4xZnIgMWZyO2dhcDowO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpfQouc3RheSAucGh7bWluLWhlaWdodDo0MjBweH0KLnN0YXktZ3JvdXB7ZGlzcGxheTpncmlkO2dhcDoyNHB4fQoucm9vbS1kb3VibGV7Y29sb3I6dmFyKC0tZ29sZCl9Ci5yb29tLWZhbWlseXtjb2xvcjp2YXIoLS10ZWFsKX0KLnN0YXktYm9keXtwYWRkaW5nOjM2cHg7ZGlzcGxheTpncmlkO2dhcDoyMHB4O2FsaWduLWNvbnRlbnQ6Y2VudGVyfQouc3RheS1ib2R5IGgze2ZvbnQtc2l6ZTozNnB4fQoucHJpY2V7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDoxNHB4O2ZsZXgtd3JhcDp3cmFwfQoucHJpY2UgYntmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjQ0cHg7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfQoucHJpY2Ugc3tjb2xvcjp2YXIoLS1taXN0Mik7Zm9udC1zaXplOjE5cHh9Ci5wcmljZSBzcGFue2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTVweH0KLnRpY2tze2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMHB4IDIwcHg7Zm9udC1zaXplOjE2cHh9Ci50aWNrcyBsaTo6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1nb2xkKTtib3JkZXItdG9wOjA7Ym9yZGVyLWxlZnQ6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC0zcHgpO21hcmdpbi1yaWdodDoxMnB4fQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsuc3RheXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS50aWNrc3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5zdGF5IC5waHttaW4taGVpZ2h0OjI2MHB4fX0KLnBoe3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLW1vc3MpfQoucGggc3ZnLC5waCBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9ja30KLnRpbGVze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZml0LG1pbm1heCgyNTBweCwxZnIpKTtnYXA6MjJweH0KLnRpbGV7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjE4cHg7cGFkZGluZzoyNnB4O2Rpc3BsYXk6Z3JpZDtnYXA6MTJweDthbGlnbi1jb250ZW50OnN0YXJ0O2JhY2tncm91bmQ6dmFyKC0tY2FyZCl9Ci50aWxlIGgze2ZvbnQtc2l6ZToyNnB4fQoudGlsZSBwe2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTZweH0KLnRpbGUgLmt7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tZ29sZCl9Ci5zcGxpdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjU2cHg7YWxpZ24taXRlbXM6Y2VudGVyfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsuc3BsaXR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MzRweH19Ci5iYXJze2Rpc3BsYXk6Z3JpZDtnYXA6MThweH0KLmJhcntkaXNwbGF5OmdyaWQ7Z2FwOjhweH0KLmJhciAudHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7Zm9udC1zaXplOjE2cHh9Ci5iYXIgLnQgc3BhbjpsYXN0LWNoaWxke2NvbG9yOnZhcigtLWdvbGQpO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30KLmJhciBpe2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjk5cHg7YmFja2dyb3VuZDp2YXIoLS1tb3NzKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Ci5iYXIgaTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6dmFyKC0tdyk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tdGVhbCksdmFyKC0tZ29sZCkpO2JvcmRlci1yYWRpdXM6OTlweH0KLmdhbGxlcnl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDIyMHB4LDFmcikpO2dhcDoxNnB4O21hcmdpbi10b3A6NDBweH0KLmdhbGxlcnkgZmlndXJle21hcmdpbjowO2Rpc3BsYXk6Z3JpZDtnYXA6OHB4fQouZ2FsbGVyeSAucGh7YXNwZWN0LXJhdGlvOjQvMztib3JkZXItcmFkaXVzOjE2cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0KLmdhbGxlcnkgZmlnY2FwdGlvbntmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5wbGFuLW91dHt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MThweDtmb250LXNpemU6MTZweDttaW4taGVpZ2h0OjExMHB4O21hcmdpbi10b3A6MTRweH0KLnJvd3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9Ci5yb3cgaW5wdXR7ZmxleDoxIDEgMjIwcHg7bWluLWhlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6OTlweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tbWlzdCk7cGFkZGluZzowIDIwcHg7Zm9udDo0MDAgMTZweCB2YXIoLS1mKX0KCmZvb3RlcntiYWNrZ3JvdW5kOiMwNTBkMGE7cGFkZGluZy1ibG9jazo2NHB4IGNhbGMoMTEwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKX0KZm9vdGVyIC5jb2xze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS40ZnIgMWZyIDFmcjtnYXA6MzRweH0KZm9vdGVyIGg0e2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWdvbGQpO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tYm90dG9tOjE0cHh9CmZvb3RlciBsaXtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLWJvdHRvbTo4cHg7Y29sb3I6dmFyKC0tbWlzdDIpfQpmb290ZXIgdWx7cGFkZGluZzowfQpmb290ZXIgLmZpbmV7bWFyZ2luLXRvcDo0MHB4O3BhZGRpbmctdG9wOjIwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tbGluZSk7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tbWlzdDIpfQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4KXtmb290ZXIgLmNvbHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5wZW5kaW5ne2ZvbnQtc3R5bGU6aXRhbGljfQoKLyogZmxvYXRpbmcgZ3VpZGUgKi8KLmZhYntwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbTpjYWxjKDE4cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwwcHgpKTt6LWluZGV4OjQwO2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Y29sb3I6dmFyKC0tZ29sZC1pbmspO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjE1cHggMjJweDtmb250OjcwMCAxNXB4IHZhcigtLWYpO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAxNHB4IDQwcHggcmdiYSgwLDAsMCwuNDUpO2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5jaGF0e3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjE4cHg7Ym90dG9tOmNhbGMoODRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLDBweCkpO3otaW5kZXg6NDE7d2lkdGg6bWluKDM5MHB4LGNhbGMoMTAwdncgLSAzNnB4KSk7aGVpZ2h0Om1pbig1NjBweCxjYWxjKDEwMCUgLSAxMjBweCkpO2JhY2tncm91bmQ6dmFyKC0tcGFwZXIpO2NvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLXJhZGl1czoyMHB4O2JveC1zaGFkb3c6MCAzMHB4IDgwcHggcmdiYSgwLDAsMCwuNTUpO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLXJvd3M6YXV0byAxZnIgYXV0byBhdXRvO292ZXJmbG93OmhpZGRlbn0KLmNoYXRbaGlkZGVuXXtkaXNwbGF5Om5vbmV9Ci5jaGF0LWh7YmFja2dyb3VuZDp2YXIoLS1wYXBlci1pbmspO2NvbG9yOnZhcigtLXBhcGVyKTtwYWRkaW5nOjE0cHggMThweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4fQouY2hhdC1oIGJ1dHRvbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2NvbG9yOnZhcigtLXBhcGVyKTtmb250LXNpemU6MjJweDtjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDoxfQoubXNnc3tvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxNnB4O2Rpc3BsYXk6Z3JpZDtnYXA6MTBweDthbGlnbi1jb250ZW50OnN0YXJ0fQoubXttYXgtd2lkdGg6ODglO3BhZGRpbmc6MTBweCAxNHB4O2JvcmRlci1yYWRpdXM6MTRweDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxLjU7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Ci5tLnV7anVzdGlmeS1zZWxmOmVuZDtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpfQoubS5he2p1c3RpZnktc2VsZjpzdGFydDtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLTIpfQouY2hhdCAucXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo2cHg7cGFkZGluZzowIDE0cHggMTBweH0KLmNoYXQgLnFzIC5jaGlwe2NvbG9yOnZhcigtLXBhcGVyLW11dGUpO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1saW5lKTtmb250LXNpemU6MTNweH0KLmNoYXQgZm9ybXtkaXNwbGF5OmZsZXg7Z2FwOjhweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tcGFwZXItbGluZSl9Ci5jaGF0IGZvcm0gaW5wdXR7ZmxleDoxO21pbi1oZWlnaHQ6NDZweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjAgMTZweDtmb250OjQwMCAxNXB4IHZhcigtLWYpO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS1wYXBlci1pbmspfQouY2hhdCBmb3JtIC5idG57cGFkZGluZzowIDIwcHh9Ci5ydHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmctYm90dG9tOjE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5ydCBoM3tmb250LXNpemU6MzBweH0KLnJze2NvbG9yOnZhcigtLW1pc3QyKTtmb250LXNpemU6MTVweH0KLnN0YXktYm9keSAucHJpY2UgYntmb250LXNpemU6MzRweH0KLnBheS1ib3ggLnN0YXktbHtkaXNwbGF5OmdyaWQ7Z2FwOjhweDtmb250LXNpemU6MTZweH0KLnBheS1ib3ggLnN0YXktbCBkaXZ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxMnB4fQoucGF5LWJveCAuc3RheS1sIC50b3RhbHtib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tcGFwZXItbGluZSk7cGFkZGluZy10b3A6MTJweDtmb250LXNpemU6MjJweH0KLnN0YXktbCAudntmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5yZWFjaHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjEuMWZyIDFmcjtnYXA6MjhweDttYXJnaW4tdG9wOjU2cHg7YWxpZ24taXRlbXM6c3RhcnR9CkBtZWRpYShtYXgtd2lkdGg6ODYwcHgpey5yZWFjaHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX0KLm1hcGNhcmR7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tY2FyZCl9Ci5tYXBhcnR7YXNwZWN0LXJhdGlvOjE2LzEwO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6IzBmMmEyMn0KLm1hcGFydCBzdmd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9Ci5tYXBub3Rle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTJweDtib3R0b206MTBweDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5tYXBidG5ze3BhZGRpbmc6MThweDtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXB9Ci5kaXJze2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Ci5kaXJzIGxpe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoxNHB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5kaXJzIHNtYWxse2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxM3B4fQouZGlycyBhe3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS1nb2xkKTt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6OTlweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxNHB4fQouZGlycyBhOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKX0KLmZhcSBkZXRhaWxze2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWxpbmUpfQouZmFxIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MjBweCAwO2ZvbnQtc2l6ZToyMHB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDthbGlnbi1pdGVtczpjZW50ZXJ9Ci5mYXEgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9Ci5mYXEgc3VtbWFyeTo6YWZ0ZXJ7Y29udGVudDoiKyI7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MTtmbGV4Om5vbmV9Ci5mYXEgZGV0YWlsc1tvcGVuXSBzdW1tYXJ5OjphZnRlcntjb250ZW50OiLiiJIifQouZmFxIGRldGFpbHMgcHtjb2xvcjp2YXIoLS1taXN0Mik7cGFkZGluZzowIDAgMjJweDttYXgtd2lkdGg6NjhjaH0KQG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXtodG1se3Njcm9sbC1iZWhhdmlvcjphdXRvfS5wdWxzZXthbmltYXRpb246bm9uZX19CgouZ3Jldi1ib3h7ZGlzcGxheTpmbGV4O2dhcDo0MHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NDBweDtmbGV4LXdyYXA6d3JhcH0KLmdyZXYtc2NvcmV7dGV4dC1hbGlnbjpjZW50ZXI7bWluLXdpZHRoOjE2MHB4fQouZ3Jldi1udW17Zm9udC1mYW1pbHk6dmFyKC0tZik7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTo1NnB4O2NvbG9yOnZhcigtLWdvbGQpO2xpbmUtaGVpZ2h0OjF9Ci5ncmV2LXN0YXJze3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToyNHB4O2xldHRlci1zcGFjaW5nOjNweDtsaW5lLWhlaWdodDoxO21hcmdpbjoxMHB4IDAgNnB4O2NvbG9yOnJnYmEoMjMyLDI0MCwyMzQsLjI1KX0KLmdyZXYtc3RhcnM6OmJlZm9yZXtjb250ZW50OiJcMjYwNVwyNjA1XDI2MDVcMjYwNVwyNjA1In0KLmdyZXYtc3RhcnMgLmZpbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO292ZXJmbG93OmhpZGRlbjt3aWR0aDo4NiU7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOnZhcigtLWdvbGQpfQouZ3Jldi1zdGFycyAuZmlsbDo6YmVmb3Jle2NvbnRlbnQ6IlwyNjA1XDI2MDVcMjYwNVwyNjA1XDI2MDUifQouZ3Jldi1jb3VudHtjb2xvcjp2YXIoLS1taXN0Mik7Zm9udC1zaXplOjE0cHh9Ci5ncmV2LWluZm97ZmxleDoxO21pbi13aWR0aDoyNDBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4fQouZ3Jldi1nbG9nb3toZWlnaHQ6MjhweDt3aWR0aDphdXRvO2FsaWduLXNlbGY6ZmxleC1zdGFydH0KLmdyZXYtaW5mbyBwe21hcmdpbjowO2NvbG9yOnZhcigtLW1pc3QpO2ZvbnQtc2l6ZToxN3B4O21heC13aWR0aDpub25lO3BhZGRpbmctaW5saW5lOjB9Ci5ncmV2LWJ0bnN7ZGlzcGxheTpmbGV4O2dhcDoxNHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6NnB4fQpAbWVkaWEgKG1heC13aWR0aDo2MDBweCl7LmdyZXYtYm94e3BhZGRpbmc6MjhweCAyMnB4O2dhcDoyNHB4fS5ncmV2LW51bXtmb250LXNpemU6NDRweH19Cjwvc3R5bGU+PHN0eWxlPgouaGFzLWRyb3B7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4fQouaGFzLWRyb3A+YXtwYWRkaW5nOjRweCAwfQouZHJvcC10b2dnbGV7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6NHB4IDZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfQouZHJvcC10b2dnbGUgc3Zne3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4c30KLmhhcy1kcm9wLm9wZW4gLmRyb3AtdG9nZ2xlIHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Ci5kcm9wZG93bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7bWFyZ2luLXRvcDoxNnB4O2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4O2JveC1zaGFkb3c6MCAyNHB4IDYwcHggcmdiYSgwLDAsMCwuNDUpO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuMThzLHRyYW5zZm9ybSAuMThzLHZpc2liaWxpdHkgLjE4czt6LWluZGV4OjQwfQouaGFzLWRyb3A6aG92ZXIgLmRyb3Bkb3duLC5oYXMtZHJvcC5vcGVuIC5kcm9wZG93bntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfQouZHJvcGRvd24gYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNHB4O2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLW1pc3QyKTt0ZXh0LWRlY29yYXRpb246bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9Ci5kcm9wZG93biBhOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tbW9zcyk7Y29sb3I6dmFyKC0tbWlzdCl9CkBtZWRpYShtYXgtd2lkdGg6ODYwcHgpewouZHJvcGRvd257cG9zaXRpb246c3RhdGljO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDoycHg7cGFkZGluZy1sZWZ0OjE2cHg7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjJzfQouaGFzLWRyb3Aub3BlbiAuZHJvcGRvd257bWF4LWhlaWdodDoyNDBweH0KLmRyb3AtdG9nZ2xle3BhZGRpbmc6OHB4fQp9Ci5tZW51LWNhdHticmVhay1pbnNpZGU6YXZvaWQ7bWFyZ2luLWJvdHRvbTozNHB4fQoubWVudS1jYXQgaDR7Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjEzZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWdvbGQpO21hcmdpbi1ib3R0b206MTJweDtwYWRkaW5nLWJvdHRvbTo4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Ci5tZW51LWNhdCBoNCAubXN1YjJ7Y29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxMXB4O3RleHQtdHJhbnNmb3JtOm5vbmU7bGV0dGVyLXNwYWNpbmc6MDtmb250LXdlaWdodDo0MDA7bWFyZ2luLWxlZnQ6NHB4fQoubWVudS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDA7Zm9udC1zaXplOjE1LjVweH0KLm1lbnUtcm93IC5tbmFtZXtmbGV4Om5vbmV9Ci5tZW51LXJvdyAubXN1YntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMi41cHg7Y29sb3I6dmFyKC0tbWlzdDIpO21hcmdpbi10b3A6M3B4O2ZvbnQtc3R5bGU6aXRhbGljfQoubWVudS1yb3cgLm1kb3Rze2ZsZXg6MTtib3JkZXItYm90dG9tOjFweCBkb3R0ZWQgdmFyKC0tbGluZSk7aGVpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9Ci5tZW51LXJvdyAubXByaWNle2ZsZXg6bm9uZTtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9Ci5tZW51LWNvbHN7Y29sdW1uLWNvdW50OjI7Y29sdW1uLWdhcDo2MHB4fQpAbWVkaWEobWF4LXdpZHRoOjc2MHB4KXsubWVudS1jb2xze2NvbHVtbi1jb3VudDoxfX0KLm1lbnUtbm90ZXtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MjZweCAyOHB4O21hcmdpbi10b3A6MTBweH0KLm1lbnUtbm90ZSBoNHtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjEycHh9Ci5tZW51LW5vdGUgdWx7bWFyZ2luOjA7cGFkZGluZy1sZWZ0OjIwcHg7ZGlzcGxheTpncmlkO2dhcDo2cHg7Zm9udC1zaXplOjE0LjVweDtjb2xvcjp2YXIoLS1taXN0Mil9Ci5wa2ctZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjIycHg7bWFyZ2luLXRvcDozMHB4fQpAbWVkaWEobWF4LXdpZHRoOjkwMHB4KXsucGtnLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5wa2ctY2FyZHtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyKTtjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1yYWRpdXM6MjBweDtwYWRkaW5nOjMwcHggMjZweDtib3gtc2hhZG93OjAgMzBweCA3MHB4IHJnYmEoMCwwLDAsLjM1KTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4fQoucGtnLWNhcmQgaDR7Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjEzZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpfQoucGtnLWNhcmQgLnBrZy1wcmljZXtmb250LWZhbWlseTp2YXIoLS1mKTtmb250LXNpemU6MzZweDtjb2xvcjp2YXIoLS1wYXBlci1pbmspfQoucGtnLWNhcmQgLnBrZy1wcmljZSBzbWFsbHtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1wYXBlci1tdXRlKTtmb250LXdlaWdodDo0MDB9Ci5wa2ctY2FyZCB1bHttYXJnaW46MDtwYWRkaW5nLWxlZnQ6MThweDtkaXNwbGF5OmdyaWQ7Z2FwOjdweDtmb250LXNpemU6MTQuNXB4O2ZsZXg6MX0KLnBrZy1jYXJkIC5idG57bWFyZ2luLXRvcDo0cHg7d2lkdGg6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXh9Ci5wb2xpY3ktYm94e2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nb2xkKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoyNnB4IDI4cHg7bWFyZ2luLXRvcDoyOHB4fQoucG9saWN5LWJveCBoNHtjb2xvcjp2YXIoLS1nb2xkKTtmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMWVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tYm90dG9tOjEycHh9Ci5wb2xpY3ktYm94IG9se21hcmdpbjowO3BhZGRpbmctbGVmdDoyMHB4O2Rpc3BsYXk6Z3JpZDtnYXA6OHB4O2ZvbnQtc2l6ZToxNC41cHh9Ci5wb2xpY3ktYm94IHN0cm9uZ3tjb2xvcjp2YXIoLS13YXJuKX0KLmV2Y2Fse2JhY2tncm91bmQ6dmFyKC0tY2FyZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjE2cHg7cGFkZGluZzoyNHB4O21hcmdpbi10b3A6MjRweDttYXgtd2lkdGg6NDIwcHh9Ci5ldmNhbC1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bWFyZ2luLWJvdHRvbToxNHB4fQouZXZjYWwtaGVhZCBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2NvbG9yOnZhcigtLW1pc3QpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE2cHh9Ci5ldmNhbC1oZWFkIHNwYW57Zm9udC1zaXplOjE1LjVweH0KLmV2Y2FsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNyxtaW5tYXgoMCwxZnIpKTtnYXA6NHB4O3RleHQtYWxpZ246Y2VudGVyfQouZXZjYWwtZ3JpZCAuZG93e2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLW1pc3QyKTtwYWRkaW5nLWJvdHRvbTo2cHh9Ci5ldmNhbC1ncmlkIGJ1dHRvbnthc3BlY3QtcmF0aW86MTttaW4td2lkdGg6MDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLW1pc3QpO2N1cnNvcjpwb2ludGVyO2ZvbnQ6NDAwIDE0cHggdmFyKC0tZil9Ci5ldmNhbC1ncmlkIGJ1dHRvbjpkaXNhYmxlZHtvcGFjaXR5Oi4yMjtjdXJzb3I6ZGVmYXVsdH0KLmV2Y2FsLWdyaWQgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKX0KLmV2Y2FsLWdyaWQgYnV0dG9uLnNlbHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKX0KLmV2Y2FsLXBpY2tlZHttYXJnaW4tdG9wOjE0cHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0tbWlzdDIpfQouZXZjYWwtcGlja2VkIGJ7Y29sb3I6dmFyKC0tZ29sZCk7Zm9udC13ZWlnaHQ6NDAwfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsKICAubmF2LXRvZ2dsZXtkaXNwbGF5OmZsZXghaW1wb3J0YW50fQogICNuYXZMaXN0e3Bvc2l0aW9uOmZpeGVkO3RvcDo3MHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6dmFyKC0tbmlnaHQpO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDowO3BhZGRpbmc6MjBweDtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6YXV0bzt6LWluZGV4OjM1fQogICNuYXZMaXN0Lm9wZW57ZGlzcGxheTpmbGV4IWltcG9ydGFudH0KICAjbmF2TGlzdCBsaXt3aWR0aDoxMDAlO3BhZGRpbmc6MTRweCA0cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tbGluZSl9Cn0KPC9zdHlsZT4KCjxoZWFkZXIgY2xhc3M9Im5hdiIgaWQ9InNpdGVOYXYiPgogIDxkaXYgY2xhc3M9IndyYXAiPgogICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSIjdG9wIj48aW1nIGNsYXNzPSJicmFuZC1sb2dvIiBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDcvTmFyb19FY29fTG9nb18tcmVtb3ZlYmctcHJldmlldy5wbmciIGFsdD0iTmFybyBFY28gUmVzb3J0IGxvZ28iIHdpZHRoPSI0NiIgaGVpZ2h0PSI0NiI+PHNwYW4+TmFybyBFY28gUmVzb3J0PHNtYWxsPllhbXVub3RyaSBIaWdod2F5PC9zbWFsbD48L3NwYW4+PC9hPgogICAgPHVsIGlkPSJuYXZMaXN0Ij4KICAgICAgPGxpPjxhIGhyZWY9IiNzdGF5Ij5TdGF5PC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZXhwZXJpZW5jZXMiPkV4cGVyaWVuY2VzPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZXZlbnRzIj5FdmVudHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNleHBsb3JlIj5FeHBsb3JlPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjZmFxIj5RdWVzdGlvbnM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9IiNjb250YWN0Ij5Db250YWN0PC9hPjwvbGk+CiAgICA8L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2LXRvZ2dsZSIgaWQ9Im5hdlRvZ2dsZSIgYXJpYS1sYWJlbD0iT3BlbiBtZW51IiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ibmF2TGlzdCI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9idXR0b24+CiAgICA8c3R5bGU+Lm5hdi1wbGFuLWxpbmt7Y29sb3I6cmdiKDE2OCwxODksMTc2KTtmb250LXNpemU6MTVweDttYXJnaW4tcmlnaHQ6MThweDt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmNvbG9yIC4ycyxib3JkZXItY29sb3IgLjJzO3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2LXBsYW4tbGluazpob3Zlcntjb2xvcjp2YXIoLS1nb2xkKTtib3JkZXItY29sb3I6dmFyKC0tZ29sZCl9QG1lZGlhKG1heC13aWR0aDo4NjBweCl7Lm5hdi1wbGFuLWxpbmt7ZGlzcGxheTpub25lfX08L3N0eWxlPjxhIGhyZWY9IiN0cmlwUGxhbk9wdGlvbmFsIiBpZD0ibmF2UGxhbkxpbmsiIGNsYXNzPSJuYXYtcGxhbi1saW5rIj5QbGFuIHlvdXIgc3RheTwvYT48YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBocmVmPSIjYm9vayI+Qm9vayBub3c8L2E+CiAgPC9kaXY+CjwvaGVhZGVyPjxzY3JpcHQ+CndpbmRvdy5UYXdrX0FQST13aW5kb3cuVGF3a19BUEl8fHt9Owp3aW5kb3cuVGF3a19BUEkub25Mb2FkPWZ1bmN0aW9uKCl7dHJ5e1Rhd2tfQVBJLmhpZGVXaWRnZXQoKTt9Y2F0Y2goZSl7fX07Cjwvc2NyaXB0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBUYXdrX0FQST1UYXdrX0FQSXx8e30sVGF3a19Mb2FkU3RhcnQ9bmV3IERhdGUoKTsoZnVuY3Rpb24oKXt2YXIgczE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksczI9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO3MxLmFzeW5jPXRydWU7czEuc3JjPSJodHRwczovL2VtYmVkLnRhd2sudG8vNmFiNjgyNmMzOWQ3YzYzNDQ1ZDRlMTBkL2RlZmF1bHQiO3MxLmNoYXJzZXQ9IlVURi04IjtzMS5zZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIiwiKiIpO3MyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMxLHMyKTt9KSgpOzwvc2NyaXB0PjxkaXYgaWQ9ImhpQmFkZ2UiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDt0b3A6ODRweDtyaWdodDoxNnB4O3otaW5kZXg6OTk5ODtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKTtwYWRkaW5nOjEwcHggMTZweCAxMHB4IDE0cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDhweCAyNHB4IHJnYmEoMCwwLDAsLjI1KTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWF4LXdpZHRoOjI4MHB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzLHRyYW5zZm9ybSAuNHMiIG9uY2xpY2s9InZhciBwPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0eScpO2lmKHApe3Auc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnfSk7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BMYW5nSGknKTtpZihiKXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNsaWNrKCl9LDUwMCk7fXRoaXMuc3R5bGUuZGlzcGxheT0nbm9uZSciPuKtkCBBYiBhYXAgSGluZGkgbWVpIGJoaSBwYWQgc2FrdGUgaGFpbi48c3BhbiBvbmNsaWNrPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTt0aGlzLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT0nbm9uZSciIHN0eWxlPSJtYXJnaW4tbGVmdDo0cHg7b3BhY2l0eTouNztmb250LXdlaWdodDo0MDAiPuKclTwvc3Bhbj48L2Rpdj48c2NyaXB0PnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hpQmFkZ2UnKTtpZihlbCl7ZWwuc3R5bGUub3BhY2l0eT0xO2VsLnN0eWxlLnRyYW5zZm9ybT0ndHJhbnNsYXRlWSgwKSc7fX0sMTgwMCk7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGlCYWRnZScpO2lmKGVsKWVsLnN0eWxlLmRpc3BsYXk9J25vbmUnO30sMTQwMDApOzwvc2NyaXB0Pgo8c2NyaXB0PihmdW5jdGlvbigpewogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5kcm9wLXRvZ2dsZScpLmZvckVhY2goZnVuY3Rpb24oYnRuKXsKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpeyBlLnByZXZlbnREZWZhdWx0KCk7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IHZhciBsaT1idG4uY2xvc2VzdCgnLmhhcy1kcm9wJyk7IHZhciBvcGVuPWxpLmNsYXNzTGlzdC50b2dnbGUoJ29wZW4nKTsgYnRuLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIG9wZW4\/J3RydWUnOidmYWxzZScpOyB9KTsKICB9KTsKfSkoKTs8L3NjcmlwdD4KCjxtYWluIGlkPSJ0b3AiPgo8c3R5bGU+Lmhlcm8gLndyYXB7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjE1ZnIgLjg1ZnI7Z2FwOjM2cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5oZXJvLXRleHR7bWluLXdpZHRoOjB9QG1lZGlhIChtYXgtd2lkdGg6OTAwcHgpey5oZXJvIC53cmFwe2Rpc3BsYXk6YmxvY2t9Lmhlcm8tdGV4dHttYXJnaW4tYm90dG9tOjI0cHh9fS5ib29rLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDpyZ2JhKDQsMTYsMTMsLjYpO3otaW5kZXg6OTk5OTk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS5ib29rLWJhY2tkcm9wLm9wZW57b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99c2VjdGlvbi5zdHVkaW8jYm9va3twb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O3RvcDowO3JpZ2h0OjA7aGVpZ2h0OjEwMHZoO3dpZHRoOm1pbig5NjBweCw5NHZ3KTttYXgtd2lkdGg6OTR2dzt6LWluZGV4OjEwMDAwMDtvdmVyZmxvdy15OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JveC1zaGFkb3c6LTEycHggMCA0MHB4IHJnYmEoMCwwLDAsLjQ1KX1zZWN0aW9uLnN0dWRpbyNib29rLm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJvb2stY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE0cHg7cmlnaHQ6MTRweDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2VhZThlMjtib3JkZXI6MnB4IHNvbGlkICMyYTJhMmE7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjYwMHB4KXtzZWN0aW9uLnN0dWRpbyNib29re3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCV9fTwvc3R5bGU+PHNjcmlwdD5mdW5jdGlvbiBvcGVuQm9va0RyYXdlcigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib29rIik7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvb2tCYWNrZHJvcCIpO2lmKHMpcy5jbGFzc0xpc3QuYWRkKCJvcGVuIik7aWYoYiliLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7fWZ1bmN0aW9uIGNsb3NlQm9va0RyYXdlcigpe3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib29rIik7dmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvb2tCYWNrZHJvcCIpO2lmKHMpcy5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIik7aWYoYiliLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3c9IiI7fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oZSl7dmFyIGE9ZS50YXJnZXQuY2xvc2VzdCgiYVtocmVmPVwiI2Jvb2tcIl0iKTtpZihhKXtlLnByZXZlbnREZWZhdWx0KCk7b3BlbkJvb2tEcmF3ZXIoKTt9fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGZ1bmN0aW9uKGUpe2lmKGUua2V5PT09IkVzY2FwZSIpY2xvc2VCb29rRHJhd2VyKCk7fSk7PC9zY3JpcHQ+CjxkaXYgaWQ9ImJvb2tCYWNrZHJvcCIgY2xhc3M9ImJvb2stYmFja2Ryb3AiIG9uY2xpY2s9ImlmKHR5cGVvZiBjbG9zZUJvb2tEcmF3ZXI9PT0nZnVuY3Rpb24nKWNsb3NlQm9va0RyYXdlcigpOyI+PC9kaXY+CjxzZWN0aW9uIGNsYXNzPSJzdHVkaW8iIGlkPSJib29rIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImJvb2tDbG9zZSIgY2xhc3M9ImJvb2stY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIiBvbmNsaWNrPSJpZih0eXBlb2YgY2xvc2VCb29rRHJhd2VyPT09J2Z1bmN0aW9uJyljbG9zZUJvb2tEcmF3ZXIoKTsiPiZ0aW1lczs8L2J1dHRvbj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InN0dWRpby1oZWFkIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+Qm9vayBvbmxpbmU8L3NwYW4+PGgyPkJvb2sgeW91ciBzdGF5IGluIGZvdXIgZWFzeSBzdGVwczwvaDI+PHA+MS4gQ2hvb3NlIHlvdXIgZGF0ZXMsIGd1ZXN0cyBhbmQgcm9vbXMuIDIuIEFkZCB0aGUgZ3Vlc3QgZGV0YWlscy4gMy4gUGF5IHNlY3VyZWx5IG9ubGluZSB3aXRoIFVQSSwgY2FyZCBvciBuZXQgYmFua2luZy4gNC4gR2V0IHlvdXIgYm9va2luZyBwYXNzIGFuZCBzaG93IGl0IGF0IHJlY2VwdGlvbi4gQ2hlY2staW4gaXMgZnJvbSAxMSBhbTsgZWFybHkgY2hlY2staW4gZnJvbSA5IGFtIGlzIGZyZWUgd2hlbiByb29tcyBhcmUgdmFjYW50LjwvcD48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0dWRpby1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcHMiIGlkPSJzdGVwcyI+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iMSI+PGI+MTwvYj5UcmlwPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iMiI+PGI+MjwvYj5HdWVzdDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtZ289IjMiPjxiPjM8L2I+UGF5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1nbz0iNCI+PGI+NDwvYj5Eb25lPC9idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InBhbmUiIGlkPSJwMSI+PGgzPllvdXIgZGF0ZXMgYW5kIHJvb21zPC9oMz48cCBjbGFzcz0ic3ViIj5UYXAgYSBkYXRlIHRvIG9wZW4gdGhlIGNhbGVuZGFyLCB0aGVuIHNldCB5b3VyIGd1ZXN0cyBhbmQgcm9vbXMuPC9wPjxkaXYgY2xhc3M9ImdyaWQyIj48ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBpbjwvbGFiZWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJkYXRlYnRuIiBkYXRhLWNhbD0iY2kiIGlkPSJwMWNpQiI+Q2hvb3NlIGRhdGU8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBvdXQ8L2xhYmVsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZGF0ZWJ0biIgZGF0YS1jYWw9ImNvIiBpZD0icDFjb0IiPkNob29zZSBkYXRlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+QWR1bHRzPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWFkdWx0c08iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkNoaWxkcmVuIGFnZWQgOSs8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHM5Oi0xIiBhcmlhLWxhYmVsPSJGZXdlciI+4oiSPC9idXR0b24+PG91dHB1dCBpZD0icDFraWRzOU8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJraWRzOToxIiBhcmlhLWxhYmVsPSJNb3JlIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+Q2hpbGRyZW4gYmVsb3cgOSAoZnJlZSk8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHNVOTotMSIgYXJpYS1sYWJlbD0iRmV3ZXIiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9InAxa2lkc1U5TyI+MDwvb3V0cHV0PjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHNVOToxIiBhcmlhLWxhYmVsPSJNb3JlIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+RG91YmxlIHJvb21zPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWRibE8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkZhbWlseSByb29tICg0IGJlZHMpPC9sYWJlbD48ZGl2IGNsYXNzPSJzdGVwcGVyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJmYW06LTEiIGFyaWEtbGFiZWw9IkZld2VyIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJwMWZhbU8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJmYW06MSIgYXJpYS1sYWJlbD0iTW9yZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJub3RlIiBpZD0icDFIaW50IiBzdHlsZT0ibWFyZ2luLXRvcDoxMnB4Ij48L3A+PGRpdiBjbGFzcz0icDF0b3RhbCIgaWQ9InAxVG90YWwiPjwvZGl2PjxkaXYgY2xhc3M9ImFjdGlvbnMiIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHgiPjxzcGFuPjwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9ImJ1dHRvbiIgZGF0YS1uZXh0PSIyIj5Db250aW51ZTwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InBhbmUiIGlkPSJwMiIgaGlkZGVuPgogICAgICAgICAgPGgzPldobyBpcyBjaGVja2luZyBpbj88L2gzPgogICAgICAgICAgPHAgY2xhc3M9InN1YiI+V2UgdXNlIHRoZXNlIGRldGFpbHMgdG8gcHJlcGFyZSB5b3VyIHJvb20gYW5kIGdyZWV0IHlvdSBieSBuYW1lLjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+VGl0bGU8L2xhYmVsPjxkaXYgY2xhc3M9Im9wdHMiIGlkPSJ0aXRsZU9wdHMiPjxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InRpdGxlIiB2YWx1ZT0iTXIuIj48c3Bhbj5Nci48L3NwYW4+PC9sYWJlbD48bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0aXRsZSIgdmFsdWU9Ik1ycy4iPjxzcGFuPk1ycy48L3NwYW4+PC9sYWJlbD48bGFiZWw+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJ0aXRsZSIgdmFsdWU9Ik1pc3MuIj48c3Bhbj5NaXNzLjwvc3Bhbj48L2xhYmVsPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ05hbWUiPkZ1bGwgbmFtZTwvbGFiZWw+PGlucHV0IGlkPSJnTmFtZSIgdHlwZT0idGV4dCIgYXV0b2NvbXBsZXRlPSJuYW1lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWwgZm9yPSJnUGhvbmUiPk1vYmlsZSBudW1iZXI8L2xhYmVsPjxpbnB1dCBpZD0iZ1Bob25lIiB0eXBlPSJ0ZWwiIGF1dG9jb21wbGV0ZT0idGVsIiBpbnB1dG1vZGU9InRlbCIgcGxhY2Vob2xkZXI9Iis5MSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ0VtYWlsIj5FbWFpbCAoZm9yIHlvdXIgcmVjZWlwdCk8L2xhYmVsPjxpbnB1dCBpZD0iZ0VtYWlsIiB0eXBlPSJlbWFpbCIgYXV0b2NvbXBsZXRlPSJlbWFpbCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsIGZvcj0iZ0NvbXAiPkNvbXBhbnkgbmFtZSAob3B0aW9uYWwpPC9sYWJlbD48aW5wdXQgaWQ9ImdDb21wIiB0eXBlPSJ0ZXh0IiBhdXRvY29tcGxldGU9Im9yZ2FuaXphdGlvbiIgcGxhY2Vob2xkZXI9IkZvciBhIEdTVCBpbnZvaWNlIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWwgZm9yPSJnR3N0Ij5DdXN0b21lciBHU1RJTiAob3B0aW9uYWwpPC9sYWJlbD48aW5wdXQgaWQ9ImdHc3QiIHR5cGU9InRleHQiIG1heGxlbmd0aD0iMTUiIGF1dG9jb21wbGV0ZT0ib2ZmIiBzdHlsZT0idGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIiBwbGFjZWhvbGRlcj0iRm9yIGEgR1NUIGludm9pY2UiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbCBmb3I9ImdWZWgiPlZlaGljbGUgbnVtYmVyIChmb3IgcGFya2luZyk8L2xhYmVsPjxpbnB1dCBpZD0iZ1ZlaCIgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9Ik9wdGlvbmFsIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij48bGFiZWw+V2hlbiB3aWxsIHlvdSBhcnJpdmU\/PC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3B0cyIgaWQ9ImFycml2ZU9wdHMiPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IkJlZm9yZSBub29uIj48c3Bhbj5CZWZvcmUgbm9vbjwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IjEyIHRvIDMgcG0iIGNoZWNrZWQ+PHNwYW4+MTIgdG8gMyBwbTwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9ImFyciIgdmFsdWU9IjMgdG8gNiBwbSI+PHNwYW4+MyB0byA2IHBtPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgICAgPGxhYmVsPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iYXJyIiB2YWx1ZT0iQWZ0ZXIgNiBwbSI+PHNwYW4+QWZ0ZXIgNiBwbTwvc3Bhbj48L2xhYmVsPgogICAgICAgICAgICA8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJub3RlIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij5OYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9ubHkuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIiBzdHlsZT0ibWFyZ2luLXRvcDoxNnB4Ij48bGFiZWwgZm9yPSJnTm90ZSI+T2NjYXNpb24gb3IgcmVxdWVzdHM8L2xhYmVsPjx0ZXh0YXJlYSBpZD0iZ05vdGUiIHBsYWNlaG9sZGVyPSJCaXJ0aGRheSwgYW5uaXZlcnNhcnksIGV4dHJhIGJlZCwgYW55dGhpbmcgeW91IHdvdWxkIGxpa2UgdXMgdG8ga25vdyI+PC90ZXh0YXJlYT48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJlcnIiIGlkPSJlMiIgcm9sZT0iYWxlcnQiPjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7bGluZS1oZWlnaHQ6MS42Ij48c3Ryb25nPkJlZm9yZSB5b3UgYm9vazo8L3N0cm9uZz4gR3Vlc3RzIG11c3QgYmUgMTggeWVhcnMgb2YgYWdlIG9yIG9sZGVyLCBhcyBwZXIgSW5kaWFuIGxhdy4gUm9vbXMgYXJlIG5vdCBnaXZlbiB0byB1bmRlcmFnZSBjb3VwbGVzIHdpdGhvdXQgYWR1bHQgYWNjb21wYW5pbWVudC4gVW5tYXJyaWVkIGNvdXBsZXMgYXJlIHdlbGNvbWUg4oCUIGJvdGggZ3Vlc3RzIG11c3QgY2FycnkgYSB2YWxpZCBnb3Zlcm5tZW50IHBob3RvIElEIGF0IGNoZWNrLWluIChBYWRoYXIgY2FyZCwgVm90ZXIgSUQgb3IgRHJpdmluZyBMaWNlbmNlKS48L2Rpdj48bGFiZWwgc3R5bGU9ImRpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTRweDtjdXJzb3I6cG9pbnRlciI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iZ0NvbnNlbnQiIHN0eWxlPSJtYXJnaW4tdG9wOjNweDtmbGV4LXNocmluazowIj48c3Bhbj5JIGNvbmZpcm0gYWxsIGd1ZXN0cyBhcmUgMTggeWVhcnMgb3Igb2xkZXIgYW5kIHdpbGwgY2FycnkgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCBhdCBjaGVjay1pbi48L3NwYW4+PC9sYWJlbD48ZGl2IGNsYXNzPSJhY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWxpbmUiIHN0eWxlPSJjb2xvcjp2YXIoLS1wYXBlci1pbmspO2JvcmRlci1jb2xvcjp2YXIoLS1wYXBlci1saW5lKSIgdHlwZT0iYnV0dG9uIiBkYXRhLW5leHQ9IjEiPkJhY2s8L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9ImJ1dHRvbiIgZGF0YS1uZXh0PSIzIj5SZXZpZXcgYW5kIHBheTwvYnV0dG9uPjwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lIiBpZD0icDMiIGhpZGRlbj4KICAgICAgICAgIDxoMz5SZXZpZXcgYW5kIHBheTwvaDM+CiAgICAgICAgICA8cCBjbGFzcz0ic3ViIj5DaGVjayB5b3VyIHJvb21zIGFuZCB0b3RhbCwgaW5jbHVkaW5nIDUlIEdTVCwgdGhlbiBjaG9vc2UgaG93IHlvdSB3b3VsZCBsaWtlIHRvIHBheS48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXktYm94Ij4KICAgICAgICAgICAgPGRpdiBpZD0icmV2aWV3TGluZXMiIGNsYXNzPSJzdGF5LWwiPjwvZGl2PjxkaXYgY2xhc3M9ImNvdXBvbi1ib3giIHN0eWxlPSJtYXJnaW46MTRweCAwO2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXdyYXA6d3JhcCI+PGlucHV0IHR5cGU9InRleHQiIGlkPSJjb3Vwb25JbnB1dCIgcGxhY2Vob2xkZXI9IkRpc2NvdW50IGNvdXBvbiAob3B0aW9uYWwpIiBzdHlsZT0iZmxleDoxO21pbi13aWR0aDoxNjBweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXBhcGVyLWxpbmUpO2JvcmRlci1yYWRpdXM6OHB4O2ZvbnQtc2l6ZToxNHB4Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImNvdXBvbkFwcGx5QnRuIiBzdHlsZT0iY29sb3I6dmFyKC0tcGFwZXItaW5rKTtib3JkZXItY29sb3I6dmFyKC0tcGFwZXItbGluZSkiPkFwcGx5PC9idXR0b24+PC9kaXY+PHAgaWQ9ImNvdXBvbk1zZyIgc3R5bGU9ImZvbnQtc2l6ZToxM3B4O21hcmdpbjowIDAgMTBweDtkaXNwbGF5Om5vbmUiPjwvcD4KICAgICAgICAgICAgPHN0eWxlPi5wb3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtib3JkZXI6MXB4IHNvbGlkICNjOTk4MmU7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTJweCAxNHB4O21hcmdpbjo4cHggMDtjdXJzb3I6cG9pbnRlcn0ucG8gaW5wdXR7bWFyZ2luLXRvcDo1cHh9LnBvIHNtYWxse2Rpc3BsYXk6YmxvY2s7b3BhY2l0eTouODttYXJnaW4tdG9wOjRweDtsaW5lLWhlaWdodDoxLjQ1fTwvc3R5bGU+CiAgICAgICAgICAgIDxmaWVsZHNldCBzdHlsZT0iYm9yZGVyOjA7cGFkZGluZzowO21hcmdpbjoxNnB4IDAgMCI+PGxlZ2VuZCBzdHlsZT0iZm9udC1zaXplOjE3cHg7bWFyZ2luLWJvdHRvbTo2cHgiPlBheW1lbnQ8L2xlZ2VuZD4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9InBvIj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InBheU1vZGUiIHZhbHVlPSJmdWxsIiBjaGVja2VkPjxzcGFuPjxiPkZ1bGwgcGF5bWVudCBpbiBhZHZhbmNlPC9iPiA8c3BhbiBpZD0icG9GdWxsQW10Ij48L3NwYW4+PHNtYWxsPklmIHlvdXIgcGxhbnMgY2hhbmdlLCB5b3UgY2FuIHJlc2NoZWR1bGUgeW91ciBzdGF5IGZvciBhIOKCuTEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUuPC9zbWFsbD48L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgPC9maWVsZHNldD4KICAgICAgICAgICAgPHAgY2xhc3M9Im5vdGUiPllvdSBwYXkgc2VjdXJlbHkgd2l0aCBSYXpvcnBheSBvbiB0aGUgbmV4dCBzY3JlZW4sIHVzaW5nIFVQSSwgY2FyZCBvciBuZXQgYmFua2luZy4gVGhlIHJlc29ydCBjb25maXJtcyBhdmFpbGFiaWxpdHkgYWZ0ZXIgcGF5bWVudC48L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXdub3RlIiBpZD0icHJldmlld05vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjE0cHgiIGhpZGRlbj5QcmV2aWV3IG1vZGUuIE9uIHRoZSBsaXZlIHNpdGUgdGhpcyBidXR0b24gb3BlbnMgdGhlIHJlc29ydCdzIHBheW1lbnQgY2hlY2tvdXQuIE5vIHBheW1lbnQgaXMgdGFrZW4gaGVyZS48L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJlcnIiIGlkPSJlMyIgcm9sZT0iYWxlcnQiPjwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgc3R5bGU9ImNvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLWNvbG9yOnZhcigtLXBhcGVyLWxpbmUpIiB0eXBlPSJidXR0b24iIGRhdGEtbmV4dD0iMiI+QmFjazwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9InBheUJ0biIgdHlwZT0iYnV0dG9uIj5Db250aW51ZSB0byBwYXltZW50PC9idXR0b24+PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InBhbmUiIGlkPSJwNCIgaGlkZGVuPgogICAgICAgICAgPGgzPllvdXIgYm9va2luZyByZXF1ZXN0PC9oMz4KICAgICAgICAgIDxwIGNsYXNzPSJzdWIiPlRoZSByZXNvcnQgd2lsbCBjb250YWN0IHlvdSB0byBjb25maXJtLiBLZWVwIHRoaXMgcmVmZXJlbmNlIGFuZCBzaG93IGl0IGF0IHJlY2VwdGlvbiB3aGVuIHlvdSBhcnJpdmUuPC9wPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFzcyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGFtcCIgaWQ9InBhc3NTdGFtcCI+UmVxdWVzdCBzZW50PC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWYiIGlkPSJwYXNzUmVmIj48L2Rpdj4KICAgICAgICAgICAgPGRsIGlkPSJwYXNzRGwiPjwvZGw+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOjIycHggMCA4cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4xOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1wYXBlci1tdXRlKSI+QSBub3RlIGJlZm9yZSB5b3UgdHJhdmVsPC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9IndlbGNvbWUiIGlkPSJ3ZWxjb21lIiBhcmlhLWxpdmU9InBvbGl0ZSI+UHJlcGFyaW5nIHlvdXIgbm90ZeKApjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBpZD0iY29weVBhc3MiIHR5cGU9ImJ1dHRvbiI+Q29weSBwYXNzIGRldGFpbHM8L2J1dHRvbj48c3BhbiBjbGFzcz0ibm90ZSIgaWQ9ImNvcHlNc2ciPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8YXNpZGUgY2xhc3M9InN1bSIgYXJpYS1sYWJlbD0iWW91ciBzdGF5Ij4KICAgICAgICA8aDQ+WW91ciBzdGF5PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGF5LWwiIGlkPSJsaW5lcyI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJpZWYiIGlkPSJicmllZiI+UGxhbiBhIHRyaXAgYWJvdmUgYW5kIHlvdXIgc3VtbWFyeSBhcHBlYXJzIGhlcmUuPC9kaXY+CiAgICAgICAgPHAgY2xhc3M9IndoeSI+Um9vbSByYXRlcyBhcmUgcGVyIG5pZ2h0LCBwbHVzIDUlIEdTVC4gQnJlYWtmYXN0IGlzIG5vdCBpbmNsdWRlZC4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuPC9wPgogICAgICA8L2FzaWRlPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICA8ZGl2IGNsYXNzPSJoZXJvLXBob3RvIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICA8Y2FudmFzIGlkPSJza3kiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2NhbnZhcz4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9Imhlcm8tdGV4dCI+CiAgICA8cCBjbGFzcz0iZXllYnJvdyI+TmVhciBWaWthcyBOYWdhciDCtyA0NSBrbSBmcm9tIERlaHJhZHVuPC9wPgogICAgPGgxIHN0eWxlPSJtYXJnaW4tdG9wOjE4cHgiPldha2UgdXAgaW4gdGhlIDxlbT5mb290aGlsbHM8L2VtPjwvaDE+CiAgICA8cCBjbGFzcz0ibGVkZSI+Q29tZm9ydGFibGUgcm9vbXMgd2l0aCBkZXNlcnQgY29vbGVycywgYW4gb3JnYW5pYyBnYXJkZW4gYW5kIE5hcm8gUmVzdGF1cmFudCBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXkuIERlc2NyaWJlIHlvdXIgdHJpcCBpbiBhIHNlbnRlbmNlIGFuZCB3ZSBzZXQgdXAgeW91ciByb29tcyBhbmQgeW91ciBwcmljZS48L3A+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4jaGVyb0Jvb2sgbGFiZWx7Y29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudDtmb250LXNpemU6MTVweCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NjAwIWltcG9ydGFudH0jaGVyb0Jvb2sgLm5vdGV7Y29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudDtmb250LXNpemU6MTRweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41IWltcG9ydGFudH0jaGVyb0Jvb2sgLnN0ZXBwZXIgb3V0cHV0e2NvbG9yOnZhcigtLXBhcGVyLWluaykhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMH0jaGVyb0Jvb2sgLmJ0bi1saW5le2NvbG9yOnZhcigtLW1pc3QpIWltcG9ydGFudDtib3JkZXItY29sb3I6dmFyKC0tbWlzdDIpIWltcG9ydGFudH0jaGVyb0Jvb2sgLmVycntjb2xvcjp2YXIoLS13YXJuKSFpbXBvcnRhbnR9I2hlcm9Cb29rIGg0e2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0jaGVyb0Jvb2sgc3VtbWFyeXtmb250LXNpemU6MTRweCFpbXBvcnRhbnR9I2hlcm9Cb29rIGlucHV0W3R5cGU9ImRhdGUiXXtib3JkZXI6M3B4IHNvbGlkIHZhcigtLWdvbGQpIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjEwcHghaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMjM5LDE5MSw5OCwuMjUpIWltcG9ydGFudH0jaGVyb0Jvb2sgaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3Vze291dGxpbmU6bm9uZSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgyMzksMTkxLDk4LC4zNSkhaW1wb3J0YW50fTwvc3R5bGU+PGRpdiBjbGFzcz0iaGVyby1ib29rIiBpZD0iaGVyb0Jvb2siPgogICAgICAgICAgPGgzPkJvb2sgTm93PC9oMz4KICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbjoyMHB4IDAgMjhweCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkNoZWNrIGluPC9sYWJlbD48aW5wdXQgaWQ9ImNpIiB0eXBlPSJoaWRkZW4iPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iZGF0ZWJ0biIgZGF0YS1jYWw9ImNpIiBpZD0iY2lCIj5DaG9vc2UgZGF0ZTwvYnV0dG9uPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGVjayBvdXQ8L2xhYmVsPjxpbnB1dCBpZD0iY28iIHR5cGU9ImhpZGRlbiI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJkYXRlYnRuIiBkYXRhLWNhbD0iY28iIGlkPSJjb0IiPkNob29zZSBkYXRlPC9idXR0b24+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkFkdWx0czwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iYWR1bHRzOi0xIiBhcmlhLWxhYmVsPSJGZXdlciBhZHVsdHMiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImFkdWx0c08iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJhZHVsdHM6MSIgYXJpYS1sYWJlbD0iTW9yZSBhZHVsdHMiPis8L2J1dHRvbj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+Q2hpbGRyZW4gYWdlZCA5KzwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkczk6LTEiIGFyaWEtbGFiZWw9IkZld2VyIGNoaWxkcmVuIGFnZWQgOSBhbmQgYWJvdmUiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImtpZHM5TyI+MDwvb3V0cHV0PjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImtpZHM5OjEiIGFyaWEtbGFiZWw9Ik1vcmUgY2hpbGRyZW4gYWdlZCA5IGFuZCBhYm92ZSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGQiPjxsYWJlbD5DaGlsZHJlbiBiZWxvdyA5IChmcmVlKTwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkc1U5Oi0xIiBhcmlhLWxhYmVsPSJGZXdlciBjaGlsZHJlbiBiZWxvdyA5Ij7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJraWRzVTlPIj4wPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0ia2lkc1U5OjEiIGFyaWEtbGFiZWw9Ik1vcmUgY2hpbGRyZW4gYmVsb3cgOSI+KzwvYnV0dG9uPjwvZGl2PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjoyNnB4IDAgMTJweDtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjE4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXBhcGVyLW11dGUpIj5Sb29tczwvaDQ+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZCI+PGxhYmVsPkRvdWJsZSByb29tczwvbGFiZWw+PGRpdiBjbGFzcz0ic3RlcHBlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iZGJsOi0xIiBhcmlhLWxhYmVsPSJGZXdlciBkb3VibGUgcm9vbXMiPuKIkjwvYnV0dG9uPjxvdXRwdXQgaWQ9ImRibE8iPjA8L291dHB1dD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1zdGVwPSJkYmw6MSIgYXJpYS1sYWJlbD0iTW9yZSBkb3VibGUgcm9vbXMiPis8L2J1dHRvbj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxkIj48bGFiZWw+RmFtaWx5IHJvb20gKDQgYmVkcyk8L2xhYmVsPjxkaXYgY2xhc3M9InN0ZXBwZXIiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9ImZhbTotMSIgYXJpYS1sYWJlbD0iRmV3ZXIgZmFtaWx5IHJvb21zIj7iiJI8L2J1dHRvbj48b3V0cHV0IGlkPSJmYW1PIj4wPC9vdXRwdXQ+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtc3RlcD0iZmFtOjEiIGFyaWEtbGFiZWw9Ik1vcmUgZmFtaWx5IHJvb21zIj4rPC9idXR0b24+PC9kaXY+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwIGNsYXNzPSJub3RlIiBpZD0icm9vbUhpbnQiIHN0eWxlPSJtYXJnaW4tdG9wOjEycHgiIGFyaWEtbGl2ZT0icG9saXRlIj48L3A+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHgiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImF1dG9CdG4iIHR5cGU9ImJ1dHRvbiIgc3R5bGU9ImNvbG9yOnZhcigtLXBhcGVyLWluayk7Ym9yZGVyLWNvbG9yOnZhcigtLXBhcGVyLWxpbmUpO3BhZGRpbmc6MTFweCAxOHB4Ij5TdWdnZXN0IGJlc3Qgcm9vbXM8L2J1dHRvbj48L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgPHAgY2xhc3M9ImVyciIgaWQ9ImUxIiByb2xlPSJhbGVydCI+PC9wPgogICAgICAgICAgPGRldGFpbHMgY2xhc3M9InRyaXAtb3B0aW9uYWwiIGlkPSJ0cmlwUGxhbk9wdGlvbmFsIiBzdHlsZT0ibWFyZ2luOjE4cHggMCA2cHgiPjxzdW1tYXJ5IHN0eWxlPSJjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS1nb2xkLCNlZmJmNjIpO2ZvbnQtc2l6ZToxM3B4Ij5PciBkZXNjcmliZSB5b3VyIHRyaXAgaW4gYSBzZW50ZW5jZSBpbnN0ZWFkPC9zdW1tYXJ5PjxkaXYgc3R5bGU9Im1hcmdpbi10b3A6MTRweCI+PGRpdiBjbGFzcz0iY21kIj4KICAgICAgPGRpdiBjbGFzcz0iY21kLXRhZyI+PHNwYW4gY2xhc3M9InB1bHNlIj48L3NwYW4+IFRyaXAgcGxhbm5lcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjbWQtcm93Ij4KICAgICAgICA8dGV4dGFyZWEgaWQ9InRyaXBUZXh0IiByb3dzPSIyIiBhcmlhLWxhYmVsPSJEZXNjcmliZSB5b3VyIHRyaXAiIHBsYWNlaG9sZGVyPSJGb3IgZXhhbXBsZTogMiBhZHVsdHMgYW5kIDIga2lkcyBhZ2VkIDYgYW5kIDgsIDMgbmlnaHRzIGZyb20gbmV4dCBGcmlkYXkiPjwvdGV4dGFyZWE+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0icGxhbkJ0biIgdHlwZT0iYnV0dG9uIj5QbGFuIG15IHN0YXk8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoaXBzIiBpZD0ic2FtcGxlcyI+PC9kaXY+CiAgICAgIDxwIGNsYXNzPSJhaW1zZyIgaWQ9ImFpTXNnIiByb2xlPSJzdGF0dXMiIGFyaWEtbGl2ZT0icG9saXRlIj48L3A+CiAgICA8L2Rpdj48L2Rpdj48L2RldGFpbHM+PGRpdiBjbGFzcz0iYWN0aW9ucyI+PHNwYW4+PC9zcGFuPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFyayIgdHlwZT0iYnV0dG9uIiBkYXRhLW5leHQ9IjIiIGlkPSJoZXJvQ29udGludWVCdG4iPkNvbnRpbnVlIHRvIGJvb2s8L2J1dHRvbj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZhY3RzIj48c3Bhbj5QdXJlIHZlZ2V0YXJpYW4gcmVzdGF1cmFudDwvc3Bhbj48c3Bhbj5EZXNlcnQgY29vbGVyIGluIGV2ZXJ5IHJvb208L3NwYW4+PHNwYW4+RnJlZSBwYXJraW5nPC9zcGFuPjxzcGFuPkNvdXBsZSBmcmllbmRseTwvc3Bhbj48c3Bhbj5Td2ltbWluZyBwb29sIG9wZW5pbmcgc29vbjwvc3Bhbj48L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMiIGlkPSJzdGF5Ij4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlRoZSBzdGF5PC9zcGFuPjxoMj5Sb29tcyBmb3IgY291cGxlcyBhbmQgZmFtaWxpZXM8L2gyPjxwPk5pbmUgZG91YmxlIHJvb21zIGFuZCBvbmUgZm91ci1iZWQgZmFtaWx5IHJvb20sIGVhY2ggd2l0aCBhIGRlc2VydCBjb29sZXIuPC9wPjwvZGl2PgogICAgPGRpdiBjbGFzcz0ic3RheS1ncm91cCI+CiAgICA8ZGl2IGNsYXNzPSJzdGF5Ij4KICAgICAgPGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89InJvb20iIGRhdGEtc2VlZD0iMSI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN0YXktYm9keSI+CiAgICAgICAgPGRpdiBjbGFzcz0icnQiPjxkaXY+PGgzIGNsYXNzPSJyb29tLWRvdWJsZSI+RG91YmxlIFJvb208L2gzPjxwIGNsYXNzPSJycyI+RG91YmxlIG9jY3VwYW5jeSwgZGVzZXJ0IGNvb2xlcjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJwcmljZSI+PGIgY2xhc3M9InJvb20tZG91YmxlIj7igrkyLDUwMDwvYj48c3Bhbj4rIDUlIEdTVCwgcGVyIG5pZ2h0PC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWdvbGQiIGhyZWY9IiNib29rIiBzdHlsZT0ianVzdGlmeS1zZWxmOnN0YXJ0Ij5Cb29rIE5vdzwvYT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN0YXkiPgogICAgICA8ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0icm9vbTIiIGRhdGEtc2VlZD0iMiI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN0YXktYm9keSI+CiAgICAgICAgPGRpdiBjbGFzcz0icnQiPjxkaXY+PGgzIGNsYXNzPSJyb29tLWZhbWlseSI+RmFtaWx5IFJvb208L2gzPjxwIGNsYXNzPSJycyI+NCBiZWRzLCBkZXNlcnQgY29vbGVyLCBsYXJnZSB3aW5kb3cgdmlldyBmcm9tIHJvb20uPC9wPjwvZGl2PjxkaXYgY2xhc3M9InByaWNlIj48YiBjbGFzcz0icm9vbS1mYW1pbHkiPuKCuTQsMDAwPC9iPjxzcGFuPisgNSUgR1NULCBwZXIgbmlnaHQ8L3NwYW4+PC9kaXY+PC9kaXY+CiAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iI2Jvb2siIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkJvb2sgTm93PC9hPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8dWwgY2xhc3M9InRpY2tzIiBzdHlsZT0ibWFyZ2luLXRvcDoyNHB4Ij48bGk+RGVzZXJ0IGNvb2xlciBpbiBldmVyeSByb29tPC9saT48bGk+RXh0cmEgYmVkIOKCuTUwMCBhIG5pZ2h0PC9saT48bGk+Q2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWU8L2xpPjxsaT41JSBHU1QgaXMgYWRkZWQgdG8gdGhlIHJhdGVzPC9saT48bGk+V2ktRmkgYWxsIGRheTwvbGk+PGxpPjI0LWhvdXIgcG93ZXIgYmFja3VwPC9saT48bGk+SG90IGFuZCBjb2xkIHdhdGVyPC9saT48bGk+RnJlZSBwYXJraW5nPC9saT48L3VsPgogICAgPHAgY2xhc3M9InJzIj5CcmVha2Zhc3QgaXMgbm90IGluY2x1ZGVkLiBOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBtZWFscy48L3A+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJzIGJhbmQiIGlkPSJleHBlcmllbmNlcyI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5PbiB0aGUgcHJvcGVydHk8L3NwYW4+PGgyPkVhdCwgd2FsaywgdW53aW5kPC9oMj48cD5FdmVyeXRoaW5nIGlzIHdpdGhpbiB0aGUgZ3JvdW5kcywgYW5kIHRoZSB2ZWdldGFyaWFuIGtpdGNoZW4gZHJhd3Mgb24gdGhlIHJlc29ydCdzIG93biBvcmdhbmljIGdhcmRlbi48L3A+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ0aWxlcyI+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0iZGluaW5nIiBkYXRhLXNlZWQ9IjIiPjwvZGl2PjxzcGFuIGNsYXNzPSJrIj5EaW5pbmc8L3NwYW4+PGgzPk5hcm8gUmVzdGF1cmFudDwvaDM+PHA+UHVyZSB2ZWdldGFyaWFuIGZvb2QsIHNlcnZlZCBvbiBzaXRlLiBGb29kIGRlbGl2ZXJ5IGlzIGF2YWlsYWJsZSB3aXRoaW4gMTUga20uPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlIj48c3BhbiBjbGFzcz0iayI+T3BlbmluZyBzb29uPC9zcGFuPjxoMz5Td2ltbWluZyBwb29sPC9oMz48cD5PdXIgc3dpbW1pbmcgcG9vbCB3aWxsIGJlIGluYXVndXJhdGVkIHNob3J0bHkuIEFzayB1cyBmb3IgdGhlIG9wZW5pbmcgZGF0ZS48L3A+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0ibGF3biIgZGF0YS1zZWVkPSIzIj48L2Rpdj48c3BhbiBjbGFzcz0iayI+R2FyZGVuPC9zcGFuPjxoMz5PcmdhbmljIHZlZ2V0YWJsZSBnYXJkZW48L2gzPjxwPldhbGsgdGhyb3VnaCB0aGUgYmVkcyB3aGVyZSBtdWNoIG9mIHRoZSBraXRjaGVuJ3MgcHJvZHVjZSBpcyBncm93bi48L3A+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUiPjxkaXYgY2xhc3M9InBoIHRwaCIgZGF0YS1waG90bz0id2FsayIgZGF0YS1zZWVkPSI0Ij48L2Rpdj48c3BhbiBjbGFzcz0iayI+T3V0ZG9vcnM8L3NwYW4+PGgzPk5hdHVyZSB3YWxrcyBhbmQgdHJla3M8L2gzPjxwPkZvcmVzdCBwYXRocyBhbmQgc2hvcnQgdHJla3MgYmVnaW4gY2xvc2UgdG8gdGhlIHJvb21zLiBBc2sgdGhlIGZyb250IGRlc2sgZm9yIGEgZ3VpZGUuPC9wPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlIj48c3BhbiBjbGFzcz0iayI+Q29tZm9ydDwvc3Bhbj48aDM+TG9va2VkIGFmdGVyIGFsbCBkYXk8L2gzPjxwPkRlc2VydCBjb29sZXJzIGluIGV2ZXJ5IHJvb20sIDI0Lzcgc2VjdXJpdHksIFdpLUZpLCBwb3dlciBiYWNrdXAsIGhvdCBhbmQgY29sZCB3YXRlciwgYW5kIGZyZWUgcGFya2luZyBmb3IgbW9yZSB0aGFuIDUwIHZlaGljbGVzLjwvcD48L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0icyIgaWQ9ImV2ZW50cyI+CiAgPGRpdiBjbGFzcz0id3JhcCBzcGxpdCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiIHN0eWxlPSJtYXJnaW46MCI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPldlZGRpbmdzIGFuZCBldmVudHM8L3NwYW4+PGgyPkNlbGVicmF0ZSBpbiB0aGUgZm9vdGhpbGxzPC9oMj48cD5BIDQwIMOXIDQwIGZ0IGNvbmZlcmVuY2UgaGFsbCBhbmQgb3BlbiBncm91bmRzIHN1aXQgZGVzdGluYXRpb24gd2VkZGluZ3MsIGJpcnRoZGF5cyBhbmQga2l0dHkgcGFydGllcy4gUGFya2luZyBob2xkcyBtb3JlIHRoYW4gNTAgdmVoaWNsZXMuPC9wPjxidXR0b24gY2xhc3M9ImJ0biBidG4tbGluZSIgdHlwZT0iYnV0dG9uIiBpZD0iZXZBc2siIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkFzayBhYm91dCBhbiBldmVudDwvYnV0dG9uPjxkaXYgY2xhc3M9InBoIiBkYXRhLXBob3RvPSJ3ZWRkaW5nIiBkYXRhLXNlZWQ9IjEiIHN0eWxlPSJoZWlnaHQ6MjYwcHg7bWFyZ2luLXRvcDoyMnB4O2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJSI+PC9kaXY+PC9kaXY+CiAgICA8ZGl2PgogICAgICA8aDMgc3R5bGU9ImZvbnQtc2l6ZToyOHB4Ij5QbGFuIHlvdXIgZGF5cyB3aXRoIHVzPC9oMz4KICAgICAgPHAgc3R5bGU9ImNvbG9yOnZhcigtLW1pc3QyKTttYXJnaW46MTBweCAwIDE2cHgiPlRlbGwgdXMgaG93IG1hbnkgZGF5cyB5b3UgaGF2ZSBhbmQgd2hhdCB5b3VyIGdyb3VwIGVuam95cy4gV2UgYnVpbGQgYW4gaXRpbmVyYXJ5IGFyb3VuZCB0aGUgcmVzb3J0IGFuZCB0aGUgc2lnaHRzIG5lYXJieS48L3A+CiAgICAgIDxkaXYgY2xhc3M9InJvdyI+PGlucHV0IGlkPSJwbGFuSW4iIHR5cGU9InRleHQiIGFyaWEtbGFiZWw9Ikl0aW5lcmFyeSByZXF1ZXN0IiBwbGFjZWhvbGRlcj0iRm9yIGV4YW1wbGU6IDMgZGF5cywgZmFtaWx5IHdpdGgga2lkcywgbGlrZXMgdGVtcGxlcyBhbmQgZWFzeSB3YWxrcyI+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0icGxhbkdvIiB0eXBlPSJidXR0b24iPkJ1aWxkIGl0aW5lcmFyeTwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwbGFuLW91dCIgaWQ9InBsYW5PdXQiIGFyaWEtbGl2ZT0icG9saXRlIj5Zb3VyIGl0aW5lcmFyeSBhcHBlYXJzIGhlcmUuPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMgYmFuZCIgaWQ9InBhcnR5IiBzdHlsZT0icGFkZGluZy10b3A6ODBweCI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjIwcHgiPgogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyMHB4Ij4KICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9InBMYW5nRW4iIHN0eWxlPSJwYWRkaW5nOjhweCAyMHB4O2ZvbnQtc2l6ZToxM3B4Ij5FbmdsaXNoPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxpbmUiIGlkPSJwTGFuZ0hpIiBzdHlsZT0icGFkZGluZzo4cHggMjBweDtmb250LXNpemU6MTNweCI+4KS54KS\/4KSo4KWN4KSm4KWAPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJwSW50cm9FbiI+PHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlBhcnR5ICZhbXA7IENlbGVicmF0aW9uczwvc3Bhbj48aDI+SG9zdCB5b3VyIGV2ZW50IGF0IE5hcm8gRWNvIFJlc29ydDwvaDI+PHA+RnJvbSBiaXJ0aGRheXMgYW5kIGtpdHR5IHBhcnRpZXMgdG8gZnVsbCBkZXN0aW5hdGlvbiB3ZWRkaW5ncywgb3VyIHRlYW0gcGxhbnMgaXQgd2l0aCB5b3UuIE1pbmltdW0gZ3JvdXAgc2l6ZSBpcyA1MCBndWVzdHMuIEFsbCBwYWNrYWdlcyBiZWxvdyBhcmUgdmVnZXRhcmlhbi48L3A+PC9kaXY+CiAgICAgIDxkaXYgaWQ9InBJbnRyb0hpIiBzdHlsZT0iZGlzcGxheTpub25lIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+4KSq4KS+4KSw4KWN4KSf4KWAIOCklOCksCDgpIngpKTgpY3gpLjgpLU8L3NwYW4+PGgyPuCkqOCkvuCksOCliyDgpIfgpJXgpYsg4KSw4KS\/4KSc4KS84KWJ4KSw4KWN4KSfIOCkruClh+CkgiDgpIXgpKrgpKjgpL4g4KSG4KSv4KWL4KSc4KSoIOCkleCksOClh+CkgjwvaDI+PHA+4KSc4KSo4KWN4KSu4KSm4KS\/4KSoIOCklOCksCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWAIOCkuOClhyDgpLLgpYfgpJXgpLAg4KSq4KWC4KSw4KWN4KSjIOCkoeClh+CkuOCljeCkn+Ckv+CkqOClh+CktuCkqCDgpLbgpL7gpKbgpYAg4KSk4KSVLCDgpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkhuCkquCkleClhyDgpLjgpL7gpKUg4KSu4KS\/4KSy4KSV4KSwIOCkr+Cli+CknOCkqOCkviDgpKzgpKjgpL7gpKTgpYAg4KS54KWI4KWkIOCkqOCljeCkr+ClguCkqOCkpOCkriDgpLjgpK7gpYLgpLkg4KSG4KSV4KS+4KSwIDUwIOCkruClh+CkueCkruCkvuCkqCDgpLngpYjgpaQg4KSo4KWA4KSa4KWHIOCkpuCkv+CkjyDgpJfgpI8g4KS44KSt4KWAIOCkquCliOCkleClh+CknCDgpLbgpL7gpJXgpL7gpLngpL7gpLDgpYAg4KS54KWI4KSC4KWkPC9wPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJwQm9keUVuIj48ZGl2IGNsYXNzPSJwa2ctZ3JpZCI+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDE8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzUwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MyBWZWcgU3RhcnRlcnM8L2xpPjxsaT4zIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjIgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MiBTYWxhZHM8L2xpPjxsaT5Bc3NvcnRlZCBSb3RpIC8gQnJlYWQ8L2xpPjxsaT4yIFJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4yIERlc3NlcnRzPC9saT48L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBvbmNsaWNrPSJpZih3aW5kb3cubmFyb09wZW5UYXdrKW5hcm9PcGVuVGF3aygpOyI+Q2hhdCB3aXRoIHVzPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDI8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzAwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MyBWZWcgU3RhcnRlcnM8L2xpPjxsaT4yIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjIgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MSBTYWxhZDwvbGk+PGxpPkFzc29ydGVkIFJvdGkgLyBCcmVhZDwvbGk+PGxpPlJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4yIERlc3NlcnRzPC9saT48L3VsPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1kYXJrIiBvbmNsaWNrPSJpZih3aW5kb3cubmFyb09wZW5UYXdrKW5hcm9PcGVuVGF3aygpOyI+Q2hhdCB3aXRoIHVzPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icGtnLWNhcmQiPjxoND5QYWNrYWdlIDM8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NjUwPHNtYWxsPiAvIHBsYXRlPC9zbWFsbD48L2Rpdj48dWw+PGxpPjEgU291cCBvciBDb2xkIERyaW5rPC9saT48bGk+MiBWZWcgU3RhcnRlcnM8L2xpPjxsaT4yIFZlZyBNYWluIENvdXJzZTwvbGk+PGxpPjEgUmljZTwvbGk+PGxpPjEgRGFsPC9saT48bGk+MSBTYWxhZDwvbGk+PGxpPkFzc29ydGVkIFJvdGkgLyBCcmVhZDwvbGk+PGxpPlJhaXRhIC8gUGFwYWQgLyBDaHV0bmV5IC8gQWNoYXI8L2xpPjxsaT4xIERlc3NlcnQ8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij5DaGF0IHdpdGggdXM8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtZW51LW5vdGUiIHN0eWxlPSJtYXJnaW4tdG9wOjIycHgiPgogIDxoND5Hb29kIHRvIGtub3c8L2g0PgogIDx1bD4KICAgIDxsaT5QYXJ0eSBwbGFubmVyIGZvciBiaXJ0aGRheXMsIGtpdHR5IHBhcnRpZXMsIG1hcnJpYWdlIHBhcnRpZXMgYW5kIG1vcmUuPC9saT4KICAgIDxsaT5BZGRpdGlvbmFsIGxpdmUgZm9vZCBjb3VudGVyOiDigrk0LDAwMCBwZXIgY291bnRlci48L2xpPgogICAgPGxpPlZlbnVlIGNoYXJnZSAoYmlsbGVkIHNlcGFyYXRlbHksIGJ5IGhhbGwvZ3JvdW5kcyk6IOKCuTEsMDAsMDAwIG9yIOKCuTEsMjUsMDAwLjwvbGk+CiAgICA8bGk+TmFybyBpcyBhIHB1cmUtdmVnZXRhcmlhbiBwcm9wZXJ0eSAmbWRhc2g7IG5vIG5vbi12ZWdldGFyaWFuIGZvb2QgaXMgc2VydmVkIGhlcmUuPC9saT48bGk+T3V0c2lkZSBmb29kLCBpbmNsdWRpbmcgYW55IG5vbi12ZWdldGFyaWFuIGZvb2QsIGlzIG5vdCBwZXJtaXR0ZWQgYW55d2hlcmUgb24gdGhlIHByZW1pc2VzLjwvbGk+CiAgICA8bGk+NSUgdGF4IGlzIGFwcGxpY2FibGUgYW5kIGNoYXJnZWQgZXh0cmEgb24gYWxsIHByaWNlcyBhYm92ZS48L2xpPgogIDwvdWw+CjwvZGl2PjxkaXYgY2xhc3M9InBvbGljeS1ib3giPgogIDxoND5Cb29raW5nICZhbXA7IHBheW1lbnQgcnVsZXM8L2g0PgogIDxvbD4KICAgIDxsaT5BIDxzdHJvbmc+MjUlIGFkdmFuY2UgcGF5bWVudDwvc3Ryb25nPiBjb25maXJtcyB5b3VyIGRhdGUgYW5kIHBhY2thZ2UuPC9saT4KICAgIDxsaT5UaGUgcmVtYWluaW5nIDxzdHJvbmc+NzUlIGlzIGR1ZSBvbiB0aGUgZGF0ZTwvc3Ryb25nPiBvZiB0aGUgZXZlbnQsIHBhcnR5LCBmdW5jdGlvbiBvciB3ZWRkaW5nLjwvbGk+CiAgICA8bGk+VGhlIDI1JSBhZHZhbmNlIGlzIDxzdHJvbmc+c3RyaWN0bHkgbm9uLXJlZnVuZGFibGU8L3N0cm9uZz4uPC9saT4KICAgIDxsaT5OZWVkIHRvIGNoYW5nZSB5b3VyIGRhdGU\/IFBheSBhbiA8c3Ryb25nPmFkZGl0aW9uYWwgNSU8L3N0cm9uZz4gb24gdG9wIG9mIHRoZSBhZHZhbmNlIGFuZCB3ZSB3aWxsIHJlc2NoZWR1bGUgeW91ciBldmVudCB0byBhIG5ldyBhdmFpbGFibGUgZGF0ZSAmbWRhc2g7IG5vIGNhbmNlbGxhdGlvbiBuZWVkZWQuPC9saT4KICAgIDxsaT5NaW5pbXVtIGd1YXJhbnRlZTogNTAgZ3Vlc3RzLiBQcmljZXMgYXJlIHBlciBwbGF0ZTsgdmVudWUgY2hhcmdlLCB0YXggYW5kIGFueSBleHRyYSBjb3VudGVycyBhcmUgYmlsbGVkIHNlcGFyYXRlbHkuPC9saT4KICA8L29sPgo8L2Rpdj48L2Rpdj4KICAgIDxkaXYgaWQ9InBCb2R5SGkiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxkaXYgY2xhc3M9InBrZy1ncmlkIj48ZGl2IGNsYXNzPSJwa2ctY2FyZCI+PGg0PuCkquCliOCkleClh+CknCAxPC9oND48ZGl2IGNsYXNzPSJwa2ctcHJpY2UiPuKCuTc1MDxzbWFsbD4gLyDgpKrgpY3gpLLgpYfgpJ88L3NtYWxsPjwvZGl2Pjx1bD48bGk+MSDgpLjgpYLgpKog4KSv4KS+IOCkleCli+CksuCljeCkoSDgpKHgpY3gpLDgpL\/gpILgpJU8L2xpPjxsaT4zIOCkteClh+CknCDgpLjgpY3gpJ\/gpL7gpLDgpY3gpJ\/gpLA8L2xpPjxsaT4zIOCkteClh+CknCDgpK7gpYHgpJbgpY3gpK8g4KS14KWN4KSv4KSC4KSc4KSoPC9saT48bGk+MiDgpJrgpL7gpLXgpLI8L2xpPjxsaT4xIOCkpuCkvuCksjwvbGk+PGxpPjIg4KS44KSy4KS+4KSmPC9saT48bGk+4KSu4KS\/4KSV4KWN4KS4IOCksOCli+Ckn+ClgCAvIOCkrOCljeCksOClh+CkoTwvbGk+PGxpPjIg4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MiDgpK7gpL\/gpKDgpL7gpIfgpK\/gpL7gpIE8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InBrZy1jYXJkIj48aDQ+4KSq4KWI4KSV4KWH4KScIDI8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NzAwPHNtYWxsPiAvIOCkquCljeCksuClh+Cknzwvc21hbGw+PC9kaXY+PHVsPjxsaT4xIOCkuOClguCkqiDgpK\/gpL4g4KSV4KWL4KSy4KWN4KShIOCkoeCljeCksOCkv+CkguCklTwvbGk+PGxpPjMg4KS14KWH4KScIOCkuOCljeCkn+CkvuCksOCljeCkn+CksDwvbGk+PGxpPjIg4KS14KWH4KScIOCkruClgeCkluCljeCkryDgpLXgpY3gpK\/gpILgpJzgpKg8L2xpPjxsaT4yIOCkmuCkvuCkteCksjwvbGk+PGxpPjEg4KSm4KS+4KSyPC9saT48bGk+MSDgpLjgpLLgpL7gpKY8L2xpPjxsaT7gpK7gpL\/gpJXgpY3gpLgg4KSw4KWL4KSf4KWAIC8g4KSs4KWN4KSw4KWH4KShPC9saT48bGk+4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MiDgpK7gpL\/gpKDgpL7gpIfgpK\/gpL7gpIE8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InBrZy1jYXJkIj48aDQ+4KSq4KWI4KSV4KWH4KScIDM8L2g0PjxkaXYgY2xhc3M9InBrZy1wcmljZSI+4oK5NjUwPHNtYWxsPiAvIOCkquCljeCksuClh+Cknzwvc21hbGw+PC9kaXY+PHVsPjxsaT4xIOCkuOClguCkqiDgpK\/gpL4g4KSV4KWL4KSy4KWN4KShIOCkoeCljeCksOCkv+CkguCklTwvbGk+PGxpPjIg4KS14KWH4KScIOCkuOCljeCkn+CkvuCksOCljeCkn+CksDwvbGk+PGxpPjIg4KS14KWH4KScIOCkruClgeCkluCljeCkryDgpLXgpY3gpK\/gpILgpJzgpKg8L2xpPjxsaT4xIOCkmuCkvuCkteCksjwvbGk+PGxpPjEg4KSm4KS+4KSyPC9saT48bGk+MSDgpLjgpLLgpL7gpKY8L2xpPjxsaT7gpK7gpL\/gpJXgpY3gpLgg4KSw4KWL4KSf4KWAIC8g4KSs4KWN4KSw4KWH4KShPC9saT48bGk+4KSw4KS+4KSv4KSk4KS+IC8g4KSq4KS+4KSq4KSh4KS8IC8g4KSa4KSf4KSo4KWAIC8g4KSF4KSa4KS+4KSwPC9saT48bGk+MSDgpK7gpL\/gpKDgpL7gpIg8L2xpPjwvdWw+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWRhcmsiIG9uY2xpY2s9ImlmKHdpbmRvdy5uYXJvT3BlblRhd2spbmFyb09wZW5UYXdrKCk7Ij7gpLngpK7gpLjgpYcg4KSa4KWI4KSfIOCkleCksOClh+CkgjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9Im1lbnUtbm90ZSIgc3R5bGU9Im1hcmdpbi10b3A6MjJweCI+CiAgPGg0PuCknOCkvuCkqOCkqOClhyDgpK\/gpYvgpJfgpY3gpK8g4KSs4KS+4KSk4KWH4KSCPC9oND4KICA8dWw+CiAgICA8bGk+4KSc4KSo4KWN4KSu4KSm4KS\/4KSoLCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWALCDgpLbgpL7gpKbgpYAt4KSq4KS+4KSw4KWN4KSf4KWAIOCklOCksCDgpIXgpKjgpY3gpK8g4KSG4KSv4KWL4KSc4KSo4KWL4KSCIOCkleClhyDgpLLgpL\/gpI8g4KSq4KS+4KSw4KWN4KSf4KWAIOCkquCljeCksuCkvuCkqOCksCDgpIngpKrgpLLgpKzgpY3gpKfgpaQ8L2xpPgogICAgPGxpPuCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpLLgpL7gpIfgpLUg4KSr4KWC4KShIOCkleCkvuCkieCkguCkn+CksDog4oK5NCwwMDAg4KSq4KWN4KSw4KSk4KS\/IOCkleCkvuCkieCkguCkn+CksOClpDwvbGk+CiAgICA8bGk+4KS14KWH4KSo4KWN4KSv4KWCIOCktuClgeCksuCljeCklSAo4KSF4KSy4KSXIOCkuOClhyDgpKbgpYfgpK8sIOCkueClieCksi\/gpK7gpYjgpKbgpL7gpKgg4KSF4KSo4KWB4KS44KS+4KSwKTog4oK5MSwwMCwwMDAg4KSv4KS+IOKCuTEsMjUsMDAw4KWkPC9saT4KICAgIDxsaT7gpKjgpL7gpLDgpYsg4KSP4KSVIOCktuClgeCkpuCljeCkpyDgpLbgpL7gpJXgpL7gpLngpL7gpLDgpYAg4KS44KSC4KSq4KSk4KWN4KSk4KS\/IOCkueCliCAmbWRhc2g7IOCkr+CkueCkvuCkgSDgpJXgpYvgpIgg4KSu4KS+4KSC4KS44KS+4KS54KS+4KSw4KWAIOCkreCli+CknOCkqCDgpKjgpLngpYDgpIIg4KSq4KSw4KWL4KS44KS+IOCknOCkvuCkpOCkvuClpDwvbGk+PGxpPuCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KSV4KS54KWA4KSCIOCkreClgCDgpKzgpL7gpLngpLAg4KSV4KS+IOCkreCli+CknOCkqCwg4KSc4KS\/4KS44KSu4KWH4KSCIOCkruCkvuCkguCkuOCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSt4KWAIOCktuCkvuCkruCkv+CksiDgpLngpYgsIOCksuCkvuCkqOCkviDgpIXgpKjgpYHgpK7gpKTgpL8g4KSo4KS54KWA4KSCIOCkueCliOClpDwvbGk+CiAgICA8bGk+4KSK4KSq4KSwIOCkpuClgCDgpJfgpIgg4KS44KSt4KWAIOCkleClgOCkruCkpOCli+CkgiDgpKrgpLAgNSUg4KSV4KSwIOCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpLLgpL7gpJfgpYIg4KS54KWL4KSX4KS+4KWkPC9saT4KICA8L3VsPgo8L2Rpdj48ZGl2IGNsYXNzPSJwb2xpY3ktYm94Ij4KICA8aDQ+4KSs4KWB4KSV4KS\/4KSC4KSXIOCklOCksCDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KWHIOCkqOCkv+Ckr+CkrjwvaDQ+CiAgPG9sPgogICAgPGxpPuCkhuCkquCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSU4KSwIOCkquCliOCkleClh+CknCDgpJXgpYAg4KSq4KWB4KS34KWN4KSf4KS\/IOCkleClhyDgpLLgpL\/gpI8gPHN0cm9uZz4yNSUg4KSF4KSX4KWN4KSw4KS\/4KSuIOCkreClgeCkl+CkpOCkvuCkqDwvc3Ryb25nPiDgpIbgpLXgpLbgpY3gpK\/gpJUg4KS54KWI4KWkPC9saT4KICAgIDxsaT7gpLbgpYfgpLcgPHN0cm9uZz43NSUg4KSw4KS+4KS24KS\/IOCkhuCkr+Cli+CknOCkqC\/gpKrgpL7gpLDgpY3gpJ\/gpYAv4KSr4KSC4KSV4KWN4KS24KSoL+CktuCkvuCkpuClgCDgpJXgpYAg4KSk4KS+4KSw4KWA4KSWIOCkquCksCDgpKbgpYfgpK88L3N0cm9uZz4g4KS54KWL4KSX4KWA4KWkPC9saT4KICAgIDxsaT4yNSUg4KSF4KSX4KWN4KSw4KS\/4KSuIOCkreClgeCkl+CkpOCkvuCkqCA8c3Ryb25nPuCkquClguCksOCljeCko+CkpOCkgyDgpJfgpYjgpLAt4KS14KS+4KSq4KS44KWAIOCkr+Cli+Ckl+CljeCkryAobm9uLXJlZnVuZGFibGUpPC9zdHJvbmc+IOCkueCliOClpDwvbGk+CiAgICA8bGk+4KSk4KS+4KSw4KWA4KSWIOCkrOCkpuCksuCkqOClgCDgpLngpYg\/IOCkheCkl+CljeCksOCkv+CkriDgpJXgpYcg4KSK4KSq4KSwIDxzdHJvbmc+4KSF4KSk4KS\/4KSw4KS\/4KSV4KWN4KSkIDUlPC9zdHJvbmc+IOCkreClgeCkl+CkpOCkvuCkqCDgpJXgpLDgpYfgpIIg4KSU4KSwIOCkueCkriDgpIbgpKrgpJXgpYcg4KSG4KSv4KWL4KSc4KSoIOCkleCliyDgpJXgpL\/gpLjgpYAg4KSo4KSIIOCkieCkquCksuCkrOCljeCkpyDgpKTgpL7gpLDgpYDgpJYg4KSq4KSwIOCkquClgeCkqOCksOCljeCkqOCkv+CksOCljeCkp+CkvuCksOCkv+CkpCDgpJXgpLAg4KSm4KWH4KSC4KSX4KWHICZtZGFzaDsg4KSw4KSm4KWN4KSmIOCkleCksOCkqOClhyDgpJXgpYAg4KSG4KS14KS24KWN4KSv4KSV4KSk4KS+IOCkqOCkueClgOCkguClpDwvbGk+CiAgICA8bGk+4KSo4KWN4KSv4KWC4KSo4KSk4KSuIDUwIOCkruClh+CkueCkruCkvuCkqCDgpIbgpLXgpLbgpY3gpK\/gpJXgpaQg4KSV4KWA4KSu4KSk4KWH4KSCIOCkquCljeCksOCkpOCkvyDgpKrgpY3gpLLgpYfgpJ8g4KS54KWI4KSCOyDgpLXgpYfgpKjgpY3gpK\/gpYIg4KS24KWB4KSy4KWN4KSVLCDgpJXgpLAg4KSU4KSwIOCkheCkpOCkv+CksOCkv+CkleCljeCkpCDgpJXgpL7gpIngpILgpJ\/gpLAg4KSV4KS+IOCkreClgeCkl+CkpOCkvuCkqCDgpIXgpLLgpJcg4KS44KWHIOCkueCli+Ckl+CkvuClpDwvbGk+CiAgPC9vbD4KPC9kaXY+PC9kaXY+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjQwcHg7bWFyZ2luLXRvcDo0MHB4O2FsaWduLWl0ZW1zOnN0YXJ0IiBjbGFzcz0icGFydHktY29scyI+CiAgPGRpdj4KICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjI0cHg7bWFyZ2luLWJvdHRvbTo2cHgiPjxzcGFuIGNsYXNzPSJwZW4iPkNoZWNrIGEgZGF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKTgpL7gpLDgpYDgpJYg4KSm4KWH4KSW4KWH4KSCPC9zcGFuPjwvaDM+CiAgICA8cCBzdHlsZT0iY29sb3I6dmFyKC0tbWlzdDIpO2ZvbnQtc2l6ZToxNHB4Ij48c3BhbiBjbGFzcz0icGVuIj5UYXAgYSBkYXRlLCB0aGVuIGNoYXQgd2l0aCB1cyB0byBlbnF1aXJlLjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpI\/gpJUg4KSk4KS+4KSw4KWA4KSWIOCkmuClgeCkqOClh+Ckgiwg4KSr4KS\/4KSwIOCkueCkruCkuOClhyDgpJrgpYjgpJ8g4KSV4KSw4KWH4KSC4KWkPC9zcGFuPjwvcD4KICAgIDxkaXYgY2xhc3M9ImV2Y2FsIiBpZD0iZXZjYWwiPgogIDxkaXYgY2xhc3M9ImV2Y2FsLWhlYWQiPgogICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJldmNhbFByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIG1vbnRoIj4mbHNhcXVvOzwvYnV0dG9uPgogICAgPHNwYW4gaWQ9ImV2Y2FsVGl0bGUiPjwvc3Bhbj4KICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZXZjYWxOZXh0IiBhcmlhLWxhYmVsPSJOZXh0IG1vbnRoIj4mcnNhcXVvOzwvYnV0dG9uPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImV2Y2FsLWdyaWQiIGlkPSJldmNhbEdyaWQiPjwvZGl2PgogIDxkaXYgY2xhc3M9ImV2Y2FsLXBpY2tlZCIgaWQ9ImV2Y2FsUGlja2VkIj48L2Rpdj4KICA8YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBpZD0iZXZjYWxCdG4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4O3dpZHRoOjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Om5vbmUiIGhyZWY9IiMiPkVucXVpcmUgZm9yIHRoaXMgZGF0ZTwvYT4KPC9kaXY+CiAgPC9kaXY+CiAgPGRpdj4KICAgIDxoMyBzdHlsZT0iZm9udC1zaXplOjI0cHg7bWFyZ2luLWJvdHRvbToxNnB4Ij48c3BhbiBjbGFzcz0icGVuIj5Gcm9tIHBhc3QgY2VsZWJyYXRpb25zPC9zcGFuPjxzcGFuIGNsYXNzPSJwaGkiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPuCkquCkv+Ckm+CksuClhyDgpIbgpK\/gpYvgpJzgpKjgpYvgpIIg4KSV4KWAIOCkneCksuCklTwvc3Bhbj48L2gzPgogICAgPGRpdiBjbGFzcz0iZ2FsbGVyeSI+PGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgc3R5bGU9ImhlaWdodDoxODBweDtib3JkZXItcmFkaXVzOjE0cHg7b3ZlcmZsb3c6aGlkZGVuIj48aW1nIHNyYz0iaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS9XaGF0c0FwcC1JbWFnZS0yMDI1LTA3LTAxLWF0LTExLjU5LjM4LVBNLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+V2VkZGluZyBtYW5kYXAgc2V0dXA8L3NwYW4+PHNwYW4gY2xhc3M9InBoaSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+4KS24KS+4KSm4KWAIOCkruCkguCkoeCkqiDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zOS1QTS0yLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+RmxvcmFsIG1hbmRhcCBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKvgpYLgpLLgpYvgpIIg4KS44KWHIOCkruCkguCkoeCkqiDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS40MC1QTS1uYXJvLXdtLmpwZyIgYWx0PSIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXIiPjwvZGl2PjxmaWdjYXB0aW9uPjxzcGFuIGNsYXNzPSJwZW4iPkZ1bmN0aW9uIGxpZ2h0aW5nIGFuZCBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpKvgpILgpJXgpY3gpLbgpKgg4KSy4KS+4KSH4KSf4KS\/4KSC4KSXIOCklOCksCDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIHN0eWxlPSJoZWlnaHQ6MTgwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbiI+PGltZyBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zNy1QTS0xLW5hcm8td20uanBnIiBhbHQ9IiIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3ZlciI+PC9kaXY+PGZpZ2NhcHRpb24+PHNwYW4gY2xhc3M9InBlbiI+V2VkZGluZyBlbnRyYW5jZSBkZWNvcjwvc3Bhbj48c3BhbiBjbGFzcz0icGhpIiBzdHlsZT0iZGlzcGxheTpub25lIj7gpLbgpL7gpKbgpYAg4KSq4KWN4KSw4KS14KWH4KS2IOCkpuCljeCkteCkvuCksCDgpLjgpJzgpL7gpLXgpJ88L3NwYW4+PC9maWdjYXB0aW9uPjwvZmlndXJlPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2NyaXB0PihmdW5jdGlvbigpewogIHZhciBNT05fRU49WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdOwogIHZhciBNT05fSEk9WyLgpJzgpKjgpLXgpLDgpYAiLCLgpKvgpLzgpLDgpLXgpLDgpYAiLCLgpK7gpL7gpLDgpY3gpJoiLCLgpIXgpKrgpY3gpLDgpYjgpLIiLCLgpK7gpIgiLCLgpJzgpYLgpKgiLCLgpJzgpYHgpLLgpL7gpIgiLCLgpIXgpJfgpLjgpY3gpKQiLCLgpLjgpL\/gpKTgpILgpKzgpLAiLCLgpIXgpJXgpY3gpJ\/gpYLgpKzgpLAiLCLgpKjgpLXgpILgpKzgpLAiLCLgpKbgpL\/gpLjgpILgpKzgpLAiXTsKICB2YXIgRE9XX0VOPVsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXTsKICB2YXIgRE9XX0hJPVsi4KSwIiwi4KS44KWLIiwi4KSu4KSCIiwi4KSs4KWBIiwi4KSX4KWBIiwi4KS24KWBIiwi4KS2Il07CiAgdmFyIGxhbmcgPSAnZW4nOwogIHZhciB2aWV3ID0gbmV3IERhdGUoKTsgdmlldy5zZXREYXRlKDEpOwogIHZhciBwaWNrZWQgPSBudWxsOwogIHZhciB0aXRsZUVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFRpdGxlJyksIGdyaWRFbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZjYWxHcmlkJyksIHBpY2tlZEVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFBpY2tlZCcpLCBidG5FbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXZjYWxCdG4nKTsKICBmdW5jdGlvbiByZW5kZXIoKXsKICAgIHZhciB5PXZpZXcuZ2V0RnVsbFllYXIoKSwgbT12aWV3LmdldE1vbnRoKCk7CiAgICB2YXIgTU9OID0gbGFuZz09PSdoaSc\/TU9OX0hJOk1PTl9FTiwgRE9XID0gbGFuZz09PSdoaSc\/RE9XX0hJOkRPV19FTjsKICAgIHRpdGxlRWwudGV4dENvbnRlbnQgPSBNT05bbV0gKyAnICcgKyB5OwogICAgdmFyIGZpcnN0ID0gbmV3IERhdGUoeSxtLDEpLmdldERheSgpOwogICAgdmFyIGRheXMgPSBuZXcgRGF0ZSh5LG0rMSwwKS5nZXREYXRlKCk7CiAgICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgpOyB0b2RheS5zZXRIb3VycygwLDAsMCwwKTsKICAgIHZhciBodG1sID0gRE9XLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gJzxzcGFuIGNsYXNzPSJkb3ciPicrZCsnPC9zcGFuPic7fSkuam9pbignJyk7CiAgICBmb3IodmFyIGk9MDtpPGZpcnN0O2krKykgaHRtbCArPSAnPGJ1dHRvbiBkaXNhYmxlZD48L2J1dHRvbj4nOwogICAgZm9yKHZhciBkPTE7IGQ8PWRheXM7IGQrKyl7CiAgICAgIHZhciBkdCA9IG5ldyBEYXRlKHksbSxkKTsKICAgICAgdmFyIGRpc2FibGVkID0gZHQgPCB0b2RheTsKICAgICAgdmFyIHNlbCA9IHBpY2tlZCAmJiBkdC5nZXRUaW1lKCk9PT1waWNrZWQuZ2V0VGltZSgpOwogICAgICBodG1sICs9ICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS1kPSInK2QrJyIgJysoZGlzYWJsZWQ\/J2Rpc2FibGVkJzonJykrJyBjbGFzcz0iJysoc2VsPydzZWwnOicnKSsnIj4nK2QrJzwvYnV0dG9uPic7CiAgICB9CiAgICBncmlkRWwuaW5uZXJIVE1MID0gaHRtbDsKICAgIFtdLmZvckVhY2guY2FsbChncmlkRWwucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uW2RhdGEtZF0nKSwgZnVuY3Rpb24oYil7CiAgICAgIGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpewogICAgICAgIHBpY2tlZCA9IG5ldyBEYXRlKHksbSxwYXJzZUludChiLmdldEF0dHJpYnV0ZSgnZGF0YS1kJyksMTApKTsKICAgICAgICByZW5kZXIoKTsgc2hvd1BpY2tlZCgpOwogICAgICB9KTsKICAgIH0pOwogIH0KICBmdW5jdGlvbiBzaG93UGlja2VkKCl7CiAgICBpZighcGlja2VkKXsgcGlja2VkRWwudGV4dENvbnRlbnQ9Jyc7IGJ0bkVsLnN0eWxlLmRpc3BsYXk9J25vbmUnOyByZXR1cm47IH0KICAgIHZhciBNT04gPSBsYW5nPT09J2hpJz9NT05fSEk6TU9OX0VOOwogICAgdmFyIGxhYmVsID0gcGlja2VkLmdldERhdGUoKSArICcgJyArIE1PTltwaWNrZWQuZ2V0TW9udGgoKV0gKyAnICcgKyBwaWNrZWQuZ2V0RnVsbFllYXIoKTsKICAgIHBpY2tlZEVsLmlubmVySFRNTCA9IChsYW5nPT09J2hpJyA\/ICfgpJrgpK\/gpKjgpL\/gpKQg4KSk4KS+4KSw4KWA4KSWOiAnIDogJ1NlbGVjdGVkIGRhdGU6ICcpICsgJzxiPicrbGFiZWwrJzwvYj4nOwogICAgYnRuRWwuc3R5bGUuZGlzcGxheT0naW5saW5lLWZsZXgnOwogICAgYnRuRWwudGV4dENvbnRlbnQgPSBsYW5nPT09J2hpJyA\/ICfgpIfgpLgg4KSk4KS+4KSw4KWA4KSWIOCkleClhyDgpLLgpL\/gpI8g4KSq4KWC4KSb4KSk4KS+4KSbIOCkleCksOClh+CkgicgOiAnRW5xdWlyZSBmb3IgdGhpcyBkYXRlJzsKICAgIHZhciBtc2cgPSBsYW5nPT09J2hpJyA\/ICgn4KSo4KSu4KS44KWN4KSk4KWHLCDgpK7gpYjgpIIgJytsYWJlbCsnIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSV4KWHIOCksuCkv+CkjyDgpI\/gpJUg4KSq4KS+4KSw4KWN4KSf4KWAL+CkhuCkr+Cli+CknOCkqCDgpKzgpYHgpJUg4KSV4KSw4KSo4KS+IOCkmuCkvuCkueCkpOCkvi\/gpJrgpL7gpLngpKTgpYAg4KS54KWC4KSB4KWkJykgOiAoJ0hlbGxvIE5hcm8gRWNvIFJlc29ydCwgSSB3b3VsZCBsaWtlIHRvIGVucXVpcmUgYWJvdXQgaG9zdGluZyBhbiBldmVudCBvbiAnK2xhYmVsKycuJyk7CiAgICBidG5FbC5ocmVmID0gJyMnOyBidG5FbC5vbmNsaWNrID0gZnVuY3Rpb24oZSl7IGUucHJldmVudERlZmF1bHQoKTsgaWYod2luZG93Lm5hcm9PcGVuVGF3aykgbmFyb09wZW5UYXdrKCk7IH07CiAgfQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdldmNhbFByZXYnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHZpZXcuc2V0TW9udGgodmlldy5nZXRNb250aCgpLTEpOyByZW5kZXIoKTsgfSk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V2Y2FsTmV4dCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oKXsgdmlldy5zZXRNb250aCh2aWV3LmdldE1vbnRoKCkrMSk7IHJlbmRlcigpOyB9KTsKICB3aW5kb3cuX19zZXRFdmNhbExhbmcgPSBmdW5jdGlvbihsKXsgbGFuZz1sOyByZW5kZXIoKTsgc2hvd1BpY2tlZCgpOyB9OwogIHJlbmRlcigpOwp9KSgpOzwvc2NyaXB0Pgo8c2NyaXB0PihmdW5jdGlvbigpewogIHZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwTGFuZ0VuJyksIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BMYW5nSGknKTsKICB2YXIgaUVuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwSW50cm9FbicpLCBpSGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BJbnRyb0hpJyk7CiAgdmFyIGJFbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncEJvZHlFbicpLCBiSGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BCb2R5SGknKTsKICB2YXIgcGVuc1NlY3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydHknKTsKICBmdW5jdGlvbiBzZXRMYW5nKGwpewogICAgaWYobD09PSdoaScpeyBpRW4uc3R5bGUuZGlzcGxheT0nbm9uZSc7IGlIaS5zdHlsZS5kaXNwbGF5PScnOyBiRW4uc3R5bGUuZGlzcGxheT0nbm9uZSc7IGJIaS5zdHlsZS5kaXNwbGF5PScnOyBoLmNsYXNzTmFtZT0nYnRuIGJ0bi1nb2xkJzsgZS5jbGFzc05hbWU9J2J0biBidG4tbGluZSc7IH0KICAgIGVsc2UgeyBpSGkuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGlFbi5zdHlsZS5kaXNwbGF5PScnOyBiSGkuc3R5bGUuZGlzcGxheT0nbm9uZSc7IGJFbi5zdHlsZS5kaXNwbGF5PScnOyBlLmNsYXNzTmFtZT0nYnRuIGJ0bi1nb2xkJzsgaC5jbGFzc05hbWU9J2J0biBidG4tbGluZSc7IH0KICAgIHZhciBwZW5zID0gcGVuc1NlY3Rpb24ucXVlcnlTZWxlY3RvckFsbCgnLnBlbicpLCBwaGlzID0gcGVuc1NlY3Rpb24ucXVlcnlTZWxlY3RvckFsbCgnLnBoaScpOwogICAgZm9yKHZhciBpPTA7aTxwZW5zLmxlbmd0aDtpKyspIHBlbnNbaV0uc3R5bGUuZGlzcGxheSA9IChsPT09J2hpJykgPyAnbm9uZScgOiAnJzsKICAgIGZvcih2YXIgaT0wO2k8cGhpcy5sZW5ndGg7aSsrKSBwaGlzW2ldLnN0eWxlLmRpc3BsYXkgPSAobD09PSdoaScpID8gJycgOiAnbm9uZSc7CiAgICBpZih3aW5kb3cuX19zZXRFdmNhbExhbmcpIHdpbmRvdy5fX3NldEV2Y2FsTGFuZyhsKTsKICB9CiAgZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHNldExhbmcoJ2VuJyk7IH0pOwogIGguYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbigpeyBzZXRMYW5nKCdoaScpOyB9KTsKfSkoKTs8L3NjcmlwdD4KPHN0eWxlPkBtZWRpYShtYXgtd2lkdGg6NzYwcHgpey5wYXJ0eS1jb2xze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIhaW1wb3J0YW50fX08L3N0eWxlPjxzZWN0aW9uIGNsYXNzPSJzIGJhbmQiIGlkPSJleHBsb3JlIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InNwbGl0Ij4KICAgICAgPGRpdiBjbGFzcz0icy1oZWFkIiBzdHlsZT0ibWFyZ2luOjAiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5HZXR0aW5nIGFyb3VuZDwvc3Bhbj48aDI+Q2xvc2UgdG8gS2Fsc2ksIENoYWtyYXRhLCBNdXNzb29yaWUgYW5kIFJlbnVrYTwvaDI+PHA+V2UgYXJlIG9uIHRoZSBZYW11bm90cmkgSGlnaHdheSBuZWFyIFZpa2FzIE5hZ2FyLiBIaXN0b3J5LCByaXZlcnMsIGhpbGwgdG93bnMsIGxha2VzIGFuZCB0ZW1wbGVzIGFyZSBhbGwgd2l0aGluIGEgZGF5IHRyaXAuIFRhcCBBc2sgTmFybyBTdXJ5YSBuZXh0IHRvIGFueSBwbGFjZSBhbmQgaGUgd2lsbCB0ZWxsIHlvdSB3aHkgaXQgaXMgd29ydGggYSB2aXNpdCwgcmlnaHQgaGVyZSBvbiB0aGlzIHBhZ2UuPC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1nb2xkIGFza2J0biIgZGF0YS1hc2s9IldoYXQgcGxhY2VzIGNhbiBJIHZpc2l0IG5lYXJieT8iIHN0eWxlPSJqdXN0aWZ5LXNlbGY6c3RhcnQiPkFzayBOYXJvIFN1cnlhIGFib3V0IHBsYWNlczwvYnV0dG9uPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJiYXJzIiByb2xlPSJsaXN0IiBhcmlhLWxhYmVsPSJEaXN0YW5jZXMgZnJvbSB0aGUgcmVzb3J0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5KYWdhdGdyYW0sIEFzaHdhbWVkaGEgc2l0ZTwvc3Bhbj48c3Bhbj41IGttPC9zcGFuPjwvZGl2PjxpIHN0eWxlPSItLXc6NSUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5Bc2hva2EgUm9jayBFZGljdHMsIEthbHNpPC9zcGFuPjxzcGFuPjYga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo2JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkRha3BhdGhhciBCYXJyYWdlPC9zcGFuPjxzcGFuPjgga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo4JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk1hYSBCYWdhbGFtdWtoaSBEZXZpIFRlbXBsZSwgVmlrYXNuYWdhcjwvc3Bhbj48c3Bhbj4xMyBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjE0JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkdhbmdiaGV3YSBCYXdkaSwgR2F1dGFtIFJpc2hpIFRlbXBsZTwvc3Bhbj48c3Bhbj4xNiBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjE3JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkFzYW4gQmFycmFnZSwgYm9hdGluZyBhbmQgYmlyZHdhdGNoaW5nPC9zcGFuPjxzcGFuPjI1IGttPC9zcGFuPjwvZGl2PjxpIHN0eWxlPSItLXc6MjYlIj48L2k+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFyIiByb2xlPSJsaXN0aXRlbSI+PGRpdiBjbGFzcz0idCI+PHNwYW4+RGVocmFkdW48L3NwYW4+PHNwYW4+NDUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo0NyUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5DaGFrcmF0YTwvc3Bhbj48c3Bhbj40NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13OjQ3JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPlJlbnVrYSBKaGVlbDwvc3Bhbj48c3Bhbj43MCBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc0JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPkphbWFkYWduaSBUZW1wbGUsIEphbXUgUGVhazwvc3Bhbj48c3Bhbj43NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc5JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk11c3Nvb3JpZTwvc3Bhbj48c3Bhbj43NSBrbTwvc3Bhbj48L2Rpdj48aSBzdHlsZT0iLS13Ojc5JSI+PC9pPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJhciIgcm9sZT0ibGlzdGl0ZW0iPjxkaXYgY2xhc3M9InQiPjxzcGFuPk5haGFuIEZvc3NpbCBQYXJrLCBTdWtldGk8L3NwYW4+PHNwYW4+ODUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzo4OSUiPjwvaT48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYXIiIHJvbGU9Imxpc3RpdGVtIj48ZGl2IGNsYXNzPSJ0Ij48c3Bhbj5SaXNoaWtlc2g8L3NwYW4+PHNwYW4+OTUga208L3NwYW4+PC9kaXY+PGkgc3R5bGU9Ii0tdzoxMDAlIj48L2k+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJnYWxsZXJ5Ij4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0iZ2F0ZSIgZGF0YS1zZWVkPSIyIj48L2Rpdj48ZmlnY2FwdGlvbj5UaGUgZW50cmFuY2U8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89ImNvdHRhZ2UiIGRhdGEtc2VlZD0iMyI+PC9kaXY+PGZpZ2NhcHRpb24+Q290dGFnZXMgYW5kIGdhcmRlbjwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0ibGF3biIgZGF0YS1zZWVkPSI0Ij48L2Rpdj48ZmlnY2FwdGlvbj5HYXJkZW4gcGF0aHM8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89ImRpbmluZyIgZGF0YS1zZWVkPSI1Ij48L2Rpdj48ZmlnY2FwdGlvbj5OYXJvIFJlc3RhdXJhbnQ8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CiAgICAgIDxmaWd1cmU+PGRpdiBjbGFzcz0icGgiIGRhdGEtcGhvdG89IndlZGRpbmciIGRhdGEtc2VlZD0iMSI+PC9kaXY+PGZpZ2NhcHRpb24+V2VkZGluZyBzZXR1cDwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgICAgPGZpZ3VyZT48ZGl2IGNsYXNzPSJwaCIgZGF0YS1waG90bz0icm9vbTIiIGRhdGEtc2VlZD0iMiI+PC9kaXY+PGZpZ2NhcHRpb24+QSBkb3VibGUgcm9vbTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icmVhY2giPgogICAgICA8ZGl2IGNsYXNzPSJtYXBjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXBhcnQiIHJvbGU9ImltZyIgYXJpYS1sYWJlbD0iU2tldGNoIG1hcCBzaG93aW5nIHRoZSByZXNvcnQgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IGJldHdlZW4gRGVocmFkdW4gYW5kIHRoZSBoaWxscyI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCA0ODAgMzAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBzbGljZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iNDgwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iIzBmMmEyMiIvPgogICAgICAgICAgICA8ZyBzdHJva2U9IiMxZDQ0MzgiIHN0cm9rZS13aWR0aD0iMSI+PHBhdGggZD0iTTAgNjBINDgwTTAgMTIwSDQ4ME0wIDE4MEg0ODBNMCAyNDBINDgwTTgwIDBWMzAwTTE2MCAwVjMwME0yNDAgMFYzMDBNMzIwIDBWMzAwTTQwMCAwVjMwMCIvPjwvZz4KICAgICAgICAgICAgPHBhdGggZD0iTS0xMCAyNTAgQzkwIDIxMCAxNTAgMjQwIDI0MCAxOTAgUzQwMCAxMTAgNTAwIDEzMCIgc3Ryb2tlPSIjNjNiN2IwIiBzdHJva2Utd2lkdGg9IjciIGZpbGw9Im5vbmUiIG9wYWNpdHk9Ii41NSIvPgogICAgICAgICAgICA8cGF0aCBkPSJNLTEwIDI4MCBDMTIwIDIzMCAyMDAgMTkwIDI2MCAxNTAgUzQwMCA2MCA1MDAgNDAiIHN0cm9rZT0iI2U4ZjBlYSIgc3Ryb2tlLXdpZHRoPSI1IiBmaWxsPSJub25lIiBvcGFjaXR5PSIuODUiLz4KICAgICAgICAgICAgPHBhdGggZD0iTS0xMCAyODAgQzEyMCAyMzAgMjAwIDE5MCAyNjAgMTUwIFM0MDAgNjAgNTAwIDQwIiBzdHJva2U9IiMwZjJhMjIiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtZGFzaGFycmF5PSIxMCA5IiBmaWxsPSJub25lIi8+CiAgICAgICAgICAgIDxnIGZpbGw9IiNlZmJmNjIiPjxjaXJjbGUgY3g9IjI2MiIgY3k9IjE1MCIgcj0iOSIvPjxjaXJjbGUgY3g9IjI2MiIgY3k9IjE1MCIgcj0iMjAiIG9wYWNpdHk9Ii4yMiIvPjwvZz4KICAgICAgICAgICAgPGcgZmlsbD0iI2U4ZjBlYSIgZm9udC1mYW1pbHk9Ikdlb3JnaWEsc2VyaWYiPjx0ZXh0IHg9IjI3OCIgeT0iMTQ2IiBmb250LXNpemU9IjE1Ij5OYXJvIEVjbyBSZXNvcnQ8L3RleHQ+PHRleHQgeD0iMzAiIHk9IjI3MCIgZm9udC1zaXplPSIxMiIgb3BhY2l0eT0iLjgiPlRvd2FyZHMgRGVocmFkdW4sIDQ1IGttPC90ZXh0Pjx0ZXh0IHg9IjMzMCIgeT0iNTAiIGZvbnQtc2l6ZT0iMTIiIG9wYWNpdHk9Ii44Ij5ZYW11bm90cmkgSGlnaHdheTwvdGV4dD48L2c+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJtYXBub3RlIj5Ta2V0Y2gsIG5vdCB0byBzY2FsZTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXBidG5zIj48YSBjbGFzcz0iYnRuIGJ0bi1nb2xkIiBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvc2VhcmNoLz9hcGk9MSZxdWVyeT1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5PcGVuIGluIEdvb2dsZSBNYXBzPC9hPjxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJmRlc3RpbmF0aW9uPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zIHRvIHRoZSByZXNvcnQ8L2E+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dWwgY2xhc3M9ImRpcnMiIGFyaWEtbGFiZWw9Ik5lYXJieSBwbGFjZXMgd2l0aCBkaXJlY3Rpb25zIGZyb20gdGhlIHJlc29ydCI+CiAgICAgICAgPGxpPjxzcGFuPkphZ2F0Z3JhbSwgQXNod2FtZWRoYSBzaXRlPHNtYWxsPjUga20sIGFib3V0IDE1IG1pbnV0ZXM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBKYWdhdGdyYW0iPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1KYWdhdGdyYW0rQmFyd2FsYStWaWthc25hZ2FyK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkFzaG9rYSBSb2NrIEVkaWN0cywgS2Fsc2k8c21hbGw+NiBrbSwgYWJvdXQgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEthbHNpIHJvY2sgZWRpY3QiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1Bc2hva2ErUm9jaytFZGljdHMrS2Fsc2krVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+RGFrcGF0aGFyIEJhcnJhZ2U8c21hbGw+OCBrbSwgYWJvdXQgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IERha3BhdGhhciI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPURha3BhdGhhcitCYXJyYWdlK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkFzYW4gQmFycmFnZSwgYm9hdGluZyBhbmQgYmlyZHdhdGNoaW5nPHNtYWxsPjI1IGttLCBhYm91dCA0MCBtaW51dGVzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgQXNhbiBCYXJyYWdlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249QXNhbitCYXJyYWdlK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkRlaHJhZHVuPHNtYWxsPjQ1IGttLCBhYm91dCAxIGhvdXIgMTUgbWludXRlczwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IERlaHJhZHVuIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249RGVocmFkdW4rVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+Q2hha3JhdGE8c21hbGw+NDUga20sIGFib3V0IDEgaG91ciAxNSBtaW51dGVzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgQ2hha3JhdGEiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1DaGFrcmF0YStVdHRhcmFraGFuZCZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zPC9hPjwvc3Bhbj48L2xpPgogICAgICAgIDxsaT48c3Bhbj5SZW51a2EgSmhlZWw8c21hbGw+NzAga20sIGFib3V0IDIgdG8gMi41IGhvdXJzPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgUmVudWthIEpoZWVsIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249UmVudWthK0xha2UrU2lybWF1citIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPkphbWFkYWduaSBUZW1wbGUsIEphbXUgUGVhazxzbWFsbD43NSBrbSwgYWJvdXQgMiB0byAyLjUgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBKYW1hZGFnbmkgdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249SmFtdStQZWFrK1JlbnVrYStKaStIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPk11c3Nvb3JpZTxzbWFsbD43NSBrbSwgYWJvdXQgMiB0byAyLjUgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBNdXNzb29yaWUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1NdXNzb29yaWUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TmFoYW4gRm9zc2lsIFBhcmssIFN1a2V0aTxzbWFsbD44NSBrbSwgYWJvdXQgMi41IHRvIDMgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBOYWhhbiBGb3NzaWwgUGFyayI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPVN1a2V0aStGb3NzaWwrUGFyaytOYWhhbitIaW1hY2hhbCtQcmFkZXNoJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgICAgPGxpPjxzcGFuPlJpc2hpa2VzaDxzbWFsbD45NSBrbSwgYWJvdXQgMi41IHRvIDMgaG91cnM8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBSaXNoaWtlc2giPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1SaXNoaWtlc2grVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TWFoYXN1IFRlbXBsZTxzbWFsbD5Bc2sgdXMgZm9yIHRoZSBiZXN0IHJvdXRlPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgTWFoYXN1IHRlbXBsZSI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPU1haGFzdStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+QmhhZHJhaiBUZW1wbGU8c21hbGw+QXNrIHVzIGZvciB0aGUgYmVzdCByb3V0ZTwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEJoYWRyYWogdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249QmhhZHJhaitUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+QmhhZHJhIEthbGkgVGVtcGxlPHNtYWxsPkFzayB1cyBmb3IgdGhlIGJlc3Qgcm91dGU8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBCaGFkcmEgS2FsaSB0ZW1wbGUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj1CaGFkcmErS2FsaStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+U3dheWFtYmh1IFNoaXZhIFRlbXBsZTxzbWFsbD5Bc2sgdXMgZm9yIHRoZSBiZXN0IHJvdXRlPC9zbWFsbD48L3NwYW4+PHNwYW4gY2xhc3M9ImRidG5zIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImFza2J0biIgZGF0YS1hc2s9IlRlbGwgbWUgYWJvdXQgU3dheWFtYmh1IFNoaXZhIHRlbXBsZSI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj48YSBocmVmPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSZvcmlnaW49TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJmRlc3RpbmF0aW9uPVN3YXlhbWJodStTaGl2YStUZW1wbGUrVXR0YXJha2hhbmQmdHJhdmVsbW9kZT1kcml2aW5nIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+RGlyZWN0aW9uczwvYT48L3NwYW4+PC9saT4KICAgICAgICA8bGk+PHNwYW4+TWFhIEJhZ2FsYW11a2hpIERldmkgVGVtcGxlLCBWaWthc25hZ2FyPHNtYWxsPjEzIGttLCBhYm91dCAzMCBtaW51dGVzIMK3IENoYWtyYXRhIFJvYWQ8L3NtYWxsPjwvc3Bhbj48c3BhbiBjbGFzcz0iZGJ0bnMiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYXNrYnRuIiBkYXRhLWFzaz0iVGVsbCBtZSBhYm91dCBCYWdhbGFtdWtoaSB0ZW1wbGUiPkFzayBOYXJvIFN1cnlhPC9idXR0b24+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmb3JpZ2luPU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCZkZXN0aW5hdGlvbj0zMC40NzY1Niw3Ny43NDc4MSZ0cmF2ZWxtb2RlPWRyaXZpbmciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5EaXJlY3Rpb25zPC9hPjwvc3Bhbj48L2xpPgogICAgICAgIDxsaT48c3Bhbj5HYW5nYmhld2EgQmF3ZGksIEdhdXRhbSBSaXNoaSBUZW1wbGUgKFRhbGFiIE1hbmRpcik8c21hbGw+MTYga20sIGFib3V0IDM1IG1pbnV0ZXMgwrcgRGh1bW1pcHVyIEdhbmcgQmhld2EsIG5lYXIgSGVyYmVydHB1cjwvc21hbGw+PC9zcGFuPjxzcGFuIGNsYXNzPSJkYnRucyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJhc2tidG4iIGRhdGEtYXNrPSJUZWxsIG1lIGFib3V0IEdhbmdiaGV3YSBCYXdkaSBHYXV0YW0gUmlzaGkgdGVtcGxlIj5Bc2sgTmFybyBTdXJ5YTwvYnV0dG9uPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9kaXIvP2FwaT0xJm9yaWdpbj1OYXJvK0VjbytSZXNvcnQrVmlrYXMrTmFnYXIrVXR0YXJha2hhbmQmZGVzdGluYXRpb249MzAuNDYwODc3NSw3Ny43MzkyMDc5JnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkRpcmVjdGlvbnM8L2E+PC9zcGFuPjwvbGk+CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InMiIGlkPSJyZXZpZXdzIj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5HdWVzdCByZXZpZXdzPC9zcGFuPgogICAgICA8aDI+UmF0ZWQgb24gR29vZ2xlPC9oMj4KICAgICAgPHA+U2VlIHdoYXQgZ3Vlc3RzIGFyZSBzYXlpbmcgYWJvdXQgdGhlaXIgc3RheSBhdCBOYXJvIEVjbyBSZXNvcnQsIHN0cmFpZ2h0IGZyb20gR29vZ2xlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZ3Jldi1ib3giPgogICAgICA8ZGl2IGNsYXNzPSJncmV2LXNjb3JlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LW51bSI+NC4zPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3Jldi1zdGFycyI+PHNwYW4gY2xhc3M9ImZpbGwiPjwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LWNvdW50Ij41MzQgR29vZ2xlIHJldmlld3M8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImdyZXYtaW5mbyI+CiAgICAgICAgPHN2ZyBjbGFzcz0iZ3Jldi1nbG9nbyIgdmlld0JveD0iMCAwIDQ4IDQ4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGFyaWEtbGFiZWw9Ikdvb2dsZSI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTQ1LjEyIDI0LjVjMC0xLjU2LS4xNC0zLjA2LS40LTQuNUgyNHY4LjUxaDExLjg0Yy0uNTEgMi43NS0yLjA2IDUuMDgtNC4zOSA2LjY0djUuNTJoNy4xMWM0LjE2LTMuODMgNi41Ni05LjQ3IDYuNTYtMTYuMTd6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTI0IDQ2YzUuOTQgMCAxMC45Mi0xLjk3IDE0LjU2LTUuMzNsLTcuMTEtNS41MmMtMS45NyAxLjMyLTQuNDkgMi4xLTcuNDUgMi4xLTUuNzMgMC0xMC41OC0zLjg3LTEyLjMxLTkuMDdINC4zNHY1LjdDNy45NiA0MS4wNyAxNS40IDQ2IDI0IDQ2eiIvPjxwYXRoIGZpbGw9IiNGQkJDMDUiIGQ9Ik0xMS42OSAyOC4xOEMxMS4yNSAyNi44NiAxMSAyNS40NSAxMSAyNHMuMjUtMi44Ni42OS00LjE4di01LjdINC4zNEMyLjg1IDE3LjA5IDIgMjAuNDUgMiAyNHMuODUgNi45MSAyLjM0IDkuODhsNy4zNS01Ljd6Ii8+PHBhdGggZmlsbD0iI0VBNDMzNSIgZD0iTTI0IDEwLjc1YzMuMjMgMCA2LjEzIDEuMTEgOC40MSAzLjI5bDYuMzEtNi4zMUMzNC45MSA0LjE4IDI5LjkzIDIgMjQgMiAxNS40IDIgNy45NiA2LjkzIDQuMzQgMTQuMTJsNy4zNSA1LjdjMS43My01LjIgNi41OC05LjA3IDEyLjMxLTkuMDd6Ii8+PC9zdmc+CiAgICAgICAgPHA+TmFybyBFY28gUmVzb3J0IGFuZCBTcGEgaG9sZHMgYSA0LjMgb3V0IG9mIDUgcmF0aW5nIGZyb20gNTM0IHJldmlld3Mgb24gR29vZ2xlLCBiYXNlZCBvbiByZWFsIGd1ZXN0IGV4cGVyaWVuY2VzLjwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJncmV2LWJ0bnMiPgogICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3BsYWNlL05hcm8rRWNvK1Jlc29ydCthbmQrU3BhL0AzMC41MDAzNTkzLDc3Ljg2OTUxMjEsMTd6IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+UmVhZCByZXZpZXdzIG9uIEdvb2dsZTwvYT4KICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wbGFjZS9OYXJvK0VjbytSZXNvcnQrYW5kK1NwYS9AMzAuNTAwMzU5Myw3Ny44Njk1MTIxLDE3eiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPldyaXRlIGEgcmV2aWV3PC9hPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8c2VjdGlvbiBjbGFzcz0icyIgaWQ9ImZhcSI+CiAgPGRpdiBjbGFzcz0id3JhcCBzcGxpdCIgc3R5bGU9ImFsaWduLWl0ZW1zOnN0YXJ0Ij4KICAgIDxkaXYgY2xhc3M9InMtaGVhZCIgc3R5bGU9Im1hcmdpbjowIj48c3BhbiBjbGFzcz0iZXllYnJvdyI+UXVlc3Rpb25zPC9zcGFuPjxoMj5CZWZvcmUgeW91IGJvb2s8L2gyPjxwPlJhdGVzLCBmb29kLCByb29tcyBhbmQgZ2V0dGluZyBoZXJlLiBGb3IgYW55IG90aGVyIHF1ZXN0aW9uLCBhc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiBhdCB0aGUgYm90dG9tIGxlZnQuIElmIGl0IGlzIHNvbWV0aGluZyB1bnVzdWFsLCBoZSBjb25uZWN0cyB5b3UgdG8gb3VyIHRlYW0gb24gbGl2ZSBjaGF0LjwvcD48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZhcWxhbmciIHN0eWxlPSJkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyNHB4Ij48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ29sZCIgaWQ9ImZhcUxhbmdFbiIgc3R5bGU9InBhZGRpbmc6OHB4IDIwcHg7Zm9udC1zaXplOjEzcHgiPkVuZ2xpc2g8L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGluZSIgaWQ9ImZhcUxhbmdIaSIgc3R5bGU9InBhZGRpbmc6OHB4IDIwcHg7Zm9udC1zaXplOjEzcHgiPuCkueCkv+CkqOCljeCkpuClgDwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9ImZhcSIgaWQ9ImZhcUVuIj4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+V2hhdCBhcmUgdGhlIHJvb20gcmF0ZXM\/PC9zdW1tYXJ5PjxwPkEgRG91YmxlIFJvb20gaXMg4oK5Miw1MDAgcGVyIG5pZ2h0IGFuZCB0aGUgNC1iZWQgRmFtaWx5IFJvb20gaXMg4oK5NCwwMDAgcGVyIG5pZ2h0LiBBbiBleHRyYSBiZWQgaXMg4oK5NTAwIHBlciBuaWdodCwgYW5kIGNoaWxkcmVuIGJlbG93IDkgc3RheSBmcmVlLiA1JSBHU1QgaXMgYWRkZWQgb24gdG9wLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIEdTVCBhZGRlZCB0byB0aGUgcmF0ZXM\/PC9zdW1tYXJ5PjxwPlllcywgNSUgR1NUIGlzIGFkZGVkIG9uIHRvcCBvZiB0aGUgbGlzdGVkIHJhdGVzLiBUaGUgYm9va2luZyBzdW1tYXJ5IHNob3dzIHRoZSByb29tIGNoYXJnZXMsIHRoZW4gQ0dTVCBhbmQgU0dTVCwgYW5kIHRoZSBmaW5hbCB0b3RhbC48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5JcyBicmVha2Zhc3QgaW5jbHVkZWQ\/PC9zdW1tYXJ5PjxwPk5vLCBicmVha2Zhc3QgaXMgbm90IGluY2x1ZGVkIGluIHRoZSByb29tIHJhdGUuIE5hcm8gUmVzdGF1cmFudCBpcyBvbiBzaXRlIGFuZCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2QuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SXMgdGhlIHJlc29ydCBjb3VwbGUgZnJpZW5kbHk\/PC9zdW1tYXJ5PjxwPlllcy4gVW5tYXJyaWVkIGNvdXBsZXMgYXJlIHdlbGNvbWUgYXQgTmFybyBFY28gUmVzb3J0LiBHdWVzdHMgbXVzdCBiZSAxOCB5ZWFycyBvZiBhZ2Ugb3Igb2xkZXIsIGFzIHBlciBJbmRpYW4gbGF3IOKAlCByb29tcyBhcmUgbm90IGdpdmVuIHRvIHVuZGVyYWdlIGNvdXBsZXMgd2l0aG91dCBhZHVsdCBhY2NvbXBhbmltZW50LiBCb3RoIGd1ZXN0cyBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCAoQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZSkgYXQgY2hlY2staW4uPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+RG8gdGhlIHJvb21zIGhhdmUgYWlyIGNvbmRpdGlvbmluZz88L3N1bW1hcnk+PHA+RXZlcnkgcm9vbSBoYXMgYSBkZXNlcnQgY29vbGVyLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIHRoZSBzd2ltbWluZyBwb29sIG9wZW4\/PC9zdW1tYXJ5PjxwPk5vdCB5ZXQsIHRoZSBwb29sIHdpbGwgYmUgaW5hdWd1cmF0ZWQgc2hvcnRseS4gQXNrIHVzIGZvciB0aGUgb3BlbmluZyBkYXRlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkRvIHlvdSBzZXJ2ZSBub24tdmVnZXRhcmlhbiBmb29kPzwvc3VtbWFyeT48cD5ObywgdGhlIHJlc3RhdXJhbnQgaXMgcHVyZSB2ZWdldGFyaWFuLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBmYXIgYXJlIHlvdSBmcm9tIERlaHJhZHVuPzwvc3VtbWFyeT48cD5XZSBhcmUgNDUga20gZnJvbSBEZWhyYWR1biBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXksIG5lYXIgVmlrYXMgTmFnYXIuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SXMgdGhlcmUgcGFya2luZz88L3N1bW1hcnk+PHA+WWVzLCBwYXJraW5nIGlzIGZyZWUgYW5kIGhvbGRzIG1vcmUgdGhhbiA1MCB2ZWhpY2xlcy48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSBob3N0IGEgd2VkZGluZyBvciBldmVudD88L3N1bW1hcnk+PHA+WWVzLCB3ZSBob3N0IGRlc3RpbmF0aW9uIHdlZGRpbmdzLCBiaXJ0aGRheXMgYW5kIGtpdHR5IHBhcnRpZXMsIGFuZCBoYXZlIGEgNDAgeCA0MCBmdCBjb25mZXJlbmNlIGhhbGwuIFNoYXJlIHRoZSBib29raW5nIGZvcm0gd2l0aCB5b3VyIGRhdGVzIGFuZCBvdXIgdGVhbSB3aWxsIGNvbmZpcm0gYXZhaWxhYmlsaXR5IGFuZCBhIHF1b3RlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBkb2VzIGNoZWNrLWluIHdvcms\/PC9zdW1tYXJ5PjxwPkJvb2sgb25saW5lIGFuZCBhZGQgeW91ciBkZXRhaWxzLCBhcnJpdmFsIHRpbWUgYW5kIHZlaGljbGUgbnVtYmVyLiBZb3UgcmVjZWl2ZSBhIGNoZWNrLWluIHBhc3MsIHNvIHJlY2VwdGlvbiBvbmx5IGhhcyB0byBoYW5kIHlvdSB0aGUga2V5LjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIGFkdmFuY2UgcGF5bWVudCByZXF1aXJlZD88L3N1bW1hcnk+PHA+WWVzLiBGdWxsIHBheW1lbnQgaXMgdGFrZW4gaW4gYWR2YW5jZSB0byBjb25maXJtIHlvdXIgYm9va2luZy4gSWYgeW91ciBwbGFucyBjaGFuZ2UsIHlvdSBjYW4gcmVzY2hlZHVsZSB5b3VyIHN0YXkgZm9yIGEg4oK5MSwwMDAgY2hhbmdlIGZlZSBwZXIgcm9vbSAoRG91YmxlIG9yIEZhbWlseSksIHdpdGggbm90aWNlIG9uIFdoYXRzQXBwICgrOTEgNzAxNzcgMTQzODUpIGF0IGxlYXN0IDMgZGF5cyBiZWZvcmUgYXJyaXZhbC4gQW55IGNoYW5nZSByZXF1ZXN0ZWQgbGVzcyB0aGFuIDMgZGF5cyBiZWZvcmUgYXJyaXZhbCBpcyB0cmVhdGVkIGFzIGEgbm8tc2hvdyBhbmQgaXMgbm90IHRyYW5zZmVyYWJsZS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSByZXNjaGVkdWxlIG15IHN0YXk\/PC9zdW1tYXJ5PjxwPklmIHlvdSBwYXkgaW4gZnVsbCwgeW91IGNhbiByZXNjaGVkdWxlIHdpdGggYSDigrkxLDAwMCBjaGFuZ2UgZmVlIHBlciByb29tIChEb3VibGUgb3IgRmFtaWx5KSwgd2l0aCBub3RpY2Ugb24gV2hhdHNBcHAgKCs5MSA3MDE3NyAxNDM4NSkgYXQgbGVhc3QgMyBkYXlzIGJlZm9yZSBhcnJpdmFsLiBBbnkgY2hhbmdlIHJlcXVlc3RlZCBsZXNzIHRoYW4gMyBkYXlzIGJlZm9yZSBhcnJpdmFsIGlzIHRyZWF0ZWQgYXMgYSBuby1zaG93IGFuZCBpcyBub3QgdHJhbnNmZXJhYmxlIGlmIHlvdXIgcGxhbnMgY2hhbmdlLCBzdWJqZWN0IHRvIGF2YWlsYWJpbGl0eS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscyBpZD0icnNBcHAiPjxzdW1tYXJ5PlJlc2NoZWR1bGUgbXkgc3RheSAoV2hhdHNBcHApPC9zdW1tYXJ5PjxkaXYgc3R5bGU9InBhZGRpbmc6NnB4IDAgNHB4Ij48cCBzdHlsZT0ibWFyZ2luOjAgMCAxMHB4Ij5GdWxseSBwYWlkIGJvb2tpbmdzIGNhbiBiZSByZXNjaGVkdWxlZCBmb3IgYSDigrkxLDAwMCBjaGFuZ2UgZmVlIHBlciByb29tIChEb3VibGUgb3IgRmFtaWx5KS4gWW91IG11c3QgaW5mb3JtIHVzIG9uIFdoYXRzQXBwIGF0IGxlYXN0IDMgZGF5cyBiZWZvcmUgeW91ciBhcnJpdmFsIGRhdGUuIEEgY2hhbmdlIHJlcXVlc3RlZCBsZXNzIHRoYW4gMyBkYXlzIGJlZm9yZSBhcnJpdmFsIGlzIHRyZWF0ZWQgYXMgYSBuby1zaG93IGFuZCBpcyBub3QgdHJhbnNmZXJhYmxlLjwvcD48ZGl2IHN0eWxlPSJkaXNwbGF5OmdyaWQ7Z2FwOjhweDttYXgtd2lkdGg6NDIwcHgiPjxpbnB1dCBpZD0icnNOYW1lIiB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iR3Vlc3QgbmFtZSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48aW5wdXQgaWQ9InJzUm9vbXMiIHR5cGU9Im51bWJlciIgbWluPSIxIiBtYXg9IjEyIiBwbGFjZWhvbGRlcj0iTnVtYmVyIG9mIHJvb21zIiBzdHlsZT0icGFkZGluZzoxMHB4O2ZvbnQ6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkICNiYmI7Ym9yZGVyLXJhZGl1czo2cHg7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCUiPjxpbnB1dCBpZD0icnNSZWYiIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJCb29raW5nIHJlZmVyZW5jZSAoaWYgYW55KSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4Ij5DdXJyZW50IGFycml2YWwgZGF0ZTxpbnB1dCBpZD0icnNPbGQiIHR5cGU9ImRhdGUiIHN0eWxlPSJwYWRkaW5nOjEwcHg7Zm9udDppbmhlcml0O2JvcmRlcjoxcHggc29saWQgI2JiYjtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJSI+PC9sYWJlbD48bGFiZWwgc3R5bGU9ImZvbnQtc2l6ZToxNHB4Ij5OZXcgY2hlY2staW4gZGF0ZTxpbnB1dCBpZD0icnNJbiIgdHlwZT0iZGF0ZSIgc3R5bGU9InBhZGRpbmc6MTBweDtmb250OmluaGVyaXQ7Ym9yZGVyOjFweCBzb2xpZCAjYmJiO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlIj48L2xhYmVsPjxsYWJlbCBzdHlsZT0iZm9udC1zaXplOjE0cHgiPk5ldyBjaGVjay1vdXQgZGF0ZTxpbnB1dCBpZD0icnNPdXQiIHR5cGU9ImRhdGUiIHN0eWxlPSJwYWRkaW5nOjEwcHg7Zm9udDppbmhlcml0O2JvcmRlcjoxcHggc29saWQgI2JiYjtib3JkZXItcmFkaXVzOjZweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJSI+PC9sYWJlbD48YnV0dG9uIGlkPSJyc0J0biIgdHlwZT0iYnV0dG9uIiBzdHlsZT0icGFkZGluZzoxMnB4O2ZvbnQ6aW5oZXJpdDtmb250LXdlaWdodDpib2xkO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzI1RDM2Njtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyIj5TZW5kIG9uIFdoYXRzQXBwPC9idXR0b24+PGRpdiBpZD0icnNNc2ciIHJvbGU9ImFsZXJ0IiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Y29sb3I6I2IwMDAyMCI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5XaGF0IElEIHByb29mIGRvIEkgbmVlZCB0byBicmluZz88L3N1bW1hcnk+PHA+QWxsIGd1ZXN0cyBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCBhdCBjaGVjay1pbiDigJQgQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZS4gVGhpcyBhcHBsaWVzIHRvIG1hcnJpZWQgYW5kIHVubWFycmllZCBjb3VwbGVzIGFsaWtlLCBhbmQgYWxsIGd1ZXN0cyBtdXN0IGJlIDE4IHllYXJzIG9yIG9sZGVyLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkhvdyBtYW55IHJvb21zIGRvZXMgdGhlIHJlc29ydCBoYXZlPzwvc3VtbWFyeT48cD5OYXJvIEVjbyBSZXNvcnQgaGFzIDEwIHJvb21zIGluIHRvdGFsIOKAlCAxMSBEb3VibGUgT2NjdXBhbmN5IFJvb21zIGFuZCAxIEZhbWlseSBSb29tIHdpdGggNCBiZWRzLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PklzIFdpLUZpIGF2YWlsYWJsZT88L3N1bW1hcnk+PHA+WWVzLCBXaS1GaSBpcyBhdmFpbGFibGUgYWxsIGRheSBhY3Jvc3MgdGhlIHByb3BlcnR5LjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgYWN0aXZpdGllcyBjYW4gSSBkbyBhdCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5Gb3Jlc3QgcGF0aHMgYW5kIHNob3J0IHRyZWtzIGJlZ2luIGNsb3NlIHRvIHRoZSByb29tcyDigJQgYXNrIHRoZSBmcm9udCBkZXNrIGZvciBhIGd1aWRlLiBZb3UgY2FuIGFsc28gd2FsayB0aHJvdWdoIG91ciBvcmdhbmljIHZlZ2V0YWJsZSBnYXJkZW4sIHdoZXJlIG11Y2ggb2YgdGhlIGtpdGNoZW4ncyBwcm9kdWNlIGlzIGdyb3duLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgaXMgeW91ciBHb29nbGUgcmF0aW5nPzwvc3VtbWFyeT48cD5OYXJvIEVjbyBSZXNvcnQgYW5kIFNwYSBpcyByYXRlZCA0LjMgb3V0IG9mIDUgZnJvbSA1MzQgR29vZ2xlIHJldmlld3MuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+V2hhdCBhcmUgbmVhcmJ5IGF0dHJhY3Rpb25zIEkgY2FuIHZpc2l0Pzwvc3VtbWFyeT48cD5Bc2hva2EgUm9jayBFZGljdHMgYXQgS2Fsc2kgKDYga20pLCBEYWtwYXRoYXIgQmFycmFnZSAoOCBrbSksIGFuZCBBc2FuIEJhcnJhZ2UgZm9yIGJvYXRpbmcgYW5kIGJpcmR3YXRjaGluZyAoMjUga20pLiBNYWhhc3UsIEJoYWRyYWosIEJoYWRyYSBLYWxpIGFuZCBTd2F5YW1iaHUgU2hpdmEgdGVtcGxlcyBhcmUgYWxzbyBuZWFyYnkuPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+SG93IGRvIEkgcGF5IGZvciBteSBib29raW5nPzwvc3VtbWFyeT48cD5Zb3UgY2FuIHBheSBzZWN1cmVseSBvbmxpbmUgd2l0aCBVUEksIGNhcmQgb3IgbmV0IGJhbmtpbmcgd2hlbiB5b3UgYm9vay48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5DYW4gSSBnZXQgZm9vZCBkZWxpdmVyZWQ\/PC9zdW1tYXJ5PjxwPk5hcm8gUmVzdGF1cmFudCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2Qgb24gc2l0ZSwgYW5kIGZvb2QgZGVsaXZlcnkgaXMgYXZhaWxhYmxlIHdpdGhpbiAxNSBrbS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5XaGF0IGFyZSB0aGUgY2hlY2staW4gYW5kIGNoZWNrLW91dCB0aW1lcz88L3N1bW1hcnk+PHA+Q2hlY2stb3V0IGlzIGF0IDExIGFtLCBzbyBjaGVjay1pbiBpcyBmcm9tIDExIGFtLiBJZiByb29tcyBhcmUgdmFjYW50LCBlYXJseSBjaGVjay1pbiBmcm9tIDkgYW0gaXMgcG9zc2libGUgYXQgbm8gZXh0cmEgY2hhcmdlLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkNhbiB5b3UgYXJyYW5nZSBhIHRheGksIHBpY2t1cCBvciBkcm9wPzwvc3VtbWFyeT48cD5ZZXMuIFRheGkgZW5xdWlyaWVzIGFyZSBoYW5kbGVkIGJ5IG91ciB0ZWFtIGRpcmVjdGx5LiBUYXAgPGEgaHJlZj0iIyIgY2xhc3M9Im9wZW5UYXdrIj5DaGF0IHdpdGggb3VyIHRlYW08L2E+IGFuZCBzaGFyZSB5b3VyIHBpY2t1cCBwb2ludCwgZGF0ZSBhbmQgdGltZS48L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT5JcyBmb29kIGF2YWlsYWJsZSBhdCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5ZZXMuIE5hcm8gUmVzdGF1cmFudCBzZXJ2ZXMgcHVyZSB2ZWdldGFyaWFuIGZvb2Qgb24gc2l0ZSwgd2l0aCBkZWxpdmVyeSB3aXRoaW4gMTUga20uIEZvciBmb29kIGFuZCByb29tIHNlcnZpY2UsIGNhbGwgOTQ1ODEgMzk5MTEgb3IgOTQ1ODEgMzk5MzMuIFJlc3RhdXJhbnQgYmlsbHMgY2FycnkgNSUgR1NULjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PldoYXQgY2FuIEkgc2VlIGFyb3VuZCB0aGUgcmVzb3J0Pzwvc3VtbWFyeT48cD5KYWdhdGdyYW0sIHRoZSBLYWxzaSByb2NrIGVkaWN0LCBEYWtwYXRoYXIgYW5kIEFzYW4gYmFycmFnZXMgYXJlIGNsb3NlIGJ5LCBhbmQgQ2hha3JhdGEsIE11c3Nvb3JpZSwgUmlzaGlrZXNoLCBSZW51a2EgSmhlZWwsIEphbWFkYWduaSB0ZW1wbGUgYW5kIHRoZSBOYWhhbiBGb3NzaWwgUGFyayBtYWtlIGdvb2QgZGF5IHRyaXBzLiBBc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiBhYm91dCBhbnkgcGxhY2UgYW5kIGhlIHdpbGwgdGVsbCB5b3Ugd2hhdCBtYWtlcyBpdCBzcGVjaWFsLjwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PkkgaGF2ZSBhIGRpZmZlcmVudCBxdWVzdGlvbi4gV2hvIGRvIEkgYXNrPzwvc3VtbWFyeT48cD5Bc2sgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj5OYXJvIFN1cnlhPC9hPiwgb3VyIGd1aWRlIGF0IHRoZSBib3R0b20gbGVmdCBvZiBldmVyeSBwYWdlLiBIZSBrbm93cyBvdXIgcm9vbXMsIHJhdGVzLCBmdWxsIHJlc3RhdXJhbnQgbWVudSwgcGFydHkgcGFja2FnZXMgYW5kIG5lYXJieSBwbGFjZXMuIEZvciBhbnl0aGluZyB1bnVzdWFsLCBoZSBjb25uZWN0cyB5b3UgdG8gb3VyIHRlYW0gb24gbGl2ZSBjaGF0LjwvcD48L2RldGFpbHM+CiAgICA8L2Rpdj48ZGl2IGNsYXNzPSJmYXEiIGlkPSJmYXFIaSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCkruCksOCli+CkgiDgpJXgpL4g4KSV4KS\/4KSw4KS+4KSv4KS+IOCkleCljeCkr+CkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkoeCkrOCksiDgpLDgpYLgpK4g4KSV4KWAIOCkleClgOCkruCkpCDigrkyLDUwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCkueCliCDgpJTgpLAgNC3gpKzgpYfgpKEg4KS14KS+4KSy4KWHIOCkq+CliOCkruCkv+CksuClgCDgpLDgpYLgpK4g4KSV4KWAIOCkleClgOCkruCkpCDigrk0LDAwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCkueCliOClpCDgpI\/gpJUg4KSF4KSk4KS\/4KSw4KS\/4KSV4KWN4KSkIOCkrOCkv+CkuOCljeCkpOCksCDgpJXgpYcg4KSy4KS\/4KSPIOKCuTUwMCDgpKrgpY3gpLDgpKTgpL8g4KSw4KS+4KSk4KWN4KSw4KS\/IOCktuClgeCksuCljeCklSDgpLngpYgsIOCklOCksCA5IOCkteCksOCljeCktyDgpLjgpYcg4KSV4KSuIOCkieCkruCljeCksCDgpJXgpYcg4KSs4KSa4KWN4KSa4KWHIOCkruClgeCkq+CljeCkpCDgpLDgpLngpKTgpYcg4KS54KWI4KSC4KWkIOCkleCkv+CksOCkvuCkjyDgpKrgpLAgNSUg4KSc4KWA4KSP4KS44KSf4KWAIOCkheCksuCklyDgpLjgpYcg4KSy4KSX4KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpJXgpL\/gpLDgpL7gpI8g4KSq4KSwIOCknOClgOCkj+CkuOCkn+ClgCDgpLLgpJfgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIEsIOCkrOCkpOCkvuCkjyDgpJfgpI8g4KSV4KS\/4KSw4KS+4KSPIOCkquCksCA1JSDgpJzgpYDgpI\/gpLjgpJ\/gpYAg4KSF4KSy4KSXIOCkuOClhyDgpJzgpYHgpKHgpLzgpKTgpL4g4KS54KWI4KWkIOCkrOClgeCkleCkv+CkguCklyDgpLjgpL7gpLDgpL7gpILgpLYg4KSu4KWH4KSCIOCkleCkruCksOClhyDgpJXgpL4g4KS24KWB4KSy4KWN4KSVLCDgpLjgpYDgpJzgpYDgpI\/gpLjgpJ\/gpYAsIOCkj+CkuOCknOClgOCkj+CkuOCkn+ClgCDgpJTgpLAg4KSF4KSC4KSk4KS\/4KSuIOCkleClgeCksiDgpLDgpL7gpLbgpL8g4KSm4KS\/4KSW4KS+4KSIIOCknOCkvuCkpOClgCDgpLngpYjgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KSo4KS+4KS24KWN4KSk4KS+IOCktuCkvuCkruCkv+CksiDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkqOCkueClgOCkgiwg4KSV4KSu4KSw4KWHIOCkleClhyDgpJXgpL\/gpLDgpL7gpI8g4KSu4KWH4KSCIOCkqOCkvuCktuCljeCkpOCkviDgpLbgpL7gpK7gpL\/gpLIg4KSo4KS54KWA4KSCIOCkueCliOClpCDgpKjgpL7gpLDgpYsg4KSw4KWH4KS44KWN4KSf4KWL4KSw4KWH4KSC4KSfIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS54KWAIOCkueCliCDgpJTgpLAg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSq4KSw4KWL4KS44KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSV4KSq4KSyIOCkq+CljeCksOClh+CkguCkoeCksuClgCDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkueCkvuCkgeClpCDgpIXgpLXgpL\/gpLXgpL7gpLngpL\/gpKQg4KSc4KWL4KSh4KS84KWL4KSCIOCkleCkviDgpKjgpL7gpLDgpYsg4KSH4KSV4KWLIOCksOCkv+CknOCkvOClieCksOCljeCknyDgpK7gpYfgpIIg4KS44KWN4KS14KS+4KSX4KSkIOCkueCliOClpCDgpK3gpL7gpLDgpKTgpYDgpK8g4KSV4KS+4KSo4KWC4KSoIOCkleClhyDgpIXgpKjgpYHgpLjgpL7gpLAsIOCkuOCkreClgCDgpK7gpYfgpLngpK7gpL7gpKjgpYvgpIIg4KSV4KWAIOCkhuCkr+ClgSAxOCDgpLXgpLDgpY3gpLcg4KSv4KS+IOCkieCkuOCkuOClhyDgpIXgpKfgpL\/gpJUg4KS54KWL4KSo4KWAIOCkmuCkvuCkueCkv+CkjyDigJQg4KSs4KS\/4KSo4KS+IOCkleCkv+CkuOClgCDgpLXgpK\/gpLjgpY3gpJUg4KSV4KWHIOCkuOCkvuCkpSDgpKjgpL7gpKzgpL7gpLLgpL\/gpJcg4KSc4KWL4KSh4KS84KWL4KSCIOCkleCliyDgpJXgpK7gpLDgpL4g4KSo4KS54KWA4KSCIOCkpuCkv+Ckr+CkviDgpJzgpL7gpI\/gpJfgpL7gpaQg4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYcg4KS44KSu4KSvIOCkpuCli+CkqOCli+CkgiDgpK7gpYfgpLngpK7gpL7gpKjgpYvgpIIg4KSV4KWLIOCkteCliOCkpyDgpLjgpLDgpJXgpL7gpLDgpYAg4KSr4KWL4KSf4KWLIOCkquCkueCkmuCkvuCkqCDgpKrgpKTgpY3gpLAgKOCkhuCkp+CkvuCksCDgpJXgpL7gpLDgpY3gpKEsIOCkteCli+Ckn+CksCDgpIbgpIjgpKHgpYAg4KSv4KS+IOCkoeCljeCksOCkvuCkh+CkteCkv+CkguCklyDgpLLgpL7gpIfgpLjgpYfgpILgpLgpIOCkuOCkvuCkpSDgpLLgpL7gpKjgpL4g4KSF4KSo4KS\/4KS14KS+4KSw4KWN4KSvIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpJXgpK7gpLDgpYvgpIIg4KSu4KWH4KSCIOCkj+Ckr+CksCDgpJXgpILgpKHgpYDgpLbgpKjgpL\/gpILgpJcg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpLAg4KSV4KSu4KSw4KWHIOCkruClh+CkgiDgpKHgpYfgpJzgpLzgpLDgpY3gpJ8g4KSV4KWC4KSy4KSwIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLjgpY3gpLXgpL\/gpK7gpL\/gpILgpJcg4KSq4KWC4KSyIOCkluClgeCksuCkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkheCkreClgCDgpKjgpLngpYDgpILgpaQg4KSq4KWC4KSyIOCknOCksuCljeCkpiDgpLngpYAg4KS24KWB4KSw4KWCIOCkleCkv+Ckr+CkviDgpJzgpL7gpI\/gpJfgpL7gpaQg4KSW4KWB4KSy4KSo4KWHIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSV4KWHIOCksuCkv+CkjyDgpLngpK7gpLjgpYcg4KSq4KWC4KSb4KWH4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkhuCkqiDgpKjgpYngpKgt4KS14KWH4KScIOCkluCkvuCkqOCkviDgpKrgpLDgpYvgpLjgpKTgpYcg4KS54KWI4KSCPzwvc3VtbWFyeT48cD7gpKjgpLngpYDgpIIsIOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpKrgpYLgpLDgpYAg4KSk4KSw4KS5IOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpLngpYjgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpKbgpYfgpLngpLDgpL7gpKbgpYLgpKgg4KS44KWHIOCkhuCkqiDgpJXgpL\/gpKTgpKjgpYAg4KSm4KWC4KSwIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KS54KSuIOCkr+CkruClgeCkqOCli+CkpOCljeCksOClgCDgpLngpL7gpIjgpLXgpYcg4KSq4KSwIOCkteCkv+CkleCkvuCkuOCkqOCkl+CksCDgpJXgpYcg4KSq4KS+4KS4LCDgpKbgpYfgpLngpLDgpL7gpKbgpYLgpKgg4KS44KWHIDQ1IOCkleCkv+CkruClgCDgpKbgpYLgpLAg4KS54KWI4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkquCkvuCksOCljeCkleCkv+CkguCklyDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkueCkvuCkgSwg4KSq4KS+4KSw4KWN4KSV4KS\/4KSC4KSXIOCkruClgeCkq+CljeCkpCDgpLngpYgg4KSU4KSwIOCkh+CkuOCkruClh+CkgiA1MCDgpLjgpYcg4KSF4KSn4KS\/4KSVIOCkteCkvuCkueCkqCDgpIYg4KS44KSV4KSk4KWHIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpK7gpYjgpIIg4KS24KS+4KSm4KWAIOCkr+CkviDgpIfgpLXgpYfgpILgpJ8g4KS54KWL4KS44KWN4KSfIOCkleCksCDgpLjgpJXgpKTgpL4v4KS44KSV4KSk4KWAIOCkueClguCkgT88L3N1bW1hcnk+PHA+4KS54KS+4KSBLCDgpLngpK4g4KSh4KWH4KS44KWN4KSf4KS\/4KSo4KWH4KS24KSoIOCkteClh+CkoeCkv+CkguCklywg4KSc4KSo4KWN4KSu4KSm4KS\/4KSoIOCklOCksCDgpJXgpL\/gpJ\/gpYAg4KSq4KS+4KSw4KWN4KSf4KWAIOCkueCli+CkuOCljeCknyDgpJXgpLDgpKTgpYcg4KS54KWI4KSCLCDgpJTgpLAg4KS54KSu4KS+4KSw4KWHIOCkquCkvuCkuCA0MCB4IDQwIOCkq+ClgOCknyDgpJXgpL4g4KSV4KWJ4KSo4KWN4KSr4KWN4KSw4KWH4KSC4KS4IOCkueClieCksiDgpLngpYjgpaQg4KSF4KSq4KSo4KWAIOCkpOCkvuCksOClgOCkluCli+CkgiDgpJXgpYcg4KS44KS+4KSlIOCkrOClgeCkleCkv+CkguCklyDgpKvgpYngpLDgpY3gpK4g4KSt4KWH4KSc4KWH4KSCIOCklOCksCDgpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkieCkquCksuCkrOCljeCkp+CkpOCkviDgpJTgpLAg4KSV4KWL4KSf4KWH4KS24KSoIOCkleClgCDgpKrgpYHgpLfgpY3gpJ\/gpL8g4KSV4KSw4KWH4KSX4KWA4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYjgpLjgpYcg4KSV4KS+4KSuIOCkleCksOCkpOCkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkkeCkqOCksuCkvuCkh+CkqCDgpKzgpYHgpJUg4KSV4KSw4KWH4KSCIOCklOCksCDgpIXgpKrgpKjgpYAg4KSc4KS+4KSo4KSV4KS+4KSw4KWALCDgpIbgpJfgpK7gpKgg4KSV4KS+IOCkuOCkruCkryDgpJTgpLAg4KS14KS+4KS54KSoIOCkqOCkguCkrOCksCDgpJzgpYvgpKHgpLzgpYfgpILgpaQg4KSG4KSq4KSV4KWLIOCkj+CklSDgpJrgpYfgpJUt4KSH4KSoIOCkquCkvuCkuCDgpK7gpL\/gpLLgpYfgpJfgpL4sIOCknOCkv+CkuOCkuOClhyDgpLDgpL\/gpLjgpYfgpKrgpY3gpLbgpKgg4KSV4KWLIOCkleClh+CkteCksiDgpIbgpKrgpJXgpYsg4KSa4KS+4KSs4KWAIOCkpuClh+CkqOClgCDgpLngpYvgpJfgpYDgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KSP4KSh4KS14KS+4KSC4KS4IOCkreClgeCkl+CkpOCkvuCkqCDgpJzgpLzgpLDgpYLgpLDgpYAg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIHgpaQg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkquCkleCljeCkleClgCDgpJXgpLDgpKjgpYcg4KSV4KWHIOCksuCkv+CkjyDgpKrgpYLgpLDgpL4g4KSt4KWB4KSX4KSk4KS+4KSoIOCkj+CkoeCkteCkvuCkguCkuCDgpK7gpYfgpIIg4KSy4KS\/4KSv4KS+IOCknOCkvuCkpOCkviDgpLngpYjgpaQg4KSv4KWL4KSc4KSo4KS+IOCkrOCkpuCksuCkqOClhyDgpKrgpLAg4KSq4KWN4KSw4KSk4KS\/IOCkleCkruCksOCkviDigrkxLDAwMCDgpLbgpYHgpLLgpY3gpJUg4KSm4KWH4KSV4KSwIOCklOCksCDgpIbgpJfgpK7gpKgg4KS44KWHIOCkleCkriDgpLjgpYcg4KSV4KSuIDMg4KSm4KS\/4KSoIOCkquCkueCksuClhyBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSDgpKrgpLAg4KS44KWC4KSa4KSo4KS+IOCkpuClh+CkleCksCDgpIbgpKog4KSF4KSq4KSo4KS+IOCkoOCkueCksOCkvuCktSDgpIbgpJfgpYct4KSq4KWA4KSb4KWHIOCkleCksCDgpLjgpJXgpKTgpYcg4KS54KWI4KSC4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkruCliOCkgiDgpIXgpKrgpKjgpYAg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleClgCDgpKTgpL7gpLDgpYDgpJYg4KSs4KSm4KSyIOCkuOCkleCkpOCkvi\/gpLjgpJXgpKTgpYAg4KS54KWC4KSBPzwvc3VtbWFyeT48cD7gpK\/gpKbgpL8g4KSG4KSqIOCkquClguCksOCkviDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KSw4KSk4KWHIOCkueCliOCkgiwg4KSk4KWLIOCkr+Cli+CknOCkqOCkviDgpKzgpKbgpLLgpKjgpYcg4KSq4KSwIOCkquCljeCksOCkpOCkvyDgpJXgpK7gpLDgpL4g4oK5MSwwMDAg4KSV4KWHIOCkrOCkpuCksuCkvuCktSDgpLbgpYHgpLLgpY3gpJUg4KSU4KSwIOCkhuCkl+CkruCkqCDgpLjgpYcg4KSV4KSuIOCkuOClhyDgpJXgpK4gMyDgpKbgpL\/gpKgg4KSq4KS54KSy4KWHIFdoYXRzQXBwICgrOTEgNzAxNzcgMTQzODUpIOCkquCksCDgpLjgpYLgpJrgpKjgpL4g4KSV4KWHIOCkuOCkvuCkpSwg4KSJ4KSq4KSy4KSs4KWN4KSn4KSk4KS+IOCkleClhyDgpIXgpKjgpYHgpLjgpL7gpLAsIOCkhuCkqiDgpKTgpL7gpLDgpYDgpJYg4KSs4KSm4KSyIOCkuOCkleCkpOClhyDgpLngpYjgpILgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJrgpYfgpJUt4KSH4KSoIOCkleClhyDgpLLgpL\/gpI8g4KSV4KWM4KSoIOCkuOCkviDgpKrgpLngpJrgpL7gpKgg4KSq4KSk4KWN4KSwIOCkmuCkvuCkueCkv+Ckjz88L3N1bW1hcnk+PHA+4KS44KSt4KWAIOCkruClh+CkueCkruCkvuCkqOCli+CkgiDgpJXgpYsg4KSa4KWH4KSVLeCkh+CkqCDgpJXgpYcg4KS44KSu4KSvIOCkj+CklSDgpLXgpYjgpKcg4KS44KSw4KSV4KS+4KSw4KWAIOCkq+Cli+Ckn+CliyDgpKrgpLngpJrgpL7gpKgg4KSq4KSk4KWN4KSwIOCksuCkvuCkqOCkviDgpIXgpKjgpL\/gpLXgpL7gpLDgpY3gpK8g4KS54KWIIOKAlCDgpIbgpKfgpL7gpLAg4KSV4KS+4KSw4KWN4KShLCDgpLXgpYvgpJ\/gpLAg4KSG4KSI4KSh4KWAIOCkr+CkviDgpKHgpY3gpLDgpL7gpIfgpLXgpL\/gpILgpJcg4KSy4KS+4KSH4KS44KWH4KSC4KS44KWkIOCkr+CkuSDgpKjgpL\/gpK\/gpK4g4KS14KS\/4KS14KS+4KS54KS\/4KSkIOCklOCksCDgpIXgpLXgpL\/gpLXgpL7gpLngpL\/gpKQsIOCkpuCli+CkqOCli+CkgiDgpKTgpLDgpLkg4KSV4KWHIOCknOCli+CkoeCkvOCli+CkgiDgpKrgpLAg4KSy4KS+4KSX4KWCIOCkueCli+CkpOCkviDgpLngpYgsIOCklOCksCDgpLjgpK3gpYAg4KSu4KWH4KS54KSu4KS+4KSo4KWL4KSCIOCkleClgCDgpIbgpK\/gpYEgMTgg4KS14KSw4KWN4KS3IOCkr+CkviDgpIngpLjgpLjgpYcg4KSF4KSn4KS\/4KSVIOCkueCli+CkqOClgCDgpJrgpL7gpLngpL\/gpI\/gpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkleClgeCksiDgpJXgpL\/gpKTgpKjgpYcg4KSV4KSu4KSw4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KSo4KS+4KSw4KWLIOCkh+CkleCliyDgpLDgpL\/gpJzgpLzgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkleClgeCksiAxMCDgpJXgpK7gpLDgpYcg4KS54KWI4KSCIOKAlCA5IOCkoeCkrOCksiDgpJHgpJXgpY3gpK\/gpYLgpKrgpYfgpILgpLjgpYAg4KSw4KWC4KSuIOCklOCksCAxIOCkq+CliOCkruCkv+CksuClgCDgpLDgpYLgpK4gKDQg4KSs4KS\/4KS44KWN4KSk4KSwIOCkteCkvuCksuCkvingpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpJXgpY3gpK\/gpL4g4KS14KS+4KSILeCkq+CkvuCkiCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIEsIOCkquClguCksOClhyDgpKbgpL\/gpKgg4KSq4KWC4KSw4KWHIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS14KS+4KSILeCkq+CkvuCkiCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSw4KS\/4KSc4KS84KWJ4KSw4KWN4KSfIOCkruClh+CkgiDgpJXgpY3gpK\/gpL4g4KSX4KSk4KS\/4KS14KS\/4KSn4KS\/4KSv4KS+4KSBIOCkleCksCDgpLjgpJXgpKTgpYcg4KS54KWI4KSCPzwvc3VtbWFyeT48cD7gpJXgpK7gpLDgpYvgpIIg4KSV4KWHIOCkquCkvuCkuCDgpLngpYAg4KSc4KSC4KSX4KSyIOCkleClhyDgpLDgpL7gpLjgpY3gpKTgpYcg4KSU4KSwIOCkm+Cli+Ckn+ClgCDgpJ\/gpY3gpLDgpYfgpJXgpL\/gpILgpJcg4KS24KWB4KSw4KWCIOCkueCli+CkpOClgCDgpLngpYgg4oCUIOCkl+CkvuCkh+CkoSDgpJXgpYcg4KSy4KS\/4KSPIOCkq+CljeCksOCkguCknyDgpKHgpYfgpLjgpY3gpJUg4KS44KWHIOCkquClguCkm+Clh+CkguClpCDgpIbgpKog4KS54KSu4KS+4KSw4KWHIOCkkeCksOCljeCkl+Clh+CkqOCkv+CklSDgpLjgpKzgpY3gpJzgpLzgpYAg4KSs4KSX4KWA4KSa4KWHIOCkruClh+CkgiDgpK3gpYAg4KSY4KWC4KSuIOCkuOCkleCkpOClhyDgpLngpYjgpIIsIOCknOCkueCkvuCkgSDgpLjgpYcg4KSw4KS44KWL4KSIIOCkleClgCDgpIXgpKfgpL\/gpJXgpKTgpLAg4KS44KSs4KWN4KSc4KS84KS\/4KSv4KS+4KSBIOCkhuCkpOClgCDgpLngpYjgpILgpaQ8L3A+PC9kZXRhaWxzPgogICAgICA8ZGV0YWlscz48c3VtbWFyeT7gpIbgpKrgpJXgpYAg4KSX4KWC4KSX4KSyIOCksOClh+Ckn+Ckv+CkguCklyDgpJXgpY3gpK\/gpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpKjgpL7gpLDgpYsg4KSH4KSV4KWLIOCksOCkv+CknOCkvOClieCksOCljeCknyDgpI\/gpILgpKEg4KS44KWN4KSq4KS+IOCkleCliyDgpJfgpYLgpJfgpLIg4KSq4KSwIDUzNCDgpLjgpK7gpYDgpJXgpY3gpLfgpL7gpJPgpIIg4KSV4KWHIOCkhuCkp+CkvuCksCDgpKrgpLAgNSDgpK7gpYfgpIIg4KS44KWHIDQuMyDgpLDgpYfgpJ\/gpL\/gpILgpJcg4KSu4KS\/4KSy4KWAIOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkhuCkuC3gpKrgpL7gpLgg4KSY4KWC4KSu4KSo4KWHIOCkleClgCDgpJXgpYzgpKgg4KS44KWAIOCknOCkl+CkueClh+CkgiDgpLngpYjgpII\/PC9zdW1tYXJ5PjxwPuCkleCkvuCksuCkuOClgCDgpK7gpYfgpIIg4KSF4KS24KWL4KSVIOCktuCkv+CksuCkvuCksuClh+CkliAoNiDgpJXgpL\/gpK7gpYApLCDgpKHgpL7gpJXgpKrgpKTgpY3gpKXgpLAg4KSs4KWI4KSw4KS+4KScICg4IOCkleCkv+CkruClgCksIOCklOCksCDgpKjgpYzgpJXgpL7gpK\/gpKgg4KS1IOCkquCkleCljeCkt+ClgCDgpKbgpLDgpY3gpLbgpKgg4KSV4KWHIOCksuCkv+CkjyDgpIbgpLjgpKgg4KSs4KWI4KSw4KS+4KScICgyNSDgpJXgpL\/gpK7gpYAp4KWkIOCkruCkueCkvuCkuOClgiwg4KSt4KSm4KWN4KSw4KS+4KScLCDgpK3gpKbgpY3gpLDgpJXgpL7gpLLgpYAg4KSU4KSwIOCkuOCljeCkteCkr+CkguCkreClgiDgpLbgpL\/gpLUg4KSu4KSC4KSm4KS\/4KSwIOCkreClgCDgpKrgpL7gpLgg4KSu4KWH4KSCIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkruCliOCkgiDgpIXgpKrgpKjgpYAg4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleCkviDgpK3gpYHgpJfgpKTgpL7gpKgg4KSV4KWI4KS44KWHIOCkleCksOClguCkgT88L3N1bW1hcnk+PHA+4KSs4KWB4KSV4KS\/4KSC4KSXIOCkleCksOCkpOClhyDgpLjgpK7gpK8g4KSG4KSqIOCkr+ClguCkquClgOCkhuCkiCwg4KSV4KS+4KSw4KWN4KShIOCkr+CkviDgpKjgpYfgpJ8g4KSs4KWI4KSC4KSV4KS\/4KSC4KSXIOCkuOClhyDgpLjgpYHgpLDgpJXgpY3gpLfgpL\/gpKQg4KSR4KSo4KSy4KS+4KSH4KSoIOCkreClgeCkl+CkpOCkvuCkqCDgpJXgpLAg4KS44KSV4KSk4KWHIOCkueCliOCkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpK7gpYHgpJ3gpYcg4KSW4KS+4KSo4KS+IOCkruCkv+CksiDgpLjgpJXgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpKjgpL7gpLDgpYsg4KSw4KWH4KS44KWN4KSf4KWL4KSw4KWH4KSC4KSfIOCkquCksOCkv+CkuOCksCDgpK7gpYfgpIIg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpK3gpYvgpJzgpKgg4KSq4KSw4KWL4KS44KSk4KS+IOCkueCliCwg4KSU4KSwIDE1IOCkleCkv+CkruClgCDgpJXgpYcg4KSm4KS+4KSv4KSw4KWHIOCkruClh+CkgiDgpKvgpYLgpKEg4KSh4KS\/4KSy4KWA4KS14KSw4KWAIOCkreClgCDgpIngpKrgpLLgpKzgpY3gpKcg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSa4KWH4KSVLeCkh+CkqCDgpJTgpLAg4KSa4KWH4KSVLeCkhuCkieCknyDgpJXgpL4g4KS44KSu4KSvIOCkleCljeCkr+CkviDgpLngpYg\/PC9zdW1tYXJ5PjxwPuCkmuClh+CklS3gpIbgpIngpJ8g4KS44KWB4KSs4KS5IDExIOCkrOCknOClhyDgpLngpYgsIOCkh+CkuOCksuCkv+CkjyDgpJrgpYfgpJUt4KSH4KSoIOCkuOClgeCkrOCkuSAxMSDgpKzgpJzgpYcg4KS44KWHIOCkueCli+CkpOCkviDgpLngpYjgpaQg4KSV4KSu4KSw4KWHIOCkluCkvuCksuClgCDgpLngpYvgpIIg4KSk4KWLIOCkuOClgeCkrOCkuSA5IOCkrOCknOClhyDgpLjgpYcg4KSF4KSw4KWN4KSy4KWAIOCkmuClh+CklS3gpIfgpKgg4KSs4KS\/4KSo4KS+IOCkleCkv+CkuOClgCDgpIXgpKTgpL\/gpLDgpL\/gpJXgpY3gpKQg4KS24KWB4KSy4KWN4KSVIOCkleClhyDgpLjgpILgpK3gpLUg4KS54KWI4KWkPC9wPjwvZGV0YWlscz4KICAgICAgPGRldGFpbHM+PHN1bW1hcnk+4KSV4KWN4KSv4KS+IOCkhuCkqiDgpJ\/gpYjgpJXgpY3gpLjgpYAsIOCkquCkv+CkleCkheCkqiDgpK\/gpL4g4KSh4KWN4KSw4KWJ4KSqIOCkleClgCDgpLXgpY3gpK\/gpLXgpLjgpY3gpKXgpL4g4KSV4KSw4KSk4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KS54KS+4KSB4KWkIOCkn+CliOCkleCljeCkuOClgCDgpJXgpYAg4KSq4KWC4KSb4KSk4KS+4KSbIOCkueCkruCkvuCksOClgCDgpJ\/gpYDgpK4g4KS44KWA4KSn4KWHIOCkpuClh+CkluCkpOClgCDgpLngpYjgpaQgPGEgaHJlZj0iIyIgY2xhc3M9Im9wZW5UYXdrIj7gpLngpK7gpL7gpLDgpYAg4KSf4KWA4KSuIOCkuOClhyDgpJrgpYjgpJ8g4KSV4KSw4KWH4KSCPC9hPiDgpJTgpLAg4KSq4KS\/4KSV4KSF4KSqIOCkleClgCDgpJzgpJfgpLksIOCkpOCkvuCksOClgOCkliDgpJTgpLAg4KS44KSu4KSvIOCkrOCkpOCkvuCkj+CkgeClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkleCljeCkr+CkviDgpLDgpL\/gpLjgpYngpLDgpY3gpJ8g4KSu4KWH4KSCIOCkluCkvuCkqOCkviDgpK7gpL\/gpLLgpKTgpL4g4KS54KWIPzwvc3VtbWFyeT48cD7gpLngpL7gpIHgpaQg4KSo4KS+4KSw4KWLIOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpK7gpYfgpIIg4KS24KWB4KSm4KWN4KSnIOCktuCkvuCkleCkvuCkueCkvuCksOClgCDgpJbgpL7gpKjgpL4g4KSu4KS\/4KSy4KSk4KS+IOCkueCliCDgpJTgpLAgMTUg4KSV4KS\/4KSu4KWAIOCkpOCklSDgpKHgpL\/gpLLgpYDgpLXgpLDgpYAg4KS54KWI4KWkIOCkluCkvuCkqOClhyDgpJTgpLAg4KSw4KWC4KSuIOCkuOCksOCljeCkteCkv+CkuCDgpJXgpYcg4KSy4KS\/4KSPIDk0NTgxIDM5OTExIOCkr+CkviA5NDU4MSAzOTkzMyDgpKrgpLAg4KSV4KWJ4KSyIOCkleCksOClh+CkguClpCDgpLDgpYfgpLjgpY3gpJ\/gpYvgpLDgpYfgpILgpJ8g4KSs4KS\/4KSyIOCkquCksCA1JSBHU1Qg4KSy4KSX4KSk4KS+IOCkueCliOClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCksOCkv+CknOCkvOClieCksOCljeCknyDgpJXgpYcg4KSG4KS44KSq4KS+4KS4IOCkleCljeCkr+CkviDgpKbgpYfgpJYg4KS44KSV4KSk4KWHIOCkueCliOCkgj88L3N1bW1hcnk+PHA+4KSc4KSX4KSk4KSX4KWN4KSw4KS+4KSuLCDgpJXgpL7gpLLgpLjgpYAg4KS24KS\/4KSy4KS+4KSy4KWH4KSWLCDgpKHgpL7gpJXgpKrgpKTgpY3gpKXgpLAg4KSU4KSwIOCkhuCkuOCkqCDgpKzgpYjgpLDgpL7gpJwg4KSq4KS+4KS4IOCkruClh+CkgiDgpLngpYjgpIIsIOCklOCksCDgpJrgpJXgpLDgpL7gpKTgpL4sIOCkruCkuOClguCksOClgCwg4KSL4KS34KS\/4KSV4KWH4KS2LCDgpLDgpYfgpKPgpYHgpJXgpL4g4KSd4KWA4KSyLCDgpJzgpK7gpKbgpJfgpY3gpKjgpL8g4KSu4KSC4KSm4KS\/4KSwIOCklOCksCDgpKjgpL7gpLngpKgg4KSr4KS84KWJ4KS44KS\/4KSyIOCkquCkvuCksOCljeCklSDgpKbgpL\/gpKgg4KSt4KSwIOCkleClgCDgpK\/gpL7gpKTgpY3gpLDgpL4g4KSV4KWHIOCksuCkv+CkjyDgpKzgpKLgpLzgpL\/gpK\/gpL4g4KS54KWI4KSC4KWkIOCkleCkv+CkuOClgCDgpK3gpYAg4KSc4KSX4KS5IOCkleClhyDgpKzgpL7gpLDgpYcg4KSu4KWH4KSCIDxhIGhyZWY9IiMiIGNsYXNzPSJhc2tTdXJ5YSI+4KSo4KS+4KSw4KWLIOCkuOClguCksOCljeCkr+CkvjwvYT4g4KS44KWHIOCkquClguCkm+Clh+CkguClpDwvcD48L2RldGFpbHM+CiAgICAgIDxkZXRhaWxzPjxzdW1tYXJ5PuCkruClh+CksOCkviDgpLjgpLXgpL7gpLIg4KSV4KWB4KSbIOCkheCksuCklyDgpLngpYgsIOCkleCkv+CkuOCkuOClhyDgpKrgpYLgpJvgpYLgpIE\/PC9zdW1tYXJ5PjxwPuCkueCksCDgpKrgpYfgpJwg4KSq4KSwIOCkqOClgOCkmuClhyDgpKzgpL7gpIjgpIIg4KST4KSwIOCkueCkruCkvuCksOClhyDgpJfgpL7gpIfgpKEgPGEgaHJlZj0iIyIgY2xhc3M9ImFza1N1cnlhIj7gpKjgpL7gpLDgpYsg4KS44KWC4KSw4KWN4KSv4KS+PC9hPiDgpLjgpYcg4KSq4KWC4KSb4KWH4KSC4KWkIOCkteClhyDgpJXgpK7gpLDgpYcsIOCkleCkv+CksOCkvuCkr+Ckviwg4KSq4KWC4KSw4KS+IOCksOClh+CkuOCljeCkn+Cli+CksOClh+CkguCknyDgpK7gpYfgpKjgpY3gpK\/gpYIsIOCkquCkvuCksOCljeCkn+ClgCDgpKrgpYjgpJXgpYfgpJwg4KSU4KSwIOCkhuCkuOCkquCkvuCkuCDgpJXgpYAg4KSc4KSX4KS54KWL4KSCIOCkleClhyDgpKzgpL7gpLDgpYcg4KSu4KWH4KSCIOCknOCkvuCkqOCkpOClhyDgpLngpYjgpILgpaQg4KSV4KWB4KSbIOCkluCkvuCkuCDgpLngpYsg4KSk4KWLIOCkteClhyDgpIbgpKrgpJXgpYsg4KSy4KS+4KSH4KS1IOCkmuCliOCknyDgpKrgpLAg4KS54KSu4KS+4KSw4KWAIOCkn+ClgOCkriDgpLjgpYcg4KSc4KWL4KSh4KS8IOCkpuClh+CkguCkl+Clh+ClpDwvcD48L2RldGFpbHM+CiAgICA8L2Rpdj4KPHNjcmlwdD4oZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmFxTGFuZ0VuIiksaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmFxTGFuZ0hpIiksZWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZhcUVuIiksaGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZhcUhpIik7ZnVuY3Rpb24gc2V0TGFuZyhsKXtpZihsPT09ImhpIil7ZWIuc3R5bGUuZGlzcGxheT0ibm9uZSI7aGIuc3R5bGUuZGlzcGxheT0iIjtoLmNsYXNzTmFtZT0iYnRuIGJ0bi1nb2xkIjtlLmNsYXNzTmFtZT0iYnRuIGJ0bi1saW5lIjt9ZWxzZXtoYi5zdHlsZS5kaXNwbGF5PSJub25lIjtlYi5zdHlsZS5kaXNwbGF5PSIiO2UuY2xhc3NOYW1lPSJidG4gYnRuLWdvbGQiO2guY2xhc3NOYW1lPSJidG4gYnRuLWxpbmUiO319ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtzZXRMYW5nKCJlbiIpO30pO2guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7c2V0TGFuZygiaGkiKTt9KTt9KSgpOzwvc2NyaXB0PgoKICA8L2Rpdj4KPC9zZWN0aW9uPgo8c2VjdGlvbiBjbGFzcz0icyBiYW5kIiBpZD0iY29udGFjdCI+CiAgPGRpdiBjbGFzcz0id3JhcCI+CiAgICA8ZGl2IGNsYXNzPSJzLWhlYWQiPjxzcGFuIGNsYXNzPSJleWVicm93Ij5Db250YWN0IHVzPC9zcGFuPjxoMj5WaXNpdCBvciBjaGF0IHdpdGggdXM8L2gyPjxwPldlIGFyZSBvbiB0aGUgWWFtdW5vdHJpIEhpZ2h3YXkgbmVhciBWaWthcyBOYWdhciwgNDUga20gZnJvbSBEZWhyYWR1bi48L3A+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWNhcmQiPgogICAgICAgIDxoMz5BZGRyZXNzPC9oMz4KICAgICAgICA8cCBjbGFzcz0iYWRkciI+TmFybyBFY28gUmVzb3J0PGJyPlZpbGxhZ2UgQ2hpbHlvbiwgUG9zdCBBc2hvayBBc2hyYW08YnI+dmlhIERha3BhdGhhciwgVmlrYXNuYWdhcjxicj5EZWhyYWR1biwgVXR0YXJha2hhbmQgMjQ4MTI1PC9wPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyIgc3R5bGU9Im1hcmdpbi10b3A6MThweCI+PGEgY2xhc3M9ImJ0biBidG4tZ29sZCIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2Rpci8\/YXBpPTEmZGVzdGluYXRpb249TmFybytFY28rUmVzb3J0K1Zpa2FzK05hZ2FyK1V0dGFyYWtoYW5kJnRyYXZlbG1vZGU9ZHJpdmluZyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkdldCBkaXJlY3Rpb25zPC9hPjxhIGNsYXNzPSJidG4gYnRuLWxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PU5hcm8rRWNvK1Jlc29ydCtWaWthcytOYWdhcitVdHRhcmFraGFuZCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPk9wZW4gaW4gR29vZ2xlIE1hcHM8L2E+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjb250YWN0LWNhcmQiPgogICAgICAgIDxoMz5UYWxrIHRvIHVzPC9oMz4KICAgICAgICA8cD5OYXJvIFN1cnlhIGFuc3dlcnMgcXVlc3Rpb25zIGFib3V0IHJvb21zLCByYXRlcywgdGhlIHJlc3RhdXJhbnQgbWVudSwgcGFydHkgcGFja2FnZXMgYW5kIHBsYWNlcyB0byB2aXNpdCwgaW4gRW5nbGlzaCBhbmQgSGluZGkuPC9wPgogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1nb2xkIGFza2J0biIgZGF0YS1hc2s9IiIgc3R5bGU9Im1hcmdpbi10b3A6MTRweCI+QXNrIE5hcm8gU3VyeWE8L2J1dHRvbj4KICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDoyMnB4Ij5Gb3IgdGF4aSBib29raW5ncywgc3BlY2lhbCByZXF1ZXN0cyBvciBhbnl0aGluZyBlbHNlLCBjaGF0IHdpdGggb3VyIHRlYW0uPC9wPgogICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1saW5lIG9wZW5UYXdrIiBzdHlsZT0ibWFyZ2luLXRvcDoxNHB4Ij5DaGF0IHdpdGggb3VyIHRlYW08L2J1dHRvbj4KICAgICAgICA8cCBjbGFzcz0ibm90ZS1kYXJrIiBzdHlsZT0ibWFyZ2luLXRvcDoxOHB4Ij5DaGVjay1pbiBmcm9tIDExIGFtLCBjaGVjay1vdXQgYnkgMTEgYW0uIEVhcmx5IGNoZWNrLWluIGZyb20gOSBhbSBpcyBmcmVlIHdoZW4gcm9vbXMgYXJlIHZhY2FudC48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KPC9tYWluPgoKPGZvb3Rlcj4KICA8ZGl2IGNsYXNzPSJ3cmFwIj4KICAgIDxkaXYgY2xhc3M9ImNvbHMiPgogICAgICA8ZGl2PjxpbWcgY2xhc3M9ImJyYW5kLWxvZ28iIHN0eWxlPSJ3aWR0aDo4NHB4O2hlaWdodDo4NHB4O21hcmdpbi1ib3R0b206MTRweCIgc3JjPSJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA3L05hcm9fRWNvX0xvZ29fLXJlbW92ZWJnLXByZXZpZXcucG5nIiBhbHQ9Ik5hcm8gRWNvIFJlc29ydCBsb2dvIiB3aWR0aD0iODQiIGhlaWdodD0iODQiPjxoMyBzdHlsZT0iZm9udC1zaXplOjI4cHg7bWFyZ2luLWJvdHRvbToxMnB4Ij5OYXJvIEVjbyBSZXNvcnQ8L2gzPjxwIHN0eWxlPSJjb2xvcjp2YXIoLS1taXN0MikiPlVucmVmaW5lZCBKYXVuc2FyaSBob3NwaXRhbGl0eSwgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IG5lYXIgVmlrYXMgTmFnYXIsIFV0dGFyYWtoYW5kLjwvcD48L2Rpdj4KICAgICAgPGRpdj48aDQ+VmlzaXQ8L2g0Pjx1bD48bGk+WWFtdW5vdHJpIEhpZ2h3YXk8L2xpPjxsaT5OZWFyIFZpa2FzIE5hZ2FyPC9saT48bGk+NDUga20gZnJvbSBEZWhyYWR1bjwvbGk+PC91bD48L2Rpdj4KICAgICAgPGRpdj48aDQ+UmVhY2ggdXM8L2g0Pjx1bCBpZD0iY29udGFjdExpc3QiPjwvdWw+PC9kaXY+CiAgICA8L2Rpdj4KICAgIDxwIGNsYXNzPSJmaW5lIj5Sb29tIHJhdGVzIGFyZSBwZXIgbmlnaHQgYW5kIGV4Y2x1ZGUgNSUgR1NULiBBdmFpbGFiaWxpdHkgaXMgY29uZmlybWVkIGJ5IHRoZSByZXNvcnQuPC9wPgogICAgPHAgY2xhc3M9ImNyZWRpdCI+Q3JlYXRlZCBieSA8YSBocmVmPSJodHRwczovL3d3dy4xMWNyZWF0aW9ucy5jb20iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4xMUNyZWF0aW9uczwvYT48L3A+CiAgPC9kaXY+CjwvZm9vdGVyPgoKPGJ1dHRvbiBjbGFzcz0iZmFiIiBpZD0iZmFiIiB0eXBlPSJidXR0b24iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJjaGF0Ij48c3BhbiBjbGFzcz0icHVsc2UiIHN0eWxlPSJiYWNrZ3JvdW5kOnZhcigtLWdvbGQtaW5rKSI+PC9zcGFuPkFzayBOYXJvPC9idXR0b24+CjxkaXYgY2xhc3M9ImNoYXQiIGlkPSJjaGF0IiBoaWRkZW4gcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsPSJOYXJvIGd1aWRlIj4KICA8ZGl2IGNsYXNzPSJjaGF0LWgiPjxzcGFuIHN0eWxlPSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHgiPjxpbWcgY2xhc3M9ImJyYW5kLWxvZ28iIHN0eWxlPSJ3aWR0aDoyNnB4O2hlaWdodDoyNnB4IiBzcmM9Imh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDcvTmFyb19FY29fTG9nb18tcmVtb3ZlYmctcHJldmlldy5wbmciIGFsdD0iIiB3aWR0aD0iMjYiIGhlaWdodD0iMjYiPk5hcm8gR3VpZGU8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJjaGF0WCIgYXJpYS1sYWJlbD0iQ2xvc2UgY2hhdCI+w5c8L2J1dHRvbj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJtc2dzIiBpZD0ibXNncyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvZGl2PgogIDxkaXYgY2xhc3M9InFzIiBpZD0icXMiPjwvZGl2PgogIDxmb3JtIGlkPSJjaGF0Rm9ybSI+PGlucHV0IGlkPSJjaGF0SW4iIHR5cGU9InRleHQiIGFyaWEtbGFiZWw9Ik1lc3NhZ2UgdGhlIGd1aWRlIiBwbGFjZWhvbGRlcj0iQXNrIGFib3V0IHJvb21zLCBmb29kLCBldmVudHPigKYiIGF1dG9jb21wbGV0ZT0ib2ZmIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhcmsiIHR5cGU9InN1Ym1pdCIgaWQ9ImNoYXRTZW5kIj5QYXk8L2J1dHRvbj48L2Zvcm0+CjwvZGl2PgoKPHNjcmlwdD4KLyogLS0tLS0tLS0tLSBjb25maWd1cmF0aW9uIC0tLS0tLS0tLS0gKi8KLyogQ29udGFjdCBkZXRhaWxzIGFyZSBoaWRkZW4gdW50aWwgZmlsbGVkIGluLiAqLwpjb25zdCBDT05UQUNUID0geyBlbWFpbDoiIiB9OwovKiBQaG90b3MgYWxyZWFkeSBvbiBuYXJvZWNvLmNvbS4gVGhleSBsb2FkIG9uIHRoZSBsaXZlIHNpdGU7IGluIHRoaXMgcHJldmlldyB0aGUgZHJhd24gYXJ0IHNob3dzIGluc3RlYWQuICovCmNvbnN0IFUgPSAiaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvIjsKY29uc3QgUEhPVE9TID0gewogIHJvb206ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L0RlbHV4ZS1TdWl0ZS1Sb29tLW5hcm8td20uanBnIiwgcm9vbTI6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1N1cGVyaW9yLVJvb20tbmFyby13bS5qcGciLCBnYXRlOiAiaHR0cHM6Ly9uYXJvZWNvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wOS9XaGF0c0FwcC1JbWFnZS0yMDI1LTA3LTAyLWF0LTEyLjAwLjI5LUFNLW5hcm8td20uanBnIiwgY290dGFnZTogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMS1BTS0xLW5hcm8td20uanBnIiwgbGF3bjogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMC1BTS1uYXJvLXdtLmpwZyIsIGRpbmluZzogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMi1hdC0xMi4wMC4zMy1BTS0yLW5hcm8td20uanBnIiwgd2VkZGluZzogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS4zNy1QTS0xLW5hcm8td20uanBnIiwgc3RhZ2U6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDEtYXQtMTEuNTkuMzgtUE0tbmFyby13bS5qcGciLCBkZWNvcjogImh0dHBzOi8vbmFyb2Vjby5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDkvV2hhdHNBcHAtSW1hZ2UtMjAyNS0wNy0wMS1hdC0xMS41OS40MC1QTS1uYXJvLXdtLmpwZyIsIHdhbGs6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDItYXQtMTIuMDAuMzQtQU0tbmFyby13bS5qcGciLCByZXNvcnQ6ICJodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDItYXQtMTIuMDAuMzAtQU0tMS0xLW5hcm8td20uanBnIgp9OwovKiBQYXltZW50OiB0aGUgcmVzb3J0J3MgcGF5bWVudCBnYXRld2F5IGlzIG5vdCB0b3VjaGVkIGJ5IHRoaXMgcGFnZS4KICAgT24gdGhlIGxpdmUgc2l0ZSwgZGVmaW5lIHdpbmRvdy5OYXJvUGF5KG9yZGVyKSB0byBvcGVuIHRoZSBleGlzdGluZyBjaGVja291dCBhbmQgcmVzb2x2ZSB7cGFpZDp0cnVlLCBwYXltZW50SWR9LgogICBXaXRob3V0IGl0LCB0aGUgcGFnZSBydW5zIGluIHByZXZpZXcgbW9kZSBhbmQgdGFrZXMgbm8gcGF5bWVudC4gKi8KY29uc3QgTElWRV9DRjcgPSB7IGlkOjQ2OTAsIHVybDoiL3dwLWpzb24vY29udGFjdC1mb3JtLTcvdjEvY29udGFjdC1mb3Jtcy80NjkwL2ZlZWRiYWNrIiB9Owpjb25zdCBEQkw9MjUwMCwgRkFNPTQwMDAsIFhCRUQgPSA1MDAsIEdTVCA9IDAuMDU7IGNvbnN0IEhJX0RBVEVTPVtdLCBEQkxfSEk9MjUwMCwgRkFNX0hJPTQwMDA7IGZ1bmN0aW9uIG5pZ2h0UmF0ZXMoY2ksbil7IGxldCBkPTAsZj0wOyBpZighY2l8fCEobj4wKSkgcmV0dXJuIHtkOkRCTCpNYXRoLm1heChuLDApLGY6RkFNKk1hdGgubWF4KG4sMCl9OyBmb3IobGV0IGk9MDtpPG47aSsrKXsgY29uc3QgaGk9SElfREFURVMuaW5kZXhPZihhZGREYXlzKGNpLGkpKT4tMTsgZCs9aGk\/REJMX0hJOkRCTDsgZis9aGk\/RkFNX0hJOkZBTTsgfSByZXR1cm4ge2Q6ZCxmOmZ9OyB9IGxldCBNQVhEQkw9MTEsIE1BWEZBTSA9IDE7CmNvbnN0IEZBQ1RTID0gWwogIk5hcm8gRWNvIFJlc29ydCwgWWFtdW5vdHJpIEhpZ2h3YXkgbmVhciBWaWthcyBOYWdhciwgVXR0YXJha2hhbmQsIDQ1IGttIGZyb20gRGVocmFkdW4uIiwKICJSb29tczogMTEgRG91YmxlIE9jY3VwYW5jeSBSb29tcyBhdCBScyAyLDUwMCBwZXIgbmlnaHQsIGFuZCAxIEZhbWlseSBSb29tIHdpdGggNCBiZWRzIGF0IFJzIDQsMDAwIHBlciBuaWdodC4gVGhlc2UgcmF0ZXMgZG8gbm90IGluY2x1ZGUgR1NULiIsCiAiRXZlcnkgcm9vbSBoYXMgYSBkZXNlcnQgY29vbGVyLiBFeHRyYSBiZWQgaXMgUnMgNTAwIHBlciBuaWdodC4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuIEdTVCBvZiA1JSBpcyBhZGRlZCBvbiB0b3Agb2YgdGhlIHJvb20gcmF0ZXMuIEJyZWFrZmFzdCBpcyBub3QgaW5jbHVkZWQuIiwKICJOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9ubHkuIEZvb2QgZGVsaXZlcnkgaXMgYXZhaWxhYmxlIHdpdGhpbiAxNSBrbS4iLAogIlN3aW1taW5nIHBvb2w6IGl0IHdpbGwgYmUgaW5hdWd1cmF0ZWQgc2hvcnRseSBhbmQgaXMgbm90IG9wZW4geWV0LiIsCiAiQWxzbzogV2ktRmksIDI0LWhvdXIgcG93ZXIgYmFja3VwLCBob3QgYW5kIGNvbGQgd2F0ZXIsIDI0Lzcgc2VjdXJpdHksIG9yZ2FuaWMgdmVnZXRhYmxlIGdhcmRlbiwgZnJlZSBwYXJraW5nIGZvciA1MCsgdmVoaWNsZXMuIiwKICJFdmVudHM6IGRlc3RpbmF0aW9uIHdlZGRpbmdzLCBiaXJ0aGRheXMsIGtpdHR5IHBhcnRpZXM7IGNvbmZlcmVuY2UgaGFsbCA0MCB4IDQwIGZ0LiIsCiAiTmVhcmJ5IGF0dHJhY3Rpb25zOiBBc2hva2EgUm9jayBFZGljdHMgYXQgS2Fsc2ksIDYga20gYXdheSwgYW5jaWVudCBlZGljdHMgb2YgRW1wZXJvciBBc2hva2EgY2FydmVkIGluIHJvY2suIERha3BhdGhhciBCYXJyYWdlLCA4IGttLCBhIHJpdmVyIGJhcnJhZ2UgcG9wdWxhciBmb3IgcGhvdG9zIGFuZCB3YWxrcy4gQXNhbiBCYXJyYWdlLCAyNSBrbSwga25vd24gZm9yIGJvYXRpbmcgYW5kIGJpcmR3YXRjaGluZywgZXNwZWNpYWxseSBtaWdyYXRvcnkgYmlyZHMgaW4gd2ludGVyLiBEZWhyYWR1biBjaXR5IGlzIDQ1IGttIGF3YXkuIiwgIk5lYXJieSB0ZW1wbGVzOiBNYWhhc3UgVGVtcGxlLCBCaGFkcmFqIFRlbXBsZSwgQmhhZHJhIEthbGkgVGVtcGxlIGFuZCBTd2F5YW1iaHUgU2hpdmEgVGVtcGxlIGFyZSBhbGwgYSBzaG9ydCBkcml2ZSBmcm9tIHRoZSByZXNvcnQsIG9mdGVuIHZpc2l0ZWQgdG9nZXRoZXIgd2l0aCB0aGUgQXNob2thIFJvY2sgRWRpY3RzIGluIGEgc2luZ2xlIGRheSB0cmlwLiIsCiAiQWN0aXZpdGllczogbmF0dXJlIHdhbGtzLCBmb3Jlc3QgZXhwbG9yYXRpb24sIHRyZWtraW5nLiIsCiAiUGF5bWVudDogZnVsbCBwYXltZW50IG9mIHRoZSBib29raW5nIGFtb3VudCAoaW5jbHVkaW5nIEdTVCkgaXMgcmVxdWlyZWQgaW4gYWR2YW5jZSB0byBjb25maXJtIGEgYm9va2luZzsgYSBmdWxseSBwYWlkIGJvb2tpbmcgY2FuIGJlIHJlc2NoZWR1bGVkIGZvciBhIFJzIDEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUgaWYgcGxhbnMgY2hhbmdlLiIsCiAiR3Vlc3RzIGJvb2sgYW5kIHBheSBvbmxpbmUgdGhyb3VnaCBSYXpvcnBheSwgYW5kIHRoZSByZXNvcnQgY2hlY2tzIGF2YWlsYWJpbGl0eSBhdXRvbWF0aWNhbGx5LiBEaWdpdGFsIGNoZWNrLWluIGRldGFpbHMgYXJlIGNvbGxlY3RlZCBiZWZvcmUgYXJyaXZhbC4gQ291cGxlIGZyaWVuZGx5OiB1bm1hcnJpZWQgY291cGxlcyBhcmUgd2VsY29tZS4gQWxsIGd1ZXN0cyBtdXN0IGJlIDE4IHllYXJzIG9mIGFnZSBvciBvbGRlciwgYXMgcGVyIEluZGlhbiBsYXcg4oCUIHJvb21zIGFyZSBub3QgZ2l2ZW4gdG8gdW5kZXJhZ2UgY291cGxlcyB3aXRob3V0IGFkdWx0IGFjY29tcGFuaW1lbnQuIEFsbCBndWVzdHMsIG1hcnJpZWQgb3IgdW5tYXJyaWVkLCBtdXN0IGNhcnJ5IGEgdmFsaWQgZ292ZXJubWVudCBwaG90byBJRCAoQWFkaGFyIGNhcmQsIFZvdGVyIElEIG9yIERyaXZpbmcgTGljZW5jZSkgYXQgY2hlY2staW4uIgosICJQYXJ0eSBhbmQgZXZlbnQgcGFja2FnZXM6IHRocmVlIHZlZ2V0YXJpYW4gcGFja2FnZXMgYXQgUnMgNzUwLCBScyA3MDAgYW5kIFJzIDY1MCBwZXIgcGxhdGUsIG1pbmltdW0gNTAgZ3Vlc3RzLCB3aXRoIHNvdXBzLCBzdGFydGVycywgbWFpbnMsIHJpY2UsIGRhbCwgYnJlYWQsIHJhaXRhIGFuZCBkZXNzZXJ0cy4gQm9va2luZyBuZWVkcyBhIDI1JSBhZHZhbmNlIHdoaWNoIGlzIG5vbi1yZWZ1bmRhYmxlOyB0aGUgYmFsYW5jZSA3NSUgaXMgZHVlIG9uIHRoZSBldmVudCBkYXRlLiBQYXlpbmcgYW4gZXh0cmEgNSUgYWxsb3dzIHRoZSBkYXRlIHRvIGJlIHJlc2NoZWR1bGVkLiBTZWUgdGhlIEV2ZW50cyBzZWN0aW9uIGZvciBmdWxsIHBhY2thZ2UgZGV0YWlscyBhbmQgYSBib29raW5nIGNhbGVuZGFyLiIsICJUaGUgZnVsbCBhIGxhIGNhcnRlIG1lbnUgZm9yIE5hcm8gUmVzdGF1cmFudCwgaW5jbHVkaW5nIGJyZWFrZmFzdCwgcGFyYXRoYXMsIHNvdXBzLCB2ZWcgc3RhcnRlcnMsIEluZGlhbiBtYWlucywgQXNpYW4gZGlzaGVzLCBwaXp6YSwgcGFzdGEsIGJyZWFkcywgc2FsYWRzLCB0aGFsaXMgYW5kIGRlc3NlcnRzLCBpcyBvbiB0aGUgUmVzdGF1cmFudCBwYWdlLCByZWFjaGVkIGZyb20gdGhlIEV2ZW50cyBpdGVtIGluIHRoZSBtZW51LiJdLmpvaW4oIlxuIik7CgovKiAtLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLSAqLwpjb25zdCAkID0gaWQgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwpjb25zdCBpbnIgPSBuID0+ICLigrkiICsgTWF0aC5yb3VuZChuKS50b0xvY2FsZVN0cmluZygiZW4tSU4iKTsKY29uc3QgaXNvID0gZCA9PiB7IGNvbnN0IHogPSBuZXcgRGF0ZShkLmdldFRpbWUoKSAtIGQuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MDAwMCk7IHJldHVybiB6LnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwxMCk7IH07CmNvbnN0IGFkZERheXMgPSAocyxuKSA9PiB7IGNvbnN0IGQgPSBuZXcgRGF0ZShzKyJUMDA6MDA6MDAiKTsgZC5zZXREYXRlKGQuZ2V0RGF0ZSgpK24pOyByZXR1cm4gaXNvKGQpOyB9Owpjb25zdCBmbXQgPSBzID0+IHMgPyBuZXcgRGF0ZShzKyJUMDA6MDA6MDAiKS50b0xvY2FsZURhdGVTdHJpbmcoImVuLUlOIix7d2Vla2RheToic2hvcnQiLGRheToibnVtZXJpYyIsbW9udGg6InNob3J0Iix5ZWFyOiJudW1lcmljIn0pIDogIlNlbGVjdCBkYXRlIjsKY29uc3QgZXNjID0gdCA9PiBTdHJpbmcodCkucmVwbGFjZSgvWyY8PiJdL2csYz0+KHsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsifVtjXSkpOwpjb25zdCB0b2RheSA9IGlzbyhuZXcgRGF0ZSgpKTsKY29uc3QgZnJpZGF5ID0gKDUtbmV3IERhdGUoKS5nZXREYXkoKSs3KSU3fHw3Owpjb25zdCBTID0geyBzdGVwOjEsIGNpOiIiLCBhZHVsdHM6Miwga2lkczk6MCwga2lkc1U5OjAsIGRibDoxLCBmYW06MCwgYXV0bzp0cnVlLCByZWY6IiIsIHBhaWQ6ZmFsc2UgfTsKUy5jbyA9ICIiOwpjb25zdCBuaWdodHMgPSAoKSA9PiB7IGNvbnN0IG4gPSBNYXRoLnJvdW5kKChuZXcgRGF0ZShTLmNvKS1uZXcgRGF0ZShTLmNpKSkvODY0MDAwMDApOyByZXR1cm4gbj4wP246MDsgfTsKY29uc3QgdmFsID0gaWQgPT4gJChpZCkudmFsdWUudHJpbSgpOwpjb25zdCByYWRpbyA9IG4gPT4gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9IiR7bn0iXTpjaGVja2VkYCl8fHt9KS52YWx1ZSB8fCAiIjsKY29uc3QgcGx1cmFsID0gKG4sYSxiKSA9PiBuKyIgIisobj09PTE\/YTpiKTsKY29uc3QgZ3Vlc3RzVGV4dCA9ICgpID0+IHBsdXJhbChTLmFkdWx0cywiYWR1bHQiLCJhZHVsdHMiKSArIChTLmtpZHM5PyIsICIrcGx1cmFsKFMua2lkczksImNoaWxkIiwiY2hpbGRyZW4iKSsiIGFnZWQgOSsiOiIiKSArIChTLmtpZHNVOT8iLCAiK3BsdXJhbChTLmtpZHNVOSwiY2hpbGQiLCJjaGlsZHJlbiIpKyIgYmVsb3cgOSI6IiIpOwpjb25zdCByb29tc1RleHQgPSAoKSA9PiBbUy5kYmw\/cGx1cmFsKFMuZGJsLCJEb3VibGUgUm9vbSIsIkRvdWJsZSBSb29tcyIpOiIiLCBTLmZhbT9wbHVyYWwoUy5mYW0sIkZhbWlseSBSb29tIiwiRmFtaWx5IFJvb21zIik6IiJdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgYW5kICIpIHx8ICJubyByb29tcyI7CgpsZXQgc2FtcGxlRm47IGNvbnN0IHNhbXBsZVJlYWR5ID0gKGFzeW5jKCk9PnsgdHJ5eyBzYW1wbGVGbiA9IGF3YWl0IHdpbmRvdy5jbGF1ZGU\/LnVzZSgic2FtcGxlIik7IH1jYXRjaChlKXsgc2FtcGxlRm4gPSBudWxsOyB9IH0pKCk7CgovKiAtLS0tLS0tLS0tIHBob3RvIHNsb3RzOiByZWFsIHBob3RvIHdoZW4gcmVhY2hhYmxlLCBkcmF3biBhcnQgb3RoZXJ3aXNlIC0tLS0tLS0tLS0gKi8KZnVuY3Rpb24gYXJ0KHNlZWQpewogIGNvbnN0IGh1ZSA9IFtbICIjMWQ0YTNiIiwiIzJmNmI1NyIsIiMwZjJhMjEiXSxbIiMyODQ4M2YiLCIjM2M2ZDYwIiwiIzEzMmIyNSJdLFsiIzJiNGE1MiIsIiMzZjcwNzgiLCIjMTMyYTMwIl0sWyIjM2E0YTMzIiwiIzViN2E0YyIsIiMxYTJhMTciXSxbIiMzNDQ2M2YiLCIjNTU3ODZhIiwiIzE1MjcxZiJdXVtzZWVkJTVdOwogIGNvbnN0IHN1biA9IDYwICsgKHNlZWQqMzcpJTE4MDsKICByZXR1cm4gYDxzdmcgdmlld0JveD0iMCAwIDQwMCAzMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIHNsaWNlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHJlY3Qgd2lkdGg9IjQwMCIgaGVpZ2h0PSIzMDAiIGZpbGw9IiR7aHVlWzJdfSIvPjxjaXJjbGUgY3g9IiR7c3VuKzEyMH0iIGN5PSI4MCIgcj0iMzAiIGZpbGw9IiNlZmJmNjIiIG9wYWNpdHk9Ii43NSIvPjxwYXRoIGQ9Ik0wIDE5MCBMNzAgMTIwIEwxNDAgMTcwIEwyMjAgOTAgTDMwMCAxNzAgTDM2MCAxMzAgTDQwMCAxNjAgVjMwMCBIMFoiIGZpbGw9IiR7aHVlWzFdfSIgb3BhY2l0eT0iLjciLz48cGF0aCBkPSJNMCAyMzAgTDkwIDE3MCBMMTgwIDIyMCBMMjcwIDE2MCBMNDAwIDIzMCBWMzAwIEgwWiIgZmlsbD0iJHtodWVbMF19Ii8+PHBhdGggZD0iTTAgMjY4IEMxMDAgMjUwIDI1MCAyODAgNDAwIDI1OCBWMzAwIEgwWiIgZmlsbD0iJHtodWVbMl19Ii8+PC9zdmc+YDsKfQpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1waG90b10iKS5mb3JFYWNoKGVsPT57CiAgZWwuaW5uZXJIVE1MID0gYXJ0KCtlbC5kYXRhc2V0LnNlZWR8fDApOwogIGNvbnN0IHUgPSBQSE9UT1NbZWwuZGF0YXNldC5waG90b107IGlmKCF1KSByZXR1cm47CiAgY29uc3QgaW0gPSBuZXcgSW1hZ2UoKTsgaW0uYWx0ID0gIiI7IAogIGltLm9ubG9hZCA9ICgpID0+IHsgZWwuaW5uZXJIVE1MID0gIiI7IGVsLmFwcGVuZENoaWxkKGltKTsgfTsKICBpbS5zcmMgPSB1Owp9KTsKCi8qIC0tLS0tLS0tLS0gaGVybyBjYW52YXM6IHJpZGdlbGluZXMsIG1pc3QsIGZpcmVmbGllcywgdGludGVkIGJ5IHRoZSB2aWV3ZXIncyBsb2NhbCBob3VyIC0tLS0tLS0tLS0gKi8KKGZ1bmN0aW9uKCl7CiAgY29uc3QgY3YgPSAkKCJza3kiKSwgY3ggPSBjdi5nZXRDb250ZXh0KCIyZCIpOyBpZighY3gpIHJldHVybjsKICBjb25zdCBoID0gbmV3IERhdGUoKS5nZXRIb3VycygpK25ldyBEYXRlKCkuZ2V0TWludXRlcygpLzYwOwogIGNvbnN0IFAgPSBoPDUuNXx8aD49MTkuNSA\/IHt0b3A6IiMwNTBjMTQiLG1pZDoiIzBkMjIzMCIsaG9yOiIjMWM0YTRhIixnbG93OiIjN2ZiOGM4IixzdW46MC4wLG1vb246dHJ1ZX0KICAgICAgICAgIDogaDw4ID8ge3RvcDoiIzE0MjYzYSIsbWlkOiIjNWI2YjdhIixob3I6IiNmMGEzNmIiLGdsb3c6IiNmZmQwOGEiLHN1bjoxLG1vb246ZmFsc2V9CiAgICAgICAgICA6IGg8MTYuNSA\/IHt0b3A6IiMxMjQwNWEiLG1pZDoiIzNmN2Y4ZCIsaG9yOiIjYThkMGMwIixnbG93OiIjZmZmMGI4IixzdW46MSxtb29uOmZhbHNlfQogICAgICAgICAgOiB7dG9wOiIjMWEyYTRhIixtaWQ6IiM4YTVhNmEiLGhvcjoiI2YwOGE1YSIsZ2xvdzoiI2ZmYzA3MCIsc3VuOjEsbW9vbjpmYWxzZX07CiAgbGV0IFc9MCxIPTAsZHByPTEsbXg9MC41LHQwPXBlcmZvcm1hbmNlLm5vdygpLHJhZj0wOwogIGNvbnN0IGZsaWVzID0gQXJyYXkuZnJvbSh7bGVuZ3RoOjQ2fSwoXyxpKT0+KHt4Ok1hdGgucmFuZG9tKCkseTouNDUrTWF0aC5yYW5kb20oKSouNSxyOi44K01hdGgucmFuZG9tKCkqMS44LHA6TWF0aC5yYW5kb20oKSo2LjI4LHM6LjIrTWF0aC5yYW5kb20oKSouNn0pKTsKICBjb25zdCBtaXN0ID0gQXJyYXkuZnJvbSh7bGVuZ3RoOjZ9LChfLGkpPT4oe3g6TWF0aC5yYW5kb20oKSx5Oi41NStNYXRoLnJhbmRvbSgpKi4zLHI6LjI1K01hdGgucmFuZG9tKCkqLjMsczouMDA0K01hdGgucmFuZG9tKCkqLjAwOH0pKTsKICBmdW5jdGlvbiBzaXplKCl7IGRwcj1NYXRoLm1pbigyLHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTsgVz1jdi5jbGllbnRXaWR0aDsgSD1jdi5jbGllbnRIZWlnaHQ7IGN2LndpZHRoPVcqZHByOyBjdi5oZWlnaHQ9SCpkcHI7IGN4LnNldFRyYW5zZm9ybShkcHIsMCwwLGRwciwwLDApOyB9CiAgZnVuY3Rpb24gcmlkZ2UoYmFzZSxhbXAsc2VlZCxwYXIsY29sLHQpewogICAgY3guYmVnaW5QYXRoKCk7IGN4Lm1vdmVUbygwLEgpOwogICAgZm9yKGxldCB4PTA7eDw9Vzt4Kz04KXsKICAgICAgY29uc3QgdT14L1crKG14LS41KSpwYXI7CiAgICAgIGNvbnN0IHk9SCpiYXNlIC0gYW1wKihNYXRoLnNpbih1KjUrc2VlZCkqLjUrTWF0aC5zaW4odSoxMStzZWVkKjIuMykqLjI4K01hdGguc2luKHUqMjMrc2VlZCouNykqLjEyKSAtIGFtcCouMjUqTWF0aC5zaW4odCouMDAwMDYrc2VlZCt1KjIpOwogICAgICBjeC5saW5lVG8oeCx5KTsKICAgIH0KICAgIGN4LmxpbmVUbyhXLEgpOyBjeC5jbG9zZVBhdGgoKTsgY3guZmlsbFN0eWxlPWNvbDsgY3guZmlsbCgpOwogIH0KICBmdW5jdGlvbiBmcmFtZShub3csc3RpbGwpewogICAgY29uc3QgdD1ub3ctdDA7CiAgICBjb25zdCBnPWN4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsMCwwLEgpOyBnLmFkZENvbG9yU3RvcCgwLFAudG9wKTsgZy5hZGRDb2xvclN0b3AoLjU1LFAubWlkKTsgZy5hZGRDb2xvclN0b3AoLjg1LFAuaG9yKTsgY3guZmlsbFN0eWxlPWc7IGN4LmZpbGxSZWN0KDAsMCxXLEgpOwogICAgY29uc3Qgc3g9VyooLjY4KyhteC0uNSkqLjA2KSwgc3k9SCooUC5tb29uPy4yOi40Mik7CiAgICBjb25zdCByZz1jeC5jcmVhdGVSYWRpYWxHcmFkaWVudChzeCxzeSwwLHN4LHN5LEgqLjU1KTsgcmcuYWRkQ29sb3JTdG9wKDAsUC5nbG93KyJjYyIpOyByZy5hZGRDb2xvclN0b3AoLjI1LFAuZ2xvdysiNDQiKTsgcmcuYWRkQ29sb3JTdG9wKDEsUC5nbG93KyIwMCIpOyBjeC5maWxsU3R5bGU9cmc7IGN4LmZpbGxSZWN0KDAsMCxXLEgpOwogICAgY3guYmVnaW5QYXRoKCk7IGN4LmFyYyhzeCxzeSxQLm1vb24\/MjA6MjYsMCw2LjI4Myk7IGN4LmZpbGxTdHlsZT1QLm1vb24\/IiNlOGYwZWEiOiIjZmZmM2NmIjsgY3guZ2xvYmFsQWxwaGE9Ljk1OyBjeC5maWxsKCk7IGN4Lmdsb2JhbEFscGhhPTE7CiAgICByaWRnZSguNjIsSCouMTYsMS4yLC4wNSwicmdiYSg4MCwxMjAsMTIwLC41NSkiLHQpOwogICAgcmlkZ2UoLjcwLEgqLjE0LDMuMSwuMDksInJnYmEoMzgsODgsNzYsLjgpIix0KTsKICAgIG1pc3QuZm9yRWFjaChtPT57IGNvbnN0IHg9KChtLngrdCptLnMqLjAwMDEpJTEuNC0uMikqVywgeT1tLnkqSCwgcj1tLnIqVzsKICAgICAgY29uc3QgbWc9Y3guY3JlYXRlUmFkaWFsR3JhZGllbnQoeCx5LDAseCx5LHIpOyBtZy5hZGRDb2xvclN0b3AoMCwicmdiYSgyMjAsMjM2LDIyOCwuMTYpIik7IG1nLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDIyMCwyMzYsMjI4LDApIik7IGN4LmZpbGxTdHlsZT1tZzsgY3guZmlsbFJlY3QoeC1yLHktcixyKjIscioyKTsgfSk7CiAgICByaWRnZSguODAsSCouMTIsNS40LC4xNiwicmdiYSgxNiw1Miw0MiwuOTUpIix0KTsKICAgIHJpZGdlKC45MCxIKi4wOSw3LjcsLjI2LCIjMGEyMTE5Iix0KTsKICAgIGZsaWVzLmZvckVhY2goZj0+eyBjb25zdCBhPS4zNSsuNjUqTWF0aC5hYnMoTWF0aC5zaW4oZi5wK3QqLjAwMSpmLnMpKTsgY29uc3QgeD0oZi54K01hdGguc2luKHQqLjAwMDIqZi5zK2YucCkqLjAzKSpXLCB5PShmLnkrTWF0aC5jb3ModCouMDAwMjUqZi5zK2YucCkqLjAyKSpIOwogICAgICBjb25zdCBmZz1jeC5jcmVhdGVSYWRpYWxHcmFkaWVudCh4LHksMCx4LHksZi5yKjYpOyBmZy5hZGRDb2xvclN0b3AoMCxgcmdiYSgyMzksMTkxLDk4LCR7YX0pYCk7IGZnLmFkZENvbG9yU3RvcCgxLCJyZ2JhKDIzOSwxOTEsOTgsMCkiKTsgY3guZmlsbFN0eWxlPWZnOyBjeC5maWxsUmVjdCh4LWYucio2LHktZi5yKjYsZi5yKjEyLGYucioxMik7IH0pOwogICAgaWYoIXN0aWxsKSByYWY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKG49PmZyYW1lKG4sZmFsc2UpKTsKICB9CiAgY29uc3QgcmVkdWNlID0gd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlczsKICBzaXplKCk7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57IHNpemUoKTsgaWYocmVkdWNlKSBmcmFtZShwZXJmb3JtYW5jZS5ub3coKSx0cnVlKTsgfSk7CiAgY3YucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsZT0+eyBteD1lLmNsaWVudFgvd2luZG93LmlubmVyV2lkdGg7IH0pOwogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLCgpPT57IGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZik7IGlmKCFkb2N1bWVudC5oaWRkZW4gJiYgIXJlZHVjZSkgcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZShuPT5mcmFtZShuLGZhbHNlKSk7IH0pOwogIGlmKHJlZHVjZSkgZnJhbWUocGVyZm9ybWFuY2Uubm93KCksdHJ1ZSk7IGVsc2UgcmFmPXJlcXVlc3RBbmltYXRpb25GcmFtZShuPT5mcmFtZShuLGZhbHNlKSk7Cn0pKCk7CgovKiAtLS0tLS0tLS0tIHByaWNpbmc6IDkgZG91YmxlIHJvb21zIGFuZCAxIGZhbWlseSByb29tLCBHU1QgNSUgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBjYWxjKCl7CiAgY29uc3QgRz1TLmFkdWx0cytTLmtpZHM5LCBUPUcrUy5raWRzVTksIG49bmlnaHRzKCksIHJvb21zPVMuZGJsK1MuZmFtOwogIGNvbnN0IGV4dHJhcz1NYXRoLm1heCgwLEctKDIqUy5kYmwrNCpTLmZhbSkpOwogIGxldCBwcm9ibGVtPSIiOwogIGlmKHJvb21zPDEpIHByb2JsZW09IkNob29zZSBhdCBsZWFzdCBvbmUgcm9vbS4iOwogIGVsc2UgaWYocm9vbXM+RykgcHJvYmxlbT0iVGhlcmUgYXJlIG1vcmUgcm9vbXMgdGhhbiBndWVzdHMuIFJlZHVjZSB0aGUgcm9vbXMgb3IgdGFwIFN1Z2dlc3QgYmVzdCByb29tcy4iOwogIGVsc2UgaWYoZXh0cmFzPlMuZGJsKSBwcm9ibGVtPSJUaGVzZSByb29tcyBjYW5ub3QgaG9sZCB5b3VyIGdyb3VwLiBBZGQgYSByb29tIG9yIHRhcCBTdWdnZXN0IGJlc3Qgcm9vbXMuIjsKICBlbHNlIGlmKFQ+NCpyb29tcykgcHJvYmxlbT0iQSByb29tIGhvbGRzIHVwIHRvIDQgcGVvcGxlLCBpbmNsdWRpbmcgY2hpbGRyZW4uIEFkZCBhIHJvb20gb3IgdGFwIFN1Z2dlc3QgYmVzdCByb29tcy4iOwogIGNvbnN0IG5yPW5pZ2h0UmF0ZXMoUy5jaSxuKSwgcGVyTmlnaHQ9REJMKlMuZGJsK0ZBTSpTLmZhbStYQkVEKmV4dHJhcywgc3ViPW5yLmQqUy5kYmwrbnIuZipTLmZhbStYQkVEKmV4dHJhcypuLCBnc3Q9TWF0aC5yb3VuZChzdWIqR1NUKjEwMCkvMTAwLCB0b3RhbD1NYXRoLnJvdW5kKChzdWIrZ3N0KSoxMDApLzEwMDsKICByZXR1cm4ge0csVCxuLHJvb21zLGV4dHJhcyxwcm9ibGVtLHBlck5pZ2h0LHN1Yixnc3QsdG90YWx9Owp9CmZ1bmN0aW9uIHJlY29tbWVuZCgpewogIGNvbnN0IEc9Uy5hZHVsdHMrUy5raWRzOSwgVD1HK1Mua2lkc1U5OyBsZXQgYmVzdD1udWxsOwogIGZvcihsZXQgeT0oUy5hZHVsdHM+PTMmJlMuZmFtUGljaz09PXRydWU\/MTowKTt5PD0oUy5hZHVsdHM+PTMmJlMuZmFtUGljayE9PWZhbHNlP01BWEZBTTowKTt5KyspIGZvcihsZXQgeD0wO3g8PU1BWERCTDt4KyspewogICAgY29uc3Qgcm9vbXM9eCt5OyBpZihyb29tczwxfHxyb29tcz5HKSBjb250aW51ZTsKICAgIGNvbnN0IGV4dHJhcz1NYXRoLm1heCgwLEctKDIqeCs0KnkpKTsgaWYoZXh0cmFzPnh8fFQ+NCpyb29tcykgY29udGludWU7CiAgICBjb25zdCBjb3N0PURCTCp4K0ZBTSp5K1hCRUQqZXh0cmFzOwogICAgaWYoIWJlc3R8fGNvc3Q8YmVzdC5jb3N0fHwoY29zdD09PWJlc3QuY29zdCYmcm9vbXM8YmVzdC5yb29tcykpIGJlc3Q9e3gseSxjb3N0LHJvb21zfTsKICB9CiAgcmV0dXJuIGJlc3Q7Cn0KZnVuY3Rpb24gZm0yKG4peyByZXR1cm4gIuKCuSIrTnVtYmVyKG4pLnRvTG9jYWxlU3RyaW5nKCJlbi1JTiIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk7IH0KZnVuY3Rpb24gYnJlYWtkb3duKGMpewogIGNvbnN0IG49Yy5uLCByPVtdOwogIHIucHVzaCgoUy5jaSYmUy5jbyk\/W2ZtdChTLmNpKSsiIHRvICIrZm10KFMuY28pLCBwbHVyYWwobiwibmlnaHQiLCJuaWdodHMiKV06WyJDaG9vc2UgeW91ciBkYXRlcyIsICIiXSk7CiAgaWYoUy5kYmwpIHIucHVzaChbUy5kYmwrIiDDlyBEb3VibGUgUm9vbSIsIGlucihuaWdodFJhdGVzKFMuY2ksbikuZCpTLmRibCldKTsKICBpZihTLmZhbSkgci5wdXNoKFtTLmZhbSsiIMOXIEZhbWlseSBSb29tIiwgaW5yKG5pZ2h0UmF0ZXMoUy5jaSxuKS5mKlMuZmFtKV0pOwogIGlmKGMuZXh0cmFzKSByLnB1c2goW3BsdXJhbChjLmV4dHJhcywiZXh0cmEgYmVkIiwiZXh0cmEgYmVkcyIpLCBpbnIoWEJFRCpjLmV4dHJhcypuKV0pOwogIGlmKFMua2lkc1U5KSByLnB1c2goW3BsdXJhbChTLmtpZHNVOSwiY2hpbGQiLCJjaGlsZHJlbiIpKyIgYmVsb3cgOSIsICJGcmVlIl0pOwogIHIucHVzaChbIlJvb20gY2hhcmdlcyIsIGZtMihjLnN1YildLFsiQ0dTVCAyLjUlIiwgZm0yKE1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCldLFsiU0dTVCAyLjUlIiwgZm0yKGMuZ3N0LU1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCldKTsKICByZXR1cm4gci5tYXAoeD0+YDxkaXY+PHNwYW4+JHt4WzBdfTwvc3Bhbj48c3BhbiBjbGFzcz0idiI+JHt4WzFdfTwvc3Bhbj48L2Rpdj5gKS5qb2luKCIiKStgPGRpdiBjbGFzcz0idG90YWwiPjxzcGFuPlRvdGFsIChpbmNsLiBHU1QpPC9zcGFuPjxzcGFuIGNsYXNzPSJ2Ij4ke2lucihjLnRvdGFsKX08L3NwYW4+PC9kaXY+YDsKfQoKLyogLS0tLS0tLS0tLSBzdGF0ZSB0byBzY3JlZW4gLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBhcHBseVJhdGVzKCl7IHRyeXsgY29uc3QgcmVmPShTJiZTLmNpKT9TLmNpOnRvZGF5OyBjb25zdCBoaT1ISV9EQVRFUy5pbmRleE9mKHJlZik+LTE7IGNvbnN0IGRyPWhpP0RCTF9ISTpEQkwsIGZyPWhpP0ZBTV9ISTpGQU07IGNvbnN0IGY9ZnVuY3Rpb24oeCl7cmV0dXJuICLigrkiK051bWJlcih4KS50b0xvY2FsZVN0cmluZygiZW4tSU4iKTt9OyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxkIGxhYmVsIikuZm9yRWFjaChmdW5jdGlvbihsKXsgY29uc3QgdD1sLnRleHRDb250ZW50OyBpZih0LmluZGV4T2YoIkRvdWJsZSByb29tcyIpPT09MCkgbC50ZXh0Q29udGVudD0iRG91YmxlIHJvb21zIjsgZWxzZSBpZih0LmluZGV4T2YoIkZhbWlseSByb29tIik9PT0wKSBsLnRleHRDb250ZW50PSJGYW1pbHkgcm9vbSAoNCBiZWRzKSI7IH0pOyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJiLnJvb20tZG91YmxlIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnRleHRDb250ZW50PWYoZHIpO30pOyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJiLnJvb20tZmFtaWx5IikuZm9yRWFjaChmdW5jdGlvbihlKXtlLnRleHRDb250ZW50PWYoZnIpO30pOyB9Y2F0Y2goZSl7fSB9IApmdW5jdGlvbiByb29tUGxhbigpeyB2YXIgYT1bXTsgaWYoUy5mYW0pIGEucHVzaCgiMSBmYW1pbHkgcm9vbSIpOyBpZihTLmRibCkgYS5wdXNoKFMuZGJsKyhTLmRibD4xPyIgZG91YmxlIHJvb21zIjoiIGRvdWJsZSByb29tIikpOyByZXR1cm4gYS5qb2luKCIgYW5kICIpfHwibm9uZSB5ZXQiOyB9CmZ1bmN0aW9uIHJvb21zVUkoKXsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZmxkIikuZm9yRWFjaChmdW5jdGlvbihmKXsKICAgIGlmKGYucXVlcnlTZWxlY3RvcignW2RhdGEtc3RlcF49ImRibDoiXScpKXsgZi5zdHlsZS5kaXNwbGF5PSJub25lIjsgcmV0dXJuOyB9CiAgICBpZighZi5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zdGVwXj0iZmFtOiJdJykpIHJldHVybjsKICAgIGlmKCFmLnF1ZXJ5U2VsZWN0b3IoIi5mYW1DaGsiKSl7CiAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZi5jaGlsZHJlbixmdW5jdGlvbihjKXsgYy5zdHlsZS5kaXNwbGF5PSJub25lIjsgfSk7CiAgICAgIHZhciBsYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpOwogICAgICBsYi5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTRweDtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOjA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS40O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzoxNHB4IDE2cHg7Ym9yZGVyOjJweCBzb2xpZCAjYzk5ODJlO2JvcmRlci1yYWRpdXM6MTJweCI7CiAgICAgIGxiLmlubmVySFRNTD0nPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iZmFtQ2hrIiBzdHlsZT0id2lkdGg6MjhweDtoZWlnaHQ6MjhweDttaW4taGVpZ2h0OjA7ZmxleDpub25lO21hcmdpbjoycHggMCAwO2FjY2VudC1jb2xvcjojYzk5ODJlIj48c3Bhbj48Yj5JbmNsdWRlIG91ciBmYW1pbHkgcm9vbSAoNCBiZWRzKTwvYj48YnI+PHNtYWxsIHN0eWxlPSJmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDA7b3BhY2l0eTouODUiPldlIGhhdmUgb25seSBvbmUgZmFtaWx5IHJvb20uIFRpY2sgaXQgdG8gYWRkIGl0IHRvIHlvdXIgYm9va2luZy4gVW50aWNrIHRvIHN0YXkgaW4gZG91YmxlIHJvb21zIG9ubHkuPC9zbWFsbD48L3NwYW4+JzsKICAgICAgZi5hcHBlbmRDaGlsZChsYik7CiAgICAgIGxiLnF1ZXJ5U2VsZWN0b3IoIi5mYW1DaGsiKS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKGV2KXsgUy5mYW1QaWNrPWV2LnRhcmdldC5jaGVja2VkOyBTLmF1dG89dHJ1ZTsgcmVuZGVyKCk7IH0pOwogICAgfQogICAgZi5zdHlsZS5kaXNwbGF5PShTLmFkdWx0cz49Myk\/IiI6Im5vbmUiOwogICAgZi5xdWVyeVNlbGVjdG9yKCIuZmFtQ2hrIikuY2hlY2tlZD1TLmZhbT4wOwogIH0pOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZCo9ImF1dG9CdG4iXScpLmZvckVhY2goZnVuY3Rpb24oYil7IGIuc3R5bGUuZGlzcGxheT0ibm9uZSI7IH0pOwp9CmZ1bmN0aW9uIHJlbmRlcigpeyBhcHBseVJhdGVzKCk7IGlmKFMuYWR1bHRzPDMpIFMuZmFtPTA7ICBpZihTLmF1dG8peyBjb25zdCBiPXJlY29tbWVuZCgpOyBpZihiKXsgUy5kYmw9Yi54OyBTLmZhbT1iLnk7IH0gfQogIGNvbnN0IGM9Y2FsYygpOwogICQoImNpIikudmFsdWU9Uy5jaTsgJCgiY28iKS52YWx1ZT1TLmNvOyAkKCJjaSIpLm1pbj10b2RheTsgJCgiY28iKS5taW49Uy5jaT9hZGREYXlzKFMuY2ksMSk6dG9kYXk7CiAgJCgiYWR1bHRzTyIpLnRleHRDb250ZW50PVMuYWR1bHRzOyAkKCJraWRzOU8iKS50ZXh0Q29udGVudD1TLmtpZHM5OyAkKCJraWRzVTlPIikudGV4dENvbnRlbnQ9Uy5raWRzVTk7ICQoImRibE8iKS50ZXh0Q29udGVudD1TLmRibDsgJCgiZmFtTyIpLnRleHRDb250ZW50PVMuZmFtOyByb29tc1VJKCk7CiAgJCgicm9vbUhpbnQiKS50ZXh0Q29udGVudCA9IGMucHJvYmxlbSB8fCAoKCJZb3VyIHJvb21zOiAiK3Jvb21QbGFuKCkrIi4iKSsoYy5leHRyYXM\/IiBJbmNsdWRlcyAiK3BsdXJhbChjLmV4dHJhcywiZXh0cmEgYmVkIiwiZXh0cmEgYmVkcyIpKyIgYXQg4oK5NTAwIGEgbmlnaHQuIjoiIikpOwogICQoInJvb21IaW50Iikuc3R5bGUuY29sb3IgPSBjLnByb2JsZW0gPyAiI2IyM2ExNyIgOiAiIjsKICAkKCJsaW5lcyIpLmlubmVySFRNTD1icmVha2Rvd24oYyk7CiAgJCgiYnJpZWYiKS50ZXh0Q29udGVudCA9IGd1ZXN0c1RleHQoKSsiLiAiK3BsdXJhbChjLm4sIm5pZ2h0IiwibmlnaHRzIikrIiBmcm9tICIrZm10KFMuY2kpKyIuICIrcm9vbXNUZXh0KCkrIi4iOwogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNzdGVwcyBidXR0b24iKS5mb3JFYWNoKGI9PnsgY29uc3Qgaz0rYi5kYXRhc2V0LmdvOyBiLmNsYXNzTGlzdC50b2dnbGUoIm9uIixrPT09Uy5zdGVwKTsgYi5jbGFzc0xpc3QudG9nZ2xlKCJkb25lIixrPFMuc3RlcCk7IH0pOwogIGZvcihsZXQgaT0xO2k8PTQ7aSsrKSAkKCJwIitpKS5oaWRkZW4gPSBpIT09Uy5zdGVwOwp9CmNvbnN0IExJTT17YWR1bHRzOlsxLDIwXSxraWRzOTpbMCwxMF0sa2lkc1U5OlswLDEwXSxkYmw6WzAsTUFYREJMXSxmYW06WzAsTUFYRkFNXX07CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlPT57CiAgY29uc3QgYj1lLnRhcmdldC5jbG9zZXN0KCJbZGF0YS1zdGVwXSIpOyBpZighYikgcmV0dXJuOwogIGNvbnN0IFtrLGRdPWIuZGF0YXNldC5zdGVwLnNwbGl0KCI6Iik7IGNvbnN0IGw9TElNW2tdOwogIFNba109TWF0aC5taW4obFsxXSxNYXRoLm1heChsWzBdLFNba10rICtkKSk7CiAgUy5hdXRvPXRydWU7CiAgcmVuZGVyKCk7Cn0pOwokKCJhdXRvQnRuIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57IFMuYXV0bz10cnVlOyByZW5kZXIoKTsgfSk7CiQoImNpIikuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixlPT57IGlmKCFlLnRhcmdldC52YWx1ZSkgcmV0dXJuOyBTLmNpPWUudGFyZ2V0LnZhbHVlOyBpZihTLmNvPD1TLmNpKSBTLmNvPWFkZERheXMoUy5jaSwxKTsgcmVuZGVyKCk7IH0pOwokKCJjbyIpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZT0+eyBpZighZS50YXJnZXQudmFsdWUpIHJldHVybjsgUy5jbz1lLnRhcmdldC52YWx1ZTsgaWYoUy5jbzw9Uy5jaSkgUy5jbz1hZGREYXlzKFMuY2ksMSk7IHJlbmRlcigpOyB9KTsKCi8qIC0tLS0tLS0tLS0gc3RlcHMgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBnbyhuKXsKICBpZihuPlMuc3RlcCAmJiAhdmFsaWRhdGUoUy5zdGVwKSkgcmV0dXJuOwogIGlmKG49PT00ICYmICFTLnBhaWQpIHJldHVybjsKICBTLnN0ZXA9bjsgcmVuZGVyKCk7IGlmKG49PT0zKSByZW5kZXJSZXZpZXcoKTsKICAkKCJib29rIikuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJzdGFydCJ9KTsKfQpmdW5jdGlvbiB2YWxpZGF0ZShzdGVwKXsKICBpZihzdGVwPT09MSl7CiAgICBjb25zdCBjPWNhbGMoKTsKICAgIGlmKG5pZ2h0cygpPDEpeyAkKCJlMSIpLnRleHRDb250ZW50PSJDaG9vc2UgYSBjaGVjay1vdXQgZGF0ZSBhZnRlciBjaGVjay1pbi4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGlmKFMuY2k8dG9kYXkpeyAkKCJlMSIpLnRleHRDb250ZW50PSJDaGVjay1pbiBjYW5ub3QgYmUgaW4gdGhlIHBhc3QuIjsgcmV0dXJuIGZhbHNlOyB9CiAgICBpZihjLnByb2JsZW0peyAkKCJlMSIpLnRleHRDb250ZW50PWMucHJvYmxlbTsgcmV0dXJuIGZhbHNlOyB9CiAgICAkKCJlMSIpLnRleHRDb250ZW50PSIiOwogIH0KICBpZihzdGVwPT09Mil7CiAgICBjb25zdCBwaD12YWwoImdQaG9uZSIpLnJlcGxhY2UoL1tccy1dL2csIiIpOwogICAgaWYodmFsKCJnTmFtZSIpLmxlbmd0aDwyKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iRW50ZXIgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBjaGVja2luZyBpbi4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGlmKCEvXihcKz85MSk\/WzYtOV1cZHs5fSQvLnRlc3QocGgpKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iRW50ZXIgYSAxMC1kaWdpdCBJbmRpYW4gbW9iaWxlIG51bWJlci4iOyByZXR1cm4gZmFsc2U7IH0KICAgIGNvbnN0IGVtPXZhbCgiZ0VtYWlsIik7IGlmKGVtICYmICEvXlteQFxzXStAW15AXHNdK1wuW15AXHNdKyQvLnRlc3QoZW0pKXsgJCgiZTIiKS50ZXh0Q29udGVudD0iVGhhdCBlbWFpbCBhZGRyZXNzIGxvb2tzIGluY29tcGxldGUuIjsgcmV0dXJuIGZhbHNlOyB9CiAgICAkKCJlMiIpLnRleHRDb250ZW50PSIiOwogIH0KICByZXR1cm4gdHJ1ZTsKfQpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZT0+ewogIGNvbnN0IG49ZS50YXJnZXQuY2xvc2VzdCgiW2RhdGEtbmV4dF0iKTsgaWYobil7IGdvKCtuLmRhdGFzZXQubmV4dCk7IHJldHVybjsgfQogIGNvbnN0IGc9ZS50YXJnZXQuY2xvc2VzdCgiI3N0ZXBzIFtkYXRhLWdvXSIpOyBpZihnKXsgY29uc3Qgaz0rZy5kYXRhc2V0LmdvOyBpZihrPD1TLnN0ZXAgfHwgaz09PVMuc3RlcCsxKSBnbyhrKTsgfQp9KTsKZnVuY3Rpb24gcmVuZGVyUmV2aWV3KCl7CiAgY29uc3QgYz1jYWxjKCk7CiAgJCgicmV2aWV3TGluZXMiKS5pbm5lckhUTUw9YDxkaXY+PHNwYW4+R3Vlc3Q8L3NwYW4+PHNwYW4+JHtlc2ModmFsKCJnTmFtZSIpKX08L3NwYW4+PC9kaXY+PGRpdj48c3Bhbj5QYXJ0eTwvc3Bhbj48c3Bhbj4ke2VzYyhndWVzdHNUZXh0KCkpfTwvc3Bhbj48L2Rpdj5gK2JyZWFrZG93bihjKTsKICAkKCJwcmV2aWV3Tm90ZSIpLmhpZGRlbiA9IHRydWU7Cn0KKGZ1bmN0aW9uKCl7CiAgdmFyIF92YWxpZGF0ZSA9IHZhbGlkYXRlOwogIHZhbGlkYXRlID0gZnVuY3Rpb24oc3RlcCl7CiAgICBpZiAoc3RlcCA9PT0gMikgewogICAgICB2YXIgZUJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlMicpOwogICAgICBpZiAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9InRpdGxlIl06Y2hlY2tlZCcpKSB7CiAgICAgICAgZUJveC50ZXh0Q29udGVudCA9ICdQbGVhc2Ugc2VsZWN0IGEgdGl0bGUg4oCUIE1yLiwgTXJzLiBvciBNaXNzLic7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dDb25zZW50JykuY2hlY2tlZCkgewogICAgICAgIGVCb3gudGV4dENvbnRlbnQgPSAnUGxlYXNlIGNvbmZpcm0gdGhlIGFnZSBhbmQgSUQgcG9saWN5IHRvIGNvbnRpbnVlLic7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gX3ZhbGlkYXRlKHN0ZXApOwogIH07CiAgdmFyIF9yZW5kZXJSZXZpZXcgPSByZW5kZXJSZXZpZXc7CiAgcmVuZGVyUmV2aWV3ID0gZnVuY3Rpb24oKXsKICAgIF9yZW5kZXJSZXZpZXcuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKICAgIHZhciBybCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXZpZXdMaW5lcycpOwogICAgdmFyIHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJ0aXRsZSJdOmNoZWNrZWQnKTsKICAgIGlmIChybCAmJiB0KSB7CiAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgdmFyIHMxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyBzMS50ZXh0Q29udGVudCA9ICdUaXRsZSc7CiAgICAgIHZhciBzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsgczIudGV4dENvbnRlbnQgPSB0LnZhbHVlOwogICAgICBkaXYuYXBwZW5kQ2hpbGQoczEpOyBkaXYuYXBwZW5kQ2hpbGQoczIpOwogICAgICBybC5pbnNlcnRCZWZvcmUoZGl2LCBybC5maXJzdENoaWxkKTsKICAgIH0KICB9Owp9KSgpOwoKYXN5bmMgZnVuY3Rpb24gcGF5KCl7CiAgY29uc3QgYnRuPSQoInBheUJ0biIpOyBidG4uZGlzYWJsZWQ9dHJ1ZTsgJCgiZTMiKS50ZXh0Q29udGVudD0iIjsgY29uc3QgYz1jYWxjKCk7CiAgUy5yZWYgPSBTLnJlZiB8fCAiTkFSTy0iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsNykudG9VcHBlckNhc2UoKTsKICBjb25zdCBvcmRlcj17IHJlZjpTLnJlZiwgY3VycmVuY3k6IklOUiIsIGFtb3VudElOUjpjLnRvdGFsLCBhbW91bnRQYWlzZTpjLnRvdGFsKjEwMCwKICAgIHByaWNpbmc6e3N1YnRvdGFsSU5SOmMuc3ViLGdzdFJhdGVQZXJjZW50OjUsZ3N0SU5SOmMuZ3N0LHRvdGFsSU5SOmMudG90YWwscGVyTmlnaHRJTlI6Yy5wZXJOaWdodH0sCiAgICBndWVzdDp7bmFtZTp2YWwoImdOYW1lIikscGhvbmU6dmFsKCJnUGhvbmUiKSxlbWFpbDp2YWwoImdFbWFpbCIpfSwKICAgIHN0YXk6e2NoZWNraW46Uy5jaSxjaGVja291dDpTLmNvLG5pZ2h0czpjLm4sZG91YmxlUm9vbXM6Uy5kYmwsZmFtaWx5Um9vbXM6Uy5mYW0sZXh0cmFCZWRzOmMuZXh0cmFzLGFkdWx0czpTLmFkdWx0cyxjaGlsZHJlbjlQbHVzOlMua2lkczksY2hpbGRyZW5CZWxvdzk6Uy5raWRzVTl9LAogICAgY2hlY2tpbjp7YXJyaXZhbDpyYWRpbygiYXJyIiksdmVoaWNsZTp2YWwoImdWZWgiKSxub3Rlczp2YWwoImdOb3RlIil9IH07CiAgdHJ5ewogICAgaWYodHlwZW9mIHdpbmRvdy5OYXJvUGF5PT09ImZ1bmN0aW9uIil7CiAgICAgIGNvbnN0IHI9YXdhaXQgd2luZG93Lk5hcm9QYXkob3JkZXIpOwogICAgICBpZighcnx8IXIucGFpZCkgdGhyb3cgbmV3IEVycm9yKCJQYXltZW50IHdhcyBub3QgY29tcGxldGVkLiIpOwogICAgICBTLnBhaWQ9dHJ1ZTsgUy5wcmV2aWV3PWZhbHNlOyBTLnBheW1lbnRJZD1yLnBheW1lbnRJZHx8IiI7CiAgICB9IGVsc2UgaWYoTElWRV9DRjcgJiYgTElWRV9DRjcudXJsKXsKICAgICAgY29uc3Qgc3VtbWFyeT1bIkNoZWNrIGluOiAiK2ZtdChTLmNpKSwiQ2hlY2sgb3V0OiAiK2ZtdChTLmNvKSsiICgiK3BsdXJhbChjLm4sIm5pZ2h0IiwibmlnaHRzIikrIikiLCJSb29tczogIityb29tc1RleHQoKSwiUGFydHk6ICIrZ3Vlc3RzVGV4dCgpLCJFeHRyYSBiZWRzOiAiK2MuZXh0cmFzLAogICAgICAgICJBcnJpdmFsOiAiK3JhZGlvKCJhcnIiKSwiVmVoaWNsZTogIisodmFsKCJnVmVoIil8fCJub3QgZ2l2ZW4iKSwiQ29tcGFueTogIisodmFsKCJnQ29tcCIpfHwibm90IGdpdmVuIiksIkN1c3RvbWVyIEdTVElOOiAiKyh2YWwoImdHc3QiKXx8Im5vdCBnaXZlbiIpLCJSb29tIGNoYXJnZXM6ICIrZm0yKGMuc3ViKSwiQ0dTVCAyLjUlOiAiK2ZtMihNYXRoLmZsb29yKGMuZ3N0KjUwKS8xMDApLCJTR1NUIDIuNSU6ICIrZm0yKGMuZ3N0LU1hdGguZmxvb3IoYy5nc3QqNTApLzEwMCksIlRvdGFsIChpbmNsLiBHU1QpOiAiK2lucihjLnRvdGFsKSwiUGF5bWVudCBvcHRpb246ICIrKCJQYWlkIGluIGZ1bGwgaW4gYWR2YW5jZSAocmVzY2hlZHVsZSB3aXRoIFJzIDEsMDAwIGNoYW5nZSBmZWUgcGVyIHJvb20gKERvdWJsZSBvciBGYW1pbHkpLCB3aXRoIG5vdGljZSBvbiBXaGF0c0FwcCAoKzkxIDcwMTc3IDE0Mzg1KSBhdCBsZWFzdCAzIGRheXMgYmVmb3JlIGFycml2YWwuIEFueSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUpIiksIlJlcXVlc3RzOiAiKyh2YWwoImdOb3RlIil8fCJub25lIildLmpvaW4oIlxuIik7CiAgICAgIGNvbnN0IGZkPW5ldyBGb3JtRGF0YSgpOwogICAgICBmZC5hcHBlbmQoIl93cGNmNyIsU3RyaW5nKExJVkVfQ0Y3LmlkKSk7IGZkLmFwcGVuZCgiX3dwY2Y3X3ZlcnNpb24iLCI2LjEiKTsgZmQuYXBwZW5kKCJfd3BjZjdfbG9jYWxlIiwiZW5fVVMiKTsKICAgICAgZmQuYXBwZW5kKCJfd3BjZjdfdW5pdF90YWciLCJ3cGNmNy1mIitMSVZFX0NGNy5pZCsiLXAwLW8xIik7IGZkLmFwcGVuZCgiX3dwY2Y3X2NvbnRhaW5lcl9wb3N0IiwiMCIpOwogICAgICBmZC5hcHBlbmQoImd1ZXN0LW5hbWUiLHZhbCgiZ05hbWUiKSk7IGZkLmFwcGVuZCgiZ3Vlc3QtcGhvbmUiLHZhbCgiZ1Bob25lIikpOyBmZC5hcHBlbmQoImd1ZXN0LWVtYWlsIix2YWwoImdFbWFpbCIpKTsKICAgICAgZmQuYXBwZW5kKCJib29raW5nLXJlZiIsUy5yZWYpOyBmZC5hcHBlbmQoImJvb2tpbmctc3VtbWFyeSIsc3VtbWFyeSk7CiAgICAgIHRyeXsgY29uc3QgcmVzPWF3YWl0IGZldGNoKExJVkVfQ0Y3LnVybCx7bWV0aG9kOiJQT1NUIixib2R5OmZkfSk7IGF3YWl0IHJlcy5qc29uKCk7IH1jYXRjaChfbSl7fQogICAgICBjb25zdCBwcj1hd2FpdCBmZXRjaCgiL3dwLWpzb24vbmFyby92MS9wYXkiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjaGVja2luOlMuY2ksY2hlY2tvdXQ6Uy5jbyxkYmw6Uy5kYmwsZmFtOlMuZmFtLGFkdWx0czpTLmFkdWx0cyxraWRzOTpTLmtpZHM5LGtpZHNVOTpTLmtpZHNVOSxuYW1lOnZhbCgiZ05hbWUiKSxwaG9uZTp2YWwoImdQaG9uZSIpLGVtYWlsOnZhbCgiZ0VtYWlsIiksZ3N0aW46dmFsKCJnR3N0IikudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9ccy9nLCIiKSxjb21wYW55OnZhbCgiZ0NvbXAiKSxyZWY6Uy5yZWYsYXJyaXZhbDpyYWRpbygiYXJyIiksdmVoaWNsZTp2YWwoImdWZWgiKSxub3RlOnZhbCgiZ05vdGUiKSxtb2RlOnJhZGlvKCJwYXlNb2RlIil9KX0pOyBjb25zdCBwaj1hd2FpdCBwci5qc29uKCkuY2F0Y2goKCk9Pih7fSkpOyBpZighcHIub2t8fCFwai5va3x8IXBqLnVybCkgdGhyb3cgbmV3IEVycm9yKHBqLm1lc3NhZ2V8fCJXZSBjb3VsZCBub3Qgb3BlbiB0aGUgcGF5bWVudCBzY3JlZW4ganVzdCBub3cuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBtb21lbnQsIG9yIGFzayB1cyBvbiBsaXZlIGNoYXQuIik7IHRyeXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJuYXJvR3Vlc3QiLEpTT04uc3RyaW5naWZ5KHtuOnZhbCgiZ05hbWUiKSxwOnZhbCgiZ1Bob25lIiksZTp2YWwoImdFbWFpbCIpfSkpO31jYXRjaChfcyl7fSBsb2NhdGlvbi5ocmVmPXBqLnVybDsgcmV0dXJuOwogICAgfSBlbHNlIHsgUy5wYWlkPXRydWU7IFMucHJldmlldz10cnVlOyB9CiAgfWNhdGNoKGVycil7ICQoImUzIikudGV4dENvbnRlbnQ9KGVyciYmZXJyLm1lc3NhZ2UpfHwiWW91ciByZXF1ZXN0IGRpZCBub3QgZ28gdGhyb3VnaC4gUGxlYXNlIHRyeSBhZ2Fpbi4iOyBidG4uZGlzYWJsZWQ9ZmFsc2U7IHJldHVybjsgfQogIGJ0bi5kaXNhYmxlZD1mYWxzZTsgUy5zdGVwPTQ7IHJlbmRlcigpOyByZW5kZXJQYXNzKCk7ICQoImJvb2siKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCIsYmxvY2s6InN0YXJ0In0pOwp9CiQoInBheUJ0biIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixwYXkpOwoKZnVuY3Rpb24gcmVuZGVyUGFzcygpewogIGNvbnN0IGM9Y2FsYygpOwogICQoInBhc3NSZWYiKS50ZXh0Q29udGVudD1TLnJlZjsKICAkKCJwYXNzU3RhbXAiKS50ZXh0Q29udGVudCA9IFMucHJldmlldyA\/ICJQcmV2aWV3LCBub3Qgc2VudCIgOiAoUy5wYXltZW50SWQgPyAiQ29uZmlybWVkIGFuZCBwYWlkIiA6ICJSZXF1ZXN0IHNlbnQsIGF3YWl0aW5nIGNvbmZpcm1hdGlvbiIpOwogIGNvbnN0IHJvd3M9W1siR3Vlc3QiLHZhbCgiZ05hbWUiKV0sWyJDaGVjayBpbiIsZm10KFMuY2kpXSxbIkNoZWNrIG91dCIsZm10KFMuY28pXSxbIlJvb21zIixyb29tc1RleHQoKV0sCiAgICBbIlBhcnR5IixndWVzdHNUZXh0KCldLFsiRXh0cmEgYmVkcyIsU3RyaW5nKGMuZXh0cmFzKV0sWyJBcnJpdmluZyIscmFkaW8oImFyciIpXSxbIlZlaGljbGUiLHZhbCgiZ1ZlaCIpfHwiTm90IGdpdmVuIl0sWyJUb3RhbCB3aXRoIEdTVCwgdG8gYmUgY29uZmlybWVkIixpbnIoYy50b3RhbCldXTsKICAkKCJwYXNzRGwiKS5pbm5lckhUTUw9cm93cy5tYXAocj0+YDxkaXY+PGR0PiR7clswXX08L2R0PjxkZD4ke2VzYyhyWzFdKX08L2RkPjwvZGl2PmApLmpvaW4oIiIpOwogIHdyaXRlV2VsY29tZSgpOwp9CmFzeW5jIGZ1bmN0aW9uIHdyaXRlV2VsY29tZSgpewogIGNvbnN0IG89JCgid2VsY29tZSIpOyBvLnRleHRDb250ZW50PSJQcmVwYXJpbmcgeW91ciBub3Rl4oCmIjsgYXdhaXQgc2FtcGxlUmVhZHk7CiAgY29uc3QgZmlyc3Q9dmFsKCJnTmFtZSIpLnNwbGl0KCIgIilbMF18fCJHdWVzdCI7CiAgY29uc3QgZmFsbGJhY2s9YFdlbGNvbWUsICR7Zmlyc3R9LiBXZSBsb29rIGZvcndhcmQgdG8gc2VlaW5nIHlvdSBvbiAke2ZtdChTLmNpKX0uIFRoZSByZXNvcnQgaXMgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IG5lYXIgVmlrYXMgTmFnYXIsIGFib3V0IDQ1IGttIGZyb20gRGVocmFkdW4uIEZyZWUgcGFya2luZyBpcyBhdmFpbGFibGUsIGFuZCBOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBtZWFscyB0aHJvdWdob3V0IHlvdXIgc3RheS4gVGVhbSBOYXJvYDsKICB0cnl7CiAgICBpZighc2FtcGxlRm4pIHRocm93IG5ldyBFcnJvcigieCIpOwogICAgY29uc3Qgcj1hd2FpdCBzYW1wbGVGbihgV3JpdGUgYSB3YXJtLCBwbGFpbiBub3RlIG9mIDMgdG8gNCBzZW50ZW5jZXMgdG8gYSBndWVzdCBiZWZvcmUgdGhlaXIgc3RheSBhdCBOYXJvIEVjbyBSZXNvcnQuIFVzZSBvbmx5IHRoZXNlIGZhY3RzIGFuZCBkbyBub3QgaW52ZW50IHRpbWVzLCBwcmljZXMsIHdlYXRoZXIgb3IgcG9saWNpZXMuIERvIG5vdCBtZW50aW9uIGJyZWFrZmFzdCBiZWluZyBpbmNsdWRlZC5cbkZBQ1RTOlxuJHtGQUNUU31cblxuR3Vlc3QgZmlyc3QgbmFtZTogJHtmaXJzdH1cbkNoZWNrIGluOiAke2ZtdChTLmNpKX0sICR7bmlnaHRzKCl9IG5pZ2h0c1xuUm9vbXM6ICR7cm9vbXNUZXh0KCl9XG5QYXJ0eTogJHtndWVzdHNUZXh0KCl9XG5BcnJpdmFsIHdpbmRvdzogJHtyYWRpbygiYXJyIil9XG5PY2Nhc2lvbiBvciByZXF1ZXN0czogJHt2YWwoImdOb3RlIil8fCJub25lIn1cbk1lbnRpb24gdGhlaXIgb2NjYXNpb24gb3IgcmVxdWVzdCBpZiBhbnksIGFuZCBvbmUgdGhpbmcgdG8gbG9vayBmb3J3YXJkIHRvLiBTaWduIG9mZiBhcyBUZWFtIE5hcm8uYCx7b25UZXh0Oih7dGV4dH0pPT57by50ZXh0Q29udGVudD10ZXh0O319KTsKICAgIG8udGV4dENvbnRlbnQ9ci50ZXh0OwogIH1jYXRjaChlKXsgby50ZXh0Q29udGVudD1mYWxsYmFjazsgfQp9CiQoImNvcHlQYXNzIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PnsKICBjb25zdCB0eHQ9YE5hcm8gRWNvIFJlc29ydCBjaGVjay1pbiBwYXNzICR7Uy5yZWZ9XG5gK1suLi4kKCJwYXNzRGwiKS5jaGlsZHJlbl0ubWFwKGQ9PmQuY2hpbGRyZW5bMF0udGV4dENvbnRlbnQrIjogIitkLmNoaWxkcmVuWzFdLnRleHRDb250ZW50KS5qb2luKCJcbiIpOwogIHRyeXsgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodHh0KTsgJCgiY29weU1zZyIpLnRleHRDb250ZW50PSJDb3BpZWQuIjsgfQogIGNhdGNoKGUpeyBjb25zdCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7IHIuc2VsZWN0Tm9kZUNvbnRlbnRzKCQoInBhc3NEbCIpKTsgY29uc3Qgcz1nZXRTZWxlY3Rpb24oKTsgcy5yZW1vdmVBbGxSYW5nZXMoKTsgcy5hZGRSYW5nZShyKTsgJCgiY29weU1zZyIpLnRleHRDb250ZW50PSJTZWxlY3RlZC4gUHJlc3MgY29weSBvbiB5b3VyIGRldmljZS4iOyB9Cn0pOwoKLyogLS0tLS0tLS0tLSBUcmlwIHBsYW5uZXIgLS0tLS0tLS0tLSAqLwpmdW5jdGlvbiBsb2NhbFBhcnNlKHQpewogIGNvbnN0IHM9dC50b0xvd2VyQ2FzZSgpLCBvdXQ9e307IGxldCBtOwogIGlmKChtPXMubWF0Y2goLyhcZCspXHMqKGFkdWx0fHBlb3BsZXxndWVzdHxwZXJzb258b2YgdXMpLykpKSBvdXQuYWR1bHRzPSttWzFdOwogIGlmKChtPXMubWF0Y2goLyhcZCspXHMqKGtpZHxjaGlsZCkvKSkpeyBvdXQua2lkczk9K21bMV07IGNvbnN0IGE9cy5tYXRjaCgvYWdlZD9ccysoXGR7MSwyfSg\/OlxzKig\/Oix8YW5kfCYpXHMqXGR7MSwyfSg\/IVxkfFxzKig\/Om5pZ2h0fGFkdWx0fGd1ZXN0fHBlb3BsZXxraWR8Y2hpbGQpKSkqKS8pOyBpZihhKXsgY29uc3QgYWdlcz1hWzFdLm1hdGNoKC9cZCsvZykubWFwKE51bWJlcik7IG91dC5raWRzVTk9YWdlcy5maWx0ZXIoeD0+eDw5KS5sZW5ndGg7IG91dC5raWRzOT1NYXRoLm1heCgwLCttWzFdLW91dC5raWRzVTkpOyB9IH0KICBpZigobT1zLm1hdGNoKC8oXGQrKVxzKm5pZ2h0LykpKSBvdXQubmlnaHRzPSttWzFdOyBlbHNlIGlmKC93ZWVrZW5kLy50ZXN0KHMpKSBvdXQubmlnaHRzPTI7CiAgaWYoL2NvdXBsZS8udGVzdChzKSkgb3V0LmFkdWx0cz0yOwogIGNvbnN0IGRheXM9WyJzdW5kYXkiLCJtb25kYXkiLCJ0dWVzZGF5Iiwid2VkbmVzZGF5IiwidGh1cnNkYXkiLCJmcmlkYXkiLCJzYXR1cmRheSJdLCBkMD1uZXcgRGF0ZSh0b2RheSsiVDAwOjAwOjAwIik7CiAgZGF5cy5mb3JFYWNoKChkLGkpPT57IGlmKHMuaW5jbHVkZXMoZCkpeyBvdXQuY2hlY2tpbj1hZGREYXlzKHRvZGF5LChpLWQwLmdldERheSgpKzcpJTd8fDcpOyB9IH0pOwogIGlmKCFvdXQuY2hlY2tpbiYmL3dlZWtlbmQvLnRlc3QocykpIG91dC5jaGVja2luPWFkZERheXModG9kYXksZnJpZGF5KTsKICBpZighb3V0LmNoZWNraW4mJi90b21vcnJvdy8udGVzdChzKSkgb3V0LmNoZWNraW49YWRkRGF5cyh0b2RheSwxKTsKICByZXR1cm4gb3V0Owp9CmZ1bmN0aW9uIGFwcGx5UGxhbihwKXsKICBpZihwLmFkdWx0cykgUy5hZHVsdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMSxNYXRoLnJvdW5kKHAuYWR1bHRzKSkpOwogIGlmKHAua2lkczkhPW51bGwpIFMua2lkczk9TWF0aC5taW4oMTAsTWF0aC5tYXgoMCxNYXRoLnJvdW5kKHAua2lkczkpKSk7CiAgaWYocC5raWRzVTkhPW51bGwpIFMua2lkc1U5PU1hdGgubWluKDEwLE1hdGgubWF4KDAsTWF0aC5yb3VuZChwLmtpZHNVOSkpKTsKICBpZihwLmNoZWNraW4mJi9eXGR7NH0tXGR7Mn0tXGR7Mn0kLy50ZXN0KHAuY2hlY2tpbikmJnAuY2hlY2tpbj49dG9kYXkpIFMuY2k9cC5jaGVja2luOwogIGNvbnN0IG49TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxNYXRoLnJvdW5kKHAubmlnaHRzfHxuaWdodHMoKXx8MikpKTsKICBTLmNvPWFkZERheXMoUy5jaSxuKTsgUy5hdXRvPXRydWU7IFMuc3RlcD0xOyBTLnBhaWQ9ZmFsc2U7IHJlbmRlcigpOwp9CmFzeW5jIGZ1bmN0aW9uIHBsYW5UcmlwKCl7CiAgY29uc3QgdD12YWwoInRyaXBUZXh0Iik7IGlmKCF0KXsgJCgiYWlNc2ciKS50ZXh0Q29udGVudD0iRGVzY3JpYmUgeW91ciB0cmlwIGZpcnN0LCBvciB0YXAgb25lIG9mIHRoZSBleGFtcGxlcy4iOyByZXR1cm47IH0KICBjb25zdCBidG49JCgicGxhbkJ0biIpOyBidG4uZGlzYWJsZWQ9dHJ1ZTsgJCgiYWlNc2ciKS50ZXh0Q29udGVudD0iUmVhZGluZyB5b3VyIHJlcXVlc3TigKYiOyBhd2FpdCBzYW1wbGVSZWFkeTsgbGV0IHBsYW47CiAgdHJ5ewogICAgaWYoIXNhbXBsZUZuKSB0aHJvdyBuZXcgRXJyb3IoIngiKTsKICAgIGNvbnN0IGo9YXdhaXQgc2FtcGxlRm4uanNvbihgRXh0cmFjdCBib29raW5nIGRldGFpbHMgZnJvbSBhIGd1ZXN0J3MgbWVzc2FnZSBmb3IgYSByZXNvcnQgd2l0aCBkb3VibGUgcm9vbXMgKDIgZ3Vlc3RzKSBhbmQgb25lIGZhbWlseSByb29tICg0IGd1ZXN0cykuIENoaWxkcmVuIGJlbG93IDkgc3RheSBmcmVlLiBUb2RheSBpcyAke3RvZGF5fSAoJHtuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4tVVMiLHt3ZWVrZGF5OiJsb25nIn0pfSkuIFJlc29sdmUgcmVsYXRpdmUgZGF0ZXMgdG8gYSByZWFsIGZ1dHVyZSBZWVlZLU1NLURELiBDaGlsZHJlbiB3aG9zZSBhZ2VzIGFyZSBub3Qgc3RhdGVkIGdvIGluIGNoaWxkcmVuXzlfcGx1cywgYW5kIHlvdXIgbm90ZSBtdXN0IHRoZW4gc2F5IGFnZXMgd2VyZSBub3QgZ2l2ZW4gYW5kIHRoYXQgY2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUuIFJlcGx5IHdpdGggb25seSBKU09OOiB7ImNoZWNraW4iOiJZWVlZLU1NLUREIG9yIG51bGwiLCJuaWdodHMiOm51bWJlciBvciBudWxsLCJhZHVsdHMiOm51bWJlciBvciBudWxsLCJjaGlsZHJlbl85X3BsdXMiOm51bWJlciBvciAwLCJjaGlsZHJlbl9iZWxvd185IjpudW1iZXIgb3IgMCwibm90ZSI6Im9uZSBzaG9ydCBmcmllbmRseSBzZW50ZW5jZSBzYXlpbmcgd2hhdCB5b3Ugc2V0LCBhbmQgYW55dGhpbmcgdW5jbGVhciJ9LlxuR3Vlc3QgbWVzc2FnZTogJHt0fWAse21vZGVsVGllcjoicXVpY2sifSk7CiAgICBwbGFuPXtjaGVja2luOmouY2hlY2tpbixuaWdodHM6ai5uaWdodHMsYWR1bHRzOmouYWR1bHRzLGtpZHM5OmouY2hpbGRyZW5fOV9wbHVzfHwwLGtpZHNVOTpqLmNoaWxkcmVuX2JlbG93Xzl8fDAsbm90ZTpqLm5vdGV9OwogIH1jYXRjaChlKXsgcGxhbj1sb2NhbFBhcnNlKHQpOyBwbGFuLm5vdGU9IlNldCBmcm9tIHlvdXIgbWVzc2FnZS4gQ2hpbGRyZW4gYmVsb3cgOSBzdGF5IGZyZWUsIHNvIHRlbGwgdXMgdGhlaXIgYWdlcyBpZiB5b3UgaGF2ZSBub3QuIjsgfQogIGFwcGx5UGxhbihwbGFuKTsgYnRuLmRpc2FibGVkPWZhbHNlOyBpZih0eXBlb2Ygb3BlbkJvb2tEcmF3ZXI9PT0iZnVuY3Rpb24iKSBvcGVuQm9va0RyYXdlcigpOwogICQoImFpTXNnIikudGV4dENvbnRlbnQ9KHBsYW4ubm90ZXx8IkJvb2tpbmcgdXBkYXRlZC4iKSsiIFRha2luZyB5b3UgdG8geW91ciBib29raW5nLiI7CiAgc2V0VGltZW91dCgoKT0+JCgiYm9vayIpLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjoic21vb3RoIn0pLDUwMCk7Cn0KJCgicGxhbkJ0biIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixwbGFuVHJpcCk7ClsiMiBhZHVsdHMgYW5kIDIga2lkcyBhZ2VkIDYgYW5kIDgsIDMgbmlnaHRzIGZyb20gbmV4dCBGcmlkYXkiLCJHcm91cCBvZiA2IGFkdWx0cyBmb3IgMiBuaWdodHMgZnJvbSB0b21vcnJvdyIsIkNvdXBsZSdzIHdlZWtlbmQgZ2V0YXdheSJdLmZvckVhY2godD0+ewogIGNvbnN0IGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7IGIudHlwZT0iYnV0dG9uIjsgYi5jbGFzc05hbWU9ImNoaXAiOyBiLnRleHRDb250ZW50PXQ7IGIub25jbGljaz0oKT0+eyAkKCJ0cmlwVGV4dCIpLnZhbHVlPXQ7IHBsYW5UcmlwKCk7IH07ICQoInNhbXBsZXMiKS5hcHBlbmRDaGlsZChiKTsKfSk7CgovKiAtLS0tLS0tLS0tIGd1aWRlIC0tLS0tLS0tLS0gKi8KY29uc3QgaGlzdG9yeT1bXTsKZnVuY3Rpb24gYWRkTXNnKHJvbGUsdGV4dCl7IGNvbnN0IGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7IGQuY2xhc3NOYW1lPSJtICIrKHJvbGU9PT0idSI\/InUiOiJhIik7IGQudGV4dENvbnRlbnQ9dGV4dDsgJCgibXNncyIpLmFwcGVuZENoaWxkKGQpOyAkKCJtc2dzIikuc2Nyb2xsVG9wPTFlOTsgcmV0dXJuIGQ7IH0KYWRkTXNnKCJhIiwiV2VsY29tZSB0byBOYXJvIEVjbyBSZXNvcnQuIEFzayBtZSBhYm91dCByb29tcywgcHJpY2VzLCBmb29kLCBldmVudHMgb3IgbmVhcmJ5IHBsYWNlcywgb3IgdGVsbCBtZSB5b3VyIGRhdGVzIGFuZCBJIHdpbGwgc2V0IHVwIHlvdXIgYm9va2luZy4iKTsKZnVuY3Rpb24gbG9jYWxBbnN3ZXIocSl7CiAgY29uc3Qgcz1xLnRvTG93ZXJDYXNlKCk7CiAgaWYoL3ByZXBheXxwcmUtcGF5fGFkdmFuY2V8dG9rZW58cmVzY2hlZHxjYW5jZWx8cmVmdW5kfG5vLj9zaG93fGNoYW5nZSAodGhlICk\/ZGF0ZS8udGVzdChzKSkgcmV0dXJuICJGdWxsIHBheW1lbnQgaXMgcmVxdWlyZWQgaW4gYWR2YW5jZSB0byBjb25maXJtIGEgYm9va2luZy4gSWYgeW91ciBwbGFucyBjaGFuZ2UsIHlvdSBjYW4gcmVzY2hlZHVsZSB5b3VyIHN0YXkgZm9yIGEg4oK5MSwwMDAgY2hhbmdlIGZlZSBwZXIgcm9vbSAoRG91YmxlIG9yIEZhbWlseSksIHdpdGggbm90aWNlIG9uIFdoYXRzQXBwICgrOTEgNzAxNzcgMTQzODUpIGF0IGxlYXN0IDMgZGF5cyBiZWZvcmUgYXJyaXZhbC4gQW55IGNoYW5nZSByZXF1ZXN0ZWQgbGVzcyB0aGFuIDMgZGF5cyBiZWZvcmUgYXJyaXZhbCBpcyB0cmVhdGVkIGFzIGEgbm8tc2hvdyBhbmQgaXMgbm90IHRyYW5zZmVyYWJsZS4iOwogIGlmKC9icmVha2Zhc3QvLnRlc3QocykpIHJldHVybiAiQnJlYWtmYXN0IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcm9vbSByYXRlLiBOYXJvIFJlc3RhdXJhbnQgc2VydmVzIHB1cmUgdmVnZXRhcmlhbiBmb29kIG9uIHNpdGUuIjsKICBpZigvZ3N0fHRheC8udGVzdChzKSkgcmV0dXJuICJPdXIgcmF0ZXMgZG8gbm90IGluY2x1ZGUgR1NULiA1JSBHU1QgaXMgYWRkZWQgb24gdG9wLCBhbmQgeW91ciBib29raW5nIHRvdGFsIHNob3dzIGl0IHNlcGFyYXRlbHkuIjsKICBpZigvY2hpbGR8a2lkLy50ZXN0KHMpKSByZXR1cm4gIkNoaWxkcmVuIGJlbG93IDkgc3RheSBmcmVlLiBBbiBleHRyYSBiZWQgaXMg4oK5NTAwIGEgbmlnaHQuIjsKICBpZigvZXh0cmEgYmVkLy50ZXN0KHMpKSByZXR1cm4gIkFuIGV4dHJhIGJlZCBpcyDigrk1MDAgcGVyIG5pZ2h0LiI7CiAgaWYoL3ByaWNlfHJhdGV8Y29zdHx0YXJpZmZ84oK5fHJzXGJ8cm9vbS8udGVzdChzKSkgcmV0dXJuICJBIERvdWJsZSBSb29tIGlzIOKCuTIsNTAwIGEgbmlnaHQgYW5kIHRoZSA0LWJlZCBGYW1pbHkgUm9vbSBpcyDigrk0LDAwMCBhIG5pZ2h0LCBib3RoIHBsdXMgNSUgR1NULiBFdmVyeSByb29tIGhhcyBhIGRlc2VydCBjb29sZXIuIDUlIEdTVCBpcyBhZGRlZCwgYW5kIGJyZWFrZmFzdCBpcyBub3QgaW5jbHVkZWQuIjsKICBpZigvcG9vbHxzd2ltLy50ZXN0KHMpKSByZXR1cm4gIk91ciBzd2ltbWluZyBwb29sIHdpbGwgYmUgaW5hdWd1cmF0ZWQgc2hvcnRseS4gSXQgaXMgbm90IG9wZW4geWV0LiI7CiAgaWYoL3NwYXxtYXNzYWdlLy50ZXN0KHMpKSByZXR1cm4gIlRoZXJlIGlzIG5vIHNwYSBhdCB0aGUgcmVzb3J0IGF0IHRoZSBtb21lbnQuIjsKICBpZigvY291cGxlfHVubWFycmllZHxob25leW1vb24vLnRlc3QocykpIHJldHVybiAiWWVzLCBOYXJvIEVjbyBSZXNvcnQgaXMgY291cGxlIGZyaWVuZGx5IGFuZCB1bm1hcnJpZWQgY291cGxlcyBhcmUgd2VsY29tZS4iOwogIGlmKC9wYXl8dXBpfGNhcmQvLnRlc3QocykpIHJldHVybiAiWW91IHBheSBvbmxpbmUgdGhyb3VnaCBSYXpvcnBheSBhZnRlciB5b3UgcmV2aWV3IHlvdXIgYm9va2luZy4gVGhlIHJlc29ydCB0ZWFtIGNvbmZpcm1zIGF2YWlsYWJpbGl0eS4iOwogIGlmKC93ZWRkaW5nfGV2ZW50fHBhcnR5fGJpcnRoZGF5fGhhbGwvLnRlc3QocykpIHJldHVybiAiV2UgaG9zdCBkZXN0aW5hdGlvbiB3ZWRkaW5ncywgYmlydGhkYXlzIGFuZCBraXR0eSBwYXJ0aWVzLiBUaGUgY29uZmVyZW5jZSBoYWxsIGlzIDQwIMOXIDQwIGZ0IGFuZCBwYXJraW5nIGZpdHMgb3ZlciA1MCB2ZWhpY2xlcy4gVGhlIHRlYW0gY29uZmlybXMgZGF0ZXMgYW5kIHF1b3Rlcy4iOwogIGlmKC9mb29kfGVhdHxyZXN0YXVyYW50fG1lbnV8ZGVsaXZlcnx2ZWcvLnRlc3QocykpIHJldHVybiAiTmFybyBSZXN0YXVyYW50IHNlcnZlcyBwdXJlIHZlZ2V0YXJpYW4gZm9vZCBvbmx5LiBGb29kIGRlbGl2ZXJ5IGlzIGF2YWlsYWJsZSB3aXRoaW4gMTUga20uIjsKICBpZigvbmVhcnx2aXNpdHxkaXN0YW5jZXxrYWxzaXxkYWtwYXRoYXJ8YXNhbnx0ZW1wbGV8dHJlay8udGVzdChzKSkgcmV0dXJuICJOZWFyYnk6IEFzaG9rYSBSb2NrIEVkaWN0cyBhdCBLYWxzaSAoNiBrbSksIERha3BhdGhhciBCYXJyYWdlICg4IGttKSwgQXNhbiBCYXJyYWdlIGZvciBib2F0aW5nIGFuZCBiaXJkd2F0Y2hpbmcgKDI1IGttKSwgYW5kIHNldmVyYWwgdGVtcGxlcy4iOwogIGlmKC93aGVyZXxsb2NhdGlvbnxyZWFjaHxkZWhyYWR1bi8udGVzdChzKSkgcmV0dXJuICJXZSBhcmUgb24gdGhlIFlhbXVub3RyaSBIaWdod2F5IG5lYXIgVmlrYXMgTmFnYXIsIGFib3V0IDQ1IGttIGZyb20gRGVocmFkdW4uIjsKICByZXR1cm4gIkkgY2FuIGhlbHAgd2l0aCByb29tcywgcHJpY2VzLCBmb29kLCBldmVudHMsIHBheW1lbnQgYW5kIG5lYXJieSBwbGFjZXMuIFRoZSByZXNvcnQgdGVhbSBjb25maXJtcyBhbnl0aGluZyBlbHNlIGRpcmVjdGx5LiI7Cn0KYXN5bmMgZnVuY3Rpb24gYXNrKHEpewogIGFkZE1zZygidSIscSk7IGhpc3RvcnkucHVzaCgiR3Vlc3Q6ICIrcSk7IGNvbnN0IG91dD1hZGRNc2coImEiLCLigKYiKTsgJCgiY2hhdFNlbmQiKS5kaXNhYmxlZD10cnVlOyBhd2FpdCBzYW1wbGVSZWFkeTsKICB0cnl7CiAgICBpZighc2FtcGxlRm4pIHRocm93IG5ldyBFcnJvcigieCIpOwogICAgY29uc3Qgcj1hd2FpdCBzYW1wbGVGbihgWW91IGFyZSB0aGUgZ3VpZGUgZm9yIE5hcm8gRWNvIFJlc29ydC4gQW5zd2VyIGluIDEgdG8gNCBzaG9ydCBzZW50ZW5jZXMsIHdhcm0gYW5kIHBsYWluLiBVc2Ugb25seSB0aGVzZSBmYWN0cy4gSWYgc29tZXRoaW5nIGlzIG5vdCBsaXN0ZWQgKGF2YWlsYWJpbGl0eSwgY2hlY2staW4gdGltZXMsIHBob25lIG51bWJlcnMsIHJlZnVuZCBwb2xpY3kpLCBzYXkgdGhlIHJlc29ydCB0ZWFtIHdpbGwgY29uZmlybSBpdC4gTmV2ZXIgaW52ZW50IHByaWNlcy4gRm9yIGEgcHJpY2UgcXVvdGUgZm9yIHNwZWNpZmljIGRhdGVzIGFuZCBndWVzdHMsIHRlbGwgdGhlIGd1ZXN0IHRvIHVzZSB0aGUgYm9va2luZyBzZWN0aW9uIG9uIHRoaXMgcGFnZSwgd2hpY2ggY2FsY3VsYXRlcyBpdCB3aXRoIEdTVC5cbkZBQ1RTOlxuJHtGQUNUU31cblxuQ09OVkVSU0FUSU9OOlxuJHtoaXN0b3J5LnNsaWNlKC04KS5qb2luKCJcbiIpfVxuR3VpZGU6YCx7Y2FjaGU6ZmFsc2Usb25UZXh0Oih7dGV4dH0pPT57IG91dC50ZXh0Q29udGVudD10ZXh0OyAkKCJtc2dzIikuc2Nyb2xsVG9wPTFlOTsgfX0pOwogICAgb3V0LnRleHRDb250ZW50PXIudGV4dDsgaGlzdG9yeS5wdXNoKCJHdWlkZTogIityLnRleHQpOwogIH1jYXRjaChlKXsgY29uc3QgYT1sb2NhbEFuc3dlcihxKTsgb3V0LnRleHRDb250ZW50PWE7IGhpc3RvcnkucHVzaCgiR3VpZGU6ICIrYSk7IH0KICAkKCJjaGF0U2VuZCIpLmRpc2FibGVkPWZhbHNlOwp9CmZ1bmN0aW9uIG9wZW5DaGF0KG9wZW4peyAkKCJjaGF0IikuaGlkZGVuPSFvcGVuOyAkKCJmYWIiKS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLFN0cmluZyhvcGVuKSk7IGlmKG9wZW4pICQoImNoYXRJbiIpLmZvY3VzKCk7IH0KJCgiZmFiIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5vcGVuQ2hhdCgkKCJjaGF0IikuaGlkZGVuKSk7CiQoImNoYXRYIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5vcGVuQ2hhdChmYWxzZSkpOwokKCJldkFzayIpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+eyBpZih3aW5kb3cubmFyb1N1cnlhQXNrKSBuYXJvU3VyeWFBc2soIkRvIHlvdSBoYXZlIHBhcnR5IGFuZCBldmVudCBwYWNrYWdlcz8iKTsgfSk7CiQoImNoYXRGb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IixlPT57IGUucHJldmVudERlZmF1bHQoKTsgY29uc3Qgdj12YWwoImNoYXRJbiIpOyBpZighdikgcmV0dXJuOyAkKCJjaGF0SW4iKS52YWx1ZT0iIjsgYXNrKHYpOyB9KTsKWyJJcyBicmVha2Zhc3QgaW5jbHVkZWQ\/IiwiQXJlIGNvdXBsZXMgd2VsY29tZT8iLCJEbyBjaGlsZHJlbiBwYXk\/IiwiSXMgdGhlIHBvb2wgb3Blbj8iXS5mb3JFYWNoKHQ9PnsgY29uc3QgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsgYi50eXBlPSJidXR0b24iOyBiLmNsYXNzTmFtZT0iY2hpcCI7IGIudGV4dENvbnRlbnQ9dDsgYi5vbmNsaWNrPSgpPT5hc2sodCk7ICQoInFzIikuYXBwZW5kQ2hpbGQoYik7IH0pOwoKLyogLS0tLS0tLS0tLSBpdGluZXJhcnkgLS0tLS0tLS0tLSAqLwokKCJwbGFuR28iKS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+ewogIGNvbnN0IHE9dmFsKCJwbGFuSW4iKXx8IjIgZGF5cywgZmFtaWx5IHdpdGgga2lkcywgbGlrZXMgdGVtcGxlcyBhbmQgZWFzeSB3YWxrcyI7IGNvbnN0IG89JCgicGxhbk91dCIpOyBvLnRleHRDb250ZW50PSJCdWlsZGluZyB5b3VyIGl0aW5lcmFyeeKApiI7ICQoInBsYW5HbyIpLmRpc2FibGVkPXRydWU7IGF3YWl0IHNhbXBsZVJlYWR5OwogIHRyeXsKICAgIGlmKCFzYW1wbGVGbikgdGhyb3cgbmV3IEVycm9yKCJ4Iik7CiAgICBjb25zdCByPWF3YWl0IHNhbXBsZUZuKGBXcml0ZSBhIHNob3J0IGRheS1ieS1kYXkgaXRpbmVyYXJ5IGZvciBhIGd1ZXN0IHN0YXlpbmcgYXQgTmFybyBFY28gUmVzb3J0LiBVc2Ugb25seSB0aGVzZSBmYWN0cy4gRG8gbm90IGludmVudCBvcGVuaW5nIGhvdXJzLCBwcmljZXMgb3IgdHJhdmVsIHRpbWVzLiBEbyBub3Qgc3VnZ2VzdCBub24tdmVnZXRhcmlhbiBmb29kIG9yIGEgc3BhLCBhbmQgZG8gbm90IHNheSB0aGUgcG9vbCBpcyBvcGVuLiBQbGFpbiB0ZXh0LCBvbmUgbGluZSBwZXIgcGFydCBvZiBkYXksIG5vIG1hcmtkb3duIHN5bWJvbHMuXG5GQUNUUzpcbiR7RkFDVFN9XG5cbkd1ZXN0IHJlcXVlc3Q6ICR7cX1gLHtvblRleHQ6KHt0ZXh0fSk9PntvLnRleHRDb250ZW50PXRleHQ7fX0pOwogICAgby50ZXh0Q29udGVudD1yLnRleHQ7CiAgfWNhdGNoKGUpeyBvLnRleHRDb250ZW50PSh3aW5kb3cubmFyb0l0aW5lcmFyeT9uYXJvSXRpbmVyYXJ5KHEpOiJBc2sgTmFybyBTdXJ5YSBmb3IgYSBwbGFuLiIpOyB9CiAgJCgicGxhbkdvIikuZGlzYWJsZWQ9ZmFsc2U7Cn0pOwoKLyogLS0tLS0tLS0tLSBmb290ZXIgY29udGFjdCAtLS0tLS0tLS0tICovCihmdW5jdGlvbigpewogIGNvbnN0IGl0PVtDT05UQUNULmVtYWlsJiYiRW1haWw6ICIrQ09OVEFDVC5lbWFpbF0uZmlsdGVyKEJvb2xlYW4pOwogICQoImNvbnRhY3RMaXN0IikuaW5uZXJIVE1MPWl0Lmxlbmd0aD9pdC5tYXAoaT0+YDxsaT4ke2VzYyhpKX08L2xpPmApLmpvaW4oIiIpOmA8bGk+VmlsbGFnZSBDaGlseW9uLCBQb3N0IEFzaG9rIEFzaHJhbTwvbGk+PGxpPnZpYSBEYWtwYXRoYXIsIFZpa2FzbmFnYXI8L2xpPjxsaT5EZWhyYWR1biwgVXR0YXJha2hhbmQgMjQ4MTI1PC9saT48bGk+PGEgaHJlZj0iIyIgb25jbGljaz0iZXZlbnQucHJldmVudERlZmF1bHQoKTt3aW5kb3cubmFyb09wZW5UYXdrJiZuYXJvT3BlblRhd2soKSIgc3R5bGU9ImNvbG9yOnZhcigtLWdvbGQpIj5DaGF0IHdpdGggb3VyIHRlYW08L2E+PC9saT5gOwp9KSgpOwpyZW5kZXIoKTsKPC9zY3JpcHQ+CjxzY3JpcHQ+ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciBiPWUudGFyZ2V0LmNsb3Nlc3QoIiNoZXJvQ29udGludWVCdG4iKTtpZihiICYmIHR5cGVvZiBvcGVuQm9va0RyYXdlcj09PSJmdW5jdGlvbiIpe29wZW5Cb29rRHJhd2VyKCk7fX0pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXt2YXIgbD1lLnRhcmdldC5jbG9zZXN0KCIjbmF2UGxhbkxpbmsiKTtpZihsKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRyaXBQbGFuT3B0aW9uYWwiKTtpZihkKXtkLm9wZW49dHJ1ZTtkLnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjoic21vb3RoIixibG9jazoiY2VudGVyIn0pO319fSk7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gaGVyb0RhdGVzUmVhZHkoKXtyZXR1cm4gISEodHlwZW9mIFMhPT0idW5kZWZpbmVkIiAmJiBTLmNpICYmIFMuY28gJiYgUy5jbyA+IFMuY2kpO312YXIgaGVyb0F1dG9PcGVuZWQ9ZmFsc2UsaGVyb0F1dG9UaW1lcj1udWxsO2Z1bmN0aW9uIGhlcm9NYXliZUF1dG9PcGVuKCl7aWYoaGVyb0F1dG9PcGVuZWQpcmV0dXJuO3ZhciBib29rPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib29rIik7aWYoYm9vayAmJiBib29rLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpKXJldHVybjtpZighaGVyb0RhdGVzUmVhZHkoKSlyZXR1cm47Y2xlYXJUaW1lb3V0KGhlcm9BdXRvVGltZXIpO2hlcm9BdXRvVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKGhlcm9BdXRvT3BlbmVkIHx8ICFoZXJvRGF0ZXNSZWFkeSgpKXJldHVybjtpZih0eXBlb2YgZ289PT0iZnVuY3Rpb24iKWdvKDIpO2lmKHR5cGVvZiBTIT09InVuZGVmaW5lZCIgJiYgUy5zdGVwPT09Mil7aGVyb0F1dG9PcGVuZWQ9dHJ1ZTtpZih0eXBlb2Ygb3BlbkJvb2tEcmF3ZXI9PT0iZnVuY3Rpb24iKW9wZW5Cb29rRHJhd2VyKCk7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBnTmFtZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ05hbWUiKTtpZihnTmFtZSlnTmFtZS5mb2N1cygpO30sNDUwKTt9fSw3MDApO31bImNpIiwiY28iXS5mb3JFYWNoKGZ1bmN0aW9uKGlkKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO2lmKGVsKWVsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsaGVyb01heWJlQXV0b09wZW4pO30pO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXtpZihlLnRhcmdldC5jbG9zZXN0KCIjaGVyb0Jvb2sgW2RhdGEtc3RlcF0iKSB8fCBlLnRhcmdldC5jbG9zZXN0KCIjYXV0b0J0biIpKXtzZXRUaW1lb3V0KGhlcm9NYXliZUF1dG9PcGVuLDUwKTt9fSk7ZnVuY3Rpb24gZ3Vlc3RGaWVsZHNSZWFkeSgpe3ZhciBuYW1lPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ05hbWUiKXx8e30pLnZhbHVlIHx8ICIiO3ZhciBwaG9uZT0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdQaG9uZSIpfHx7fSkudmFsdWUgfHwgIiI7dmFyIHRpdGxlT2s9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbnB1dFtuYW1lPXRpdGxlXTpjaGVja2VkIik7dmFyIGNvbnNlbnRFbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ0NvbnNlbnQiKTt2YXIgY29uc2VudE9rPSFjb25zZW50RWwgfHwgY29uc2VudEVsLmNoZWNrZWQ7cmV0dXJuIHRpdGxlT2sgJiYgY29uc2VudE9rICYmIG5hbWUudHJpbSgpLmxlbmd0aD49MiAmJiBwaG9uZS5yZXBsYWNlKC9bXHMtXS9nLCIiKS5sZW5ndGg+PTEwO312YXIgZ3Vlc3RBdXRvVGltZXI9bnVsbDtmdW5jdGlvbiBndWVzdE1heWJlQXV0b0FkdmFuY2UoKXtpZih0eXBlb2YgUz09PSJ1bmRlZmluZWQiIHx8IFMuc3RlcCE9PTIpcmV0dXJuO2lmKCFndWVzdEZpZWxkc1JlYWR5KCkpcmV0dXJuO2NsZWFyVGltZW91dChndWVzdEF1dG9UaW1lcik7Z3Vlc3RBdXRvVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKHR5cGVvZiBTPT09InVuZGVmaW5lZCIgfHwgUy5zdGVwIT09MiB8fCAhZ3Vlc3RGaWVsZHNSZWFkeSgpKXJldHVybjtpZih0eXBlb2YgZ289PT0iZnVuY3Rpb24iKWdvKDMpO30sOTAwKTt9WyJnTmFtZSIsImdQaG9uZSIsImdFbWFpbCJdLmZvckVhY2goZnVuY3Rpb24oaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoZWwpZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGd1ZXN0TWF5YmVBdXRvQWR2YW5jZSk7fSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbihlKXtpZihlLnRhcmdldC5jbG9zZXN0KCJpbnB1dFtuYW1lPXRpdGxlXSIpIHx8IGUudGFyZ2V0LmNsb3Nlc3QoIiNnQ29uc2VudCIpKWd1ZXN0TWF5YmVBdXRvQWR2YW5jZSgpO30pO30pKCk7KGZ1bmN0aW9uKCl7dmFyIF9jYWxjPWNhbGM7Y2FsYz1mdW5jdGlvbigpe3ZhciBjPV9jYWxjKCk7aWYod2luZG93Ll9fbmFyb0NvdXBvbil7dmFyIHBjdD0od2luZG93Ll9fbmFyb0NvdXBvblBjdHx8MykvMTAwO3ZhciBkaXNjPU1hdGgucm91bmQoYy5zdWIqcGN0KTt2YXIgZGlzY291bnRlZFN1Yj1jLnN1Yi1kaXNjO3ZhciBuZXdHc3Q9TWF0aC5yb3VuZChkaXNjb3VudGVkU3ViKkdTVCk7Yy5kaXNjb3VudD1kaXNjO2MuZ3N0PW5ld0dzdDtjLnRvdGFsPWRpc2NvdW50ZWRTdWIrbmV3R3N0O31yZXR1cm4gYzt9O3ZhciBfYnJlYWtkb3duPWJyZWFrZG93bjticmVha2Rvd249ZnVuY3Rpb24oYyl7dmFyIG91dD1fYnJlYWtkb3duKGMpO2lmKGMuZGlzY291bnQpe3ZhciBsaW5lPSc8ZGl2PjxzcGFuPkNvdXBvbiAnK3dpbmRvdy5fX25hcm9Db3Vwb24rJyAoJysod2luZG93Ll9fbmFyb0NvdXBvblBjdHx8MykrJyUgb2ZmKTwvc3Bhbj48c3BhbiBjbGFzcz0idiI+LScraW5yKGMuZGlzY291bnQpKyc8L3NwYW4+PC9kaXY+Jzt2YXIgbWFya2VyPSc8ZGl2PjxzcGFuPkdTVCA1JTwvc3Bhbj4nO291dD1vdXQuaW5kZXhPZihtYXJrZXIpIT09LTE\/b3V0LnJlcGxhY2UobWFya2VyLGxpbmUrbWFya2VyKTpvdXQucmVwbGFjZSgnPGRpdiBjbGFzcz0idG90YWwiPicsbGluZSsnPGRpdiBjbGFzcz0idG90YWwiPicpO31yZXR1cm4gb3V0O307dmFyIGFwcGx5QnRuPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3Vwb25BcHBseUJ0biIpO3ZhciBjb3Vwb25JbnB1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY291cG9uSW5wdXQiKTt2YXIgY291cG9uTXNnPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3Vwb25Nc2ciKTtmdW5jdGlvbiBhcHBseUNvdXBvbigpe3ZhciBjb2RlPShjb3Vwb25JbnB1dC52YWx1ZXx8IiIpLnRyaW0oKS50b1VwcGVyQ2FzZSgpO2lmKGNvZGU9PT0iIil7d2luZG93Ll9fbmFyb0NvdXBvbj1udWxsO2NvdXBvbk1zZy50ZXh0Q29udGVudD0iRW50ZXIgYSBjb3Vwb24gY29kZSB0byBhcHBseSBhIGRpc2NvdW50LiI7Y291cG9uTXNnLnN0eWxlLmNvbG9yPSJ2YXIoLS13YXJuKSI7fWVsc2V7dmFyIGRhdGE9bnVsbDt0cnl7ZGF0YT1KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJuYXJvQ291cG9uRGF0YSIpfHwibnVsbCIpO31jYXRjaChlKXtkYXRhPW51bGw7fWlmKCFkYXRhfHwhZGF0YS5jb2RlfHxkYXRhLmNvZGUudG9VcHBlckNhc2UoKSE9PWNvZGUpe3dpbmRvdy5fX25hcm9Db3Vwb249bnVsbDtjb3Vwb25Nc2cudGV4dENvbnRlbnQ9IlRoYXQgY291cG9uIGNvZGUgaXMgbm90IHZhbGlkLiI7Y291cG9uTXNnLnN0eWxlLmNvbG9yPSJ2YXIoLS13YXJuKSI7fWVsc2UgaWYoZGF0YS51c2VkKXt3aW5kb3cuX19uYXJvQ291cG9uPW51bGw7Y291cG9uTXNnLnRleHRDb250ZW50PSJUaGlzIGNvdXBvbiBoYXMgYWxyZWFkeSBiZWVuIHVzZWQuIjtjb3Vwb25Nc2cuc3R5bGUuY29sb3I9InZhcigtLXdhcm4pIjt9ZWxzZSBpZihkYXRhLmV4cGlyZXNBdCYmZGF0YS5leHBpcmVzQXQ8RGF0ZS5ub3coKSl7d2luZG93Ll9fbmFyb0NvdXBvbj1udWxsO2NvdXBvbk1zZy50ZXh0Q29udGVudD0iVGhpcyBjb3Vwb24gaGFzIGV4cGlyZWQuIjtjb3Vwb25Nc2cuc3R5bGUuY29sb3I9InZhcigtLXdhcm4pIjt9ZWxzZXt3aW5kb3cuX19uYXJvQ291cG9uPWRhdGEuY29kZTt3aW5kb3cuX19uYXJvQ291cG9uUGN0PWRhdGEucGN0fHwzO2NvdXBvbk1zZy50ZXh0Q29udGVudD0iQ291cG9uIGFwcGxpZWQ6ICIrKGRhdGEucGN0fHwzKSsiJSBvZmYgeW91ciByb29tIHRvdGFsLiI7Y291cG9uTXNnLnN0eWxlLmNvbG9yPSJ2YXIoLS1nb29kKSI7fX1jb3Vwb25Nc2cuc3R5bGUuZGlzcGxheT0iYmxvY2siO2lmKHR5cGVvZiByZW5kZXJSZXZpZXc9PT0iZnVuY3Rpb24iKXtyZW5kZXJSZXZpZXcoKTt9aWYodHlwZW9mIHVwZD09PSJmdW5jdGlvbiIpe3VwZCgpO319aWYoYXBwbHlCdG4mJmNvdXBvbklucHV0KXthcHBseUJ0bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXBwbHlDb3Vwb24pO2NvdXBvbklucHV0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpe2lmKGUua2V5PT09IkVudGVyIil7ZS5wcmV2ZW50RGVmYXVsdCgpO2FwcGx5Q291cG9uKCk7fX0pO31kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIGI9ZS50YXJnZXQuY2xvc2VzdCgiI3BheUJ0biIpO2lmKCFifHwhd2luZG93Ll9fbmFyb0NvdXBvbilyZXR1cm47dHJ5e3ZhciBkPUpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oIm5hcm9Db3Vwb25EYXRhIil8fCJudWxsIik7aWYoZCYmZC5jb2RlPT09d2luZG93Ll9fbmFyb0NvdXBvbil7ZC51c2VkPXRydWU7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIm5hcm9Db3Vwb25EYXRhIixKU09OLnN0cmluZ2lmeShkKSk7fX1jYXRjaChlMil7fX0sdHJ1ZSk7fSkoKTs8L3NjcmlwdD4KCjxzdHlsZT4qe2ZvbnQtZmFtaWx5Okdlb3JnaWEsIlRpbWVzIE5ldyBSb21hbiIsc2VyaWYhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOm5vcm1hbCFpbXBvcnRhbnQ7Zm9udC12YXJpYW50Om5vcm1hbCFpbXBvcnRhbnR9Ci5uZGxne3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDt0b3A6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTAwMDAwO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMywxMCw4LC42Mik7cGFkZGluZzoxNnB4fQoubmRsZy5vbntkaXNwbGF5OmZsZXh9Ci5uZGxnIC5ib3h7bWF4LXdpZHRoOjQyMHB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZDojMGYyYTIyO2NvbG9yOiNlOGYwZWE7Ym9yZGVyOjJweCBzb2xpZCAjZWZiZjYyO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjIycHggMjJweCAxOHB4O2JveC1zaGFkb3c6MCAyMHB4IDYwcHggcmdiYSgwLDAsMCwuNSk7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS41fQoubmRsZyAuYm94IGJ1dHRvbnttYXJnaW4tdG9wOjE0cHg7Ym9yZGVyOjFweCBzb2xpZCAjZWZiZjYyO2JhY2tncm91bmQ6I2VmYmY2Mjtjb2xvcjojMWExMjA0O2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo5cHggMjRweDtmb250LXNpemU6MTZweDtjdXJzb3I6cG9pbnRlcn08L3N0eWxlPgo8ZGl2IGNsYXNzPSJuZGxnIiBpZD0ibmRsZyIgcm9sZT0iYWxlcnRkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiPjxkaXYgY2xhc3M9ImJveCI+PGRpdiBpZD0ibmRNc2ciPjwvZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0ibmRPayI+T2theTwvYnV0dG9uPjwvZGl2PjwvZGl2Pgo8c2NyaXB0PgooZnVuY3Rpb24oKXt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmRsZyIpLG1tPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZE1zZyIpLGxhc3Q9IiI7CmZ1bmN0aW9uIHNob3codCl7bW0udGV4dENvbnRlbnQ9dDtkLmNsYXNzTGlzdC5hZGQoIm9uIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5kT2siKS5mb2N1cygpO30KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5kT2siKS5vbmNsaWNrPWZ1bmN0aW9uKCl7ZC5jbGFzc0xpc3QucmVtb3ZlKCJvbiIpfTsKZC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7aWYoZS50YXJnZXQ9PT1kKWQuY2xhc3NMaXN0LnJlbW92ZSgib24iKX0pOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihlKXtpZihlLmtleT09PSJFc2NhcGUiKWQuY2xhc3NMaXN0LnJlbW92ZSgib24iKX0pOwpbImUxIiwiZTIiLCJlMyIsImFpTXNnIiwiY29weU1zZyJdLmZvckVhY2goZnVuY3Rpb24oaWQpe3ZhciBlbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7aWYoIWVsKXJldHVybjsKIG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7dmFyIHQ9ZWwudGV4dENvbnRlbnQudHJpbSgpO2lmKCF0fHwvXHUyMDI2JC8udGVzdCh0KSlyZXR1cm47c2hvdyh0KTtlbC50ZXh0Q29udGVudD0iIjt9KS5vYnNlcnZlKGVsLHtjaGlsZExpc3Q6dHJ1ZSxjaGFyYWN0ZXJEYXRhOnRydWUsc3VidHJlZTp0cnVlfSk7fSk7CnZhciByaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9vbUhpbnQiKTsKaWYocmgpbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKXt2YXIgdD1yaC50ZXh0Q29udGVudC50cmltKCk7aWYocmguc3R5bGUuY29sb3ImJnQpe2lmKHQhPT1sYXN0KXtsYXN0PXQ7c2hvdyh0KTt9fWVsc2V7bGFzdD0iIjt9fSkub2JzZXJ2ZShyaCx7Y2hpbGRMaXN0OnRydWUsY2hhcmFjdGVyRGF0YTp0cnVlLHN1YnRyZWU6dHJ1ZSxhdHRyaWJ1dGVzOnRydWV9KTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKdmFyIHQ9MCxhdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7IGF2LmlkPSJhdmFpbE1zZyI7IGF2LmNsYXNzTmFtZT0ibm90ZSI7IGF2LnN0eWxlLm1hcmdpblRvcD0iNnB4IjsKdmFyIHJoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyb29tSGludCIpOyByaC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhdixyaC5uZXh0U2libGluZyk7CnZhciBfcj1yZW5kZXI7CnJlbmRlcj1mdW5jdGlvbigpeyBfcigpOyBjbGVhclRpbWVvdXQodCk7IHQ9c2V0VGltZW91dChjaGVjaywzNTApOyB9Owphc3luYyBmdW5jdGlvbiBjaGVjaygpewogdmFyIGs9Uy5jaSsifCIrUy5jbzsgaWYobmlnaHRzKCk8MXx8Uy5jaTx0b2RheSkgcmV0dXJuOyB2YXIgYTsKIHRyeXsgdmFyIHI9YXdhaXQgZmV0Y2goIi93cC1qc29uL25hcm8vdjEvYXZhaWw\/Y2hlY2tpbj0iK1MuY2krIiZjaGVja291dD0iK1MuY28se2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTsgaWYoIXIub2spIHJldHVybjsgYT1hd2FpdCByLmpzb24oKTsgaWYoIWEub2spIHJldHVybjsgfWNhdGNoKGUpeyByZXR1cm47IH0KIGlmKGshPT1TLmNpKyJ8IitTLmNvKSByZXR1cm47CiB2YXIgY2hhbmdlZD0oYS5kYmwhPT1NQVhEQkx8fGEuZmFtIT09TUFYRkFNKTsgTUFYREJMPWEuZGJsOyBNQVhGQU09YS5mYW07IExJTS5kYmxbMV09YS5kYmw7IExJTS5mYW1bMV09YS5mYW07IFMuYXZhaWw9YTsKIGF2LnRleHRDb250ZW50PShhLmRibCthLmZhbT09PTApPyJTb3JyeSwgbm8gcm9vbXMgYXJlIGZyZWUgZm9yIHRoZXNlIGRhdGVzLiBQbGVhc2UgdHJ5IG90aGVyIGRhdGVzLiI6IkZyZWUgb24gdGhlc2UgZGF0ZXM6ICIrYS5kYmwrIiBEb3VibGUgUm9vbSIrKGEuZGJsPT09MT8iIjoicyIpKyIgYW5kICIrYS5mYW0rIiBGYW1pbHkgUm9vbSIrKGEuZmFtPT09MT8iIjoicyIpKyIuIjsKIGlmKGNoYW5nZWQpIF9yKCk7Cn0KdmFyIF92PXZhbGlkYXRlOwp2YWxpZGF0ZT1mdW5jdGlvbihzdGVwKXsKIGlmKHN0ZXA9PT0xJiZTLmF2YWlsKXsKICBpZihTLmF2YWlsLmRibCtTLmF2YWlsLmZhbT09PTApeyAkKCJlMSIpLnRleHRDb250ZW50PSJTb3JyeSwgbm8gcm9vbXMgYXJlIGZyZWUgZm9yIHRoZXNlIGRhdGVzLiBQbGVhc2UgdHJ5IG90aGVyIGRhdGVzLiI7IHJldHVybiBmYWxzZTsgfQogIGlmKFMuZGJsPlMuYXZhaWwuZGJsfHxTLmZhbT5TLmF2YWlsLmZhbSl7ICQoImUxIikudGV4dENvbnRlbnQ9Ik9ubHkgIitTLmF2YWlsLmRibCsiIERvdWJsZSBSb29tIisoUy5hdmFpbC5kYmw9PT0xPyIiOiJzIikrIiBhbmQgIitTLmF2YWlsLmZhbSsiIEZhbWlseSBSb29tIisoUy5hdmFpbC5mYW09PT0xPyIiOiJzIikrIiBhcmUgZnJlZSBmb3IgdGhlc2UgZGF0ZXMuIFBsZWFzZSBhZGp1c3QgeW91ciByb29tcy4iOyByZXR1cm4gZmFsc2U7IH0KIH0KIHJldHVybiBfdihzdGVwKTsKfTsKcmVuZGVyKCk7Cn0pKCk7Cjwvc2NyaXB0PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyc0J0biIpOyBpZighYikgcmV0dXJuOwpmdW5jdGlvbiB2KGkpe3JldHVybiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaSkudmFsdWV8fCIiKS50cmltKCk7fQpmdW5jdGlvbiBmbXQocyl7dmFyIHA9cy5zcGxpdCgiLSIpOyByZXR1cm4gcFsyXSsiLyIrcFsxXSsiLyIrcFswXTt9CmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7CiB2YXIgbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnNNc2ciKSwgbj12KCJyc05hbWUiKSwgcm09cGFyc2VJbnQodigicnNSb29tcyIpLDEwKSwgbz12KCJyc09sZCIpLCBpPXYoInJzSW4iKSwgdT12KCJyc091dCIpOwogaWYoIW58fCFybXx8cm08MXx8IW98fCFpfHwhdSl7bS50ZXh0Q29udGVudD0iUGxlYXNlIGZpbGwgeW91ciBuYW1lLCBudW1iZXIgb2Ygcm9vbXMsIGN1cnJlbnQgYXJyaXZhbCBkYXRlIGFuZCB0aGUgbmV3IGRhdGVzLiI7IHJldHVybjt9CiBpZih1PD1pKXttLnRleHRDb250ZW50PSJDaGVjay1vdXQgbXVzdCBiZSBhZnRlciBjaGVjay1pbi4iOyByZXR1cm47fQogdmFyIHQ9bmV3IERhdGUoKTsgdC5zZXRIb3VycygwLDAsMCwwKTsgdmFyIGQ9bmV3IERhdGUobysiVDAwOjAwOjAwIik7CiBpZihNYXRoLnJvdW5kKChkLXQpLzg2NDAwMDAwKTwzKXttLnRleHRDb250ZW50PSJTb3JyeSwgYSBjaGFuZ2UgcmVxdWVzdGVkIGxlc3MgdGhhbiAzIGRheXMgYmVmb3JlIGFycml2YWwgaXMgdHJlYXRlZCBhcyBhIG5vLXNob3cgYW5kIGlzIG5vdCB0cmFuc2ZlcmFibGUuIjsgcmV0dXJuO30KIG0udGV4dENvbnRlbnQ9IiI7CiB2YXIgdHh0PSJSZXNjaGVkdWxlIHJlcXVlc3QgLSBOYXJvIEVjbyBSZXNvcnRcbk5hbWU6ICIrbisiXG5Sb29tczogIitybSsiXG5Cb29raW5nIHJlZjogIisodigicnNSZWYiKXx8Ii0iKSsiXG5DdXJyZW50IGFycml2YWw6ICIrZm10KG8pKyJcbk5ldyBkYXRlczogIitmbXQoaSkrIiB0byAiK2ZtdCh1KSsiXG5SZXNjaGVkdWxlIGZlZTogUnMgIisocm0qMTAwMCkudG9Mb2NhbGVTdHJpbmcoImVuLUlOIikrIiAoUnMgMSwwMDAgcGVyIHJvb20pLiI7CiB3aW5kb3cuX19yc1VybD0iaHR0cHM6Ly93YS5tZS85MTcwMTc3MTQzODU\/dGV4dD0iK2VuY29kZVVSSUNvbXBvbmVudCh0eHQpOwogd2luZG93Lm9wZW4od2luZG93Ll9fcnNVcmwsIl9ibGFuayIpOwp9KTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKZnVuY3Rpb24gdXBkKCl7CiB2YXIgYz1jYWxjKCksIGFkdj1NYXRoLm1pbigxNTAwKmMucm9vbXMsYy50b3RhbCksIG1vZGU9cmFkaW8oInBheU1vZGUiKXx8ImZ1bGwiOwogdmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvQWR2IiksIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvRnVsbEFtdCIpLCBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXlCdG4iKTsKIGlmKGYpIGYudGV4dENvbnRlbnQ9IigiK2lucihjLnRvdGFsKSsiKSI7CiBpZihhKSBhLnRleHRDb250ZW50PSJCYWxhbmNlIG9mICIraW5yKGMudG90YWwtYWR2KSsiIHRvIHBheSBhdCBjaGVjay1pbi4gSWYgeW91IGRvIG5vdCBhcnJpdmUsIHRoZSAiK2lucihhZHYpKyIgaXMgZm9yZmVpdGVkIGFuZCBpcyBub3QgcmVmdW5kYWJsZS4iOwogdmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBvQWR2VCIpOyBpZih0KSB0LnRleHRDb250ZW50PSJQYXkgIitpbnIoYWR2KSsiIG5vdyI7CiBpZihiKSBiLnRleHRDb250ZW50PShtb2RlPT09ImFkdmFuY2UiKT8iUGF5ICIraW5yKGFkdikrIiBhbmQgY29uZmlybSI6IlBheSAiK2lucihjLnRvdGFsKSsiIGFuZCBjb25maXJtIjsKfQp2YXIgX3JyPXJlbmRlclJldmlldzsgcmVuZGVyUmV2aWV3PWZ1bmN0aW9uKCl7IF9ycigpOyB1cGQoKTsgfTsKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXRbbmFtZT0icGF5TW9kZSJdJykuZm9yRWFjaChmdW5jdGlvbihpKXsgaS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHVwZCk7IH0pOwp9KSgpOwo8L3NjcmlwdD4KCjxzdHlsZT4uYnJhbmQtbG9nb3t3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZjtvYmplY3QtZml0OmNvbnRhaW47ZmxleDpub25lO2Rpc3BsYXk6YmxvY2t9PC9zdHlsZT4KCjxzdHlsZT4KLmhlcm8tcGhvdG97cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoNCwxNiwxMywuNSkscmdiYSg0LDE2LDEzLC44OCkpLHVybChodHRwczovL25hcm9lY28uY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA5L1doYXRzQXBwLUltYWdlLTIwMjUtMDctMDItYXQtMTIuMDAuMzEtQU0tMS1uYXJvLXdtLmpwZykgY2VudGVyL2NvdmVyIG5vLXJlcGVhdH0KI3NreXtvcGFjaXR5Oi40fQouZ2FsbGVyeXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjE0cHh9Ci5nYWxsZXJ5IC5waHtoZWlnaHQ6MjEwcHg7Ym9yZGVyLXJhZGl1czoxNHB4O292ZXJmbG93OmhpZGRlbn0KLmdhbGxlcnkgLnBoIGltZywudHBoIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7ZGlzcGxheTpibG9ja30KLnRwaHtoZWlnaHQ6MTcwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tYm90dG9tOjE0cHh9CkBtZWRpYShtYXgtd2lkdGg6NzAwcHgpey5nYWxsZXJ5e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5nYWxsZXJ5IC5waHtoZWlnaHQ6MTUwcHh9fQo8L3N0eWxlPgoKPHN0eWxlPgoubmF2LXRvZ2dsZXtkaXNwbGF5Om5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjVweDt3aWR0aDozOHB4O2hlaWdodDozNHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1saW5lKTtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjB9Ci5uYXYtdG9nZ2xlIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDoxOHB4O2hlaWdodDoycHg7YmFja2dyb3VuZDp2YXIoLS1taXN0KTttYXJnaW46MCBhdXRvO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyxvcGFjaXR5IC4yc30KLm5hdi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDdweCkgcm90YXRlKDQ1ZGVnKX0KLm5hdi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MH0KLm5hdi10b2dnbGVbYXJpYS1leHBhbmRlZD0idHJ1ZSJdIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC03cHgpIHJvdGF0ZSgtNDVkZWcpfQpAbWVkaWEobWF4LXdpZHRoOjg2MHB4KXsKIC5uYXYtdG9nZ2xle2Rpc3BsYXk6ZmxleDtvcmRlcjozfQogI3NpdGVOYXYgLndyYXB7ZmxleC13cmFwOndyYXB9CiAjbmF2TGlzdHtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweDtvcmRlcjo0O2JhY2tncm91bmQ6dmFyKC0tZm9yZXN0KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWxpbmUpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjEwcHg7bWFyZ2luLXRvcDoxMHB4fQogI25hdkxpc3Qub3BlbntkaXNwbGF5OmZsZXh9CiAjbmF2TGlzdCBhe2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMHB4IDhweDtmb250LXNpemU6MTZweH0KICNzaXRlTmF2IC5idG57b3JkZXI6Mn0KfQo8L3N0eWxlPgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKdmFyIGI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdlRvZ2dsZSIpLCBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuYXZMaXN0Iik7IGlmKCFifHwhbCkgcmV0dXJuOwpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpeyB2YXIgb3Blbj1sLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iKTsgYi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLFN0cmluZyhvcGVuKSk7IH0pOwpsLnF1ZXJ5U2VsZWN0b3JBbGwoImEiKS5mb3JFYWNoKGZ1bmN0aW9uKGEpeyBhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpeyBsLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKTsgYi5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpOyB9KTsgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPHN0eWxlIGlkPSJuYXJvLXJlYWQiPgo6cm9vdHstLW1pc3QyOiNjZmRjZDR9CmJvZHl7Zm9udC1zaXplOjE4cHh9Ci5leWVicm93e2ZvbnQtc2l6ZToxNXB4IWltcG9ydGFudDtjb2xvcjp2YXIoLS1nb2xkKX0KLnMtaGVhZCBwLC5zdHVkaW8taGVhZCBwe2ZvbnQtc2l6ZToxOXB4IWltcG9ydGFudDtjb2xvcjojZGZlOWUyIWltcG9ydGFudH0KLm5vdGUsLnBhbmUgLnN1Yntmb250LXNpemU6MTYuNXB4IWltcG9ydGFudH0KLmZsZCBsYWJlbHtmb250LXNpemU6MTUuNXB4IWltcG9ydGFudDtmb250LXdlaWdodDo3MDB9Ci5zdGVwcyBidXR0b257Zm9udC1zaXplOjE2cHghaW1wb3J0YW50O3BhZGRpbmc6MThweCA4cHghaW1wb3J0YW50fQouc3RlcHMgYnV0dG9uIGJ7d2lkdGg6MzJweCFpbXBvcnRhbnQ7aGVpZ2h0OjMycHghaW1wb3J0YW50O2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0KLnBhbmUgaDN7Zm9udC1zaXplOjMwcHghaW1wb3J0YW50fQoub3B0cyBzcGFue2ZvbnQtc2l6ZToxNi41cHghaW1wb3J0YW50fQouZmxkIGlucHV0LC5mbGQgc2VsZWN0LC5mbGQgdGV4dGFyZWF7Zm9udC1zaXplOjE3LjVweCFpbXBvcnRhbnQ7Y29sb3I6IzEwMjUxYyFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZmZmIWltcG9ydGFudH0KLnN1bSAuc3RheS1sLC5wYXktYm94IC5zdGF5LWx7Zm9udC1zaXplOjE3LjVweCFpbXBvcnRhbnR9Ci5zdW0gLndoeXtmb250LXNpemU6MTUuNXB4IWltcG9ydGFudH0KLmJyaWVme2ZvbnQtc2l6ZToxN3B4IWltcG9ydGFudH0KLnJze2ZvbnQtc2l6ZToxNy41cHghaW1wb3J0YW50O2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50fQoudGlja3N7Zm9udC1zaXplOjE4cHghaW1wb3J0YW50fQoudGlsZSBwe2ZvbnQtc2l6ZToxNy41cHghaW1wb3J0YW50O2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50fQoudGlsZSAua3tmb250LXNpemU6MTRweCFpbXBvcnRhbnR9Ci5iYXIgLnR7Zm9udC1zaXplOjE4cHghaW1wb3J0YW50fQouZGlycyBsaXtmb250LXNpemU6MThweCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXB9Ci5kaXJzIHNtYWxse2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50O2NvbG9yOiNjZmRjZDQhaW1wb3J0YW50fQouZGlycyBhLC5hc2tidG46bm90KC5idG4pe2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50fQouZGJ0bnN7ZGlzcGxheTpmbGV4O2dhcDo4cHg7ZmxleC13cmFwOndyYXB9Ci5hc2tidG46bm90KC5idG4pe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1nb2xkKTtib3JkZXItcmFkaXVzOjk5cHg7cGFkZGluZzo4cHggMTRweDtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpHZW9yZ2lhLHNlcmlmfQouYXNrYnRuOm5vdCguYnRuKTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQtaW5rKX0KLmZhcSBzdW1tYXJ5e2ZvbnQtc2l6ZToyMXB4IWltcG9ydGFudH0KLmZhcSBkZXRhaWxzIHB7Zm9udC1zaXplOjE4cHghaW1wb3J0YW50O2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50fQouZmFxIGEsLnMtaGVhZCBhe2NvbG9yOnZhcigtLWdvbGQpfQouZ2FsbGVyeSBmaWdjYXB0aW9ue2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0KLmZhY3Rze2ZvbnQtc2l6ZToxNS41cHghaW1wb3J0YW50fQouY2hpcHtmb250LXNpemU6MTUuNXB4IWltcG9ydGFudH0KLm1lbnUtbm90ZSB1bCwucG9saWN5LWJveCBvbCwucGtnLWNhcmQgdWx7Zm9udC1zaXplOjE2LjVweCFpbXBvcnRhbnR9Ci5ldmNhbC1oZWFkIHNwYW57Zm9udC1zaXplOjE5cHghaW1wb3J0YW50fQouZXZjYWwtZ3JpZCAuZG93e2ZvbnQtc2l6ZToxNHB4IWltcG9ydGFudDtjb2xvcjojZGZlOWUyIWltcG9ydGFudH0KLmV2Y2FsLWdyaWQgYnV0dG9ue2ZvbnQtc2l6ZToxN3B4IWltcG9ydGFudH0KLmV2Y2FsLXBpY2tlZHtmb250LXNpemU6MTdweCFpbXBvcnRhbnR9Ci5ncmV2LWNvdW50e2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0KZm9vdGVyIGxpLGZvb3RlciBwe2ZvbnQtc2l6ZToxN3B4IWltcG9ydGFudH0KLnBsYW4tb3V0e2ZvbnQtc2l6ZToxNy41cHghaW1wb3J0YW50O2NvbG9yOiNmM2Y2ZjF9CiNwbGFuSW57YmFja2dyb3VuZDojZmZmIWltcG9ydGFudDtjb2xvcjojMTAyNTFjIWltcG9ydGFudDtmb250LXNpemU6MThweCFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzEwMjUxY30KI3BsYW5Jbjo6cGxhY2Vob2xkZXJ7Y29sb3I6IzViNmY2NH0KI2hlcm9Cb29re2JhY2tncm91bmQ6cmdiYSg4LDIwLDE1LC45Mik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzOSwxOTEsOTgsLjQ1KTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoyNnB4fQojaGVyb0Jvb2sgaDN7Zm9udC1zaXplOjM0cHg7Y29sb3I6I2ZmZn0KI2hlcm9Cb29rIGxhYmVse2NvbG9yOiNmZmYhaW1wb3J0YW50O2ZvbnQtc2l6ZToxN3B4IWltcG9ydGFudH0KI2hlcm9Cb29rIC5ub3Rle2NvbG9yOiNkZmU5ZTIhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0KI2hlcm9Cb29rIC5zdGVwcGVyIG91dHB1dHtmb250LXNpemU6MjBweCFpbXBvcnRhbnR9CiNoZXJvQm9vayBzdW1tYXJ5e2ZvbnQtc2l6ZToxNnB4IWltcG9ydGFudH0KLnN0ZXBwZXIgYnV0dG9ue2ZvbnQtc2l6ZToyOHB4IWltcG9ydGFudDtjb2xvcjojMTAyNTFjIWltcG9ydGFudH0KLmJvb2stY2xvc2V7b3BhY2l0eToxIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZmZiFpbXBvcnRhbnQ7Y29sb3I6IzEwMjUxYyFpbXBvcnRhbnQ7Ym9yZGVyOjJweCBzb2xpZCAjMTAyNTFjIWltcG9ydGFudDt3aWR0aDo0NnB4IWltcG9ydGFudDtoZWlnaHQ6NDZweCFpbXBvcnRhbnQ7Zm9udC1zaXplOjMwcHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMDtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwuMzUpfQouYm9vay1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOiNlZmJmNjIhaW1wb3J0YW50fQouY2hhdC1oIGJ1dHRvbiwjY2hhdFh7b3BhY2l0eToxIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fQojZmFiLCNjaGF0e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Ci5kYXRlYnRue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEwcHg7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjU4cHg7Ym9yZGVyOjNweCBzb2xpZCB2YXIoLS1nb2xkKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMxMDI1MWM7Zm9udDo0MDAgMTlweCBHZW9yZ2lhLHNlcmlmO3BhZGRpbmc6MTJweCAxNnB4O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdH0KLmRhdGVidG46OmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtmbGV4Om5vbmU7YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyL2NvbnRhaW4gdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzEwMjUxYycgc3Ryb2tlLXdpZHRoPScyJyUzRSUzQ3JlY3QgeD0nMycgeT0nNScgd2lkdGg9JzE4JyBoZWlnaHQ9JzE2JyByeD0nMicvJTNFJTNDcGF0aCBkPSdNMyAxMGgxOE04IDN2NE0xNiAzdjQnLyUzRSUzQy9zdmclM0UiKX0KLmRhdGVidG4uZW1wdHl7Y29sb3I6IzViNmY2NH0KLnAxdG90YWx7bWFyZ2luLXRvcDoxMHB4O2ZvbnQtc2l6ZToxOXB4O2NvbG9yOiMxMDI1MWN9Ci5uY2Fse3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDoyMDAwMDA7YmFja2dyb3VuZDpyZ2JhKDMsMTAsOCwuNyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTRweH0KLm5jYWxbaGlkZGVuXXtkaXNwbGF5Om5vbmV9Ci5uY2FsLWJveHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzEwMjUxYztib3JkZXItcmFkaXVzOjIwcHg7d2lkdGg6bWluKDU2MHB4LDEwMCUpO21heC1oZWlnaHQ6OTZ2aDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MjJweDtib3gtc2hhZG93OjAgMzBweCA4MHB4IHJnYmEoMCwwLDAsLjUpO2ZvbnQtZmFtaWx5Okdlb3JnaWEsc2VyaWZ9Ci5uY2FsLXRvcHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MTJweH0KLm5jYWwtc3RlcHtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo3MDB9Ci5uY2FsLXNlbHtmb250LXNpemU6MTdweDtjb2xvcjojMmQ0YTNkO21hcmdpbi10b3A6NHB4fQoubmNhbC14e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MnB4IHNvbGlkICMxMDI1MWM7Y29sb3I6IzEwMjUxYztib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjE7Y3Vyc29yOnBvaW50ZXI7ZmxleDpub25lfQoubmNhbC1uYXZ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXJnaW46MThweCAwIDEwcHh9Ci5uY2FsLW5hdiBzcGFue2ZvbnQtc2l6ZToyMnB4O2ZvbnQtd2VpZ2h0OjcwMH0KLm5jYWwtbmF2IGJ1dHRvbnt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXI6MnB4IHNvbGlkICMxMDI1MWM7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMxMDI1MWM7Zm9udC1zaXplOjI2cHg7Y3Vyc29yOnBvaW50ZXJ9Ci5uY2FsLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNyxtaW5tYXgoMCwxZnIpKTtnYXA6NnB4fQoubmNhbC1ncmlkIC5kb3d7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMyZDRhM2Q7cGFkZGluZzo0cHggMH0KLm5jYWwtZ3JpZCBidXR0b257bWluLXdpZHRoOjA7cGFkZGluZzowIWltcG9ydGFudDtoZWlnaHQ6NTRweDtib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyOjFweCBzb2xpZCAjYzlkNmNjO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMTAyNTFjO2ZvbnQ6NDAwIDIwcHggR2VvcmdpYSxzZXJpZjtjdXJzb3I6cG9pbnRlcn0KLm5jYWwtZ3JpZCBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCl7Ym9yZGVyOjJweCBzb2xpZCAjYzk5ODJlfQoubmNhbC1ncmlkIGJ1dHRvbjpkaXNhYmxlZHtjb2xvcjojYjdjMWJiO2JhY2tncm91bmQ6I2Y0ZjZmNDtjdXJzb3I6ZGVmYXVsdDt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdofQoubmNhbC1ncmlkIGJ1dHRvbi50b2RheXtib3JkZXI6MnB4IHNvbGlkICMxMDI1MWN9Ci5uY2FsLWdyaWQgYnV0dG9uLmlucntiYWNrZ3JvdW5kOiNmNmU3YzR9Ci5uY2FsLWdyaWQgYnV0dG9uLmNpLC5uY2FsLWdyaWQgYnV0dG9uLmNve2JhY2tncm91bmQ6I2M5OTgyZTtjb2xvcjojMWExMjA0O2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItY29sb3I6IzhhNjYxNH0KLm5jYWwtZm9vdHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6MTZweDtmb250LXNpemU6MTZweDtjb2xvcjojMmQ0YTNkfQouY29udGFjdC1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MjZweH0KQG1lZGlhKG1heC13aWR0aDo4NjBweCl7LmNvbnRhY3QtZ3JpZHtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfX0KLmNvbnRhY3QtY2FyZHtiYWNrZ3JvdW5kOnZhcigtLWNhcmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tbGluZSk7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6MzBweDtmb250LXNpemU6MThweDtjb2xvcjojZGZlOWUyfQouY29udGFjdC1jYXJkIGgze2ZvbnQtc2l6ZToyOHB4O2NvbG9yOiNmZmY7bWFyZ2luLWJvdHRvbToxMnB4fQouY29udGFjdC1jYXJkIC5hZGRye2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjEuNjtjb2xvcjojZmZmfQoubm90ZS1kYXJre2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiNjZmRjZDR9Ci5waCwud217cG9zaXRpb246cmVsYXRpdmV9Ci5vcHRzIGlucHV0e3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtvcGFjaXR5OjAhaW1wb3J0YW50O3dpZHRoOjFweCFpbXBvcnRhbnQ7aGVpZ2h0OjFweCFpbXBvcnRhbnQ7bWluLWhlaWdodDowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDtib3JkZXI6MCFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZSFpbXBvcnRhbnQ7bGVmdDowO3RvcDowfQoub3B0cyBsYWJlbHtwb3NpdGlvbjpyZWxhdGl2ZX0KLmNyZWRpdHttYXJnaW4tdG9wOjE0cHg7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50O2NvbG9yOiNjZmRjZDR9Ci5jcmVkaXQgYXtjb2xvcjp2YXIoLS1nb2xkKTt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDIzOSwxOTEsOTgsLjUpfQoKLnBrZy1jYXJkIGg0LC5zdW0gaDQsLm1lbnUtbm90ZSBoNCwucG9saWN5LWJveCBoNCxmb290ZXIgaDR7Zm9udC1zaXplOjE2cHghaW1wb3J0YW50fQoucGFzcyBkdHtmb250LXNpemU6MTRweCFpbXBvcnRhbnR9Ci5ldmNhbC1ncmlkIGJ1dHRvbjpub3QoOmRpc2FibGVkKXtjb2xvcjojZmZmIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIzOSwxOTEsOTgsLjU1KSFpbXBvcnRhbnR9Ci5ldmNhbC1ncmlkIGJ1dHRvbjpkaXNhYmxlZHtvcGFjaXR5Oi4zIWltcG9ydGFudH0KLmV2Y2FsLWdyaWQgYnV0dG9uLnNlbHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpIWltcG9ydGFudDtjb2xvcjp2YXIoLS1nb2xkLWluaykhaW1wb3J0YW50fQo8L3N0eWxlPgo8ZGl2IGNsYXNzPSJuY2FsIiBpZD0ibmNhbCIgaGlkZGVuPjxkaXYgY2xhc3M9Im5jYWwtYm94IiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiIGFyaWEtbGFiZWw9IkNob29zZSB5b3VyIGRhdGVzIj4KICA8ZGl2IGNsYXNzPSJuY2FsLXRvcCI+PGRpdj48ZGl2IGNsYXNzPSJuY2FsLXN0ZXAiIGlkPSJuY2FsU3RlcCI+Q2hvb3NlIHlvdXIgY2hlY2staW4gZGF0ZTwvZGl2PjxkaXYgY2xhc3M9Im5jYWwtc2VsIiBpZD0ibmNhbFNlbCI+PC9kaXY+PC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuY2FsLXgiIGlkPSJuY2FsWCIgYXJpYS1sYWJlbD0iQ2xvc2UgY2FsZW5kYXIiPsOXPC9idXR0b24+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibmNhbC1uYXYiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0ibmNhbFByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIG1vbnRoIj7igLk8L2J1dHRvbj48c3BhbiBpZD0ibmNhbFRpdGxlIj48L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJuY2FsTmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBtb250aCI+4oC6PC9idXR0b24+PC9kaXY+CiAgPGRpdiBjbGFzcz0ibmNhbC1ncmlkIiBpZD0ibmNhbEdyaWQiPjwvZGl2PgogIDxkaXYgY2xhc3M9Im5jYWwtZm9vdCI+PHNwYW4+Q2hlY2staW4gZnJvbSAxMSBhbSDCtyBjaGVjay1vdXQgYnkgMTEgYW08L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWdvbGQiIGlkPSJuY2FsRG9uZSI+RG9uZTwvYnV0dG9uPjwvZGl2Pgo8L2Rpdj48L2Rpdj4KPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CnZhciBNT049WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLCBET1c9WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdOwp2YXIgYm94PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsIiksIGdyaWQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWxHcmlkIiksIG1vZGU9ImNpIiwgdmlldz1udWxsLCB0Q2k9IiIsIHRDbz0iIjsKZnVuY3Rpb24gaXNvRCh5LG0sZCl7IHJldHVybiB5KyItIitTdHJpbmcobSsxKS5wYWRTdGFydCgyLCIwIikrIi0iK1N0cmluZyhkKS5wYWRTdGFydCgyLCIwIik7IH0KZnVuY3Rpb24gb3BlbkNhbCh3aGljaCl7IHRDaT1TLmNpOyB0Q289Uy5jbzsgbW9kZT0od2hpY2g9PT0iY28iJiZ0Q2kpPyJjbyI6ImNpIjsgdmFyIGJhc2U9KG1vZGU9PT0iY28iP3RDaToodENpfHx0b2RheSkpOyB2aWV3PW5ldyBEYXRlKGJhc2UrIlQwMDowMDowMCIpOyB2aWV3LnNldERhdGUoMSk7IGJveC5oaWRkZW49ZmFsc2U7IGRyYXcoKTsgfQpmdW5jdGlvbiBjbG9zZUNhbCgpeyBib3guaGlkZGVuPXRydWU7IH0KZnVuY3Rpb24gYXBwbHkoKXsgaWYoIXRDaSl7IGNsb3NlQ2FsKCk7IHJldHVybjsgfSBTLmNpPXRDaTsgUy5jbz0odENvJiZ0Q28+dENpKT90Q286YWRkRGF5cyh0Q2ksMSk7IFMucGFpZD1mYWxzZTsgcmVuZGVyKCk7IGNsb3NlQ2FsKCk7IH0KZnVuY3Rpb24gZHJhdygpewogIHZhciB5PXZpZXcuZ2V0RnVsbFllYXIoKSwgbT12aWV3LmdldE1vbnRoKCk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWxUaXRsZSIpLnRleHRDb250ZW50PU1PTlttXSsiICIreTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFN0ZXAiKS50ZXh0Q29udGVudD0gbW9kZT09PSJjaSIgPyAiQ2hvb3NlIHlvdXIgY2hlY2staW4gZGF0ZSIgOiAiQ2hvb3NlIHlvdXIgY2hlY2stb3V0IGRhdGUiOwogIHZhciBuPSh0Q2kmJnRDbyk\/TWF0aC5yb3VuZCgobmV3IERhdGUodENvKS1uZXcgRGF0ZSh0Q2kpKS84NjQwMDAwMCk6MDsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFNlbCIpLnRleHRDb250ZW50ID0gdENpID8gKCJDaGVjayBpbjogIitmbXQodENpKSsodENvPygiICDCtyAgQ2hlY2sgb3V0OiAiK2ZtdCh0Q28pKyIgIMK3ICAiK24rKG49PT0xPyIgbmlnaHQiOiIgbmlnaHRzIikpOiIiKSkgOiAiVGFwIGEgZGF0ZSBiZWxvdy4iOwogIHZhciBmaXJzdD1uZXcgRGF0ZSh5LG0sMSkuZ2V0RGF5KCksIGRheXM9bmV3IERhdGUoeSxtKzEsMCkuZ2V0RGF0ZSgpLCBoPURPVy5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuICc8c3BhbiBjbGFzcz0iZG93Ij4nK2QrJzwvc3Bhbj4nO30pLmpvaW4oIiIpOwogIGZvcih2YXIgaT0wO2k8Zmlyc3Q7aSsrKSBoKz0nPHNwYW4+PC9zcGFuPic7CiAgZm9yKHZhciBkPTE7ZDw9ZGF5cztkKyspeyB2YXIgcz1pc29EKHksbSxkKSwgZGlzID0gczx0b2RheSB8fCAobW9kZT09PSJjbyIgJiYgdENpICYmIHM8PXRDaSk7CiAgICB2YXIgYz1bXTsgaWYocz09PXRvZGF5KWMucHVzaCgidG9kYXkiKTsgaWYocz09PXRDaSljLnB1c2goImNpIik7IGlmKHM9PT10Q28pYy5wdXNoKCJjbyIpOyBpZih0Q2kmJnRDbyYmcz50Q2kmJnM8dENvKWMucHVzaCgiaW5yIik7CiAgICBoKz0nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGRhdGEtZD0iJytzKyciIGNsYXNzPSInK2Muam9pbigiICIpKyciJysoZGlzPyIgZGlzYWJsZWQiOiIiKSsnPicrZCsnPC9idXR0b24+JzsgfQogIGdyaWQuaW5uZXJIVE1MPWg7CiAgdmFyIG5vdz1uZXcgRGF0ZSgpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFByZXYiKS5kaXNhYmxlZCA9ICh5PT09bm93LmdldEZ1bGxZZWFyKCkgJiYgbTw9bm93LmdldE1vbnRoKCkpOwp9CmdyaWQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpeyB2YXIgYj1lLnRhcmdldC5jbG9zZXN0KCJidXR0b25bZGF0YS1kXSIpOyBpZighYnx8Yi5kaXNhYmxlZCkgcmV0dXJuOyB2YXIgcz1iLmdldEF0dHJpYnV0ZSgiZGF0YS1kIik7CiAgaWYobW9kZT09PSJjaSIpeyB0Q2k9czsgaWYoIXRDb3x8dENvPD10Q2kpIHRDbz0iIjsgbW9kZT0iY28iOyBkcmF3KCk7IH0KICBlbHNlIHsgaWYoczw9dENpKXsgdENpPXM7IHRDbz0iIjsgbW9kZT0iY28iOyBkcmF3KCk7IH0gZWxzZSB7IHRDbz1zOyBkcmF3KCk7IHNldFRpbWVvdXQoYXBwbHksNDUwKTsgfSB9IH0pOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmNhbFByZXYiKS5vbmNsaWNrPWZ1bmN0aW9uKCl7IHZpZXcuc2V0TW9udGgodmlldy5nZXRNb250aCgpLTEpOyBkcmF3KCk7IH07CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuY2FsTmV4dCIpLm9uY2xpY2s9ZnVuY3Rpb24oKXsgdmlldy5zZXRNb250aCh2aWV3LmdldE1vbnRoKCkrMSk7IGRyYXcoKTsgfTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWxYIikub25jbGljaz1jbG9zZUNhbDsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5jYWxEb25lIikub25jbGljaz1hcHBseTsKYm94LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXsgaWYoZS50YXJnZXQ9PT1ib3gpIGNsb3NlQ2FsKCk7IH0pOwpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihlKXsgaWYoZS5rZXk9PT0iRXNjYXBlIiYmIWJveC5oaWRkZW4peyBlLnN0b3BQcm9wYWdhdGlvbigpOyBjbG9zZUNhbCgpOyB9IH0sdHJ1ZSk7CmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXsgdmFyIGI9ZS50YXJnZXQuY2xvc2VzdCgiW2RhdGEtY2FsXSIpOyBpZihiKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvcGVuQ2FsKGIuZ2V0QXR0cmlidXRlKCJkYXRhLWNhbCIpKTsgfSB9KTsKd2luZG93Lm5hcm9PcGVuQ2FsZW5kYXI9b3BlbkNhbDsKdmFyIF9yTj1yZW5kZXI7CnJlbmRlcj1mdW5jdGlvbigpeyBfck4oKTsKICBbWyJjaUIiLCJjaSJdLFsiY29CIiwiY28iXSxbInAxY2lCIiwiY2kiXSxbInAxY29CIiwiY28iXV0uZm9yRWFjaChmdW5jdGlvbih4KXsgdmFyIGVsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHhbMF0pOyBpZighZWwpIHJldHVybjsgdmFyIHY9U1t4WzFdXTsgZWwudGV4dENvbnRlbnQ9dj9mbXQodik6IkNob29zZSBkYXRlIjsgZWwuY2xhc3NMaXN0LnRvZ2dsZSgiZW1wdHkiLCF2KTsgfSk7CiAgWyJhZHVsdHMiLCJraWRzOSIsImtpZHNVOSIsImRibCIsImZhbSJdLmZvckVhY2goZnVuY3Rpb24oayl7IHZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwMSIraysiTyIpOyBpZihvKSBvLnRleHRDb250ZW50PVNba107IH0pOwogIHZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwMUhpbnQiKSwgcmg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb21IaW50Iik7IGlmKGgmJnJoKXsgaC50ZXh0Q29udGVudD1yaC50ZXh0Q29udGVudDsgaC5zdHlsZS5jb2xvcj1yaC5zdHlsZS5jb2xvcjsgfQogIHZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwMVRvdGFsIik7IGlmKHQpeyB0cnl7IHZhciBjPWNhbGMoKTsgdC50ZXh0Q29udGVudD0oUy5jaSYmUy5jbyYmYy5uKT8oIlRvdGFsLCBpbmNsLiA1JSBHU1Q6ICIraW5yKGMudG90YWwpKyIgZm9yICIrYy5uKyhjLm49PT0xPyIgbmlnaHQiOiIgbmlnaHRzIikpOiIiOyB9Y2F0Y2goZSl7fSB9Cn07CnJlbmRlcigpOwp9KSgpOwoKLyogQXNrIE5hcm8gU3VyeWEgYW5kIGxpdmUgY2hhdCBidXR0b25zICovCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihlKXsKICB2YXIgYT1lLnRhcmdldC5jbG9zZXN0KCIuYXNrYnRuLC5hc2tTdXJ5YSIpOyBpZihhKXsgZS5wcmV2ZW50RGVmYXVsdCgpOyB2YXIgcT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1hc2siKTsgaWYocSYmd2luZG93Lm5hcm9TdXJ5YUFzaykgbmFyb1N1cnlhQXNrKHEpOyBlbHNlIGlmKHdpbmRvdy5uYXJvU3VyeWFPcGVuKSBuYXJvU3VyeWFPcGVuKCk7IHJldHVybjsgfQogIHZhciB0PWUudGFyZ2V0LmNsb3Nlc3QoIi5vcGVuVGF3ayIpOyBpZih0KXsgZS5wcmV2ZW50RGVmYXVsdCgpOyBpZih3aW5kb3cubmFyb09wZW5UYXdrKSBuYXJvT3BlblRhd2soKTsgfQp9KTsKCi8qIExvY2FsIGl0aW5lcmFyeSBidWlsZGVyICovCndpbmRvdy5uYXJvSXRpbmVyYXJ5PWZ1bmN0aW9uKHEpewogIHZhciBzPShxfHwiIikudG9Mb3dlckNhc2UoKSwgbT1zLm1hdGNoKC8oXGQrKVxzKihkYXl8ZGF5c3xkaW58bmlnaHR8bmlnaHRzfHJhYXQpLyksIGRheXM9TWF0aC5taW4oNSxNYXRoLm1heCgxLG0\/K21bMV06MikpOwogIHZhciBQPXtqYWc6IkphZ2F0Z3JhbSwgdGhlIDNyZCBjZW50dXJ5IEFzaHdhbWVkaGEgc2l0ZSAoNSBrbSkiLGthbDoidGhlIEFzaG9rYSBSb2NrIEVkaWN0IGF0IEthbHNpICg2IGttKSIsZGFrOiJEYWtwYXRoYXIgQmFycmFnZSBmb3IgYSByaXZlcnNpZGUgd2FsayAoOCBrbSkiLGFzYW46IkFzYW4gQmFycmFnZSBmb3IgYm9hdGluZyBhbmQgYmlyZHdhdGNoaW5nICgyNSBrbSkiLGNoYWs6IkNoYWtyYXRhIGFuZCBUaWdlciBGYWxscyBpbiB0aGUgZGVvZGFyIGhpbGxzIChhYm91dCA0NSBrbSkiLG11czoiTXVzc29vcmllIHZpYSBLZW1wdHkgRmFsbHMgKGFib3V0IDc1IGttKSIscmVuOiJSZW51a2EgSmhlZWwgYW5kIHRoZSBKYW1hZGFnbmkgdGVtcGxlIGF0IEphbXUgUGVhayAoYWJvdXQgNzAgdG8gNzUga20pIixmb3M6InRoZSBOYWhhbiBGb3NzaWwgUGFyayBhdCBTdWtldGkgKGFib3V0IDg1IGttKSIscmlzaDoiUmlzaGlrZXNoIGFuZCB0aGUgZXZlbmluZyBHYW5nYSBBYXJ0aSAoYWJvdXQgOTUga20pIixkb29uOiJEZWhyYWR1bjogUm9iYmVycyBDYXZlLCBTYWhhc3RyYWRoYXJhIGFuZCBUYXBrZXNod2FyIHRlbXBsZSAoNDUga20pIn07CiAgdmFyIHRyaXBzPVsiY2hhayIsIm11cyIsInJlbiIsInJpc2giLCJmb3MiLCJkb29uIl07CiAgZnVuY3Rpb24gZnJvbnQoayl7IHZhciBpPXRyaXBzLmluZGV4T2Yoayk7IGlmKGk+MCl7IHRyaXBzLnNwbGljZShpLDEpOyB0cmlwcy51bnNoaWZ0KGspOyB9IH0KICBpZigva2lkfGNoaWxkfGZhbWlseXxiYWNoLy50ZXN0KHMpKXsgZnJvbnQoImZvcyIpOyB9CiAgaWYoL2xha2V8Ym9hdHxqaGVlbC8udGVzdChzKSkgZnJvbnQoInJlbiIpOwogIGlmKC9oaWxsfHNub3d8Y29vbHx3YXRlcmZhbGx8bW91bnRhaW58cGFoYWQvLnRlc3QocykpeyBmcm9udCgibXVzIik7IGZyb250KCJjaGFrIik7IH0KICBpZigvdGVtcGxlfHNwaXJpdHVhbHxtYW5kaXJ8YWFydGl8cGlsZ3JpbS8udGVzdChzKSl7IGZyb250KCJyZW4iKTsgZnJvbnQoInJpc2giKTsgfQogIHZhciBuZWFyPVsia2FsIiwiZGFrIiwiamFnIiwiYXNhbiJdOyBpZigvYmlyZHxuYXR1cmV8Ym9hdC8udGVzdChzKSkgbmVhcj1bImFzYW4iLCJkYWsiLCJrYWwiLCJqYWciXTsgaWYoL2hpc3RvcnxoZXJpdGFnZXxhbmNpZW50Ly50ZXN0KHMpKSBuZWFyPVsiamFnIiwia2FsIiwiZGFrIiwiYXNhbiJdOwogIHZhciBvdXQ9W10sIHRpPTAsIG5pPTA7CiAgZm9yKHZhciBkPTE7IGQ8PWRheXM7IGQrKyl7CiAgICBvdXQucHVzaCgiRGF5ICIrZCk7CiAgICBpZihkPT09MSl7IG91dC5wdXNoKCJNb3JuaW5nOiBBcnJpdmUgYW5kIHNldHRsZSBpbi4gQ2hlY2staW4gaXMgZnJvbSAxMSBhbTsgZWFybHkgY2hlY2staW4gZnJvbSA5IGFtIGlzIGZyZWUgd2hlbiByb29tcyBhcmUgdmFjYW50LiIpOwogICAgICBvdXQucHVzaCgiQWZ0ZXJub29uOiBMdW5jaCBhdCBOYXJvIFJlc3RhdXJhbnQsIHRoZW4gYSBzbG93IHdhbGsgdGhyb3VnaCB0aGUgb3JnYW5pYyBnYXJkZW4gYW5kIHRoZSBmb3Jlc3QgcGF0aHMuIik7CiAgICAgIG91dC5wdXNoKCJFdmVuaW5nOiBWaXNpdCAiK1BbbmVhcltuaSsrXV0rIiBhbmQgY29tZSBiYWNrIGZvciBkaW5uZXIgYXQgTmFybyBSZXN0YXVyYW50LiIpOyB9CiAgICBlbHNlIGlmKGQ9PT1kYXlzKXsgb3V0LnB1c2goIk1vcm5pbmc6IEFuIGVhcmx5IHdhbGsgYXJvdW5kIHRoZSByZXNvcnQsIHRoZW4gIitQW25lYXJbbmkrKyAlIG5lYXIubGVuZ3RoXV0rIi4iKTsKICAgICAgb3V0LnB1c2goIkxhdGUgbW9ybmluZzogQnJlYWtmYXN0IGF0IE5hcm8gUmVzdGF1cmFudCAoOCB0byAxMDozMCBhbSkgYW5kIGNoZWNrLW91dCBieSAxMSBhbS4iKTsgfQogICAgZWxzZSB7IG91dC5wdXNoKCJNb3JuaW5nOiBEYXkgdHJpcCB0byAiK1BbdHJpcHNbdGkrKyAlIHRyaXBzLmxlbmd0aF1dKyIuIExlYXZlIGFmdGVyIGFuIGVhcmx5IGJyZWFrZmFzdC4iKTsKICAgICAgb3V0LnB1c2goIkV2ZW5pbmc6IEJhY2sgYXQgdGhlIHJlc29ydCBmb3IgYSBxdWlldCB3YWxrIGluIHRoZSBmcmVzaCBhaXIgYW5kIGRpbm5lciBhdCBOYXJvIFJlc3RhdXJhbnQuIik7IH0KICAgIG91dC5wdXNoKCIiKTsKICB9CiAgb3V0LnB1c2goIkFzayBOYXJvIFN1cnlhIGF0IHRoZSBib3R0b20gbGVmdCBhYm91dCBhbnkgcGxhY2Ugb24gdGhpcyBwbGFuLiBGb3IgYSB0YXhpLCBjaGF0IHdpdGggb3VyIHRlYW0uIik7CiAgcmV0dXJuIG91dC5qb2luKCJcbiIpOwp9OwoKLyogV2F0ZXJtYXJrIG9uIHBob3RvcyBhbmQgdmlkZW9zIHRoYXQgc2l0IG91dHNpZGUgdGhlIHVzdWFsIHBob3RvIGZyYW1lcyAqLwooZnVuY3Rpb24oKXsKICBmdW5jdGlvbiBtYXJrKCl7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImltZyx2aWRlbyIpLmZvckVhY2goZnVuY3Rpb24oZWwpewogICAgaWYoZWwuY2xvc2VzdCgiLnBoLC53bSwuYnJhbmQsLmJyYW5kLWxvZ28sI25hcm8tc3VyeWEtYnRuLCNuYXJvLXN1cnlhLWhlYWQsLmdyZXYtYm94LGhlYWRlcixmb290ZXIiKSkgcmV0dXJuOwogICAgaWYoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJicmFuZC1sb2dvIil8fGVsLmNsYXNzTGlzdC5jb250YWlucygiZW1vamkiKXx8ZWwuY2xvc2VzdCgiI25hcm8tc3VyeWEtcGFuZWwsI25hcm8tc3VyeWEtYmFkZ2UsYnV0dG9uLGEuYnRuIikpIHJldHVybjsKICAgIHZhciB3PWVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOyBpZih3PDE0MCkgcmV0dXJuOwogICAgdmFyIHA9ZWwucGFyZW50RWxlbWVudDsgaWYoIXAgfHwgcC5jbGFzc0xpc3QuY29udGFpbnMoIndtIikpIHJldHVybjsKICAgIHZhciB3cmFwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsgd3JhcC5jbGFzc05hbWU9IndtIjsgd3JhcC5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siOyB3cmFwLnN0eWxlLm1heFdpZHRoPSIxMDAlIjsKICAgIHAuaW5zZXJ0QmVmb3JlKHdyYXAsZWwpOyB3cmFwLmFwcGVuZENoaWxkKGVsKTsgfSk7IH0KICBpZihkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIikgbWFyaygpOyBlbHNlIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixtYXJrKTsKfSkoKTsKPC9zY3JpcHQ+Cgo8c3R5bGUgaWQ9ImhiTW9iaWxlQ29sbGFwc2UiPgojaGVyb0Jvb2sgLmhiVGFwe2Rpc3BsYXk6bm9uZX0KQG1lZGlhKG1heC13aWR0aDo3NjBweCl7CiNoZXJvQm9va3ttYXgtaGVpZ2h0OjExMnB4O292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjQ1cyBlYXNlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyfQojaGVyb0Jvb2suaGItb3BlbnttYXgtaGVpZ2h0OjI2MDBweDtjdXJzb3I6YXV0b30KI2hlcm9Cb29rIC5oYlRhcHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0LjVweDtjb2xvcjojZWZiZjYyO2xldHRlci1zcGFjaW5nOi4wMmVtO2ZvbnQtd2VpZ2h0OjcwMDt6LWluZGV4OjI7cG9pbnRlci1ldmVudHM6bm9uZX0KI2hlcm9Cb29rLmhiLW9wZW4gLmhiVGFwe2Rpc3BsYXk6bm9uZX0KI2hlcm9Cb29rOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6NTVweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMTYsMzcsMjgsMCksIHJnYmEoMTYsMzcsMjgsLjk3KSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9CiNoZXJvQm9vay5oYi1vcGVuOjpiZWZvcmV7ZGlzcGxheTpub25lfQp9Cjwvc3R5bGU+CjxzY3JpcHQ+CihmdW5jdGlvbigpewogIGZ1bmN0aW9uIGluaXQoKXsKICAgIHZhciBoYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZXJvQm9vaycpOwogICAgaWYgKCFoYiB8fCBoYi5xdWVyeVNlbGVjdG9yKCcuaGJUYXAnKSkgcmV0dXJuOwogICAgdmFyIHRhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKICAgIHRhcC5jbGFzc05hbWUgPSAnaGJUYXAnOwogICAgdGFwLnRleHRDb250ZW50ID0gJ1RhcCB0byBjaGVjayBkYXRlcyBhbmQgYm9vayDilr4nOwogICAgaGIuYXBwZW5kQ2hpbGQodGFwKTsKICAgIGhiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICAgIGlmICghd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6NzYwcHgpJykubWF0Y2hlcykgcmV0dXJuOwogICAgICBpZiAoaGIuY2xhc3NMaXN0LmNvbnRhaW5zKCdoYi1vcGVuJykpIHJldHVybjsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICBoYi5jbGFzc0xpc3QuYWRkKCdoYi1vcGVuJyk7CiAgICB9LCB0cnVlKTsKICB9CiAgaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdsb2FkaW5nJykgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGluaXQpOwogIGVsc2UgaW5pdCgpOwp9KSgpOwo8L3NjcmlwdD4K\"><\/div>\n<script>(function(){var d=document.getElementById(`naro-app`);var s=atob(d.dataset.src);d.innerHTML=decodeURIComponent(escape(s));d.querySelectorAll(`script`).forEach(function(o){var n=document.createElement(`script`);n.text=o.text;o.replaceWith(n)})})();<\/script>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-4691","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/comments?post=4691"}],"version-history":[{"count":68,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691\/revisions"}],"predecessor-version":[{"id":4803,"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/pages\/4691\/revisions\/4803"}],"wp:attachment":[{"href":"https:\/\/naroeco.com\/index.php\/wp-json\/wp\/v2\/media?parent=4691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}