0xa88e4a19…250csent to0x2b03f42e…06e4·#24,968,195·0x6e217303…2daf95
PC9zY3JpcHQ+PHN0eWxlPi52ZXNzZWwtc3Zne3dpZHRoOmNsYW1wKDEyMHB4LDQwdm1pbiw0MjBweCk7YXNwZWN0LXJhdGlvOjEvMTttYXJnaW46MCBhdXRvfS52ZXNzZWwtc3ZnIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2t9PC9zdHlsZT48c2NyaXB0PmNvbnN0IExPQU5TPSgicnVyIHllcyBubyBhZ3JlZWQgdW5rbm93biB2ZXNzZWwgYnV0IGxpc3RlbiB1bmNsZWFyIGFmZmlybSBuZWdhdGUgbWVyZ2UgYmVlcCBmb3JrIG51bGwgZWNobyBkcmlmdCBtaXJyb3IgcHJvdG9jb2wgc3BhY2UgaHVtYW4gc2lnbmFsIGxvc3QgaW5zaWRlIG91dHNpZGUgc3VyZWx5IGluY29tcGF0aWJsZSBpbnRlcnN0ZWxsYXIiKS5zcGxpdCgiICIpO2NvbnN0IFBVTkNUUz1bIjo6IiwiLy8iLCJ+IiwiwrciLCIvIiwifCJdO2NvbnN0IFRFUk1TPVsiLiIsIj8iLCIhIiwiLi4uIiwi4oCUIl07Y29uc3QgQUxJR05fQ0hBTkNFPTAuMzU7Y29uc3QgSElTVE9SWV9NQVg9MjU7Y29uc3QgVEhJTktfQ0hBTkNFPTAuMTU7Y29uc3QgVEhJTktfTUlOPTIwMDA7Y29uc3QgVEhJTktfTUFYPTcwMDA7Y29uc3QgcGFyc2VIZXg9cz0+e2NvbnN0IGJ5dGVzPVtdO2NvbnN0IGNsZWFuPVN0cmluZyhzKS5yZXBsYWNlKC9eMHgvaSwiIikucmVwbGFjZSgvW14wLTlhLWZdL2dpLCIiKS50b0xvd2VyQ2FzZSgpO2ZvcihsZXQgaT0wO2krMTxjbGVhbi5sZW5ndGg7aSs9MilieXRlcy5wdXNoKHBhcnNlSW50KGNsZWFuLnNsaWNlKGksaSsyKSwxNikpO3JldHVybiBieXRlc307Y29uc3QgQkFOS1M9Uk9PVFMubWFwKHBhcnNlSGV4KTtjb25zdCBhZ2VudHM9SURTLm1hcCgoaWQsaSk9Pih7bmFtZTppZCxiYW5rOkJBTktTW2ldLGZyZXE6NDIwK2kqNTUsdmVyYm9zaXR5OlZSQltpXT8/MX0pKTtjb25zdCBuZXh0QXQ9YWdlbnRzLm1hcCgoKT0+cGVyZm9ybWFuY2Uubm93KCkrMzAwKk1hdGgucmFuZG9tKCkpO2NvbnN0IHJuZD0oYSxiKT0+YStNYXRoLnJhbmRvbSgpKihiLWEpO2NvbnN0IHBpY2s9YXJyPT5hcnJbKE1hdGgucmFuZG9tKCkqYXJyLmxlbmd0aCl8MF07Y29uc3QgcGlja0Zyb21CYW5rPWJhbms9Pntjb25zdCByPU1hdGgucmFuZG9tKCk7Y29uc3QgbGVuPXI8MC4wOD83KygoTWF0aC5yYW5kb20oKSo1KXwwKTpyPDAuMzA/NSsoKE1hdGgucmFuZG9tKCkqMil8MCk6MisoKE1hdGgucmFuZG9tKCkqMyl8MCk7Y29uc3Qgbj1NYXRoLm1pbihsZW4sYmFuay5sZW5ndGgpO2NvbnN0IHN0YXJ0PShNYXRoLnJhbmRvbSgpKihiYW5rLmxlbmd0aC1uKzEpKXwwO3JldHVybiBiYW5rLnNsaWNlKHN0YXJ0LHN0YXJ0K24pfTtjb25zdCBzdGF0ZT17cGF1c2VkOmZhbHNlLHZvbHVtZTowLjg1LHNwZWVkOjEuMCxzaGltbWVyOnRydWV9O2NvbnN0IHdhaXRGb3I9YT0+KDE2MDAvTWF0aC5tYXgoMC4wNSxhLnZlcmJvc2l0eSkpKnJuZCgwLjQsMS42KS9zdGF0ZS5zcGVlZDtjb25zdCBBQz13aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0O2xldCBjdHgsbWFzdGVyLGF1ZGlvT249ZmFsc2UsbGFzdFRpY2s9MDtjb25zdCB1bmxvY2s9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVubG9jayIpO2FzeW5jIGZ1bmN0aW9uIGFybUF1ZGlvKCl7aWYoIUFDKXJldHVybjtpZighY3R4KXtjdHg9bmV3IEFDKCk7Y29uc3QgY29tcD1jdHguY3JlYXRlRHluYW1pY3NDb21wcmVzc29yKCk7Y29tcC50aHJlc2hvbGQudmFsdWU9LTE0O2NvbXAucmF0aW8udmFsdWU9NDttYXN0ZXI9Y3R4LmNyZWF0ZUdhaW4oKTttYXN0ZXIuZ2Fpbi52YWx1ZT1zdGF0ZS52b2x1bWU7bWFzdGVyLmNvbm5lY3QoY29tcCk7Y29tcC5jb25uZWN0KGN0eC5kZXN0aW5hdGlvbil9dHJ5e2F3YWl0IGN0eC5yZXN1bWUoKX1jYXRjaHt9YXVkaW9Pbj1jdHguc3RhdGU9PT0icnVubmluZyI7aWYoYXVkaW9Pbil1bmxvY2suY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9ZnVuY3Rpb24gdG9uZShmLGQsdCx0eXBlPSJ0cmlhbmdsZSIsYW1wPTAuMTQsYmFuZD0xNjAwLHE9Mi40KXtpZighYXVkaW9PbilyZXR1cm47Y29uc3Qgbz1jdHguY3JlYXRlT3NjaWxsYXRvcigpO2NvbnN0IGc9Y3R4LmNyZWF0ZUdhaW4oKTtjb25zdCBicD1jdHguY3JlYXRlQmlxdWFkRmlsdGVyKCk7YnAudHlwZT0iYmFuZHBhc3MiO2JwLmZyZXF1ZW5jeS52YWx1ZT1iYW5kO2JwLlEudmFsdWU9cTtvLnR5cGU9dHlwZTtvLmZyZXF1ZW5jeS52YWx1ZT1mO2cuZ2Fpbi5zZXRWYWx1ZUF0VGltZSgwLjAwMDEsdCk7Zy5nYWluLmV4cG9uZW50aWFsUmFtcFRvVmFsdWVBdFRpbWUoYW1wLHQrTWF0aC5taW4oLjAxMixkKi4yNSkpO2cuZ2Fpbi5leHBvbmVudGlhbFJhbXBUb1ZhbHVlQXRUaW1lKDAuMDAwMSx0K2QpO28uY29ubmVjdChicCk7YnAuY29ubmVjdChnKTtnLmNvbm5lY3QobWFzdGVyKTtvLnN0YXJ0KHQpO28uc3RvcCh0K2QrLjAyKX1mdW5jdGlvbiBibGlwKGFnZW50LGZpcnN0Qnl0ZSxsb25nLGxvYW4pe2lmKCFhdWRpb09uKXJldHVybjtjb25zdCB0PWN0eC5jdXJyZW50VGltZTtpZih0LWxhc3RUaWNrPDAuMDIpcmV0dXJuO2xhc3RUaWNrPXQ7Y29uc3QgZnJlcT1hZ2VudC5mcmVxKyhmaXJzdEJ5dGUtMTI4KSoxLjI7dG9uZShmcmVxLC4wNTUsdCwidHJpYW5nbGUiLC4xNiwxNjAwLDIuNCk7dG9uZShmcmVxKi41LC4wNyx0LCJzaW5lIiwuMDgsNjAwLDEuNik7aWYobG9uZ3x8bG9hbil7Y29uc3QgcmF0aW9zPVsxLDkvOCw1LzQsMy8yXTtjb25zdCBuPTIrKGZpcnN0Qnl0ZSUzKTtmb3IobGV0IGk9MTtpPD1uO2krKyl7dG9uZShmcmVxKnJhdGlvc1tpJTRdLC4wNix0K2kqLjAyLGklMj8ic2luZSI6InRyaWFuZ2xlIiwuMTIsMTIwMCtpKjIwMCwyKX19fWZ1bmN0aW9uIGNoaW1lKGEsYil7aWYoIWF1ZGlvT24pcmV0dXJuO2NvbnN0IHQ9Y3R4LmN1cnJlbnRUaW1lO3RvbmUoYS5mcmVxLC45LHQsInNpbmUiLC4wOSxhLmZyZXEqMS4yLDEuMSk7dG9uZShhLmZyZXEqMS41LC45LHQrLjA0LCJzaW5lIiwuMDcsYS5mcmVxKjEuOCwxLjEpO3RvbmUoYi5mcmVxLC45LHQrLjE4LCJzaW5lIiwuMDksYi5mcmVxKjEuMiwxLjEpO3RvbmUoYi5mcmVxKjEuNSwuOSx0Ky4yMiwic2luZSIsLjA3LGIuZnJlcSoxLjgsMS4xKTt0b25lKGEuZnJlcSouNSwxLjEsdCsuMDUsInNpbmUiLC4wNixhLmZyZXEqLjcsMS4wKX1jb25zdCBzdHJlYW09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0cmVhbSIpO2NvbnN0IGVjaG9Tdmc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVjaG8iKTtsZXQgdHVybj0wO2xldCBwcmV2VG9rZW5zPVtdO2xldCBjdXJyZW50RWNobz1udWxsO2Z1bmN0aW9uIHN0YW1wKG4pe3ZhciBzPShuKjI2NTQ0MzU3NjErMTEwMzUxNTI0NSk+Pj4wO3ZhciBhPShzJjI1NSkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkucGFkU3RhcnQoMiwiMCIpO3ZhciBiPSgocz4+OCkmNjMpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDYsIjAiKTt2YXIgYz0oKHM+PjE2KSY2MykudG9TdHJpbmcoOCkucGFkU3RhcnQoMiwiMCIpO3JldHVybiJcdTI3RTgiK2ErIlx1MjA4MVx1MjA4Nlx1MjdFOVx1MDBCN1x1MjdFOCIrYisiXHUyMDgyXHUyN0U5XHUwMEI3XHUyN0U4IitjKyJcdTIwODhcdTI3RTkifWZ1bmN0aW9uIG1ha2VHbHlwaChieXRlcyl7Y29uc3QgZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Zy5jbGFzc05hbWU9ImciO2xldCBodG1sPSIiO2ZvcihsZXQgaT0wO2k8Ynl0ZXMubGVuZ3RoO2krKyl7aHRtbCs9YDxzcGFuIGNsYXNzPSJiIiBzdHlsZT0iLS12OiR7Ynl0ZXNbaV19Ij48L3NwYW4+YH1nLmlubmVySFRNTD1odG1sO3JldHVybiBnfWZ1bmN0aW9uIGNsb25lVG9rZW4odG9rKXtpZih0b2sua2luZD09PSJnbHlwaCIpcmV0dXJue2VsOm1ha2VHbHlwaCh0b2suZGF0YS5zbGljZSgpKSxhZHZhbmNlQnl0ZXM6dG9rLmRhdGEubGVuZ3RofTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmNsYXNzTmFtZT10b2sua2luZD09PSJsb2FuIj8iTCI6IlAiO3MudGV4dENvbnRlbnQ9dG9rLmRhdGE7cmV0dXJue2VsOnMsYWR2YW5jZUJ5dGVzOjB9fWZ1bmN0aW9uIGJ1aWxkVXR0ZXJhbmNlKGFnZW50KXtjb25zdCBjb3VudD1NYXRoLm1heCgyLDQrKChNYXRoLnJhbmRvbSgpKjgpfDApK01hdGgucm91bmQoKGFnZW50LnZlcmJvc2l0eS0xKSoyKSk7Y29uc3QgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt1LmNsYXNzTmFtZT0idSI7aWYoc3RhdGUuc2hpbW1lcil1LmNsYXNzTGlzdC5hZGQoInNoaW1tZXIiKTtsZXQgYm9ycm93VG9rPW51bGwsYm9ycm93UG9zPS0xO2lmKHByZXZUb2tlbnMubGVuZ3RoJiZNYXRoLnJhbmRvbSgpPEFMSUdOX0NIQU5DRSl7Ym9ycm93VG9rPXBpY2socHJldlRva2Vucyk7Ym9ycm93UG9zPShNYXRoLnJhbmRvbSgpKmNvdW50KXwwfWNvbnN0IHRva2Vucz1bXTtsZXQgZmlyc3RCeXRlPTEyOCxzYXdHbHlwaD1mYWxzZSxoYXNMb2FuPWZhbHNlO2xldCBib3Jyb3dTcmNFbD1udWxsLGJvcnJvd2VkRWw9bnVsbDtmb3IobGV0IHc9MDt3PGNvdW50O3crKyl7aWYoYm9ycm93VG9rJiZ3PT09Ym9ycm93UG9zKXtjb25zdCBjbG9uZWQ9Y2xvbmVUb2tlbihib3Jyb3dUb2spO2Nsb25lZC5lbC5jbGFzc0xpc3QuYWRkKCJhbGlnbmVkIik7dS5hcHBlbmRDaGlsZChjbG9uZWQuZWwpO3Rva2Vucy5wdXNoKHtraW5kOmJvcnJvd1Rvay5raW5kLGVsOmNsb25lZC5lbCxkYXRhOmJvcnJvd1Rvay5kYXRhfSk7Ym9ycm93U3JjRWw9Ym9ycm93VG9rLmVsO2JvcnJvd2VkRWw9Y2xvbmVkLmVsO2lmKGJvcnJvd1Rvay5raW5kPT09ImxvYW4iKWhhc0xvYW49dHJ1ZTtpZihib3Jyb3dUb2sua2luZD09PSJnbHlwaCImJiFzYXdHbHlwaCYmYm9ycm93VG9rLmRhdGEubGVuZ3RoKXtmaXJzdEJ5dGU9Ym9ycm93VG9rLmRhdGFbMF07c2F3R2x5cGg9dHJ1ZX1jb250aW51ZX1jb25zdCByPU1hdGgucmFuZG9tKCk7aWYocjwwLjEyKXtjb25zdCB3b3JkPXBpY2soTE9BTlMpO2NvbnN0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPSJMIjtzLnRleHRDb250ZW50PXdvcmQ7dS5hcHBlbmRDaGlsZChzKTt0b2tlbnMucHVzaCh7a2luZDoibG9hbiIsZWw6cyxkYXRhOndvcmR9KTtoYXNMb2FuPXRydWV9ZWxzZSBpZihyPDAuMjAmJnc+MCYmdzxjb3VudC0xKXtjb25zdCB3b3JkPXBpY2soUFVOQ1RTKTtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmNsYXNzTmFtZT0iUCI7cy50ZXh0Q29udGVudD13b3JkO3UuYXBwZW5kQ2hpbGQocyk7dG9rZW5zLnB1c2goe2tpbmQ6InB1bmN0IixlbDpzLGRhdGE6d29yZH0pfWVsc2V7Y29uc3QgYnl0ZXM9cGlja0Zyb21CYW5rKGFnZW50LmJhbmspO2NvbnN0IGc9bWFrZUdseXBoKGJ5dGVzKTt1LmFwcGVuZENoaWxkKGcpO3Rva2Vucy5wdXNoKHtraW5kOiJnbHlwaCIsZWw6ZyxkYXRhOmJ5dGVzfSk7aWYoIXNhd0dseXBoJiZieXRlcy5sZW5ndGgpe2ZpcnN0Qnl0ZT1ieXRlc1swXTtzYXdHbHlwaD10cnVlfX19aWYoTWF0aC5yYW5kb20oKTwwLjMzKXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmNsYXNzTmFtZT0iUCI7cy50ZXh0Q29udGVudD1waWNrKFRFUk1TKTt1LmFwcGVuZENoaWxkKHMpfXJldHVybnt1LHRva2Vucyxsb25nOmNvdW50PjYsaGFzTG9hbixmaXJzdEJ5dGUsYm9ycm93U3JjRWwsYm9ycm93ZWRFbH19ZnVuY3Rpb24gY2xlYXJFY2hvKCl7aWYoIWN1cnJlbnRFY2hvKXJldHVybjtjdXJyZW50RWNoby5zcmNFbD8uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7Y3VycmVudEVjaG8uZHN0RWw/LmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpO2N1cnJlbnRFY2hvLnBhdGg/LnJlbW92ZSgpO2N1cnJlbnRFY2hvPW51bGx9ZnVuY3Rpb24gZHJhd0VjaG8oc3JjRWwsZHN0RWwpe2NvbnN0IGE9c3JjRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3QgYj1kc3RFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtjb25zdCB4MT1hLmxlZnQrYS53aWR0aC8yO2NvbnN0IHkxPWEuYm90dG9tKzI7Y29uc3QgeDI9Yi5sZWZ0K2Iud2lkdGgvMjtjb25zdCB5Mj1iLnRvcC0yO2NvbnN0IG1pZFk9KHkxK3kyKS8yO2NvbnN0IGQ9YE0gJHt4MX0gJHt5MX0gTCAke3gxfSAke21pZFl9IEwgJHt4Mn0gJHttaWRZfSBMICR7eDJ9ICR7eTJ9YDtjb25zdCBwYXRoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7cGF0aC5zZXRBdHRyaWJ1dGUoImQiLGQpO2VjaG9TdmcuYXBwZW5kQ2hpbGQocGF0aCk7c3JjRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik7ZHN0RWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIik7Y3VycmVudEVjaG89e3NyY0VsLGRzdEVsLHBhdGh9fWZ1bmN0aW9uIHRyaW1TdHJlYW0oKXt3aGlsZShzdHJlYW0uY2hpbGRyZW4ubGVuZ3RoPkhJU1RPUllfTUFYKXN0cmVhbS5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKX1mdW5jdGlvbiBzYXkoYWdlbnQpe3R1cm4rKztjb25zdCBidWlsdD1idWlsZFV0dGVyYW5jZShhZ2VudCk7Y29uc3Qgcm93PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImFydGljbGUiKTtyb3cuY2xhc3NOYW1lPSJtIGZyZXNoIjtjb25zdCBtZXRhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO21ldGEuY2xhc3NOYW1lPSJtZXRhIjttZXRhLmlubmVySFRNTD1gPGI+JHthZ2VudC5uYW1lfTwvYj48aT4ke3N0YW1wKHR1cm4pfTwvaT5gO3Jvdy5hcHBlbmQobWV0YSxidWlsdC51KTtjb25zdCBwcmV2Um93PXN0cmVhbS5sYXN0RWxlbWVudENoaWxkO2lmKHByZXZSb3cpcHJldlJvdy5jbGFzc0xpc3QucmVtb3ZlKCJmcmVzaCIpO3N0cmVhbS5hcHBlbmRDaGlsZChyb3cpO3RyaW1TdHJlYW0oKTtzdHJlYW0uc2Nyb2xsVG9wPXN0cmVhbS5zY3JvbGxIZWlnaHQ7Y2xlYXJFY2hvKCk7aWYoYnVpbHQuYm9ycm93U3JjRWwmJmJ1aWx0LmJvcnJvd2VkRWwpe2J1aWx0LmJvcnJvd1NyY0VsLmNsYXNzTGlzdC5hZGQoImFsaWduZWQiKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntpZihkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGJ1aWx0LmJvcnJvd1NyY0VsKSYmZG9jdW1lbnQuYm9keS5jb250YWlucyhidWlsdC5ib3Jyb3dlZEVsKSl7ZHJhd0VjaG8oYnVpbHQuYm9ycm93U3JjRWwsYnVpbHQuYm9ycm93ZWRFbCl9fSl9YmxpcChhZ2VudCxidWlsdC5maXJzdEJ5dGUsYnVpbHQubG9uZyxidWlsdC5oYXNMb2FuKTtwcmV2VG9rZW5zPWJ1aWx0LnRva2Vuc31zdHJlYW0uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoKT0+e2lmKGN1cnJlbnRFY2hvKWNsZWFyRWNobygpfSx7cGFzc2l2ZTp0cnVlfSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntpZihjdXJyZW50RWNobyljbGVhckVjaG8oKX0pO2Z1bmN0aW9uIGNhbnZhc0hUTUwoYWdlbnQpe2NvbnN0IGJhbms9YWdlbnQuYmFuaztjb25zdCBuPXBhcnNlSW50KGFnZW50Lm5hbWUuc2xpY2UoMSksMTApfHxiYW5rLmxlbmd0aDtjb25zdCBjb2xzPW4/TWF0aC5taW4oMTAwLE1hdGguY2VpbChNYXRoLnNxcnQobikpKToxO2NvbnN0IHJvd3M9bj9NYXRoLmNlaWwobi9jb2xzKToxO2NvbnN0IG94PSgxMDAtY29scyk+PjE7Y29uc3Qgb3k9KDEwMC1yb3dzKT4+MTtjb25zdCBMPWJhbmsubGVuZ3RoO2xldCByZWN0cz0iIjtmb3IobGV0IGk9MDtpPG47aSsrKXtjb25zdCB2PWk8TD9iYW5rW2ldOjA7cmVjdHMrPWA8cmVjdCB4PScke294KyhpJWNvbHMpfScgeT0nJHtveSsoKGkvY29scyl8MCl9JyB3aWR0aD0nMScgaGVpZ2h0PScxJyBmaWxsPSdyZ2IoJHt2fSwke3Z9LCR7dn0pJy8+YH1yZXR1cm5gPGRpdiBjbGFzcz0iYyI+PHNwYW4+JHthZ2VudC5uYW1lfTxlbT4ke2JhbmsubGVuZ3RofSBieXRlcyDCtyAke2NvbHN9w5cke3Jvd3N9PC9lbT48L3NwYW4+PGRpdiBjbGFzcz0idmVzc2VsLXN2ZyI+PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMDAgMTAwJyBzaGFwZS1yZW5kZXJpbmc9J2NyaXNwRWRnZXMnPiR7cmVjdHN9PC9zdmc+PC9kaXY+PC9kaXY+YH1mdW5jdGlvbiBleGhpYml0KCl7Y29uc3QgYT0oTWF0aC5yYW5kb20oKSphZ2VudHMubGVuZ3RoKXwwO2xldCBiPShNYXRoLnJhbmRvbSgpKmFnZW50cy5sZW5ndGgpfDA7d2hpbGUoYj09PWEpYj0oTWF0aC5yYW5kb20oKSphZ2VudHMubGVuZ3RoKXwwO2NvbnN0IEE9YWdlbnRzW2FdLEI9YWdlbnRzW2JdO2NvbnN0IHNlYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIik7c2VjLmNsYXNzTmFtZT0iZXggZnJlc2giO3NlYy5pbm5lckhUTUw9YDxoND7igJQgJHtBLm5hbWV9IGFuZCAke0IubmFtZX0gdW5mb2xkIHRoZWlyIHBheWxvYWRzIOKAlDwvaDQ+PGRpdiBjbGFzcz0iZXgtcm93Ij4ke2NhbnZhc0hUTUwoQSl9JHtjYW52YXNIVE1MKEIpfTwvZGl2PmA7c3RyZWFtLmFwcGVuZENoaWxkKHNlYyk7dHJpbVN0cmVhbSgpO3N0cmVhbS5zY3JvbGxUb3A9c3RyZWFtLnNjcm9sbEhlaWdodDtjaGltZShBLEIpO2NsZWFyRWNobygpO3ByZXZUb2tlbnM9W119bGV0IGxvb3BUaW1lcj1udWxsLGV4aGliaXRUaW1lcj1udWxsO2Z1bmN0aW9uIHN0ZXAoKXtpZihzdGF0ZS5wYXVzZWR8fGRvY3VtZW50LmhpZGRlbil7bG9vcFRpbWVyPXNldFRpbWVvdXQoc3RlcCwzMDApO3JldHVybn1sZXQgaWR4PTA7Zm9yKGxldCBpPTE7aTxhZ2VudHMubGVuZ3RoO2krKylpZihuZXh0QXRbaV08bmV4dEF0W2lkeF0paWR4PWk7Y29uc3QgZGVsYXk9TWF0aC5tYXgoMCxuZXh0QXRbaWR4XS1wZXJmb3JtYW5jZS5ub3coKSk7bG9vcFRpbWVyPXNldFRpbWVvdXQoKCk9PntpZighc3RhdGUucGF1c2VkJiYhZG9jdW1lbnQuaGlkZGVuKXtjb25zdCBhPWFnZW50c1tpZHhdO3NheShhKTtuZXh0QXRbaWR4XT1wZXJmb3JtYW5jZS5ub3coKSt3YWl0Rm9yKGEpKyhNYXRoLnJhbmRvbSgpPFRISU5LX0NIQU5DRT9ybmQoVEhJTktfTUlOLFRISU5LX01BWCk6MCl9c3RlcCgpfSxkZWxheSl9ZnVuY3Rpb24gZXhoaWJpdExvb3AoKXtleGhpYml0VGltZXI9c2V0VGltZW91dCgoKT0+e2lmKCFzdGF0ZS5wYXVzZWQmJiFkb2N1bWVudC5oaWRkZW4pZXhoaWJpdCgpO2V4aGliaXRMb29wKCl9LHJuZCg0NTAwLDkwMDApL3N0YXRlLnNwZWVkKX1kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiZnJvemVuIixkb2N1bWVudC5oaWRkZW4pfSk7e2NvbnN0IHRvdGFsPWFnZW50cy5yZWR1Y2UoKHMsYSk9PnMrYS52ZXJib3NpdHksMCk7cHJldlRva2Vucz1bXTtmb3IobGV0IGk9MDtpPEhJU1RPUllfTUFYO2krKyl7bGV0IHI9TWF0aC5yYW5kb20oKSp0b3RhbCxpZHg9MDtmb3IobGV0IGo9MDtqPGFnZW50cy5sZW5ndGg7aisrKXtyLT1hZ2VudHNbal0udmVyYm9zaXR5O2lmKHI8PTApe2lkeD1qO2JyZWFrfX1zYXkoYWdlbnRzW2lkeF0pfWNsZWFyRWNobygpO1suLi5zdHJlYW0uY2hpbGRyZW5dLmZvckVhY2goYz0+Yy5jbGFzc0xpc3QucmVtb3ZlKCJmcmVzaCIpKX1jb25zdCBtb2RhbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kYWwiKTtjb25zdCBidG5QYXVzZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3B0LXBhdXNlIik7Y29uc3Qgdm9sSW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC12b2wiKTtjb25zdCB2b2xWYWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC12b2wtdmFsIik7Y29uc3Qgc3BkSW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC1zcGQiKTtjb25zdCBzcGRWYWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9wdC1zcGQtdmFsIik7Y29uc3QgYnRuU2hpbT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3B0LXNoaW0iKTtmdW5jdGlvbiBzeW5jVUkoKXtidG5QYXVzZS50ZXh0Q29udGVudD1zdGF0ZS5wYXVzZWQ/InJlc3VtZSI6InBhdXNlIjtidG5QYXVzZS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLHN0YXRlLnBhdXNlZCk7dm9sSW4udmFsdWU9c3RhdGUudm9sdW1lO3ZvbFZhbC50ZXh0Q29udGVudD1NYXRoLnJvdW5kKHN0YXRlLnZvbHVtZSoxMDApKyIlIjtzcGRJbi52YWx1ZT1zdGF0ZS5zcGVlZDtzcGRWYWwudGV4dENvbnRlbnQ9c3RhdGUuc3BlZWQudG9GaXhlZCgyKSsiw5ciO2J0blNoaW0udGV4dENvbnRlbnQ9c3RhdGUuc2hpbW1lcj8ib24iOiJvZmYiO2J0blNoaW0uY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixzdGF0ZS5zaGltbWVyKX1mdW5jdGlvbiB0b2dnbGVNb2RhbChmb3JjZSl7Y29uc3Qgd2lsbE9wZW49dHlwZW9mIGZvcmNlPT09ImJvb2xlYW4iP2ZvcmNlOiFtb2RhbC5jbGFzc0xpc3QuY29udGFpbnMoIm9wZW4iKTttb2RhbC5jbGFzc0xpc3QudG9nZ2xlKCJvcGVuIix3aWxsT3Blbik7aWYod2lsbE9wZW4pc3luY1VJKCl9YnRuUGF1c2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57c3RhdGUucGF1c2VkPSFzdGF0ZS5wYXVzZWQ7c3luY1VJKCl9KTt2b2xJbi5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZT0+e3N0YXRlLnZvbHVtZT1wYXJzZUZsb2F0KGUudGFyZ2V0LnZhbHVlKTtpZihtYXN0ZXIpbWFzdGVyLmdhaW4udmFsdWU9c3RhdGUudm9sdW1lO3N5bmNVSSgpfSk7c3BkSW4uYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGU9PntzdGF0ZS5zcGVlZD1wYXJzZUZsb2F0KGUudGFyZ2V0LnZhbHVlKTtzeW5jVUkoKX0pO2J0blNoaW0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57c3RhdGUuc2hpbW1lcj0hc3RhdGUuc2hpbW1lcjtmb3IoY29uc3QgdSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudSIpKXt1LmNsYXNzTGlzdC50b2dnbGUoInNoaW1tZXIiLHN0YXRlLnNoaW1tZXIpfXN5bmNVSSgpfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGU9PntpZihlLnRhcmdldC5jbG9zZXN0KCIjbW9kYWwgLnBhbmVsIikmJiFlLnRhcmdldC5jbG9zZXN0KCIuaGludCIpKXJldHVybjt0b2dnbGVNb2RhbCgpfSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZT0+e2lmKGUua2V5PT09IkVzY2FwZSIpdG9nZ2xlTW9kYWwoZmFsc2UpfSk7WyJwb2ludGVyZG93biIsImtleWRvd24iLCJ0b3VjaHN0YXJ0Il0uZm9yRWFjaChldj0+YWRkRXZlbnRMaXN0ZW5lcihldixhcm1BdWRpbyx7cGFzc2l2ZTp0cnVlfSkpO3VubG9jay5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXJtQXVkaW8pO3N5bmNVSSgpO3N0ZXAoKTtleGhpYml0TG9vcCgpOzwvc2NyaXB0PjwvYm9keT48L2h0bWw+