PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KPHRpdGxlPlRoZSBJbnN0YWxsU21hcnRseSBDb25jaWVyZ2UgLSBzZWUgaG93IGl0IHdvcmtzPC90aXRsZT4KPHN0eWxlPgpAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1JbnRlcjp3Z2h0QDQwMDs1MDA7NjAwOzcwMCZmYW1pbHk9SW50ZXIrVGlnaHQ6d2dodEA1MDA7NjAwOzcwMDs4MDAmZmFtaWx5PUdlaXN0K01vbm86d2dodEA0MDA7NTAwJmRpc3BsYXk9c3dhcCcpOwoKOnJvb3QgewogIC0tcGFwZXI6I0ZCRkNGRTsgLS1wYXBlci0yOiNGMkY1RkE7IC0tcnVsZTojRTRFOUYyOyAtLXJ1bGUtMjojRDZEQ0U3OwogIC0taW5rOiMwNzEwMUY7IC0taW5rLTI6IzFBMjc0MDsgLS1zdGVlbDojNUM2Qjg1OyAtLXN0ZWVsLTI6IzhBOTVBODsKICAtLWhhbG86IzRGOENGRjsgLS1oYWxvLTI6IzZGQTdGRjsgLS1oYWxvLWRlZXA6IzJDNUJFMDsgLS1oYWxvLXNvZnQ6I0RDRThGRjsKICAtLWlyaS1hOiNCMTlCRkY7IC0taXJpLWI6IzZGQTdGRjsgLS1pcmktYzojOTJFNUZGOyAtLWlyaS1kOiNGRkM5RTY7CiAgLS1vazojMjJDNThCOwp9CiosKjo6YmVmb3JlLCo6OmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveH0KaHRtbCxib2R5e21hcmdpbjowO3BhZGRpbmc6MH0KYm9keXsKICBiYWNrZ3JvdW5kOnZhcigtLXBhcGVyKTsgY29sb3I6dmFyKC0taW5rKTsKICBmb250LWZhbWlseTonSW50ZXInLHN5c3RlbS11aSxzYW5zLXNlcmlmOwogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7IGxldHRlci1zcGFjaW5nOi0uMDFlbTsgbGluZS1oZWlnaHQ6MS41OwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczoic3MwMSIsImN2MTEiOwp9CmF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX0KLnNoZWxse21heC13aWR0aDoxMjQwcHg7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjAgMzJweH0KQG1lZGlhIChtYXgtd2lkdGg6MTEwMHB4KXsuc2hlbGx7cGFkZGluZzowIDI4cHh9fQpAbWVkaWEgKG1heC13aWR0aDo3NjBweCl7LnNoZWxse3BhZGRpbmc6MCAyMHB4fX0KCi8qIE5BViAqLwpuYXZ7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6NTA7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7CiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTsKICBiYWNrZ3JvdW5kOnJnYmEoMjUxLDI1MiwyNTQsLjcpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXJ1bGUpfQoubmF2LWlubmVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxNnB4IDB9Ci5icmFuZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4fQouYnJhbmQtdGV4dHtmb250LWZhbWlseTonSW50ZXIgVGlnaHQnO2ZvbnQtc2l6ZToxOXB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAyNWVtfQouYnJhbmQtdGV4dCAuaW5zdGFsbHtmb250LXdlaWdodDo1MDB9LmJyYW5kLXRleHQgLnNtYXJ0bHl7Zm9udC13ZWlnaHQ6NzAwfQoubmF2LWxpbmtze2Rpc3BsYXk6ZmxleDtnYXA6MzJweDthbGlnbi1pdGVtczpjZW50ZXJ9CkBtZWRpYSAobWF4LXdpZHRoOjc2MHB4KXsubmF2LWxpbmtze2dhcDoxOHB4fS5uYXYtbGlua3MgYTpub3QoLm5hdi1jdGEpe2Rpc3BsYXk6bm9uZX19Ci5uYXYtbGlua3MgYXtmb250LXNpemU6MTRweDtjb2xvcjp2YXIoLS1pbmstMik7Zm9udC13ZWlnaHQ6NTAwfQoubmF2LWxpbmtzIGE6aG92ZXJ7Y29sb3I6dmFyKC0taGFsby1kZWVwKX0KLm5hdi1saW5rcyBhLmlzLWFjdGl2ZXtjb2xvcjp2YXIoLS1oYWxvLWRlZXApfQoubmF2LWN0YXtiYWNrZ3JvdW5kOnZhcigtLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpICFpbXBvcnRhbnQ7cGFkZGluZzoxMHB4IDE4cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo2MDB9Ci5uYXYtY3RhOmhvdmVye2JhY2tncm91bmQ6dmFyKC0taGFsby1kZWVwKX0KCi8qIEhFUk8gKi8KLmhlcm97cGFkZGluZzo5NnB4IDAgNTZweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9Ci5oZXJvOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTMwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTsKICB3aWR0aDoxMDAwcHg7aGVpZ2h0OjcwMHB4OwogIGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UscmdiYSgxNzcsMTU1LDI1NSwuMTYpLHJnYmEoMTExLDE2NywyNTUsLjEwKSAzNSUsdHJhbnNwYXJlbnQgNjUlKTsKICBmaWx0ZXI6Ymx1cigyMHB4KTtwb2ludGVyLWV2ZW50czpub25lfQouZXllYnJvd3tmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMXB4O2xldHRlci1zcGFjaW5nOi4xOGVtOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1oYWxvLWRlZXApOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWFyZ2luOjAgMCAyMnB4fQouZXllYnJvdyAuZG90e3dpZHRoOjdweDtoZWlnaHQ6N3B4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0taGFsbyk7CiAgYm94LXNoYWRvdzowIDAgMCA0cHggcmdiYSg3OSwxNDAsMjU1LC4xOCk7YW5pbWF0aW9uOnB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlfQpAa2V5ZnJhbWVzIHB1bHNlezAlLDEwMCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi40fX0KLmgtaDF7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOmNsYW1wKDQwcHgsNnZ3LDcycHgpO2xldHRlci1zcGFjaW5nOi0uMDRlbTtsaW5lLWhlaWdodDoxLjAyOwogIG1hcmdpbjowIGF1dG8gMjJweDttYXgtd2lkdGg6OTIwcHh9Ci5oLWgxIC5ncmFke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1pcmktYSksdmFyKC0taGFsbyksdmFyKC0taXJpLWMpKTsKICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fQouaC1zdWJ7Zm9udC1zaXplOjE5cHg7Y29sb3I6dmFyKC0taW5rLTIpO21heC13aWR0aDo2NDBweDttYXJnaW46MCBhdXRvIDMycHg7bGluZS1oZWlnaHQ6MS41fQouaC1tZXRhe2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNHB4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7CiAgYmFja2dyb3VuZDp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXJ1bGUpO2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo4cHggMTZweDsKICBmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1pbmstMil9Ci5oLW1ldGEgc3Ryb25ne2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo1MDB9Ci5oLW1ldGEgLnNlcHt3aWR0aDozcHg7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXJ1bGUtMil9CgovKiBJTkRFWCAqLwouaW5kZXgtcm93e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKTtnYXA6MTRweDttYXJnaW46NDhweCAwIDB9CkBtZWRpYSAobWF4LXdpZHRoOjEwMDBweCl7LmluZGV4LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX19CkBtZWRpYSAobWF4LXdpZHRoOjU2MHB4KXsuaW5kZXgtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9fQouaWR4e2Rpc3BsYXk6ZmxleDtnYXA6MTRweDtiYWNrZ3JvdW5kOndoaXRlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcnVsZSk7CiAgYm9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6MThweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAxNjBtcyBlYXNlfQouaWR4OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1oYWxvKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX0KLmlkeC1udW17Zm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS1zdGVlbCk7CiAgYmFja2dyb3VuZDp2YXIoLS1wYXBlci0yKTtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXJhZGl1czo2cHg7CiAgYWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2xldHRlci1zcGFjaW5nOi4wNGVtfQouaWR4LW5hbWV7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE0cHg7bGV0dGVyLXNwYWNpbmc6LS4wMTVlbTttYXJnaW46MCAwIDRweH0KLmlkeC1ke2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXN0ZWVsKTtsaW5lLWhlaWdodDoxLjQ7bWFyZ2luOjB9CgovKiBTRUNUSU9OIENIUk9NRSAqLwouc2VjdHtwYWRkaW5nOjk2cHggMDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ydWxlKTtwb3NpdGlvbjpyZWxhdGl2ZX0KQG1lZGlhIChtYXgtd2lkdGg6NzYwcHgpey5zZWN0e3BhZGRpbmc6NjRweCAwfX0KLnNlY3QtaGVhZHttYXgtd2lkdGg6NzIwcHg7bWFyZ2luOjAgMCA0MHB4fQouc2VjdC1leWVicm93e2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjE4ZW07CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWhhbG8tZGVlcCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW46MCAwIDE4cHh9Ci5zZWN0LW51bXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogIHdpZHRoOjIycHg7aGVpZ2h0OjIycHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1pbmspO2NvbG9yOnZhcigtLXBhcGVyKTsKICBmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6MDtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlfQouc2VjdC1oe2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTpjbGFtcCgzMnB4LDQuNXZ3LDUycHgpO2xldHRlci1zcGFjaW5nOi0uMDM1ZW07bGluZS1oZWlnaHQ6MS4wNDttYXJnaW46MCAwIDE4cHh9Ci5zZWN0LWggLmdyYWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWlyaS1hKSx2YXIoLS1oYWxvKSx2YXIoLS1pcmktYykpOwogIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7YmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9Ci5zZWN0LWxlZGV7Zm9udC1zaXplOjE3cHg7Y29sb3I6dmFyKC0taW5rLTIpO2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luOjA7bWF4LXdpZHRoOjYwMHB4fQoKLyogVklERU8gUVVPVEUgKi8KLnZpZGVvLXN0YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1wYXBlcikgMCUsdmFyKC0tcGFwZXItMikgMTAwJSk7CiAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ydWxlKTtib3JkZXItcmFkaXVzOjMycHg7cGFkZGluZzo0MHB4OwogIGRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS4xZnIgMWZyO2dhcDo0MHB4O2FsaWduLWl0ZW1zOnN0cmV0Y2h9CkBtZWRpYSAobWF4LXdpZHRoOjEwMDBweCl7LnZpZGVvLXN0YWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7cGFkZGluZzoyNHB4O2JvcmRlci1yYWRpdXM6MjJweH19CgouZHJvcHpvbmV7CiAgYmFja2dyb3VuZDp3aGl0ZTtib3JkZXI6MS41cHggZGFzaGVkIHZhcigtLXJ1bGUtMik7Ym9yZGVyLXJhZGl1czoyMnB4OwogIHBhZGRpbmc6MzJweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogIG1pbi1oZWlnaHQ6MzgwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgMjAwbXMgZWFzZTsKICBwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXIKfQouZHJvcHpvbmU6aG92ZXIsLmRyb3B6b25lLmlzLWRyYWd7Ym9yZGVyLWNvbG9yOnZhcigtLWhhbG8pO2JhY2tncm91bmQ6cmdiYSgyMjAsMjMyLDI1NSwuMyl9Ci5kcm9wem9uZS5pcy1hY3RpdmV7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1oYWxvKTsKICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsd2hpdGUscmdiYSgyMjAsMjMyLDI1NSwuNCkpfQouZHotaWNvbnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6MThweDsKICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0taXJpLWEpLHZhcigtLWhhbG8pKTsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbToxOHB4OwogIGJveC1zaGFkb3c6MCAxMnB4IDMwcHggLTEycHggcmdiYSg3OSwxNDAsMjU1LC41KX0KLmR6LWljb24gc3Zne3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Y29sb3I6d2hpdGV9Ci5kei1oe2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxOHB4O2xldHRlci1zcGFjaW5nOi0uMDJlbTttYXJnaW46MCAwIDhweH0KLmR6LWR7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tc3RlZWwpO21heC13aWR0aDoyODBweDttYXJnaW46MCAwIDE4cHg7bGluZS1oZWlnaHQ6MS40NX0KLmR6LWJ0bntiYWNrZ3JvdW5kOnZhcigtLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpO2JvcmRlcjowO3BhZGRpbmc6MTBweCAxOHB4OwogIGJvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEzcHg7Y3Vyc29yOnBvaW50ZXJ9Ci5kei1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1oYWxvLWRlZXApfQouZHotZmluZXttYXJnaW4tdG9wOjE0cHg7Zm9udC1zaXplOjExcHg7Y29sb3I6dmFyKC0tc3RlZWwtMik7Zm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTsKICBsZXR0ZXItc3BhY2luZzouMDRlbTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9Ci5kei1maW5lIC5sb2Nre3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9CgovKiBQcml2YWN5IGNoaXAgKi8KLnByaXZhY3l7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDsKICBiYWNrZ3JvdW5kOnJnYmEoMzQsMTk3LDEzOSwuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDM0LDE5NywxMzksLjI1KTsKICBjb2xvcjojMTE3YTU1O2JvcmRlci1yYWRpdXM6OTk5cHg7cGFkZGluZzo2cHggMTJweDsKICBmb250LXNpemU6MTFweDtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2xldHRlci1zcGFjaW5nOi4wNmVtOwogIG1hcmdpbi1ib3R0b206MThweH0KLnByaXZhY3kgLnB1bHNle3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzIyQzU4QjsKICBhbmltYXRpb246cHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9CgovKiBBbmFseXNpcyBwYW5lbCAqLwouYW5hbHlzaXN7YmFja2dyb3VuZDp2YXIoLS1pbmspO2NvbG9yOnZhcigtLXBhcGVyKTtib3JkZXItcmFkaXVzOjIycHg7CiAgcGFkZGluZzoyOHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE4cHg7CiAgcG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO21pbi1oZWlnaHQ6MzgwcHh9Ci5hbmFseXNpczo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDsKICBiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCg1MCUgNDAlIGF0IDEwMCUgMCUscmdiYSgxNzcsMTU1LDI1NSwuMTgpLHRyYW5zcGFyZW50KTsKICBwb2ludGVyLWV2ZW50czpub25lfQouYW5hbHlzaXM+Kntwb3NpdGlvbjpyZWxhdGl2ZX0KLmFuLWhlYWR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweH0KLmFuLWV5ZWJyb3d7Zm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouMmVtOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1oYWxvLTIpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0KLmFuLWV5ZWJyb3cgLmR7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1oYWxvKTsKICBhbmltYXRpb246cHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9Ci5hbi1tb2RlbHtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4wNmVtOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjU1KX0KLmFuLW1vZGVsIC5saXZle2NvbG9yOiM1RUZGQjg7Zm9udC13ZWlnaHQ6NTAwfQoKLnRyYW5zY3JpcHR7ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7bWluLWhlaWdodDoyMDBweDsKICBmb250LXNpemU6MTMuNXB4O2xpbmUtaGVpZ2h0OjEuNTV9Ci50ci1saW5le29wYWNpdHk6MDthbmltYXRpb246dHItaW4gLjRzIGVhc2UgZm9yd2FyZHM7CiAgZGlzcGxheTpmbGV4O2dhcDoxMHB4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Ci50ci1saW5lLmlzLWRldGVjdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSl9Ci50ci1saW5lLmlzLXRoaW5re2NvbG9yOnZhcigtLWhhbG8tMik7Zm9udC1zdHlsZTppdGFsaWN9Ci50ci1saW5lIC5iYWRnZXtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZTo5cHg7bGV0dGVyLXNwYWNpbmc6LjEyZW07CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xKTsKICBwYWRkaW5nOjNweCA3cHg7Ym9yZGVyLXJhZGl1czo1cHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNik7CiAgZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjFweH0KQGtleWZyYW1lcyB0ci1pbntmcm9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19CgouYW4tcXVvdGV7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgYm9yZGVyLXJhZGl1czoxNnB4O3BhZGRpbmc6MThweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4fQouYW4tcXVvdGUtbHtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4xOGVtOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0KLmFuLXF1b3RlLXZ7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjMwcHg7bGV0dGVyLXNwYWNpbmc6LS4wMjVlbX0KLmFuLXF1b3RlLXYgLmRhc2h7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCk7bWFyZ2luOjAgNHB4O2ZvbnQtd2VpZ2h0OjQwMH0KLmFuLXF1b3RlLXR5cHtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjU1KX0KLmFuLWNvbmZpZGVuY2V7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW4tdG9wOjZweDsKICBmb250LXNpemU6MTJweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0KLmNmLWJhcntmbGV4OjE7aGVpZ2h0OjRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTtib3JkZXItcmFkaXVzOjJweDtvdmVyZmxvdzpoaWRkZW59Ci5jZi1maWxse2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWlyaS1hKSx2YXIoLS1oYWxvKSx2YXIoLS1pcmktYykpOwogIHdpZHRoOjA7dHJhbnNpdGlvbjp3aWR0aCA4MDBtcyBlYXNlfQouY2YtcGN0e2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjExcHg7Y29sb3I6d2hpdGU7Zm9udC13ZWlnaHQ6NTAwfQouYW4tYWN0e2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2ZsZXgtd3JhcDp3cmFwfQouYW4tYnRue2JhY2tncm91bmQ6dmFyKC0tcGFwZXIpO2NvbG9yOnZhcigtLWluayk7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4OwogIHBhZGRpbmc6MTBweCAxNnB4O2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxM3B4O2N1cnNvcjpwb2ludGVyOwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0KLmFuLWJ0bi5naG9zdHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA4KTtjb2xvcjp2YXIoLS1wYXBlcil9Ci5hbi1idG4gLmFycntmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtd2VpZ2h0OjQwMH0KCi5lbXB0eS1hbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogIGZsZXg6MTt0ZXh0LWFsaWduOmNlbnRlcjtnYXA6OHB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfQouZW1wdHktYW4gLmlje3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoxNHB4OwogIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0KLmVtcHR5LWFuIGg0e2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNXB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTttYXJnaW46MH0KLmVtcHR5LWFuIHB7Zm9udC1zaXplOjEyLjVweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40NSk7bWFyZ2luOjA7bWF4LXdpZHRoOjI0MHB4O2xpbmUtaGVpZ2h0OjEuNDV9CgovKiBXQUxMIEFOTk9UQVRPUiAqLwoud2FsbC1zdGFnZXtiYWNrZ3JvdW5kOnZhcigtLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpO2JvcmRlci1yYWRpdXM6MzJweDsKICBwYWRkaW5nOjQwcHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuOwogIGRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MS40ZnIgMWZyO2dhcDozNnB4O2FsaWduLWl0ZW1zOnN0cmV0Y2h9CkBtZWRpYSAobWF4LXdpZHRoOjEwMDBweCl7LndhbGwtc3RhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nOjI0cHg7Ym9yZGVyLXJhZGl1czoyMnB4fX0KLndhbGwtc3RhZ2U6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7CiAgYmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoNjAlIDUwJSBhdCAwJSAwJSxyZ2JhKDE3NywxNTUsMjU1LC4xNCksdHJhbnNwYXJlbnQgNjAlKSwKICAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudCg2MCUgNTAlIGF0IDEwMCUgMTAwJSxyZ2JhKDE0NiwyMjksMjU1LC4xMCksdHJhbnNwYXJlbnQgNjAlKTsKICBwb2ludGVyLWV2ZW50czpub25lfQoud2FsbC1zdGFnZT4qe3Bvc2l0aW9uOnJlbGF0aXZlfQoud2FsbC1jYW52YXN7YmFja2dyb3VuZDojMWQyNzM4O2JvcmRlci1yYWRpdXM6MjJweDthc3BlY3QtcmF0aW86NC8zO3Bvc2l0aW9uOnJlbGF0aXZlOwogIG92ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OjAgMzBweCA2MHB4IC0zMHB4IHJnYmEoMCwwLDAsLjYpfQoud2FsbC1iZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjYmZiMjljIDAlLCNhOTlhODIgNjAlLCM4ZDdlNjkgMTAwJSk7CiAgYmFja2dyb3VuZC1pbWFnZToKICAgIHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMGRlZyxyZ2JhKDAsMCwwLC4wNCkgMCAxcHgsdHJhbnNwYXJlbnQgMXB4IDIwcHgpLAogICAgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMCwwLC4wNCkgMCAxcHgsdHJhbnNwYXJlbnQgMXB4IDIwcHgpLAogICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMzAlIDQwJSxyZ2JhKDI1NSwyNTUsMjQwLC4xNSksdHJhbnNwYXJlbnQgNTAlKSwKICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsI2M4YmFhMyAwJSwjYTk5YTgyIDYwJSwjOGQ3ZTY5IDEwMCUpfQoud2FsbC1mbG9vcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6MTglOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjM2EyZDIyLCMyNDE5MTApfQoud2FsbC1vdXRsZXR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kOiNmMGViZTE7Ym9yZGVyOjFweCBzb2xpZCAjOGE3ZDZhO2JvcmRlci1yYWRpdXM6MnB4fQoud2FsbC1vdXRsZXQ6OmJlZm9yZSwud2FsbC1vdXRsZXQ6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7CiAgd2lkdGg6MnB4O2hlaWdodDo1cHg7YmFja2dyb3VuZDojM2EyZDIyO2JvcmRlci1yYWRpdXM6MXB4fQoud2FsbC1vdXRsZXQ6OmJlZm9yZXt0b3A6NXB4fS53YWxsLW91dGxldDo6YWZ0ZXJ7Ym90dG9tOjVweH0KCi8qIFRWIG91dGxpbmUgKi8KLnR2LW91dGxpbmV7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1pcmktYyk7Ym9yZGVyLXJhZGl1czo2cHg7CiAgY3Vyc29yOmdyYWI7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMyksMCA4cHggMzBweCAtOHB4IHJnYmEoMTQ2LDIyOSwyNTUsLjUpOwogIGJhY2tncm91bmQ6cmdiYSg3LDE2LDMxLC40NSk7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogIHRyYW5zaXRpb246Ym94LXNoYWRvdyAxNjBtcyBlYXNlfQoudHYtb3V0bGluZS5pcy1kcmFne2N1cnNvcjpncmFiYmluZztib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4zKSwwIDAgMCA0cHggcmdiYSgxNDYsMjI5LDI1NSwuMjUpLDAgMTJweCA0MHB4IC04cHggcmdiYSgxNDYsMjI5LDI1NSwuNil9Ci50di1sYWJlbHtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4xMmVtOwogIGNvbG9yOnZhcigtLWlyaS1jKTtiYWNrZ3JvdW5kOnJnYmEoNywxNiwzMSwuNyk7cGFkZGluZzo0cHggOHB4O2JvcmRlci1yYWRpdXM6NHB4fQoudHYtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZDp2YXIoLS1pcmktYyk7CiAgYm9yZGVyOjEuNXB4IHNvbGlkICMwNzEwMUY7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOm53c2UtcmVzaXplfQoudHYtaGFuZGxlLnRse3RvcDotNXB4O2xlZnQ6LTVweDtjdXJzb3I6bndzZS1yZXNpemV9Ci50di1oYW5kbGUudHJ7dG9wOi01cHg7cmlnaHQ6LTVweDtjdXJzb3I6bmVzdy1yZXNpemV9Ci50di1oYW5kbGUuYmx7Ym90dG9tOi01cHg7bGVmdDotNXB4O2N1cnNvcjpuZXN3LXJlc2l6ZX0KLnR2LWhhbmRsZS5icntib3R0b206LTVweDtyaWdodDotNXB4O2N1cnNvcjpud3NlLXJlc2l6ZX0KCi8qIEFubm90YXRpb25zICovCi5zdHVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbToxOCU7d2lkdGg6MXB4OwogIGJhY2tncm91bmQ6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwZGVnLCM1RUZGQjggMCA2cHgsdHJhbnNwYXJlbnQgNnB4IDEwcHgpOwogIG9wYWNpdHk6MDthbmltYXRpb246ZmFkZUluIDQwMG1zIGVhc2UgZm9yd2FyZHN9Ci5zdHVkLWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDtsZWZ0OjZweDtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlOwogIGZvbnQtc2l6ZTo5cHg7Y29sb3I6IzVFRkZCODtsZXR0ZXItc3BhY2luZzouMDZlbTsKICBiYWNrZ3JvdW5kOnJnYmEoNywxNiwzMSwuNyk7cGFkZGluZzoycHggNXB4O2JvcmRlci1yYWRpdXM6M3B4O3doaXRlLXNwYWNlOm5vd3JhcH0KLmNhYmxlLXBhdGh7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0taXJpLWEpO2JvcmRlci1yYWRpdXM6NHB4OwogIG9wYWNpdHk6MDthbmltYXRpb246ZmFkZUluIDYwMG1zIDIwMG1zIGVhc2UgZm9yd2FyZHN9Ci5jYWJsZS1se3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjlweDsKICBjb2xvcjp2YXIoLS1pcmktYSk7bGV0dGVyLXNwYWNpbmc6LjA2ZW07YmFja2dyb3VuZDpyZ2JhKDcsMTYsMzEsLjcpO3BhZGRpbmc6MnB4IDVweDtib3JkZXItcmFkaXVzOjNweDt3aGl0ZS1zcGFjZTpub3dyYXB9CkBrZXlmcmFtZXMgZmFkZUlue2Zyb217b3BhY2l0eTowfXRve29wYWNpdHk6MX19Cgoud2FsbC1vdmVybGF5LXRvZ2dsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtyaWdodDoxNnB4O2Rpc3BsYXk6ZmxleDtnYXA6NnB4OwogIGJhY2tncm91bmQ6cmdiYSg3LDE2LDMxLC43KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMHB4KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpOwogIGJvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjRweDtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4wNmVtfQoud29sLWJ0bntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2JvcmRlcjowO3BhZGRpbmc6NnB4IDEwcHg7CiAgYm9yZGVyLXJhZGl1czo2cHg7Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0fQoud29sLWJ0bi5pcy1vbntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEyKTtjb2xvcjp3aGl0ZX0KCi53YWxsLWluZm97ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweH0KLndpLWl0ZW17YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4wOCk7CiAgYm9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MTZweH0KLndpLWx7Zm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MTBweDtsZXR0ZXItc3BhY2luZzouMTZlbTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7bWFyZ2luLWJvdHRvbTo2cHh9Ci53aS12e2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNnB4O2xldHRlci1zcGFjaW5nOi0uMDE1ZW19Ci53aS12LnRhZ3tjb2xvcjojNUVGRkI4fQoud2ktdi50YWctMntjb2xvcjp2YXIoLS1pcmktYSl9Ci53aS12LnRhZy0ze2NvbG9yOnZhcigtLWlyaS1jKX0KCi8qIFNNQVJUTFkgVk9JQ0UgKi8KLnZvaWNlLXN0YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1wYXBlcikgMCUsdmFyKC0tcGFwZXItMikgMTAwJSk7CiAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ydWxlKTtib3JkZXItcmFkaXVzOjMycHg7cGFkZGluZzo0OHB4OwogIGRpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDEuMmZyO2dhcDo0OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59CkBtZWRpYSAobWF4LXdpZHRoOjEwMDBweCl7LnZvaWNlLXN0YWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7cGFkZGluZzoyOHB4O2JvcmRlci1yYWRpdXM6MjJweH19Ci52b2ljZS1zdGFnZTo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zMCU7cmlnaHQ6LTEwJTsKICB3aWR0aDo2MDBweDtoZWlnaHQ6NjAwcHg7CiAgYmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMTc3LDE1NSwyNTUsLjEyKSx0cmFuc3BhcmVudCA2MCUpOwogIGZpbHRlcjpibHVyKDIwcHgpO3BvaW50ZXItZXZlbnRzOm5vbmV9Ci52b2ljZS1zdGFnZT4qe3Bvc2l0aW9uOnJlbGF0aXZlfQoKLnBob25lLWRpc3BsYXl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9Ci5kaWFsLXJpbmd7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjgwcHg7aGVpZ2h0OjI4MHB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0KLmRpYWwtcmluZyAucntwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MS41cHggc29saWQgdmFyKC0taGFsbyk7b3BhY2l0eTouNH0KLmRpYWwtcmluZyAuci5yMXtpbnNldDowO2FuaW1hdGlvbjpyaW5nT3V0IDIuNHMgZWFzZS1vdXQgaW5maW5pdGV9Ci5kaWFsLXJpbmcgLnIucjJ7aW5zZXQ6MDthbmltYXRpb246cmluZ091dCAyLjRzIDgwMG1zIGVhc2Utb3V0IGluZmluaXRlfQouZGlhbC1yaW5nIC5yLnIze2luc2V0OjA7YW5pbWF0aW9uOnJpbmdPdXQgMi40cyAxNjAwbXMgZWFzZS1vdXQgaW5maW5pdGV9CkBrZXlmcmFtZXMgcmluZ091dHswJXt0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6Ljd9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKTtvcGFjaXR5OjB9fQouZGlhbC1jb3Jle3dpZHRoOjE2MHB4O2hlaWdodDoxNjBweDtib3JkZXItcmFkaXVzOjUwJTsKICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0taXJpLWEpLHZhcigtLWhhbG8pLHZhcigtLWlyaS1jKSk7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOndoaXRlOwogIGJveC1zaGFkb3c6MCAzMHB4IDYwcHggLTIwcHggcmdiYSg3OSwxNDAsMjU1LC40KX0KLmRpYWwtY29yZSBzdmd7d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0KLnBob25lLW51bXttYXJnaW4tdG9wOjIycHg7Zm9udC1mYW1pbHk6J0dlaXN0IE1vbm8nLG1vbm9zcGFjZTtmb250LXNpemU6MThweDsKICBsZXR0ZXItc3BhY2luZzouMDRlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0taW5rKX0KLnBob25lLXN0YXR1c3ttYXJnaW4tdG9wOjhweDtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMXB4OwogIGxldHRlci1zcGFjaW5nOi4xNmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1oYWxvLWRlZXApOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHh9Ci5waG9uZS1zdGF0dXMgLmR7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1oYWxvKTsKICBhbmltYXRpb246cHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9Cgoudm9pY2UtaW5mb3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoyNHB4fQoudmktc3RhdC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpO2dhcDoxMnB4fQoudmktc3RhdHtiYWNrZ3JvdW5kOndoaXRlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcnVsZSk7Ym9yZGVyLXJhZGl1czoxNHB4O3BhZGRpbmc6MTRweH0KLnZpLXN0YXQtdntmb250LWZhbWlseTonSW50ZXIgVGlnaHQnO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjRweDtsZXR0ZXItc3BhY2luZzotLjAyZW07Y29sb3I6dmFyKC0taW5rKX0KLnZpLXN0YXQtbHtmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4xMmVtOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1zdGVlbCk7bWFyZ2luLXRvcDo0cHh9Cgoudm9pY2UtdHJ7YmFja2dyb3VuZDp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXJ1bGUpO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjIwcHg7CiAgZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDttaW4taGVpZ2h0OjI0MHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNX0KLnZ0e2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O29wYWNpdHk6MDthbmltYXRpb246dHItaW4gLjM1cyBlYXNlIGZvcndhcmRzfQoudnQtcntmb250LWZhbWlseTonR2Vpc3QgTW9ubycsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi4wNmVtOwogIGNvbG9yOnZhcigtLXN0ZWVsKTtiYWNrZ3JvdW5kOnZhcigtLXBhcGVyLTIpO3BhZGRpbmc6M3B4IDhweDtib3JkZXItcmFkaXVzOjVweDsKICBmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0KLnZ0LnVzZXIgLnZ0LXJ7YmFja2dyb3VuZDpyZ2JhKDc5LDE0MCwyNTUsLjEpO2NvbG9yOnZhcigtLWhhbG8tZGVlcCl9Ci52dC10ZXh0e2ZsZXg6MX0KLnZ0LXRleHQgc3Ryb25ne2ZvbnQtd2VpZ2h0OjYwMH0KLnZvaWNlLWNvbnRyb2xze2Rpc3BsYXk6ZmxleDtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXB9Ci52Yy1idG57YmFja2dyb3VuZDp2YXIoLS1pbmspO2NvbG9yOnZhcigtLXBhcGVyKTtib3JkZXI6MDtwYWRkaW5nOjExcHggMThweDtib3JkZXItcmFkaXVzOjk5OXB4OwogIGZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxM3B4O2N1cnNvcjpwb2ludGVyOwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0KLnZjLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWhhbG8tZGVlcCl9Ci52Yy1idG4uZ2hvc3R7YmFja2dyb3VuZDp3aGl0ZTtjb2xvcjp2YXIoLS1pbmspO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcnVsZSl9Ci52Yy1idG4uZ2hvc3Q6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWluayl9Ci52Yy1tZXRhe2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXN0ZWVsKX0KCi8qIFJFQ0FQICovCi5yZWNhcC1zdGFnZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzBFMTcyNiAwJSwjMDcxMDFGIDEwMCUpO2NvbG9yOnZhcigtLXBhcGVyKTsKICBib3JkZXItcmFkaXVzOjMycHg7cGFkZGluZzo0OHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDEuMWZyO2dhcDozNnB4OwogIHBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KQG1lZGlhIChtYXgtd2lkdGg6MTAwMHB4KXsucmVjYXAtc3RhZ2V7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtwYWRkaW5nOjI4cHg7Ym9yZGVyLXJhZGl1czoyMnB4fX0KLnJlY2FwLXN0YWdlOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogIGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KDYwJSA1MCUgYXQgMTAwJSAwJSxyZ2JhKDE3NywxNTUsMjU1LC4xNCksdHJhbnNwYXJlbnQgNjAlKTsKICBwb2ludGVyLWV2ZW50czpub25lfQoucmVjYXAtc3RhZ2U+Kntwb3NpdGlvbjpyZWxhdGl2ZX0KCi8qIFBob25lIHByZXZpZXcgKi8KLnBob25lLWZyYW1le21hcmdpbjowIGF1dG87d2lkdGg6MjgwcHg7YmFja2dyb3VuZDojMWQyNzM4O2JvcmRlci1yYWRpdXM6MzZweDtwYWRkaW5nOjhweDsKICBib3gtc2hhZG93OjAgMzBweCA2MHB4IC0yMHB4IHJnYmEoMCwwLDAsLjYpLGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4wNil9Ci5waG9uZS1zY3JlZW57YmFja2dyb3VuZDojZmJmY2ZlO2JvcmRlci1yYWRpdXM6MjhweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6dmFyKC0taW5rKX0KLnBzLWJhcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMHB4IDE4cHggNHB4OwogIGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0taW5rKX0KLnBzLXZpZHthc3BlY3QtcmF0aW86OS8xNjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzNhMmQyMiAwJSwjMWExMjA5IDEwMCUpOwogIHBvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0KLnBzLXZpZDo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowOwogIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCA2MCUscmdiYSgwLDAsMCwuNikpfQoucHMtdHZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjE4JTtsZWZ0OjE4JTtyaWdodDoxOCU7Ym90dG9tOjQyJTtiYWNrZ3JvdW5kOiMwMDA7CiAgYm9yZGVyOjNweCBzb2xpZCAjMmEyMjE4O2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCA4cHggMjBweCAtOHB4IHJnYmEoMCwwLDAsLjYpfQoucHMtdHY6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjglOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMGQyYTRhLCMxYTNhNmEpO2JvcmRlci1yYWRpdXM6MXB4fQoucHMtY2Fwe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtyaWdodDoxNHB4O2JvdHRvbTo2MHB4OwogIGZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjExcHg7Y29sb3I6d2hpdGU7bGV0dGVyLXNwYWNpbmc6LjA0ZW07CiAgdGV4dC1zaGFkb3c6MCAycHggOHB4IHJnYmEoMCwwLDAsLjYpO2xpbmUtaGVpZ2h0OjEuNH0KLnBzLWNhcCAuc3BlYWtlcntmb250LXNpemU6OXB4O2xldHRlci1zcGFjaW5nOi4xOGVtO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjY1KTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Ci5wcy1wbGF5e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOwogIHdpZHRoOjU0cHg7aGVpZ2h0OjU0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45NSk7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfQoucHMtcGxheSBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtjb2xvcjp2YXIoLS1pbmspO21hcmdpbi1sZWZ0OjNweH0KLnBzLXByb2dyZXNze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtyaWdodDoxNHB4O2JvdHRvbToxNHB4O2hlaWdodDozcHg7CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtib3JkZXItcmFkaXVzOjJweDtvdmVyZmxvdzpoaWRkZW59Ci5wcy1wcm9ncmVzczo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2JvdHRvbTowO3dpZHRoOjM0JTsKICBiYWNrZ3JvdW5kOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O2FuaW1hdGlvbjpwcm9nIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlfQpAa2V5ZnJhbWVzIHByb2d7MCV7d2lkdGg6MH01MCV7d2lkdGg6NjAlfTEwMCV7d2lkdGg6MH19Ci5wcy1mb290e3BhZGRpbmc6MTRweCAxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7CiAgYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tcnVsZSl9Ci5wcy1mb290IC5hdnt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6NTAlOwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1pcmktYSksdmFyKC0taGFsbykpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjsKICBjb2xvcjp3aGl0ZTtmb250LWZhbWlseTonSW50ZXIgVGlnaHQnO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTFweH0KLnBzLWZvb3QgLndob3tmb250LXNpemU6MTFweDtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0taW5rKX0KLnBzLWZvb3QgLm1ldGF7Zm9udC1zaXplOjEwcHg7Y29sb3I6dmFyKC0tc3RlZWwpfQoKLnJlY2FwLXBhbmVse2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjE4cHh9Ci5ycC1leWVicm93e2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6LjE4ZW07CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWhhbG8tMik7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4fQoucnAtZXllYnJvdyAuZHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiM1RUZGQjg7YW5pbWF0aW9uOnB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlfQoucnAtaHtmb250LWZhbWlseTonSW50ZXIgVGlnaHQnO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjRweDtsZXR0ZXItc3BhY2luZzotLjAyNWVtOwogIG1hcmdpbjowO2NvbG9yOndoaXRlO2xpbmUtaGVpZ2h0OjEuMn0KLnJwLWxpc3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4OwogIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDYpO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW59Ci5ycC1yb3d7cGFkZGluZzoxNHB4IDE2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7CiAgYmFja2dyb3VuZDpyZ2JhKDcsMTYsMzEsLjQpO2ZvbnQtc2l6ZToxMy41cHg7bGluZS1oZWlnaHQ6MS41O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KX0KLnJwLXJvdyAuaWN7ZmxleC1zaHJpbms6MDt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2NvbG9yOiM1RUZGQjg7bWFyZ2luLXRvcDoycHh9Ci5ycC1yb3cgc3Ryb25ne2NvbG9yOndoaXRlfQoucnAtZG9je2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpOwogIGJvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjE0cHggMTZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4fQoucnAtZG9jLWlje3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxMHB4OwogIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1pcmktYSksdmFyKC0taGFsbykpOwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp3aGl0ZX0KLnJwLWRvYy1pYyBzdmd7d2lkdGg6MThweDtoZWlnaHQ6MThweH0KLnJwLWRvYy1oe2ZvbnQtZmFtaWx5OidJbnRlciBUaWdodCc7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOndoaXRlO2xldHRlci1zcGFjaW5nOi0uMDFlbX0KLnJwLWRvYy1ke2ZvbnQtc2l6ZToxMS41cHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNTUpO2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2V9Ci5ycC1wcml2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6MTEuNXB4OwogIGNvbG9yOnJnYmEoOTQsMjU1LDE4NCwuODUpO2ZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2U7bGV0dGVyLXNwYWNpbmc6LjA0ZW19CgovKiBDT05ORUNUSU5HIC8gRk9PVEVSICovCi50aGVzaXN7cGFkZGluZzo5NnB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tcnVsZSl9Ci50aGVzaXMtaHtmb250LWZhbWlseTonSW50ZXIgVGlnaHQnO2ZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6Y2xhbXAoMjhweCw0dncsNDJweCk7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0uMDI1ZW07CiAgbWF4LXdpZHRoOjg4MHB4O21hcmdpbjowIGF1dG87Y29sb3I6dmFyKC0taW5rLTIpfQoudGhlc2lzLWggZW17Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6dmFyKC0taW5rKTtmb250LXdlaWdodDo2MDB9Ci50aGVzaXMtaCAuZ3JhZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0taXJpLWEpLHZhcigtLWhhbG8pLHZhcigtLWlyaS1jKSk7CiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXdlaWdodDo2MDB9Ci50aGVzaXMtY3Rhe21hcmdpbi10b3A6MzZweDtkaXNwbGF5OmlubGluZS1mbGV4O2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Ci5idG4tcHtiYWNrZ3JvdW5kOnZhcigtLWluayk7Y29sb3I6dmFyKC0tcGFwZXIpO3BhZGRpbmc6MTRweCAyNHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7CiAgZm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0KLmJ0bi1wOmhvdmVye2JhY2tncm91bmQ6dmFyKC0taGFsby1kZWVwKX0KLmJ0bi1ne3BhZGRpbmc6MTRweCAyNHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0Jztmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7CiAgYm9yZGVyOjFweCBzb2xpZCB2YXIoLS1ydWxlLTIpO2JhY2tncm91bmQ6d2hpdGV9Ci5idG4tZzpob3Zlcntib3JkZXItY29sb3I6dmFyKC0taW5rKX0KCmZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ydWxlKTtwYWRkaW5nOjQwcHggMDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS1zdGVlbCk7dGV4dC1hbGlnbjpjZW50ZXJ9Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8IS0tIE5BViAtLT4KPG5hdj4KICA8ZGl2IGNsYXNzPSJzaGVsbCBuYXYtaW5uZXIiPgogICAgPGEgY2xhc3M9ImJyYW5kIiBocmVmPSJ3ZWJzaXRlLmh0bWwiPgogICAgICA8c3ZnIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDEyMCAxMjAiPgogICAgICAgIDxyZWN0IHg9IjE0IiB5PSIxNCIgd2lkdGg9IjkyIiBoZWlnaHQ9IjkyIiByeD0iMzIiIHJ5PSIzMiIgZmlsbD0iIzA3MTAxRiIvPgogICAgICAgIDxjaXJjbGUgY3g9IjYwIiBjeT0iNjAiIHI9IjIwIiBmaWxsPSJub25lIiBzdHJva2U9IiNGQkZDRkUiIHN0cm9rZS13aWR0aD0iMS42IiBvcGFjaXR5PSIuNCIvPgogICAgICAgIDxjaXJjbGUgY3g9IjYwIiBjeT0iNjAiIHI9IjExIiBmaWxsPSJub25lIiBzdHJva2U9IiNGQkZDRkUiIHN0cm9rZS13aWR0aD0iMS44IiBvcGFjaXR5PSIuNyIvPgogICAgICAgIDxjaXJjbGUgY3g9IjYwIiBjeT0iNjAiIHI9IjciIGZpbGw9IiNGQkZDRkUiLz4KICAgICAgPC9zdmc+CiAgICAgIDxkaXYgY2xhc3M9ImJyYW5kLXRleHQiPjxzcGFuIGNsYXNzPSJpbnN0YWxsIj5JbnN0YWxsPC9zcGFuPjxzcGFuIGNsYXNzPSJzbWFydGx5Ij5TbWFydGx5PC9zcGFuPjwvZGl2PgogICAgPC9hPgogICAgPGRpdiBjbGFzcz0ibmF2LWxpbmtzIj4KICAgICAgPGEgaHJlZj0id2Vic2l0ZS5odG1sI3Jlc2lkZW50aWFsIj5Gb3IgaG9tZXM8L2E+CiAgICAgIDxhIGhyZWY9IndlYnNpdGUuaHRtbCNjb21tZXJjaWFsIj5Gb3IgYnVzaW5lc3M8L2E+CiAgICAgIDxhIGNsYXNzPSJpcy1hY3RpdmUiIGhyZWY9ImNvbmNpZXJnZS5odG1sIj5Ib3cgdGhlIEFJIHdvcmtzPC9hPgogICAgICA8YSBjbGFzcz0ibmF2LWN0YSIgaHJlZj0id2Vic2l0ZS5odG1sI2VzdGltYXRlIj5HZXQgYSBxdW90ZSDihpI8L2E+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9uYXY+Cgo8IS0tIEhFUk8gLS0+CjxzZWN0aW9uIGNsYXNzPSJoZXJvIj4KICA8ZGl2IGNsYXNzPSJzaGVsbCI+CiAgICA8cCBjbGFzcz0iZXllYnJvdyI+PHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPkJ1aWx0IGluIEF1c3RpbiDCtyBSdW5zIG9uIG91ciBoYXJkd2FyZTwvcD4KICAgIDxoMSBjbGFzcz0iaC1oMSI+QW4gaW5zdGFsbGF0aW9uIGNvbmNpZXJnZSB0aGF0IDxzcGFuIGNsYXNzPSJncmFkIj5hY3R1YWxseSBzZWVzLCBoZWFycywgYW5kIHJlbWVtYmVyczwvc3Bhbj4uPC9oMT4KICAgIDxwIGNsYXNzPSJoLXN1YiI+Rm91ciB3YXlzIG91ciBsb2NhbCBBSSBkb2VzIHRoZSBib3JpbmcgcGFydHMgb2YgZ2V0dGluZyB5b3UgYm9va2VkLiBOb25lIG9mIHlvdXIgdmlkZW8sIHZvaWNlLCBvciBwaG90b3MgZXZlciBsZWF2ZSBBdXN0aW4uPC9wPgogICAgPGRpdiBjbGFzcz0iaC1tZXRhIj4KICAgICAgPHNwYW4+PHN0cm9uZz5NZXRhIExsYW1hIDMuMyA3MEI8L3N0cm9uZz4gwrcgTGxhbWEgVmlzaW9uIDMwQiDCtyBydW5uaW5nIG9uIE5WSURJQSBER1ggU3Bhcms8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJzZXAiPjwvc3Bhbj4KICAgICAgPHNwYW4+SFE6IDxzdHJvbmc+QXVzdGluLCBUWDwvc3Ryb25nPjwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InNlcCI+PC9zcGFuPgogICAgICA8c3Bhbj48c3Ryb25nPjIwMG1zPC9zdHJvbmc+IGZpcnN0LXRva2VuIGxhdGVuY3k8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpbmRleC1yb3ciPgogICAgICA8YSBjbGFzcz0iaWR4IiBocmVmPSIjdmlkZW8iPjxkaXY+PGRpdiBjbGFzcz0iaWR4LW51bSI+MDE8L2Rpdj48aDMgY2xhc3M9ImlkeC1uYW1lIj5WaWRlbyBxdW90ZTwvaDM+PHAgY2xhc3M9ImlkeC1kIj5Qb2ludCB5b3VyIHBob25lLCB0YWxrIGZvciAxMCBzZWNvbmRzLCBnZXQgYSBwcmljZTwvcD48L2Rpdj48L2E+CiAgICAgIDxhIGNsYXNzPSJpZHgiIGhyZWY9IiN3YWxsIj48ZGl2PjxkaXYgY2xhc3M9ImlkeC1udW0iPjAyPC9kaXY+PGgzIGNsYXNzPSJpZHgtbmFtZSI+U2hvdywgZG9uJ3QgdGVsbDwvaDM+PHAgY2xhc3M9ImlkeC1kIj5Ecm9wIGEgVFYgb24gYSBwaG90byBvZiB5b3VyIHdhbGwsIEFJIG1hcmtzIHRoZSBzdHVkczwvcD48L2Rpdj48L2E+CiAgICAgIDxhIGNsYXNzPSJpZHgiIGhyZWY9IiN2b2ljZSI+PGRpdj48ZGl2IGNsYXNzPSJpZHgtbnVtIj4wMzwvZGl2PjxoMyBjbGFzcz0iaWR4LW5hbWUiPlNtYXJ0bHkgVm9pY2U8L2gzPjxwIGNsYXNzPSJpZHgtZCI+Q2FsbCBvdXIgbnVtYmVyLCBnZXQgc2NvcGVkIGluIDkwIHNlY29uZHM8L3A+PC9kaXY+PC9hPgogICAgICA8YSBjbGFzcz0iaWR4IiBocmVmPSIjcmVjYXAiPjxkaXY+PGRpdiBjbGFzcz0iaWR4LW51bSI+MDQ8L2Rpdj48aDMgY2xhc3M9ImlkeC1uYW1lIj5MaXZlIHJlY2FwPC9oMz48cCBjbGFzcz0iaWR4LWQiPjkwLXNlY29uZCB2aWRlbyBvZiB5b3VyIGluc3RhbGwsIG5hcnJhdGVkLCBwcml2YXRlPC9wPjwvZGl2PjwvYT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIDEuIFZJREVPIFFVT1RFIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdCIgaWQ9InZpZGVvIj4KICA8ZGl2IGNsYXNzPSJzaGVsbCI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0LWhlYWQiPgogICAgICA8cCBjbGFzcz0ic2VjdC1leWVicm93Ij48c3BhbiBjbGFzcz0ic2VjdC1udW0iPjAxPC9zcGFuPlZpZGVvIHF1b3RlPC9wPgogICAgICA8aDIgY2xhc3M9InNlY3QtaCI+UG9pbnQgeW91ciBwaG9uZS4gVGFsayBmb3IgdGVuIHNlY29uZHMuIDxzcGFuIGNsYXNzPSJncmFkIj5HZXQgYSBwcmljZS48L3NwYW4+PC9oMj4KICAgICAgPHAgY2xhc3M9InNlY3QtbGVkZSI+T3VyIHZpc2lvbiBtb2RlbCB3YXRjaGVzIHRoZSB3YWxsLCB0aGUgY2FibGVzLCB0aGUgb2JzdHJ1Y3Rpb25zLCBhbmQgdGhlIGNlaWxpbmcgaGVpZ2h0IHdoaWxlIHlvdSBkZXNjcmliZSB3aGF0IHlvdSB3YW50LiBJdCBzY29wZXMgdGhlIGpvYiBhbmQgcHJpY2VzIGl0IC0gdXN1YWxseSBpbiBvbmUgdHVybi4gTm8gYmFjay1hbmQtZm9ydGguPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0idmlkZW8tc3RhZ2UiPgogICAgICA8ZGl2IGNsYXNzPSJkcm9wem9uZSIgaWQ9ImRyb3B6b25lIiB0YWJpbmRleD0iMCI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJpdmFjeSI+PHNwYW4gY2xhc3M9InB1bHNlIj48L3NwYW4+U3RheXMgb24gb3VyIEF1c3RpbiBoYXJkd2FyZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImR6LWljb24iPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuOCI+CiAgICAgICAgICAgIDxwYXRoIGQ9Im0yMyA3LTcgNSA3IDVWN3pNMiA1aDExYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkgyYTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDEgMi0yeiIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGgzIGNsYXNzPSJkei1oIj5Ecm9wIGEgdmlkZW8gaGVyZTwvaDM+CiAgICAgICAgPHAgY2xhc3M9ImR6LWQiPk9yIGhpdCB0aGUgYnV0dG9uIHRvIHJlY29yZCBmcm9tIHlvdXIgcGhvbmUuIDEwIHNlY29uZHMgaXMgcGxlbnR5LjwvcD4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkei1idG4iIGlkPSJkekdvIiB0eXBlPSJidXR0b24iPlRyeSBhIHNhbXBsZSB2aWRlbyDihpI8L2J1dHRvbj4KICAgICAgICA8cCBjbGFzcz0iZHotZmluZSI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJsb2NrIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjMiIHk9IjExIiB3aWR0aD0iMTgiIGhlaWdodD0iMTEiIHJ4PSIyIi8+PHBhdGggZD0iTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0Ii8+PC9zdmc+CiAgICAgICAgICBFbmQtdG8tZW5kIMK3IHByb2Nlc3NlZCBsb2NhbGx5IMK3IGF1dG8tZGVsZXRlZCBpbiAyNGgKICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iYW5hbHlzaXMiIGlkPSJhbmFseXNpcyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYW4taGVhZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhbi1leWVicm93Ij48c3BhbiBjbGFzcz0iZCI+PC9zcGFuPkxpdmUgYW5hbHlzaXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFuLW1vZGVsIj5MbGFtYSBWaXNpb24gwrcgPHNwYW4gY2xhc3M9ImxpdmUiPuKXjzwvc3Bhbj4gMTQybXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1hbiIgaWQ9ImVtcHR5QW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaWMiPjxzdmcgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNiI+PHBhdGggZD0iTTIgOGE0IDQgMCAwIDEgNC00aDEyYTQgNCAwIDAgMSA0IDR2OGE0IDQgMCAwIDEtNCA0SDZhNCA0IDAgMCAxLTQtNFY4eiIvPjxwYXRoIGQ9Im05IDkgNiAzLTYgM3oiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjwvc3ZnPjwvZGl2PgogICAgICAgICAgPGg0PldhaXRpbmcgZm9yIHZpZGVvPC9oND4KICAgICAgICAgIDxwPkRyb3AgYSB2aWRlbyBvciBoaXQgdGhlIHNhbXBsZSB0byBzZWUgdGhlIG1vZGVsIHRoaW5rIG91dCBsb3VkLjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFuc2NyaXB0IiBpZD0idHJhbnNjcmlwdCIgaGlkZGVuPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFuLXF1b3RlIiBpZD0iYW5RdW90ZSIgaGlkZGVuPgogICAgICAgICAgPGRpdiBjbGFzcz0iYW4tcXVvdGUtbCI+RXN0aW1hdGUgcmFuZ2U8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFuLXF1b3RlLXYiIGlkPSJhblF2Ij4kMzkwPHNwYW4gY2xhc3M9ImRhc2giPuKAkzwvc3Bhbj4kNTI1PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhbi1xdW90ZS10eXAiIGlkPSJhblR5cCI+TW9zdCBqb2JzIGxhbmQgbmVhciAkNDQ1PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhbi1jb25maWRlbmNlIj4KICAgICAgICAgICAgPHNwYW4+Q29uZmlkZW5jZTwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2YtYmFyIj48ZGl2IGNsYXNzPSJjZi1maWxsIiBpZD0iY2ZGaWxsIj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNmLXBjdCIgaWQ9ImNmUGN0Ij4wJTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYW4tYWN0Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYW4tYnRuIiB0eXBlPSJidXR0b24iPkhvbGQgdGhpcyBzbG90IDxzcGFuIGNsYXNzPSJhcnIiPuKGkjwvc3Bhbj48L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYW4tYnRuIGdob3N0IiB0eXBlPSJidXR0b24iPlRleHQgbWUgdGhpcyBxdW90ZTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0gMi4gV0FMTCBBTk5PVEFUT1IgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0IiBpZD0id2FsbCI+CiAgPGRpdiBjbGFzcz0ic2hlbGwiPgogICAgPGRpdiBjbGFzcz0ic2VjdC1oZWFkIj4KICAgICAgPHAgY2xhc3M9InNlY3QtZXllYnJvdyI+PHNwYW4gY2xhc3M9InNlY3QtbnVtIj4wMjwvc3Bhbj5TaG93LCBkb24ndCB0ZWxsPC9wPgogICAgICA8aDIgY2xhc3M9InNlY3QtaCI+RHJhZyBhIFRWIG9uIHlvdXIgd2FsbC4gPHNwYW4gY2xhc3M9ImdyYWQiPlNlZSB0aGUgaW5zdGFsbCBiZWZvcmUgd2UgaW5zdGFsbCBpdC48L3NwYW4+PC9oMj4KICAgICAgPHAgY2xhc3M9InNlY3QtbGVkZSI+RHJvcCBhIHNpbmdsZSBwaG90by4gRHJhZyB0aGUgVFYgb3V0bGluZSB0byB3aGVyZSB5b3Ugd2FudCBpdC4gT3VyIG1vZGVsIG1hcmtzIHRoZSBzdHVkcywgZmluZHMgdGhlIGNsb3Nlc3Qgb3V0bGV0LCBhbmQgdHJhY2VzIHRoZSBjYWJsZSBwYXRoLiBJZiBpdCBjYW4ndCBiZSBkb25lLCB5b3UnbGwga25vdyBpbiA0IHNlY29uZHMuPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0id2FsbC1zdGFnZSI+CiAgICAgIDxkaXY+CiAgICAgICAgPGRpdiBjbGFzcz0id2FsbC1jYW52YXMiIGlkPSJ3YWxsQ2FudmFzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9IndhbGwtYmciPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0id2FsbC1mbG9vciI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YWxsLW91dGxldCIgc3R5bGU9ImJvdHRvbToyMSU7bGVmdDoxOCUiPjwvZGl2PgoKICAgICAgICAgIDwhLS0gU3R1ZHMgKHJldmVhbGVkIHdoZW4gVFYgaXMgcGxhY2VkKSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0dWQiIHN0eWxlPSJsZWZ0OjIyJSI+PGRpdiBjbGFzcz0ic3R1ZC1sIj5TdHVkIMK3IDE24oCzPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdHVkIiBzdHlsZT0ibGVmdDozOCUiPjxkaXYgY2xhc3M9InN0dWQtbCI+U3R1ZCDCtyAzMuKAszwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3R1ZCIgc3R5bGU9ImxlZnQ6NTQlIj48ZGl2IGNsYXNzPSJzdHVkLWwiPlN0dWQgwrcgNDjigLM8L2Rpdj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0dWQiIHN0eWxlPSJsZWZ0OjcwJSI+PGRpdiBjbGFzcz0ic3R1ZC1sIj5TdHVkIMK3IDY04oCzPC9kaXY+PC9kaXY+CgogICAgICAgICAgPCEtLSBDYWJsZSBwYXRoIC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FibGUtcGF0aCIgaWQ9ImNhYmxlUGF0aCIgc3R5bGU9ImxlZnQ6MzglO3RvcDo2MiU7d2lkdGg6MjQlO2hlaWdodDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowIDAgMCAxcHg7aGVpZ2h0OjI0JSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhYmxlLWwiIHN0eWxlPSJsZWZ0Oi03MnB4O3RvcDozMCU7Ij5Db25kdWl0IOKckzwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPCEtLSBPdmVybGF5IHRvZ2dsZSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9IndhbGwtb3ZlcmxheS10b2dnbGUiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ3b2wtYnRuIGlzLW9uIiB0eXBlPSJidXR0b24iPkFubm90YXRpb25zPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IndvbC1idG4iIHR5cGU9ImJ1dHRvbiI+UGhvdG8gb25seTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPCEtLSBUViBvdXRsaW5lIChkcmFnZ2FibGUpIC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0idHYtb3V0bGluZSIgaWQ9InR2T3V0bGluZSIgc3R5bGU9ImxlZnQ6MzQlO3RvcDoxOCU7d2lkdGg6MzQlO2FzcGVjdC1yYXRpbzoxNi85Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHYtbGFiZWwiPjc14oCzIMK3IFZFU0EgNjAwPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR2LWhhbmRsZSB0bCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR2LWhhbmRsZSB0ciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR2LWhhbmRsZSBibCI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InR2LWhhbmRsZSBiciI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ3YWxsLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9IndpLWl0ZW0iPgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktbCI+V2FsbCBtYXRlcmlhbDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktdiB0YWciPkRyeXdhbGwgb3ZlciB3b29kIHN0dWRzIMK3IOKckyBTdGFuZGFyZDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IndpLWl0ZW0iPgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktbCI+TW91bnQgZmVhc2liaWxpdHk8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9IndpLXYiPlZFU0EgNjAwIHNwYW5zIDIgc3R1ZHMgLSBzb2xpZCBhbmNob3I8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3aS1pdGVtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9IndpLWwiPkNhYmxlIGNvbmNlYWxtZW50PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aS12IHRhZy0yIj5FeGlzdGluZyBjb25kdWl0IHJlYWNoZXMgb3V0bGV0IMK3ICskMDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IndpLWl0ZW0iPgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktbCI+UmVjb21tZW5kZWQgY2VudGVyIGhlaWdodDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktdiB0YWctMyI+NjLigLMgZnJvbSBmbG9vciAoZXllLWxldmVsIGZvciBzZWN0aW9uYWwpPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0id2ktaXRlbSIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSg5NCwyNTUsMTg0LC4wOCk7Ym9yZGVyLWNvbG9yOnJnYmEoOTQsMjU1LDE4NCwuMikiPgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktbCIgc3R5bGU9ImNvbG9yOnJnYmEoOTQsMjU1LDE4NCwuOCkiPkxvY2tlZC1pbiBwcmljZTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0id2ktdiIgc3R5bGU9ImNvbG9yOiM1RUZGQjg7Zm9udC1zaXplOjIycHg7Zm9udC1mYW1pbHk6J0ludGVyIFRpZ2h0JyI+JDM0MCDCtyBObyBzdXJwcmlzZXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSAzLiBTTUFSVExZIFZPSUNFIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdCIgaWQ9InZvaWNlIj4KICA8ZGl2IGNsYXNzPSJzaGVsbCI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0LWhlYWQiPgogICAgICA8cCBjbGFzcz0ic2VjdC1leWVicm93Ij48c3BhbiBjbGFzcz0ic2VjdC1udW0iPjAzPC9zcGFuPlNtYXJ0bHkgdm9pY2U8L3A+CiAgICAgIDxoMiBjbGFzcz0ic2VjdC1oIj5DYWxsIHVzLiBHZXQgc2NvcGVkIGluIDxzcGFuIGNsYXNzPSJncmFkIj45MCBzZWNvbmRzLjwvc3Bhbj48L2gyPgogICAgICA8cCBjbGFzcz0ic2VjdC1sZWRlIj5ObyBwaG9uZSB0cmVlLiBObyAicHJlc3MgMSBmb3IgcmVzaWRlbnRpYWwuIiBBIHJlYWwgY29udmVyc2F0aW9uIC0gZmFzdCBlbm91Z2ggdGhhdCB5b3UgZm9yZ2V0IGl0J3Mgbm90IGEgcGVyc29uLiBRdW90ZSwgc2xvdCwgY29uZmlybWF0aW9uLCBhbGwgb24gb25lIGNhbGwuPC9wPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0idm9pY2Utc3RhZ2UiPgogICAgICA8ZGl2IGNsYXNzPSJwaG9uZS1kaXNwbGF5Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsLXJpbmciPgogICAgICAgICAgPGRpdiBjbGFzcz0iciByMSI+PC9kaXY+PGRpdiBjbGFzcz0iciByMiI+PC9kaXY+PGRpdiBjbGFzcz0iciByMyI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsLWNvcmUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMjIgMTYuOTJ2M2EyIDIgMCAwIDEtMi4xOCAyIDE5Ljc5IDE5Ljc5IDAgMCAxLTguNjMtMy4wNyAxOS41IDE5LjUgMCAwIDEtNi02IDE5Ljc5IDE5Ljc5IDAgMCAxLTMuMDctOC42N0EyIDIgMCAwIDEgNC4xMSAyaDNhMiAyIDAgMCAxIDIgMS43MiAxMi44NCAxMi44NCAwIDAgMCAuNyAyLjgxIDIgMiAwIDAgMS0uNDUgMi4xMUw4LjA5IDkuOTFhMTYgMTYgMCAwIDAgNiA2bDEuMjctMS4yN2EyIDIgMCAwIDEgMi4xMS0uNDUgMTIuODQgMTIuODQgMCAwIDAgMi44MS43QTIgMiAwIDAgMSAyMiAxNi45MnoiLz48L3N2Zz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBob25lLW51bSI+KDUxMikgNjQ5LTQ1Njc8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwaG9uZS1zdGF0dXMiPjxzcGFuIGNsYXNzPSJkIj48L3NwYW4+QW5zd2VyaW5nIMK3IDAgc2Vjb25kIHdhaXQ8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ2b2ljZS1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2aS1zdGF0LXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aS1zdGF0Ij48ZGl2IGNsYXNzPSJ2aS1zdGF0LXYiPjIwMG1zPC9kaXY+PGRpdiBjbGFzcz0idmktc3RhdC1sIj5GaXJzdCByZXBseTwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idmktc3RhdCI+PGRpdiBjbGFzcz0idmktc3RhdC12Ij45MHM8L2Rpdj48ZGl2IGNsYXNzPSJ2aS1zdGF0LWwiPkF2ZyBjYWxsPC9kaXY+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aS1zdGF0Ij48ZGl2IGNsYXNzPSJ2aS1zdGF0LXYiPjI0Lzc8L2Rpdj48ZGl2IGNsYXNzPSJ2aS1zdGF0LWwiPkhvdXJzPC9kaXY+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idm9pY2UtdHIiIGlkPSJ2b2ljZVRyIj48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2b2ljZS1jb250cm9scyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2Yy1idG4iIGlkPSJ2Y1BsYXkiIHR5cGU9ImJ1dHRvbiI+4pa2IFBsYXkgc2FtcGxlIGNhbGw8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InZjLWJ0biBnaG9zdCIgdHlwZT0iYnV0dG9uIj5UYWxrIHRvIGEgaHVtYW48L2J1dHRvbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2Yy1tZXRhIj5EaXNjbG9zZWQgYXMgQUkgb24gZXZlcnkgY2FsbCDCtyBSZWNvcmRpbmdzIHN0YXkgaW4gQXVzdGluPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIDQuIExJVkUgUkVDQVAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0IiBpZD0icmVjYXAiPgogIDxkaXYgY2xhc3M9InNoZWxsIj4KICAgIDxkaXYgY2xhc3M9InNlY3QtaGVhZCI+CiAgICAgIDxwIGNsYXNzPSJzZWN0LWV5ZWJyb3ciPjxzcGFuIGNsYXNzPSJzZWN0LW51bSI+MDQ8L3NwYW4+TGl2ZSByZWNhcDwvcD4KICAgICAgPGgyIGNsYXNzPSJzZWN0LWgiPkEgOTAtc2Vjb25kIHZpZGVvIG9mIHlvdXIgaW5zdGFsbC4gPHNwYW4gY2xhc3M9ImdyYWQiPk5hcnJhdGVkLiBQcml2YXRlLiBZb3VycyBmb3JldmVyLjwvc3Bhbj48L2gyPgogICAgICA8cCBjbGFzcz0ic2VjdC1sZWRlIj5NYXJjdXMncyBsYXBlbCBjYW0gc3RyZWFtcyB0byBvdXIgQXVzdGluIGhhcmR3YXJlIGR1cmluZyB0aGUgaW5zdGFsbC4gQnkgdGhlIHRpbWUgaGUncyB3cmFwcGluZyB1cCBjYWJsZXMsIHdlJ3ZlIHN0aXRjaGVkIGEgaGlnaGxpZ2h0IHJlZWwsIHRyYW5zY3JpYmVkIGhpcyBub3RlcywgYW5kIHdyaXR0ZW4geW91ciBob21lJ3MgaW5zdGFsbGF0aW9uIG1hbnVhbC4gTm9uZSBvZiBpdCBldmVyIHRvdWNoZXMgdGhlIGNsb3VkLjwvcD4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InJlY2FwLXN0YWdlIj4KICAgICAgPGRpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwaG9uZS1mcmFtZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaG9uZS1zY3JlZW4iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcy1iYXIiPjxzcGFuPjk6MTQ8L3NwYW4+PHNwYW4+SW5zdGFsbFNtYXJ0bHk8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBzLXZpZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHMtdHYiPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBzLXBsYXkiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik04IDV2MTRsMTEtN3oiLz48L3N2Zz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcy1jYXAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BlYWtlciI+TWFyY3VzLCBuYXJyYXRpbmc8L2Rpdj4KICAgICAgICAgICAgICAgICIuLi5tb3VudGVkIGF0IDYyIGluY2hlcyBvZmYgdGhlIGZsb29yLCBjYWJsZSBydW4gdGhyb3VnaCB0aGUgZXhpc3RpbmcgY29uZHVpdCwgdGVzdGVkIGJvdGggSERNSSBpbnB1dHMuIFJlbW90ZSdzIHBhaXJlZC4iCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHMtcHJvZ3Jlc3MiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHMtZm9vdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXYiPk08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2hvIj5Zb3VyIGluc3RhbGwgwrcgNzXigLMgU29ueTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0YSI+ODcgc2Vjb25kcyDCtyBzYXZlZCB0byB5b3VyIGhvbWUgZmlsZTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InJlY2FwLXBhbmVsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJycC1leWVicm93Ij48c3BhbiBjbGFzcz0iZCI+PC9zcGFuPldoYXQgeW91IGdldCB3aGVuIE1hcmN1cyBsZWF2ZXM8L2Rpdj4KICAgICAgICA8aDMgY2xhc3M9InJwLWgiPkEgY29tcGxldGUgcmVjb3JkIG9mIHRoZSB3b3JrIC0gd3JpdHRlbiwgbm90IGp1c3Qgc2FpZC48L2gzPgoKICAgICAgICA8ZGl2IGNsYXNzPSJycC1saXN0Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InJwLXJvdyI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ii8+PC9zdmc+PGRpdj48c3Ryb25nPjg3LXNlY29uZCB2aWRlbyB3YWxrdGhyb3VnaC48L3N0cm9uZz4gV2hhdCB3ZSBkaWQsIGhvdyB0byB1c2UgaXQsIHdoZXJlIHRoZSBjYWJsZXMgcnVuLjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icnAtcm93Ij48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz48L3N2Zz48ZGl2PjxzdHJvbmc+UGxhaW4tRW5nbGlzaCBzdW1tYXJ5Ljwvc3Ryb25nPiBNYXJjdXMncyBub3RlcywgdHJhbnNjcmliZWQgYW5kIGNsZWFuZWQuIE5vIGluc3RhbGxlci1zcGVhay48L2Rpdj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJwLXJvdyI+PHN2ZyBjbGFzcz0iaWMiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIwIDYgOSAxN2wtNS01Ii8+PC9zdmc+PGRpdj48c3Ryb25nPllvdXIgaG9tZSdzIG1hbnVhbC48L3N0cm9uZz4gQSBjdXN0b20gUERGIC0gd2hhdCdzIHdoZXJlLCBob3cgaXQgd29ya3MsIHdobyB0byBjYWxsLjwvZGl2PjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icnAtcm93Ij48c3ZnIGNsYXNzPSJpYyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz48L3N2Zz48ZGl2PjxzdHJvbmc+VGhlIG5leHQtdGltZSBhZHZhbnRhZ2UuPC9zdHJvbmc+IFdoZW4geW91IGJvb2sgYWdhaW4gaW4gMiB5ZWFycywgd2UgYWxyZWFkeSBrbm93IHlvdXIgd2lyaW5nLjwvZGl2PjwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJycC1kb2MiPgogICAgICAgICAgPGRpdiBjbGFzcz0icnAtZG9jLWljIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIvPjxwYXRoIGQ9Ik0xNCAydjZoNk0xNiAxM0g4TTE2IDE3SDhNMTAgOUg4Ii8+PC9zdmc+PC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmbGV4OjEiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJycC1kb2MtaCI+eW91ci1ob21lLW1hbnVhbC5wZGY8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icnAtZG9jLWQiPjE0IHBhZ2VzIMK3IGdlbmVyYXRlZCBieSBNZXRhIExsYW1hIMK3IGF1dG8tdXBkYXRlZDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InJwLXByaXYiPgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiLz48cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiLz48L3N2Zz4KICAgICAgICAgIEF1ZGlvICsgdmlkZW8gcHJvY2Vzc2VkIG9uIG91ciBBdXN0aW4gaGFyZHdhcmUgwrcgbmV2ZXIgc2VudCB0byB0aGUgY2xvdWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSBUSEVTSVMgLS0+CjxzZWN0aW9uIGNsYXNzPSJ0aGVzaXMiPgogIDxkaXYgY2xhc3M9InNoZWxsIj4KICAgIDxoMiBjbGFzcz0idGhlc2lzLWgiPgogICAgICBJbnN0YWxsU21hcnRseSBpc24ndCBhbiBpbnN0YWxsYXRpb24gY29tcGFueSB0aGF0IHVzZXMgQUkuPGJyPgogICAgICBJdCdzIDxlbT5hIHByaXZhdGUgYWdlbnRpYyBpbnRlbGxpZ2VuY2UgbGF5ZXIgZm9yIHlvdXIgaG9tZTwvZW0+IC0gdGhhdCA8c3BhbiBjbGFzcz0iZ3JhZCI+aGFwcGVucyB0byBpbnN0YWxsIHRoaW5nczwvc3Bhbj4uCiAgICA8L2gyPgogICAgPGRpdiBjbGFzcz0idGhlc2lzLWN0YSI+CiAgICAgIDxhIGNsYXNzPSJidG4tcCIgaHJlZj0id2Vic2l0ZS5odG1sI2VzdGltYXRlIj5HZXQgYW4gZXN0aW1hdGUgPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidHZWlzdCBNb25vJyxtb25vc3BhY2UiPuKGkjwvc3Bhbj48L2E+CiAgICAgIDxhIGNsYXNzPSJidG4tZyIgaHJlZj0idGVsOisxNTEyNjQ5NDU2NyI+T3IgY2FsbCAoNTEyKSA2NDktNDU2NzwvYT4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8Zm9vdGVyPgogIDxkaXYgY2xhc3M9InNoZWxsIj4KICAgIMKpIDIwMjYgSW5zdGFsbFNtYXJ0bHkgwrcgQnVpbHQgaW4gQXVzdGluIMK3IE1vZGVscyBydW5uaW5nIG9uIE1TSSBHQjEwIGhhcmR3YXJlCiAgPC9kaXY+CjwvZm9vdGVyPgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgLy8gPT09PT09PT09PT09IFZJREVPIFFVT1RFIGFuaW1hdGlvbiA9PT09PT09PT09PT0KICBjb25zdCBkeiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9wem9uZScpOwogIGNvbnN0IGR6R28gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHpHbycpOwogIGNvbnN0IHRyRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJhbnNjcmlwdCcpOwogIGNvbnN0IGVtcHR5QW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1wdHlBbicpOwogIGNvbnN0IGFuUXVvdGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5RdW90ZScpOwogIGNvbnN0IGNmRmlsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjZkZpbGwnKTsKICBjb25zdCBjZlBjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjZlBjdCcpOwoKICBjb25zdCBUSU1FTElORSA9IFsKICAgIHsga2luZDonZGV0ZWN0JywgYmFkZ2U6J1ZJU0lPTicsIHQ6J1dhbGwgbWF0ZXJpYWwgLSBkcnl3YWxsLCBwYWludGVkIG1hdHRlLiBDb25maWRlbmNlIDk2JS4nIH0sCiAgICB7IGtpbmQ6J2RldGVjdCcsIGJhZGdlOidWSVNJT04nLCB0OidEZXRlY3RlZDogNzXigLMgVFYgKFNvbnkgQnJhdmlhLCBtb2RlbCBiYWRnZSB2aXNpYmxlKS4nIH0sCiAgICB7IGtpbmQ6J2RldGVjdCcsIGJhZGdlOidWSVNJT04nLCB0OidPdXRsZXQgYXQgbG93ZXItbGVmdCBjb3JuZXIuIEV4aXN0aW5nIGNhYmxlIGNvbmR1aXQgdmlzaWJsZS4nIH0sCiAgICB7IGtpbmQ6J2RldGVjdCcsIGJhZGdlOidBVURJTycsICB0OidZb3Ugc2FpZDogIi4uLm1vdW50IGFib3ZlIHRoZSBmaXJlcGxhY2UsIGhpZGUgdGhlIHdpcmVzLi4uIicgfSwKICAgIHsga2luZDondGhpbmsnLCAgYmFkZ2U6J1BMQU4nLCAgIHQ6J0Fib3ZlLWZpcmVwbGFjZSBtb3VudCArIGluLXdhbGwgY2FibGUgcnVuLiBQb3NzaWJsZSAtIGNvbmR1aXQgcmVhY2hlcy4nIH0sCiAgICB7IGtpbmQ6J2RldGVjdCcsIGJhZGdlOidQUklDRScsICB0OidCYXNlIFRWIG1vdW50ICg3NeKAsykgJDIxOSDCtyBjYWJsZSBjb25kdWl0IHJldXNlICQwIMK3IGRyeXdhbGwgc3RhbmRhcmQuJyB9CiAgXTsKCiAgZnVuY3Rpb24gc3RhcnRWaWRlbygpewogICAgZHouY2xhc3NMaXN0LmFkZCgnaXMtYWN0aXZlJyk7CiAgICBkekdvLnRleHRDb250ZW50ID0gJ0FuYWx5emluZyB2aWRlb+KApic7CiAgICBkekdvLmRpc2FibGVkID0gdHJ1ZTsKICAgIGVtcHR5QW4uaGlkZGVuID0gdHJ1ZTsgdHJFbC5oaWRkZW4gPSBmYWxzZTsgdHJFbC5pbm5lckhUTUwgPSAnJzsKICAgIGFuUXVvdGUuaGlkZGVuID0gdHJ1ZTsKICAgIGNmRmlsbC5zdHlsZS53aWR0aCA9ICcwJSc7IGNmUGN0LnRleHRDb250ZW50ID0gJzAlJzsKCiAgICBsZXQgaSA9IDA7CiAgICBmdW5jdGlvbiBuZXh0KCl7CiAgICAgIGlmIChpID49IFRJTUVMSU5FLmxlbmd0aCl7CiAgICAgICAgYW5RdW90ZS5oaWRkZW4gPSBmYWxzZTsKICAgICAgICBzZXRUaW1lb3V0KCgpPT57IGNmRmlsbC5zdHlsZS53aWR0aCA9ICc5NCUnOyBjZlBjdC50ZXh0Q29udGVudCA9ICc5NCUnOyB9LCA4MCk7CiAgICAgICAgZHpHby50ZXh0Q29udGVudCA9ICdUcnkgYW5vdGhlciB2aWRlbyDihpInOyBkekdvLmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIGNvbnN0IGl0ZW0gPSBUSU1FTElORVtpKytdOwogICAgICBjb25zdCBsaW5lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIGxpbmUuY2xhc3NOYW1lID0gJ3RyLWxpbmUgJyArIChpdGVtLmtpbmQgPT09ICd0aGluaycgPyAnaXMtdGhpbmsnIDogJ2lzLWRldGVjdCcpOwogICAgICBsaW5lLmlubmVySFRNTCA9ICc8c3BhbiBjbGFzcz0iYmFkZ2UiPicraXRlbS5iYWRnZSsnPC9zcGFuPjxzcGFuPicraXRlbS50Kyc8L3NwYW4+JzsKICAgICAgdHJFbC5hcHBlbmRDaGlsZChsaW5lKTsKICAgICAgc2V0VGltZW91dChuZXh0LCA2MDAgKyBNYXRoLnJhbmRvbSgpKjIwMCk7CiAgICB9CiAgICBzZXRUaW1lb3V0KG5leHQsIDM1MCk7CiAgfQogIGR6R28uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzdGFydFZpZGVvKTsKICBkei5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGU9PntlLnByZXZlbnREZWZhdWx0KCk7ZHouY2xhc3NMaXN0LmFkZCgnaXMtZHJhZycpO30pOwogIGR6LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsICgpPT5kei5jbGFzc0xpc3QucmVtb3ZlKCdpcy1kcmFnJykpOwogIGR6LmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBlPT57ZS5wcmV2ZW50RGVmYXVsdCgpO2R6LmNsYXNzTGlzdC5yZW1vdmUoJ2lzLWRyYWcnKTtzdGFydFZpZGVvKCk7fSk7CgogIC8vID09PT09PT09PT09PSBXQUxMIGFubm90YXRvciBkcmFnID09PT09PT09PT09PQogIGNvbnN0IHR2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3R2T3V0bGluZScpOwogIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3YWxsQ2FudmFzJyk7CiAgbGV0IGRyYWcgPSBudWxsOwogIGZ1bmN0aW9uIHB0KGUpeyBjb25zdCB0ID0gZS50b3VjaGVzID8gZS50b3VjaGVzWzBdIDogZTsgcmV0dXJuIHt4OnQuY2xpZW50WCwgeTp0LmNsaWVudFl9OyB9CgogIGZ1bmN0aW9uIG9uRG93bihlKXsKICAgIGlmIChlLnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ3R2LWhhbmRsZScpKSByZXR1cm47CiAgICBjb25zdCBwID0gcHQoZSk7IGNvbnN0IHIgPSB0di5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgIGRyYWcgPSB7IG94OiBwLnggLSByLmxlZnQsIG95OiBwLnkgLSByLnRvcCB9OwogICAgdHYuY2xhc3NMaXN0LmFkZCgnaXMtZHJhZycpOwogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogIH0KICBmdW5jdGlvbiBvbk1vdmUoZSl7CiAgICBpZiAoIWRyYWcpIHJldHVybjsKICAgIGNvbnN0IHAgPSBwdChlKTsgY29uc3QgYyA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgIGNvbnN0IHcgPSB0di5vZmZzZXRXaWR0aCwgaCA9IHR2Lm9mZnNldEhlaWdodDsKICAgIGxldCB4ID0gcC54IC0gYy5sZWZ0IC0gZHJhZy5veDsgbGV0IHkgPSBwLnkgLSBjLnRvcCAtIGRyYWcub3k7CiAgICB4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oYy53aWR0aCAtIHcsIHgpKTsKICAgIHkgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihjLmhlaWdodCowLjgyIC0gaCwgeSkpOwogICAgdHYuc3R5bGUubGVmdCA9ICh4L2Mud2lkdGgqMTAwKSsnJSc7CiAgICB0di5zdHlsZS50b3AgID0gKHkvYy5oZWlnaHQqMTAwKSsnJSc7CiAgfQogIGZ1bmN0aW9uIG9uVXAoKXsgaWYgKGRyYWcpeyBkcmFnID0gbnVsbDsgdHYuY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZycpOyB9IH0KICB0di5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBvbkRvd24pOwogIHR2LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBvbkRvd24sIHtwYXNzaXZlOmZhbHNlfSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG9uTW92ZSk7CiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIG9uTW92ZSwge3Bhc3NpdmU6ZmFsc2V9KTsKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIG9uVXApOwogIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIG9uVXApOwoKICAvLyA9PT09PT09PT09PT0gVk9JQ0UgdHJhbnNjcmlwdCA9PT09PT09PT09PT0KICBjb25zdCBWVCA9IFsKICAgIHsgcjonQUknLCAgIHQ6J0hpLCB0aGlzIGlzIHRoZSBJbnN0YWxsU21hcnRseSBhc3Npc3RhbnQgLSBhIHJlYWwgcGVyc29uIGlzIG9uZSB0YXAgYXdheSB3aGVuZXZlciB5b3Ugd2FudC4gV2hhdCBuZWVkcyBpbnN0YWxsaW5nPycgfSwKICAgIHsgcjonWW91JywgIHQ6Ikkgd2FudCBhIDc1LWluY2ggbW91bnRlZCBvbiBhIGJyaWNrIGZpcmVwbGFjZS4gU2F0dXJkYXkgaWYgcG9zc2libGUuIiB9LAogICAgeyByOidBSScsICAgdDonQnJpY2sgbW91bnQgd2l0aCBtYXNvbnJ5IGFuY2hvcnMgLSB0eXBpY2FsIHJhbmdlIGlzIDxzdHJvbmc+JDM5MOKAkyQ1MjU8L3N0cm9uZz4uIDxzdHJvbmc+TWFyY3VzIFQuPC9zdHJvbmc+IGhhcyBTYXR1cmRheSAxMSBhLm0uIG9wZW4uIFdhbnQgbWUgdG8gaG9sZCBpdD8nIH0sCiAgICB7IHI6J1lvdScsICB0OidZZXMgcGxlYXNlLicgfSwKICAgIHsgcjonQUknLCAgIHQ6IkxvY2tlZC4gSSdsbCB0ZXh0IHRoZSBjb25maXJtYXRpb24gdG8gdGhpcyBudW1iZXIuIEFueXRoaW5nIGVsc2UgZm9yIG5vdz8iIH0KICBdOwogIGNvbnN0IHZ0RWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndm9pY2VUcicpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2Y1BsYXknKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpPT57CiAgICB2dEVsLmlubmVySFRNTCA9ICcnOwogICAgbGV0IGkgPSAwOwogICAgZnVuY3Rpb24gc3RlcCgpewogICAgICBpZiAoaSA+PSBWVC5sZW5ndGgpIHJldHVybjsKICAgICAgY29uc3QgdiA9IFZUW2krK107CiAgICAgIGNvbnN0IGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgZC5jbGFzc05hbWUgPSAndnQnICsgKHYuciA9PT0gJ1lvdScgPyAnIHVzZXInIDogJycpOwogICAgICBkLmlubmVySFRNTCA9ICc8c3BhbiBjbGFzcz0idnQtciI+Jyt2LnIrJzwvc3Bhbj48ZGl2IGNsYXNzPSJ2dC10ZXh0Ij4nK3YudCsnPC9kaXY+JzsKICAgICAgdnRFbC5hcHBlbmRDaGlsZChkKTsKICAgICAgc2V0VGltZW91dChzdGVwLCAxMTAwKTsKICAgIH0KICAgIHN0ZXAoKTsKICB9KTsKfSkoKTsKPC9zY3JpcHQ+Cgo8L2JvZHk+PC9odG1sPgo=
Leave a Reply