PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgo8dGl0bGU+VGhlIEFlZ2VhbiBDb2xsZWN0aW9uIOKAlCBLYXN0ZWwgSmV3ZWxyeTwvdGl0bGU+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJLYXN0ZWwncyBBZWdlYW4gQ29sbGVjdGlvbiDigJQgMThrIGdvbGQgYW5kIGRpYW1vbmRzIHNjdWxwdGVkIGJ5IHRoZSBzZWEuIERpc2NvdmVyIHRoZSBBZWdlYW4gQmFuZ2xlLCBkaWFtb25kIGhvb3BzLCB3YXZlIHJpbmdzIGFuZCBtb3JlLiI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9TWFyY2VsbHVzJmZhbWlseT1Db3Jtb3JhbnQrR2FyYW1vbmQ6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzEsNDAwOzEsNTAwJmZhbWlseT1Kb3N0OndnaHRAMzAwOzQwMDs1MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgo8c3R5bGU+Cjpyb290ewogIC0tYWJ5c3M6IzBCMUQyNzsKICAtLXNlYTojMTUzMTQwOwogIC0tcG9yY2VsYWluOiNGNkY0RUY7CiAgLS1zYW5kOiNFREU4REU7CiAgLS1nb2xkOiNDNEExNUY7CiAgLS1nb2xkLWRlZXA6IzlBN0IzRTsKICAtLW1pc3Q6IzkzQTlCMTsKICAtLWluazojMUQyQTMxOwogIC0taGFpcmxpbmU6cmdiYSgxOTYsMTYxLDk1LC4zNSk7Cn0KKnttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNpemluZzpib3JkZXItYm94fQpodG1se3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9CmJvZHl7CiAgZm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6MzAwO2NvbG9yOnZhcigtLWluayk7CiAgYmFja2dyb3VuZDp2YXIoLS1wb3JjZWxhaW4pOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7b3ZlcmZsb3cteDpoaWRkZW47Cn0KaW1ne2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCV9CmF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX0KLnJ2e29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNnB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgMS4xcyBjdWJpYy1iZXppZXIoLjIyLC42MSwuMzYsMSksdHJhbnNmb3JtIDEuMXMgY3ViaWMtYmV6aWVyKC4yMiwuNjEsLjM2LDEpfQoucnYuaW57b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfQoucnYuZDF7dHJhbnNpdGlvbi1kZWxheTouMTVzfS5ydi5kMnt0cmFuc2l0aW9uLWRlbGF5Oi4zc30ucnYuZDN7dHJhbnNpdGlvbi1kZWxheTouNDVzfS5ydi5kNHt0cmFuc2l0aW9uLWRlbGF5Oi42c30KQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7CiAgLnJ2e29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOm5vbmV9CiAgKnthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH0KfQpuYXZ7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo1MDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOwogIHBhZGRpbmc6MjZweCBjbGFtcCgyNHB4LDV2dyw2NHB4KTsKfQoud29yZG1hcmt7Zm9udC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC1zaXplOjIycHg7bGV0dGVyLXNwYWNpbmc6LjQyZW07Y29sb3I6I2ZmZjtwYWRkaW5nLWxlZnQ6LjQyZW19Ci5uYXZsaW5rc3tkaXNwbGF5OmZsZXg7Z2FwOjM4cHh9Ci5uYXZsaW5rcyBhe2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4yOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44Mik7Zm9udC13ZWlnaHQ6NDAwO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6NHB4IDB9Ci5uYXZsaW5rcyBhOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDt3aWR0aDowO2hlaWdodDoxcHg7YmFja2dyb3VuZDp2YXIoLS1nb2xkKTt0cmFuc2l0aW9uOndpZHRoIC40cyBlYXNlfQoubmF2bGlua3MgYTpob3Zlcjo6YWZ0ZXIsLm5hdmxpbmtzIGE6Zm9jdXMtdmlzaWJsZTo6YWZ0ZXJ7d2lkdGg6MTAwJX0KYTpmb2N1cy12aXNpYmxlLGJ1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmU6MXB4IHNvbGlkIHZhcigtLWdvbGQpO291dGxpbmUtb2Zmc2V0OjRweH0KQG1lZGlhKG1heC13aWR0aDo3NjBweCl7Lm5hdmxpbmtze2Rpc3BsYXk6bm9uZX19Ci5oZXJve3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6NzYwcHg7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo0NiUgNTQlO2JhY2tncm91bmQ6dmFyKC0tYWJ5c3MpfQouaGVyby1wYW5lbHsKICBwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7CiAgcGFkZGluZzoxMjBweCBjbGFtcCgyOHB4LDV2dyw3MnB4KSA5MHB4O3otaW5kZXg6MzsKfQouZXllYnJvd3sKICBmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouNDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tZ29sZCk7CiAgZm9udC13ZWlnaHQ6NDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjE4cHg7Cn0KLmV5ZWJyb3c6OmJlZm9yZXtjb250ZW50OicnO3dpZHRoOjQ0cHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpfQouaGVybyBoMXsKICBmb250LWZhbWlseTonTWFyY2VsbHVzJyxzZXJpZjtmb250LXdlaWdodDo0MDA7Y29sb3I6I2ZmZjsKICBmb250LXNpemU6Y2xhbXAoNTZweCw3LjJ2dywxMTZweCk7bGlu ZS1oZWlnaHQ6Ljk4O2xldHRlci1zcGFjaW5nOi4wMmVtOwogIG1hcmdpbjoyOHB4IDAgOHB4Owp9Ci5oZXJvIGgxIC50aGlue2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOi40MmVtO2xldHRlci1zcGFjaW5nOi4zZW07Y29sb3I6dmFyKC0tbWlzdCk7bWFyZ2luLXRvcDoxNHB4O2ZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmO2ZvbnQtc3R5bGU6aXRhbGljO3RleHQtdHJhbnNmb3JtOm5vbmV9Ci53YXZlLWxpbmV7d2lkdGg6bWluKDM0MHB4LDcwJSk7bWFyZ2luOjMwcHggMCAzNHB4fQoud2F2ZS1saW5lIHBhdGh7c3Ryb2tlOnZhcigtLWdvbGQpO3N0cm9rZS13aWR0aDoxLjY7ZmlsbDpub25lO3N0cm9rZS1kYXNoYXJyYXk6NjAwO3N0cm9rZS1kYXNob2Zmc2V0OjYwMDthbmltYXRpb246ZHJhdyAyLjZzIC45cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBmb3J3YXJkc30KQGtleWZyYW1lcyBkcmF3e3Rve3N0cm9rZS1kYXNob2Zmc2V0OjB9fQouaGVybyBwLmxlZGV7Y29sb3I6dmFyKC0tbWlzdCk7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS44NTttYXgtd2lkdGg6NDRjaDtsZXR0ZXItc3BhY2luZzouMDJlbX0KLmhlcm8tY3Rhe21hcmdpbi10b3A6NDRweDtkaXNwbGF5OmZsZXg7Z2FwOjI2cHg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwfQouYnRuewogIGRpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4zZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjQwMDsKICBwYWRkaW5nOjE3cHggNDJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWdvbGQpO2NvbG9yOnZhcigtLWdvbGQpOwogIHBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmNvbG9yIC40NXMgZWFzZTt6LWluZGV4OjE7Cn0KLmJ0bjo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO3RyYW5zZm9ybTpzY2FsZVgoMCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3RyYW5zaXRpb246dHJhbnNmb3JtIC40NXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ei1pbmRleDotMX0KLmJ0bjpob3Zlcjo6YmVmb3JlLC5idG46Zm9jdXMtdmlzaWJsZTo6YmVmb3Jle3RyYW5zZm9ybTpzY2FsZVgoMSl9Ci5idG46aG92ZXIsLmJ0bjpmb2N1cy12aXNpYmxle2NvbG9yOnZhcigtLWFieXNzKX0KLmJ0bi5naG9zdHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMzUpO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KX0KLmJ0bi5naG9zdDo6YmVmb3Jle2JhY2tncm91bmQ6I2ZmZn0uYnRuLmdob3N0OmhvdmVye2NvbG9yOnZhcigtLWFieXNzKX0KLmhlcm8taW1ne3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KLmhlcm8taW1nIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlciAyNCU7YW5pbWF0aW9uOmtiIDE4cyBlYXNlLW91dCBmb3J3YXJkc30KQGtleWZyYW1lcyBrYntmcm9te3RyYW5zZm9ybTpzY2FsZSgxLjEpfXRve3RyYW5zZm9ybTpzY2FsZSgxKX19Ci5oZXJvLWltZzo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tYWJ5c3MpIDAlLHJnYmEoMTEsMjksMzksLjQyKSAyNiUscmdiYSgxMSwyOSwzOSwwKSA1NSUpfQouaGVyby1pbWc6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2JhKDExLDI5LDM5LC41NSkgMCUscmdiYSgxMSwyOSwzOSwwKSAzMiUpfQoud29ybnsKICBwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ7cmlnaHQ6Y2xhbXAoMjBweCw0dncsNTRweCk7Ym90dG9tOjM0cHg7dGV4dC1hbGlnbjpyaWdodDsKICBmb250LXNpemU6MTAuNXB4O2xldHRlci1zcGFjaW5nOi4zZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KTsKfQoud29ybiBzdHJvbmd7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzouMDZlbTtmb250LXNpemU6MTdweDtjb2xvcjojZmZmO21hcmdpbi10b3A6NXB4fQouc2Nyb2xsY3Vle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO2JvdHRvbToyNnB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3otaW5kZXg6NTt3aWR0aDoxcHg7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0tZ29sZCksdHJhbnNwYXJlbnQpO2FuaW1hdGlvbjpjdWUgMi40cyBlYXNlLWluLW91dCBpbmZpbml0ZX0KQGtleWZyYW1lcyBjdWV7MCUsMTAwJXtvcGFjaXR5Oi45O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHNjYWxlWSgxKX01MCV7b3BhY2l0eTouMzU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgc2NhbGVZKC42KX19CkBtZWRpYShtYXgtd2lkdGg6OTAwcHgpewogIC5oZXJve2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7bWluLWhlaWdodDowfQogIC5oZXJvLWltZ3tvcmRlcjotMTtoZWlnaHQ6NDYwcHg7bWluLWhlaWdodDowfQogIC5oZXJvLWltZzo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcsdmFyKC0tYWJ5c3MpIDAlLHJnYmEoMTEsMjksMzksLjE1KSA0MCUscmdiYSgxMSwyOSwzOSwwKSA3MCUpfQogIC5oZXJvLXBhbmVse3BhZGRpbmc6NDRweCAyOHB4IDgwcHh9CiAgLnNjcm9sbGN1ZXtkaXNwbGF5Om5vbmV9Cn0Kc2VjdGlvbntwYWRkaW5nOmNsYW1wKDkwcHgsMTF2dywxNTBweCkgY2xhbXAoMjRweCw2dncsODBweCl9Ci5jZW50ZXJ7bWF4LXdpZHRoOjgyMHB4O21hcmdpbjowIGF1dG87dGV4dC1h bGlnbjpjZW50ZXJ9Ci5raWNrZXJ7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjQ0ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWdvbGQtZGVlcCk7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1ib3R0b206MjZweH0KLmludHJvLWxlZGV7CiAgZm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwOwogIGZvbnQtc2l6ZTpjbGFtcCgyNnB4LDMuNHZ3LDQwcHgpO2xpbmUtaGVpZ2h0OjEuNDU7Y29sb3I6dmFyKC0taW5rKTsKfQouaW50cm8tbGVkZSBlbXtjb2xvcjp2YXIoLS1nb2xkLWRlZXApfQouaW50cm8tYm9keXttYXJnaW4tdG9wOjM0cHg7Zm9udC1zaXplOjE2LjVweDtsaW5lLWhlaWdodDoyLjE7Y29sb3I6IzRBNTc1RTttYXgtd2lkdGg6NThjaDttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2xldHRlci1zcGFjaW5nOi4wMmVtfQojY29sbGVjdGlvbiAua2lja2Vye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MjRweDttYXJnaW4tYm90dG9tOjM0cHh9CiNjb2xsZWN0aW9uIC5raWNrZXI6OmJlZm9yZSwjY29sbGVjdGlvbiAua2lja2VyOjphZnRlcntjb250ZW50OicnO3dpZHRoOjU4cHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpfQouZGl2aWRlci13YXZle3dpZHRoOjE3MHB4O21hcmdpbjo1MnB4IGF1dG8gMDtvcGFjaXR5Oi44NX0KLmRpdmlkZXItd2F2ZSBwYXRoe3N0cm9rZTp2YXIoLS1nb2xkKTtzdHJva2Utd2lkdGg6MS40O2ZpbGw6bm9uZX0KLmZlYXR1cmVke2JhY2tncm91bmQ6dmFyKC0tc2FuZCk7fQouZmVhdHVyZWQtZ3JpZHttYXgtd2lkdGg6MTI0MHB4O21hcmdpbjowIGF1dG87ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjE1ZnIgLjg1ZnI7Z2FwOmNsYW1wKDQwcHgsNnZ3LDk2cHgpO2FsaWduLWl0ZW1zOmNlbnRlcn0KLmZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmZ9Ci5mcmFtZTo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDoxNHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0taGFpcmxpbmUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Ci5mcmFtZSAuZ3RyYWNrIGltZ3t0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UsIHRyYW5zZm9ybSAxLjRzIGN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKX0KLmZyYW1lOmhvdmVyIC5ndHJhY2sgaW1nLm9ue3RyYW5zZm9ybTpzY2FsZSgxLjA1KX0KLnBudW17Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC1zaXplOjIwcHg7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKTtsZXR0ZXItc3BhY2luZzouMDhlbX0KLnBuYW1le2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Y2xhbXAoMzRweCwzLjZ2dyw1MnB4KTtsZXR0ZXItc3BhY2luZzouMDRlbTtjb2xvcjp2YXIoLS1pbmspO21hcmdpbjoxNHB4IDAgMjBweH0KLnBkZXNje2ZvbnQtc2l6ZToxNS41cHg7bGluZS1oZWlnaHQ6Mjtjb2xvcjojNEE1NzVFO2xldHRlci1zcGFjaW5nOi4wMmVtO21heC13aWR0aDo0OGNofQoucG1ldGF7bWFyZ2luOjM0cHggMCAzOHB4O2Rpc3BsYXk6Z3JpZDtnYXA6MTRweH0KLnBtZXRhIGRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMTIpO3BhZGRpbmctYm90dG9tOjEzcHg7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6LjIyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfQoucG1ldGEgc3BhbjpsYXN0LWNoaWxke2NvbG9yOnZhcigtLWdvbGQtZGVlcCk7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzouMDRlbTtmb250LXNpemU6MTMuNXB4fQouYnRuLmRhcmt7Ym9yZGVyLWNvbG9yOnZhcigtLWluayk7Y29sb3I6dmFyKC0taW5rKX0KLmJ0bi5kYXJrOjpiZWZvcmV7YmFja2dyb3VuZDp2YXIoLS1pbmspfQouYnRuLmRhcms6aG92ZXIsLmJ0bi5kYXJrOmZvY3VzLXZpc2libGV7Y29sb3I6dmFyKC0tcG9yY2VsYWluKX0KQG1lZGlhKG1heC13aWR0aDo5MDBweCl7LmZlYXR1cmVkLWdyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5jYXJkIC5mcmFtZXttYXJnaW4tYm90dG9tOjMwcHh9Ci5jYXJkIC5wbmFtZXtmb250LXNpemU6Y2xhbXAoMjZweCwyLjZ2dywzNHB4KTttYXJnaW46MTBweCAwIDE0cHh9Ci5jYXJkIC5wZGVzY3tmb250LXNpemU6MTQuNXB4O21heC13aWR0aDpub25lfQouY2FyZCAuc2hvcHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDttYXJnaW4tdG9wOjIycHg7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjNlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKTtmb250LXdlaWdodDo0MDB9Ci5jYXJkIC5zaG9wOjphZnRlcntjb250ZW50OicnO3dpZHRoOjM4cHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWdvbGQtZGVlcCk7dHJhbnNpdGlvbjp3aWR0aCAuNHMgZWFzZX0KLmNhcmQgLnNob3A6aG92ZXI6OmFmdGVye3dpZHRoOjYwcHh9Ci5wcmljZXtmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6MTlweDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbi10b3A6MTZweH0KLmdhbHtwb3NpdGlvbjpyZWxhdGl2ZX0KLmdhbCAuZ3RyYWNre3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxLzE7b3ZlcmZsb3c6aGlkZGVufQouZ2FsIC5ndHJhY2sgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29wYWNpdHk6MDt0cmFuc2l0 aW9uOm9wYWNpdHkgLjdzIGVhc2V9Ci5nYWwgLmd0cmFjayBpbWcub257b3BhY2l0eToxfQouZ25hdnsKICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6NTsKICB3aWR0aDo0MnB4O2hlaWdodDo0MnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMik7YmFja2dyb3VuZDpyZ2JhKDI0NiwyNDQsMjM5LC44OCk7CiAgY29sb3I6dmFyKC0taW5rKTtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmOwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzLGJvcmRlci1jb2xvciAuM3Msb3BhY2l0eSAuM3M7CiAgb3BhY2l0eTowOwp9Ci5nYWw6aG92ZXIgLmduYXYsLmduYXY6Zm9jdXMtdmlzaWJsZXtvcGFjaXR5OjF9Ci5nbmF2OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQpO2NvbG9yOiNmZmZ9Ci5nbmF2LnByZXZ7bGVmdDoxMnB4fS5nbmF2Lm5leHR7cmlnaHQ6MTJweH0KLmdkb3Rze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxNHB4O3otaW5kZXg6NTtkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQouZ2RvdHMgYnV0dG9ue3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tZ29sZC1kZWVwKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzfQouZ2RvdHMgYnV0dG9uLm9ue2JhY2tncm91bmQ6dmFyKC0tZ29sZC1kZWVwKX0KLmdhbC5zaW5nbGUgLmduYXYsLmdhbC5zaW5nbGUgLmdkb3Rze2Rpc3BsYXk6bm9uZX0KQG1lZGlhKGhvdmVyOm5vbmUpey5nYWwgLmduYXZ7b3BhY2l0eToxfX0KLmNncmlke21heC13aWR0aDoxMjQwcHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOmNsYW1wKDMycHgsNHZ3LDU2cHgpIGNsYW1wKDI4cHgsMy41dncsNDRweCl9CkBtZWRpYShtYXgtd2lkdGg6MTAyMHB4KXsuY2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9fQpAbWVkaWEobWF4LXdpZHRoOjY0MHB4KXsuY2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn19Ci5zZWFiYW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE2MGRlZyx2YXIoLS1hYnlzcykgMCUsdmFyKC0tc2VhKSAxMDAlKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9Ci5zZWFiYW5kOjpiZWZvcmV7CiAgY29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNDAlO29wYWNpdHk6LjE0OwogIGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNjAlIDQwJSBhdCAzMCUgNDAlLHZhcigtLWdvbGQpLHRyYW5zcGFyZW50IDYwJSksCiAgICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA1MCUgMzUlIGF0IDcyJSA2NSUsIzNFN0E4Qyx0cmFuc3BhcmVudCA2MCUpOwogIGFuaW1hdGlvbjpjYXVzdGljIDI2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7Cn0KQGtleWZyYW1lcyBjYXVzdGlje2Zyb217dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNCUsLTMlKSBzY2FsZSgxKX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDUlLDQlKSBzY2FsZSgxLjEyKX19Ci5zZWFiYW5kIC5pbm5lcntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7bWF4LXdpZHRoOjg0MHB4O21hcmdpbjowIGF1dG99Ci5zZWFiYW5kIC5raWNrZXJ7Y29sb3I6dmFyKC0tZ29sZCl9Ci5zZWFiYW5kIGJsb2NrcXVvdGV7CiAgZm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NDAwOwogIGZvbnQtc2l6ZTpjbGFtcCgyOHB4LDR2dyw0NnB4KTtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6I2ZmZjsKfQouc2VhYmFuZCAuYXR0cnttYXJnaW4tdG9wOjMwcHg7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tbWlzdCl9Ci5jcmFmdC1jb2xze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjttYXgtd2lkdGg6MTAwMHB4O21hcmdpbjo3MHB4IGF1dG8gMDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcik7Z2FwOjQ0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Ci5jcmFmdC1jb2xzIGgze2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTlweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojZmZmO21hcmdpbjowIDAgMTRweH0KLmNyYWZ0LWNvbHMgcHtmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuOTU7Y29sb3I6dmFyKC0tbWlzdCk7bGV0dGVyLXNwYWNpbmc6LjAzZW19Ci5jcmFmdC1jb2xzIC5nbHlwaHt3aWR0aDo0NHB4O21hcmdpbjowIGF1dG8gMjJweH0KLmNyYWZ0LWNvbHMgLmdseXBoIHBhdGgsLmNyYWZ0LWNvbHMgLmdseXBoIGNpcmNsZXtzdHJva2U6dmFyKC0tZ29sZCk7c3Ryb2tlLXdpZHRoOjEuMztmaWxsOm5vbmV9CkBtZWRpYShtYXgtd2lkdGg6NzYwcHgpey5jcmFmdC1jb2xze2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjUycHh9fQouY3Rhe3RleHQtYWxpZ246Y2VudGVyfQouY3RhIGgye2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Y2xhbXAoMzRweCw0LjZ2dyw1OHB4KTtsZXR0ZXItc3BhY2luZzouMDVlbTtjb2xvcjp2YXIoLS1pbmspO21hcmdpbi1ib3R0b206MjJweH0KLmN0YSBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI7Y29sb3I6IzRBNTc1RTttYXgtd2lk dGg6NTJjaDttYXJnaW46MCBhdXRvIDQ0cHg7bGV0dGVyLXNwYWNpbmc6LjAyZW19Ci5jdGEgLmhlcm8tY3Rhe2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLXRvcDowfQpmb290ZXJ7YmFja2dyb3VuZDp2YXIoLS1hYnlzcyk7cGFkZGluZzo3MHB4IGNsYW1wKDI0cHgsNnZ3LDgwcHgpIDQ0cHg7dGV4dC1hbGlnbjpjZW50ZXJ9CmZvb3RlciAud29yZG1hcmt7Zm9udC1zaXplOjI2cHg7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjI2cHh9CmZvb3RlciAudGFne2ZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmO2ZvbnQtc3R5bGU6aXRhbGljO2NvbG9yOnZhcigtLW1pc3QpO2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1ib3R0b206MzZweH0KZm9vdGVyIC5mbmF2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDozNHB4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1ib3R0b206NDRweH0KZm9vdGVyIC5mbmF2IGF7Zm9udC1zaXplOjEwLjVweDtsZXR0ZXItc3BhY2luZzouMjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNil9CmZvb3RlciAuZm5hdiBhOmhvdmVye2NvbG9yOnZhcigtLWdvbGQpfQpmb290ZXIgLmxlZ2Fse2ZvbnQtc2l6ZToxMC41cHg7bGV0dGVyLXNwYWNpbmc6LjE2ZW07Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMzIpfQoua21vZGFse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6bm9uZTt6LWluZGV4OjIwMH0KLmttb2RhbC5vcGVue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0KLmttb2RhbCAua2JhY2t7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMTEsMjksMzksLjU1KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzcHgpfQoua3BhbmVse3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3dpZHRoOm1pbigxMDYwcHgsOTIlKTttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDQ4cHgpO292ZXJmbG93OmF1dG87YmFja2dyb3VuZDp2YXIoLS1wb3JjZWxhaW4pO2JveC1zaGFkb3c6MCAzMHB4IDgwcHggcmdiYSgwLDAsMCwuMzUpfQoua2Nsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNHB4O3JpZ2h0OjE0cHg7ei1pbmRleDo1O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4yNSk7YmFja2dyb3VuZDp2YXIoLS1wb3JjZWxhaW4pO2ZvbnQtc2l6ZToyMHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmfQoua2Nsb3NlOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZ29sZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQpO2NvbG9yOiNmZmZ9Ci5rZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnJ9Ci5raW5mb3twYWRkaW5nOjQ0cHggNDRweCA0MHB4fQoua2luZm8gLmtuYW1le2ZvbnQtZmFtaWx5OidNYXJjZWxsdXMnLHNlcmlmO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6Y2xhbXAoMjhweCwzdncsMzhweCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07bWFyZ2luOjZweCAwIDZweH0KLmtpbmZvIC5rcHJpY2V7Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC1zaXplOjI0cHg7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKTttYXJnaW4tYm90dG9tOjIwcHh9Ci5raW5mbyAua2Rlc2N7Zm9udC1zaXplOjE0LjVweDtsaW5lLWhlaWdodDoxLjk1O2NvbG9yOiM0QTU3NUU7bGV0dGVyLXNwYWNpbmc6LjAyZW07bWFyZ2luLWJvdHRvbToyNnB4fQoua21ldGF7ZGlzcGxheTpncmlkO2dhcDoxMXB4O21hcmdpbi1ib3R0b206MzBweH0KLmttZXRhIGRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjE4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMTIpO3BhZGRpbmctYm90dG9tOjEwcHg7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Ci5rbWV0YSBzcGFuOmxhc3QtY2hpbGR7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOi4wNGVtO2ZvbnQtc2l6ZToxM3B4O3RleHQtYWxpZ246cmlnaHR9Ci5rbm90ZXN7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6Mjtjb2xvcjojN2Q4YTkxO2xldHRlci1zcGFjaW5nOi4wM2VtO21hcmdpbi10b3A6MjJweH0KLmthZGR7d2lkdGg6MTAwJTtwYWRkaW5nOjE4cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1pbmspO2JhY2tncm91bmQ6dmFyKC0taW5rKTtjb2xvcjp2YXIoLS1wb3JjZWxhaW4pO2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOi4zZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3MsYm9yZGVyLWNvbG9yIC4zc30KLmthZGQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1nb2xkLWRlZXApO2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkLWRlZXApfQoua2FkZC5hZGRlZHtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpO2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkKTtjb2xvcjp2YXIoLS1hYnlzcyl9Ci5rY2FydC1yb3d7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTZweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4xMik7cGFkZGluZzoxNnB4IDB9Ci5rY2FydC1yb3cgLm57Zm9udC1mYW1pbHk6J01hcmNlbGx1cycsc2VyaWY7Zm9udC1zaXplOjE3cHh9Ci5rY2FydC1yb3cgLnB7Zm9udC1mYW1pbHk6J0Nvcm1vcmFudCBHYXJhbW9uZCcsc2VyaWY7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0tZ29sZC1kZWVwKX0KLmtjYXJ0LXJvdyBidXR0 b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2NvbG9yOiNhNTU7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWZ9Ci5rdG90YWx7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4yNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwYWRkaW5nOjIycHggMCAyNnB4fQoua3RvdGFsIHNwYW46bGFzdC1jaGlsZHtmb250LWZhbWlseTonQ29ybW9yYW50IEdhcmFtb25kJyxzZXJpZjtmb250LXN0eWxlOml0YWxpYztmb250LXNpemU6MjJweDtjb2xvcjp2YXIoLS1pbmspO2xldHRlci1zcGFjaW5nOi4wMmVtfQoua3RvYXN0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2JhY2tncm91bmQ6dmFyKC0tYWJ5c3MpO2NvbG9yOiNmZmY7Zm9udC1zaXplOjExLjVweDtsZXR0ZXItc3BhY2luZzouMjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cGFkZGluZzoxNHB4IDI2cHg7ei1pbmRleDozMDA7ZGlzcGxheTpub25lfQoua2NhcnRsaW5re2N1cnNvcjpwb2ludGVyfQoubWhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0KW2RhdGEtcHJvZF0gLmZyYW1le2N1cnNvcjpwb2ludGVyfQpbZGF0YS1wcm9kXSAucG5hbWV7Y3Vyc29yOnBvaW50ZXJ9Ci5rbWV0YWx7ZGlzcGxheTpmbGV4O2dhcDoxMnB4O21hcmdpbjowIDAgMzRweH0KLmtncmlkIC5rbWV0YWx7bWFyZ2luOjAgMCAyNHB4fQoua21ldGFsYnRue3BhZGRpbmc6MTNweCAyNHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyOSw0Miw0OSwuMyk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtmb250LWZhbWlseTonSm9zdCcsc2Fucy1zZXJpZjtmb250LXNpemU6MTFweDtsZXR0ZXItc3BhY2luZzouMjRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0taW5rKTt0cmFuc2l0aW9uOmFsbCAuM3N9Ci5rbWV0YWxidG46aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQtZGVlcCl9Ci5rbWV0YWxidG4ub257Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQtZGVlcCk7YmFja2dyb3VuZDp2YXIoLS1nb2xkLWRlZXApO2NvbG9yOiNmZmZ9Ci5rZm9ybXtkaXNwbGF5OmdyaWQ7Z2FwOjE2cHg7bWFyZ2luLXRvcDoyNnB4fQoua2Zvcm0gbGFiZWx7Zm9udC1zaXplOjEwLjVweDtsZXR0ZXItc3BhY2luZzouMjRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzdkOGE5MTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206N3B4fQoua2Zvcm0gaW5wdXQsLmtmb3JtIHRleHRhcmVhe3dpZHRoOjEwMCU7cGFkZGluZzoxNHB4IDE2cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI5LDQyLDQ5LC4yNSk7YmFja2dyb3VuZDojZmZmO2ZvbnQtZmFtaWx5OidKb3N0JyxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLWluayk7bGV0dGVyLXNwYWNpbmc6LjAyZW19Ci5rZm9ybSBpbnB1dDpmb2N1cywua2Zvcm0gdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlci1jb2xvcjp2YXIoLS1nb2xkLWRlZXApfQoua2Zvcm0gdGV4dGFyZWF7bWluLWhlaWdodDo5NnB4O3Jlc2l6ZTp2ZXJ0aWNhbH0KLmtmb3JtIC5rcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjtnYXA6MTZweH0KLmtlcnJ7Y29sb3I6I2EzMztmb250LXNpemU6MTJweDtsZXR0ZXItc3BhY2luZzouMDZlbTtkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDo0cHh9Ci5raHB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O29wYWNpdHk6MDtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW59Ci5rZm9ybSBzZWxlY3R7d2lkdGg6MTAwJTtwYWRkaW5nOjE0cHggMTZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjksNDIsNDksLjI1KTtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1mYW1pbHk6J0pvc3QnLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Y29sb3I6dmFyKC0taW5rKTtsZXR0ZXItc3BhY2luZzouMDJlbTthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzYnJTNFJTNDcGF0aCBkPSdNMCAwbDUgNiA1LTZ6JyBmaWxsPSclMjM5QTdCM0UnLyUzRSUzQy9zdmclM0UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxNnB4IGNlbnRlcn0KLmtmb3JtIHNlbGVjdDpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyLWNvbG9yOnZhcigtLWdvbGQtZGVlcCl9Ci5rZm9ybSBpbnB1dFt0eXBlPWRhdGVde2NvbG9yOnZhcigtLWluayl9Ci5rYm9vay1ncmlke2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6LjhmciAxLjJmcjttaW4taGVpZ2h0OjUyMHB4fQoua2Jvb2stc2lkZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNjVkZWcsdmFyKC0tYWJ5c3MpIDAlLHZhcigtLXNlYSkgMTAwJSk7Y29sb3I6I2ZmZjtwYWRkaW5nOjQ4cHggMzhweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Ci5rYm9vay1zaWRlIC5raWNrZXJ7Y29sb3I6dmFyKC0tZ29sZCk7bWFyZ2luLWJvdHRvbToyMHB4fQoua2Jvb2stc2lkZSBoM3tmb250LWZhbWlseTonTWFyY2VsbHVzJyxzZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOmNsYW1wKDI0cHgsMi40dncsMzJweCk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07bWFyZ2luLWJvdHRvbToxNnB4fQoua2Jvb2stc2lkZSBwe2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS45NTtjb2xvcjp2YXIoLS1taXN0KTtsZXR0ZXItc3BhY2luZzouMDNlbX0KLmtib29rLXNpZGUgdWx7bGlzdC1zdHls ZTpub25lO21hcmdpbi10b3A6MjZweDtkaXNwbGF5OmdyaWQ7Z2FwOjEycHh9Ci5rYm9vay1zaWRlIGxpe2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4yMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweH0KLmtib29rLXNpZGUgbGk6OmJlZm9yZXtjb250ZW50OicnO3dpZHRoOjE4cHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOnZhcigtLWdvbGQpfQoua2Jvb2stc2lkZSAua2FkZHJ7bWFyZ2luLXRvcDozMHB4O2ZvbnQtZmFtaWx5OidDb3Jtb3JhbnQgR2FyYW1vbmQnLHNlcmlmO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiNmZmZ9CkBtZWRpYShtYXgtd2lkdGg6ODQwcHgpey5rYm9vay1ncmlke2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9Lmtib29rLXNpZGV7cGFkZGluZzozNHB4IDI4cHg7bWluLWhlaWdodDowfX0KQG1lZGlhKG1heC13aWR0aDo2MDBweCl7Lmtmb3JtIC5rcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQpAbWVkaWEobWF4LXdpZHRoOjg0MHB4KXsua2dyaWR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcn0ua2luZm97cGFkZGluZzozMHB4IDI0cHggMzRweH19Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8bmF2IGlkPSJuYXYiPgogIDxhIGNsYXNzPSJ3b3JkbWFyayIgaHJlZj0iIyI+S0FTVEVMPC9hPgogIDxkaXYgY2xhc3M9Im5hdmxpbmtzIj4KICAgIDxhIGhyZWY9IiNjb2xsZWN0aW9uIj5Db2xsZWN0aW9uczwvYT4KICAgIDxhIGhyZWY9IiNjcmFmdCI+Q3JhZnRzbWFuc2hpcDwvYT4KICAgIDxhIGhyZWY9IiMiPk1haXNvbjwvYT4KICAgIDxhIGhyZWY9IiN2aXNpdCI+QXBwb2ludG1lbnRzPC9hPgogICAgPGEgY2xhc3M9ImtjYXJ0bGluayIgaWQ9ImtjYXJ0LW9wZW4iPkNhcnQgKDxzcGFuIGlkPSJrY2FydC1uIj4wPC9zcGFuPik8L2E+CiAgPC9kaXY+CjwvbmF2PgoKPGhlYWRlciBjbGFzcz0iaGVybyI+CiAgPGRpdiBjbGFzcz0iaGVyby1wYW5lbCI+CiAgICA8ZGl2IGNsYXNzPSJleWVicm93IHJ2IGluIj5UaGUgTmV3IENvbGxlY3Rpb248L2Rpdj4KICAgIDxoMSBjbGFzcz0icnYgaW4gZDEiPkFFR0VBTgogICAgICA8c3BhbiBjbGFzcz0idGhpbiI+d2hlcmUgZ29sZCBsZWFybnMgdGhlIGxhbmd1YWdlIG9mIHdhdGVyPC9zcGFuPgogICAgPC9oMT4KICAgIDxzdmcgY2xhc3M9IndhdmUtbGluZSIgdmlld0JveD0iMCAwIDM0MCAyNCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICA8cGF0aCBkPSJNMiAxMiBDIDMwIDIsIDU1IDIyLCA4NSAxMiBTIDE0MCAyLCAxNzAgMTIgUyAyMjUgMjIsIDI1NSAxMiBTIDMxMCAyLCAzMzggMTIiLz4KICAgIDwvc3ZnPgogICAgPHAgY2xhc3M9ImxlZGUgcnYgaW4gZDIiPlNjdWxwdGVkIGJ5IHRoZSBtZWV0aW5nIG9mIHNlYSBhbmQgbGlnaHQsIHRoZSBBZWdlYW4gQ29sbGVjdGlvbiByZW5kZXJzIHRoZSBldGVybmFsIG1vdGlvbiBvZiB0aGUgQ3ljbGFkZXMgaW4gMTgta2FyYXQgZ29sZCBhbmQgZGlhbW9uZHMg4oCUIGVhY2ggcGllY2UgYSB3YXZlLCBoZWxkIHN0aWxsLjwvcD4KICAgIDxkaXYgY2xhc3M9Imhlcm8tY3RhIHJ2IGluIGQzIj4KICAgICAgPGEgY2xhc3M9ImJ0biIgaHJlZj0iI2NvbGxlY3Rpb24iPkRpc2NvdmVyIHRoZSBDb2xsZWN0aW9uPC9hPgogICAgICA8YSBjbGFzcz0iYnRuIGdob3N0IiBocmVmPSIjIiBkYXRhLWJvb2s9IjEiPkJvb2sgYSBQcml2YXRlIFZpZXdpbmc8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJoZXJvLWltZyI+CiAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0iaGVybzIiIGFsdD0iTW9kZWwgaW4gdGhlIHNlYSB3ZWFyaW5nIHRoZSBBZWdlYW4gV2F2ZSBOZWNrbGFjZSBhbmQgQWVnZWFuIERpYW1vbmQgSG9vcCBpbiAxOGsgZ29sZCIgZmV0Y2hwcmlvcml0eT0iaGlnaCI+CiAgICA8ZGl2IGNsYXNzPSJ3b3JuIj5Xb3JuPHN0cm9uZz5UaGUgQWVnZWFuIFdhdmUgTmVja2xhY2U8L3N0cm9uZz48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzY3JvbGxjdWUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KPC9oZWFkZXI+Cgo8c2VjdGlvbiBjbGFzcz0iY2VudGVyIiBpZD0iY29sbGVjdGlvbiI+CiAgPGRpdiBjbGFzcz0ia2lja2VyIHJ2Ij5UaGUgQWVnZWFuIENvbGxlY3Rpb248L2Rpdj4KICA8cCBjbGFzcz0iaW50cm8tbGVkZSBydiBkMSI+RHJhd2luZyBvbiB0aGUgaXNsYW5kcyB3aGVyZSA8ZW0+bWFyYmxlIG1lZXRzIHdhdGVyPC9lbT4sIGVhY2ggQWVnZWFuIHBpZWNlIGlzIGNhcnZlZCwgY2FzdCBhbmQgaGFuZC1maW5pc2hlZCBpbiBvdXIgYXRlbGllci48L3A+CiAgPHAgY2xhc3M9ImludHJvLWJvZHkgcnYgZDIiPlVuZHVsYXRpbmcgc2lsaG91ZXR0ZXMgdHJhY2UgdGhlIHN3ZWxsIG9mIHRoZSBvcGVuIHNlYTsgZGlhbW9uZHMg4oCUIGJhZ3VldHRlLCBtYXJxdWlzZSBhbmQgYnJpbGxpYW50IOKAlCBzY2F0dGVyIGFjcm9zcyBwb2xpc2hlZCBnb2xkIGxpa2Ugc3VubGlnaHQgYnJlYWtpbmcgb24gdGhlIHN1cmZhY2UuPC9wPgogIDxzdmcgY2xhc3M9ImRpdmlkZXItd2F2ZSBydiBkMyIgdmlld0JveD0iMCAwIDEyMCAxNiIgYXJpYS1oaWRkZW49InRydWUiPgogICAgPHBhdGggZD0iTTIgOCBDIDE0IDIsIDI0IDE0LCAzOCA4IFMgNjAgMiwgNzQgOCBTIDEwMCAxNCwgMTE4IDgiLz4KICA8L3N2Zz4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9ImZlYXR1cmVkIj4KICA8ZGl2IGNsYXNzPSJmZWF0dXJlZC1ncmlkIiBkYXRhLXByb2Q9ImJhbmdsZSI+CiAgICA8ZGl2IGNsYXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICA8ZGl2IGNsYXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFD SDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJiYW5nbGUiIGRhdGEtbWV0YWw9InciIGFsdD0iQWVnZWFuIGJhbmdsZSBpbiAxOGsgd2hpdGUgZ29sZCB3aXRoIHNjYXR0ZXJlZCBtaXhlZC1jdXQgZGlhbW9uZHMiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImJhbmdsZS1tb2RlbC13IiBkYXRhLW1ldGFsPSJ3IiBhbHQ9IkFlZ2VhbiBiYW5nbGUgaW4gd2hpdGUgZ29sZCB3b3JuIG9uIHRoZSB3cmlzdCIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImJhbmdsZS1ibHVlLXciIGRhdGEtbWV0YWw9InciIGFsdD0iQWVnZWFuIGJhbmdsZSBpbiB3aGl0ZSBnb2xkIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImJhbmdsZS1tb2RlbC15IiBkYXRhLW1ldGFsPSJ5IiBhbHQ9IkFlZ2VhbiBiYW5nbGUgaW4geWVsbG93IGdvbGQgd29ybiBvbiB0aGUgd3Jpc3QiIGxvYWRpbmc9ImxhenkiPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJiYW5nbGUtYmx1ZS15IiBkYXRhLW1ldGFsPSJ5IiBhbHQ9IkFlZ2VhbiBiYW5nbGUgaW4geWVsbG93IGdvbGQgb24gYmx1ZSBzaWxrIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8L2J1dHRvbj4KICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwbnVtIHJ2Ij5JICYjMTgzOyBUaGUgU2lnbmF0dXJlIFBpZWNlPC9kaXY+CiAgICAgIDxoMiBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBCYW5nbGU8L2gyPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPjE4ayBnb2xkIHRoYXQgcmlzZXMgYW5kIGZhbGxzIGxpa2UgdGhlIHdhdGVyLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icG1ldGEgcnYgZDMiPgogICAgICAgIDxkaXY+PHNwYW4+TWV0YWw8L3NwYW4+PHNwYW4+MThrIFdoaXRlIG9yIFllbGxvdyBHb2xkPC9zcGFuPjwvZGl2PgogICAgICAgIDxkaXY+PHNwYW4+RGlhbW9uZHM8L3NwYW4+PHNwYW4+My4wNyBjdCAmIzE4MzsgTXVsdGktU2hhcGUgU2NhdHRlcmVkPC9zcGFuPjwvZGl2PgogICAgICAgIDxkaXY+PHNwYW4+UmVmZXJlbmNlPC9zcGFuPjxzcGFuPkIxMDA2NFcgLyBCMTAwNjRXWTwvc3Bhbj48L2Rpdj4KICAgICAgICA8ZGl2PjxzcGFuPlByaWNlPC9zcGFuPjxzcGFuPiQyMSw4MDA8L3NwYW4+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJrbWV0YWwgcnYgZDMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImttZXRhbGJ0biBvbiIgZGF0YS1tZXRhbC1jaG9pY2U9InciPldoaXRlIEdvbGQ8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJrbWV0YWxidG4iIGRhdGEtbWV0YWwtY2hvaWNlPSJ5Ij5ZZWxsb3cgR29sZDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImJ0biBkYXJrIHJ2IGQ0IiBocmVmPSIjIiBkYXRhLXBpZD0iYmFuZ2xlIj5WaWV3IHRoZSBBZWdlYW4gQmFuZ2xlPC9hPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uPgogIDxkaXYgY2xhc3M9ImNncmlkIj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ia3ltYSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0iZWFycmluZ3MiIGFsdD0iQWVnZWFuIGRpYW1vbmQgaG9vcCBlYXJyaW5ncyBpbiAxOGsgeWVsbG93IGdvbGQgd2l0aCBwYXYmIzIzMzsgZGlhbW9uZHMiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImVhcnJpbmdzLW1vZGVsIiBhbHQ9IkFlZ2VhbiBkaWFtb25kIGhvb3AgZWFycmluZyBpbiBwYXYmIzIzMzsgZGlhbW9uZHMgd29ybiBvbiB0aGUgZWFyIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0iZWFycmluZ3MtYmx1ZSIgYWx0PSJBZWdlYW4gZGlhbW9uZCBob29wcyBvbiBibHVlIHNpbGsiIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8L2J1dHRvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gRGlhbW9uZCBIb29wPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNjIHJ2IGQyIj5BIGN1cnJlbnQgb2YgcGF2JiMyMzM7 IGRpYW1vbmRzIHdyYXBzIHRocm91Z2ggcG9saXNoZWQgMThrIHllbGxvdyBnb2xkIOKAlCB0d28gdGlkZXMgcGFzc2luZyBpbiBhIHNpbmdsZSwgZmx1aWQgZ2VzdHVyZS4gMi4wOCBjdCB0b3RhbC48L3A+CiAgICAgIDxkaXYgY2xhc3M9InByaWNlIHJ2IGQyIj4kOCw3MjAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkxOyI+RTEwNDUwWTwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJreW1hIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ibmVyZWlkIj4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJlOTc4NHkiIGFsdD0iQWVnZWFuIHBlYmJsZSBkaWFtb25kIGVhcnJpbmdzIGluIDE4ayB5ZWxsb3cgZ29sZCB3aXRoIHNjYXR0ZXJlZCBkaWFtb25kcyIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIFBlYmJsZSBEaWFtb25kIEVhcnJpbmdzPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNjIHJ2IGQyIj5PcGVuIGxvb3BzIG9mIDE4ayB5ZWxsb3cgZ29sZCBjdXJsIGxpa2Ugc2VhIGZvYW0sIHRyYWlsZWQgYnkgYSBkcmlmdCBvZiBwcm9uZy1zZXQgYnJpbGxpYW50IGRpYW1vbmRzLiAxLjYwIGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQxMiwwODAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkxOyI+RTk3ODRZPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9Im5lcmVpZCI+U2hvcCBUaGlzIFBpZWNlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIiBkYXRhLXByb2Q9ImRlbG9zLWUiPgogICAgICA8ZGl2IGNsYXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImUxMDM1NWwiIGFsdD0iQWVnZWFuIGRpYW1vbmQgZG9tZSBlYXJyaW5ncyBpbiAxOGsgeWVsbG93IGdvbGQiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImUxMDM1NWwtYmx1ZSIgYWx0PSJBZWdlYW4gZGlhbW9uZCBkb21lIGVhcnJpbmdzIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBEaWFtb25kIERvbWUgRWFycmluZ3M8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPlRlYXJkcm9wcyBvZiBvcGVud29yayBnb2xkLCBiYW5kZWQgaW4gYWx0ZXJuYXRpbmcgcG9saXNoZWQgY2hldnJvbnMgYW5kIGNoYW5uZWxzIG9mIHBhdiYjMjMzOyDigJQgbGlnaHQgcGFzc2VzIHN0cmFpZ2h0IHRocm91Z2guIDIuMjggY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDEyLDM5NSAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7Ij5FMTAzNTVMPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9ImRlbG9zLWUiPlNob3AgVGhpcyBQaWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJjeWNsYWRlcy1lIj4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJlNDY5NjZsIiBhbHQ9IkFlZ2VhbiB0ZXh0dXJlZCBkaWFtb25kIGVhcnJpbmdzIGluIDE4ayB5ZWxsb3cgZ29sZCB3aXRoIHNjYXR0ZXJlZCBkaWFtb25kcyIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0iZTQ2OTY2bC1ibHVlIiBhbHQ9IkFlZ2VhbiB0ZXh0dXJlZCBkaWFtb25kIGVhcnJpbmdzIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91 cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBUZXh0dXJlZCBEaWFtb25kIEVhcnJpbmdzPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNjIHJ2IGQyIj5UaGUgcmluZydzIHJpcHBsZWQgY29tcGFuaW9uIOKAlCBmbHV0ZWQgMThrIGdvbGQgY2FycnlpbmcgYSBzcHJheSBvZiBtYXJxdWlzZSwgcGVhciBhbmQgYnJpbGxpYW50IGRpYW1vbmRzLiAyLjQwIGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQxMiwwODAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkxOyI+RTQ2OTY2TDwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJjeWNsYWRlcy1lIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0iZGVsb3MtciI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjEwMzU1eSIgYWx0PSJBZWdlYW4gZG9tZSByaW5nIGluIDE4ayB5ZWxsb3cgZ29sZCIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjEwMzU1eS1ibHVlIiBhbHQ9IkFlZ2VhbiBkb21lIHJpbmcgb24gYmx1ZSBzaWxrIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIERvbWUgUmluZzwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+QSBkb21lIG9mIG9wZW4gZ29sZCByaWJzLCBldmVyeSBzZWNvbmQgb25lIHNldCB3aXRoIGEgZmluZSBsaW5lIG9mIHBhdiYjMjMzOyDigJQgYXJjaGl0ZWN0dXJlIGF0IHRoZSBzY2FsZSBvZiBhIGZpbmdlcnRpcC4gMS4xNCBjdCB0b3RhbC48L3A+CiAgICAgIDxkaXYgY2xhc3M9InByaWNlIHJ2IGQyIj4kNyw1NDAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkxOyI+UjEwMzU1WTwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJkZWxvcy1yIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0iY3ljbGFkZXMtciI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icmluZyIgYWx0PSJBZWdlYW4gdGV4dHVyZWQgZGlhbW9uZCByaW5nIGluIGZsdXRlZCAxOGsgeWVsbG93IGdvbGQgd2l0aCBzY2F0dGVyZWQgZGlhbW9uZHMiIGNsYXNzPSJvbiIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InJpbmctYmx1ZSIgYWx0PSJBZWdlYW4gdGV4dHVyZWQgZGlhbW9uZCByaW5nIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBUZXh0dXJlZCBEaWFtb25kIFJpbmc8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPkZsdXRlZCBnb2xkLCByaXBwbGVkIGxpa2Ugd2luZCBvdmVyIHdhdGVyLCBjYXJyaWVzIGEgZHJpZnQgb2YgbWFycXVpc2UsIHBlYXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcyDigJQgc2VhIHNwcmF5IGNhdWdodCBtaWQtYWlyLiAwLjkxIGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQ1LDcyMCAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7Ij5SNDY5NjZMPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9ImN5Y2xhZGVzLXIiPlNob3AgVGhpcyBQaWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJuYWlhZCI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFz ZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDI3eSIgYWx0PSJBZWdlYW4gYXN5bW1ldHJpY2FsIHdhdmUgcmluZyBpbiBwb2xpc2hlZCAxOGsgeWVsbG93IGdvbGQgd2l0aCBtYXJxdWlzZSBkaWFtb25kcyIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDI3eS1tb2RlbCIgYWx0PSJBZWdlYW4gYXN5bW1ldHJpY2FsIHdhdmUgcmluZyB3b3JuIG9uIHRoZSBoYW5kIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDI3eS1ibHVlIiBhbHQ9IkFlZ2VhbiBhc3ltbWV0cmljYWwgd2F2ZSByaW5nIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBBc3ltbWV0cmljYWwgV2F2ZSBSaW5nPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNjIHJ2IGQyIj5BIHNtb290aCBzd2VsbCBvZiBwb2xpc2hlZCAxOGsgZ29sZCwgY3Jvc3NlZCBieSBhIGdhcmxhbmQgb2YgbWFycXVpc2UgYW5kIHBlYXIgZGlhbW9uZHMg4oCUIHF1aWV0IHdhdGVyLCB0aGVuIGxpZ2h0LiAxLjkzIGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQ3LDY4MCAmbmJzcDsmIzE4MzsmbmJzcDsgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxM3B4O2xldHRlci1zcGFjaW5nOi4xNGVtO2NvbG9yOiM3ZDhhOTE7Ij5SNDcwMjdZPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9Im5haWFkIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0idGhhbGFzc2EtciI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDYxeSIgYWx0PSJBZWdlYW4gd2F2ZSBiYW5kIHJpbmcgaW4gMThrIHllbGxvdyBnb2xkIHdpdGggcGF2JiMyMzM7IGFuZCBwZWFyIGRpYW1vbmRzIiBjbGFzcz0ib24iIGxvYWRpbmc9ImxhenkiPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJyNDcwNjF5LWJsdWUiIGFsdD0iQWVnZWFuIHdhdmUgYmFuZCByaW5nIGluIHllbGxvdyBnb2xkIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InI0NzA2MXciIGFsdD0iQWVnZWFuIHdhdmUgYmFuZCByaW5nIGluIDE4ayB3aGl0ZSBnb2xkIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MDYxdy1ibHVlIiBhbHQ9IkFlZ2VhbiB3YXZlIGJhbmQgcmluZyBpbiB3aGl0ZSBnb2xkIG9uIGJsdWUgc2lsayIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBXYXZlIEJhbmQgUmluZzwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+VGhlIHNpZ25hdHVyZSB3YXZlLCBtYWRlIHRvIGJlIHdvcm4gZGFpbHkuIFR3aW4gcGF2JiMyMzM7IGNyZXN0cyBicmVhayBhcm91bmQgYSBsaW5lIG9mIHBlYXIgZGlhbW9uZHMg4oCUIGluIHllbGxvdyBvciB3aGl0ZSBnb2xkLiAxLjQwJiM4MjExOzEuNjAgY3QgdG90YWwuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDgsNDAwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlI0NzA2MVkgLyBSNDcwNjFXPC9zcGFuPjwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9InRoYWxhc3NhLXIiPlNob3AgVGhpcyBQaWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJkeW8iPgogICAgICA8ZGl2IGNsYXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9InI0NzMxNHkiIGFsdD0iQWVnZWFuIHR3byBzdG9uZSByaW5nIHdpdGggdHdvIHJvdW5kIGRpYW1vbmRzIGluIDE4ayB5 ZWxsb3cgZ29sZCIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0icjQ3MzE0eS1tb2RlbCIgYWx0PSJBZWdlYW4gdHdvIHN0b25lIHJpbmcgc3RhY2sgd29ybiBvbiB0aGUgaGFuZCIgbG9hZGluZz0ibGF6eSI+PC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPgogICAgICAgIDxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxoMyBjbGFzcz0icG5hbWUgcnYgZDEiPkFlZ2VhbiBUd28gU3RvbmUgUmluZzwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+VHdvIGJyaWxsaWFudCBkaWFtb25kcyBwYXNzIGxpa2UgY3VycmVudHMgaW4gMThrIGdvbGQg4oCUIHNob3duIHN0YWNrZWQgd2l0aCBpdHMgcGF2JiMyMzM7IGJhbmQuIDEuMDMgY3Qgc29saXRhaXJlcyAmIzE4MzsgMC40MiBjdCBwYXYmIzIzMzsuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDgsMTIwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlI0NzMxNFk8L3NwYW4+PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBpZD0iZHlvIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ibWVsdGVtaSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0ibWVsdGVtaS1tb2RlbCIgYWx0PSJBZWdlYW4gY3Jvc3Mgb3ZlciBuZWNrbGFjZSBpbiAxNGsgeWVsbG93IGdvbGQgd2l0aCBwYXYmIzIzMzsga25vdCwgd29ybiIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIENyb3NzIE92ZXIgTmVja2xhY2U8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPlRoZSBjb2xsZWN0aW9uJiM4MjE3O3MgY2VudGVycGllY2UsIHdvcm4gaW4gb3VyIGNhbXBhaWduIOKAlCBhIHBhbnRoZXItbGluayBjb2xsYXIgZ2F0aGVyZWQgaW4gYSBrbm90IG9mIHBvbGlzaGVkIGdvbGQgYW5kIHBhdiYjMjMzOy4gMi4zMCBjdCAmIzE4MzsgMTAwIGRpYW1vbmRzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2UgcnYgZDIiPiQyOSw5ODAgJm5ic3A7JiMxODM7Jm5ic3A7IDxzcGFuIHN0eWxlPSJmb250LXNpemU6MTNweDtsZXR0ZXItc3BhY2luZzouMTRlbTtjb2xvcjojN2Q4YTkxOyI+TjIyNy01MDwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJtZWx0ZW1pIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNhcmQiIGRhdGEtcHJvZD0ibWF0aSI+CiAgICAgIDxkaXYgY2xhc3M9ImZyYW1lIGdhbCBydiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3RyYWNrIj48aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBQUFBQ0g1QkFFS0FBRUFMQUFBQUFBQkFBRUFBQUlDVEFFQU93PT0iIGRhdGEtaz0ibWF0aSIgYWx0PSJBZWdlYW4gZXZpbCBleWUgcGVuZGFudCBuZWNrbGFjZSB3aXRoIHNhcHBoaXJlIGV5ZSBhbmQgZGlhbW9uZCBsYXNoZXMgaW4gMThrIHllbGxvdyBnb2xkIiBjbGFzcz0ib24iIGxvYWRpbmc9ImxhenkiPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJtYXRpLW1vZGVsIiBhbHQ9IkFlZ2VhbiBldmlsIGV5ZSBwZW5kYW50IHdvcm4gb24gdGhlIG5lY2siIGxvYWRpbmc9ImxhenkiPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJtYXRpLWJsdWUiIGFsdD0iQWVnZWFuIGV2aWwgZXllIHBlbmRhbnQgb24gYmx1ZSBzaWxrIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIEV2aWwgRXllIFBlbmRhbnQ8L2gzPgogICAgICA8cCBjbGFzcz0icGRlc2MgcnYgZDIiPlRoZSBBZWdlYW4mIzgyMTc7cyBvbGRlc3QgdGFsaXNtYW4g4oCUIGEgc2FwcGhpcmUgZXllIHJpbmdlZCBpbiBkaWFtb25kcywgbGFzaGVzIG9mIGdvbGQgYW5kIGJlemVsLXNldCBicmlsbGlhbnRzLiAwLjY4IGN0IHRvdGFsLjwvcD4KICAgICAgPGRpdiBjbGFzcz0icHJpY2Ug cnYgZDIiPiQyLDkwMDwvZGl2PgogICAgICA8YSBjbGFzcz0ic2hvcCBydiBkMyIgaHJlZj0iIyIgZGF0YS1waWQ9Im1hdGkiPlNob3AgVGhpcyBQaWVjZTwvYT4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iY2FyZCIgZGF0YS1wcm9kPSJrYWx5cHNvIj4KICAgICAgPGRpdiBjbGFzcz0iZnJhbWUgZ2FsIHJ2Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJndHJhY2siPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJrYWx5cHNvIiBhbHQ9IkFlZ2VhbiB3YXZlIG5lY2tsYWNlIHdpdGggY3Jvc3NpbmcgcGF2JiMyMzM7IGRpYW1vbmQgd2F2ZXMgaW4gMThrIHllbGxvdyBnb2xkIiBjbGFzcz0ib24iIGxvYWRpbmc9ImxhenkiPjxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3c9PSIgZGF0YS1rPSJrYWx5cHNvLW1vZGVsIiBhbHQ9IkFlZ2VhbiB3YXZlIG5lY2tsYWNlIHdvcm4gb24gdGhlIG5lY2siIGxvYWRpbmc9ImxhenkiPjwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImduYXYgcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMgaW1hZ2UiPiYjODI0OTs8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IG5leHQiIGFyaWEtbGFiZWw9Ik5leHQgaW1hZ2UiPiYjODI1MDs8L2J1dHRvbj4KICAgICAgICA8ZGl2IGNsYXNzPSJnZG90cyI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8aDMgY2xhc3M9InBuYW1lIHJ2IGQxIj5BZWdlYW4gV2F2ZSBOZWNrbGFjZTwvaDM+CiAgICAgIDxwIGNsYXNzPSJwZGVzYyBydiBkMiI+VHdvIHBhdiYjMjMzOyB3YXZlcyBjcm9zcyBhdCB0aGUgdGhyb2F0IGFib3ZlIGEgcmliYmVkIGdvbGQgY29sbGFyLCBtZWV0aW5nIGF0IGEgc2luZ2xlIHBlYXIgZGlhbW9uZC4gNi4wMCBjdCB0b3RhbC48L3A+CiAgICAgIDxkaXYgY2xhc3M9InByaWNlIHJ2IGQyIj4kNTgsMDAwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPk41NDAtMTY8L3NwYW4+PC9kaXY+CiAgICAgIDxhIGNsYXNzPSJzaG9wIHJ2IGQzIiBocmVmPSIjIiBkYXRhLXBpZD0ia2FseXBzbyI+U2hvcCBUaGlzIFBpZWNlPC9hPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJjYXJkIiBkYXRhLXByb2Q9ImhhbGN5b24iPgogICAgICA8ZGl2IGNsYXNzPSJmcmFtZSBnYWwgcnYiPgogICAgICAgIDxkaXYgY2xhc3M9Imd0cmFjayI+PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiBkYXRhLWs9ImhhbGN5b24tYmx1ZSIgYWx0PSJBZWdlYW4gY3VmZiB3YXZlIHJpbmcgd2l0aCBmbHVzaC1zZXQgZGlhbW9uZHMgYW5kIGVtZXJhbGQsIG9uIGJsdWUgc2lsayIgY2xhc3M9Im9uIiBsb2FkaW5nPSJsYXp5Ij48L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJnbmF2IHByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIGltYWdlIj4mIzgyNDk7PC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZ25hdiBuZXh0IiBhcmlhLWxhYmVsPSJOZXh0IGltYWdlIj4mIzgyNTA7PC9idXR0b24+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2RvdHMiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGgzIGNsYXNzPSJwbmFtZSBydiBkMSI+QWVnZWFuIEN1ZmYgV2F2ZSBSaW5nPC9oMz4KICAgICAgPHAgY2xhc3M9InBkZXNjIHJ2IGQyIj5BIHR3by1maW5nZXIgY3VmZiBvZiBwb2xpc2hlZCBnb2xkLCBmbHVzaC1zZXQgd2l0aCBkcmlmdGluZyBicmlsbGlhbnRzIOKAlCBzaG93biB3aXRoIGl0cyBiZXplbC1zZXQgZW1lcmFsZCBiYW5kLiAwLjczIGN0IGRpYW1vbmRzICYjMTgzOyAwLjIzIGN0IGVtZXJhbGQuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJwcmljZSBydiBkMiI+JDYsODgwICZuYnNwOyYjMTgzOyZuYnNwOyA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6LjE0ZW07Y29sb3I6IzdkOGE5MTsiPlI0NzI0OUVNWTwvc3Bhbj48L2Rpdj4KICAgICAgPGEgY2xhc3M9InNob3AgcnYgZDMiIGhyZWY9IiMiIGRhdGEtcGlkPSJoYWxjeW9uIj5TaG9wIFRoaXMgUGllY2U8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPHNlY3Rpb24gY2xhc3M9InNlYWJhbmQiIGlkPSJjcmFmdCI+CiAgPGRpdiBjbGFzcz0iaW5uZXIiPgogICAgPGRpdiBjbGFzcz0ia2lja2VyIHJ2Ij5DcmFmdHNtYW5zaGlwPC9kaXY+CiAgICA8YmxvY2txdW90ZSBjbGFzcz0icnYgZDEiPiJXZSBkbyBub3QgaW1pdGF0ZSB0aGUgc2VhLiBXZSBhc2sgdGhlIGdvbGQgdG8gcmVtZW1iZXIgaXQuIjwvYmxvY2txdW90ZT4KICAgIDxkaXYgY2xhc3M9ImF0dHIgcnYgZDIiPk1hcmlhIFJlc3MgJiMxODM7IEZvdW5kZXIsIEthc3RlbDwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNyYWZ0LWNvbHMiPgogICAgPGRpdiBjbGFzcz0icnYiPgogICAgICA8c3ZnIGNsYXNzPSJnbHlwaCIgdmlld0JveD0iMCAwIDQ0IDQ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTQgMjIgQyAxMiAxMiwgMTggMzIsIDI2IDIyIFMgMzggMTIsIDQwIDIyIi8+PHBhdGggZD0iTTQgMzAgQyAxMiAyMCwgMTggNDAsIDI2IDMwIFMgMzggMjAsIDQwIDMwIi8+PC9zdmc+CiAgICAgIDxoMz5TQ1VMUFRFRCBGT1JNPC9oMz4KICAgICAgPHA+RXZlcnkgc2lsaG91ZXR0ZSBiZWdpbnMgYXMgYSBoYW5kLWNhcnZlZCB3YXgsIHJlZmluZWQgdW50aWwgdGhlIGN1cnZlIGhvbGRzIHRoZSBleGFjdCB0ZW5zaW9uIG9mIGEgYnJlYWtpbmcgd2F2ZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InJ2IGQxIj4KICAgICAgPHN2ZyBjbGFzcz0iZ2x5cGgiIHZpZXdCb3g9IjAgMCA0 NCA0NCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjIyIiBjeT0iMjIiIHI9IjkiLz48cGF0aCBkPSJNMjIgNCBMMjIgMTAgTTIyIDM0IEwyMiA0MCBNNCAyMiBMMTAgMjIgTTM0IDIyIEw0MCAyMiIvPjwvc3ZnPgogICAgICA8aDM+U0NBVFRFUkVEIExJR0hUPC9oMz4KICAgICAgPHA+RGlhbW9uZHMgYXJlIHNldCBmcmVlIG9mIHJpZ2lkIHJvd3Mg4oCUIHBsYWNlZCBvbmUgYnkgb25lLCB0aGUgd2F5IHN1bmxpZ2h0IGxhbmRzIG9uIG1vdmluZyB3YXRlci4gTm8gdHdvIHBpZWNlcyBzY2F0dGVyIGFsaWtlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icnYgZDIiPgogICAgICA8c3ZnIGNsYXNzPSJnbHlwaCIgdmlld0JveD0iMCAwIDQ0IDQ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTIyIDUgTDM2IDE1IEwzNiAzMyBMMjIgNDEgTDggMzMgTDggMTUgWiIvPjxwYXRoIGQ9Ik0yMiA1IEwyMiAyMyBMMzYgMzMgTTIyIDIzIEw4IDMzIi8+PC9zdmc+CiAgICAgIDxoMz4xOC1LQVJBVCBQUk9NSVNFPC9oMz4KICAgICAgPHA+UmVzcG9uc2libHkgc291cmNlZCBnb2xkIGFuZCBHSUEtZ3JhZGVkIGRpYW1vbmRzLCBmaW5pc2hlZCBhbmQgaGFsbG1hcmtlZCBpbiB0aGUgS2FzdGVsIGF0ZWxpZXIuIEd1YXJhbnRlZWQgZm9yIGxpZmUuPC9wPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjxzZWN0aW9uIGNsYXNzPSJjdGEiIGlkPSJ2aXNpdCI+CiAgPGRpdiBjbGFzcz0ia2lja2VyIHJ2Ij5Qcml2YXRlIEFwcG9pbnRtZW50czwvZGl2PgogIDxoMiBjbGFzcz0icnYgZDEiPkV4cGVyaWVuY2UgdGhlIEFlZ2VhbjwvaDI+CiAgPHAgY2xhc3M9InJ2IGQyIj5NZWV0IHRoZSBjb2xsZWN0aW9uIGluIHBlcnNvbi4gT3VyIHNwZWNpYWxpc3RzIHdpbGwgZ3VpZGUgeW91IHRocm91Z2ggZWFjaCBwaWVjZSDigJQgYW5kLCBzaG91bGQgeW91IHdpc2gsIGJlZ2luIGEgY29tbWlzc2lvbiBlbnRpcmVseSB5b3VyIG93bi48L3A+CiAgPGRpdiBjbGFzcz0iaGVyby1jdGEgcnYgZDMiPgogICAgPGEgY2xhc3M9ImJ0biBkYXJrIiBocmVmPSIjIiBkYXRhLWJvb2s9IjEiPkJvb2sgYW4gQXBwb2ludG1lbnQ8L2E+CiAgICA8YSBjbGFzcz0iYnRuIGRhcmsiIGhyZWY9Im1haWx0bzptcmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbSIgc3R5bGU9ImJvcmRlci1jb2xvcjp0cmFuc3BhcmVudCI+Q29udGFjdCB0aGUgQXRlbGllciAmIzg1OTQ7PC9hPgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8Zm9vdGVyPgogIDxzcGFuIGNsYXNzPSJ3b3JkbWFyayI+S0FTVEVMPC9zcGFuPgogIDxkaXYgY2xhc3M9InRhZyI+RmluZSBqZXdlbHJ5LCBtYWRlIHRvIGJlIHJlbWVtYmVyZWQuPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm5hdiI+CiAgICA8YSBocmVmPSIjIj5Db2xsZWN0aW9uczwvYT48YSBocmVmPSIjIj5CZXNwb2tlPC9hPjxhIGhyZWY9IiMiPkNhcmUgJmFtcDsgUmVwYWlyPC9hPjxhIGhyZWY9IiMiPlNoaXBwaW5nICZhbXA7IFJldHVybnM8L2E+PGEgaHJlZj0iIyI+Q29udGFjdDwvYT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJsZWdhbCI+JiMxNjk7IDIwMjYgS2FzdGVsIEpld2VscnkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9kaXY+CjwvZm9vdGVyPgoKPGRpdiBjbGFzcz0ia21vZGFsIiBpZD0ia21vZGFsIiByb2xlPSJkaWFsb2ciIGFyaWEtbW9kYWw9InRydWUiPgogIDxkaXYgY2xhc3M9ImtiYWNrIiBpZD0ia2JhY2siPjwvZGl2PgogIDxkaXYgY2xhc3M9ImtwYW5lbCI+CiAgICA8YnV0dG9uIGNsYXNzPSJrY2xvc2UiIGlkPSJrY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIj4mIzIxNTs8L2J1dHRvbj4KICAgIDxkaXYgaWQ9ImtwYW5lbC1ib2R5Ij48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJrdG9hc3QiIGlkPSJrdG9hc3QiPkFkZGVkIHRvIHlvdXIgY2FydDwvZGl2Pgo8L2Rpdj4KPHNjcmlwdD4KLy8gaGVpZ2h0IHJlcG9ydGVyIGZpcnN0OiBtdXN0IHN1cnZpdmUgYW55IGxhdGVyIGVycm9yCmZ1bmN0aW9uIGthc3RlbFBvc3QoKXtwYXJlbnQucG9zdE1lc3NhZ2Uoe2thc3RlbEFlZ2Vhbkg6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodH0sJyonKTt9CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJyxrYXN0ZWxQb3N0KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsa2FzdGVsUG9zdCk7CnNldEludGVydmFsKGthc3RlbFBvc3QsMTAwMCk7Ci8vIHJldmVhbHMKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnJ2Om5vdCguaW4pJykuZm9yRWFjaChmdW5jdGlvbihlbCl7ZWwuY2xhc3NMaXN0LmFkZCgnaW4nKX0pOwovLyBpbWFnZSBnYWxsZXJpZXMKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmdhbCcpLmZvckVhY2goZnVuY3Rpb24oZyl7aW5pdEdhbChnKX0pOwpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ2FsJykuZm9yRWFjaChmdW5jdGlvbihnKXtpZihnLnF1ZXJ5U2VsZWN0b3IoJ2ltZ1tkYXRhLW1ldGFsXScpKXNldE1ldGFsKGcsJ3cnKX0pOwoKdmFyIEtQUk9EVUNUUz17CiAiYmFuZ2xlIjp7Im5hbWUiOiJBZWdlYW4gQmFuZ2xlIiwicHJpY2UiOjIxODAwLCJyZWYiOiJCMTAwNjRXIC8gQjEwMDY0V1kiLCJtZXRhbCI6IjE4ayBXaGl0ZSBvciBZZWxsb3cgR29sZCIsImN0IjoiMy4wNyBjdCBcdTAwYjcgTXVsdGktU2hhcGUgU2NhdHRlcmVkIiwiZGVzYyI6IjE4ayBnb2xkIHRoYXQgcmlzZXMgYW5kIGZhbGxzIGxpa2UgdGhlIHdhdGVyLiBIaW5nZWQgY2xvc3VyZSB3aXRoIGhpZGRlbiBjbGFzcC4ifSwKICJreW1hIjp7Im5hbWUiOiJBZWdlYW4gRGlhbW9uZCBIb29wIiwicHJpY2UiOjg3MjAsInJlZiI6IkUxMDQ1MFkiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0IjoiMi4wOCBjdCBcdTAwYjcgUm91bmQgQnJpbGxpYW50IiwiZGVzYyI6IkEgY3VycmVudCBvZiBwYXZcdTAwZTkgZGlhbW9uZHMgd3JhcHMgdGhyb3VnaCBwb2xpc2hlZCBnb2xkIFx1MjAxNCB0d28gdGlkZXMgcGFzc2lu ZyBpbiBhIHNpbmdsZSwgZmx1aWQgZ2VzdHVyZS4gVGhyZWUgcm93cyBvZiBtaWNyby1zZXQgYnJpbGxpYW50cyBmb2xsb3cgdGhlIHR3aXN0IG9mIHRoZSBob29wLiBTZWN1cmUgaGluZ2VkIGh1Z2dpZSBjbG9zdXJlLCBlbmdyYXZlZCBLQVNURUwgaW5zaWRlLiJ9LAogIm5lcmVpZCI6eyJuYW1lIjoiQWVnZWFuIFBlYmJsZSBEaWFtb25kIEVhcnJpbmdzIiwicHJpY2UiOjEyMDgwLCJyZWYiOiJFOTc4NFkiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0IjoiMS42MCBjdCBcdTAwYjcgUm91bmQgQnJpbGxpYW50IiwiZGVzYyI6Ik9wZW4gbG9vcHMgb2YgZ29sZCBjdXJsIGxpa2Ugc2VhIGZvYW0sIHRyYWlsZWQgYnkgYSBkcmlmdCBvZiBwcm9uZy1zZXQgYnJpbGxpYW50IGRpYW1vbmRzIHRoYXQgYXBwZWFyIHRvIGZsb2F0IGZyZWUgb2YgdGhlIG1ldGFsLiBMaWdodCBwYXNzZXMgdGhyb3VnaCB0aGUgb3BlbiBzaWxob3VldHRlIHdpdGggZXZlcnkgdHVybiBvZiB0aGUgaGVhZC4gUG9zdCBiYWNrcyB3aXRoIGxhcmdlIGZyaWN0aW9uIGNsdXRjaGVzLiJ9LAogImRlbG9zLWUiOnsibmFtZSI6IkFlZ2VhbiBEaWFtb25kIERvbWUgRWFycmluZ3MiLCJwcmljZSI6MTIzOTUsInJlZiI6IkUxMDM1NUwiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCIsImN0IjoiMi4yOCBjdCBcdTAwYjcgUm91bmQgQnJpbGxpYW50IiwiZGVzYyI6IlRlYXJkcm9wcyBvZiBvcGVud29yayBnb2xkLCBiYW5kZWQgaW4gYWx0ZXJuYXRpbmcgcG9saXNoZWQgY2hldnJvbnMgYW5kIGNoYW5uZWxzIG9mIHBhdlx1MDBlOS4gVGhlIHBpZXJjZWQgc3RydWN0dXJlIGtlZXBzIHRoZW0gZmVhdGhlcmxpZ2h0IGF0IGZ1bGwgcHJlc2VuY2UuIE9tZWdhLWNsaXAgYmFja3MgZm9yIGFsbC1kYXkgY29tZm9ydC4ifSwKICJjeWNsYWRlcy1lIjp7Im5hbWUiOiJBZWdlYW4gVGV4dHVyZWQgRGlhbW9uZCBFYXJyaW5ncyIsInByaWNlIjoxMjA4MCwicmVmIjoiRTQ2OTY2TCIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3QiOiIyLjQwIGN0IFx1MDBiNyBNaXhlZCBDdXRzIiwiZGVzYyI6IlRoZSByaW5nJ3MgcmlwcGxlZCBjb21wYW5pb24gXHUyMDE0IGZsdXRlZCBnb2xkIGNhcnJ5aW5nIGEgc3ByYXkgb2YgbWFycXVpc2UsIHBlYXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcyBhY3Jvc3MgaXRzIHdhdmVzIGxpa2Ugc2VhIHNwcmF5IGNhdWdodCBtaWQtYWlyLiBFYWNoIHdpcmUgaXMgZHJhd24gYW5kIHNoYXBlZCBieSBoYW5kIGJlZm9yZSBzZXR0aW5nLiJ9LAogImRlbG9zLXIiOnsibmFtZSI6IkFlZ2VhbiBEb21lIFJpbmciLCJwcmljZSI6NzU0MCwicmVmIjoiUjEwMzU1WSIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3QiOiIxLjE0IGN0IFx1MDBiNyBSb3VuZCBCcmlsbGlhbnQiLCJkZXNjIjoiQSBkb21lIG9mIG9wZW4gZ29sZCByaWJzLCBldmVyeSBzZWNvbmQgb25lIHNldCB3aXRoIGEgZmluZSBsaW5lIG9mIHBhdlx1MDBlOSBcdTIwMTQgYXJjaGl0ZWN0dXJlIGF0IHRoZSBzY2FsZSBvZiBhIGZpbmdlcnRpcC4gVGhlIG9wZW53b3JrIGtlZXBzIGl0IGxpZ2h0OyB0aGUgZG9tZSBrZWVwcyBpdCBjb21tYW5kaW5nLiJ9LAogImN5Y2xhZGVzLXIiOnsibmFtZSI6IkFlZ2VhbiBUZXh0dXJlZCBEaWFtb25kIFJpbmciLCJwcmljZSI6NTcyMCwicmVmIjoiUjQ2OTY2TCIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3QiOiIwLjkxIGN0IFx1MDBiNyBNaXhlZCBDdXRzIiwiZGVzYyI6IkZsdXRlZCBnb2xkLCByaXBwbGVkIGxpa2Ugd2luZCBvdmVyIHdhdGVyLCBjYXJyaWVzIGEgZHJpZnQgb2YgbWFycXVpc2UsIHBlYXIgYW5kIGJyaWxsaWFudCBkaWFtb25kcy4gTm8gdHdvIHN0b25lcyBzaXQgYXQgdGhlIHNhbWUgYW5nbGUgXHUyMDE0IHNldCBvbmUgYnkgb25lLCB0aGUgd2F5IGxpZ2h0IGxhbmRzIG9uIG1vdmluZyB3YXRlci4ifSwKICJuYWlhZCI6eyJuYW1lIjoiQWVnZWFuIEFzeW1tZXRyaWNhbCBXYXZlIFJpbmciLCJwcmljZSI6NzY4MCwicmVmIjoiUjQ3MDI3WSIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkIiwiY3QiOiIxLjkzIGN0IFx1MDBiNyBNYXJxdWlzZSwgUGVhciAmIEJyaWxsaWFudCIsImRlc2MiOiJBIHNtb290aCBzd2VsbCBvZiBwb2xpc2hlZCBnb2xkLCBjcm9zc2VkIGJ5IGEgZ2FybGFuZCBvZiBtYXJxdWlzZSBhbmQgcGVhciBkaWFtb25kcyBcdTIwMTQgcXVpZXQgd2F0ZXIsIHRoZW4gbGlnaHQuIFRoZSBoaWdoLXBvbGlzaCBkb21lIGlzIGZpbmlzaGVkIGJ5IGhhbmQgdG8gYSBtaXJyb3Igc3VyZmFjZS4ifSwKICJ0aGFsYXNzYS1yIjp7Im5hbWUiOiJBZWdlYW4gV2F2ZSBCYW5kIFJpbmciLCJwcmljZSI6ODQwMCwicmVmIjoiUjQ3MDYxWSAvIFI0NzA2MVciLCJtZXRhbCI6IjE4ayBZZWxsb3cgb3IgV2hpdGUgR29sZCIsImN0IjoiMS40MFx1MjAxMzEuNjAgY3QgXHUwMGI3IFBlYXIgU29saXRhaXJlcyAmIFBhdlx1MDBlOSIsImRlc2MiOiJUaGUgc2lnbmF0dXJlIHdhdmUsIG1hZGUgdG8gYmUgd29ybiBkYWlseS4gVHdpbiBwYXZcdTAwZTkgY3Jlc3RzIGJyZWFrIGFyb3VuZCBhIGxpbmUgb2YgcGVhciBkaWFtb25kIHNvbGl0YWlyZXMuIENob29zZSB5ZWxsb3cgb3Igd2hpdGUgZ29sZCBcdTIwMTQgYm90aCBzaG93biBpbiB0aGUgZ2FsbGVyeS4ifSwKICJkeW8iOnsibmFtZSI6IkFlZ2VhbiBUd28gU3RvbmUgUmluZyIsInByaWNlIjo4MTIwLCJyZWYiOiJSNDczMTRZIiwibWV0YWwiOiIxOGsgWWVsbG93ICYgV2hpdGUgR29sZCIsImN0IjoiMS4wMyBjdCBTb2xpdGFpcmVzIFx1MDBiNyAwLjQyIGN0IFBhdlx1MDBlOSIsImRlc2MiOiJUd28gYnJpbGxpYW50IGRpYW1vbmRzIHBhc3MgbGlrZSBjdXJyZW50cyBhcm91bmQgYSByaWJib24gb2YgZ29sZC4gU2hvd24gc3RhY2tlZCB3aXRoIGl0cyB3aGl0ZS1nb2xkIHBhdlx1MDBlOSBiYW5kLCBzb2xkIHNlcGFyYXRlbHkgb3IgYXMgYSBzZXQuIn0sCiAibWVsdGVtaSI6eyJuYW1lIjoiQWVnZWFuIENyb3NzIE92ZXIgTmVj a2xhY2UiLCJwcmljZSI6Mjk5ODAsInJlZiI6Ik4yMjctNTAiLCJtZXRhbCI6IjE0ayBZZWxsb3cgR29sZCIsImN0IjoiMi4zMCBjdCBcdTAwYjcgMTAwIERpYW1vbmRzIiwiZGVzYyI6IlRoZSBjb2xsZWN0aW9uJ3MgY2VudGVycGllY2UsIHdvcm4gaW4gb3VyIGNhbXBhaWduLiBBIHBhbnRoZXItbGluayBjb2xsYXIgZ2F0aGVycyBpbiBhIGtub3Qgb2YgcG9saXNoZWQgZ29sZCBhbmQgcGF2XHUwMGU5IGF0IHRoZSB0aHJvYXQgXHUyMDE0IG9uZSBodW5kcmVkIGRpYW1vbmRzIGluIGFsbC4gSGlkZGVuIGJveCBjbGFzcC4ifSwKICJtYXRpIjp7Im5hbWUiOiJBZWdlYW4gRXZpbCBFeWUgUGVuZGFudCIsInByaWNlIjoyOTAwLCJyZWYiOiIiLCJtZXRhbCI6IjE4ayBZZWxsb3cgR29sZCAmIFNhcHBoaXJlIiwiY3QiOiIwLjY4IGN0IFx1MDBiNyBCcmlsbGlhbnQgKyBNYXJxdWlzZSBTYXBwaGlyZSIsImRlc2MiOiJUaGUgQWVnZWFuJ3Mgb2xkZXN0IHRhbGlzbWFuIFx1MjAxNCBhIG1hcnF1aXNlIHNhcHBoaXJlIGV5ZSByaW5nZWQgaW4gZGlhbW9uZHMsIHdpdGggbGFzaGVzIG9mIGdvbGQgYW5kIGJlemVsLXNldCBicmlsbGlhbnRzIGJlbmVhdGguIFdvcm4gZm9yIHByb3RlY3Rpb24gc2luY2UgYW50aXF1aXR5OyBtYWRlIHRvIGJlIHdvcm4gZXZlcnkgZGF5LiA0NSBjbSBhZGp1c3RhYmxlIGNoYWluLiJ9LAogImthbHlwc28iOnsibmFtZSI6IkFlZ2VhbiBXYXZlIE5lY2tsYWNlIiwicHJpY2UiOjU4MDAwLCJyZWYiOiJONTQwLTE2IiwibWV0YWwiOiIxOGsgWWVsbG93IEdvbGQiLCJjdCI6IjYuMDAgY3QgXHUwMGI3IFBhdlx1MDBlOSArIE1hcnF1aXNlIiwiZGVzYyI6IlR3byBwYXZcdTAwZTkgd2F2ZXMgY3Jvc3MgYXQgdGhlIHRocm9hdCBhYm92ZSBhIHJpYmJlZCBnb2xkIGNvbGxhciwgbWVldGluZyBhdCBhIHNpbmdsZSBhcnRpY3VsYXRlZCBtYXJxdWlzZSBkaWFtb25kIHRoYXQgbW92ZXMgYXMgeW91IGRvLiBTaXggY2FyYXRzIG9mIGRpYW1vbmRzIFx1MjAxNCBhIHN0YXRlbWVudCBtYWRlIGZvciBiYXJlIHNob3VsZGVycyBhbmQgY2FuZGxlbGlnaHQuIn0sCiAiaGFsY3lvbiI6eyJuYW1lIjoiQWVnZWFuIEN1ZmYgV2F2ZSBSaW5nIiwicHJpY2UiOjY4ODAsInJlZiI6IlI0NzI0OUVNWSIsIm1ldGFsIjoiMThrIFllbGxvdyBHb2xkICYgRW1lcmFsZCIsImN0IjoiMC43MyBjdCBEaWFtb25kcyBcdTAwYjcgMC4yMyBjdCBFbWVyYWxkIiwiZGVzYyI6IkEgY2FsbS13YXRlciBjdWZmIG9mIHBvbGlzaGVkIGdvbGQgdGhhdCBzcGFucyB0d28gZmluZ2VycywgZmx1c2gtc2V0IHdpdGggZHJpZnRpbmcgYnJpbGxpYW50cy4gU2hvd24gd2l0aCBpdHMgYmV6ZWwtc2V0IGVtZXJhbGQgY29tcGFuaW9uIGJhbmQuIn0KfTsKdmFyIEtDQVJUPVtdOwpmdW5jdGlvbiBtb25leShuKXtyZXR1cm4gJyQnK24udG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJyk7fQpmdW5jdGlvbiB2aXNpYmxlSW1ncyhnKXtyZXR1cm4gW10uZmlsdGVyLmNhbGwoZy5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RyYWNrIGltZycpLGZ1bmN0aW9uKGltKXtyZXR1cm4gIWltLmNsYXNzTGlzdC5jb250YWlucygnbWhpZGUnKX0pO30KZnVuY3Rpb24gc2V0TWV0YWwoZyxtKXsKICBbXS5mb3JFYWNoLmNhbGwoZy5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RyYWNrIGltZycpLGZ1bmN0aW9uKGltKXsKICAgIHZhciBtbT1pbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWV0YWwnKTsKICAgIGlmKG1tKWltLmNsYXNzTGlzdC50b2dnbGUoJ21oaWRlJyxtbSE9PW0pOwogIH0pOwogIGluaXRHYWwoZyk7Cn0KZnVuY3Rpb24gaW5pdEdhbChnKXsKICB2YXIgaW1ncz12aXNpYmxlSW1ncyhnKTsKICBbXS5mb3JFYWNoLmNhbGwoZy5xdWVyeVNlbGVjdG9yQWxsKCcuZ3RyYWNrIGltZycpLGZ1bmN0aW9uKGltKXtpbS5jbGFzc0xpc3QucmVtb3ZlKCdvbicpfSk7CiAgaWYoaW1ncy5sZW5ndGgpaW1nc1swXS5jbGFzc0xpc3QuYWRkKCdvbicpOwogIGlmKGltZ3MubGVuZ3RoPDIpe2cuY2xhc3NMaXN0LmFkZCgnc2luZ2xlJyk7cmV0dXJuO30KICBnLmNsYXNzTGlzdC5yZW1vdmUoJ3NpbmdsZScpOwogIHZhciBkb3RzPWcucXVlcnlTZWxlY3RvcignLmdkb3RzJyksaT0wOwogIGRvdHMuaW5uZXJIVE1MPScnOwogIGltZ3MuZm9yRWFjaChmdW5jdGlvbihfLG4pe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO2Iuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywnSW1hZ2UgJysobisxKSk7aWYobj09PTApYi5jbGFzc0xpc3QuYWRkKCdvbicpO2IuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7Z28obil9KTtkb3RzLmFwcGVuZENoaWxkKGIpO30pOwogIGZ1bmN0aW9uIGdvKG4pe2k9KG4raW1ncy5sZW5ndGgpJWltZ3MubGVuZ3RoO2ltZ3MuZm9yRWFjaChmdW5jdGlvbihpbSxrKXtpbS5jbGFzc0xpc3QudG9nZ2xlKCdvbicsaz09PWkpfSk7ZG90cy5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24nKS5mb3JFYWNoKGZ1bmN0aW9uKGIsayl7Yi5jbGFzc0xpc3QudG9nZ2xlKCdvbicsaz09PWkpfSk7fQogIGcucXVlcnlTZWxlY3RvcignLmduYXYucHJldicpLm9uY2xpY2s9ZnVuY3Rpb24oKXtnbyhpLTEpfTsKICBnLnF1ZXJ5U2VsZWN0b3IoJy5nbmF2Lm5leHQnKS5vbmNsaWNrPWZ1bmN0aW9uKCl7Z28oaSsxKX07Cn0KdmFyIGttb2RhbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna21vZGFsJyksa2JvZHk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2twYW5lbC1ib2R5Jyk7CmZ1bmN0aW9uIGtPcGVuKGh0bWwpewogIGtib2R5LmlubmVySFRNTD1odG1sOwogIGttb2RhbC5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7CiAgcGFyZW50LnBvc3RNZXNzYWdlKHtrYXN0ZWxNb2RhbE9wZW46dHJ1ZX0sJyonKTsKICB2YXIgZz1rYm9keS5xdWVyeVNlbGVjdG9yKCcuZ2FsJyk7aWYoZylpbml0R2FsKGcpOwp9CmZ1bmN0aW9uIGtDbG9zZSgpe2ttb2RhbC5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyk7cGFyZW50LnBvc3RNZXNzYWdlKHtr YXN0ZWxNb2RhbE9wZW46ZmFsc2V9LCcqJyk7fQppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2Nsb3NlJykpZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tjbG9zZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxrQ2xvc2UpOwppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2JhY2snKSlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2JhY2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsa0Nsb3NlKTsKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsZnVuY3Rpb24oZSl7aWYoZS5rZXk9PT0nRXNjYXBlJylrQ2xvc2UoKTt9KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLGZ1bmN0aW9uKGUpewogIGlmKGUuZGF0YSYmdHlwZW9mIGUuZGF0YS5rYXN0ZWxNb2RhbFRvcD09PSdudW1iZXInKXsKICAgIGttb2RhbC5zdHlsZS50b3A9TWF0aC5tYXgoMCxlLmRhdGEua2FzdGVsTW9kYWxUb3ApKydweCc7CiAgICBrbW9kYWwuc3R5bGUuaGVpZ2h0PWUuZGF0YS5rYXN0ZWxNb2RhbEgrJ3B4JzsKICB9Cn0pOwpmdW5jdGlvbiBwcm9kdWN0SFRNTChwaWQpewogIHZhciBQPUtQUk9EVUNUU1twaWRdOwogIHZhciBzcmM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtcHJvZD0iJytwaWQrJyJdIC5ndHJhY2snKTsKICB2YXIgaW1ncz1zcmM/c3JjLmlubmVySFRNTDonJzsKICB2YXIgaGFzTWV0YWw9c3JjJiZzcmMucXVlcnlTZWxlY3RvcignaW1nW2RhdGEtbWV0YWxdJyk7CiAgdmFyIGN1cj0ndyc7CiAgaWYoaGFzTWV0YWwpe3ZhciB3aW1nPXNyYy5xdWVyeVNlbGVjdG9yKCdpbWdbZGF0YS1tZXRhbD1cdTAwMjJ3XHUwMDIyXScpO2lmKHdpbWcmJndpbWcuY2xhc3NMaXN0LmNvbnRhaW5zKCdtaGlkZScpKWN1cj0neSc7fQogIHZhciByZWY9UC5yZWY/JzxkaXY+PHNwYW4+UmVmZXJlbmNlPC9zcGFuPjxzcGFuPicrUC5yZWYrJzwvc3Bhbj48L2Rpdj4nOicnOwogIHJldHVybiAnPGRpdiBjbGFzcz0ia2dyaWQiPicKICAgKyc8ZGl2IGNsYXNzPSJmcmFtZSBnYWwiPjxkaXYgY2xhc3M9Imd0cmFjayI+JytpbWdzKyc8L2Rpdj4nCiAgICsnPGJ1dHRvbiBjbGFzcz0iZ25hdiBwcmV2IiBhcmlhLWxhYmVsPSJQcmV2aW91cyBpbWFnZSI+JiM4MjQ5OzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImduYXYgbmV4dCIgYXJpYS1sYWJlbD0iTmV4dCBpbWFnZSI+JiM4MjUwOzwvYnV0dG9uPjxkaXYgY2xhc3M9Imdkb3RzIj48L2Rpdj48L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia2luZm8iPicKICAgKyc8ZGl2IGNsYXNzPSJraWNrZXIiPlRoZSBBZWdlYW4gQ29sbGVjdGlvbjwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrbmFtZSI+JytQLm5hbWUrJzwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrcHJpY2UiPicrbW9uZXkoUC5wcmljZSkrJzwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrZGVzYyI+JytQLmRlc2MrJzwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrbWV0YSI+PGRpdj48c3Bhbj5NZXRhbDwvc3Bhbj48c3Bhbj4nK1AubWV0YWwrJzwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuPkRpYW1vbmRzPC9zcGFuPjxzcGFuPicrUC5jdCsnPC9zcGFuPjwvZGl2PicrcmVmKyc8L2Rpdj4nCiAgICsoaGFzTWV0YWw/JzxkaXYgY2xhc3M9ImttZXRhbCI+PGJ1dHRvbiBjbGFzcz0ia21ldGFsYnRuJysoY3VyPT09J3cnPycgb24nOicnKSsnIiBkYXRhLW1ldGFsLWNob2ljZT0idyI+V2hpdGUgR29sZDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImttZXRhbGJ0bicrKGN1cj09PSd5Jz8nIG9uJzonJykrJyIgZGF0YS1tZXRhbC1jaG9pY2U9InkiPlllbGxvdyBHb2xkPC9idXR0b24+PC9kaXY+JzonJykKICAgKyc8YnV0dG9uIGNsYXNzPSJrYWRkIiBkYXRhLWFkZD0iJytwaWQrJyI+QWRkIHRvIENhcnQgJm5ic3A7XHUwMGI3Jm5ic3A7ICcrbW9uZXkoUC5wcmljZSkrJzwvYnV0dG9uPicKICAgKyc8ZGl2IGNsYXNzPSJrbm90ZXMiPk1hZGUgdG8gb3JkZXIgaW4gM1x1MjAxMzQgd2Vla3MgXHUwMGI3IENvbXBsaW1lbnRhcnkgaW5zdXJlZCBzaGlwcGluZyAmYW1wOyAzMC1kYXkgcmV0dXJucyBcdTAwYjcgR0lBLWdyYWRlZCwgcmVzcG9uc2libHkgc291cmNlZCBkaWFtb25kcyBcdTAwYjcgS2FzdGVsIGxpZmV0aW1lIGd1YXJhbnRlZTwvZGl2PicKICAgKyc8L2Rpdj48L2Rpdj4nOwp9CmZ1bmN0aW9uIHNpdGVPcmlnaW4oKXt0cnl7cmV0dXJuIHBhcmVudC5sb2NhdGlvbi5vcmlnaW47fWNhdGNoKGUpe3JldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luO319CmZ1bmN0aW9uIGJvb2tpbmdIVE1MKCl7CiAgdmFyIGQ9bmV3IERhdGUoKTt2YXIgaXNvPWQuZ2V0RnVsbFllYXIoKSsnLScrU3RyaW5nKGQuZ2V0TW9udGgoKSsxKS5wYWRTdGFydCgyLCcwJykrJy0nK1N0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwnMCcpOwogIHZhciBwaWVjZXM9T2JqZWN0LmtleXMoS1BST0RVQ1RTKS5tYXAoZnVuY3Rpb24oayl7cmV0dXJuICc8b3B0aW9uIHZhbHVlPSInK0tQUk9EVUNUU1trXS5uYW1lKyciPicrS1BST0RVQ1RTW2tdLm5hbWUrJzwvb3B0aW9uPid9KS5qb2luKCcnKTsKICB2YXIgdGltZXM9WycxMDowMCBBTScsJzExOjMwIEFNJywnMTowMCBQTScsJzI6MzAgUE0nLCc0OjAwIFBNJywnNTozMCBQTSddLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gJzxvcHRpb24gdmFsdWU9IicrdCsnIj4nK3QrJzwvb3B0aW9uPid9KS5qb2luKCcnKTsKICByZXR1cm4gJzxkaXYgY2xhc3M9Imtib29rLWdyaWQiPicKICAgKyc8ZGl2IGNsYXNzPSJrYm9vay1zaWRlIj4nCiAgICsnPGRpdiBjbGFzcz0ia2lja2VyIj5Qcml2YXRlIEFwcG9pbnRtZW50czwvZGl2PicKICAgKyc8aDM+QW4gaG91ciB3aXRoIHRoZSBBZWdlYW4sIGRldm90ZWQgZW50aXJlbHkgdG8geW91PC9oMz4nCiAgICsnPHA+TWVldCB0aGUgY29sbGVjdGlvbiBwaWVjZSBieSBwaWVjZSB3aXRoIGEgS2FzdGVsIHNwZWNpYWxpc3QgXHUyMDE0IHRyeSBldmVyeXRoaW5nIG9uLCBleHBsb3JlIHNpemluZyBhbmQgbWV0 YWxzLCBhbmQgdGFrZSBhbGwgdGhlIHRpbWUgeW91IG5lZWQuPC9wPicKICAgKyc8dWw+PGxpPkNvbXBsaW1lbnRhcnksIG5vIG9ibGlnYXRpb248L2xpPjxsaT5JbiBwZXJzb24gb3IgdmlydHVhbDwvbGk+PGxpPkNoYW1wYWduZSBvbiBhcnJpdmFsPC9saT48L3VsPicKICAgKyc8ZGl2IGNsYXNzPSJrYWRkciI+VGhlIEthc3RlbCBBdGVsaWVyIFx1MDBiNyBIaWdobGFuZCBQYXJrLCBJbGxpbm9pczwvZGl2PicKICAgKyc8L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia2luZm8iPicKICAgKyc8ZGl2IGNsYXNzPSJrbmFtZSIgc3R5bGU9ImZvbnQtc2l6ZToyNnB4OyI+Qm9vayBhIFByaXZhdGUgVmlld2luZzwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrZm9ybSI+JwogICArJzxkaXYgY2xhc3M9Imtyb3ciPjxkaXY+PGxhYmVsIGZvcj0ia2ItbmFtZSI+TmFtZTwvbGFiZWw+PGlucHV0IGlkPSJrYi1uYW1lIiB0eXBlPSJ0ZXh0IiBhdXRvY29tcGxldGU9Im5hbWUiPjwvZGl2PicKICAgKyc8ZGl2PjxsYWJlbCBmb3I9ImtiLWVtYWlsIj5FbWFpbDwvbGFiZWw+PGlucHV0IGlkPSJrYi1lbWFpbCIgdHlwZT0iZW1haWwiIGF1dG9jb21wbGV0ZT0iZW1haWwiPjwvZGl2PjwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrcm93Ij48ZGl2PjxsYWJlbCBmb3I9ImtiLXBob25lIj5QaG9uZSAob3B0aW9uYWwpPC9sYWJlbD48aW5wdXQgaWQ9ImtiLXBob25lIiB0eXBlPSJ0ZWwiIGF1dG9jb21wbGV0ZT0idGVsIj48L2Rpdj4nCiAgICsnPGRpdj48bGFiZWwgZm9yPSJrYi10eXBlIj5BcHBvaW50bWVudCB0eXBlPC9sYWJlbD48c2VsZWN0IGlkPSJrYi10eXBlIj48b3B0aW9uIHZhbHVlPSJJbiBwZXJzb24gYXQgdGhlIGF0ZWxpZXIiPkluIHBlcnNvbiBhdCB0aGUgYXRlbGllcjwvb3B0aW9uPjxvcHRpb24gdmFsdWU9IlZpcnR1YWwgYXBwb2ludG1lbnQiPlZpcnR1YWwgYXBwb2ludG1lbnQ8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2Rpdj4nCiAgICsnPGRpdj48bGFiZWwgZm9yPSJrYi1waWVjZSI+UGllY2Ugb2YgaW50ZXJlc3Q8L2xhYmVsPjxzZWxlY3QgaWQ9ImtiLXBpZWNlIj48b3B0aW9uIHZhbHVlPSJUaGUgZnVsbCBjb2xsZWN0aW9uIj5UaGUgZnVsbCBjb2xsZWN0aW9uPC9vcHRpb24+JytwaWVjZXMrJzwvc2VsZWN0PjwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJrcm93Ij48ZGl2PjxsYWJlbCBmb3I9ImtiLWRhdGUiPlByZWZlcnJlZCBkYXRlPC9sYWJlbD48aW5wdXQgaWQ9ImtiLWRhdGUiIHR5cGU9ImRhdGUiIG1pbj0iJytpc28rJyI+PC9kaXY+JwogICArJzxkaXY+PGxhYmVsIGZvcj0ia2ItdGltZSI+UHJlZmVycmVkIHRpbWU8L2xhYmVsPjxzZWxlY3QgaWQ9ImtiLXRpbWUiPicrdGltZXMrJzwvc2VsZWN0PjwvZGl2PjwvZGl2PicKICAgKyc8ZGl2PjxsYWJlbCBmb3I9ImtiLW1zZyI+QW55dGhpbmcgd2Ugc2hvdWxkIGtub3c/IChvcHRpb25hbCk8L2xhYmVsPjx0ZXh0YXJlYSBpZD0ia2ItbXNnIj48L3RleHRhcmVhPjwvZGl2PicKICAgKyc8ZGl2IGNsYXNzPSJraHAiPjxsYWJlbCBmb3I9ImtiLWNvbXBhbnkiPkNvbXBhbnk8L2xhYmVsPjxpbnB1dCBpZD0ia2ItY29tcGFueSIgdHlwZT0idGV4dCIgdGFiaW5kZXg9Ii0xIiBhdXRvY29tcGxldGU9Im9mZiI+PC9kaXY+JwogICArJzxkaXYgY2xhc3M9ImtlcnIiIGlkPSJrYi1lcnIiPlBsZWFzZSBhZGQgeW91ciBuYW1lLCBhIHZhbGlkIGVtYWlsIGFkZHJlc3MsIGFuZCBhIHByZWZlcnJlZCBkYXRlLjwvZGl2PicKICAgKyc8YnV0dG9uIGNsYXNzPSJrYWRkIiBpZD0ia2Jvb2stc2VuZCI+UmVxdWVzdCBBcHBvaW50bWVudDwvYnV0dG9uPicKICAgKyc8L2Rpdj4nCiAgICsnPGRpdiBjbGFzcz0ia25vdGVzIj5BIHNwZWNpYWxpc3QgY29uZmlybXMgd2l0aGluIG9uZSBidXNpbmVzcyBkYXkgXHUwMGI3IFByZWZlciBlbWFpbD8gbXJlc3NAa2FzdGVsamV3ZWxyeS5jb208L2Rpdj4nCiAgICsnPC9kaXY+PC9kaXY+JzsKfQpmdW5jdGlvbiBib29raW5nU2VuZChidG4pewogIHZhciB2PWZ1bmN0aW9uKGlkKXt2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO3JldHVybiBlbD9lbC52YWx1ZTonJzt9OwogIHZhciBuYW1lPXYoJ2tiLW5hbWUnKSxlbWFpbD12KCdrYi1lbWFpbCcpLHBob25lPXYoJ2tiLXBob25lJyksdHlwZT12KCdrYi10eXBlJyksCiAgICAgIHBpZWNlPXYoJ2tiLXBpZWNlJyksZGF0ZT12KCdrYi1kYXRlJyksdGltZT12KCdrYi10aW1lJyksbXNnPXYoJ2tiLW1zZycpLGhwPXYoJ2tiLWNvbXBhbnknKTsKICB2YXIgZXJyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrYi1lcnInKTsKICBpZighbmFtZS50cmltKCl8fCEvXlteXHNAXStAW15cc0BdK1wuW15cc0BdKyQvLnRlc3QoZW1haWwpfHwhZGF0ZSl7aWYoZXJyKWVyci5zdHlsZS5kaXNwbGF5PSdibG9jayc7cmV0dXJuO30KICBpZihlcnIpZXJyLnN0eWxlLmRpc3BsYXk9J25vbmUnOwogIGJ0bi5kaXNhYmxlZD10cnVlO2J0bi50ZXh0Q29udGVudD0nU2VuZGluZ1x1MjAyNic7CiAgdmFyIGZkPW5ldyBGb3JtRGF0YSgpOwogIGZkLmFwcGVuZCgnYWN0aW9uJywna2FzdGVsX3ZpZXdpbmcnKTsKICBmZC5hcHBlbmQoJ25hbWUnLG5hbWUpO2ZkLmFwcGVuZCgnZW1haWwnLGVtYWlsKTtmZC5hcHBlbmQoJ3Bob25lJyxwaG9uZSk7CiAgZmQuYXBwZW5kKCd0eXBlJyx0eXBlKTtmZC5hcHBlbmQoJ3BpZWNlJyxwaWVjZSk7CiAgZmQuYXBwZW5kKCdkYXRlJyxkYXRlKTtmZC5hcHBlbmQoJ3RpbWUnLHRpbWUpO2ZkLmFwcGVuZCgnbWVzc2FnZScsbXNnKTtmZC5hcHBlbmQoJ2NvbXBhbnknLGhwKTsKICBmZXRjaChzaXRlT3JpZ2luKCkrJy93cC1hZG1pbi9hZG1pbi1hamF4LnBocCcse21ldGhvZDonUE9TVCcsYm9keTpmZH0pCiAgICAudGhlbihmdW5jdGlvbihyKXtpZighci5vayl0aHJvdyBuZXcgRXJyb3IoJ2h0dHAgJytyLnN0YXR1cyk7cmV0dXJuIHIuanNvbigpO30pCiAgICAudGhlbihmdW5jdGlvbihqKXsKICAgICAgaWYoaiYmai5zdWNjZXNzPT09 ZmFsc2UpdGhyb3cgbmV3IEVycm9yKCdzZXJ2ZXInKTsKICAgICAga2JvZHkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJraW5mbyIgc3R5bGU9InBhZGRpbmc6NjBweCA0NHB4O3RleHQtYWxpZ246Y2VudGVyOyI+PGRpdiBjbGFzcz0ia2lja2VyIj5UaGFuayB5b3U8L2Rpdj48ZGl2IGNsYXNzPSJrbmFtZSI+WW91ciByZXF1ZXN0IGhhcyBiZWVuIHJlY2VpdmVkPC9kaXY+PGRpdiBjbGFzcz0ia2Rlc2MiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7Ij5BIEthc3RlbCBzcGVjaWFsaXN0IHdpbGwgYmUgaW4gdG91Y2ggd2l0aGluIG9uZSBidXNpbmVzcyBkYXkgdG8gY29uZmlybSB5b3VyIHByaXZhdGUgdmlld2luZyBvbiAnK2RhdGUrJyBhdCAnK3RpbWUrJy48L2Rpdj48L2Rpdj4nOwogICAgfSkKICAgIC5jYXRjaChmdW5jdGlvbihlKXsKICAgICAgY29uc29sZS5lcnJvcignS0FTVEVMIGJvb2tpbmc6JyxlKTsKICAgICAgdmFyIG1haWw9J21haWx0bzptcmVzc0BrYXN0ZWxqZXdlbHJ5LmNvbT9zdWJqZWN0PScrZW5jb2RlVVJJQ29tcG9uZW50KCdQcml2YXRlIFZpZXdpbmcgUmVxdWVzdCBcdTIwMTQgJytuYW1lKQogICAgICAgICsnJmJvZHk9JytlbmNvZGVVUklDb21wb25lbnQoJ05hbWU6ICcrbmFtZSsnXG5FbWFpbDogJytlbWFpbCsnXG5QaG9uZTogJytwaG9uZSsnXG5UeXBlOiAnK3R5cGUrJ1xuUGllY2Ugb2YgaW50ZXJlc3Q6ICcrcGllY2UrJ1xuUHJlZmVycmVkOiAnK2RhdGUrJyBhdCAnK3RpbWUrJ1xuXG4nK21zZyk7CiAgICAgIGtib2R5LmlubmVySFRNTD0nPGRpdiBjbGFzcz0ia2luZm8iIHN0eWxlPSJwYWRkaW5nOjYwcHggNDRweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxkaXYgY2xhc3M9ImtpY2tlciI+QWxtb3N0IHRoZXJlPC9kaXY+PGRpdiBjbGFzcz0ia25hbWUiPk9uZSBtb3JlIHN0ZXA8L2Rpdj48ZGl2IGNsYXNzPSJrZGVzYyIgc3R5bGU9Im1hcmdpbi10b3A6MTZweDsiPldlIGNvdWxkblx1MjAxOXQgc2VuZCB5b3VyIHJlcXVlc3QgYXV0b21hdGljYWxseS4gVGFwIGJlbG93IGFuZCB5b3VyIGVtYWlsIGFwcCB3aWxsIG9wZW4gd2l0aCBldmVyeXRoaW5nIHByZS1maWxsZWQgXHUyMDE0IGp1c3QgcHJlc3Mgc2VuZC48L2Rpdj48YSBjbGFzcz0iYnRuIGRhcmsiIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7IiBocmVmPSInK21haWwrJyI+RW1haWwgWW91ciBSZXF1ZXN0PC9hPjwvZGl2Pic7CiAgICB9KTsKfQpmdW5jdGlvbiBib29raW5nU2VuZChidG4pewogIHZhciBuYW1lPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2ItbmFtZScpfHx7fSkudmFsdWV8fCcnOwogIHZhciBlbWFpbD0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tiLWVtYWlsJyl8fHt9KS52YWx1ZXx8Jyc7CiAgdmFyIHBob25lPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2ItcGhvbmUnKXx8e30pLnZhbHVlfHwnJzsKICB2YXIgZGF0ZT0oZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tiLWRhdGUnKXx8e30pLnZhbHVlfHwnJzsKICB2YXIgbXNnPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2ItbXNnJyl8fHt9KS52YWx1ZXx8Jyc7CiAgdmFyIGhwPShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgna2ItY29tcGFueScpfHx7fSkudmFsdWV8fCcnOwogIHZhciBlcnI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tiLWVycicpOwogIGlmKCFuYW1lLnRyaW0oKXx8IS9eW15cc0BdK0BbXlxzQF0rXC5bXlxzQF0rJC8udGVzdChlbWFpbCkpe2lmKGVycillcnIuc3R5bGUuZGlzcGxheT0nYmxvY2snO3JldHVybjt9CiAgaWYoZXJyKWVyci5zdHlsZS5kaXNwbGF5PSdub25lJzsKICBidG4uZGlzYWJsZWQ9dHJ1ZTtidG4udGV4dENvbnRlbnQ9J1NlbmRpbmdcdTIwMjYnOwogIHZhciBmZD1uZXcgRm9ybURhdGEoKTsKICBmZC5hcHBlbmQoJ2FjdGlvbicsJ2thc3RlbF92aWV3aW5nJyk7CiAgZmQuYXBwZW5kKCduYW1lJyxuYW1lKTtmZC5hcHBlbmQoJ2VtYWlsJyxlbWFpbCk7ZmQuYXBwZW5kKCdwaG9uZScscGhvbmUpOwogIGZkLmFwcGVuZCgnZGF0ZScsZGF0ZSk7ZmQuYXBwZW5kKCdtZXNzYWdlJyxtc2cpO2ZkLmFwcGVuZCgnY29tcGFueScsaHApOwogIGZldGNoKHNpdGVPcmlnaW4oKSsnL3dwLWFkbWluL2FkbWluLWFqYXgucGhwJyx7bWV0aG9kOidQT1NUJyxib2R5OmZkfSkKICAgIC50aGVuKGZ1bmN0aW9uKHIpe2lmKCFyLm9rKXRocm93IG5ldyBFcnJvcignaHR0cCAnK3Iuc3RhdHVzKTtyZXR1cm4gci5qc29uKCk7fSkKICAgIC50aGVuKGZ1bmN0aW9uKGopewogICAgICBpZihqJiZqLnN1Y2Nlc3M9PT1mYWxzZSl0aHJvdyBuZXcgRXJyb3IoJ3NlcnZlcicpOwogICAgICBrYm9keS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImtpbmZvIiBzdHlsZT0icGFkZGluZzo2MHB4IDQ0cHg7dGV4dC1hbGlnbjpjZW50ZXI7Ij48ZGl2IGNsYXNzPSJraWNrZXIiPlRoYW5rIHlvdTwvZGl2PjxkaXYgY2xhc3M9ImtuYW1lIj5Zb3VyIHJlcXVlc3QgaGFzIGJlZW4gcmVjZWl2ZWQ8L2Rpdj48ZGl2IGNsYXNzPSJrZGVzYyIgc3R5bGU9Im1hcmdpbi10b3A6MTZweDsiPkEgS2FzdGVsIHNwZWNpYWxpc3Qgd2lsbCBiZSBpbiB0b3VjaCB3aXRoaW4gb25lIGJ1c2luZXNzIGRheSB0byBjb25maXJtIHlvdXIgcHJpdmF0ZSB2aWV3aW5nLjwvZGl2PjwvZGl2Pic7CiAgICB9KQogICAgLmNhdGNoKGZ1bmN0aW9uKGUpewogICAgICBjb25zb2xlLmVycm9yKCdLQVNURUwgYm9va2luZzonLGUpOwogICAgICB2YXIgbWFpbD0nbWFpbHRvOm1yZXNzQGthc3RlbGpld2VscnkuY29tP3N1YmplY3Q9JytlbmNvZGVVUklDb21wb25lbnQoJ1ByaXZhdGUgVmlld2luZyBSZXF1ZXN0IFx1MjAxNCAnK25hbWUpCiAgICAgICAgKycmYm9keT0nK2VuY29kZVVSSUNvbXBvbmVudCgnTmFtZTogJytuYW1lKydcbkVtYWlsOiAnK2VtYWlsKydcblBob25lOiAnK3Bob25lKydcblByZWZlcnJlZCBkYXRlOiAnK2RhdGUrJ1xuXG4nK21zZyk7CiAgICAgIGtib2R5LmlubmVySFRNTD0nPGRpdiBj bGFzcz0ia2luZm8iIHN0eWxlPSJwYWRkaW5nOjYwcHggNDRweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxkaXYgY2xhc3M9ImtpY2tlciI+QWxtb3N0IHRoZXJlPC9kaXY+PGRpdiBjbGFzcz0ia25hbWUiPk9uZSBtb3JlIHN0ZXA8L2Rpdj48ZGl2IGNsYXNzPSJrZGVzYyIgc3R5bGU9Im1hcmdpbi10b3A6MTZweDsiPldlIGNvdWxkblx1MjAxOXQgc2VuZCB5b3VyIHJlcXVlc3QgYXV0b21hdGljYWxseS4gVGFwIGJlbG93IGFuZCB5b3VyIGVtYWlsIGFwcCB3aWxsIG9wZW4gd2l0aCBldmVyeXRoaW5nIHByZS1maWxsZWQgXHUyMDE0IGp1c3QgcHJlc3Mgc2VuZC48L2Rpdj48YSBjbGFzcz0iYnRuIGRhcmsiIHN0eWxlPSJtYXJnaW4tdG9wOjEwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7IiBocmVmPSInK21haWwrJyI+RW1haWwgWW91ciBSZXF1ZXN0PC9hPjwvZGl2Pic7CiAgICB9KTsKfQpmdW5jdGlvbiBjYXJ0SFRNTCgpewogIGlmKCFLQ0FSVC5sZW5ndGgpe3JldHVybiAnPGRpdiBjbGFzcz0ia2luZm8iIHN0eWxlPSJwYWRkaW5nOjYwcHggNDRweDt0ZXh0LWFsaWduOmNlbnRlcjsiPjxkaXYgY2xhc3M9ImtuYW1lIj5Zb3VyIGNhcnQgaXMgZW1wdHk8L2Rpdj48ZGl2IGNsYXNzPSJrZGVzYyIgc3R5bGU9Im1hcmdpbi10b3A6MTRweDsiPkV2ZXJ5IEFlZ2VhbiBwaWVjZSBpcyBtYWRlIHRvIG9yZGVyIGluIHRoZSBLYXN0ZWwgYXRlbGllci48L2Rpdj48L2Rpdj4nO30KICB2YXIgcm93cz1LQ0FSVC5tYXAoZnVuY3Rpb24ocGlkLGkpe3ZhciBQPUtQUk9EVUNUU1twaWRdOwogICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJrY2FydC1yb3ciPjxzcGFuIGNsYXNzPSJuIj4nK1AubmFtZSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4nK21vbmV5KFAucHJpY2UpKyc8L3NwYW4+PGJ1dHRvbiBkYXRhLXJtPSInK2krJyI+UmVtb3ZlPC9idXR0b24+PC9kaXY+Jzt9KS5qb2luKCcnKTsKICB2YXIgdG90YWw9S0NBUlQucmVkdWNlKGZ1bmN0aW9uKHMscGlkKXtyZXR1cm4gcytLUFJPRFVDVFNbcGlkXS5wcmljZX0sMCk7CiAgcmV0dXJuICc8ZGl2IGNsYXNzPSJraW5mbyI+PGRpdiBjbGFzcz0ia2lja2VyIj5Zb3VyIENhcnQ8L2Rpdj4nK3Jvd3MKICAgKyc8ZGl2IGNsYXNzPSJrdG90YWwiPjxzcGFuPlN1YnRvdGFsPC9zcGFuPjxzcGFuPicrbW9uZXkodG90YWwpKyc8L3NwYW4+PC9kaXY+JwogICArJzxidXR0b24gY2xhc3M9ImthZGQiIGRhdGEtY2hlY2tvdXQ9IjEiPlByb2NlZWQgdG8gQ2hlY2tvdXQ8L2J1dHRvbj4nCiAgICsnPGRpdiBjbGFzcz0ia25vdGVzIj5UYXhlcyBhbmQgYW55IGR1dGllcyBhcmUgY2FsY3VsYXRlZCBhdCBjaGVja291dC48L2Rpdj48L2Rpdj4nOwp9CmZ1bmN0aW9uIHVwZGF0ZUNvdW50KCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2tjYXJ0LW4nKS50ZXh0Q29udGVudD1LQ0FSVC5sZW5ndGg7fQp2YXIgdG9hc3RUPW51bGw7CmZ1bmN0aW9uIHRvYXN0KG1zZyl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2t0b2FzdCcpO3QudGV4dENvbnRlbnQ9bXNnO3Quc3R5bGUuZGlzcGxheT0nYmxvY2snO3Quc3R5bGUudG9wPShwYXJzZUludChrbW9kYWwuc3R5bGUudG9wfHwwKSsyNCkrJ3B4JztjbGVhclRpbWVvdXQodG9hc3RUKTt0b2FzdFQ9c2V0VGltZW91dChmdW5jdGlvbigpe3Quc3R5bGUuZGlzcGxheT0nbm9uZSd9LDIyMDApO30KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGV2KXsKICB2YXIgdD1ldi50YXJnZXQ7CiAgdmFyIG1iPXQuY2xvc2VzdD90LmNsb3Nlc3QoJ1tkYXRhLW1ldGFsLWNob2ljZV0nKTpudWxsOwogIGlmKG1iKXsKICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgd3JhcD1tYi5jbG9zZXN0KCcua2dyaWQnKXx8bWIuY2xvc2VzdCgnLmZlYXR1cmVkLWdyaWQnKTsKICAgIHZhciBnPXdyYXA/d3JhcC5xdWVyeVNlbGVjdG9yKCcuZ2FsJyk6bnVsbDsKICAgIGlmKGcpc2V0TWV0YWwoZyxtYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWV0YWwtY2hvaWNlJykpOwogICAgdmFyIHNpYnM9bWIucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZXRhbC1jaG9pY2VdJyk7CiAgICBbXS5mb3JFYWNoLmNhbGwoc2licyxmdW5jdGlvbihiKXtiLmNsYXNzTGlzdC50b2dnbGUoJ29uJyxiPT09bWIpfSk7CiAgICByZXR1cm47CiAgfQogIHZhciBiaz10LmNsb3Nlc3Q/dC5jbG9zZXN0KCdbZGF0YS1ib29rXScpOm51bGw7CiAgaWYoYmspe2V2LnByZXZlbnREZWZhdWx0KCk7a09wZW4oYm9va2luZ0hUTUwoKSk7cmV0dXJuO30KICBpZih0LmlkPT09J2tib29rLXNlbmQnKXtldi5wcmV2ZW50RGVmYXVsdCgpO2Jvb2tpbmdTZW5kKHQpO3JldHVybjt9CiAgdmFyIHBpZEVsPXQuY2xvc2VzdD90LmNsb3Nlc3QoJ1tkYXRhLXBpZF0nKTpudWxsOwogIGlmKHBpZEVsKXtldi5wcmV2ZW50RGVmYXVsdCgpO2tPcGVuKHByb2R1Y3RIVE1MKHBpZEVsLmdldEF0dHJpYnV0ZSgnZGF0YS1waWQnKSkpO3JldHVybjt9CiAgaWYodC5pZD09PSdrY2FydC1vcGVuJyl7ZXYucHJldmVudERlZmF1bHQoKTtrT3BlbihjYXJ0SFRNTCgpKTtyZXR1cm47fQogIGlmKHQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZSgnZGF0YS1hZGQnKSl7CiAgICBLQ0FSVC5wdXNoKHQuZ2V0QXR0cmlidXRlKCdkYXRhLWFkZCcpKTt1cGRhdGVDb3VudCgpOwogICAgdC5jbGFzc0xpc3QuYWRkKCdhZGRlZCcpO3QuaW5uZXJIVE1MPSdBZGRlZCB0byBDYXJ0IFx1MjcxMyc7CiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7a09wZW4oY2FydEhUTUwoKSk7fSw5MDApOwogICAgcmV0dXJuOwogIH0KICBpZih0LmdldEF0dHJpYnV0ZSYmdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtcm0nKSl7CiAgICBLQ0FSVC5zcGxpY2UocGFyc2VJbnQodC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcm0nKSwxMCksMSk7dXBkYXRlQ291bnQoKTtrT3BlbihjYXJ0SFRNTCgpKTtyZXR1cm47CiAgfQogIHZhciBmcj10LmNsb3Nlc3Q/dC5jbG9zZXN0KCdbZGF0YS1wcm9kXSAu ZnJhbWUsIFtkYXRhLXByb2RdIC5wbmFtZScpOm51bGw7CiAgaWYoZnIgJiYgISh0LmNsb3Nlc3QmJih0LmNsb3Nlc3QoJy5nbmF2Jyl8fHQuY2xvc2VzdCgnLmdkb3RzJyl8fHQuY2xvc2VzdCgnYScpfHx0LmNsb3Nlc3QoJ1tkYXRhLW1ldGFsLWNob2ljZV0nKSkpKXsKICAgIHZhciBjYXJkPWZyLmNsb3Nlc3QoJ1tkYXRhLXByb2RdJyk7CiAgICB2YXIgcHA9Y2FyZD9jYXJkLmdldEF0dHJpYnV0ZSgnZGF0YS1wcm9kJyk6bnVsbDsKICAgIGlmKHBwJiZLUFJPRFVDVFNbcHBdKXtldi5wcmV2ZW50RGVmYXVsdCgpO2tPcGVuKHByb2R1Y3RIVE1MKHBwKSk7cmV0dXJuO30KICB9CiAgaWYodC5nZXRBdHRyaWJ1dGUmJnQuaGFzQXR0cmlidXRlKCdkYXRhLWNoZWNrb3V0JykpewogICAga2JvZHkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJraW5mbyIgc3R5bGU9InBhZGRpbmc6NjBweCA0NHB4O3RleHQtYWxpZ246Y2VudGVyOyI+PGRpdiBjbGFzcz0ia2lja2VyIj5BbG1vc3QgdGhlcmU8L2Rpdj48ZGl2IGNsYXNzPSJrbmFtZSI+U2VjdXJlIGNoZWNrb3V0IGlzIGNvbWluZyBzb29uPC9kaXY+PGRpdiBjbGFzcz0ia2Rlc2MiIHN0eWxlPSJtYXJnaW4tdG9wOjE2cHg7Ij5UbyBjb21wbGV0ZSB5b3VyIG9yZGVyIHRvZGF5LCBjb250YWN0IHRoZSBhdGVsaWVyIGFuZCBhIEthc3RlbCBzcGVjaWFsaXN0IHdpbGwgZmluYWxpemUgZXZlcnl0aGluZyBwZXJzb25hbGx5IFx1MjAxNCBpbmNsdWRpbmcgc2l6aW5nIGFuZCBlbmdyYXZpbmcuPC9kaXY+PGEgY2xhc3M9ImJ0biBkYXJrIiBzdHlsZT0ibWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIgaHJlZj0ibWFpbHRvOm1yZXNzQGthc3RlbGpld2VscnkuY29tIj5Db250YWN0IHRoZSBBdGVsaWVyPC9hPjwvZGl2Pic7CiAgICByZXR1cm47CiAgfQp9LHRydWUpOwovLyBzYWZlIGxpbmsgaGFuZGxpbmcgKHByZXZlbnRzIGFib3V0OmJsYW5rIG5hdmlnYXRpb25zIGZyb20gaW5zaWRlIHNyY2RvYykKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGV2KXsKICB2YXIgYT1ldi50YXJnZXQuY2xvc2VzdD9ldi50YXJnZXQuY2xvc2VzdCgnYScpOm51bGw7CiAgaWYoIWEpcmV0dXJuOwogIHZhciBocmVmPWEuZ2V0QXR0cmlidXRlKCdocmVmJyl8fCcnOwogIGlmKGhyZWY9PT0nJ3x8aHJlZj09PScjJyl7ZXYucHJldmVudERlZmF1bHQoKTtyZXR1cm47fQogIGlmKGhyZWYuY2hhckF0KDApPT09JyMnKXsKICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaHJlZi5zbGljZSgxKSk7CiAgICBpZihlbCl7cGFyZW50LnBvc3RNZXNzYWdlKHtrYXN0ZWxTY3JvbGw6ZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wK3dpbmRvdy5wYWdlWU9mZnNldH0sJyonKTt9CiAgICByZXR1cm47CiAgfQogIGlmKC9eaHR0cHM/Oi9pLnRlc3QoaHJlZikpe2V2LnByZXZlbnREZWZhdWx0KCk7dHJ5e3dpbmRvdy50b3AubG9jYXRpb24uaHJlZj1ocmVmO31jYXRjaChlKXt3aW5kb3cub3BlbihocmVmLCdfYmxhbmsnKTt9fQp9LHRydWUpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==