⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.82
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
local
/
psa
/
var
/
modules
/
xovi
/
Edit File: serp_1.json
{"success":true,"settings":{"hash":"1","url":"https:\/\/www.google.com\/search?q=2004+sl+500+for+sale&as_rights=&num=100&start=0&pws=0&hl=en&near=United+States&uule=w+CAIQICINVW5pdGVkIFN0YXRlcw&gws_rd=cr&gl=US&glp=1&gbv=1"},"code":200,"exception":null,"bodyLen":84246,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT0xQ0dBYUs2RkJvYlg3TThQbUxHNDJBdyIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+UGxlYXNlIGNsaWNrIDxhIGhyZWY9Ii9odHRwc2VydmljZS9yZXRyeS9lbmFibGVqcz9zZWk9MUNHQWFLNkZCb2JYN004UG1MRzQyQXciPmhlcmU8L2E+IGlmIHlvdSBhcmUgbm90IHJlZGlyZWN0ZWQgd2l0aGluIGEgZmV3IHNlY29uZHMuPC9kaXY+PC9ub3NjcmlwdD4gPHNjcmlwdCBub25jZT0iVlZFVE5MY2xlNmVkTFBlSlJ0cjduQSI+Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgbj1mdW5jdGlvbih5LEUsbCxZLFAsSyxVLEksUixUKXtmb3IoUj0xNztSIT04MDspe2lmKFI9PTk1KXJldHVybiBUO2lmKFI9PTI0KVI9bCsxPj5FPT0xPzgzOjEyO2Vsc2UgaWYoUj09MTIpUj1sLXkmNj85NTo2O2Vsc2UgaWYoUj09ODMpVD1ZLFI9MTI7ZWxzZSBpZihSPT0xNylSPTI0O2Vsc2UgaWYoUj09Nil7aWYoST0oVT1PLnRydXN0ZWRUeXBlcyxQKSxVJiZVLmNyZWF0ZVBvbGljeSl7dHJ5e0k9VS5jcmVhdGVQb2xpY3koWSx7Y3JlYXRlSFRNTDp2LGNyZWF0ZVNjcmlwdDp2LGNyZWF0ZVNjcmlwdFVSTDp2fSl9Y2F0Y2goUyl7aWYoTy5jb25zb2xlKU8uY29uc29sZVtLXShTLm1lc3NhZ2UpfVQ9SX1lbHNlIFQ9STtSPTk1fX19LE89dGhpc3x8c2VsZix2PWZ1bmN0aW9uKHkpe3JldHVybiBuLmNhbGwodGhpcyw1LDMsNyx5KX07KDAsZXZhbCkoZnVuY3Rpb24oeSxFKXtyZXR1cm4oRT1uKDUsMyw1LCJrcyIsbnVsbCwiZXJyb3IiKSkmJnkuZXZhbChFLmNyZWF0ZVNjcmlwdCgiMSIpKT09PTE\/ZnVuY3Rpb24obCl7cmV0dXJuIEUuY3JlYXRlU2NyaXB0KGwpfTpmdW5jdGlvbihsKXtyZXR1cm4iIitsfX0oTykoQXJyYXkoTWF0aC5yYW5kb20oKSo3ODI0fDApLmpvaW4oIlxuIikrWycvLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvZ015d2ljMjkxY21ObGN5STZXeUlpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUlDSmRMQ0p1WVcxbGN5STZXeUpqYkc5emRYSmxSSGx1WVcxcFkwSjFkSFJ2YmlKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRWlmUT09JywKJyhmdW5jdGlvbigpey8qJywKJycsCicgQ29weXJpZ2h0IEdvb2dsZSBMTEMnLAonIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wJywKJyovJywKJ3ZhciBOJD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSl7e0k9OTY7d2hpbGUoSSE9MTkpaWYoST09OTgpST0oeS0xXjIwKT49eSYmKHkrOV4zMCk8eT84NTo0OTtlbHNlIGlmKEk9PTU5KVk9Tz1SLEk9NjY7ZWxzZSBpZihJPT04NSl7YTp7Zm9yKE8gaW4gdilpZihVLmNhbGwodm9pZCAwLHZbT10sTyx2KSl7VD1FO2JyZWFrIGF9VD1sfUk9NDl9ZWxzZSBpZihJPT0yOClPKz1PPDwzLE9ePU8+PjExLEs9TysoTzw8MTUpPj4+Uix2PW5ldyBOdW1iZXIoSyYoMTw8bCktMSksdltSXT0oSz4+PmwpJVUsVD12LEk9NTE7ZWxzZSBpZihJPT0xNSl0aGlzLkM9TyxJPTYzO2Vsc2UgaWYoST09NjMpST0oeV4yMCk+PjQ9PTQ\/NzM6Mzk7ZWxzZSBpZihJPT03OSlZKyssST0yOTtlbHNlIGlmKEk9PTUwKXRoaXNbdGhpcysiIl09dGhpcyxUPVByb21pc2UucmVzb2x2ZSgpLEk9NTM7ZWxzZSBpZihJPT01MylJPSh5JjEyMCk9PXk\/NTk6NTE7ZWxzZSBpZihJPT0yKU89dj90eXBlb2Ygdi5YZT09PSJmdW5jdGlvbiI\/di5YZSgpOm5ldyB2Om51bGwsST0xNTtlbHNle2lmKEk9PTUxKXJldHVybiBUO0k9PTc0P0k9KHY9V3Rbbl0pPzY4OjYyOkk9PTUyPyhZPXRoaXMuY29uc3RydWN0b3IsST0xMyk6ST09NjQ\/KE8rPUUuY2hhckNvZGVBdChZKSxPKz1PPDwxMCxPXj1PPj42LEk9NzkpOkk9PTY4P0k9MjpJPT03Mj9JPShPPWwpPzE1OjUyOkk9PTY2P0k9Mjk6ST09NzM\/KHRoaXMucUk9Yy5kb2N1bWVudHx8ZG9jdW1lbnQsST0zOSk6ST09Mjk\/ST1ZPEUubGVuZ3RoPzY0OjI4Okk9PTEzP0k9NDU6ST09NDg\/ST00NTpJPT05Nj9JPTk4Okk9PTY3PyhuPXEkKDM3LDUsWSksST03NCk6ST09NDk\/ST0oeSs5XjE3KT49eSYmKHktOXw3MSk8eT8zNzo2MzpJPT00NT9JPVk\/Njc6MjpJPT0zNz8oWlUuY2FsbCh0aGlzLFUpLEk9NzIpOkk9PTM5P0k9KHktOHwzMik8eSYmKHktNnw0Myk+PXk\/NTA6NTM6ST09NjImJihZPShLPU9iamVjdC5nZXRQcm90b3R5cGVPZihZLnByb3RvdHlwZSkpJiZLLmNvbnN0cnVjdG9yLEk9NDgpfX19LEo9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9ODU7SyE9MzQ7KWlmKEs9PTg5KXYgaW4gWSYmbC5jYWxsKHZvaWQgMCxZW3ZdLHYsVSksSz0xOTtlbHNlIGlmKEs9PTg2KU89VS5sZW5ndGgsWT10eXBlb2YgVT09PSJzdHJpbmciP1Uuc3BsaXQoeSk6VSx2PVIsSz00ODtlbHNle2lmKEs9PTY4KXJldHVybiBuO2lmKEs9PTIyKUs9djxPPzg5OjYxO2Vsc2UgaWYoSz09ODUpSz03NDtlbHNlIGlmKEs9PTg4KXtmb3IoWSBpbihVPVIsbCkubCl7Zm9yKE89KHY9bC5sW1ldLFIpO088di5sZW5ndGg7TysrKSsrVSxuTigzNCx5LHZbT10pO2RlbGV0ZSBsLmxbWV0sbC5RVC0tfUs9MjV9ZWxzZSBLPT0zOT8obj15LmNsYXNzTGlzdD95LmNsYXNzTGlzdDpQdCgwLDYseSwiIixSKS5tYXRjaCgvXFxTKy9nKXx8W10sSz05Mik6Sz09MjU\/Sz0oKEV8NikmMTEpPT0zPzg2OjYxOks9PTQ4P0s9MjI6Sz09NjM\/KG49S04oUixsLFUsMzQpJiYhIShsLlgmVSkhPXkmJighKGwuWXcmVSl8fGwuZGlzcGF0Y2hFdmVudChTRCgzLDQwLDMyLFIsMTYsOCxVLHkpKSkmJiFsLlUsSz02OCk6Sz09MTk\/KHYrKyxLPTIyKTpLPT03ND9LPShFfDI0KT09RT84ODoyNTpLPT02MT9LPUU8PDImMTU\/OTI6Mzk6Sz09OTImJihLPUUtNz49LTQzJiYoRT4+MSYxNik8MTU\/NjM6NjgpfX0sWVQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMpe2ZvcihTPTE3O1MhPTgwOylpZihTPT0xMilTPShVPDwxJjcpPj01JiZVPj4xPDIyPzY6OTU7ZWxzZSBpZihTPT05NylTPWwuYWRkTGlzdGVuZXImJmwucmVtb3ZlTGlzdGVuZXI\/ODQ6Nzc7ZWxzZSBpZihTPT0yNClTPShVLTd8MjYpPFUmJihVLTFeMjcpPj1VPzgzOjEyO2Vsc2UgaWYoUz09OTEpUz1ULnByb3h5PzEyOjc7ZWxzZSBpZihTPT03KW49UnIoMTUsNiksVC5wcm94eT1uLG4uc3JjPWwsbi5saXN0ZW5lcj1ULFM9MzI7ZWxzZSBpZihTPT01MClsLmF0dGFjaEV2ZW50KFJyKDE1LDUxLCJvbiIsTy50b1N0cmluZygpKSxuKSxTPTE2O2Vsc2V7aWYoUz09ODkpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO2lmKFM9PTE2KWxRKyssUz0xMjtlbHNlIGlmKFM9PTE3KVM9MjQ7ZWxzZSBpZihTPT04MylTPU8\/NzU6ODk7ZWxzZSBpZihTPT04NClsLmFkZExpc3RlbmVyKG4pLFM9MTY7ZWxzZSBpZihTPT03NSlQPUlyKDY0LFIsRSk\/ISFFLmNhcHR1cmU6ISFFLChJPXooNjksbCkpfHwobFtUal09ST1uZXcgT3EobCkpLFQ9SS5hZGQoTyx5LFksUCxLKSxTPTkxO2Vsc2V7aWYoUz09OTUpcmV0dXJuIFc7aWYoUz09NjYpUz1sLmF0dGFjaEV2ZW50PzUwOjk3O2Vsc2UgaWYoUz09MzIpUz1sLmFkZEV2ZW50TGlzdGVuZXI\/OTo2NjtlbHNle2lmKFM9PTc3KXRocm93IEVycm9yKCJhZGRFdmVudExpc3RlbmVyIGFuZCBhdHRhY2hFdmVudCBhcmUgdW5hdmFpbGFibGUuIik7aWYoUz09OSl2dHx8KEU9UCksRT09PXZvaWQgMCYmKEU9diksbC5hZGRFdmVudExpc3RlbmVyKE8udG9TdHJpbmcoKSxuLEUpLFM9MTY7ZWxzZSBpZihTPT02KXthOntmb3IoTz12O088RS5sZW5ndGg7KytPKWlmKFk9RVtPXSwhWS54VyYmWS5saXN0ZW5lcj09eSYmWS5jYXB0dXJlPT0hIVImJlkuRDk9PWwpe1c9TzticmVhayBhfVc9LTF9Uz05NX19fX19LGI9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtzd2l0Y2goISgoeT4+MiY3KT49NCYmKCh5fDQpJjgpPDMpKXtjYXNlICEiIj09IWZhbHNlOk51bWJlcih1bmRlZmluZWQpO2JyZWFrO2Nhc2UgTmFOPT09TnVtYmVyKHRydWUudHJ1ZSk6aWYoTz13dSgib2JqZWN0IixsLCJudW1iZXIiKT09PSJhcnJheSI\/bDpbbF0sdGhpcy5qKVIodGhpcy5qKTtlbHNlIHRyeXtVPSF0aGlzLkoubGVuZ3RoLHY9W10seigzNSwwLHRoaXMsW2hwLHYsT10pLHooMywwLHRoaXMsW2lRLFIsdl0pLEUmJiFVfHx6KDI3LDAsRSx0aGlzLHRydWUpfWNhdGNoKEspe1B0KDAsNyx0aGlzLEssIjoiKSxSKHRoaXMuail9YnJlYWt9cmV0dXJuIHktMz4+NTw0JiYoeT4+MSY3KT49NSYmKFIuST9ZPUJ0KFIuUixSKToobD1wKFIsdHJ1ZSw4KSxsJjEyOCYmKGw9Mip+KGwmMTI4KS0yKn5sLShsfC0xMjkpKyh+bHwxMjgpLEU9cChSLHRydWUsMiksbD0oVT1sPDwyLDMqKFV8RSktKFUmRSktIC0yKzIqKH5VXkUpKSksWT1sKSksWX0sU0Q9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9NDI7SyE9MzQ7KWlmKEs9PTY2KVk9dHlwZW9mIHYsTz1ZIT1sP1k6dj9BcnJheS5pc0FycmF5KHYpPyJhcnJheSI6WToibnVsbCIsbj1PPT1VfHxPPT1sJiZ0eXBlb2Ygdi5sZW5ndGg9PUUsSz0xNDtlbHNlIGlmKEs9PTI3KW49TWF0aC5mbG9vcih0aGlzLlZUKyh0aGlzLkYoKS10aGlzLnlUKSksSz03MTtlbHNlIGlmKEs9PTI1KUs9KHl8OSk+PjQ8MiYmeTw8Mj49LTQ3PzI3OjcxO2Vsc2UgaWYoSz09NDIpSz0yNTtlbHNle2lmKEs9PTUzKXJldHVybiBuO2lmKEs9PTcxKUs9KHktUnw0OCk+PXkmJih5LTV8MjMpPHk\/NjY6MTQ7ZWxzZSBpZihLPT0xKXthOntzd2l0Y2goTyl7Y2FzZSAxOm49WT8iZGlzYWJsZSI6ImVuYWJsZSI7YnJlYWsgYTtjYXNlIGw6bj1ZPyJoaWdobGlnaHQiOiJ1bmhpZ2hsaWdodCI7YnJlYWsgYTtjYXNlIDQ6bj1ZPyJhY3RpdmF0ZSI6ImRlYWN0aXZhdGUiO2JyZWFrIGE7Y2FzZSB2Om49WT8ic2VsZWN0IjoidW5zZWxlY3QiO2JyZWFrIGE7Y2FzZSBVOm49WT8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgRTpuPVk\/ImZvY3VzIjoiYmx1ciI7YnJlYWsgYTtjYXNlIDY0Om49WT8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31LPTUzfWVsc2UgSz09MTQmJihLPSh5fDQwKT09eT8xOjUzKX19LEw9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMpe2ZvcihTPTYxLFQ9NjQ7Oyl0cnl7aWYoUz09NDApYnJlYWs7ZWxzZSBpZihTPT02MilUPTUwLG49cE4oTyxVLDQ2NSxZKSxTPTQxO2Vsc2UgaWYoUz09ODIpTy5LPVIsWT1PLkoucG9wKCksUz02MjtlbHNlIGlmKFM9PTIpUz1VIGluIGwubCYmeFQoNSwxLGwubFtVXSxFKT8xNTo5MTtlbHNle2lmKFM9PTYwKXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKFM9PTYxKVM9Mjg7ZWxzZSBpZihTPT05NylTPXktMT4+Mz09Mz84OjQzO2Vsc2UgaWYoUz09OClTPTIxO2Vsc2UgaWYoUz09MTUpbk4oMzUsUixFKSxTPTczO2Vsc2UgaWYoUz09NTUpZGVsZXRlIGwubFtVXSxsLlFULS0sUz05MTtlbHNle2lmKFM9PTUpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0UpO2lmKFM9PTkpUz15KzQ+PjM9PTE\/NDQ6OTE7ZWxzZSBpZihTPT0yMSlTPU8uSi5sZW5ndGg\/ODI6NjU7ZWxzZSBpZihTPT05NilTPUU\/MjA6NTtlbHNlIGlmKFM9PTcwKVQ9NjQsUHQoMCwzLE8sUCwiOiIpLFM9NDE7ZWxzZSBpZihTPT0yNilTPTIxO2Vsc2UgaWYoUz09NjUpST1uLFM9NDM7ZWxzZSBpZihTPT04NClTPXYmJk8uSz81MDoyNjtlbHNlIGlmKFM9PTI4KVM9eT4+MiYxMT85Nzo5MztlbHNlIGlmKFM9PTkzKVc9ZnVuY3Rpb24oKXt9LFcucHJvdG90eXBlPWwucHJvdG90eXBlLEUuUz1sLnByb3RvdHlwZSxFLnByb3RvdHlwZT1uZXcgVyxFLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FLEUuTDU9ZnVuY3Rpb24ocSxOLGgpe2Zvcih2YXIgdz00Nzt3IT03OylpZih3PT04OSlCW0MtUl09YXJndW1lbnRzW0NdLHc9NjQ7ZWxzZSBpZih3PT00Nyl2YXIgQj1BcnJheShhcmd1bWVudHMubGVuZ3RoLSh3PTU1LFIpKSxDPVI7ZWxzZSBpZih3PT02NClDKyssdz00MjtlbHNle2lmKHc9PTIxKXJldHVybiBsLnByb3RvdHlwZVtOXS5hcHBseShxLEIpO3c9PTU1P3c9NDI6dz09NDImJih3PUM8YXJndW1lbnRzLmxlbmd0aD84OToyMSl9fSxTPTk3O2Vsc2UgaWYoUz09NDMpUz0oeXw0MCk9PXk\/OTY6OTtlbHNle2lmKFM9PTkxKXJldHVybiBJO1M9PTQxPyhUPTY0LFM9ODQpOlM9PTQ0PyhVPUUudHlwZSxTPTIpOlM9PTIwP1M9dHlwZW9mIFIhPT0iZnVuY3Rpb24iPzYwOjk6Uz09NTA\/KEs9Ty5LLEsoZnVuY3Rpb24oKXt6KDQzLGwsRSxPLEUpfSksUz02NSk6Uz09NzMmJihTPWwubFtVXS5sZW5ndGg9PTA\/NTU6OTEpfX19fWNhdGNoKHEpe2lmKFQ9PTY0KXRocm93IHE7VD09NTAmJihQPXEsUz03MCl9fSxjdD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7cmV0dXJuKHleNDApPj40fHwodj1EVSh0cnVlLDgsRSksMioodnwwKS1+KHYmMTI4KS0gLTErMip+diYmKHY9KGw9KHZ8UiktKHYmLTEyOCktKH52JlIpLFU9RFUodHJ1ZSw4LEUpPDw3LC0obCZVKS0yKn4obCZVKSstMisobF5VKSkpLEs9diksKHleMyk+PjN8fChLPShVPShPPUVbbF08PFJ8RVsyKihsfDEpLSAtMS0ofmwmMSkrKH5sfDEpXTw8MTYsWT1FWzMqKGwmMikrfihsJjIpLSh+bF4yKV08PDgsKE8mWSktMS0ofk9eWSkpLHY9RVsobHwwKSszXSwoVXwwKSt+VS1+KFV8dikpKSxLfSx6PWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCl7Zm9yKG49NjQ7biE9NzE7KWlmKG49PTI0KXtpZihsLkoubGVuZ3RoKXsobC5KVCYmIjpUUVI6VFFSOiIoKSxsKS5KVD10cnVlLGwueVo9RTt0cnl7dj1sLkYoKSxsLnByPXksbC5ZVz15LGwuRmU9dixsLnlUPXYsSz1MKG51bGwsMjUsdHJ1ZSwwLDMsRSxsKSxPPVU\/MDoxMCxZPWwuRigpLWwueVQsbC5WVCs9WSxsLkUyJiZsLkUyKFktbC5QLGwuTyxsLkwsbC5wciksbC5QPXksbC5PPWZhbHNlLGwuTD1mYWxzZSxZPE98fGwuQlktLTw9eXx8KFk9TWF0aC5mbG9vcihZKSxsLktyLnB1c2goWTw9MjU0P1k6MjU0KSl9ZmluYWxseXtsLkpUPWZhbHNlfVQ9S31uPTF9ZWxzZSBpZihuPT00MClFLkouc3BsaWNlKHkseSxsKSxuPTk4O2Vsc2UgaWYobj09ODUpdVEuY2FsbCh0aGlzLHk\/eS50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy53cj1udWxsLHkmJnRoaXMuaW5pdCh5LEUpLG49MzI7ZWxzZSBpZihuPT0zMiluPShSPj4yJjExKT09MT80ODo1MTtlbHNlIGlmKG49PTI1KVQ9dGhpcy5uPT09MD8wOk1hdGguc3FydCh0aGlzLnRUL3RoaXMubiksbj01ODtlbHNlIGlmKG49PTQ4KUU9eVtUal0sVD1FIGluc3RhbmNlb2YgT3E\/RTpudWxsLG49NTE7ZWxzZSBpZihuPT02NCluPTYxO2Vsc2UgaWYobj09OTgpbj0oUiYyOSk9PVI\/MjU6NTg7ZWxzZSBpZihuPT02MSluPShSJjk0KT09Uj84NTozMjtlbHNlIGlmKG49PTU4KW49KFIrOCYxNSk9PTM\/MjQ6MTtlbHNlIGlmKG49PTUxKW49KFImMzkpPT1SPzQwOjk4O2Vsc2UgaWYobj09MSlyZXR1cm4gVH0sS049ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXKXtmb3IoVz05NDtXIT04OTspaWYoVz09NzQpbj1JcigzMixFLE8pPyEhTy5jYXB0dXJlOiEhTyx5PW5OKDE1LHkpLFc9ODQ7ZWxzZSBpZihXPT0zNylXPUk\/MTU6ODE7ZWxzZSBpZihXPT0yNSlUKyssVz0yMjtlbHNlIGlmKFc9PTk0KVc9MTc7ZWxzZSBpZihXPT02OSlQPSEhKFU9eS5oeSwoVXwwKSsoVSZ+RSktUiooVV5FKStSKih+VSZFKSksVz0yMTtlbHNlIGlmKFc9PTE1KShLPUkubnIobixZLHksdikpJiYkVCgib24iLDQxLG51bGwsSyksVz04MTtlbHNlIGlmKFc9PTIyKVc9VDxZLmxlbmd0aD8zODo4MTtlbHNlIGlmKFc9PTM4KUtOKDAseSwib2JqZWN0Iiw1LFUsdixPLFlbVF0pLFc9MjU7ZWxzZSBpZihXPT0xNylXPWw+PjE8MTUmJihsfDIpPj0zPzYyOjgxO2Vsc2UgaWYoVz09MzEpVz1VPzI3OjgxO2Vsc2V7aWYoVz09MjEpcmV0dXJuIFA7Vz09NjI\/Vz1BcnJheS5pc0FycmF5KFkpPzYwOjc0Olc9PTg0P1c9VSYmVVt0cF0\/NTU6MzE6Vz09Mjc\/KEk9eigyMyxVKSxXPTM3KTpXPT01NT8oVS5aLnJlbW92ZShTdHJpbmcoWSkseSxuLHYpLFc9ODEpOlc9PTgxP1c9KGwmMTE1KT09bD82OToyMTpXPT05OT9XPTIyOlc9PTYwJiYoVD1SLFc9OTkpfX0sR2o9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7e249Mjt3aGlsZShuIT0xMylpZihuPT02OSluPSh5JjY5KT09eT8yMDozODtlbHNlIGlmKG49PTg5KXtpZigoTz1sLmxlbmd0aCxPKT5FKXtmb3Iodj1BcnJheShPKSxVPUU7VTxPO1UrKyl2W1VdPWxbVV07Sz12fWVsc2UgSz1bXTtuPTE3fWVsc2UgaWYobj09MTcpbj0oeS01JjcpPT0xPzQ6OTA7ZWxzZXtpZihuPT0zOClyZXR1cm4gSztuPT00Mj9uPTY5Om49PTg\/bj0oeSY1OSk9PXk\/ODk6MTc6bj09OTA\/bj15Pj4xPFImJnktNT49Mz80Mjo2OTpuPT0yP249ODpuPT00PyhrVC5jYWxsKHRoaXMpLHRoaXMuWj1uZXcgT3EodGhpcyksdGhpcy5icD1udWxsLHRoaXMuWE49dGhpcyxuPTkwKTpuPT0yMCYmKFkuY2xhc3NMaXN0P1kuY2xhc3NMaXN0LnJlbW92ZShPKTphcigib2ZmIiwyMSxVLGwsWSxPKSYmQSg0Nix2LFksQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEooVSxZLDMyKSxmdW5jdGlvbihUKXtyZXR1cm4gVCE9T30pLmpvaW4oRSkpLG49MzgpfX19LGFyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt7VD03O3doaWxlKFQhPTE4KWlmKFQ9PTc0KVQ9WjI\/NDk6Nzk7ZWxzZSBpZihUPT0zMSlUPSh5JjExMCk9PXk\/NTU6NDc7ZWxzZSBpZihUPT0yNylZPVUuY2xhc3NMaXN0LmNvbnRhaW5zKHYpLFQ9ODtlbHNlIGlmKFQ9PTcpVD01OTtlbHNlIGlmKFQ9PTcwKXRoaXMuVT10aGlzLlUsdGhpcy5XWT10aGlzLldZLFQ9MzE7ZWxzZSBpZihUPT00OSlZPVoyLHYgaW4gWT9VLnNldEF0dHJpYnV0ZShLLFlbdl0pOlUucmVtb3ZlQXR0cmlidXRlKEspLFQ9Nzg7ZWxzZSBpZihUPT05NilBcnJheS5pc0FycmF5KE8pJiYoTz1PLmpvaW4oIiAiKSksSz0iYXJpYS0iK3YsVD01MTtlbHNlIGlmKFQ9PTc4KVQ9eTw8MTwzMSYmeSs2Pj0xMT83MDozMTtlbHNlIGlmKFQ9PTU1KXRoaXMubj09PTA\/ST1bMCwwXToodGhpcy52LnNvcnQoZnVuY3Rpb24oUCxXKXtyZXR1cm4gUC1XfSksST1bdGhpcy5uLHRoaXMudlt0aGlzLnYubGVuZ3RoPj4xXV0pLFQ9NDc7ZWxzZSBpZihUPT0xMClPPUooRSxVLDQ0KSxZPUxOKDY1LGwsMTEsdixPKT49bCxUPTg7ZWxzZSBpZihUPT04KUk9WSxUPTYzO2Vsc2UgaWYoVD09ODUpVD1VLmNsYXNzTGlzdD8yNzoxMDtlbHNlIGlmKFQ9PTUxKVQ9Tz09PSIifHxPPT12b2lkIDA\/NzQ6NDg7ZWxzZSBpZihUPT00NylUPSh5LTR8MzcpPj15JiYoeS01XjE3KTx5Pzg1OjYzO2Vsc2UgaWYoVD09NDgpVS5zZXRBdHRyaWJ1dGUoSyxPKSxUPTc4O2Vsc2UgaWYoVD09Nzkpbj17fSxaMj0obi5hdG9taWM9bCxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPWwsbi5saXZlPVIsbi5tdWx0aWxpbmU9bCxuLm11bHRpc2VsZWN0YWJsZT1sLG4ub3JpZW50YXRpb249InZlcnRpY2FsIixuLnJlYWRvbmx5PWwsbi5yZWxldmFudD0iYWRkaXRpb25zIHRleHQiLG4ucmVxdWlyZWQ9bCxuLnNvcnQ9Im5vbmUiLG4uYnVzeT1sLG4uZGlzYWJsZWQ9bCxuLmhpZGRlbj1sLG4uaW52YWxpZD1FLG4pLFQ9NDk7ZWxzZSBpZihUPT01OSlUPXkrNiY1Pzc4Ojk2O2Vsc2UgaWYoVD09NjMpcmV0dXJuIEl9fSxQdD1mdW5jdGlvbihSLHksRSxsLFUsdixPKXt7dj0yMjt3aGlsZSh2IT05NClpZih2PT04Nyl2PSh5JjExMCk9PXk\/NzQ6MzI7ZWxzZSBpZih2PT0yMil2PTgyO2Vsc2UgaWYodj09NylFLmo9KChFLmo\/RS5qKyJ+IjoiRToiKStsLm1lc3NhZ2UrVStsLnN0YWNrKS5zbGljZShSLDIwNDgpLHY9ODc7ZWxzZSBpZih2PT04Mil2PSh5PDwyJjYpPj00JiYoeV43KT4+NDwxPzc6ODc7ZWxzZXtpZih2PT0zMilyZXR1cm4gTzt2PT03NCYmKE89dHlwZW9mIEUuY2xhc3NOYW1lPT0ic3RyaW5nIj9FLmNsYXNzTmFtZTpFLmdldEF0dHJpYnV0ZSYmRS5nZXRBdHRyaWJ1dGUoVSl8fGwsdj0zMil9fX0saXc9ZnVuY3Rpb24oUix5LEUpe2ZvcihFPTU1O0UhPTkxOylpZihFPT00OClFPVItLT85Ojg2O2Vsc2UgaWYoRT09OSl5LnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRT0yMztlbHNlIGlmKEU9PTE1KUU9NDg7ZWxzZSBpZihFPT01NSl5PVtdLEU9MTU7ZWxzZSBpZihFPT0yMylFPTQ4O2Vsc2UgaWYoRT09ODYpcmV0dXJuIHl9LHZTPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXtmb3IoST0yO0khPTY5OylpZihJPT0zKUk9MTk7ZWxzZSBpZihJPT0xMilUPShuPXlTW0Uuc3Vic3RyaW5nKDAsMykrIl8iXSk\/bihFLnN1YnN0cmluZygzKSxsLFUsdixPLFksSyk6T2soMCxFLDgsbCksST0yNztlbHNlIGlmKEk9PTQ0KUk9ODk7ZWxzZSBpZihJPT04NClJPXYmJnYub25jZT8wOjUzO2Vsc2UgaWYoST09OTcpST0oeXw3Mik9PXk\/OTg6MzU7ZWxzZSBpZihJPT0zNSlJPSh5Pj4xJjE0KTwxMSYmKCh5fDYpJjExKT49ND84NDpSO2Vsc2UgaWYoST09MjYpbj0wLEk9NDQ7ZWxzZSBpZihJPT0xOSlJPSh5fDQwKT09eT83MTo5NztlbHNlIGlmKEk9PTM2KUk9KHkmMjEpPT15PzM6MTk7ZWxzZSBpZihJPT01MylJPUFycmF5LmlzQXJyYXkoSyk\/MjY6NzI7ZWxzZSBpZihJPT1SKUk9eSsxPj0yNCYmeSs0PDQzPzEyOjI3O2Vsc2UgaWYoST09NzEpdGhpcy51PUUsST05NztlbHNlIGlmKEk9PTApQXAoNjUsNDIsdHJ1ZSwwLEssVSx2LFksTyksST1SO2Vsc2UgaWYoST09OTgpVD1IdFtsXShIdC5wcm90b3R5cGUse2NvbnNvbGU6RSxwcm9wZXJ0eUlzRW51bWVyYWJsZTpFLHNwbGljZTpFLHByb3RvdHlwZTpFLHN0YWNrOkUsZmxvb3I6RSxkb2N1bWVudDpFLHBvcDpFLHJlcGxhY2U6RSxsZW5ndGg6RSxjYWxsOkUscGFyZW50OkV9KSxJPTM1O2Vsc2UgaWYoST09NTApdlMoODAsOSxmYWxzZSwib2JqZWN0IixVLHYsTyxZLEtbbl0pLEk9Njg7ZWxzZSBpZihJPT03MilZPW5OKDIzLFkpLFUmJlVbdHBdP1UuWi5hZGQoU3RyaW5nKEspLFksRSxJcigzMixsLHYpPyEhdi5jYXB0dXJlOiEhdixPKTpZVCgib2JqZWN0IixZLHYsVSw1LGZhbHNlLEssRSxPKSxJPVI7ZWxzZSBpZihJPT02OCluKyssST04OTtlbHNlIGlmKEk9PTg5KUk9bjxLLmxlbmd0aD81MDpSO2Vsc2V7aWYoST09MjcpcmV0dXJuIFQ7ST09MiYmKEk9MzYpfX0seFQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXLFMscSl7Zm9yKHE9OTc7cSE9MzspaWYocT09NjMpcT0oUis2JjMpPDImJihSLTcmNik+PTM\/OTE6OTg7ZWxzZSBpZihxPT03NylxPShSfDI0KT09Uj8xODoxMztlbHNlIGlmKHE9PTE5KXthOntmb3IoSz0oUD0obj1iUSx2KS5zcGxpdCh5KSxsKTtLPFAubGVuZ3RoLVU7SysrKXtpZighKFk9UFtLXSxZIGluIG4pKWJyZWFrIGE7bj1uW1ldfShJPShXPShUPVBbUC5sZW5ndGgtVV0sbltUXSksTyhXKSksSSE9VyYmSSE9RSkmJkNOKG4sVCx7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpJfSl9cT05OH1lbHNle2lmKHE9PTEzKXJldHVybiBTO3E9PTk3P3E9NjM6cT09MTg\/cT0xMzpxPT05MT9xPU8\/MTk6OTg6cT09OTg\/cT0oKFJ8OCkmMTUpPj0yJiYoUj4+MiYxMik8ND85MDo3NzpxPT05MCYmKFU9TE4oNjUsMCw3LGwsRSksKHY9VT49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChFLFUseSksUz12LHE9NzcpfX0sbk49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtmb3IoTz0xNTtPIT0yODspaWYoTz09NzcpdGhpcy5saXN0ZW5lcj1FLHRoaXMucHJveHk9bnVsbCx0aGlzLnNyYz1sLHRoaXMudHlwZT12LHRoaXMuY2FwdHVyZT0hIVUsdGhpcy5EOT15LHRoaXMua2V5PSsrTSQsdGhpcy56bD10aGlzLnhXPWZhbHNlLE89MTM7ZWxzZSBpZihPPT03KU89KFJ8NCk+PjM9PTM\/Nzc6MTM7ZWxzZSBpZihPPT0zMil0eXBlb2YgeT09PSJmdW5jdGlvbiI\/WT15Oih5W21jXXx8KHlbbWNdPWZ1bmN0aW9uKEspe3JldHVybiB5LmhhbmRsZUV2ZW50KEspfSksWT15W21jXSksTz0zNDtlbHNlIGlmKE89PTE1KU89NDg7ZWxzZXtpZihPPT0xMylyZXR1cm4gWTtPPT00OD9PPShSJjc3KT09Uj8xOjM3Ok89PTY2PyhFLnhXPXRydWUsRS5saXN0ZW5lcj15LEUucHJveHk9eSxFLnNyYz15LEUuRDk9eSxPPTcpOk89PTI\/Tz10aGlzLnYubGVuZ3RoPDUwPzIwOjcyOk89PTM0P089KChSXjE0KSYxNik8OCYmUj4+Mj49NT82Njo3Ok89PTE\/KHRoaXMubisrLE89Mik6Tz09Mzc\/Tz0oUi03XjcpPj1SJiYoUi04fDUpPFI\/MzI6MzQ6Tz09NzI\/KEU9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnRoaXMubiksRTw1MCYmKHRoaXMudltFXT15KSxPPTM3KTpPPT0yMCYmKHRoaXMudi5wdXNoKHkpLE89MzcpfX0sUFM9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKG49NzY7biE9MTY7KXtpZihuPT01KXJldHVybiBLO2lmKG49PTc2KW49MjU7ZWxzZSBpZihuPT0zMCluPWwuY2xhc3NMaXN0PzQ2OjU0O2Vsc2UgaWYobj09NTQpe2Zvcih2IGluIE89KChBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEooImNsYXNzIixsLChZPXt9LDQwKSksZnVuY3Rpb24oVCl7WVtUXT10cnVlfSksQXJyYXkucHJvdG90eXBlLmZvckVhY2gpLmNhbGwoVSxmdW5jdGlvbihUKXtZW1RdPXRydWV9KSxSKSxZKU8rPU8ubGVuZ3RoPjA\/IiAiK3Y6djtuPShBKDE0LCJzdHJpbmciLGwsTyksODYpfWVsc2Ugbj09NDY\/KEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoVSxmdW5jdGlvbihULEksUCl7Zm9yKFA9MzY7UCE9NjU7KVA9PTk5PyhJPVB0KDAsOCxsLFIsImNsYXNzIiksQSgzOCwic3RyaW5nIixsLEkrKEkubGVuZ3RoPjA\/IiAiK1Q6VCkpLFA9NjUpOlA9PTgxP1A9YXIoIm9mZiIsMjIsImNsYXNzIiwwLGwsVCk\/NjU6OTk6UD09NTE\/KGwuY2xhc3NMaXN0LmFkZChUKSxQPTY1KTpQPT0zNiYmKFA9bC5jbGFzc0xpc3Q\/NTE6ODEpfSksbj04Nik6bj09ODY\/bj0oRT4+MSY3KT09MT95OjU6bj09eT8oSz1sJiZsLnBhcmVudE5vZGU\/bC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGwpOm51bGwsbj01KTpuPT0yNSYmKG49KEV8OCk9PUU\/MzA6ODYpfX0sSmQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe2lmKEUudT09RSlmb3IoVT1NKHksRSkseT09ODR8fHk9PTEwMXx8eT09NDg1PyhZPWZ1bmN0aW9uKG4sVCxJLFAsVyxTLHEsTixoKXtmb3IoTj0ocT01LDE2KTs7KXRyeXtpZihxPT02OSlicmVhaztlbHNlIGlmKHE9PTUpUz1VLmxlbmd0aCxXPShTfDApLTQ+PjMscT0yNztlbHNle2lmKHE9PTc3KXRocm93IE49MTYsaDtxPT0wPyhOPTIwLFUuUmg9emYoMzI2MCxjdCgyNCw1LFUsUCksMyxjdCgyNCw2LFUsNCooUCY0KSsyKn4oUCY0KS0oUHwtNSktKH5QfDQpKSxJKSxxPTM4KTpxPT0yNz9xPVUuQ3IhPVc\/MTk6Mzg6cT09Mzg\/KFUucHVzaCgoVD1VLlJoWy0oU3wwKS0yKn4oUyY3KSstMisoUyYtOCldLC0oVHxuKSsoVCZuKSsyKihUJn5uKSsyKih+VCZuKSkpLHE9NjkpOnE9PTE5JiYoUD0oVzw8MyktNCxJPVswLDAsS1sxXSxLWzJdXSxVLkNyPVcscT0wKX19Y2F0Y2godyl7aWYoTj09MTYpdGhyb3cgdztOPT0yMCYmKGg9dyxxPTc3KX19LEs9TSgzNTUsRSkpOlk9ZnVuY3Rpb24obil7VS5wdXNoKG4pfSxsJiZZKGwmMjU1KSx2PTAsTz1SLmxlbmd0aDt2PE87disrKVkoUlt2XSl9LEFwPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt7ST04NTt3aGlsZShJIT04KWlmKEk9PTQwKW4rKyxJPTg3O2Vsc2UgaWYoST09NDgpST0oeS01JjcpPT0yPzUyOjU5O2Vsc2UgaWYoST09NjgpdGhpc1t0aGlzKyIiXT10aGlzLEk9NDg7ZWxzZXtpZihJPT04NClyZXR1cm4gVDtJPT04Nz9JPW48VS5sZW5ndGg\/MjU6MzU6ST09MjU\/KEFwKDY1LDQxLHRydWUsMCxVW25dLHYsTyxZLEspLEk9NDApOkk9PTg4P0k9ODc6ST09NzA\/ST0oeXw0MCk9PXk\/NzE6MzU6ST09NTI\/KGwuWjkmJmwuWjkuZm9yRWFjaChFLHZvaWQgMCksST01OSk6ST09MTc\/KFk9bk4oNyxZKSx2JiZ2W3RwXT92LlouYWRkKFN0cmluZyhVKSxZLEUsSXIoUiwib2JqZWN0IixPKT8hIU8uY2FwdHVyZTohIU8sSyk6WVQoIm9iamVjdCIsWSxPLHYsNixmYWxzZSxVLEUsSyksST0zNSk6ST09NTk\/ST15LTE+PjQ\/ODQ6MTU6ST09ODU\/ST03MDpJPT0zNT9JPXk8PDImMTU\/NDg6Njg6ST09MTU\/KHRoaXMuc3JjPUUsdGhpcy5RVD0wLHRoaXMubD17fSxJPTg0KTpJPT01Nj8obj1sLEk9ODgpOkk9PTcxJiYoST1BcnJheS5pc0FycmF5KFUpPzU2OjE3KX19fSxYcj1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuKXtmb3IoSz0zMjtLIT0zNjspaWYoSz09MjYpeS5kcj12b2lkIDAseS5YZT1mdW5jdGlvbigpe3JldHVybiB5LmRyP3kuZHI6eS5kcj1uZXcgeX0sSz0yODtlbHNle2lmKEs9PTI4KXJldHVybiBuO0s9PTY2PyhuPVUsSz01OSk6Sz09OTY\/Sz15LnhXPzk0OjkzOks9PTkzPyh2PW5ldyBmTihsLHRoaXMpLE89eS5EOXx8eS5zcmMsWT15Lmxpc3RlbmVyLHkuemwmJiRUKCJvbiIsNDAsbnVsbCx5KSxVPVkuY2FsbChPLHYpLEs9NjYpOks9PTQ1P0s9RS05PDwxPEUmJihFLTZeMTYpPj1FPzI2OjI4Oks9PTMyP0s9MjpLPT0yP0s9KEUmMTEwKT09RT85Njo1OTpLPT05ND8oVT10cnVlLEs9NjYpOks9PTQzPyh0aGlzLnR5cGU9eSx0aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bCx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dGhpcy5Tcj1mYWxzZSxLPTQ1KTpLPT01OSYmKEs9KEUtUl4zMCk8RSYmRS02PDwxPj1FPzQzOjQ1KX19LGVEPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyl7Zm9yKFc9ODU7VyE9OTE7KWlmKFc9PTgzKVc9KHkmMjcpPT15PzMwOjQ4O2Vsc2UgaWYoVz09ODUpVz04MztlbHNlIGlmKFc9PTMwKXtpZihZPWwuWi5sW1N0cmluZyhFKV0pe2ZvcihuPShJPShZPVkuY29uY2F0KCksMCksdHJ1ZSk7STxZLmxlbmd0aDsrK0kpKFQ9WVtJXSkmJiFULnhXJiZULmNhcHR1cmU9PVUmJihLPVQuRDl8fFQuc3JjLE89VC5saXN0ZW5lcixULnpsJiZMKFIsNyxULGwuWiksbj1PLmNhbGwoSyx2KSE9PWZhbHNlJiZuKTtQPW4mJiF2LmRlZmF1bHRQcmV2ZW50ZWR9ZWxzZSBQPXRydWU7Vz00OH1lbHNle2lmKFc9PTMpcmV0dXJuIFA7Vz09ND8obD1SLFA9ZnVuY3Rpb24oKXtyZXR1cm4gbDxFLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpFW2wrK119Ontkb25lOnRydWV9fSxXPTMpOlc9PTQ4JiYoVz0oeS02fDEwKT49eSYmeSs2Pj4xPHk\/NDozKX19LEE9ZnVuY3Rpb24oUix5LEUsbCxVLHYpe2ZvcihVPTY0O1UhPTc4OylpZihVPT00NilrKEUsbCx5KSx5W0t3XT0yNzk2LFU9Nzc7ZWxzZSBpZihVPT02MilVPShSLTh8MzUpPj1SJiYoUi0yXjE4KTxSPzQ2Ojc3O2Vsc2UgaWYoVT09NzcpVT0oUiszJjcpPT0xPzg1OjA7ZWxzZSBpZihVPT0xMyl0aGlzLm4rKyxFPXktdGhpcy5BLHRoaXMuQSs9RS90aGlzLm4sdGhpcy50VCs9RSooeS10aGlzLkEpLFU9MzQ7ZWxzZSBpZihVPT0zMylTWC5jYWxsKHRoaXMpLHl8fFdTfHwoV1M9bmV3IHEwKSx0aGlzLmk9bnVsbCx0aGlzLmdyPWZhbHNlLHRoaXMudXA9dm9pZCAwLHRoaXMuckI9ZmFsc2UsdGhpcy5sND10aGlzLm1sPXRoaXMuYWg9dGhpcy5aOT1udWxsLFU9NjI7ZWxzZSBpZihVPT02NClVPTM5O2Vsc2V7aWYoVT09MClyZXR1cm4gdjtVPT04NT8odHlwZW9mIEUuY2xhc3NOYW1lPT15P0UuY2xhc3NOYW1lPWw6RS5zZXRBdHRyaWJ1dGUmJkUuc2V0QXR0cmlidXRlKCJjbGFzcyIsbCksVT0wKTpVPT0zND9VPSgoUnwxKSY3KT09Mz8zMzo2MjpVPT0zOSYmKFU9KFI+PjImNyk9PTI\/MTM6MzQpfX0sRz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQpe2lmKCh5JjE1KT09KCh5Pj4oKHl8KCh5Jjk0KT09eSYmKFU9Wy0yNSw5Myw2OSwtNTMsLTg0LDg5LFUsLTQ1LDAsMjZdLE89LTEtfih2fDcpLSh2XjcpLFk9Vmcsbj1IdFtFLmhdKEUueHcpLG5bRS5oXT1mdW5jdGlvbihJKXtPPShPKz0oSz1JLDYrNyp2KSwoT3xSKSsofk9eNyktKE98LTgpKX0sbi5jb25jYXQ9ZnVuY3Rpb24oSSxQLFcsUyl7cmV0dXJuKFc9KEk9LTI4NSpsKmwqSysoKFM9bCUxNisxLFkpKCl8UikqUy1TKkstNjI3KksrTys1KmwqbCpTKzU3KksqSy01MzAxKmwqSytVW08rMjcmN10qbCpTLEs9dm9pZCAwLFVbSV0pLFUpWyhQPU8rMjEsKFB8UiktKFBeNykrKH5QJjcpKSsodiYyKV09VyxVW08rKHYmMildPTkzLFd9LFQ9biksNjQpKT09eSYmKFIuST9UPUJ0KFIuUixSKToobD1wKFIsdHJ1ZSw4KSxsJjEyOCYmKGw9Mip+KGwmMTI4KS0yKn5sLShsfC0xMjkpKyh+bHwxMjgpLFU9cChSLHRydWUsMiksbD0oRT1sPDwyLDMqKEV8VSktKEUmVSktIC0yKzIqKH5FXlUpKSksVD1sKSksMikmMyk9PTEmJihSLkk\/VD1CdChSLlIsUik6KFU9cChSLHRydWUsOCksVSYxMjgmJihVPTIqfihVJjEyOCktMip+VS0oVXwtMTI5KSsoflV8MTI4KSxsPXAoUix0cnVlLDIpLFU9KEU9VTw8MiwzKihFfGwpLShFJmwpLSAtMisyKih+RV5sKSkpLFQ9VSkpLHkpKXtmb3IoWT0odj1iKEUsMTApLFIpO2w+UjtsLS0pWT0oVT1ZPDw4LE89RFUodHJ1ZSw4LEUpLChVJk8pK34oVSZPKS1+KFV8TykpO2EoWSx2LEUpfXJldHVybiBUfSxoZD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSl7cmV0dXJuKCh5Jjc3KT09eSYmKFU9SHRbbC5oXShsLkhRKSxVW2wuaF09ZnVuY3Rpb24oKXtyZXR1cm4gRX0sVS5jb25jYXQ9ZnVuY3Rpb24oUCl7RT1QfSxUPVUpLCh5LTN8MjYpPHkmJih5KzUmNTcpPj15KSYmKFQ9ST1mdW5jdGlvbigpe3t2YXIgUD03Njt3aGlsZShQIT04OSlpZihQPT00MClQPVU9PUU\/NTI6Nzc7ZWxzZSBpZihQPT02OSl7dmFyIFc9IVkuSi5sZW5ndGg7eigzOCxSLFkscSksVyYmeig1OSxSLGwsWSxsKSxQPTExfWVsc2UgaWYoUD09NzYpUD1ZLnU9PVk\/NjQ6ODk7ZWxzZSBpZihQPT01Mil7dmFyIFM9eigxMSwoeigzMyxSLFkscSksUiksbCxZLGwpO1A9MTF9ZWxzZXtpZihQPT0xMSlyZXR1cm4gUztpZihQPT02NClQPVkuTj8yNTo4MjtlbHNlIGlmKFA9PTI4KVM9cE4oWSwzLDQ2NSxxKSxQPTExO2Vsc2UgaWYoUD09ODIpSyYmbiYmSy5yZW1vdmVFdmVudExpc3RlbmVyKG4sSSxOMCksUD04OTtlbHNlIGlmKFA9PTc3KVA9VT09MT82OToyODtlbHNlIGlmKFA9PTI1KXZhciBxPVt3TSx2LChQPTQwLE8pLHZvaWQgMCxLLG4sYXJndW1lbnRzXX19fSksVH0sT2s9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe2ZvcihLPTIwO0shPTUzOylpZihLPT04MSlZPXYsSz0yNjtlbHNlIGlmKEs9PTI2KUs9RT4+MSYxMT83MTo0MDtlbHNlIGlmKEs9PTI0KUs9Tz85Mzo1OTtlbHNle2lmKEs9PTU0KXJldHVybiBZO0s9PTE0Pyh5Kz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbC5zbGljZShVLFUrODE5MikpLEs9ODMpOks9PTQ2Pyh2PU8oeSkucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksSz04MSk6Sz09NTk\/KHY9dm9pZCAwLEs9ODEpOks9PTQzP0s9NDc6Sz09OTM\/KFU9Uix5PSIiLEs9NDMpOks9PTQ3P0s9VTxsLmxlbmd0aD8xNDo0NjpLPT03Nz8oTz13aW5kb3cuYnRvYSxLPTI0KTpLPT0xP0s9RS00PDwxPj1FJiYoRSs5XjI3KTxFPzc3OjI2Oks9PTcxP0s9RS0zJjc\/NTQ6NjE6Sz09ODM\/KFUrPTgxOTIsSz00Nyk6Sz09NjE\/KFk9ISEoTz12Lk1yLC0oVXxsKSt5KihPfFUpLXkqKE9eVSkrKH5PJlUpKSYmS04oeSx2LFUsMzIpLEs9NTQpOks9PTQwPyhsKGZ1bmN0aW9uKG4pe24oeSl9KSxZPVtmdW5jdGlvbigpe3JldHVybiB5fSxmdW5jdGlvbigpe31dLEs9NzEpOks9PTIwJiYoSz0xKX19LCRUPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyl7e1A9OTM7d2hpbGUoUCE9MzcpaWYoUD09MjQpUD0zMTtlbHNle2lmKFA9PTIzKXJldHVybiBXO2lmKFA9PTM4KW5OKDMzLEUsbCksUD0yMztlbHNlIGlmKFA9PTI2KUwoRSw2LGwsTy5aKSxQPTIzO2Vsc2UgaWYoUD09OTUpUD0oeS02XjI1KT49eSYmKHktM3wxOCk8eT8zOjgzO2Vsc2UgaWYoUD09OTMpUD05NTtlbHNlIGlmKFA9PTgyKVA9TyYmT1t0cF0\/MjY6MzA7ZWxzZSBpZihQPT05NilQPVUuUVQ9PTA\/NDoyMztlbHNlIGlmKFA9PTIxKXthOntpZihLJiZ0eXBlb2YgSy5sZW5ndGg9PVIpe2lmKElyKDMzLCJvYmplY3QiLEspKXtuPXR5cGVvZiBLLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBLLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIEs9PT0iZnVuY3Rpb24iKXtuPXR5cGVvZiBLLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19bj1FfUooMCxVLDMzLEksbj9HaigxOCwzLDAsSyk6SyksUD01fWVsc2UgUD09ODM\/UD0oeXw4KT4+Mz09MT8zNDoxNDpQPT0yOT9QPXR5cGVvZiBsIT09Im51bWJlciImJmwmJiFsLnhXPzEzOjIzOlA9PTQ5P1A9IVNEKDMsMzIsUiwib2JqZWN0IiwiYXJyYXkiLEspfHxJcigzMywib2JqZWN0IixLKSYmSy5ub2RlVHlwZT4wPzExOjIxOlA9PTMxP1A9VDx2Lmxlbmd0aD8xNTo4MzpQPT0wP1A9VT84OTozODpQPT0zMD8odj1sLnByb3h5LFk9bC50eXBlLE8ucmVtb3ZlRXZlbnRMaXN0ZW5lcj9PLnJlbW92ZUV2ZW50TGlzdGVuZXIoWSx2LGwuY2FwdHVyZSk6Ty5kZXRhY2hFdmVudD9PLmRldGFjaEV2ZW50KFJyKDE1LDUwLFIsWSksdik6Ty5hZGRMaXN0ZW5lciYmTy5yZW1vdmVMaXN0ZW5lciYmTy5yZW1vdmVMaXN0ZW5lcih2KSxsUS0tLFU9eig3MSxPKSxQPTApOlA9PTExPyhJKEspLFA9NSk6UD09MzQ\/KEUuY2xhc3NMaXN0P0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoUixmdW5jdGlvbihTKXtHaigxOCw1LCIgIiwwLCJjbGFzcyIsInN0cmluZyIsUyxFKX0pOkEoNiwic3RyaW5nIixFLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChKKCJjbGFzcyIsRSwzNiksZnVuY3Rpb24oUyl7cmV0dXJuIShMTig2NSwwLDE1LFMsUik+PTApfSkuam9pbigiICIpKSxQPTE0KTpQPT0xNT8oSz12W1RdLFA9NDkpOlA9PTM\/KEk9ZnVuY3Rpb24oUyl7UyYmTy5hcHBlbmRDaGlsZCh0eXBlb2YgUz09PSJzdHJpbmciP1kuY3JlYXRlVGV4dE5vZGUoUyk6Uyl9LFQ9bCxQPTI0KTpQPT0xND9QPSh5Pj4yJjYpPT0yPzI5OjIzOlA9PTEzPyhPPWwuc3JjLFA9ODIpOlA9PTU\/KFQrKyxQPTMxKTpQPT00PyhVLnNyYz1FLE9bVGpdPUUsUD0yMyk6UD09ODkmJihMKEUsNSxsLFUpLFA9OTYpfX19LElyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCl7Zm9yKG49MjA7biE9OTQ7KWlmKG49PTkzKW49ODA7ZWxzZSBpZihuPT04MCluPUs+Nz84OToxNjtlbHNlIGlmKG49PTg5KUstPTgsTy5wdXNoKFU+PksmMjU1KSxuPTI7ZWxzZSBpZihuPT0xMClUPU8sbj00OTtlbHNlIGlmKG49PTIwKW49NjtlbHNlIGlmKG49PTYpbj0oUnw0MCk9PVI\/NjM6NDk7ZWxzZSBpZihuPT03NilUPU1hdGguZmxvb3IodGhpcy5GKCkpLG49MjE7ZWxzZSBpZihuPT02MylLPTAsTz1bXSx2PTAsbj05NztlbHNlIGlmKG49PTE2KXYrKyxuPTIyO2Vsc2UgaWYobj09MjIpbj12PHkubGVuZ3RoPzM1OjEwO2Vsc2UgaWYobj09NDkpbj1SLTE+PjM\/MjE6NzY7ZWxzZXtpZihuPT05NSlyZXR1cm4gVDtuPT04Mz8obC5lcihmdW5jdGlvbihJKXtVPUl9LHksRSksVD1VLG49MzIpOm49PTk3P249MjI6bj09Mj9uPTgwOm49PTMyP249Uj4+MSYxNT85NTo3MjpuPT03Mj8obD10eXBlb2YgRSxUPWw9PXkmJkUhPW51bGx8fGw9PSJmdW5jdGlvbiIsbj05NSk6bj09MjE\/bj0oUnwyNCk9PVI\/ODM6MzI6bj09MzUmJihLKz1FLFU9KFk9VTw8RSxsPXlbdl0sKFl8MCktKH5ZXmwpKyh+WXxsKSksbj05Myl9fSxxJD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQpe3tuPTc7d2hpbGUobiE9NDIpaWYobj09UilLPWZ1bmN0aW9uKCl7fSx2PXZvaWQgMCxZPWpEKEUsZnVuY3Rpb24oSSxQKXtmb3IoUD04OTtQIT0xOTspUD09ODk\/UD1LPzY4OjE5OlA9PTY4JiYobCYmRnIobCksdj1JLEsoKSxLPXZvaWQgMCxQPTE5KX0sISFsKSxPPVlbMF0sVT1ZWzFdLFQ9e3RvcDpmdW5jdGlvbihJLFAsVyxTLHEsTixoKXtmb3IoTj03NDtOIT01NjspaWYoTj09OTkpTj12PzYzOjY5O2Vsc2UgaWYoTj09NjkpUz1LLEs9ZnVuY3Rpb24oKXsoUygpLEZyKShoKX0sTj01NjtlbHNle2lmKE49PTMpcmV0dXJuIHE9TyhXKSxJJiZJKHEpLHE7Tj09NzQ\/KGg9ZnVuY3Rpb24oKXt2KGZ1bmN0aW9uKHcpe0ZyKGZ1bmN0aW9uKCl7SSh3KX0pfSxXKX0sTj00MSk6Tj09NDE\/Tj1QPzk5OjM6Tj09NjMmJihoKCksTj01Nil9fSxwZTpmdW5jdGlvbihJKXtVJiZVKEkpfX0sbj03MztlbHNlIGlmKG49PTE1KW49eS05Pj40PzczOlI7ZWxzZSBpZihuPT0zNCl7aWYodj0oTz1jLnRydXN0ZWRUeXBlcyxsKSxPJiZPLmNyZWF0ZVBvbGljeSl7dHJ5e3Y9Ty5jcmVhdGVQb2xpY3koRSx7Y3JlYXRlSFRNTDpzayxjcmVhdGVTY3JpcHQ6c2ssY3JlYXRlU2NyaXB0VVJMOnNrfSl9Y2F0Y2goSSl7aWYoYy5jb25zb2xlKWMuY29uc29sZVtVXShJLm1lc3NhZ2UpfVQ9dn1lbHNlIFQ9djtuPTE3fWVsc2UgaWYobj09OTYpbj0oeSY5MSk9PXk\/MzQ6MTc7ZWxzZSBpZihuPT03KW49Mjk7ZWxzZSBpZihuPT0yOSluPSh5KzUmNTgpPj15JiYoeS04fDE2KTx5Pzc2Ojk2O2Vsc2UgaWYobj09NzYpVD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRSxSVykmJkVbUlddfHwoRVtSV109Kytsdyksbj05NjtlbHNlIGlmKG49PTE3KW49KHl8NDApPT15Pzg4OjE1O2Vsc2UgaWYobj09ODgpbj0xNTtlbHNlIGlmKG49PTczKXJldHVybiBUfX0sTE49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtmb3IoWT0yMTtZIT01OTspe2lmKFk9PTMyKXJldHVybiBPO2lmKFk9PTEyKVk9KEUmOTIpPT1FPzM4OjM5O2Vsc2UgaWYoWT09Uil7YTppZih0eXBlb2YgVT09PSJzdHJpbmciKU89dHlwZW9mIGwhPT0ic3RyaW5nInx8bC5sZW5ndGghPTE\/LTE6VS5pbmRleE9mKGwseSk7ZWxzZXtmb3Iodj15O3Y8VS5sZW5ndGg7disrKWlmKHYgaW4gVSYmVVt2XT09PWwpe089djticmVhayBhfU89LTF9WT0xMn1lbHNlIFk9PTk0PyhZYy5jYWxsKHRoaXMseSxsfHxudy5YZSgpLFUpLFk9MzIpOlk9PTQxP1k9KEU8PDImMTUpPj0xMSYmRS05PDIyP1I6MTI6WT09Mzk\/WT0oRV40Mik8MjQmJkUrMT49MTg\/OTQ6MzI6WT09MjE\/WT00MTpZPT0zOCYmKE89eSxZPTM5KX19LFJyPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXtmb3IoVD02O1QhPVI7KWlmKFQ9PTMzKXthOntmb3IoSz1bKFk9RSxsPT10eXBlb2YgZ2xvYmFsVGhpcykmJmdsb2JhbFRoaXMsdixsPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csbD09dHlwZW9mIHNlbGYmJnNlbGYsbD09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtZPEsubGVuZ3RoOysrWSlpZigoTz1LW1ldKSYmT1tVXT09TWF0aCl7bj1PO2JyZWFrIGF9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTt9VD01MH1lbHNlIGlmKFQ9PTU3KVQ9KHl8NDApPT15PzMzOjUwO2Vsc2UgaWYoVD09MTYpVD0oeS0yXjkpPj15JiYoeSs1XjMwKTx5Pzg4Ojk4O2Vsc2UgaWYoVD09MzkpST1mdW5jdGlvbihQKXtyZXR1cm4gRS5jYWxsKEkuc3JjLEkubGlzdGVuZXIsUCl9LEU9UWcsbj1JLFQ9NTc7ZWxzZSBpZihUPT02KVQ9MTY7ZWxzZSBpZihUPT05OClUPXktMjw0MCYmeTw8Mj49MjI\/Mzk6NTc7ZWxzZXtpZihUPT01MClyZXR1cm4gbjtUPT04OCYmKG49bCBpbiBndT9ndVtsXTpndVtsXT1FK2wsVD05OCl9fSxkdT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSxQKXtmb3IoST0zMDtJIT0yMzspaWYoST09MzApST05NDtlbHNle2lmKEk9PTU2KXJldHVybiBQO2lmKEk9PTU3KUU9UixFPSh5PUU8PDEzLC0oRSZ5KSt+RS0yKn4oRXx5KSsoRXx+eSkpLEVePUU+PjE3LEVePUU8PDUsKEU9LX5FLShFXmwpKzIqKH5FJmwpKyhFfH5sKSl8fChFPTEpLFA9KFV8RSkrfkUtKFV8fkUpLEk9NTY7ZWxzZSBpZihJPT03Myl7aWYobC51PShUPShLPShZPShSfHxsLllXKyssbC5qcik+MCYmbC5KVCYmbC55WiYmbC5vaDw9VSYmIWwuSSYmIWwuSyYmKCFSfHxsLlN6LXk+VSkmJmRvY3VtZW50LmhpZGRlbj09MCwobj1sLllXPT00KXx8WT9sLkYoKTpsLkZlKSxLLWwuRmUpLGwuQis9VD4+MTQ+MCxsLlcmJihsLldePShsLkIrVT4+MikqKFQ8PDIpKSxsLkIrVT4+MiE9MCl8fGwudSxufHxZKWwuRmU9SyxsLllXPTA7ST0oWT8obC5qcj5sLnByJiYobC5wcj1sLmpyKSxLLWwueVQ8bC5qci0oRT8yNTU6Uj81OjIpP1A9ZmFsc2U6KGwuU3o9eSxPPXQoUj8xMDU6NDA1LGwpLGsoNDA1LGwsbC5nKSxsLkoucHVzaChbcnUsTyxSP3krVTp5LGwuTyxsLkxdKSxsLks9RnIsUD10cnVlKSk6UD1mYWxzZSw2Nyl9ZWxzZSBJPT02Nz9JPSh2XjE4KSY1PzU2OjU3Okk9PTk0JiYoST0odiszXjMwKT49diYmKHYrN14yMik8dj83Mzo2Nyl9fSxvVz1mdW5jdGlvbihSLHkpe2Z1bmN0aW9uIEUoKXt0aGlzLkE9dGhpcy50VD10aGlzLm49MH1yZXR1cm5bZnVuY3Rpb24obCl7KHkuTHIobCksUikuTHIobCl9LChSPW5ldyAoeT0oKEUucHJvdG90eXBlLmE0PWZ1bmN0aW9uKCl7cmV0dXJuIHouY2FsbCh0aGlzLDkpfSxFKS5wcm90b3R5cGUuTHI9ZnVuY3Rpb24obCxVKXtyZXR1cm4gQS5jYWxsKHRoaXMsOCxsLFUpfSxuZXcgRSksRSksZnVuY3Rpb24obCl7cmV0dXJuIFI9bmV3IChsPVt5LmE0KCksUi5hNCgpLHkuQSxSLkFdLEUpLGx9KV19LHQ9ZnVuY3Rpb24oUix5LEUpe0U9eS5OW1JdO2ZvcihbXT09KCFbdW5kZWZpbmVkXT09MCE9IVtdKTtFPT09dm9pZCAwO05hTil7dGhyb3dbRDIsMzAsUl07aWYoIVsiIl09PTApYnJlYWt9d2hpbGUoRS52YWx1ZSl7cmV0dXJuIEUuY3JlYXRlKCk7aWYoMCE9IVt0cnVlLnRydWVdPT0hW10pYnJlYWt9cmV0dXJuKEUuY3JlYXRlKFIqNSpSKzkzKlIrMTEpLEUpLnByb3RvdHlwZX0sUT1mdW5jdGlvbihSLHksRSxsLFUpe2ZvcihFPTIqKHl8MSktfih5JjEpKzMqfih5fDEpLTIqKH55fChsPVtdLDEpKTtFPj0wO0UtLSlsWy1+KHkmMSkrfih5fDEpKzIqKHkmLTIpLShFfDApXT0oVT1SPj5FKjgsLTEtflUtKFUmLTI1NikpO3JldHVybiBsfSxqRD1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe3JldHVybiB2Uy5jYWxsKHRoaXMsODAsMjMsUix5LEUsbCxVLHYsTyxZKX0scTA9ZnVuY3Rpb24oKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsODEpfSx4Yz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7aWYoIWwuail7bC5vaCsrO3RyeXt2PShVPXZvaWQgMCxSKTt7Tz1sLmc7d2hpbGUoLS15KXRyeXtpZihZPXZvaWQgMCxsLkkpVT1CdChsLkksbCk7ZWxzZXtpZih2PU0oNDA1LGwpLHY+PU8pYnJlYWs7VT1nKChZPUcobCwoaygxMDUsbCx2KSw2NykpLFkpLGwpfWR1KGZhbHNlLChVJiYoSz1VW2NTXSwtfihLfEUpLSh+SyZFKSsofkt8RSkpP1UobCx5KTpwdyhbRDIsMjEsWV0sbCxSLDg0KSx5KSxmYWxzZSxsLDEsMTIpfWNhdGNoKG4pe2coMSxsKT9wdyhuLGwsMjIsODQpOmsoMSxsLG4pfX1pZigheSl7aWYobC5EQSl7eGMoKGwub2gtLSwwKSw2NDMwNDc4NDI5MzQsMjA0OCxsKTtyZXR1cm59cHcoW0QyLDMzXSxsLFIsODQpfX1jYXRjaChuKXt0cnl7cHcobixsLDIyLDg0KX1jYXRjaChUKXtQdChSLDUsbCxULCI6Iil9fWwub2gtLX19LERVPWZ1bmN0aW9uKFIseSxFKXtyZXR1cm4gRS5JP0J0KEUuUixFKTpwKEUsUix5KX0sQ3c9ZnVuY3Rpb24oUix5KXt3aGlsZShbXSl7cmV0dXJuICRULmNhbGwodGhpcyx5LDMsUik7aWYoW10pYnJlYWt9fSxidz1mdW5jdGlvbihSLHkpe2Zvcih2YXIgRT0xMDtFIT02MDspaWYoRT09MzEpRT1sPGFyZ3VtZW50cy5sZW5ndGg\/MDo2MDtlbHNlIGlmKEU9PTgpRT0zMTtlbHNlIGlmKEU9PTg4KUU9Tzx1dy5sZW5ndGg\/MTY6MzQ7ZWxzZSBpZihFPT0zKUU9ODg7ZWxzZSBpZihFPT0xMCl2YXIgbD0oRT04LDEpO2Vsc2UgaWYoRT09OTEpTysrLEU9ODg7ZWxzZSBpZihFPT0zNClsKyssRT0zMTtlbHNlIGlmKEU9PTE2KXt2YXIgVT11d1tPXTtFPShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodixVKSYmKFJbVV09dltVXSksOTEpfWVsc2UgaWYoRT09MCl7dmFyIHY9YXJndW1lbnRzW2xdO2ZvcihVIGluIHYpUltVXT12W1VdO3ZhciBPPShFPTMsMCl9fSxwPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJLFAsVyxTLHEpe2lmKChPPWcoNDA1LFIpLE8pPj1SLmcpdGhyb3dbRDIsMzFdO2ZvcihVPShsPShLPU8sKHE9MCxSKS5SNC5sZW5ndGgpLEUpO1U+MDspVD1LJTgsUz04LShUfDApLFc9Sz4+MyxuPVIubHBbV10sWT1TPFU\/UzpVLHkmJihJPVIsSS5vIT1LPj42JiYoSS5vPUs+PjYsdj1NKDczLEkpLEkua1c9emYoMzI2MCxJLlcsMyxJLm8sWzAsMCx2WzFdLHZbMl1dKSksbl49Ui5rV1tXJmxdKSxLKz1ZLHF8PShuPj44LShUfDApLShZfDApJigxPDxZKS0xKTw8KFV8MCktKFl8MCksVS09WTtyZXR1cm4gYSgoT3wwKSsoRXwwKSw0MDUsKFA9cSxSKSksUH0sQWQ9ZnVuY3Rpb24oUix5KXtmdW5jdGlvbiBFKCl7dGhpcy5uPSh0aGlzLnY9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGwpe1IuTzIobCkseS5PMihsKX0sKFI9KChFLnByb3RvdHlwZS5PMj1mdW5jdGlvbihsLFUpe3JldHVybiBuTi5jYWxsKHRoaXMsNSxsLFUpfSxFKS5wcm90b3R5cGUudTQ9ZnVuY3Rpb24oKXtyZXR1cm4gYXIuY2FsbCh0aGlzLCJvZmYiLDM4KX0sbmV3IEUpLHk9bmV3IEUsZnVuY3Rpb24obCl7cmV0dXJuIGw9Ui51NCgpLmNvbmNhdCh5LnU0KCkpLHk9bmV3IEUsbH0pXX0sTHc9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCxXKXtmb3IoST0obj15LnJlcGxhY2UoL1xcclxcbi9nLCJcXG4iKSx2PWw9MCxbXSk7djxuLmxlbmd0aDt2KyspUD1uLmNoYXJDb2RlQXQodiksUDwxMjg\/SVtsKytdPVA6KFA8Uj9JW2wrK109KEs9UD4+NiwtfihLJjE5MikrMyooSyYtMTkzKS0oS3wtMTkzKSsyKih+S3wxOTIpKTooLX4oUCY2NDUxMikrKH5QJjY0NTEyKSsoUHwtNjQ1MTMpPT01NTI5NiYmdisxPG4ubGVuZ3RoJiYoVD1uLmNoYXJDb2RlQXQodisxKSwtfihUfDY0NTEyKS0oflQmNjQ1MTIpKyh+VHw2NDUxMikpPT01NjMyMD8oUD02NTUzNisoLX4oUHwxMDIzKS0oUCYtMTAyNCkrKFB8LTEwMjQpPDwxMCkrKFU9bi5jaGFyQ29kZUF0KCsrdiksMTAyNCsoVXwtMTAyNCkpLElbbCsrXT1QPj4xOHwyNDAsSVtsKytdPShPPShFPVA+PjEyLDYzKyhFJi02NCktKEVeNjMpKSwtKE98MCkrfk8tMyp+KE98MTI4KSsyKihPfC0xMjkpKSk6SVtsKytdPShZPVA+PjEyLDIyMy0oflleMjI0KS0oflkmMjI0KSksSVtsKytdPShXPVA+PjYsMiooV3wwKS0oV3w2MyktKFd8LTY0KSsofld8NjMpKXwxMjgpLElbbCsrXT1QJjYzfDEyOCk7cmV0dXJuIEl9LHI9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyl7Tz10aGlzO3RyeXt0ZCh5LGwsVSxSLHRoaXMsdixFKX1jYXRjaChZKXtQdCgwLDksdGhpcyxZLCI6IiksRShmdW5jdGlvbihLKXtLKE8uail9KX19LGtjPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4sVCxJKXt5LnB1c2goKE89UlswXTw8MjR8UlsxXTw8MTZ8UlsyXTw8OCxUPVJbM10sMS1+KE98VCkrMioofk8mVCkrMiooT3x+VCkpKSx5LnB1c2goKEk9KHY9Uls0XTw8MjR8Uls1XTw8MTYsVT1SWzZdPDw4LC1+KHZ8VSkrKHZeVSktKH52JlUpKyh+dnxVKSksRT1SWzddLC1+KEl8RSkrKH5JJkUpKyhJfH5FKSkpLHkucHVzaCgobD0obj1SWzhdPDwyNCxLPVJbOV08PDE2LC0yKn4obiZLKSt+SysyKihuXkspKyh+bnxLKSksWT1SWzEwXTw8OCwyKihZfDApLShsJlkpLX5sK35ZKXxSWzExXSl9LFYscE49ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEkpe2lmKEk9bFswXSxJPT1ocClSLkJZPTI1LFIuTD10cnVlLFIuRyhsKTtlbHNlIHN3aXRjaCghKEk9PWlRKSl7Y2FzZSB0cnVlOmlmKEk9PXJ1KWxbeV0mJihSLk89dHJ1ZSksbFs0XSYmKFIuTD10cnVlKSxSLkcobCk7ZWxzZSBzd2l0Y2goIShJPT1YbSkpe2Nhc2UgdHJ1ZTppZihJPT1NMCl7d2hpbGUoW10pe3RyeXtmb3IoVD0wO1Q8Ui5zMi5sZW5ndGg7VCsrKXRyeXtZPVIuczJbVF0sWVswXVtZWzFdXShZWzJdKX1jYXRjaChQKXt9fWNhdGNoKFApe31pZih0cnVlIT1bXSE9W10hPVtdKWJyZWFrfSgwLGxbMV0pKGZ1bmN0aW9uKFAsVyl7Ui5lcihQLHRydWUsVyl9LGZ1bmN0aW9uKFApe3doaWxlKC0wPT09MClpZighW3VuZGVmaW5lZF09PShQPSFSLkoubGVuZ3RoLE51bWJlcigpKSlicmVhazsoeigzNywwLFIsW2NTXSksUCkmJnooNzUsMCx0cnVlLFIsZmFsc2UpfSxmdW5jdGlvbihQKXtyZXR1cm4gUi52WShQKX0sKFIuczI9W10sdj1SLkYoKSxmdW5jdGlvbihQLFcsUyl7cmV0dXJuIFIuejAoUCxXLFMpfSkpLFIuUCs9Ui5GKCktdn1lbHNle3N3aXRjaCghKEk9PXdNKSl7Y2FzZSBudWxsIT1mYWxzZTowO2JyZWFrO2Nhc2UgdHJ1ZT09IVtdOnJldHVybiBLPWxbMl0sYShsWzZdLEUsUiksSCgyNjEsUixLKSxSLkcobCk7YnJlYWt9ST09Y1M\/KFIuRyhsKSxSLktyPVtdLFIubHA9W10sUi5OPW51bGwpOkk9PUt3JiZjLmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihSLks9ZnVuY3Rpb24oUCxXKXtmdW5jdGlvbiBTKHEpe3txPTQzO3doaWxlKHEhPTM2KXE9PTMyPyhXPXRydWUsYy5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLE4wKSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsTjApLFAoKSxxPTM2KTpxPT00MyYmKHE9Vz8zNjozMil9fWMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsUywoVz1mYWxzZSxOMCkpLGMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsUyxOMCl9KX1icmVhaztjYXNlIGZhbHNlOlIuTz10cnVlLFIuRyhsKTticmVha31icmVhaztjYXNlIG51bGw9PWZhbHNlOlU9bFsxXTt0cnl7Tz1SLmp8fFIuRyhsKX1jYXRjaChQKXtQdCgwLDExLFIsUCwiOiIpLE89Ui5qfShVKChuPVIuRigpLE8pKSxSKS5QKz1SLkYoKS1uO2JyZWFrfX0sZnc9ZnVuY3Rpb24oUix5LEUsbCxVLHYpe3JldHVybiBxJC5jYWxsKHRoaXMsMzcsMTIsUix5LEUsbCxVLHYpfSwkYz1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBuTi5jYWxsKHRoaXMsMjQsbCxSLEUsVSx5KX0sR2Y9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbil7Zm9yKEs9KHY9YihsLChPPWxbYVddfHx7fSwzMSkpLE8uUVo9RyhsLDc5KSxPLlQ9W10sbC51PT1sKT8oVT1EVShSLHksbCksLX4oVSZFKSstMisoVSYtMikpOjEsWT1iKGwsMTUpLG49MDtuPEs7bisrKU8uVC5wdXNoKEcobCw3NSkpO2Zvcig7Sy0tOylPLlRbS109dChPLlRbS10sbCk7cmV0dXJuKE8ud0I9TSh2LGwpLE8pLkZOPWcoWSxsKSxPfSxhPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goISh5PT00MDV8fHk9PTEwNSkpe2Nhc2UgTmFOIT09TmFOOmlmKEUuTUkmJnkhPTczKXJldHVybjt5PT0yMDd8fHk9PTg0fHx5PT02NHx8eT09NDg1fHx5PT0xNzV8fHk9PTMwMXx8eT09MjYwfHx5PT0zNTV8fHk9PTEwMXx8eT09MTY4P0UuTlt5XXx8KEUuTlt5XT1HKDAsMjYsRSx5LFIsMzgpKTpFLk5beV09RygwLDI0LEUseSxSLDE1Myk7YnJlYWs7Y2FzZSBOYU49PT1OYU46RS5OW3ldP0UuTlt5XS5jb25jYXQoUik6RS5OW3ldPWhkKDAsMTMsUixFKTticmVha315PT03MyYmKEUuVz1wKEUsZmFsc2UsMzIpLEUubz12b2lkIDApfSxkTT1mdW5jdGlvbihSLHksRSl7cmV0dXJuIExOLmNhbGwodGhpcyw2NSxSLDMyLHksRSl9LHRkPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSxLLG4pe1k9KChVLnh3PXZTKChVLlI0PShVLnR5PShVLnN4PVZTLEhTKSxVKVtpUV0sODApLDg4LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19LFUuaCksVSkuSFE9SHRbVS5oXShVLnh3LHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e0s9W107d2hpbGUoWTwyOTcpS1tZXT1TdHJpbmcuZnJvbUNoYXJDb2RlKFkpLFkrK31VLnlaPShVLmtXPXZvaWQgMCxVLk89ZmFsc2UsZmFsc2UpLChVLnlUPShVLkdsPVtdLDApLFUpLkJZPTI1LFUucDU9KFUuVGw9ZmFsc2UsZnVuY3Rpb24oVCl7cmV0dXJuIHZTLmNhbGwodGhpcyw4MCw1NixUKX0pO3doaWxlKHt9KWlmKFUudT1VLHRydWUpYnJlYWs7VS5iND0oKChVLlQwPXksVS5wcj0wLFUpLm9oPTAsVS5MPWZhbHNlLFUubz12b2lkIDAsVSkuSz0oVS5OPShVLkk0PShVLlc9dm9pZCAwLFUuS3I9W10sVS5SPXZvaWQgMCxbXSksKFUuanI9MCxVKS5QPShVLkI9MSxVLmc9KFUuTUk9ZmFsc2UsMCksMCksVS5JPXZvaWQgMCxuPXdpbmRvdy5wZXJmb3JtYW5jZXx8e30sVS5ZVz12b2lkIDAsVS5xcj1bXSxVLkZlPTAsW10pLChVLkpUPWZhbHNlLFUpLmxwPVtdLFUuVlo9KFUuVlQ9MCwwKSwoKFUuSj1bXSxVKS5FMj12LFUpLnMyPVtdLG51bGwpLFUuaj0oVS5Tej0oVS5jWT12b2lkIDAsODAwMSksdm9pZCAwKSxuLnRpbWVPcmlnaW58fChuLnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydCl8fDAsRSYmRS5sZW5ndGg9PTImJihVLkk0PUVbMV0sVS5xcj1FWzBdKTtmb3IodHJ1ZTtsO3VuZGVmaW5lZCl7dHJ5e1UuY1k9SlNPTi5wYXJzZShsKX1jYXRjaChUKXtVLmNZPXt9fWlmKGZhbHNlIT1udWxsKWJyZWFrfXooOTEsMCwoeigzNCwwLCh6KDM2LCh6KDMyLDAsKGEoKEEoMzEsZnVuY3Rpb24oVCl7c2ooVCw0KX0sKEEoMzEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDLGQseWcsZSx4LHpqLHNxLEQpe3tEPTM0O3doaWxlKEQhPTIzKUQ9PTIyP0Q9NjE6RD09OTk\/RD0xODpEPT0zND8oc3E9ZnVuY3Rpb24oRixFcSl7Zm9yKDtQPEY7KXh8PURVKHRydWUsOCxUKTw8UCxQKz04O3JldHVybiB4Pj49KEVxPXgmKDE8PEYpLShQLT1GLDEpLEYpLEVxfSxCPWIoVCwxNCkseD1QPTAsVz0oc3EoMyl8MCkrMSxDPXNxKDUpLGg9emo9MCxJPVtdLEQ9MjIpOkQ9PTI0PyhkPTAsRD05OSk6RD09ODk\/KGQrKyxEPTE4KTpEPT00MT8oSVtkXSYmKHdbZF09YihULDE0KSksRD04OSk6RD09Mzk\/KHpqKyssRD02MSk6RD09MTA\/RD1lPEM\/ODA6MjQ6RD09NzY\/KGUrKyxEPTEwKTpEPT04MD8oSVtlXXx8KHdbZV09c3EocSkpLEQ9NzYpOkQ9PTE4P0Q9ZDxDPzQxOjE3OkQ9PTM\/KHlnPXNxKDEpLEkucHVzaCh5ZyksaCs9eWc\/MDoxLEQ9MzkpOkQ9PTUwPyhBKDMyLGZ1bmN0aW9uKEYsRXEsZixKcCxtLHUpe2Zvcih1PTE2O3UhPTg7KXU9PTU1PyhKcC5wdXNoKG0pLHU9OTEpOnU9PTY\/dT1mPEM\/OTg6MTg6dT09OTc\/dT1tPj1FcS5sZW5ndGg\/NDI6Njg6dT09OTg\/KG09d1tmXSx1PTUyKTp1PT0yNz91PTk3OnU9PTE4PyhGLkk9aGQoMCw1LE4uc2xpY2UoKSxGKSxGLlI9aGQoMCwxMixKcCxGKSx1PTgpOnU9PTE2PyhKcD1bXSxFcT1bXSxmPTAsdT0yNCk6dT09Njg\/KG09RXFbbV0sdT01NSk6dT09MzA\/dT05Nzp1PT05MT8oZisrLHU9Nik6dT09NTI\/dT1JW2ZdPzU1OjMwOnU9PTI0P3U9Njp1PT00MiYmKEVxLnB1c2goRyhGLDM3KSksdT0yNyl9LEIsVCksRD0yMyk6RD09NTQ\/RD1TLS0\/Mzg6NTA6RD09OTE\/RD01NDpEPT0xNz8oUz1XLE49W10sRD0xKTpEPT0xP0Q9NTQ6RD09Mzg\/KE4ucHVzaChnKEcoVCwyMSksVCkpLEQ9OTEpOkQ9PTU5P0Q9MTA6RD09NjE\/RD16ajxDPzM6NDA6RD09NDAmJihxPSgoaHwwKS0xKS50b1N0cmluZygyKS5sZW5ndGgsZT0wLHc9W10sRD01OSl9fSwoQSgyMyxmdW5jdGlvbihULEksUCxXLFMscSl7e3E9ODE7d2hpbGUocSE9MTIpcT09Mjc\/KEkrKyxxPTIzKTpxPT04MT8oVz1HKFQsNjUpLFM9Y3QoMTI3LDM0LFQpLEk9MCxQPVtdLHE9NjgpOnE9PTQ3PyhIKFcsVCxQKSxxPTEyKTpxPT05Mz8oUC5wdXNoKERVKHRydWUsOCxUKSkscT0yNyk6cT09Njg\/cT0yMzpxPT0yMyYmKHE9STxTPzkzOjQ3KX19LDIxOSwoQSgyMywoQSgyMyxmdW5jdGlvbihULEksUCxXLFMscSl7KFM9KFc9KEk9RygoUD1HKFQsMzkpLFQpLDU1KSxHKFQsNzUpKSxnKEksVCkpLHE9TShQLFQpLGEpKHEgaW4gU3wwLFcsVCl9LChrKDEyMyxVLChBKChhKFtdLDMwMSwoQSgzMywoYShbXSwoSCgoQSgyMywoQSgyNSxmdW5jdGlvbihUKXtqWCgzLFQpfSwyNDMsKEEoMjQsZnVuY3Rpb24oVCxJLFAsVyl7Vz1iKFQsKEk9RFUodHJ1ZSwoUD1HKFQsNzkpLDgpLFQpLDEzKSksSChXLFQsTShQLFQpPj4+SSl9LChBKDMyLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCl7Uz0ocT0oST0oVz1iKChOPWIoVCwoUD1HKFQsMzgpLDEzKSksVCksMjYpLGIoVCwxMCkpLHQpKE4sVCksZyhXLFQpKSxoPWcoSSxUKSxrKFAsVCxoZCgwLDI4LDIsZmFsc2UsaCxxLFMsVCkpfSwoQSgyOSxmdW5jdGlvbihULEksUCxXLFMscSl7SCgocT1nKChJPShQPWIoVCwoUz1iKFQsKFc9RyhULDc3KSwyNykpLDEyKSksTShTLFQpKSxXKSxUKT09SSxQKSxULCtxKX0sKEgoKEEoKEEoMjQsZnVuY3Rpb24oVCl7RygwLDksVCw0KX0sKEEoMjksKFUuSzU9KEEoMjAsKEEoKEgoKGEoW10sMjYwLCgoYShVLChBKDI4LChIKDEsKEgoMzU1LFUsKEEoMjUsZnVuY3Rpb24oVCxJLFAsVyl7aygoUD0oVz1HKFQsKEk9RyhULDM2KSwyMSkpLEcpKFQsNjcpLFApLFQsdChJLFQpfHxnKFcsVCkpfSw0MzgsKEEoMjQsZnVuY3Rpb24oVCxJLFAsVyxTKXtJPWcoKFM9dCgoVz1HKFQsKFA9RyhULDc3KSw2NykpLFApLFQpIT0wLFcpLFQpLFMmJmEoSSw0MDUsVCl9LDEwOSwoQSgyOCxmdW5jdGlvbihULEksUCxXLFMscSl7Zm9yKHE9ODM7cSE9NDQ7KXE9PTE5PyhXPUdmKHRydWUsOCwxLFQpLFA9Vy53QixTPVcuRk4scT0xMyk6cT09MTM\/cT1ULnU9PVR8fFA9PVQucDUmJlM9PVQ\/MjA6NDQ6cT09ODM\/cT1kdSh0cnVlLEksZmFsc2UsVCwxLDEzKT80NDoxOTpxPT0yMCYmKEgoVy5RWixULFAuYXBwbHkoUyxXLlQpKSxULkZlPVQuRigpLHE9NDQpfSwoQSgzMixmdW5jdGlvbihULEksUCl7KEk9KFA9RyhULDY3KSxNKFAsVC51KSksSVswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihJWzFdLElbMl0sTjApfSwyOTgsKChBKChBKDI5LGZ1bmN0aW9uKFQsSSxQLFcsUyl7e1M9NDA7d2hpbGUoUyE9MTkpUz09NDA\/KEk9VC5HbC5wb3AoKSxTPTY5KTpTPT02OT9TPUk\/OTE6ODk6Uz09NzM\/KFctLSxTPTMxKTpTPT05MT8oVz1EVSh0cnVlLDgsVCksUz02MSk6Uz09NjA\/KFA9YihULDExKSxJW1BdPVQuTltQXSxTPTczKTpTPT0zMT9TPVc+MD82MDoxNTpTPT02MT9TPTMxOlM9PTg5PyhhKFQuZyw0MDUsVCksUz0xOSk6Uz09MTUmJihJWzE3NV09VC5OWzE3NV0sSVsxNjhdPVQuTlsxNjhdLFQuTj1JLFM9MTkpfX0sKEEoMjEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDLGQseWcsZSx4KXt7eD04ODt3aGlsZSh4IT04KWlmKHg9PTcwKXg9NTg7ZWxzZSBpZih4PT0zMilQKz1CLHg9NTg7ZWxzZSBpZih4PT03OClXPUcoVCw2NSksUz1HKFQsMjEpLHc9RyhULDc1KSxoPUcoVCw3NSksTj1nKFcsVCkscT1NKFMsVCksZT1NKGgsVCksQj10KHcsVCkseD0xODtlbHNlIGlmKHg9PTU4KXg9UDxDPzY2Ojg7ZWxzZSBpZih4PT0xOCl4PXd1KCJvYmplY3QiLE4sIm51bWJlciIpPT0ib2JqZWN0Ij85Mzo5NztlbHNlIGlmKHg9PTQyKUI9Qj4wP0I6MSxDPU4ubGVuZ3RoLFA9MCx4PTcwO2Vsc2UgaWYoeD09NjYpcShOLnNsaWNlKFAsKFB8MCkrKEJ8MCkpLGUpLHg9MzI7ZWxzZSBpZih4PT04OCl4PWR1KHRydWUsSSx0cnVlLFQsMSwxMSk\/ODo3ODtlbHNlIGlmKHg9PTk3KXg9VC51PT1UPzQyOjg7ZWxzZSBpZih4PT05Myl7Zm9yKGQgaW4geWc9W10sTil5Zy5wdXNoKGQpO049KHg9OTcseWcpfX19LChBKDMzLGZ1bmN0aW9uKFQsSSxQKXsoUD1HKFQsKEk9RyhULDM4KSwzNikpLGspKFAsVCwiIit0KEksVCkpfSwoKEgoKEgoNDg1LCgoSCgxNjgsKEgoNjQsVSwoVS5HMD0oSCgoSCg0MDUsKEEoMjEsKEEoMjUsKEEoMjAsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcpe3t3PTk2O3doaWxlKHchPTE3KXc9PTA\/dz0zMDp3PT0yNT8oYShJLFMsVCksdz0xNyk6dz09ODk\/dz0zMDp3PT0zMD93PVctLT8yOjI1Onc9PTI\/KGg9KE49Y3QoMTI3LDMzLFQpLC0oaHxOKSszKihoJk4pKzIqKGheTikpJXEsSS5wdXNoKFBbaF0pLHc9MCk6dz09OTYmJihTPUcoVCw1NCksVz1jdCgxMjcsMzYsVCksST1bXSxQPWcoMzcwLFQpLHE9UC5sZW5ndGgsaD0wLHc9ODkpfX0sMjAyLFUpLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCx3LEIpe3tCPTc7d2hpbGUoQiE9NTIpQj09Nz8oUD1iKFQsMTIpLHc9YihULDExKSxxPUcoVCw3MyksaD10KHcsVCksVz1NKFAsVCksTj0iIixTPTAsQj01KTpCPT03NT8oSChxLFQsV1tOXSksQj01Mik6Qj09NT9CPTIzOkI9PTgwPyhOKz1TdHJpbmcuZnJvbUNoYXJDb2RlKChJPWhbU10sKEl8MCkrfihJJjEyMSktKEl8LTEyMikpKSxCPTYzKTpCPT0yMz9CPVM8aC5sZW5ndGg\/ODA6NzU6Qj09NjMmJihTKyssQj0yMyl9fSksMzgxLFUpLGZ1bmN0aW9uKFQsSSxQLFcsUyxxLE4saCx3KXtmb3Iodz05NDt3IT02Mzspdz09MjM\/KGEoSSBpbiBQfDAsUyxUKSx3PTYzKTp3PT05ND8oTj1HKFQsNzMpLHE9RyhULDY1KSxTPUcoVCwyMyksVz1nKE4sVCksUD10KHEsVCksaD0wLEk9IiIsdz02Nyk6dz09NDI\/dz1oPFcubGVuZ3RoPzQzOjIzOnc9PTY3P3c9NDI6dz09Njk\/KGgrKyx3PTQyKTp3PT00MyYmKEkrPVN0cmluZy5mcm9tQ2hhckNvZGUoV1toXV4xMjEpLHc9NjkpfSksNDUxLFUpLFUpLDApLDEwNSksVSwwKSwwKSxbXSkpLFUpLFsyMDQ4XSksQSkoMjEsZnVuY3Rpb24oVCl7algoNCxUKX0sNDk0LFUpLFUpLGl3KDQpKSwzNDApLFUsMCksaykoMzU4LFUsMCksOTMpLFUpLDk2KSxVKSwyMzIpLFUpLDIwKSxmdW5jdGlvbihULEksUCxXLFMscSxOLGgsdyxCKXt7Qj04NTt3aGlsZShCIT0yMylCPT01NT8oUz1HZih0cnVlLDgsMSxULnUpLFc9Uy5RWixOPVMuVCxQPVMud0IscT1TLkZOLHc9Ti5sZW5ndGgsaD13PT0wP25ldyBxW1BdOnc9PTE\/bmV3IHFbUF0oTlswXSk6dz09Mj9uZXcgcVtQXShOWzBdLE5bMV0pOnc9PTM\/bmV3IHFbUF0oTlswXSxOWzFdLE5bMl0pOnc9PTQ\/bmV3IHFbUF0oTlswXSxOWzFdLE5bMl0sTlszXSk6MigpLGsoVyxULGgpLEI9MjMpOkI9PTg1JiYoQj1kdSh0cnVlLEksZmFsc2UsVCwxLDE0KT8yMzo1NSl9fSwzOCxVKSxIKSgyMDcsVSxbMTU0LDAsMF0pLFUpKSwzNDQpLFUpLFUpKSxVKSksWzAsMCwwXSkpLEEoMzEsZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoLHcsQixDKXt7Qz02NTt3aGlsZShDIT03MilDPT02NT8oUD1HKFQsMzkpLHE9RyhULDY1KSxJPUcoVCwzNyksTj1HKFQsNzkpLFM9ZyhOLFQpLFc9ZyhxLFQpLHc9TShQLFQudSksaD1NKEksVCksQz01Myk6Qz09NjQ\/KEI9aGQoMCwyNywyLGZhbHNlLDEsaCxTLFQsdyxXKSx3LmFkZEV2ZW50TGlzdGVuZXIoVyxCLE4wKSx0KDMzOCxUKS5wdXNoKGZ1bmN0aW9uKCl7dy5yZW1vdmVFdmVudExpc3RlbmVyKFcsQixOMCl9KSxrKDM0MCxULFt3LFcsQl0pLEM9NzIpOkM9PTUzJiYoQz13IT09MD82NDo3Mil9fSw2MCxVKSxVKSw0MDYpLGZ1bmN0aW9uKFQpe3NqKFQsMSl9KSwyNzEsVSksMjI2KSxVKSxuZXcgZE0oIlN1Ym1pdCIpKS5kaXNwb3NlKCksVSkpLDg0KSxVLGl3KDQpKSwyMCksZnVuY3Rpb24oVCxJKXsoST1nKEcoVCw3MyksVCksRm0pKDAsODQsVC51LDQwNSwxMDQsSSl9LDQxNyxVKSxmdW5jdGlvbihULEksUCxXLFMscSl7SCgoUD0oVz0oUz1HKFQsKEk9RyhULChxPUcoVCw1MyksNTUpKSw1MykpLE0ocSxUKSksZyhJLFQpKSxTKSxULFdbUF0pfSksMzY2LFUpLDApLGZ1bmN0aW9uKFQsSSxQLFcsUyl7SCgoUz13dSgib2JqZWN0IiwoUD0oST1HKChXPUcoVCw3OSksVCksNTIpLGcoVyxUKSksUCksIm51bWJlciIpLEkpLFQsUyl9KSw0NzMsVSksNDE5KSxVKSwyMSksZnVuY3Rpb24oVCxJLFAsVyxTKXtmb3IoUz03MDtTIT05MjspUz09NzA\/Uz1kdSh0cnVlLEksZmFsc2UsVCwxLDkpPzkyOjc6Uz09NyYmKFA9RyhULDUyKSxXPUcoVCw2NSksSChXLFQsZnVuY3Rpb24ocSl7cmV0dXJuIGV2YWwocSl9KGVYKHQoUCxULnUpKSkpLFM9OTIpfSwzMSxVKSwyNjEpLFUse30pLDQ1NCksVSksQSgyOCxmdW5jdGlvbihULEksUCxXLFMpeyhQPWcoKFM9RyhULChXPWIoVCwxNSksNzcpKSxJPWcoUyxUKSxXKSxUKSxhKShJK1AsUyxUKX0sNDg4LFUpLDQyMSksVSksMjIxKSxVKSxVKSksZnVuY3Rpb24oVCxJLFAsVyxTLHEsTixoKXt7aD0yOTt3aGlsZShoIT02OCloPT0xOD9oPTE0Omg9PTM3P2g9MTQ6aD09MzM\/KFc9KChXfDApKyhjdCgxMjcsMzIsVCl8MCkpJXEsTis9S1tTW1ddXSxoPTE4KTpoPT0yOT8oUD1iKFQsMzApLEk9Y3QoMTI3LDM1LFQpLE49IiIsUz1NKDM3MCxUKSxxPVMubGVuZ3RoLFc9MCxoPTM3KTpoPT0xND9oPUktLT8zMzo0MzpoPT00MyYmKEgoUCxULE4pLGg9NjgpfX0pLDgyLFUpLDMzOCksVSxbXSksVS5jUT0wLDE3NSksVSksZnVuY3Rpb24oVCxJKXtJPUcoVCwyMyksayhJLFQsW10pfSksMTM4LFUpLFUpKSwzMyksZnVuY3Rpb24oKXt9LDEzMSxVKSxjKSksMzI5KSxVKSxmdW5jdGlvbihULEksUCxXLFMscSxOLGgpe2ZvcihoPTY0O2ghPTM2OyloPT05Mz8oTj1nKFMsVCksST1nKHEsVCksUD1nKFcsVCksSVtOXT1QLGg9NzcpOmg9PTU0P2g9VC51PT1UPzkzOjM2Omg9PTcyPyhULm89dm9pZCAwLGg9NjEpOmg9PTYxP2g9Tj09Mj81MjozNjpoPT02ND8ocT1HKFQsNTQpLFM9RyhULDczKSxXPUcoVCwyMyksaD01NCk6aD09NTI\/KFQuVz1wKFQsZmFsc2UsMzIpLFQubz12b2lkIDAsaD0zNik6aD09NzcmJihoPXE9PTczPzcyOjM2KX0pLDU5LFUpLFUpKSwxMyksVSksMzY5KSxVKSxpdykoNCksMTAxLFUpLFUpLFtLd10pLDApLFUsW1htLFJdKSxVKSxbTTAsT10pLHRydWUpLFUsdHJ1ZSl9LFIwPWZ1bmN0aW9uKFIpe3JldHVybiBQUy5jYWxsKHRoaXMsIiIsODQsMyxSKX0sZz1mdW5jdGlvbihSLHksRSl7RT15Lk5bUl07Zm9yKGZhbHNlPT0wO0U9PT12b2lkIDA7dm9pZCgwKS5BKXt0aHJvd1tEMiwzMCxSXTtpZih7fSlicmVha31zd2l0Y2goIUUudmFsdWUpe2Nhc2UgdHJ1ZTp0cnVlPT1bXTticmVhaztjYXNlIGZhbHNlOnJldHVybiBFLmNyZWF0ZSgpO2JyZWFrfXdoaWxlKHRydWUpaWYoRS5jcmVhdGUoUio1KlIrOTMqUisxMSksIlUiKWJyZWFrO3JldHVybiBFLnByb3RvdHlwZX0sc2o9ZnVuY3Rpb24oUix5LEUsbCl7SmQoUShnKChFPUcoUiwobD1HKFIsNjcpLDc3KSksbCksUikseSksRSxSKX0sa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gYXIuY2FsbCh0aGlzLCJvZmYiLDUpfSx6Zj1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe1k9MDt3aGlsZSghWyIiXT09MClpZih2PVVbMl18MCwhbnVsbClicmVhazt7Tz1VW0VdfDA7d2hpbGUoWTwxNilsPWw+Pj44fGw8PDI0LGwrPXl8MCxsXj12K1IseT15PDxFfHk+Pj4yOSxPPU8+Pj44fE88PDI0LE8rPXZ8MCx2PXY8PEV8dj4+PjI5LHlePWwsT149WStSLHZePU8sWSsrfXJldHVyblt5Pj4+MjQmMjU1LHk+Pj4xNiYyNTUseT4+PjgmMjU1LHk+Pj4wJjI1NSxsPj4+MjQmMjU1LGw+Pj4xNiYyNTUsbD4+PjgmMjU1LGw+Pj4wJjI1NV19LEg9ZnVuY3Rpb24oUix5LEUpe2lmKFI9PTQwNXx8Uj09MTA1KXkuTltSXT95Lk5bUl0uY29uY2F0KEUpOnkuTltSXT1oZCgwLDksRSx5KTtlbHNle3N3aXRjaCghKHkuTUkmJlIhPTczKSl7Y2FzZSAtMD09PTA6ZmFsc2U7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm47YnJlYWt9Uj09MjA3fHxSPT04NHx8Uj09NjR8fFI9PTQ4NXx8Uj09MTc1fHxSPT0zMDF8fFI9PTI2MHx8Uj09MzU1fHxSPT0xMDF8fFI9PTE2OD95Lk5bUl18fCh5Lk5bUl09RygwLDE4LHksUixFLDM4KSk6eS5OW1JdPUcoMCwzMCx5LFIsRSwxNTMpfVI9PTczJiYoeS5XPXAoeSxmYWxzZSwzMikseS5vPXZvaWQgMCl9LE09ZnVuY3Rpb24oUix5LEUpe2lmKChFPXkuTltSXSxFKT09PXZvaWQgMCl0aHJvd1tEMiwzMCxSXTtpZihFLnZhbHVlKXJldHVybiBFLmNyZWF0ZSgpO3JldHVybiBFLmNyZWF0ZShSKjUqUis5MypSKzExKSxFLnByb3RvdHlwZX0sRm09ZnVuY3Rpb24oUix5LEUsbCxVLHYpe0UuR2wubGVuZ3RoPlU\/cHcoW0QyLDM2XSxFLFIseSk6KEUuR2wucHVzaChFLk4uc2xpY2UoKSksRS5OW2xdPXZvaWQgMCxhKHYsbCxFKSl9LHVRPWZ1bmN0aW9uKFIseSl7cmV0dXJuIFhyLmNhbGwodGhpcywzLFIsMTgseSl9LGxBPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8sWSl7dHJ5e3doaWxlKDA9PSFbXSlpZih2PVJbKCh5fDApKzIpJTNdLFJbeV09KE89KFU9Ult5XSxZPVJbKCh5fDEpLX4oeSYxKS0xKSUzXSwoVSZZKSt+WS0oflV8WSkpLSh2fDApLGw9eT09MT92PDxFOnY+Pj5FLDIqfihPJmwpLX5PLX5sKSwxNSlicmVha31jYXRjaChLKXt0aHJvdyBLO319LEJ0PWZ1bmN0aW9uKFIseSxFKXtyZXR1cm4oRT1SLmNyZWF0ZSgpLnNoaWZ0KCkseSkuSS5jcmVhdGUoKS5sZW5ndGh8fHkuUi5jcmVhdGUoKS5sZW5ndGh8fCh5LlI9dm9pZCAwLHkuST12b2lkIDApLEV9LGdNPWZ1bmN0aW9uKFIseSxFLGwsVSl7cmV0dXJuIFBTLmNhbGwodGhpcywiIiw4NCw4LFIseSxFLGwsVSl9LFpVPWZ1bmN0aW9uKFIpe3JldHVybiBBLmNhbGwodGhpcywzLFIpfSxyTT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyl7aWYoRS51PT1FKWZvcihLPU0oUixFKSxSPT04NHx8Uj09MTAxfHxSPT00ODU\/KFk9ZnVuY3Rpb24obixULEksUCxXLFMscSxOLGgpe2ZvcihOPTYscT0yMzs7KXRyeXtpZihOPT01MClicmVhaztlbHNlIGlmKE49PTYpUz1LLmxlbmd0aCxQPShTfDApLTQ+PjMsTj05NjtlbHNlIGlmKE49PTU0KXE9ODUsSy5SaD16ZigzMjYwLGN0KDI0LDcsSyxJKSwzLGN0KDI0LDMsSyw0KihJJjQpKzIqfihJJjQpLShJfC01KS0ofkl8NCkpLFQpLE49NztlbHNlIGlmKE49PTgzKUsuQ3I9UCxJPShQPDwzKS00LFQ9WzAsMCxPWzFdLE9bMl1dLE49NTQ7ZWxzZSBpZihOPT05NilOPUsuQ3IhPVA\/ODM6NztlbHNlIGlmKE49PTcpSy5wdXNoKChXPUsuUmhbLShTfDApLTIqfihTJjcpKy0yKyhTJi04KV0sLShXfG4pKyhXJm4pKzIqKFcmfm4pKzIqKH5XJm4pKSksTj01MDtlbHNlIGlmKE49PTEyKXRocm93IHE9MjMsaDt9Y2F0Y2godyl7aWYocT09MjMpdGhyb3cgdztxPT04NSYmKGg9dyxOPTEyKX19LE89ZygzNTUsRSkpOlk9ZnVuY3Rpb24obil7Sy5wdXNoKG4pfSxsJiZZKGwmMjU1KSxVPXkubGVuZ3RoLHY9MDt2PFU7disrKVkoeVt2XSl9LENOPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oUix5LEUsbCl7e2w9NDg7d2hpbGUobCE9Njkpe2lmKGw9PTYxKXJldHVybiBSO2lmKGw9PTYwKXJldHVybiBSW3ldPUUudmFsdWUsUjtsPT00OCYmKGw9Uj09QXJyYXkucHJvdG90eXBlfHxSPT1PYmplY3QucHJvdG90eXBlPzYxOjYwKX19fSxrPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goIShSPT00MDV8fFI9PTEwNSkpe2Nhc2UgMD09ZmFsc2U6c3dpdGNoKCEoeS5NSSYmUiE9NzMpKXtjYXNlIE51bWJlcigpPT09LTA6bnVsbD09KE5hTj09PU5hTik7YnJlYWs7Y2FzZSAhW106cmV0dXJuO2JyZWFrfVI9PTIwN3x8Uj09ODR8fFI9PTY0fHxSPT00ODV8fFI9PTE3NXx8Uj09MzAxfHxSPT0yNjB8fFI9PTM1NXx8Uj09MTAxfHxSPT0xNjg\/eS5OW1JdfHwoeS5OW1JdPUcoMCwyOCx5LFIsRSwzOCkpOnkuTltSXT1HKDAsMTYseSxSLEUsMTUzKTticmVhaztjYXNlICFmYWxzZT09ISIiPT0hW106eS5OW1JdP3kuTltSXS5jb25jYXQoRSk6eS5OW1JdPWhkKDAsOCxFLHkpO2JyZWFrfVI9PTczJiYoeS5XPXAoeSxmYWxzZSwzMikseS5vPXZvaWQgMCl9LG53PWZ1bmN0aW9uKCl7cmV0dXJuIEdqLmNhbGwodGhpcywxOCwxMil9LGpYPWZ1bmN0aW9uKFIseSxFLGwsVSx2LE8pe0pkKCgoTz0oRT1iKChsPSh2PShSfDApLX4oUiYoVT0tfihSJjMpKyh+UiYzKSsoUnwtNCksNCkpK35SLEcpKHksNzMpLHkpLDI5KSxNKGwseSkpLHYpJiYoTz1MdygyMDQ4LCIiK08pKSxVJiZKZChRKE8ubGVuZ3RoLDIpLEUseSksTyksRSx5KX0sRWo9ZnVuY3Rpb24oUix5LEUsbCxVLHYpeyh2PWcoNDA1LHkpLHkpLmxwJiZ2PHkuZz8oayg0MDUseSx5LmcpLEZtKDAsODQseSw0MDUsMTA0LGwpKTpIKDQwNSx5LGwpLHhjKDAsRSxVLHkpO3doaWxlKFtdKWlmKDAhPSFbKGsoNDA1LHksdiksdW5kZWZpbmVkKV09PTApYnJlYWs7cmV0dXJuIE0oUix5KX0sVFo9ZnVuY3Rpb24oKXtyZXR1cm4gdlMuY2FsbCh0aGlzLDgwLDUpfSx3dT1mdW5jdGlvbihSLHksRSxsLFUpe1U9dHlwZW9mIHk7c3dpdGNoKCEoVT09Uikpe2Nhc2UgMD09IVsiIl06Zm9yKE51bWJlcih1bmRlZmluZWQpO1U9PSJmdW5jdGlvbiImJnR5cGVvZiB5LmNhbGw9PSJ1bmRlZmluZWQiOzApe3JldHVybiBSO2lmKHt9KWJyZWFrfWJyZWFrO2Nhc2UgIVtdIT10cnVlIT0hW109PVtdOmlmKHkpe2lmKHkgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4iYXJyYXkiO2lmKHkgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIFU7bD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeSk7d2hpbGUobD09IltvYmplY3QgV2luZG93XSIpe3JldHVybiBSO2lmKFtdKWJyZWFrfWZvcih1bmRlZmluZWQ7bD09IltvYmplY3QgQXJyYXldInx8dHlwZW9mIHkubGVuZ3RoPT1FJiZ0eXBlb2YgeS5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgeS5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZT09IVtdKXtyZXR1cm4iYXJyYXkiO2lmKCFudWxsKWJyZWFrfWlmKGw9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiB5LmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgeS5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpcmV0dXJuImZ1bmN0aW9uIn1lbHNlIHJldHVybiJudWxsIjticmVha31yZXR1cm4gVX0sSTA9ZnVuY3Rpb24oUix5LEUsbCxVKXtpZihSLmxlbmd0aD09Myl7e2w9MDt3aGlsZShsPDMpeVtsXSs9UltsXSxsKyt9Zm9yKEU9WzEzLDgsMTMsMTIsMTYsNSwoVT0wLDMpLDEwLDE1XTtVPDk7VSsrKXlbM10oeSxVJTMsRVtVXSl9fSxmTj1mdW5jdGlvbihSLHkpe3JldHVybiB6LmNhbGwodGhpcywxMCxSLHkpfSxTWD1mdW5jdGlvbigpe3JldHVybiBHai5jYWxsKHRoaXMsMTgsNil9LFFnPWZ1bmN0aW9uKFIseSxFLGwsVSx2KXtyZXR1cm4gWHIuY2FsbCh0aGlzLDMsUiwzNix5LEUsbCxVLHYpfSxZYz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe3JldHVybiBOJC5jYWxsKHRoaXMsMCwzLFIseSxFLGwsVSx2LE8sWSl9LHNrPWZ1bmN0aW9uKFIpe3JldHVybiBMTi5jYWxsKHRoaXMsNjUsUiw4KX0sT3E9ZnVuY3Rpb24oUil7cmV0dXJuIEFwLmNhbGwodGhpcyw2NSwzLFIpfSxVaj1mdW5jdGlvbigpe3JldHVybiB4VC5jYWxsKHRoaXMsMjQpfSxwdz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuLFQsSSxQLFcpe3N3aXRjaCghKCF5Lk1JJiYoTz12b2lkIDAsUiYmUlswXT09PUQyJiYoTz1SWzJdLEU9UlsxXSxSPXZvaWQgMCksVz1nKDE3NSx5KSxXLmxlbmd0aD09MCYmKHY9ZygxMDUseSk+PjMsVy5wdXNoKEUsdj4+OCYyNTUsLX4odnwyNTUpLSh2Ji0yNTYpKyh2fC0yNTYpKSxPIT12b2lkIDAmJlcucHVzaChPJjI1NSkpLG49IiIsUiYmKFIubWVzc2FnZSYmKG4rPVIubWVzc2FnZSksUi5zdGFjayYmKG4rPSI6IitSLnN0YWNrKSksVT1nKDE2OCx5KSxVWzBdPjMpKSl7Y2FzZSB0cnVlOnRydWU7YnJlYWs7Y2FzZSAwIT0hW3VuZGVmaW5lZF06eS51PShUPShuPSgobj1uLnNsaWNlKDAsKFA9VVswXSwtMi0oUF4zKS0yKih+UHwzKSkpLFUpWzBdLT0oSz1uLmxlbmd0aCwtMip+KEsmMykrLTIrKEteMykpLEx3KDIwNDgsbikpLHkpLnUseSk7dHJ5e3kuVGw\/KEk9KEk9dCgzMDEseSkpJiZJW0kubGVuZ3RoLTFdfHw5NSwoWT10KDI2MCx5KSkmJllbWS5sZW5ndGgtMV09PUl8fEpkKFtJJjI1NV0sMjYwLHkpKTpKZChbOTVdLDMwMSx5KSxyTShsLFEobi5sZW5ndGgsMikuY29uY2F0KG4pLHksNTEpfWZpbmFsbHl7eS51PVR9YnJlYWt9fSx5ej1mdW5jdGlvbigpe3JldHVybiBxJC5jYWxsKHRoaXMsMzcsNDApfSxiUT1ScigxNSw0MiwwLCJvYmplY3QiLCJNYXRoIix0aGlzKSxjPSh4VCgxOSwiLiIsbnVsbCwwLDEsIlN5bWJvbCIsZnVuY3Rpb24oUix5LEUsbCxVLHYpe2Zvcih2PTEzO3YhPTQ0Oyl7aWYodj09OTIpcmV0dXJuIGwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuanp9LEU9ImpzY29tcF9zeW1ib2xfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSsiXyIseT0wLFU7aWYodj09MTMpbD1mdW5jdGlvbihPLFkpe0NOKCh0aGlzLmp6PU8sdGhpcyksImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOnRydWUsd3JpdGFibGU6dHJ1ZSx2YWx1ZTpZfSl9LFU9ZnVuY3Rpb24oTyxZKXtmb3IoWT0yNjtZIT0xMzspe2lmKFk9PTE3KXJldHVybiBuZXcgbChFKyhPfHwiIikrIl8iK3krKyxPKTtpZihZPT01KXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO1k9PTI2JiYoWT10aGlzIGluc3RhbmNlb2YgVT81OjE3KX19LHY9ODU7ZWxzZSBpZih2PT04NSl2PVI\/NzM6OTI7ZWxzZSBpZih2PT03MylyZXR1cm4gUn19KSx0aGlzfHxzZWxmKSxSVz0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxXUyxsdz0wLHZ0PWZ1bmN0aW9uKFIseSxFLGwsVSx2KXtmb3Iodj0obD0zOSw2Mik7Oyl0cnl7aWYobD09OTcpYnJlYWs7ZWxzZSBpZihsPT02OCl2PTYyLGw9OTE7ZWxzZSBpZihsPT04MSl5PWZhbHNlLEU9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7eT10cnVlfX0pLGw9NjtlbHNle2lmKGw9PTkxKXJldHVybiB2PTYyLHk7aWYobD09Nil2PTg4LFI9ZnVuY3Rpb24oKXt9LGMuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsUixFKSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLFIsRSksbD05MTtlbHNlIGlmKGw9PTM5KWw9Yy5hZGRFdmVudExpc3RlbmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHk\/ODE6NjU7ZWxzZSBpZihsPT02NSlyZXR1cm4gZmFsc2V9fWNhdGNoKE8pe2lmKHY9PTYyKXRocm93IE87dj09ODgmJihVPU8sbD02OCl9fSgpLHRwPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKEwoMiw2NSxmTiwoa1QucHJvdG90eXBlLlU9IShrVC5wcm90b3R5cGUuZGlzcG9zZT0oa1QucHJvdG90eXBlLkQ9ZnVuY3Rpb24oUil7e1I9MzA7d2hpbGUoUiE9NjApUj09OTY\/Uj0yMTpSPT03Pyh0aGlzLldZLnNoaWZ0KCkoKSxSPTk2KTpSPT05Mj9SPTIxOlI9PTIxP1I9dGhpcy5XWS5sZW5ndGg\/Nzo2MDpSPT0zMCYmKFI9dGhpcy5XWT85Mjo2MCl9fSx1US5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPSh1US5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0sZnVuY3Rpb24oKXt0aGlzLlNyPXRydWV9KSxmdW5jdGlvbihSKXt7Uj05NDt3aGlsZShSIT02NilSPT05ND9SPXRoaXMuVT82NjozNzpSPT0zNyYmKHRoaXMuVT10cnVlLHRoaXMuRCgpLFI9NjYpfX0pLDEpLGtULnByb3RvdHlwZVtTeW1ib2wuZGlzcG9zZV09ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKX0sdVEpKSxmTi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihSLHksRSxsLFUsdil7Zm9yKHY9NjM7diE9Mjspdj09NDI\/KHRoaXMub2Zmc2V0WD1SLm9mZnNldFgsdGhpcy5vZmZzZXRZPVIub2Zmc2V0WSx0aGlzLmNsaWVudFg9Ui5jbGllbnRYIT09dm9pZCAwP1IuY2xpZW50WDpSLnBhZ2VYLHRoaXMuY2xpZW50WT1SLmNsaWVudFkhPT12b2lkIDA\/Ui5jbGllbnRZOlIucGFnZVksdGhpcy5zY3JlZW5YPVIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Ui5zY3JlZW5ZfHwwLHY9NTApOnY9PTY2Pyh0aGlzLmNsaWVudFg9VS5jbGllbnRYIT09dm9pZCAwP1UuY2xpZW50WDpVLnBhZ2VYLHRoaXMuY2xpZW50WT1VLmNsaWVudFkhPT12b2lkIDA\/VS5jbGllbnRZOlUucGFnZVksdGhpcy5zY3JlZW5YPVUuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9VS5zY3JlZW5ZfHwwLHY9NTApOnY9PTY0P3Y9bD09Im1vdXNlb3ZlciI\/Nzg6OTp2PT01MD8odGhpcy5idXR0b249Ui5idXR0b24sdGhpcy5rZXlDb2RlPVIua2V5Q29kZXx8MCx0aGlzLmtleT1SLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1SLmNoYXJDb2RlfHwobD09ImtleXByZXNzIj9SLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PVIuY3RybEtleSx0aGlzLmFsdEtleT1SLmFsdEtleSx0aGlzLnNoaWZ0S2V5PVIuc2hpZnRLZXksdGhpcy5tZXRhS2V5PVIubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1SLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPVIucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1SLnN0YXRlLHRoaXMudGltZVN0YW1wPVIudGltZVN0YW1wLHRoaXMud3I9UixSLmRlZmF1bHRQcmV2ZW50ZWQmJmZOLlMucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx2PTIpOnY9PTU2PyhFPVIudG9FbGVtZW50LHY9MjEpOnY9PTc4PyhFPVIuZnJvbUVsZW1lbnQsdj0yMSk6dj09NDg\/dj1FPzIxOjY0OnY9PTIxPyh0aGlzLnJlbGF0ZWRUYXJnZXQ9RSx2PTUzKTp2PT05P3Y9bD09Im1vdXNlb3V0Ij81NjoyMTp2PT02Mz8obD10aGlzLnR5cGU9Ui50eXBlLFU9Ui5jaGFuZ2VkVG91Y2hlcyYmUi5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg\/Ui5jaGFuZ2VkVG91Y2hlc1swXTpudWxsLHRoaXMudGFyZ2V0PVIudGFyZ2V0fHxSLnNyY0VsZW1lbnQsdGhpcy5jdXJyZW50VGFyZ2V0PXksRT1SLnJlbGF0ZWRUYXJnZXQsdj00OCk6dj09NTMmJih2PVU\/NjY6NDIpfSxmTikucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe2ZOLlMuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyksdGhpcy53ci5zdG9wUHJvcGFnYXRpb24\/dGhpcy53ci5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLndyLmNhbmNlbEJ1YmJsZT10cnVlfSxmTi5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oUil7KFI9KGZOLlMucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSx0aGlzLndyKSxSLnByZXZlbnREZWZhdWx0KT9SLnByZXZlbnREZWZhdWx0KCk6Ui5yZXR1cm5WYWx1ZT1mYWxzZX0sTWF0aC5yYW5kb20oKSoxRTZ8MCksTSQ9MCx1dz0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLFRqPSgoKE9xLnByb3RvdHlwZS5oYXNMaXN0ZW5lcj1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBOJCgwLChVPShsPXkhPT12b2lkIDAsKEU9UiE9PXZvaWQgMCk\/Ui50b1N0cmluZygpOiIiKSwxMSksdHJ1ZSxmYWxzZSxmdW5jdGlvbih2LE8sWSl7e1k9OTM7d2hpbGUoWSE9ODApaWYoWT09OSlZPTk0O2Vsc2UgaWYoWT09OTQpWT1PPHYubGVuZ3RoPzk4OjQ0O2Vsc2UgaWYoWT09OTgpWT1FJiZ2W09dLnR5cGUhPVV8fGwmJnZbT10uY2FwdHVyZSE9eT8yNzo3NDtlbHNle2lmKFk9PTc0KXJldHVybiB0cnVlO2lmKFk9PTkzKU89MCxZPTk7ZWxzZSBpZihZPT0yNykrK08sWT05NDtlbHNlIGlmKFk9PTQ0KXJldHVybiBmYWxzZX19fSx0aGlzLmwpfSxPcSkucHJvdG90eXBlLmFkZD0oT3EucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe2ZvcihZPTk0O1khPTEyOyl7aWYoWT09MTMpcmV0dXJuIGZhbHNlO2lmKFk9PTYwKVU9dGhpcy5sW09dLHY9WVQoRSx5LFUsbCwxMSwwKSxZPTk3O2Vsc2V7aWYoWT09MTYpcmV0dXJuIGZhbHNlO2lmKFk9PTYpWT1PIGluIHRoaXMubD82MDoxMztlbHNlIGlmKFk9PTk3KVk9dj4tMT8xMDoxNjtlbHNle2lmKFk9PTMzKXJldHVybiB0cnVlO1k9PTI5P1k9VS5sZW5ndGg9PTA\/NzA6MzM6WT09NzA\/KGRlbGV0ZSB0aGlzLmxbT10sdGhpcy5RVC0tLFk9MzMpOlk9PTk0PyhPPVIudG9TdHJpbmcoKSxZPTYpOlk9PTEwJiYobk4oMzIsbnVsbCxVW3ZdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoVSx2LDEpLFk9MjkpfX19fSxmdW5jdGlvbihSLHksRSxsLFUsdixPLFksSyxuKXtmb3Iobj04O24hPTI2OylpZihuPT0yMilLLnpsPWZhbHNlLG49Mzk7ZWxzZSBpZihuPT0yNyluPXY\/ODc6NzA7ZWxzZSBpZihuPT03NCluPU8+LTE\/Njg6ODQ7ZWxzZSBpZihuPT02OClLPXZbT10sbj05ODtlbHNlIGlmKG49PTgpWT1SLnRvU3RyaW5nKCksdj10aGlzLmxbWV0sbj0yNztlbHNlIGlmKG49PTg3KU89WVQobCx5LHYsVSwxNSwwKSxuPTc0O2Vsc2UgaWYobj09OTgpbj1FPzM5OjIyO2Vsc2UgaWYobj09ODQpSz1uZXcgJGMoeSxZLHRoaXMuc3JjLFUsISFsKSxLLnpsPUUsdi5wdXNoKEspLG49Mzk7ZWxzZSBpZihuPT03MCl2PXRoaXMubFtZXT1bXSx0aGlzLlFUKyssbj04NztlbHNlIGlmKG49PTM5KXJldHVybiBLfSksT3EucHJvdG90eXBlKS5ucj1mdW5jdGlvbihSLHksRSxsLFUsdil7cmV0dXJuKChVPS0odj10aGlzLmxbeS50b1N0cmluZygpXSwxKSx2KSYmKFU9WVQoUixFLHYsbCw3LDApKSxVKT4tMT92W1VdOm51bGx9LCJjbG9zdXJlX2xtXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApKSxndT17fSxsUT0wLG1jPSJfX2Nsb3N1cmVfZXZlbnRzX2ZuXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7KCgoKChMKDIsNjQsU1gsa1QpLFNYKS5wcm90b3R5cGVbdHBdPXRydWUsVj1TWC5wcm90b3R5cGUsVi5pcD1mdW5jdGlvbihSKXt0aGlzLmJwPVJ9LFYpLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oUix5LEUsbCl7dlMoODAsOCxmYWxzZSwib2JqZWN0Iix0aGlzLEUsbCx5LFIpfSxWKS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKFIseSxFLGwpe0tOKDAseSwib2JqZWN0Iiw2LHRoaXMsbCxFLFIpfSxWLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEkpe2ZvcihJPTM3O0khPTMzOylpZihJPT02Nyl2PXkubGVuZ3RoLTEsST0yMDtlbHNlIGlmKEk9PTIwKUk9MTtlbHNlIGlmKEk9PTgxKUU9bC5jdXJyZW50VGFyZ2V0PU8sVT1lRChudWxsLDE4LEssRSx0cnVlLGwpJiZVLGwuU3J8fChVPWVEKG51bGwsMTYsSyxFLGZhbHNlLGwpJiZVKSxJPTk1O2Vsc2UgaWYoST09NTQpWS5wdXNoKFQpLEk9NTU7ZWxzZSBpZihJPT03OSlsPW5ldyB1UShsLE8pLEk9NjA7ZWxzZSBpZihJPT02MilJPTc0O2Vsc2UgaWYoST09MTApdi0tLEk9MTtlbHNlIGlmKEk9PTU1KVQ9VC5icCxJPTQ5O2Vsc2UgaWYoST09OTQpST1sLlNyPzk1OjgxO2Vsc2UgaWYoST09NDcpbC50YXJnZXQ9bC50YXJnZXR8fE8sST02MDtlbHNlIGlmKEk9PTQ2KUU9bC5jdXJyZW50VGFyZ2V0PXlbdl0sVT1lRChudWxsLDMsSyxFLGZhbHNlLGwpJiZVLEk9OTk7ZWxzZSBpZihJPT03MilJPTQ5O2Vsc2UgaWYoST09NDEpST1UPzUyOjI2O2Vsc2UgaWYoST09MTUpST15PzY3Ojk0O2Vsc2UgaWYoST09OTUpST15PzcwOjExO2Vsc2UgaWYoST09MSlJPSFsLlNyJiZ2Pj0wPzYzOjk0O2Vsc2UgaWYoST09MjYpTz10aGlzLlhOLGw9UixLPWwudHlwZXx8bCx5PVksST0yMTtlbHNlIGlmKEk9PTUyKVk9W10sST03MjtlbHNle2lmKEk9PTExKXJldHVybiBVO0k9PTM3PyhUPXRoaXMuYnAsST00MSk6ST09MjE\/ST10eXBlb2YgbD09PSJzdHJpbmciPzc5OjM6ST09NzA\/KHY9MCxJPTYyKTpJPT02Mz8oRT1sLmN1cnJlbnRUYXJnZXQ9eVt2XSxVPWVEKG51bGwsMTcsSyxFLHRydWUsbCkmJlUsST0xMCk6ST09NDk\/ST1UPzU0OjI2Okk9PTc0P0k9IWwuU3ImJnY8eS5sZW5ndGg\/NDY6MTE6ST09OTk\/KHYrKyxJPTc0KTpJPT0zP0k9bCBpbnN0YW5jZW9mIHVRPzQ3OjkwOkk9PTkwPyhuPWwsbD1uZXcgdVEoSyxPKSxidyhsLG4pLEk9NjApOkk9PTYwJiYoVT10cnVlLEk9MTUpfX0sVikuRD1mdW5jdGlvbigpeygoU1guUy5ELmNhbGwodGhpcyksdGhpcykuWiYmSigwLG51bGwsNTcsdGhpcy5aKSx0aGlzKS5icD1udWxsfSxWKS5ucj1mdW5jdGlvbihSLHksRSxsKXtyZXR1cm4gdGhpcy5aLm5yKFIsU3RyaW5nKHkpLEUsbCl9LFYuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oUix5KXtyZXR1cm4gdGhpcy5aLmhhc0xpc3RlbmVyKFIhPT12b2lkIDA\/U3RyaW5nKFIpOnZvaWQgMCx5KX07dmFyIFoyO2lmKFhyKDMsKCgoKCgoVj0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoIiAiKS5jb25jYXQoWyJCVVRUT04iLCJJTlBVVCJdKSxxMC5wcm90b3R5cGUpLFYuVj1mdW5jdGlvbihSKXtyZXR1cm4gdHlwZW9mIFI9PT0ic3RyaW5nIj90aGlzLnFJLmdldEVsZW1lbnRCeUlkKFIpOlJ9LFYuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oUix5KXtyZXR1cm4oeXx8dGhpcy5xSSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKFIpKX0sVikuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihSLHksRSl7aWYoKEU9KHk9dGhpcy5xSSxTdHJpbmcoUikpLHkuY29udGVudFR5cGUpPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihFPUUudG9Mb3dlckNhc2UoKSksW10pcmV0dXJuIHkuY3JlYXRlRWxlbWVudChFKX0sVikuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oUil7cmV0dXJuIHRoaXMucUkuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFIpKX0sVi5hcHBlbmRDaGlsZD1mdW5jdGlvbihSLHkpe1IuYXBwZW5kQ2hpbGQoeSl9LFYpLmFwcGVuZD1mdW5jdGlvbihSLHkpeyRUKCJudW1iZXIiLDE5LGZhbHNlLDEsIiIsYXJndW1lbnRzLFIsUi5ub2RlVHlwZT09OT9SOlIub3duZXJEb2N1bWVudHx8Ui5kb2N1bWVudCl9LFYpLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihSLHkpe2Zvcih5PTU1O3khPTcwOylpZih5PT01NSl5PVIubm9kZVR5cGUhPTE\/ODA6NjQ7ZWxzZXtpZih5PT04MClyZXR1cm4gZmFsc2U7aWYoeT09NjQpe3N3aXRjaChSLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4gZmFsc2V9cmV0dXJuIHRydWV9fX0sVi5yZW1vdmVOb2RlPVIwLFYpLmNvbnRhaW5zPWZ1bmN0aW9uKFIseSxFLGwpe3tsPTMwO3doaWxlKGwhPTYyKXtpZihsPT04OSlyZXR1cm4gUj09eXx8ISEoRT1SLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHkpLDE2LX5FK34oRXwxNikpO2lmKGw9PTk5KXJldHVybiBmYWxzZTtpZihsPT00MSlsPXR5cGVvZiBSLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIT0idW5kZWZpbmVkIj84OTo4NDtlbHNlIGlmKGw9PTM1KWw9eSYmUiE9eT83Mjo0NDtlbHNlIGlmKGw9PTEzKWw9Ui5jb250YWlucyYmeS5ub2RlVHlwZT09MT8xNTo0MTtlbHNlIGlmKGw9PTcyKXk9eS5wYXJlbnROb2RlLGw9NDA7ZWxzZSBpZihsPT0zMClsPVImJnk\/MTM6OTk7ZWxzZXtpZihsPT0xNSlyZXR1cm4gUj09eXx8Ui5jb250YWlucyh5KTtpZihsPT00NClyZXR1cm4geT09UjtsPT00MD9sPTM1Omw9PTg0JiYobD0zNSl9fX19LFVqKSwxMyksMylVai5wcm90b3R5cGUuV1E9IiI7KFY9KEwoMiwzLFpVLChVai5wcm90b3R5cGUuSnk9MCxTWCkpLFpVKS5wcm90b3R5cGUsVi5vND1Vai5YZSgpLFYpLlY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt3aGlsZShudWxsIT1mYWxzZSlpZihWLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmFofSx7fSlicmVhazsoKFYucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEssbixULEksUCl7Zm9yKFA9ODtQIT03MDspaWYoUD09NjEpWT1sLFA9NjI7ZWxzZSBpZihQPT0zMClLPXRoaXMubWwsRT0oSyE9PW51bGwmJkkgaW4gSz9LW0ldOnZvaWQgMCl8fG51bGwsUD00MztlbHNle2lmKFA9PTIyKXJldHVybiBSO2lmKFA9PTMxKVA9KGw9Ui5sNCk\/NjE6MTY7ZWxzZSBpZihQPT0xNSl2PXRoaXMubWwsSSBpbiB2JiZkZWxldGUgdltJXSx4VCg3LDEsdGhpcy5aOSxSKSxQPTY4O2Vsc2UgaWYoUD09MTkpUi5OSSgpLFIuaSYmUjAoUi5pKSxQPTUzO2Vsc2V7aWYoUD09NDUpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoUD09NjgpUD15PzE5OjUzO2Vsc2UgaWYoUD09NDcpVS5haD1udWxsLFpVLlMuaXAuY2FsbChVLG51bGwpLFA9NTI7ZWxzZSBpZihQPT00KVA9dGhpcy5tbCYmST8zMDo2O2Vsc2UgaWYoUD09NjUpUD1JJiZSPzE1OjUyO2Vsc2UgaWYoUD09NjIpST1ZLFA9NDtlbHNlIGlmKFA9PTMzKVA9VT09bnVsbD82Mzo0NztlbHNlIGlmKFA9PTk3KVA9dHlwZW9mIFI9PT0ic3RyaW5nIj82NzozMTtlbHNlIGlmKFA9PTUyKVA9Uj8yMjo0NTtlbHNle2lmKFA9PTYzKXRocm93IEVycm9yKCJVbmFibGUgdG8gc2V0IHBhcmVudCBjb21wb25lbnQiKTtQPT0xNj8obj1SLm80LE89UixUPW4uV1ErIjoiKyhuLkp5KyspLnRvU3RyaW5nKDM2KSxsPU8ubDQ9VCxQPTYxKTpQPT01Mz8oVT1SLFA9MzMpOlA9PTQzPyhSPUUsUD02NSk6UD09Njc\/KFk9UixQPTYyKTpQPT02PyhFPW51bGwsUD00Myk6UD09OCYmKFA9Uj85Nzo1Mil9fX19LFYpLkQ9ZnVuY3Rpb24oUil7Zm9yKFI9ODk7UiE9NjU7KVI9PTIyPyhBcCg2NSwyMyxmdW5jdGlvbih5KXt5LmRpc3Bvc2UoKX0sdGhpcyksIXRoaXMuckImJnRoaXMuaSYmUjAodGhpcy5pKSx0aGlzLm1sPXRoaXMuaT10aGlzLmFoPXRoaXMuWjk9bnVsbCxaVS5TLkQuY2FsbCh0aGlzKSxSPTY1KTpSPT0xMD9SPXRoaXMudXA\/MjE6MjI6Uj09MjE\/KHRoaXMudXAuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLnVwLFI9MjIpOlI9PTg5JiYodGhpcy5nciYmdGhpcy5OSSgpLFI9MTApfSxWKS5pcD0oVi5OST1mdW5jdGlvbigpe3RoaXMuZ3I9KChBcCg2NSwzMSxmdW5jdGlvbihSKXtSLmdyJiZSLk5JKCl9LHRoaXMpLHRoaXMpLnVwJiZKKDAsbnVsbCw1OCx0aGlzLnVwKSxmYWxzZSl9LGZ1bmN0aW9uKFIseSl7Zm9yKHk9NjE7eSE9ODk7KWlmKHk9PTYxKXk9dGhpcy5haCYmdGhpcy5haCE9Uj82ODo3ODtlbHNle2lmKHk9PTY4KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO3k9PTc4JiYoWlUuUy5pcC5jYWxsKHRoaXMsUikseT04OSl9fSk7dmFyIE9qLHZwPXtidXR0b246InByZXNzZWQiLGNoZWNrYm94OihYcigzLHl6LDExKSwiY2hlY2tlZCIpLG1lbnVpdGVtOiJzZWxlY3RlZCIsbWVudWl0ZW1jaGVja2JveDoiY2hlY2tlZCIsbWVudWl0ZW1yYWRpbzoiY2hlY2tlZCIscmFkaW86ImNoZWNrZWQiLHRhYjoic2VsZWN0ZWQiLHRyZWVpdGVtOiJzZWxlY3RlZCJ9O2lmKCgoKFY9eXoucHJvdG90eXBlLFYuTnI9ZnVuY3Rpb24oKXtyZXR1cm4iZ29vZy1jb250cm9sIn0sVikuWT1mdW5jdGlvbihSLHksRSxsLFUsdixPKXtmb3IoTz01O08hPTM1OylPPT02MD9PPXRoaXMuVTI\/MTU6ODpPPT01Pyh2PXkuVigpLE89ODgpOk89PTg4P089dj82MDozNTpPPT0xNT8oKGw9dGhpcy5VMltSXSkmJnRoaXMuSWgoeSxsLEUpLHRoaXMuaFQodixSLEUpLE89MzUpOk89PTgmJihVPXRoaXMuTnIoKSxVLnJlcGxhY2UoL1xceGEwfFxccy9nLCIgIiksdGhpcy5VMj17MTpVKyItZGlzYWJsZWQiLDI6VSsiLWhvdmVyIiw0OlUrIi1hY3RpdmUiLDg6VSsiLXNlbGVjdGVkIiwxNjpVKyItY2hlY2tlZCIsMzI6VSsiLWZvY3VzZWQiLDY0OlUrIi1vcGVuIn0sTz0xNSl9LFYuaFQ9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXsoWT0oKE89KE9qfHwoT2o9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxPalt5XSksVT1SLmdldEF0dHJpYnV0ZSgicm9sZSIpfHxudWxsKT8obD12cFtVXXx8Tyx2PU89PSJjaGVja2VkInx8Tz09InNlbGVjdGVkIj9sOk8pOnY9Tyx2KSkmJmFyKCJvZmYiLDIwLCJmYWxzZSIsZmFsc2UsUixZLEUpfSxWKS5JaD1mdW5jdGlvbihSLHksRSxsKXsobD1SLlY\/Ui5WKCk6UikmJihFP2dNOkN3KShsLFt5XSl9LFYuUFk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZLEspe1k9ODc7e0s9ODM7d2hpbGUoInciKXRyeXtpZihZPT05NylicmVhaztlbHNlIFk9PTU1PyhFLnRhYkluZGV4PTAsWT05Nyk6WT09MzM\/KEs9NjQsbC5ibHVyKCksWT03NCk6WT09Njk\/KEUudGFiSW5kZXg9LTEsRS5yZW1vdmVBdHRyaWJ1dGUoInRhYkluZGV4IiksWT05Nyk6WT09MzI\/KHY9bC50YWJJbmRleCxVPXR5cGVvZiB2PT09Im51bWJlciImJnY+PTAmJnY8MzI3NjgsWT03OCk6WT09NzQ\/KEs9ODMsWT0yMyk6WT09MTE\/WT0heSYmUi5YJjMyPzMzOjcwOlk9PTcwP1k9KFU9bC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzMyOjc4Olk9PTU\/WT15PzU1OjY5Olk9PTg3P1k9S04oMixSLDMyLDM1KSYmKGw9Ui5ycigpKT8xMTo5NzpZPT03OD9ZPVUhPXk\/MjY6OTc6WT09NzU\/KEs9ODMsWT03NCk6WT09MjY\/KEU9bCxZPTUpOlk9PTg\/KE9rKDAsMiwzLDAsNCxSKSYmUi5zZXRBY3RpdmUoZmFsc2UpLE9rKDAsMiwxMSwwLDMyLFIpJiZKKDIsZmFsc2UsMTAsUiwzMikmJlIuWShmYWxzZSwzMiksWT03MCk6WT09MjMmJihZPVIuWCYzMj84OjcwKX1jYXRjaChuKXtpZihLPT04Myl0aHJvdyBuO0s9PTY0JiYoTz1uLFk9NzUpfX19LFYpLnJyPWZ1bmN0aW9uKFIpe3JldHVybiBSLlYoKX0sMTIpTCgyLDE3LFRaLHl6KTt2YXIgV3Q9KFhyKDMsVFosNykse30pO2lmKHR5cGVvZiBZYyE9PSgoKCgoKFY9KEwoKFRaLnByb3RvdHlwZS5Ocj0oVFoucHJvdG90eXBlLmhUPWZ1bmN0aW9uKFIseSxFKXtzd2l0Y2goeSl7Y2FzZSA4OmNhc2UgMTY6YXIoIm9mZiIsMTgsImZhbHNlIixmYWxzZSxSLCJwcmVzc2VkIixFKTticmVhaztkZWZhdWx0OmNhc2UgNjQ6Y2FzZSAxOlRaLlMuaFQuY2FsbCh0aGlzLFIseSxFKX19LGZ1bmN0aW9uKCl7cmV0dXJuImdvb2ctYnV0dG9uIn0pLDIpLDE5LFljLFpVKSxZYy5wcm90b3R5cGUpLFYuWD0wLFYuTkk9ZnVuY3Rpb24oKXsoWWMuUy5OSS5jYWxsKHRoaXMpLHRoaXMuSFkpJiZ0aGlzLkhZLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkmJnRoaXMuQy5QWSh0aGlzLGZhbHNlKX0sVikuWXc9MCxWLmh5PTM5LFYuQzU9dHJ1ZSxWLkQ9ZnVuY3Rpb24oUil7Zm9yKFI9Mzk7UiE9Mjc7KVI9PTYzP1I9dGhpcy5IWT81Nzo4OTpSPT04OT8oZGVsZXRlIHRoaXMuQyx0aGlzLkg9bnVsbCxSPTI3KTpSPT01Nz8odGhpcy5IWS5kaXNwb3NlKCksZGVsZXRlIHRoaXMuSFksUj04OSk6Uj09MzkmJihZYy5TLkQuY2FsbCh0aGlzKSxSPTYzKX0sVikucnI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DLnJyKHRoaXMpfSxWLkloPWZ1bmN0aW9uKFIseSxFKXtmb3IoRT00NztFIT0yOTspRT09NDU\/RT1SPzk1OjI5OkU9PTMzPyh0aGlzLkMuSWgodGhpcyxSLGZhbHNlKSxFPTI5KTpFPT00ND8odGhpcy5IPW51bGwsRT0zMyk6RT09OTE\/RT1SJiZ0aGlzLkgmJnhUKDgsMSx0aGlzLkgsUik\/MzoyOTpFPT0zP0U9dGhpcy5ILmxlbmd0aD09MD80NDozMzpFPT05NT8odGhpcy5IP0xOKDY1LDAsMyxSLHRoaXMuSCk+PTB8fHRoaXMuSC5wdXNoKFIpOnRoaXMuSD1bUl0sdGhpcy5DLkloKHRoaXMsUix0cnVlKSxFPTI5KTpFPT00NyYmKEU9eT80NTo5MSl9LFYuSD1udWxsLFYuTXI9MjU1LFYuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQzV9LFYuaXNFbmFibGVkPWZ1bmN0aW9uKCl7cmV0dXJuISh0aGlzLlgmMSl9LFYpLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuISEodGhpcy5YJjQpfSxWKS5zZXRBY3RpdmU9ZnVuY3Rpb24oUil7SigyLFIsNix0aGlzLDQpJiZ0aGlzLlkoUiw0KX0sVi5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlh9LFYpLlk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyl7e089NjQ7d2hpbGUoTyE9NilPPT0zNT8odGhpcy5zZXRBY3RpdmUoZmFsc2UpLEooMixmYWxzZSwxMSx0aGlzLDIpJiZ0aGlzLlkoZmFsc2UsMiksTz02Nik6Tz09NjQ\/Tz1FfHx5IT0xPzQ4OjE1Ok89PTE1PyhVPSFSLGw9dGhpcy5nZXRQYXJlbnQoKSxPPTc2KTpPPT03Nj9PPWwmJnR5cGVvZiBsLmlzRW5hYmxlZD09ImZ1bmN0aW9uIiYmIWwuaXNFbmFibGVkKCl8fCFKKDIsIVUsOSx0aGlzLDEpPzY6NTQ6Tz09NjY\/KHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuQy5QWSh0aGlzLFUpLHRoaXMuWSghVSwxLHRydWUpLE89Nik6Tz09NDg\/Tz1LTigyLHRoaXMseSwzMykmJlIhPSEhKHRoaXMuWCZ5KT8yNzo2Ok89PTI3Pyh0aGlzLkMuWSh5LHRoaXMsUiksdGhpcy5YPVI\/KHY9dGhpcy5YLCh5fDApLX52K355Kyh+diZ5KSk6dGhpcy5YJn55LE89Nik6Tz09NTQmJihPPVU\/NjY6MzUpfX0sImZ1bmN0aW9uIikpd2hpbGUodHJ1ZSl7dGhyb3cgRXJyb3IoIkludmFsaWQgY29tcG9uZW50IGNsYXNzICIrWWMpO2lmKCEiIj09ISghKCFbXSE9ZmFsc2UpPT0hIiI9PVtdKSlicmVha31mb3IoMCE9IVsiIl07dHlwZW9mIHl6IT09ImZ1bmN0aW9uIjt1bmRlZmluZWQpe3Rocm93IEVycm9yKCJJbnZhbGlkIHJlbmRlcmVyIGNsYXNzICIreXopO2lmKCJ5IilicmVha312YXIgWU49cSQoMzcsNixZYyk7TCgoV3RbWU5dPXl6LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBZYyhudWxsKX0pLDQwLCJnb29nLWNvbnRyb2wiKTt3aGlsZSghW109PWZhbHNlKWlmKEwoMiwxNixudyxUWiksdHJ1ZSlicmVhazt2YXIgRnI9KEwoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGRNKG51bGwpfSwoKEwoMiwxOCxkTSwoKChYcigzLG53LDkpLG53LnByb3RvdHlwZS5oVD1mdW5jdGlvbigpe30sbncpLnByb3RvdHlwZS5ZPWZ1bmN0aW9uKFIseSxFLGwsVSl7Zm9yKFU9OTE7VSE9OTA7KVU9PTkxPyhudy5TLlkuY2FsbCh0aGlzLFIseSxFKSxsPXkuVigpLFU9NDQpOlU9PTQ0P1U9bCYmUj09MT85Njo5MDpVPT05NiYmKGwuZGlzYWJsZWQ9RSxVPTkwKX0sbncpLnByb3RvdHlwZS5QWT1mdW5jdGlvbigpe30sWWMpKSxkTS5wcm90b3R5cGUpLkQ9ZnVuY3Rpb24oKXtkZWxldGUgKGRlbGV0ZSAoZE0uUy5ELmNhbGwodGhpcyksdGhpcykuQlEsdGhpcykuRXh9LDQxKSwiZ29vZy1idXR0b24iKSxjLnJlcXVlc3RJZGxlQ2FsbGJhY2s\/ZnVuY3Rpb24oUil7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe1IoKX0se3RpbWVvdXQ6NH0pfTpjLnNldEltbWVkaWF0ZT9mdW5jdGlvbihSKXtzZXRJbW1lZGlhdGUoUil9OmZ1bmN0aW9uKFIpe3NldFRpbWVvdXQoUiwwKX0pLHlTLE4wPXtwYXNzaXZlOnRydWUsY2FwdHVyZTp0cnVlfSxhVz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNSwxMTAsMTE2LDEwMSwxMDMsNjcsMTA0LDEwMSw5OSwxMDcsNjYsMTIxLDExMiw5NywxMTUsMTE1KSxocD0oci5wcm90b3R5cGUuREE9ZmFsc2Usci5wcm90b3R5cGUuZXo9dm9pZCAwLFtdKSxEMj17fSxYbT0oci5wcm90b3R5cGUuQVQ9InRvU3RyaW5nIixbXSksS3c9W10saVE9W10sY1M9W10sd009W10scnU9W10sTTA9KHIucHJvdG90eXBlLnZRPXZvaWQgMCxbXSksSHQ9KGtjLGl3LGxBLEkwLEFkLG9XLEQyKS5jb25zdHJ1Y3RvcixWZz0oKCgoVj1yLnByb3RvdHlwZSxyLnByb3RvdHlwZSkuaD0iY3JlYXRlIixWKS5QUT1mdW5jdGlvbihSLHksRSxsLFUsdixPKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsOCxSLHksRSxsLFUsdixPKX0sVi5lcj1mdW5jdGlvbihSLHksRSxsLFUsdil7cmV0dXJuIGIuY2FsbCh0aGlzLFIsMTYseSxFLGwsVSx2KX0sVi5uNT1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBkdS5jYWxsKHRoaXMseSxVLGwsRSxSLDgpfSxWKS5aQT1mdW5jdGlvbigpe3doaWxlKHt9KXtyZXR1cm4gSXIuY2FsbCh0aGlzLDMpO2lmKHRydWUpYnJlYWt9fSxWLkY9KHdpbmRvdy5wZXJmb3JtYW5jZXx8e30pLm5vdz9mdW5jdGlvbigpe3JldHVybiB0aGlzLmI0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9LFYuQXk9ZnVuY3Rpb24oUix5LEUsbCxVLHYsTyxZKXtyZXR1cm4gSXIuY2FsbCh0aGlzLDQwLFIseSxFLGwsVSx2LE8sWSl9LFYuZjU9ZnVuY3Rpb24oKXtyZXR1cm4gU0QuY2FsbCh0aGlzLDMsNSl9LFYuaTQ9MCx2b2lkIDApOygoVj1yLnByb3RvdHlwZSxWKS5HPWZ1bmN0aW9uKFIseSl7cmV0dXJuIHk9KFI9KFZnPWZ1bmN0aW9uKCl7cmV0dXJuIFI9PXk\/MTE6LTR9LHt9KSx7fSksZnVuY3Rpb24oRSxsLFUsdixPLFksSyxuLFQsSSxQLFcsUyxxLE4saCx3LEIsQyxkLHlnLGUseCx6aixzcSxELEYsRXEsZixKcCxtLHUsRWssQlMsVWssb3IsVXEsbVMsSVcsWCxQcCxaLEtKLFFTKXtmb3IoS0o9KFVxPXVuZGVmaW5lZCxYPShaPTE1LDIpLGZhbHNlKTs7KXRyeXtpZihaPT01NClicmVhaztlbHNlIGlmKFo9PTgxKW09bS5zbGljZSgwLDFFNiksck0oMjA3LFtdLHRoaXMsMTk3KSxKZChbXSwyMDcsdGhpcywzNiksWj0xMztlbHNlIGlmKFo9PTczKVo9bS5sZW5ndGg+ND85MToyMztlbHNlIGlmKFo9PTUwKVo9UD09aVE\/OTg6NzQ7ZWxzZSBpZihaPT01OSlYPTgyLGY9aXcoMikuY29uY2F0KE0oMjA3LHRoaXMpKSxmWzFdPShKcD1mWzBdLDYwLShKcCY2MCkrKEpwJi02MSkpLGZbM109KFQ9ZlsxXSxzcT16alswXSwoVCZzcSkrfihUJnNxKSsoVCZ+c3EpLShUfH5zcSkpLGZbNF09KEVrPWZbMV0sTj16alsxXSwxKzIqKEVrJn5OKSsofkVrXk4pKzIqKH5FayZOKSksb3I9dGhpcy5tTShmKSxaPTEwO2Vsc2UgaWYoWj09NzUpeD1mW1NdW3RoaXMuQVRdKDE2KSx4Lmxlbmd0aD09MSYmKHg9IjAiK3gpLG9yKz14LFo9NzY7ZWxzZSBpZihaPT05NylYPTc0LHc9ZygxNzUsdGhpcyksdy5sZW5ndGg+MCYmck0oMjA3LFEody5sZW5ndGgsMikuY29uY2F0KHcpLHRoaXMsNDgpLHJNKDIwNyxRKHRoaXMuQisxPj4xLDEpLHRoaXMsODcpLHJNKDIwNyxRKHRoaXNbaVFdLmxlbmd0aCwxKSx0aGlzKSxDPXRoaXMuVGw\/ZygyNjAsdGhpcyk6dCgzMDEsdGhpcyksQy5sZW5ndGg+MCYmck0oNDg1LFEoQy5sZW5ndGgsMikuY29uY2F0KEMpLHRoaXMsNjQpLFVrPU0oNDg1LHRoaXMpLFVrLmxlbmd0aD40JiZKZChRKFVrLmxlbmd0aCwyKS5jb25jYXQoVWspLDIwNyx0aGlzLDY1KSx2PTAsdi09KGcoMjA3LHRoaXMpLmxlbmd0aHwwKSs1LHYrPShLPU0oMzU4LHRoaXMpLDIwNDgrKEt8LTIwNDgpKSxtPWcoODQsdGhpcyksbS5sZW5ndGg+NCYmKHYtPShVPW0ubGVuZ3RoLDIqKFV8MyktKFUmLTQpLSh+VSYzKSkpLHY+MCYmck0oMjA3LFEodiwyKS5jb25jYXQoaXcodikpLHRoaXMsNTMpLFo9NzM7ZWxzZSBpZihaPT0xNSllPVIsUj15LFo9OTI7ZWxzZSBpZihaPT0yNSlaPVA9PVhtPzM5OjgwO2Vsc2UgaWYoWj09NzQpWj1QPT1ydT80OjM7ZWxzZSBpZihaPT00OSlaPVA9PWNTPzg4Ojc5O2Vsc2UgaWYoWj09MSlaPXU8QlMubGVuZ3RoPzE5OjE0O2Vsc2UgaWYoWj09MTApWj1vcj8xMTo5MztlbHNle2lmKFo9PTIwKXJldHVybiBJVztpZihaPT05MylTPTAsb3I9IiIsWj0yOTtlbHNlIGlmKFo9PTgzKVo9bi5kb25lPzcyOjY5O2Vsc2UgaWYoWj09OTkpWj0xO2Vsc2UgaWYoWj09MTEpb3I9IioiK29yLFo9MjQ7ZWxzZXtpZihaPT02MilyZXR1cm4gSVc7aWYoWj09NjkpcT1uLnZhbHVlLFo9NTI7ZWxzZSBpZihaPT0zNSlYPTMyLEJTPWF0b2IoeWcpLEk9W10sdT1kPTAsWj05OTtlbHNlIGlmKFo9PTMpWj1QPT13TT82NDo0OTtlbHNlIGlmKFo9PTE2KUlbZCsrXT1+KEImMjU1KS1+Qi0gLTI1NisofkJeMjU1KSxCPj49OCxaPTA7ZWxzZSBpZihaPT0zNyluPWgubmV4dCgpLFo9ODM7ZWxzZSBpZihaPT05KVo9ODM7ZWxzZSBpZihaPT00OClaPVM8Zi5sZW5ndGg\/NzU6MjQ7ZWxzZSBpZihaPT0xMylyTSgyMDcsUShtLmxlbmd0aCwyKS5jb25jYXQobSksdGhpcywxNjYpLFo9MjM7ZWxzZSBpZihaPT04OCl7aWYoVz1NKDMzOCx0aGlzKSxGPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJldbU3ltYm9sLml0ZXJhdG9yXSlsPUYuY2FsbChXKTtlbHNlIGlmKHR5cGVvZiBXLmxlbmd0aD09Im51bWJlciIpbD17bmV4dDplRCgwLDcsVyl9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKFcpKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO249KGg9bCxoKS5uZXh0KCksWj05fWVsc2UgaWYoWj09NjQpSVc9RWooMjYxLHRoaXMsODAwMSxFWzFdLDIwNDgpLFVxPTIwLFo9Nzk7ZWxzZSBpZihaPT04OSlYPTgyLHB3KFFTLHRoaXMsMTcsODQpLFVxPTU0LFo9Nzk7ZWxzZSBpZihaPT03OSlYPTIsUj1lLFo9MjE7ZWxzZSBpZihaPT0yOSlaPTQ4O2Vsc2UgaWYoWj09OTIpWD04MixQPUVbMF0sWj0yNTtlbHNlIGlmKFo9PTUyKVg9MjcscSgpLFo9Mzc7ZWxzZSBpZihaPT04NylaPVVxIT09dW5kZWZpbmVkPzc5OjU5O2Vsc2UgaWYoWj09NzYpUysrLFo9NDg7ZWxzZSBpZihaPT03MClYPTgyLHhjKDAsODAwMSwyMDQ4LHRoaXMpLFo9Nzk7ZWxzZSBpZihaPT0yMSlVcSE9PXVuZGVmaW5lZD8oWj1VcSxVcT11bmRlZmluZWQpOlo9NTQ7ZWxzZSBpZihaPT0zMylYPTgyLFo9Mzc7ZWxzZSBpZihaPT04MClaPVA9PWhwPzMyOjUwO2Vsc2UgaWYoWj09ODQpdSsrLFo9MTtlbHNlIGlmKFo9PTE0KXRoaXMubHA9SSx0aGlzLmc9dGhpcy5scC5sZW5ndGg8PDMsYShbMCwwLDBdLDczLHRoaXMpLFo9NzA7ZWxzZSBpZihaPT05OClEPUVbMl0semo9USgoTz1NKDIwNyx0aGlzKS5sZW5ndGgsMyooT3wyKS0gLTErfihPfDIpLShPXjIpKSwyKSxZPXRoaXMudSx0aGlzLnU9dGhpcyxaPTk3O2Vsc2UgaWYoWj09NzIpVy5sZW5ndGg9MCxaPTc5O2Vsc2UgaWYoWj09MzIpRVsxXS5wdXNoKHQoMjYwLHRoaXMpLmxlbmd0aCxnKDQ4NSx0aGlzKS5sZW5ndGgsdCg4NCx0aGlzKS5sZW5ndGgsTSgzMDEsdGhpcykubGVuZ3RoLHQoMTY4LHRoaXMpWzBdLGcoMTAxLHRoaXMpLmxlbmd0aCxNKDY0LHRoaXMpLmxlbmd0aCxNKDIwNyx0aGlzKS5sZW5ndGgpLEgoMjYxLHRoaXMsRVsyXSksdGhpcy5OWzQ5NV0mJkVqKDI2MSx0aGlzLDgwMDEsdCg0OTUsdGhpcyksMjA0OCksWj03OTtlbHNlIGlmKFo9PTIzKVg9ODIsdGhpcy51PVksWj04NztlbHNlIGlmKFo9PTM5KXlnPUVbMV0sWj0zNTtlbHNlIGlmKFo9PTkxKVo9bS5sZW5ndGg+MUU2PzgxOjEzO2Vsc2UgaWYoWj09MClJW2QrK109QixaPTg0O2Vsc2UgaWYoWj09MilaPUI+MjU1PzE2OjA7ZWxzZSBpZihaPT00KUVqKDI2MSx0aGlzLEVbMl0sRVsxXSwyMDQ4KSxaPTc5O2Vsc2UgaWYoWj09MTkpQj1CUy5jaGFyQ29kZUF0KHUpLFo9MjtlbHNlIGlmKFo9PTI0KUVxPW9yLHQoMjYwLHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksZyg0ODUsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxNKDg0LHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksTSgzMDEsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxNKDE2OCx0aGlzKVswXT1ELnNoaWZ0KCksZygxMDEsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSx0KDY0LHRoaXMpLmxlbmd0aD1ELnNoaWZ0KCksTSgyMDcsdGhpcykubGVuZ3RoPUQuc2hpZnQoKSxJVz1FcSxVcT02MixaPTc5O2Vsc2UgaWYoWj09NDQpdGhyb3cgbVM7fX19Y2F0Y2goVGYpe2lmKFg9PShtUz1UZiwyKSl0aHJvdyBUZjtYPT0zMj8oUVM9VGYsWj04OSk6WD09NzQ\/KFVxPTQ0LFo9MjMpOlg9PTgyPyhVcT00NCxaPTc5KTpYPT0yNyYmKFBwPVRmLFo9MzMpfX19KCksVikuejA9ZnVuY3Rpb24oKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsNyl9O3ZhciBIUyxWUz0oKFYuZ0I9MCxWKS5PeD0oVi5tTT1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBPay5jYWxsKHRoaXMsMCx5LDEwLFIsRSxsLFUpfSxyLnByb3RvdHlwZVtNMF09WzAsMCwxLDEsMCwxLDFdLFYudlk9ZnVuY3Rpb24oKXtyZXR1cm4gQXAuY2FsbCh0aGlzLDY1LDIwKX0sMCksLy4vKSxuSj1YbS5wb3AuYmluZChyLnByb3RvdHlwZVtocF0pLGVYPWZ1bmN0aW9uKFIseSl7cmV0dXJuKHk9cSQoMzcsOCwia3MiLG51bGwsImVycm9yIikpJiZSLmV2YWwoeS5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEUpe3JldHVybiB5LmNyZWF0ZVNjcmlwdChFKX06ZnVuY3Rpb24oRSl7cmV0dXJuIiIrRX19KChIUz12Uyg4MCw4OSwoVlNbci5wcm90b3R5cGUuQVRdPW5KLHtnZXQ6bkp9KSxyLnByb3RvdHlwZS5oKSxyLnByb3RvdHlwZS5kQj12b2lkIDAsYykpOygoeVM9Yy5rbml0c2FpbHx8KGMua25pdHNhaWw9e30pLHlTLm0pPjQwfHwoeVMubT00MSx5Uy5rcz1mdyx5Uy5hPWpEKSx5UykuWmVVXz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe2lmKCFbKFk9bmV3IHIoTyxSLHksbCx2LFUpLHVuZGVmaW5lZCldPT0wKXJldHVybltmdW5jdGlvbihLKXtyZXR1cm4gSXIoMjQsZmFsc2UsSyxZKX0sZnVuY3Rpb24oSyl7WS52WShLKX1dfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlZWRVROTGNsZTZlZExQZUpSdHI3bkEiPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J1plVTkrRG1pNFM2bzJIdlBzdDJFUm9rRFR0azZ3bXZtQmlodU80T1BGZGNzQUFkT1ltS2RmQnd5ekRIS1JlaDRoM3h6alBJM0FJWHdLeThTT0pKaW1CTE5HZGU4cEc0eFlrWW1XTHJnQnNaS04xR2JVdU1IUUxnTDJYT0NUSFc1c3dObnh5TEdXVWhMM3ZsZWNTeHpETk1TL3ZRUHhCWkFHOXRWRXV3VG5VcnZFVTZGdEFudUxha0Y4MmljbHp1c1krQ2tnNHBwM0c1VVNRaUh1aUo0ak84NmRlTEkxMzlQZC8xUUNHMXRMcHUvL1ZRVnJVS1dUUGJtWVl4ZjFCdTJBNUhlYTlUYWtGeVJYeCtBbjR2ZkQyQzNlTkFKbldQSkx5QktyVTFscjIyTFR6Nm45UUZpZnBnVnpsQVIxL2NaKy83UGtXTFh6L21OdS9mdCs0KzJKcEh5OTdZcm44aDE2a2VNdjhyVHRxNUM2S29ZemhSRDZHa25XQmhod1RQek1paFVoYW05UjQ0ZHRSSjhTbVRXTlEvci9OeHlrWHR4MktWbFJiQmhaaVo5ZG01L0hYM09JSnJJdGlPbHFEamRXNjBCYjlsS05rM2oyUmo2ck0zdE5nQlV5V2lVOUJFeUlwMDY3YndWRkxlRGxPQmNIWEtyUVQ2VWplZUFQSFljT1FFZlYwUkFpbGFITURXWFBhNFdRaEloMFhyRXIydUp1Q3U2WXBrOXRVU2ZmRjNmTmlZU0ZBTUJkU1dFTVF2NlJzWDhReTVCRm1VVXEzUTZTSHF1SVlGdjRMOHhXRklvYktETXdCeVNTSzN3YzZKaUVtQVZXQWpzWlpDWWlSTGhvajgyYWNpcS8yb2FibHUrMG82UzI0M3NrRkxwVXVDWFR4a25aWGJISkgzaXg4eVFNd09QRG9aRUpFdGcwa2lDTUdNSjk2clp2WE05cDk2ZWRXWVdZLzVTZ2hSbTlrRzA5ZVRySE5nYnVxMnlKZ3VJMHlOb3I5ZHg2WC83YlBkSFhKckJic1hQdkE3UkhNcm0valFLcHZhWjJmMmdNajI5aHR1elAwTmZocHcwNUZyN1ZuSzk5NVBNSW5rMlIveDNwZzhxYzdsdWo0bGRwTHZudlhmU3lDTllSNVVJdHJvQkdFSEhtSURhYlFvTFdkOVZpWExTNDNiTWg1NjlBTjZvRGhvb0JrdDV4amJhNWgxR1hhNGVNVFVPQWhtZ2R0cWtPbGJQRUdQUEcvQmpvUmtmdHk5UmRJeFJMdFRyRmhuNytuUzk4V0NNNHVVelNZL25HUlZKWTZaWVpQWkNvSEprL2hyWUZxMi8wLzNaMHFzYk5XcEM3QWROUTFyS2ZVM1pQZ3pSbENjbVdDZGlQTW1seXpEK2FDcmtwSnpKVmxjVGQ3T1NBSDJTUjg4UVlDaHI0WlplYndUZE1mN1d2NjlpemQrY3ZiOGprN2xaM1dPTGpLWE5IUi9UZjAvbnUyb3loUzBoZTN0eHg0amxGa2gyV2VIcVE1UkJvdERCQ3dCVUhxSEhwSk40eFU3TDh0UkVSb0t6TjFTUDJmK0hQVlJTdkw2ZTZCSnMxckNGeE5lb1NQcVBIYlVsVDc5dXlKN1J6UkNCWG9vb3NmSG45QjVhWnNLMG1NcVFPSXFzQm54TW4vcm5QV1l0amhEb0syaVpwWG5LVEdYT0w1QTJqWTRUVUtETlMwVllraCtIM2RiMmI4OXZ2dGlYUzlkaHRNWTJ3RjRKZnBxTGFNTDhTM29CK2FyaXNqZ0h4Qm10eFU5OERYMzIwNkYrKzREdmYyL3Z6WkhBd3RwL2UvS3R1dzB1NmJPSHNQOUJsZEFYT1VBbFlGYm5XZEU5SnpwbkFkN1ZLcWVnTEcrOHcvdU5HMW5jdGgxYjczMGlpU1dwam1mUXJDU2liN0F4NU0xMjhjeTJwblhUL1RDY0x4aldXdE8rc2VlSmh3TXVGUTlkb28xdVM1RzVFNDM5RFphS3pkaFI1SkNXaW9iNXg4WjFvcWdyVGNqVFJ4MkpQV0M5eWxQTXh1UnNZbEtDZzRMaDVrSHdqa1QxN2RnR3gyZytHTFhFVEpYSFRTbi9RUFZaaFpQdUNFb0k4SHZFK25RQ3dVYU0xWEJRdFlwTnQ4TElOM2xkOUkvZnI3N2tFcEVGaVhhNTlFVDQwbzJzYWlqZkJsSVdTQWMvNmlMY2lQMjhHcWVhZlFvSXpBSzhpM01JU0x4SDlTL1FzS2NOK3VtNVFHeSsyd0RXbmVKZVNCUnp3Qm9sN283YzVpUVh4bmpFL0NtekNzaFg1TGNtWDhWaG5UbTBQWStkNld5cVNlSmttZFBZWnZ0eFR5R2hXeGZZd0FQN0E0YjdPL1Z4Y3Jzb2xuZWtwaFcrYWcvLzA5NUw2Mms4RUhySUFOZVp3dFBFcm8wa0tVWkh0NzhVVHVvcTA1YUV0ai9XTGRtQkNHT3JsRkFnd2FEY0ppQlZlK0xaU0RTYkoxclhBUmdzWk5ES3dqcmkzcVVxNEhTYmdROGNURk1HSVBWYnBHMjZMWEpJSnBKaGtEK0JTNThBMWNqdnZYSFo0bmI1YTZpVWNKMXIybDRrNnJla3BmMUJTNEJ6ZU44NUIrQmhGc1gvN1daVXQ0YXlicVp4cUh1UHZWZG85YndaREtOUkpKV0RVODNnMC96dVRFeDdNb0wwOHd5MkcwbzhoelhteWl5OXdaM2M0YjlNSld0M0hnRTE4bldlZk0vdVNDSFpxOWdXY2s5UC9OYkNnUjhVdFg4SGswdGNPM3Z1d1lhVEJZRzdER1ZPbEN0dzRZclJhWXFIdjQ4cTJ3ZU1PNzhDSkM4ekFrYVY1ZTNXcVpTWU4rS0tkeEdKN0ZjUU9aMmtVMGFRTEpxYjZvNEIzY1U5SEUxMWxFenNWTnhQMC9teERybkJWWHFNQkRzNndTT1RJU1hOUnFWeUlEQjEwdzZ4aEU0YXpKcGhoV3BxWTFTeW1TQ3dNTkNMQUtuY1BqR2FDN1hEU0JXNU5jWno5OVdLd1BUcHNWbUpPNVpjK05HUmJSMzNxbW9iTFlpcm1xSEVZMzdTSC9xS21JaklFNXRwbkN3VkZvRnhQeGN1RSszYnNXSEZQeDlhZi9WL0pKUVdJUlZRLzJiSlNzLy95TXlQRlMrWEoyNXhmdjlVKzJLUmdsekozUjEyUE94YlNGVWxKa01xM0tYWkE3SjVUeUpVNmlOVUZibEJYZHMxdkFNRVpRNFR5ZUZHSzlQMllYUnZMek5lbjZYeGxPZXRCU3R2MVdRNUg4YWYzenI0OWJUQ0h2TXB6Q2t3cVM5QnJ0enFsVW9lWE9EQ3UxU29lbU5URDZKSGhpckVDWW5MdE9GMmRTZSs0L1RoOHBaV29MOGE4c2QrZENwMVhlNUZEUGNuYnROako5Q3lJQjlydUpNVDZOc0FmYmNid2lHZHFUZzZpYmpLamhWeVArYUt4KzFNNlpZTEZkSXdycExNSTQ1cFpZajAraGJ1VEJ0ZWo1K3JvbGwxSmFRL1NRVHVKbGo5YVNySkxoZDRrQ1E0cFZIdmJIbVU5TWV5a01QMDNLUUlDRitBMEVHTTBVRHIvM2RaV0V6dXpvRi8vbmZVRzc2Sk5MT3VZdUpOVzBWMjJ5bE9HU3Q4UTNKOVY5Y0hDdWZPSk9pVDhsemtQb3BMZ3prVE40Qm5zU3pqV3BZbGozQmFmb2NKc0M2MU42Tkc2YitmZldaTmdraUVrd0J0Ny9KSWcwMWF4UktnZkdhU3hzMWcvYkZPTitrQkFoMzlwT04wUHlQbnJLUjNhUUJyNU1qV2h0ZzV3byt5K0x5Sk02aEpYbjdLNm95VDUyTmd4ZmZlOUVIU0pScmJRdnBNRkF6QzFTTnIrTS93dUFqWUdIV3dCenJXTVVTUXBSUER1dDFtLy96TzNJNUhlaEVySUxJbVZBSXQ3Wk1lMGJKd0U5UzJSbFBwQXFEak8wYnFyL3d6eXhlSHFFR3lEc0Vzek43MDBoUFFacXJWNzg3S1BNeVUzQzVtNDdRUXdiNStDcFZ2aDBDbjh0RkkyNXB1VDBFMi94cm4vbFM2bm8wR1FqbFRyNUhuZjJ6S3l3TnhTTCtFUFNYZmdjY0JFZk5HWERoZmh1aDEwM3JwdEtqM09vYklOK1ZuOXJLMSsvRkxjN0x3aDNLR1RDenJzYm5CbUtVR2JOamNwNkx0ZjhSQUFnNFBDb1hZdUxWQ1FZN0RoVXRQY1lOc0dhWFZjUWFpbGMrTFdhTlVvRHZYWjN2RmxCUUVMeHdHdDhtRWpibUlZQ0VSNG1vNytCVm5YYm5xczE1ditVQktaZkZ4RVlZcVhoUDJ0eHZaUUJXNWprNnpySW1Wa2NOSEF0Y3hGWUtyaU5sbVBrU3N3bTMrbFhYVVlHSFJYOWFPSVE4SktlOXNtdmM1TVBMRVhSaERiQndGMkRJdWppdGt0MFB2QlpvVmIwRi81NVN6TEl4YzlQSnpMNXNEWWVtZFVlRWVsbk1zamFMWEUrdEwyZGpSMkkxV01XRm51S2N6TU9tSHNZK2JGNUdQaGhuazRPVUVDVklaWXkyRFVpVGdneW5tcnFnNnBLNDhuWWswTDZkQWQzcS96SHd1U2FLUzEvbG9WaVo0RDUvTlhLNHNTeDRWVkNFbEVUWjdqSUxPdHFuaFludDdpUVVtZFphTlBONUpneWg5QlpKMnFuNWY1dGlZUGkreWZqR1dSNUlZaTN5VTd3eUNUQUpuMXlMNU9IRXdhKzc1cFZPQndIcmpySmxhSTYyS3N3MVVJM0ltaHVGcVJTRU0xSnlXSTkvQ0RidERselJEL0dEYWdoWUFZZTNXM1hObWtaSzh6aUs3ZXBwYkFXeW1rMmJHRlJaQlAxOTN3djUyTEdSd2VBcFRWNlY4STliOFFVNzZkL1JlYnVLVjFZTTNJaExzNTBKUWJaOFhHRHlVVEMzUUtsQWlhRG4vMENKY3d5MFQ5akFyUTRPNExkZG84UDB1U0pkMnRiWXIwbXE1bWxGcHc5RFNpSXlKMytheFFUaEk5NzkyNUhOc25ub1JRSFRkK2o0ZnR1WjFnaktKT0RMcEVHVnNsenlSVUVLUjVlbHhrY3JYQ2FpK29kUFo1Ym10Y2pRcVorVkp6cUoyb3BuWVRGRkwzT1dheVhSbktUQURLaXVLTFlsUFNydHJISTI0SS9kTHZvaksxRkpCWlNwTThIVEM1Qld5MFVxRHZXWmdUSHZJWThselhKbFltbGcwNU96ekJ1ZjBmZVZnREFvMFJ5ZXJONW1PeStxemdGcEpkQ1VOSjMvR1NIbFpqb0k5UllrNEVML1lGZ09EVWRGNXdMVXNqL3ZSR3JoSG9vNlZLSzM5Rk44TjFQTkl0VG1SaEFQNjRYMzRCZC84UnlYOVlxelJKNXFwNFMzVWlER1NMc1hFeVJ5VjYzcjlVaFY1ZEQvWkVSR3FPNlBqU0ZBeUpSSldiUDVnRzlSVlhlNjAzeWRXL0dPeXV4K0JhM3ZTRzkvbjFWYUovdjdsaHdHekpVSm8vV1NBM1RzaUdxclE3MmJtOWVEYzVxRkNxb3NsYmNaSEVDU05ISFFmcEYzaWcxb1dCUDZOUUtDdXZOTmtNVEhqN1NmMUdxdlFZWU5DcnVTTnlvTmtBRUNHRTV3U2JaWFRUUnJPMDVuWXZUYi9Odi9JOHU0ckhmaHZ5bkJpa21XQ0RUYTkyQzBIcXVySEpuUXBSWDJmODNlWEpMcHVuend2MXoxWXJEajJOejdCby9JdUlVTk5adC9xajlVOUZvUEtka1pWWWtHZXBhR2VKR1JoWFQzRGxlWTI4eFNLWXo0VjFqd0hPVGEzUk44NW1MTHNBQmFDQTY5U0JGbjRhWXQyRnlnZTBsbSt1MHlVVHpyVVhhNStVUEVwWTVJOFEzN2wvUXlEenBBQWZ5cEtvM3BsUXNyd1RGRE5kd3ZTVmlDWXpCZ1dtakI2M0sydTlxUUwyTXJ6eXUweDAyQWJnMWlrSmxxUGZyRy9XenhvN3BNQ0NjQ2FDQTROZTZoY1d0Y09ocE1SR1RRSisyNS9aTUd5bWhDTmdoN29zUXByQkFJL1dQY1lMRGl3ZmVNNnNNLy9oaUFmMHdLSDZFMndjMjU1bWVud1dsd0l1ekJ2QzQ0OHlKdjhjYVF5dCtpQVE4K1BzalhMSG1ScGNFMlR6WUhMZGRFbmpDb1ppQ05QYkJQVDkrcGRuUDFVTjhTRnVxdnN3dTBrc0plTzhBdVhpNlVzSjE2M0ZWZDdNV1htQkdrWUdTZGRwaU0yM0Q0eG1qdkdweEZIRnhWMVYxNDBZUm1JbHNidG5ZQXZHeG10UC8vdHErNUtYRG4yTFlOU0NzOVNkT3B2eWtHTy95MkZ2STc2RHVLcjduRnY0NFc4bjdsU0Jwc1JaaWgvbEF6VExQMXZyQTNkRHZJbm4vSWtSSUR5di9tSnp2R2lpRG5URG5jbHA1aFljTlpsck1IRjNpc3dMUk9NbDBZWG9HdzNHQTVhUW9lY3RjWDZNcjV6NGlQbGppOURMZDlRQjRmeFdYM1JoVHJjRjJUZ2JUWm5ENTVmMWF2bVAvVURKV3RGYkF3MUdtNVVJN0pLd2lEanI2UHpFTS9IbXhERlNFOXpXVUFKcWpzTTIyZkZEQ0swYjgxcjduOFMwWkxpRVVzWGNIeDFnaHFHVzJWN0J3dy9TRW84U3pzbEhYTklDTmNMWDFTeGdLWjFhdmtrUzlkeHRJN3JLUHFSWE1NTVg0dEtQcmpCMDlWYkNhWjloRGVnL2Z5bld3bEpBTDNRN09QWVBKNGFrUHdXQWVDVCtjQTN6d21xaHBVSFQvWDNrdGpEbEkxWHVnb1FuS3QwM01XSUJ4MlpBbGxCMDRVYTc1K2J4Q0JXRGRiRVp5OXl1TWRqQnFhYzIyenVBUGlGNklkU1dpbm4wTVE4eGNNcDE1ZkJwakFZK29saGhvQXJ0S1ZsVmJSUW5VQkl0QUwvYklPRHM5UHZGZjdadjZNNWx1aDBaUmpacXpnb3VpYjBEQUNJTWhOTERuTVFqb3dVSzlscE1RZTRBTXZlM24rM2FkYitjRGhiTWk5c3VkZjlrVS92YlFWV1N6ejdDaitRTHFYbk82OURhZWhaUVN2amN1SytkMHNoaCtGcUN4eDViT3pGc1crMFFDTlVscVJpVUhmMmNQUi9EYW0vbUFLVVVxSXYwNGpuWmhWa25pbHdXVzZQcDBaRFh2V3NPOVQreW04QmxSbW50TlRIMjhUOHI3RUxNRTBNb3l6NjFwZElJcHR2eisySXdtUC95VFdGdHV2UWNFZ0tXdFI3bENEU0tiZ1ZDdE1IOS9vaklvbzJGa0s4bEtOTE4rLzdJQUY4M0JveUJ3UitFR01DV3F2bmVkYyt2N0MrMnQ0ckdFelY4b0pHalpoa1R2b3VHSUlPMHQ0QUVGYVhjNnpaYjloaGxpOXJ4ZEdWdU5CTWI5RzJwcXU1a2gvT0ozeEMybjZIMXJJTEYyY1kxTWZObW92c1BuSXViM01MZm9CemdDdTFnTUN5UGRjcFJDRHR1YmFBSE9LYzIrSjc1Y0IxR3RaWTQrUW5MZnJGRWxFZlhkNi8xUFlaa0E1dlZOa1RuM3huUXVmR3NLVXNLaUQ4SWxwcE9wTGF5RDdlM1JsdDlIakJGWGlWSEdwbzRDR25QUUpBRjlOTWR1ZXBPWVVJMTNrellFUFVEaXczbmFYNUlRc3NxTjQxd0pUcmJRNU94NFRSZkcyQi9jYllra0RlZG5OQU1kY29aL09jcVdQYnFvYktvTzJLUEFJOVJyTFR4T2oxMzd2cmw0TWRwM1dTaTd4SFlQR043bXJONG9UUU9ha2J5ZWUzTG1icVJZZGdvbndxNURHZkIwdzliM1k0Q0hHM0RtTDBxZVl0ZTlSR21YdjJyeGVqSHF5ckNzQmtZRk1uN1pPZGdIaVpsQVFZV2tVeDYxdEMwOXRwQWRUUmF6eDVoc2llMHMzVEc4c3JEZE5NZDErbHI3RGNRbzJuZWkrZmh5Z0hMekNuL2tKTmRiMzJtcUVRUXdzUWd4aGU3V0dNbnRsZVI2d1BpeTdxRlNMa3dUeTFOb1VaUDBicDY4L09ndkhNUW9OL0lRYnNhTzBYNXVLcDAySElqTUJoYzkycUZJSTcxekE3RmpwRUFwZ3cwQndPc0xtZGV4S2pzeFprRmMwaFdRajR0Sm1teFNQeEJLWGNaZ0VmNVJGTHMrSUlQOUxPbW81U01PL29jSDBsZklLOGpuR3ZVWFBDMDhhYVBHWEt4M01ONkEyeG1vTU5CNEI2ckNSaEJNQlR4dlhkSWt6eXkxRlVDNVlaMXBURlhyVitvbFJ0dDhtM25yb2FkbFpHZ2ZhMUJqRVJCY3lZWG1pQzN4Mm9TZUJSOVhBTEw2T1hTbkhaMTJkMHF3MFZ4UGN6MVhvcDBKQm1kZmtxa1ZGZTEzMTdiUG0xS054ZVZGQUNpVUN6NjBLS0J0cHZkR0hEazQzTzNTRmwyMVZvS0NtYlBRZXQrbE9GWHUvTmk1RVZWajBZTnc5S1ArVVYvUlJyb1RaeGtxWXlSczhHQUdTdm84dldrczhPaGJjYmJQZ1ArWW9PVGYveWExUUo0VzNHVnpJOXh2dHd2a1BYMlVzeWhXcDFKYjQwdjRiYWdjUzJyQ0JoUGFOTlB3WHdadTFmR1NXWThIbWhZOWVMSDFMcTJtM2NraE9PLzR1SlROWUxiWlJvb0ptRXlxbGV1Zk80MmRJbUhrZ0EzOWZENnFFYVlnK0pLNTZWN095K0NEWGFleUNlNjJxTjdBODY3WXNMNEc3RGFFZkZYN20zcGY2OCtQV0dMN2I4VWJqc2M4MUorM1ZZUUdXZ2NrT2lWZmdVcDdMOTZWOUhvK1NPRnBzdHFjYS8vb05kNkt4UmlYOFNNSHc3MEVwdnR2Z2h1c3o5SmpsYlJtYWpxSWgyU1ZOK3BXdlAwT0tMSEVYOGliaVJBREJwSXpreXJyTzVsM0NORUExZlhOY3NiMHhNMkxxaUNOcmFMdGhGUTluejRoWTg1M3VPQnl1WDNLTkVNSFBpR3VlRkF6VERWZDdwaHJZeGJmVWdDT1lDUEpYN1VvSE80V0llamQ0emtoQUkySVc2RVNQTkE2L0w0c3VESVRnUWhmU2VjZittZGFqaEEwRUZ5UW04WWlCWHNSRXcwTC94NWZsbXlFTXk0TEwyczNqRTJJQW9EK2Qvck14c1RFazQ0SkozR0FNS0NBclhKcUhkMldjRFgvRlljWk1vMDBHL1FFeCtKMjBNNzlwOFJTaHdmNVdJM2U4RVdxb2VTVkVFTTQvNFpSUUF6QWxCTS9oRDNzWW5oMGx4aEF6dy9oT0w3Y3ZHclZpS0xXeWdDbU9oUzVHV1duN0laaEFXdWl1ckNKbVczcVlwOVRrVTFMKzNlYit4Z1ZxTUtLc2U4alBuOU9BQmpDZ014SlVzdEZ6U2FWVlJVRTE4UjdqbWViWkxvY2xVd0JwVzRVbUd5Y0ZLeU9VRWVxbHdUWFZXYXhneTVJaUZ4NU14Rlh0bklmWWVYOUxMUk9tdzJJSm1jTm95VW9qUUczYXdRSDRFbTlvRnhtb2IwSVBkSUI3YjhyNzVoR3cyMklCaEo1NDVTVW1SRFJjajEwVk51bzhTODRXMlBrUUgvakhNOXU3dWR2eXM0amJWQVMwQ0FFZkxXK29IQkQ2RmtHaGlhb0wvUXdpZ2FwUjFWYlB4K2pYdk5NbXRrWGV2Ri8zQkRNUzVsSUdZV1ZtS1M5REhqcXl2RmM5QkFBcCtPUHVuYlJoY1Z6VDY5cEhINXdYY21uZ25KQ3VOeXBqNjQxOXZ5OW5BQnh3S3drWHNiYlZ6Z0hhdXlqQ0plUExNQ0dVU3BwbTFtQW5qSmpwYUtDaEpzUlUzSTE2UjluUGEzcmJHeEhUQkdpN0ZMd0hCZjBrSXBxRzFIZWp6SmpjejZkYjFYMlQwd1BXV2paVWNpSjhWbkVsdG4vSFdzTjBqVlI2bm9lZW14NlNkNDlZVktMVHFZWXRaYi9CNEdBRzE0SC9OYTVnTy9jZVBXa1VYQlkxSHZjd0QrNUU1Z2tKMHRZL0VsK29UdnVKOE1CWkZpSGJ5elBra2NFRjlZcnZpODFzdmcyNzQzSkJ2OXJwbTJPU0RNZzczRWl5bnhMaERxQmJybnRrdFl1Y1loSWxQN0dIYmhBOUl0djQ3cU44clBaN1dscmZGMXRJQjdMUEFFcXRBNHJMVVFLcGhxUXZ1RThDQW45OGE5Q3QyY3UxMzFoRDVLbkdjelVjenVIelJwcE0wdFF6NUFDNW1qS2h1Y096cFF1d0lFcS9RQ1FVVGxWb3luUVk5SitXVUp5a3dXeThXQkFrMEpIMi9BaFp5My9zc2hQUGR2QTBYQysvZlF0N0dDM0VpWk5VNzB6cXZiNnRWeFVxUkd5M2MxL1dOSEY5dlhsdUgwTWFGd2grWENGbk5rVnJXcGF6U3BXbVVGYnZsNVBiRFRYUnJYQUNUcWwzTCtXZ3Z3Wno5ZUo5TlFSTnBNZWtJRHVYNDVuWkhFZFYwbC9hVmc2b1duK1A1Qm9VUlFoTmZ6RUJKUFZsa3A0cG5rNXExRDZYTWVMbkIyemFFNGNJWm42ZytIajdGcVV5ZE5uWnVsaEswSmxMdWtLdHA5RTlvWG1DUEJwVlNzVlN2YWU1YTdQVkIwaWUwVlNMbGZKTERkeFJkcVVuOUlpM09ON20zbDVqRUV6VGpHdXZhNDdyZCt2S0YycjNCcWJheGFqNlJVbUFzdDduN2pjbnNuS2ltazlyMHZWY2QrZzBLb2JVdUpRWlVON1YxR3poUVdQWE1OUXVUNnYrUWRScU9walB6UWdlRzJPcFY4RFZnUXQvYW5VM0RLS2w3YjNxQk5uTnBBN3FFeE9Lam80V0hRSHo1TC84cVJwRHB1cEUrU1IrWnBmNlhQaExXSTAxZlMvOUNUQkVHSWlvcnltb0wwZDJRajBzR3VZODR0SmoyK2JFUS8ySHRvZEFMcml5VVFzcklUUDdSZEtLZVc0MGNEWjNRUnRyYW4vbXhsL01xWVM3N0wvWnJ2NCtjck04aTVBaEgrUGVqbDMvZkJjclJoNW5TNGUzWEk4aW4xc2tyK0hucmp4OXFGLzJYY2QxbXgyWHZqdk9Rby9iSFJXeDhhV1R4eC84RC9FbXNoY0MvNGszY21FeW44MDM4QUtiRzRXbXVxSjFzbTQ3Zys3ZXBxVkppdnJRdzFYMkxCYkRqeHY3Tmg0STNIanFEVEh5MG1LRCtwdVF3a0wzdHR1bW1lVmlmR3Ivc0l2QmFFT1dNbnFRby9YdGg5V2VPRGxPeXJKaFJTT1BFMzVSMFpLekgxU3o5QWd6NCtIQThUM0JLK3NBMG1rVU5TODhqY1lWT1pua0ZwVk50ZVVzWnFoZVkzTkp4ZnVEWDc5SDY4OWpOQ0lUVTNMcjhmOW9XWkxXbmpSKzhKaXJ2citML1ZRYzR0RS9HZm1RR0RINWphUlhYamdjaFVVZFFaVkF5dmxLeGtBRTY5NEpsTjlpejJJbVQwN1d3VE1CR1JZUUUwcCtIY1QvL0pDWnRyc1FmRm9rVGlrdjhKMUNvUFZ1aHhxVDB4a1krOWJrOWI2QjZKYkVqbXdSNUx2N0J3UllQc3o2ZnVRS3Jqbm1pYWdlc0VPMWdwWm11eVVtYWJIQU5XdTQ2dXBDTHlCNlNlNDVTZ1dWVWNmMTVvZEhiR0hRQ2hpWlpEQTN6SXRHai96clE5TkNlb1J5K1BNOUY3a094clNJdUtmWm5ldnkvdVNqcURMODRmM0tPeFZRK25VTjVTVUlIdkQrbXcwRUkyTURXd1R1YlBXc2hOZm5rZjdaYyt4dkVnSHdmcEZiTEZvRjlkekxIQ2ZGMkZ6RDJuUkF4WXBMM2dVSDRrV2lNYlRjTjZWVTd5aVVKd0l2MG56S3RlYm1nNUNTR0JSeVNwbjNVcEh0MWpyeGU5ZENWMU5zdUdXT2l5TFhOb1RTbGltZmdpL3pWQzJQZDQ5RnJPUERtb0xxWTNBZU5jUVlnZ01NT01XRjV0ZUFTUWR5SkoxclQ3dkl6b0V6cFlnNUNpRjI5SmJrNmtXN2RyaFpSQzRqbTVRTUlyV3AwNEIrcmNManBOT0gzaEFqcHg5bjB0YWNNVGpjV2JQQWdLcjlVZkgwYVR4cDlEbTNYUkxqeGllK29ZTjBlK1B3NThyWnRzZmYyREt5MFVwb3Y3TUJ5SDZ0TzYrU3ZwT0s1aXNON0hWcHJhZjRiMlZCQnRnQ1JwbWNzZG1KaEM1V2tGOW1SSmwvK2xQK3pCZE4vVkRMemVDMkp4bFlWbDBnOWdkdjd3bEVJUFJ5MWZVdnF0YWw3c2VwaVB6RXVnRHNwQklCNmM3RXA5cUZtNzJ3ZXJUR0ExRTdzd2c2eUdhTXZNRlRsbjBUOTBNYXJKMmFIN3RRTkZwN1hoeWw1MVFjeTV5YjZVZG1MWVprcS9PampDMzZOUTRSWmNST1RBdXRXU2h1cndPTkRHZXFCVmxlWk9FdGxYVGFiSFVIM1NBSWJpTUR1ejg2QUNWZHJ6QUNtR2s1NEgrUGgwYkVXNlQ5VnRZQjJlcnJyazNlTTVXbElhaTBHYnN0ank1a2o0K2hpdlRMSHB4QVZoMWh1NGVtN1lZL3RMK1ZyUktMUjFsWmFnZG01NEgvUDMxQTlyT21iR0lIVmhpcnpkbG4vckMwYk1rYkpJdmhmOEExZTFzdWpleC9meSs4dEVzQzlUSTN4WjExRy9NWkhSdzhsRWhJeEdFQzlCUHk2WjJsbC84czNUR3ZKTTFUSElzejJjUTE4eWJyR3htOUsvL3dYT3pGMzR6d1J2cUUrNDRDZkhvcWt5UzRZOGhtcmEyOFJwVG9MT2tUSXF3bERZZ1Q2SUZlNmpkY24xSHY0Q0hnVWpibDZUZGFLc0QvMTlrbFFiSE5XbXVHMndBbjZSTWdTTmV4elJqdThsYUVWUWF2eDc0UUFZS3kwRThwY0NMY084S3ltZjZYWklSTXcrdERzb3hta01tOHdrcVdVV1JzVGVnQ2czVmgwcjBoMS92VTFpK1R2VmRpNTVvYW51YzNyQkF2RXRhSjh3RHFvTk9hZndDdFI4U1RpRXVnSFl6TnpjbVcwVkVWeHBYNWFEalUzVjhVWnBmWkVHRDRaSDN5MXJ6MTZXTlRJcm1TV0RDUVBWYUxjaHNwRnFSc21SVWt0dm4zbjVtMVIrL05oV3BNWDl4SStNTVhGN2duS1huYjZ1WVRSeURrTTRQM2wyQm1kcEdreHBJM3MralJKZWd6bFNTeXY1K2xlWll0aFVEd2xNQy8xK2o5eENzdUM2dHo2QlpYcVI0R1dSM25JTXNOclFyTEx1Q2dDdHl4djVKcENTTnJsRThWWFI3SHdqd2xuaGxDZXc1VjF6MDJ6ZGY3eDVSL0NHN2tQZkJzOEJZVE9aaTRsMjVYOHYzTFpPYXBXdWhlZHJwbkdER1docXBQNDJ1dGd3V0hHOWNKS1Rod2hLMXdBZkN0ODVES0hBZUpLWHB6MFRpNWl5T0pjWm5FRWY3ZUNSWGduS0M0U3FsVTRucDlhdlpjaTdLTlp4NXVIYXBjQ3JNbTBaeGthVnBrbCtYSVNMN0FHZEVnQjZTN2I4M2IyU3Q2RGsvUklkdkJaWk5wOUNoV1NTUjNJT1NCWUs0NjFCNWhEQlkrbVh1SldQMkYwdGxublZoK3ZrWVJIL0ZDbElFeW00OEJxSFRzMVdULzFXL2pQZFNqN1FtVENhL3RnTmpBR3ZnTjBWM0UwcEVhamZwRkRUdTFrN09wclgxTWk1UzF1ZHpFdU05MGNWL2JMMkxGcVpCTDBVOHhjU1dtMWlZRE12U2VrVGxpV3ZCZ0FrM3dHRFVzcStUNlVocjUrd0RZbGdSYStMeWQxcU9YL08vREpiWmc5VDhVOURPdUphV3RYYitxaW9SMjZ3NnpJdkNLbEk0OEovcUlLckdWUk1YUTRvNHRZK1Vvbk5MOEE2Y25RZXJyUEVXbm9sdFExbVRPK2lkMU1LL3ZIcWcwSmh6NTUxVW5ZYzNvK2M3YXc1WW9TT094NG8xejhoK1lWVmg4UkgwMm42c1pKL09DMnNBd2h2U0drMDVTVGtIazRFMXJqNU80ZlZJa2dzR3pYYko5OFdjUXJYemI0dVR4OC8xeDdaOEFlVHFLd0hBMGtwZkd2Um5hRkVHUHE0ZHlhS2tTYXdEMWhlTDdqUUNRS091WWszeXdjdDNGN2grNzR2RVJBd0ZWWGJNRE4rWlN3M1lOQXBFdEN0UXpSVlRJT25OQjIvcHR5K0lzejZ2NWgvUmlxb3BtS0ViamFzZ2RBMWdINVlKcTc5YWR5ck9BWG5QaS9hSUxoTkZJZ3IySFVGTnNFemcyeWR3azFPcVFmcXFCVi9HSS9zOVdoRjFYOWtzWDdlbHdMMjV5RTdDNFd6MjkrUFY0a2lsb0xtTThFc0hTU1BZSnZTcEFpc2NmMHVtMVVTSm5PTGhkUUhvNThzWmpjd1VYUTI4bFh0eWtwNjdXeTZVYmppWjEyK2RMYklLckQwd1JET3FYak5DRkl1aTJ5S2MzRnZNSlBwMW9XNmZWNnlDdkQ2bFZqcFdwZ044aTRFdksxTkxMbm9lYkQ2cVZWeXNDek1mYjEweTdRcmcyQ3dJQWI2S1F2bjl0KzJTS3FXZEVzSUdiU2gwRzFBN2JLNWVleGNzeW1sbjREM3VlYmtRL1djTlZ3Sm5pd3J6c053cUpJakdtTU94VWNoSjRLVm9CR1FNYmxhQ1RkWlZQY1IzSTI5dlNFRTJNN0tCOG9sZXNPVGdLY293NzBmOWdwNU1RZ0RGcWU1SFJ3dTNsSXd2b1FQR0tjQkdBRUNwWk1sc1ZaL0pJRzN3R3V3emFUaXhiWjJkeTIramRUYnJZVHpVM294ZFArM0NQc0lZLzFoNUQ0a0lqMXBKcm81ZjNBTzRsRXhvWk1pR0trV3FBdnZSZnczSU5XVzl3R0pETzBVdFhPWHBWS3hxTjR5cHVCM014dTJpUmJhL25JZkRNMHp6d25EZkFkZGxtTlFnQkMyQ2V4dHh3M250NklEOXBKeFlobkMzMS9aS203enJhYkdFRTFWZ3hGOURrL1BGUzhzUWlhSjJZQURkcEliNVkwTUR5STAxeDdWTFJhancyNWlEZE9hRmtydWc3L0pQL2Ziam9BT2dGMWJGSzJqd0d3eWVVbFAzK204cG9CUGt5QUZjdU1Hb2cwU1ZheUkrUFJKSjMyNHZQM0pxam5jZzY4Rmo2VnU4TzVZNE01eHd4a3Nwa21EUEtNS3dLeW9vbzF4Qm1tMCsvYzZnTENXY1ZlaVpwQnAxdUs0VUVnSGdHWTJsWHU0SlgrVUd0Mm1ldG8rcjlJMUY2czlMRE1pUVFVN0VKV05wSmFDa3BHY0l3QlU0aEMxUlNsMnN5UE5ET0lSaUFaVDMxQzlLOFBTN3AwRTlIQ0MrSkRYMDVKRVBSTm9zbVdLT04xSmozL0V3RzQ1bnl5THB2dkdGODZpbEJHYndFc2prSHc3bFBIaWtiUnl5WlgzK2M0UVJUeXlMMm5aSjJJU1ZUL21FZnVRY2JaTmdBU1JjMCsxVU4yakFrZjV5czI3OTVXOE9jTlRmUDhycWtvenp4NWFaYkJDV0ZObm1uT0U2QTlLZ2I0Mmw2SWQ2S0FQckdmU3ZFU25BMldyZ2lIaGdDUS9jbTRkY3VjV2VjcUdjYjlxKzc1NXdWR2k4UEhGVU5ob0JacXExUEVlYVFsUnpiRXNqWVRIZk91UVdRV0FyQVRCUENlZXZXemxhT1BTb1pRNEdYMElhSlRMcEw5ZStXRXQvclR3MkVoZjJiTnMycU9TWFVacS9lRTcxd2RYL29NdVd2Rmkzd042OG9kZ3N3NXAyR0dQMlB3dFJnMTR0akhKZFh1Z2ZVTElCOSsrQ2hwMmhUZUJxWHAvSDE4UUFzakJzODE5UWdvU0Q2MFErT2g3YUVWa3Bhd3NTN2RUQUZMUU5RdmxabFBtQnNjZWNNU055QVovS0lpWlNZeXR6MzFUUEM4RUQ5cXFTNXNFMFhkVzBvcDdLUVNhalBMYkk3SXNJR1NxVDlFQUFVNjBKdHlsMmR1eDlQd1BwWVdQVk4vbHNXWlpLZ0l0blh5ZHBrUVpyc2QyREtrSE1sT0orc2pJWnhsTUhhZFE1czNDS0M5RG9rdWlBODJXTm93N2ZKWS9RR0NhQkcwWnNmVGZ5MysxMUJkVkxVc0tlK1N4WUQ5YmQxZjFtME5ObUxMQnI1VnFaLzg5NzJHRkR5anlQUFNiZUNXQU5HZi9MUHhoNFZtb0ZjVWFpRldjR1hUSUdGcC8rWkJwVDBtTGRpK3dlUHdRQmwxY3VVRFMzMWZLVkg5M3FCWWtxM0hacjA1SVpXWEZpZUFYNUZxYkJieHNlSjU0NW1kZDBkZVQ2TzJKLzNCWTdGN2xCM1A2ZVR0a2d3QWNUS1RPdSs3Mmd6N3UzN1c3MlZXNGl4N1dWTGJWaWkrNmo1OWo5NUhEWUFjS2czYnU5ZDBoSTc5ckpJaTBJYnBGaTRPcFRUcFJVdmtGQVNVQ295Y05mV3huSU5EV3RTM0tFTjVmd1YxY0FkR0ZTaFZJVFJlcWRXTFV3YXNmb1dSYlkwcUNPTHBKeUhVVFg5R2FnN0lUYUZ5WTFReDZVUXhwd1FEVTl3REFINVVLTEdkLzdxenVwa2V1dEZmZ2tyZE9abG43T1NiaXhVMmNsaThvclpnSmhDbHFhUlQ2Q0VFTy9uRDIvaTk2Z0MvSjdtQjdDSVFiMllkMFpmSGlXZEY0S0FRQ1RuVjQwMGhDTVMwVWJEMUZXRkppTXVZVk5ielJyZm8yUGVlSmNPMTRJbTJvaEdIa2ZrM3VlaDZKeGQvN0Rta1JYSDN0dElDZlZPUEUyWlhYZ0NCdnZWRnR4ZU1jK01VYnczUkg5UGIrVE05QUVKNUJFK0hpK0ZDSWdjOEFCenU2V2dPMHIxRGJkWkYrZW5iS3VuYXptYVQzcUJXdzUyUlVoWW1EZnZXb3k4bld5dE01VExjTDN0OTdVakthWUhWS3lOU1NKaVQzMGQxNUVCc3FRaVZXVTBTQXBxZ0VNNm5HRnlzL2p3MFJCOEE2L1QxR2dZL0twWE5wSkswODIrMTJ0VngxaFV2M203VndVV29NZ1pINGVmM1dqK05XclJhdWZFbGkya1BKbjRVMmYzMmdpb1NaQTdGbW92Ti94NStQSkIrMjluWnlUMUl6ZVByWUNwMHFLM1hBKzlzanNwUlQxMUJ3M3dDMndqdG02dUFzWE9MZ2hrdXlRYnlZdVI1cjdZMXpFUzgxL1hCVUppc3RSclhFN3ZPbVZiS3crVWFCZGxnVnlYU0R1dTEyMkhtanRFRkNwV054MDJQMGFzSkI2M1J3a1BxK2lQZjY2VzBNYXZWTmN5Y0h3NVh6blM3enQrN1JXVVBTbm9GZjhqUVJuQklJTWhRbS83T3R4RlZ6TUxpN0FYQmdoNlJ6U0RBc09jUUtST1ZYQ25taC9iTmRMTjBvWmtDck4yaXYvK1FiVVAxVE9neC9NUG8xN3cvY2U3NVZQU25lT0oyOHIzcnVjTFhUSzB1Z29aM3hoRXpXdlJCbFNpSUlSQmtPSmttOU8xUTZzbTlNK1dOMXR0RFA2aGpleW1jWWZvU25SU1d6OXZsZ1RuWVFQL3BwMDljc1NDcFRCNGp5ZFRTME5Sb1U4dFlCQVZhVUNQQlRpMXVlbjV3THZiSWZKdVg3UC9WMm5uT0p1cUxuV0RRb3BPRDdiRXlMUm5YMGdmYXdwMTNVZlB5NG9KNXBFZm8zbG8yRVpZOWJUS043VVkzYkMrcVE0Nm5EWlM0RjcxNElYU3hUS2JKMkZTWjVXSGRQcVljQkN1ZEphRkNCUzJnUm1Db3I1N1F4Q0xsbGE2c2ZnNDFzVGtLR1ZQaUVjU2VPWlBWVk5QVU9XUkVHbkpYOWQ0NHZLTnZMUHdocFF0Q1hUUTVseWpjZ253RURCV2hnNGNmVk8yZS91bzNNaTVZYnhOeDlEKzRHRUc5V0E1cVRROHp3UlROa2crdVBHNGsxVUZ2TkF1Nm9SQTVCZ3krRHdHaGs2N1JSN3FjMk9VU2hISDdRSktDSkduSjRrdHZBMDRtMCt3L2VUMTJZV0pKbVZZMHoxV09tR0NJRTN6V1dDWUc2UlFqa1pDdUUrR0ZWbTZ2TUdxb3ovWW1OOWhHek9DZStIeVJQQmlBU3ZvZUN6VHhva2V5Mjc5UTFEYmoyUTQzejlEL3I2S1Z6ZjRzendyV1FGSE96bklCMWNwamxnYjNSTlVRcE1nQjhJcjI0WDdDOGxnVUlMZjczNEZjWCtwTFRSQWhxcVlkcGpQdk16OWk1UmtwaDJNOER2SDRmOUVWYXZTSkJJVzJ2UlFsSElCZEExeHVOWCtrTXgxV213WHluL3U3SVBWU240N1RzQmRwazNoZ1ZqZlIwQUdUb1ZIc25wM3lCUEg1eXIrQUcwTjJpTkUvVWlvMGR4Y1czUHBtODJpNlBENTh1UDBkWFhSVHpiTktKTUtOV2JhcFJlVnZxbW5GRFM1N1gvMU5RVTN1Q1p0ZlVMTkxlNDVwSlV5RnI3RXJJeDJPNG8rQ05uVUtOYWhZdVQwTEFRK2ZDdW1YUUpyMUNCNVN2bEJUWFhLZG1KVkp3YkltRXZ6UVppT2dhVW8wa1VYZGl3RUhvU1pGVUMzOTRGZWYzWW1DZVVSTE0xSE80SWsxVVlqNXVMUzZuMko0LzBna2hBQ0RFdTdoUWd6eXJhbmptN2hkdFpBSWRWL2JCWTNEKzZZbVZtb2UwN1VtclVYRkd0YUM4NDJLRjdSTUQ1L2dVQnlySWcrYjVZTU9LWUwxd2VZUG5JYzVOTFV2aXJEdEJrMDFoTkVWaUZ4ckVubXR1T2hnK056bThsOWV4b3lHSk5XQ3B1ZTRMeVZjaVA2L2JCRlY3ZGN2M2dGV3lQWDc2RjlTNVpxK0h4bjJhbXBkZUd5VnRtZCtFM0NNMk1kSTd6S1hKMG1ZdFdFdnRTNDhMbWhEU2NQaUhkWm9Hd1d0ZUFoS0pDMUptWERzVGVxZm4vd0ZIT0lUWEVGazZiWnNWRkVUU1grSFEzby9mbERnbDdZVlpqYmEweTBLUUkybk1TM0FkMStHMmNVQ20vRzg1dThWZDZRZGNVZ2tudm1CUVNRMGFNWWR4TWoxQWw5RTEvTDVCS2JjNlVDUFJLZUxiWlVDSkpqMlA0RzRyM1k1bVRhbEkzYmhMaUlHTTcrL0NYTHJsanJJRDJnNUVwU1QzY1B4VFZRY0lTNVI3dElLMmpRaDF4OXo2dmhEc3NYRXlJTGxoQ280cXUya3ZUb2FwWm5GSklwZlk4RWRvQlJqcVBIUlRXalpSLzVwZTRVMGtISG9PNXhpUWxrNEw0YS9tUXhQZThjOW5xckRWQllKcWVPM0F2ZStERnNaVFBYRWRYdTJIOW55OGtraHQ3VEVzUkI4UGk2K21QNWpFL1l4dnJCMWpoR3puSVVmWE9wWUdPSnZsUmxpd2t6N2FhclhSajZOSytYTDJ4Smh4eWgrR0N2TXhHbTQ0M29GL3l0K2VTSFV4L2F1UjVYbVYwbzMwbjQzdTV1bUdkUDhsVE9qL0NMWXEzRDljczY4U2NqNHFlMkxPY0p2Y2lnQ0JkckRpaHRDSXQzY1EvL1I4WEk0dEZnYVkxNzJuVzE5Qk1lb0NBbncrL2pyaWpUTnY0Zm1HanpXc0QxdXVuOE1UVitvdkRJb24ybFRVdUlBSHVZOGc1WFRWY2I5ejk5UGNPNGhLSVBOclRGK2Rhdm00U1RoY2VkbXJiZ1FCb0szUmoxNWZmcWdjQVx4M2QnO3ZhciBnPSdrbml0c2FpbCc7dmFyIGVpZD0nMUNHQWFLNkZCb2JYN004UG1MRzQyQXcnO3ZhciBzc19jZ2k9ZmFsc2U7dmFyIHNwPScnO3ZhciBoYXNoZWRfcXVlcnk9Jyc7dmFyIGNicz0nJzt2YXIgdXNzdj0nJzsoZnVuY3Rpb24oKXt2YXIgcT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sdT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI\/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixkKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1kLnZhbHVlO3JldHVybiBhfSx3PWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgZD1hW2JdO2lmKGQmJmQuTWF0aD09TWF0aClyZXR1cm4gZH10aHJvdyBFcnJvcigiYSIpO30seD13KHRoaXMpLHk9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBkPXg7YT1hLnNwbGl0KCIuIik7Zm9yKHZhciBsPTA7bDxhLmxlbmd0aC0xO2wrKyl7dmFyIGY9YVtsXTtpZighKGYgaW4gZCkpYnJlYWsgYTtkPWRbZl19YT1hW2EubGVuZ3RoLTFdO2w9ZFthXTtiPWIobCk7YiE9bCYmYiE9bnVsbCYmdShkLGEse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9fSx6PWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBTeW1ib2whPSJ1bmRlZmluZWQiJiZTeW1ib2wuaXRlcmF0b3ImJmFbU3ltYm9sLml0ZXJhdG9yXTtpZihiKXJldHVybiBiLmNhbGwoYSk7aWYodHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpxKGEpfTt0aHJvdyBFcnJvcigiYmAiK1N0cmluZyhhKSk7fTt5KCJQcm9taXNlIixmdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7dGhpcy5pPW51bGx9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYyBpbnN0YW5jZW9mIGY\/YzpuZXcgZihmdW5jdGlvbihlKXtlKGMpfSl9aWYoYSlyZXR1cm4gYTtiLnByb3RvdHlwZS5qPWZ1bmN0aW9uKGMpe2lmKHRoaXMuaT09bnVsbCl7dGhpcy5pPVtdO3ZhciBlPXRoaXM7dGhpcy5sKGZ1bmN0aW9uKCl7ZS52KCl9KX10aGlzLmkucHVzaChjKX07dmFyIGw9eC5zZXRUaW1lb3V0O2IucHJvdG90eXBlLmw9ZnVuY3Rpb24oYyl7bChjLDApfTtiLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmkmJnRoaXMuaS5sZW5ndGg7KXt2YXIgYz10aGlzLmk7dGhpcy5pPVtdO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7KytlKXt2YXIgaD1jW2VdO2NbZV09bnVsbDt0cnl7aCgpfWNhdGNoKGspe3RoaXMuQShrKX19fXRoaXMuaT1udWxsfTtiLnByb3RvdHlwZS5BPWZ1bmN0aW9uKGMpe3RoaXMubChmdW5jdGlvbigpe3Rocm93IGM7fSl9O3ZhciBmPWZ1bmN0aW9uKGMpe3RoaXMuaj0wO3RoaXMubD12b2lkIDA7dGhpcy5pPVtdO3RoaXMuRD0hMTt2YXIgZT10aGlzLkEoKTt0cnl7YyhlLnJlc29sdmUsZS5yZWplY3QpfWNhdGNoKGgpe2UucmVqZWN0KGgpfX07Zi5wcm90b3R5cGUuQT1mdW5jdGlvbigpe2Z1bmN0aW9uIGMoayl7cmV0dXJuIGZ1bmN0aW9uKG0pe2h8fChoPSEwLGsuY2FsbChlLG0pKX19dmFyIGU9dGhpcyxoPSExO3JldHVybntyZXNvbHZlOmModGhpcy5KKSxyZWplY3Q6Yyh0aGlzLnYpfX07Zi5wcm90b3R5cGUuSj1mdW5jdGlvbihjKXtpZihjPT09dGhpcyl0aGlzLnYobmV3IFR5cGVFcnJvcigiQSBQcm9taXNlIGNhbm5vdCByZXNvbHZlIHRvIGl0c2VsZiIpKTtlbHNlIGlmKGMgaW5zdGFuY2VvZiBmKXRoaXMuTChjKTtlbHNle2E6c3dpdGNoKHR5cGVvZiBjKXtjYXNlICJvYmplY3QiOnZhciBlPWMhPW51bGw7YnJlYWsgYTtjYXNlICJmdW5jdGlvbiI6ZT0hMDticmVhayBhO2RlZmF1bHQ6ZT0hMX1lP3RoaXMuSShjKTp0aGlzLkMoYyl9fTtmLnByb3RvdHlwZS5JPWZ1bmN0aW9uKGMpe3ZhciBlPXZvaWQgMDt0cnl7ZT1jLnRoZW59Y2F0Y2goaCl7dGhpcy52KGgpO3JldHVybn10eXBlb2YgZT09ImZ1bmN0aW9uIj90aGlzLk0oZSxjKTp0aGlzLkMoYyl9O2YucHJvdG90eXBlLnY9ZnVuY3Rpb24oYyl7dGhpcy5GKDIsYyl9O2YucHJvdG90eXBlLkM9ZnVuY3Rpb24oYyl7dGhpcy5GKDEsYyl9O2YucHJvdG90eXBlLkY9ZnVuY3Rpb24oYyxlKXtpZih0aGlzLmohPTApdGhyb3cgRXJyb3IoImNgIitjKyJgIitlKyJgIit0aGlzLmopO3RoaXMuaj1jO3RoaXMubD1lO3RoaXMuaj09PTImJnRoaXMuSygpO3RoaXMuRygpfTtmLnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7dmFyIGM9dGhpcztsKGZ1bmN0aW9uKCl7aWYoYy5IKCkpe3ZhciBlPXguY29uc29sZTt0eXBlb2YgZSE9PSJ1bmRlZmluZWQiJiZlLmVycm9yKGMubCl9fSwxKX07Zi5wcm90b3R5cGUuSD1mdW5jdGlvbigpe2lmKHRoaXMuRClyZXR1cm4hMTt2YXIgYz14LkN1c3RvbUV2ZW50LGU9eC5FdmVudCxoPXguZGlzcGF0Y2hFdmVudDtpZih0eXBlb2YgaD09PSJ1bmRlZmluZWQiKXJldHVybiEwO3R5cGVvZiBjPT09ImZ1bmN0aW9uIj9jPW5ldyBjKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGU9PT0iZnVuY3Rpb24iP2M9bmV3IGUoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KTooYz14LmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGMuaW5pdEN1c3RvbUV2ZW50KCJ1bmhhbmRsZWRyZWplY3Rpb24iLCExLCEwLGMpKTtjLnByb21pc2U9dGhpcztjLnJlYXNvbj10aGlzLmw7cmV0dXJuIGgoYyl9O2YucHJvdG90eXBlLkc9ZnVuY3Rpb24oKXtpZih0aGlzLmkhPW51bGwpe2Zvcih2YXIgYz0wO2M8dGhpcy5pLmxlbmd0aDsrK2Mpdi5qKHRoaXMuaVtjXSk7dGhpcy5pPW51bGx9fTt2YXIgdj1uZXcgYjtmLnByb3RvdHlwZS5MPWZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMuQSgpO2MuQihlLnJlc29sdmUsZS5yZWplY3QpfTtmLnByb3RvdHlwZS5NPWZ1bmN0aW9uKGMsZSl7dmFyIGg9dGhpcy5BKCk7dHJ5e2MuY2FsbChlLGgucmVzb2x2ZSxoLnJlamVjdCl9Y2F0Y2goayl7aC5yZWplY3Qoayl9fTtmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGMsZSl7ZnVuY3Rpb24gaChuLHQpe3JldHVybiB0eXBlb2Ygbj09ImZ1bmN0aW9uIj9mdW5jdGlvbihCKXt0cnl7ayhuKEIpKX1jYXRjaChDKXttKEMpfX06dH12YXIgayxtLEQ9bmV3IGYoZnVuY3Rpb24obix0KXtrPW47bT10fSk7dGhpcy5CKGgoYyxrKSxoKGUsbSkpO3JldHVybiBEfTtmLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihjKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxjKX07Zi5wcm90b3R5cGUuQj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgoKXtzd2l0Y2goay5qKXtjYXNlIDE6YyhrLmwpO2JyZWFrO2Nhc2UgMjplKGsubCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZGAiK2suaik7fX12YXIgaz0KdGhpczt0aGlzLmk9PW51bGw\/di5qKGgpOnRoaXMuaS5wdXNoKGgpO3RoaXMuRD0hMH07Zi5yZXNvbHZlPWQ7Zi5yZWplY3Q9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7aChjKX0pfTtmLnJhY2U9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBmKGZ1bmN0aW9uKGUsaCl7Zm9yKHZhciBrPXooYyksbT1rLm5leHQoKTshbS5kb25lO209ay5uZXh0KCkpZChtLnZhbHVlKS5CKGUsaCl9KX07Zi5hbGw9ZnVuY3Rpb24oYyl7dmFyIGU9eihjKSxoPWUubmV4dCgpO3JldHVybiBoLmRvbmU\/ZChbXSk6bmV3IGYoZnVuY3Rpb24oayxtKXtmdW5jdGlvbiBEKEIpe3JldHVybiBmdW5jdGlvbihDKXtuW0JdPUM7dC0tO3Q9PTAmJmsobil9fXZhciBuPVtdLHQ9MDtkbyBuLnB1c2godm9pZCAwKSx0KyssZChoLnZhbHVlKS5CKEQobi5sZW5ndGgtMSksbSksaD1lLm5leHQoKTt3aGlsZSghaC5kb25lKX0pfTtyZXR1cm4gZn0pOwp2YXIgQT10aGlzfHxzZWxmO2Z1bmN0aW9uIEUoKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbiYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24udHlwZX07dmFyIEY9d2luZG93LmxvY2F0aW9uO2Z1bmN0aW9uIEcoYSl7cmV0dXJuKGE9Ri5zZWFyY2gubWF0Y2gobmV3IFJlZ0V4cCgiWz8mXSIrYSsiPShcXGQrKSIpKSk\/TnVtYmVyKGFbMV0pOi0xfWZ1bmN0aW9uIEgoKXt2YXIgYT1nb29nbGUudGltZXJzLmxvYWQ7Z29vZ2xlLmMuZ3RzP2dvb2dsZS5jLmd0cyhmdW5jdGlvbigpe0koYSl9KTpJKGEpfQpmdW5jdGlvbiBJKGEpe3ZhciBiPWEuZSxkPWdvb2dsZS5zdHZzYztkJiYoYi5zc3I9MSk7aWYoZD9kLmlzQkY6RSgpPT09MiliLmJiPTE7RSgpPT09MSYmKGIucj0xKTthOntpZih3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiYoZD13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpLGQubGVuZ3RoIT09MCkpe2Q9ZFswXTticmVhayBhfWQ9dm9pZCAwfWlmKGQpe3ZhciBsPWQudHlwZTtsJiYoYi5udD1sKTtsPWQuZGVsaXZlcnlUeXBlO2whPW51bGwmJihiLmR0PWwpO2Q9ZC50cmFuc2ZlclNpemU7ZCE9bnVsbCYmKGIudHM9ZCl9KGQ9d2luZG93Lm5hdmlnYXRpb24pJiYoZD1kLmFjdGl2YXRpb24pJiYoZD1kLm5hdmlnYXRpb25UeXBlKSYmKGIuYW50PWQpO2I9YS5tO2lmKCFifHwhYi5wcnMpe2Q9d2luZG93Ll9jc2M9PT0iYWdzYSImJndpbmRvdy5fY3NoaWQ7bD1FKCl8fGQ\/MDpHKCJxc3VidHMiKTtsPjAmJihiPUcoImZidHMiKSxiPjAmJihhLnQuc3RhcnQ9TWF0aC5tYXgobCxiKSkpO3ZhciBmPWEudCx2PWYuc3RhcnQ7Yj17fTthLndzcnQhPT12b2lkIDAmJihiLndzcnQ9YS53c3J0KTtpZih2KWZvcih2YXIgYyBpbiBmKWlmKGMhPT0ic3RhcnQiKXt2YXIgZT1mW2NdO2JbY109Yz09PSJzZ2wiP2U6TWF0aC5tYXgoZS12LDApfWw+MCYmKGIuZ3Nhc3J0PWEudC5zdGFydC1sLGM9RygicXNkIiksYz4wJiZnb29nbGUuYy5lKCJsb2FkIiwicXNkIixTdHJpbmcoYykpLChjPWEuZmJ0cykmJihiLmdzYXNydDI9TWF0aC5tYXgobCxjKS1sKSk7RSgpfHxkfHwhYS5xc3VidHN8fChjPWEuZmJ0cykmJihiLmdzYXNydDM9TWF0aC5tYXgoYS5xc3VidHMsYyktYS5xc3VidHMpO2M9YS5lO2E9Ii9nZW5fMjA0P3M9Iitnb29nbGUuc24rIiZ0PXNnJmF0eXA9Y3NpJmVpPSIrZ29vZ2xlLmtFSSsiJnJ0PSI7ZD0iIjtmb3IoayBpbiBiKWErPSIiK2QraysiLiIrYltrXSxkPSIsIjtmb3IodmFyIGggaW4gYylhKz0KIiYiK2grIj0iK2NbaF07dmFyIGs9IiI7QS5fY3NoaWQmJihrKz0iJmNzaGlkPSIrQS5fY3NoaWQpOyhoPXdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUua09QSXx8bnVsbCkmJihrKz0iJm9waT0iK2gpO2s9YSs9azt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb249PT0iZnVuY3Rpb24iP25hdmlnYXRvci5zZW5kQmVhY29uKGssIiIpOmdvb2dsZS5sb2coIiIsIiIsayl9fTt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPWxvY2F0aW9uLmhyZWY7dGhpcy5pPXRoaXMuaj0iIjt2YXIgYj1hLmluZGV4T2YoIiMiKTtiPjAmJih0aGlzLmo9YS5zdWJzdHJpbmcoYiksYT1hLnN1YnN0cmluZygwLGIpKTtiPWEuaW5kZXhPZigiPyIpO2I+MCYmKHRoaXMuaT0iJiIrYS5zdWJzdHJpbmcoYisxKSxhPWEuc3Vic3RyaW5nKDAsYikpO3RoaXMubD1hfSxMPWZ1bmN0aW9uKGEsYixkKXtLKGEsYik7YS5pPWEuaSsiJiIrYisiPSIrZH0sSz1mdW5jdGlvbihhLGIpe2EuaT1hLmkucmVwbGFjZShuZXcgUmVnRXhwKCImIitiKyI9KFteJl0rKSIsImciKSwiIil9O0oucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIiIrdGhpcy5sKyh0aGlzLmk\/Ij8iK3RoaXMuaS5zdWJzdHJpbmcoMSk6IiIpK3RoaXMuan07CnZhciBNPWZ1bmN0aW9uKGEpe3RoaXMuaT1hfTtNLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBOPWZ1bmN0aW9uKGEpe3RoaXMuTj1hfTtmdW5jdGlvbiBPKGEpe3JldHVybiBuZXcgTihmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgUD1bTygiZGF0YSIpLE8oImh0dHAiKSxPKCJodHRwcyIpLE8oIm1haWx0byIpLE8oImZ0cCIpLG5ldyBOKGZ1bmN0aW9uKGEpe3JldHVybi9eW146XSooWy8\/I118JCkvLnRlc3QoYSl9KV0sUT0vXlxzKig\/IWphdmFzY3JpcHQ6KSg\/OltcdysuLV0rOnxbXjovPyNdKig\/OlsvPyNdfCQpKS9pO2Z1bmN0aW9uIFIoKXt2YXIgYT1BW2ddO2lmKGEpe2E9eigoMCxhLmEpKHAsZnVuY3Rpb24oKXt9LCExKSkubmV4dCgpLnZhbHVlO3ZhciBiPVthYSgpXTtyZXR1cm4gYShiKX1TKEVycm9yKCJmIikpfWZ1bmN0aW9uIGFhKCl7dmFyIGE9bG9jYXRpb24uaHJlZixiPWhhc2hlZF9xdWVyeSxkPXt9O2ImJihkLnFoPWIsKGE9KGE9YS5tYXRjaCgvWz8mXXN0YXJ0PShcZCspL2cpKT9hW2EubGVuZ3RoLTFdLm1hdGNoKC9cZCsvKVswXToiIikmJihkLnN0PWEpKTtyZXR1cm4gZH0KZnVuY3Rpb24gVCgpe3ZhciBhO2E6e2lmKHdpbmRvdy5zdCYmKGE9d2luZG93LnN0KGxvY2F0aW9uLmhyZWYpKSlicmVhayBhO2E9cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLnRpbWluZyYmcGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD9wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0OnZvaWQgMH1pZihhKXRyeXt2YXIgYjsoKGI9d2luZG93KT09bnVsbD8wOmIuc2Vzc2lvblN0b3JhZ2UpJiZ3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShlaWQsU3RyaW5nKGEpKX1jYXRjaChkKXt9fWZ1bmN0aW9uIFUoKXt2YXIgYT1laWQsYj1uZXcgSjtLKGIsInNnX3NzIik7TChiLCJzZWkiLGEpO3JldHVybiBiLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVihhKXt2YXIgYj1laWQsZD1uZXcgSjtMKGQsInNnX3NzIixlbmNvZGVVUklDb21wb25lbnQoYSkpO0woZCwic2VpIixiKTtXKGQudG9TdHJpbmcoKSl9CmZ1bmN0aW9uIGJhKGEpe2lmKHdpbmRvdy5wcnMpe1goInBzcnQiKTtzY3RtJiZIKCk7dmFyIGI9VSgpO3dpbmRvdy5wcnMoYixhKS5jYXRjaChmdW5jdGlvbigpe1YoYSl9KX1lbHNlIFYoYSl9ZnVuY3Rpb24gVyhhKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3dpbmRvdy5wcnM\/d2luZG93LnBycyhhKS5jYXRjaChmdW5jdGlvbigpe1koYSl9KTpZKGEpfQpmdW5jdGlvbiBZKGEpe2lmKHdpbmRvdy5wcil3aW5kb3cucHIoYSk7ZWxzZXthOnt2YXIgYj1iPT09dm9pZCAwP1A6YjtpZihhIGluc3RhbmNlb2YgTSliPWE7ZWxzZXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoOysrZCl7dmFyIGw9YltkXTtpZihsIGluc3RhbmNlb2YgTiYmbC5OKGEpKXtiPW5ldyBNKGEpO2JyZWFrIGF9fWI9dm9pZCAwfX1hPWxvY2F0aW9uO2lmKGIgaW5zdGFuY2VvZiBNKWlmKGIgaW5zdGFuY2VvZiBNKWI9Yi5pO2Vsc2UgdGhyb3cgRXJyb3IoImUiKTtlbHNlIGI9US50ZXN0KGIpP2I6dm9pZCAwO2IhPT12b2lkIDAmJmEucmVwbGFjZShiKX19ZnVuY3Rpb24gUyhhKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/Y2FkPXNnX2JfZSZlPSIrYSwiIil9ZnVuY3Rpb24gWChhKXtzY3RtJiZnb29nbGUudGljaygibG9hZCIsYSl9O25hdmlnYXRvcnx8KEEubmF2aWdhdG9yPXt9KTt0eXBlb2YgbmF2aWdhdG9yLnNlbmRCZWFjb24hPT0iZnVuY3Rpb24iJiYobmF2aWdhdG9yLnNlbmRCZWFjb249ZnVuY3Rpb24oYSl7KG5ldyBJbWFnZSkuc3JjPWF9KTt3aW5kb3cub25lcnJvcj1mdW5jdGlvbihhLGIsZCxsLGYpe25hdmlnYXRvci5zZW5kQmVhY29uKCIvZ2VuXzIwND9lbXNnPSIrKGYgaW5zdGFuY2VvZiBFcnJvcj9mLm1lc3NhZ2U6YSkrIiZzcmNwZz1zZ3MmanNyPTEmanNlbD0zIil9O1goInNzdCIpO3ZhciBaO3dpbmRvdy5zZ3MmJnVzc3Y\/KFgoInNzc3QiKSxaPXdpbmRvdy5zZ3Moc3ApLnRoZW4oZnVuY3Rpb24oYSl7WCgic3NldCIpO3ImJihUKCksYmEoYSkpO3JldHVybiEwfSxmdW5jdGlvbigpe3JldHVybiExfSkpOlo9UHJvbWlzZS5yZXNvbHZlKCExKTtaLnRoZW4oZnVuY3Rpb24oYSl7aWYoIWEmJihYKCJic3N0IiksYT1SKCksWCgiYnNldCIpLGEpKXt2YXIgYj1jYnM7YT1oYXNoZWRfcXVlcnk\/IkIuMS4iK2IrIi4iK2E6YTtiPW5ldyBEYXRlO2Iuc2V0U2Vjb25kcyhiLmdldFNlY29uZHMoKSsoTnVtYmVyKGNlKXx8MzAwKSk7dmFyIGQ9IlNHX1NTPSIrYSxsPWRvY3VtZW50LmNvb2tpZS5sZW5ndGgrZC5sZW5ndGg7ciYmKGw8NDA5MyYmIXNzX2NnaSYmKGRvY3VtZW50LmNvb2tpZT1kKygiOyBleHBpcmVzPSIrYi50b1VUQ1N0cmluZygpKSksVCgpLHNzX2NnaXx8ZG9jdW1lbnQuY29va2llLmluZGV4T2YoIlNHX1NTPSIpPDA\/VihhKTpXKFUoKSkpfX0pLmNhdGNoKGZ1bmN0aW9uKGEpe1MoYSl9KTt9KS5jYWxsKHRoaXMpO30pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iVlZFVE5MY2xlNmVkTFBlSlJ0cjduQSI+KGZ1bmN0aW9uKCl7dmFyIGNzc0lkPSd5dmxydWUnO3ZhciBldmVudF9pZD0nMUNHQWFLNkZCb2JYN004UG1MRzQyQXcnO2Z1bmN0aW9uIHN3KCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY3NzSWQpLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCcnKTtuYXZpZ2F0b3Iuc2VuZEJlYWNvbihgL2dlbl8yMDQ\/Y2FkPXNnX3RyYmwmZWk9JHtldmVudF9pZH1gLCcnKTt9CnNldFRpbWVvdXQoc3csMjAwMCk7fSkoKTs8L3NjcmlwdD4gPGRpdiBpZD0ieXZscnVlIiBzdHlsZT0iZGlzcGxheTpub25lIj5JZiB5b3UncmUgaGF2aW5nIHRyb3VibGUgYWNjZXNzaW5nIEdvb2dsZSBTZWFyY2gsIHBsZWFzZSZuYnNwOzxhIGhyZWY9Ii9zZWFyY2g\/cT0yMDA0K3NsKzUwMCtmb3Irc2FsZSZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj1mNDc4M2ZhNDcwMzhlM2E1JmFtcDtwd3M9MCZhbXA7aGw9ZW4mYW1wO25lYXI9VW5pdGVkK1N0YXRlcyZhbXA7Z2w9VVMmYW1wO2dscD0xJmFtcDtnYnY9MSZhbXA7ZW1zZz1TR19SRUwmYW1wO3NlaT0xQ0dBYUs2RkJvYlg3TThQbUxHNDJBdyI+Y2xpY2sgaGVyZTwvYT4sIG9yIHNlbmQmbmJzcDs8YSBocmVmPSJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS93ZWJzZWFyY2giPmZlZWRiYWNrPC9hPi48L2Rpdj48L2JvZHk+PC9odG1sPg=="}
Simpan