PGltZyBzcmM9Imh0dHBzOi8vdXMtZWFzdC0xLnhzcC1wcmQubGlqaXQuY29tL2JpZC13aW4/aWQ9NTM5YzU3MTQtMzg4My00ZDdlLTlkZDctZTExN2RkNzhmMGRmJmJpPTI2JmV4PTUxMjE1NiZiZG9wPTNlMWM1ZDY0JmJkcD0zZGZjMzM4OSZiZHc9MC4xMjMxNDUxNyZzaWQ9NTEyMTU2JmVwaWQ9ZUYwTzdiM3hiZXA4QkZScjF5RksmdGs9ZXlKSFJVOGlPbnNpYkdGaVpXd2lPaUpIUlU4aUxDSjJZV3gxWlhNaU9sc2lWVk5CSWwwc0luUjVjR1VpT2lKVFZGSkpUa2NpZlN3aVJFOU5RVWxPSWpwN0lteGhZbVZzSWpvaVJFOU5RVWxPSWl3aWRtRnNkV1Z6SWpwYklqRXpNekUzT1RRME1USWlYU3dpZEhsd1pTSTZJbE5VVWtsT1J5SjlMQ0pHVDFKTlFWUWlPbnNpYkdGaVpXd2lPaUpHVDFKTlFWUWlMQ0oyWVd4MVpYTWlPbHNpWWlKZExDSjBlWEJsSWpvaVUxUlNTVTVISW4wc0lrUkZWbFJaVUVVaU9uc2liR0ZpWld3aU9pSkVSVlpVV1ZCRklpd2lkbUZzZFdWeklqcGJJalFpWFN3aWRIbHdaU0k2SWxOVVVrbE9SeUo5TENKYVQwNUZTVVFpT25zaWJHRmlaV3dpT2lKYVQwNUZTVVFpTENKMllXeDFaWE1pT2xzaVFsSkpRMHRUWDA1ZlFrRk1URk5mU1U5VFgwSkJUazVGVWw5Q1NVUkVTVTVITFRFME9EZ3hPVFVpWFN3aWRIbHdaU0k2SWxOVVVrbE9SeUo5TENKRFQwMVFRVTVaU1VRaU9uc2liR0ZpWld3aU9pSkRUMDFRUVU1WlNVUWlMQ0oyWVd4MVpYTWlPbHNpTlRFeU1UVTJJbDBzSW5SNWNHVWlPaUpUVkZKSlRrY2lmWDAmZnM9MCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDt3aWR0aDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO2JvcmRlcjowOyIgLz4KCQk8IURPQ1RZUEUgaHRtbD4KCQk8aHRtbCBsYW5nPSJlbiI+CgkJPGhlYWQ+CgkJCTxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KCQkJPG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj4KCQkJPHRpdGxlPkFEVjwvdGl0bGU+CgkJCTxsaW5rIHJlbD0ic3R5bGVzaGVldCIKCQkJCSAgaHJlZj0iaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL21ldGEtc3RhdGljcy9tZXRhLmNzcyI+CgkJPC9oZWFkPgoJCTxib2R5PgoJCTxzY3JpcHQ+IHZhciBhZG0gPSB3aW5kb3cuYXRvYigiQ2drOElVUlBRMVJaVUVVZ2FIUnRiRDRnSUFvSlBHaDBiV3dnYkdGdVp6MGlaVzRpUGdvZ0lDQWdJQ0E4YUdWaFpENEtDUWs4YldWMFlTQnVZVzFsUFNKeVpXWmxjbkpsY2lJZ1kyOXVkR1Z1ZEQwaWJtOHRjbVZtWlhKeVpYSWlQZ2tLSUNBZ0lDQWdQQzlvWldGa1Bnb0pJQ0E4WW05a2VUNEtDUWs4YVdaeVlXMWxJSE55WXowaWFIUjBjSE02THk5aWFXUXVabUZrWWk1NGVYb3ZhR0ZrYlM4MU5XRXlaVFptTVMweVlUTmhMVFJsWmprdE9HSTJOQzFqTldWaVpESTVaRGM0T0RNaUlITjBlV3hsUFNKaWIzSmtaWEk2SUc1dmJtVTdJSGRwWkhSb09pQXpNakJ3ZURzZ2FHVnBaMmgwT2lBMU1IQjRPeUJ2ZG1WeVpteHZkem9nYUdsa1pHVnVPeUlnWVd4c2IzYzlJbUYxZEc5d2JHRjVJaUJ5WldabGNuSmxjbkJ2YkdsamVUMGlibTh0Y21WbVpYSnlaWElpSUdOc1lYTnpQU0owYUdsemNHeGhlU0krUEM5cFpuSmhiV1UrQ2drZ0lEd3ZZbTlrZVQ0S0NUd3ZhSFJ0YkQ0PSIpLAoJCQkJCXVybEVuY29kZWRVcmwgPSBlbmNvZGVVUkkoYWRtKTs8L3NjcmlwdD4KCQk8c2NyaXB0IHNyYz0iaHR0cHM6Ly90YWdhbi5hZGxpZ2h0bmluZy5jb20vaW5zdGFsL2JsYWNrbGlzdF9zY3JpcHQuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CgkJPHNjcmlwdCBzcmM9Imh0dHBzOi8vdGFnYW4uYWRsaWdodG5pbmcuY29tL2luc3RhbC9ibG9ja2luZ19zY3JpcHQuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCQlmdW5jdGlvbiBjcmVhdGVUYWdEZXRhaWxzKCl7CgkJCQl2YXIgdGFnRGV0YWlscyA9IHt9OwoJCQkJdGFnRGV0YWlscy53ID0gJzMyMCc7CgkJCQl0YWdEZXRhaWxzLmggPSAnNTAnOwoJCQkJdGFnRGV0YWlscy5hZFNlcnZlckRldGFpbHMgPSB7IAoJCQkJCWFkdmVydGlzZXJJZDogJycsCgkJCQkJY2FtcGFpZ25JZDogJ2JsJywKCQkJCQljcmVhdGl2ZUlkOiAndjAxLWNISnZaM0poYlcxaGRHbGpYMjl3Wlc1NFgzWnBaR1Z2ZkdGa1lXUmhjSFJsWkMwMU1EZzRPUT09JywKCQkJCQlsaW5laXRlbUlkOiAnJywKCQkJCQlhZFNlcnZlcjogJ2RmcCcKCQkJCX07CgkJCQl0YWdEZXRhaWxzLmF1ID0gJzEnOwoJCQkJdGFnRGV0YWlscy5tYXJrdXBJbkRvbSA9IHRydWU7CgkJCQl0YWdEZXRhaWxzLnJlZnJlc2hNZXNzYWdlID0gJyc7CgkJCQl2YXIgdGltZUJhc2UzNiA9IERhdGUubm93KCkudG9TdHJpbmcoMzYpOwoJCQkJdmFyIHJhbmRvbSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKS5zcGxpdCgnJykKCQkJCQkJLm1hcChmdW5jdGlvbiAoYykgewoJCQkJCQkJcmV0dXJuIChNYXRoLnJhbmRvbSgpIDwgMC41ID8gYy50b1VwcGVyQ2FzZSgpIDogYyk7IH0pIC5qb2luKCcnKTsKCQkJCXRhZ0RldGFpbHMuY3VycmVudFRhZ0lkPSJhZGx0YWdfIiArIHRpbWVCYXNlMzYgKyAiXyIgKyByYW5kb207CgkJCQlyZXR1cm4gdGFnRGV0YWlsczsKCQkJfQoJCQl2YXIgcmFuZG9tID0gIiIgKyBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxZTgpOwoJCQl2YXIgY2xpZW50SWQgPSAiaW5zdGFsIjsKCQkJdmFyIHNpdGVfaWQgPSByYW5kb20gKyAiXyIgKyBjbGllbnRJZDsKCQkJd2luZG93W3NpdGVfaWRdPXt9OwoJCQl3aW5kb3dbc2l0ZV9pZF0udGFnRGV0YWlscz1jcmVhdGVUYWdEZXRhaWxzKCk7CgkJCSFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjsiYmxvY2tlciJpbiB3aW5kb3d8fCh3aW5kb3cuYmxvY2tlcj1mdW5jdGlvbihlLG4sdCxvLHIpe2Z1bmN0aW9uIGkoZSl7dmFyIG49d2luZG93LlJlcXVlc3QsdD1uJiZuLnByb3RvdHlwZXx8e307aWYobmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2VuZEJlYWNvbiluYXZpZ2F0b3Iuc2VuZEJlYWNvbihlKTtlbHNlIGlmKHdpbmRvdy5mZXRjaCl7dmFyIG89e21ldGhvZDoiR0VUIn07ImtlZXBhbGl2ZSJpbiB0JiYoby5rZWVwYWxpdmU9ITApLHdpbmRvdy5mZXRjaChlLG8pfWVsc2V7dmFyIHI9bmV3IEltYWdlKDEsMSk7ImxvYWRpbmciaW4gciYmKHIubG9hZGluZz0iZWFnZXIiKSxyLnNyYz1lfX1pZigocj1yfHx7fSkuYncpe2lmKE1hdGgucmFuZG9tKCk8LjEpZm9yKHZhciBhPSJ1bmRlZmluZWQiIT10eXBlb2YgYnRvYT9idG9hOlN0cmluZyx4PSJodHRwczovLyIrY2xpZW50SWQrIi10YWdhbi5hZGxpZ2h0bmluZy5jb20iLGM9d2luZG93W2VdP3dpbmRvd1tlXS50YWdEZXRhaWxzOnt9LGQ9e3NpdGVJZDpjbGllbnRJZCx1cmw6d2luZG93LnRvcC5sb2NhdGlvbi5ocmVmLHRhZ0RldGFpbHM6YyxlcnJvckRhdGE6bnVsbCxlcnJvck1ldGhvZDoibWlzc2luZ19ibG9ja2VyIn0sZj1mdW5jdGlvbigpe3ZhciB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpOyJ1bmRlZmluZWQiIT10eXBlb2YgcGVyZm9ybWFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBwZXJmb3JtYW5jZS5ub3cmJih0Kz1wZXJmb3JtYW5jZS5ub3coKSk7cmV0dXJuInh4eHh4eHh4eHh4eHh4eHl4eHh4eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZyxmdW5jdGlvbihlKXt2YXIgbj0odCsxNipNYXRoLnJhbmRvbSgpKSUxNnwwO3JldHVybiB0PU1hdGguZmxvb3IodC8xNiksKCJ4Ij09PWU/bjozJm58OCkudG9TdHJpbmcoMTYpfSl9KCksbD1lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZCkpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csZnVuY3Rpb24oZSxuKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSgiMHgiK24pfSksZz1lbmNvZGVVUklDb21wb25lbnQoYShsKSksdz04ZTMtKHgubGVuZ3RoKzEwMCksdT1NYXRoLmNlaWwoZy5sZW5ndGgvdykscz0wLHA9MTtwPD11O3ArPTEpe2koeCsiL2Vycm9yP2Q9IitnLnN1YnN0cihzLHcpKyImaT0iK3ArIi0iK3UrIiZ0PSIrYy5jdXJyZW50VGFnSWQrIiZyPSIrZisiJmM9IitjbGllbnRJZCsiJno9MSIpLHMrPXd9ZG9jdW1lbnQud3JpdGUobil9fSl9KCk7CgkJCWJsb2NrZXIoc2l0ZV9pZCwgZGVjb2RlVVJJQ29tcG9uZW50KHVybEVuY29kZWRVcmwpICsgIjwhLS1BRExfV1JBUFBFRC0tPiIsIGZhbHNlLCB3aW5kb3csIHtidzp0cnVlfSk7CgkJPC9zY3JpcHQ+CgkJPC9ib2R5PgoJCTwvaHRtbD4KCTxpbWcgc3JjPSJodHRwczovL2doZW50LWdjZS1zYy5iaWRzd2l0Y2gubmV0L2ltcC8wLjE1MjcvQlNXaHR0cHNfQV9CX0JiaWQuZmFkYi54eXpfQnRyYWNrX0JpbXByZXNzaW9uX0NhdF9SMTc0MzE2MTUzNl9KaWRfUjU1YTJlNmYxLTJhM2EtNGVmOS04YjY0LWM1ZWJkMjlkNzg4M19KcHJpY2V3aW5fUl9JX1dBVUNUSU9OX19QUklDRV9YL1BLeDY3LUNhU3o3T3N0bTUwb0hGUDNTcVl1MzNxQWVjRTJET1ExUDkzQlBfbVd3NDE4bm5YN3JybkFldHRTa1dmdW1qUy1rVmQ0Q2RaVnNMUFNHcmp4Sldxb3VBbW9CaEFtUGVtSkNPenNCUTdfOGluYS1iaE4wY2ZzZEsyNXY5U0FacWJrak8tYU80OUR3bEk0R0VGZXBlTnZMTnJUNUR1MGJTanFfdTQ2NFVfRHNocnBQbWliYTBjczVRcE1tYThmLUFSdXFra1Z2N0stcFpOQlFYbTNnVmdqZEZ0eV83bnRfOHF4MmxBOW83YkNaQmFRX3JiZllyQ3dyMHAyWlVaNjczMW1RS3VJcjhZWERlbEdlSGtYZEMtaV83S0NRd3hmYS12N1JWdDJpdjVwSVVZSTJjZFRGTlpCLVpkMUxhaTlrZW5BTHlSSmtWdllfS0F4SGV2bXFMTTVCNzd0SkxTU3hGeDJoaWQ4OWMxUXJNb0ZIbkpOSS0zSlUtdlltLXhSdXJIb1p6NkttM3NuRko4VXk5cjdwRFpaZUg5dzN2TjVtU1lfNzRIUTVxZFp0UEx6RV9NWmllVndGRTdhcGlZaDJ2Sm9zUFpaM1JRNUFaS25HRzNvVVNXcWF6QkVQVnJROGxkMVoyejFYVjBISEprenB4NUIta0hKWUJTdjI3Wi1JQ3paRUFycjEtRVRKQUhqZkNyTklvMERGekdlbHEtbnJZVnlJSURJMllCU1huOVk1Qy1tZHFTb2dwby1aa3p2N0ZkTGtBMV9oekVac1pqTDlVS0EzR2h0VzBlVS1CZkNvbXJFZTJhbll6dEJhS2tLSk5kZC1mS1JOSUIyeVVwMURKVC1SYXlnNEN4d21adjVvYXY2aGlVcmhWSHZ1VzYwbk81Vmw1U0JxOEhvVnZtWGNWcklMVmxodU9xeTItZ081YkZvQzlIbHRfLWxvUjRfQlZ0eFE5ckVTNTIyVHJCSGl0QjMxVE9SYkN4RF9hVzJid2VIVW42NHZ2RFRGVG4tUFZEbE55RDR4RjI5M09OUHhOMTlSVElwWUhVcWw4aV9RaGRjT1hJbTZZRE51RGF4Y0pZZDRfUmRkalp6cG1RcjFNM3BiVENvaThXNW1CNFg5R2VJVWZGY0NTeXRCRENxaWR4dVA4NHlrUjhWaW1VaGlVZUFrTnUwUjVvU056RVhiQmdUNGxHUmRZbWF1RTVmVnhWTGpINWIwWUNfeHBqY29XWGhWZF9tY01nSlk0UFB2S1VfRDl3VlBiWDh1QlBka0ZoZEZPNTlSdDVNeUF2YmJQaG9INGZ2bzBhaTZYWjU5bmtPWEgxWUZ0aFpJYVRnVmF3Ui1peG9vYkNjNkNCSWxqLTFLRi1GbGEtT3RVRktPcGFER3p1MXpaVWY0M1M4d2NwX09pWEFRODVzSE9KZ2dhSVNoeVQzZTZxR2pEYjdfLVIxbXF4eGMzeEVNOGRNSklPTm1GME5waEZWQXFsekxNNGxUSmcxaFNwUUZLZTNVN0h2N0pVc3gtVklrTEVRX2hUNGpfYjh2MENhaHkzNDhGTjJMRlFKaWY0dWpQZUhpdlRlR0FFdzZCWGdaRHFjN0dxbWQzZmprS3k4RWhwWWYtWHUzc1V6a3VsdzlULVQycF9SV1hTRWZDXzJzX3lJYm5ETW5fendWcjJUNUFMT3YwOVJCbUdIb0FncTVjU01zR2hDbFdKNFNTZXB1ZE5Welg1UXM5NmF4RXpaakoxTVZMRldpSVJuNzlXNUpUdENCRE16R1dUd2djX2tCOEFqQmJZSFNNYncyQ3diVnNoaTR4c3RLcmwzNk83WW5ITnYzeEc5V0s0NmMyRzFPclNEV0oyS3ByMzY3WXBYYmNkajVEMVk4akFNenNEYmJlUGhRa0ZpSnhCSE9yRS1pVXVIcmw4MktGeXhrbUVHV3BpRnd2c2EwMXlna1QxODlnYWdqd0NtNFlWTUdUTkR3LyIgYWx0PSIgIiBzdHlsZT0iZGlzcGxheTpub25lIi8+PGltZyBzcmM9Imh0dHBzOi8vZ2hlbnQtZ2NlLXNjLmJpZHN3aXRjaC5uZXQvaW1wZi8wLjE1MjcvQlNXaHR0cHNfQV9CX0JiaWQuZmFkYi54eXpfQnRyYWNrX0J3aW5ub3RpZmljYXRpb25fQ2F0X1IxNzQzMTYxNTM2X0ppZF9SNTVhMmU2ZjEtMmEzYS00ZWY5LThiNjQtYzVlYmQyOWQ3ODgzX0pwcmljZXdpbl9SX0lfV0FVQ1RJT05fX1BSSUNFX1gvUEt4NjctQ2FTejdPc3RtNTBvSEZQM1NxWXUzM3FBZWNFMkRPUTFQOTNCUF9tV3c0MThublg3cnJuQWV0dFNrV2Z1bWpTLWtWZDRDZFpWc0xQU0dyanhKV3FvdUFtb0JoQW1QZW1KQ096c0JRN184aW5hLWJoTjBjZnNkSzI1djlTQVpxYmtqTy1hTzQ5RHdsSTRHRUZlcGVOdkxOclQ1RHUwYlNqcV91NDY0VV9Ec2hycFBtaWJhMGNzNVFwTW1hOGYtQVJ1cWtrVnY3Sy1wWk5CUVhtM2dWZ2pkRnR5XzdudF84cXgybEE5bzdiQ1pCYVFfcmJmWXJDd3IwcDJaVVo2NzMxbVFLdUlyOFlYRGVsR2VIa1hkQy1pXzdLQ1F3eGZhLXY3UlZ0Mml2NXBJVVlJMmNkVEZOWkItWmQxTGFpOWtlbkFMeVJKa1Z2WV9LQXhIZXZtcUxNNUI3N3RKTFNTeEZ4MmhpZDg5YzFRck1vRkhuSk5JLTNKVS12WW0teFJ1ckhvWno2S20zc25GSjhVeTlyN3BEWlplSDl3M3ZONW1TWV83NEhRNXFkWnRQTHpFX01aaWVWd0ZFN2FwaVloMnZKb3NQWlozUlE1QVpLbkdHM29VU1dxYXpCRVBWclE4bGQxWjJ6MVhWMEhISmt6cHg1Qi1rSEpZQlN2MjdaLUlDelpFQXJyMS1FVEpBSGpmQ3JOSW8wREZ6R2VscS1ucllWeUlJREkyWUJTWG45WTVDLW1kcVNvZ3BvLVprenY3RmRMa0ExX2h6RVpzWmpMOVVLQTNHaHRXMGVVLUJmQ29tckVlMmFuWXp0QmFLa0tKTmRkLWZLUk5JQjJ5VXAxREpULVJheWc0Q3h3bVp2NW9hdjZoaVVyaFZIdnVXNjBuTzVWbDVTQnE4SG9Wdm1YY1ZySUxWbGh1T3F5Mi1nTzViRm9DOUhsdF8tbG9SNF9CVnR4UTlyRVM1MjJUckJIaXRCMzFUT1JiQ3hEX2FXMmJ3ZUhVbjY0dnZEVEZUbi1QVkRsTnlENHhGMjkzT05QeE4xOVJUSXBZSFVxbDhpX1FoZGNPWEltNllETnVEYXhjSllkNF9SZGRqWnpwbVFyMU0zcGJUQ29pOFc1bUI0WDlHZUlVZkZjQ1N5dEJEQ3FpZHh1UDg0eWtSOFZpbVVoaVVlQWtOdTBSNW9TTnpFWGJCZ1Q0bEdSZFltYXVFNWZWeFZMakg1YjBZQ194cGpjb1dYaFZkX21jTWdKWTRQUHZLVV9EOXdWUGJYOHVCUGRrRmhkRk81OVJ0NU15QXZiYlBob0g0ZnZvMGFpNlhaNTlua09YSDFZRnRoWklhVGdWYXdSLWl4b29iQ2M2Q0JJbGotMUtGLUZsYS1PdFVGS09wYURHenUxelpVZjQzUzh3Y3BfT2lYQVE4NXNIT0pnZ2FJU2h5VDNlNnFHakRiN18tUjFtcXh4YzN4RU04ZE1KSU9ObUYwTnBoRlZBcWx6TE00bFRKZzFoU3BRRktlM1U3SHY3SlVzeC1WSWtMRVFfaFQ0al9iOHYwQ2FoeTM0OEZOMkxGUUppZjR1alBlSGl2VGVHQUV3NkJYZ1pEcWM3R3FtZDNmamtLeThFaHBZZi1YdTNzVXprdWx3OVQtVDJwX1JXWFNFZkNfMnNfeUlibkRNbl96d1ZyMlQ1QUxPdjA5UkJtR0hvQWdxNWNTTXNHaENsV0o0U1NlcHVkTlZ6WDVRczk2YXhFelpqSjFNVkxGV2lJUm43OVc1SlR0Q0JETXpHV1R3Z2Nfa0I4QWpCYllIU01idzJDd2JWc2hpNHhzdEtybDM2TzdZbkhOdjN4RzlXSzQ2YzJHMU9yU0RXSjJLcHIzNjdZcFhiY2RqNUQxWThqQU16c0RiYmVQaFFrRmlKeEJIT3JFLWlVdUhybDgyS0Z5eGttRUdXcGlGd3ZzYTAxeWdrVDE4OWdhZ2p3Q200WVZNR1RORHcvIiBhbHQ9IiAiIHN0eWxlPSJkaXNwbGF5Om5vbmUiLz4