⚝
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_3.json
{"success":true,"settings":{"hash":"3","url":"https:\/\/www.google.com\/search?q=jaws+streaming+free&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":84276,"body":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjx0aXRsZT5Hb29nbGUgU2VhcmNoPC90aXRsZT4gPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4gPG1ldGEgY29udGVudD0iMDt1cmw9L2h0dHBzZXJ2aWNlL3JldHJ5L2VuYWJsZWpzP3NlaT0yUy1BYUl2cEpiT0hrZFVQOGNITS1ROCIgaHR0cC1lcXVpdj0icmVmcmVzaCI+PGRpdiBzdHlsZT0iZGlzcGxheTpibG9jayI+UGxlYXNlIGNsaWNrIDxhIGhyZWY9Ii9odHRwc2VydmljZS9yZXRyeS9lbmFibGVqcz9zZWk9MlMtQWFJdnBKYk9Ia2RVUDhjSE0tUTgiPmhlcmU8L2E+IGlmIHlvdSBhcmUgbm90IHJlZGlyZWN0ZWQgd2l0aGluIGEgZmV3IHNlY29uZHMuPC9kaXY+PC9ub3NjcmlwdD4gPHNjcmlwdCBub25jZT0iRFJBV2dLREdLTlVBRWFZWDR2Y3ozdyI+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\/KFVxPTQ0LFo9MjMpOlg9PTgyPyhVcT00NCxaPTc5KTpYPT0yNyYmKFBwPVRmLFo9MzMpfX19KCksVikuejA9ZnVuY3Rpb24oKXtyZXR1cm4gTiQuY2FsbCh0aGlzLDAsNyl9O3ZhciBIUyxWUz0oKFYuZ0I9MCxWKS5PeD0oVi5tTT1mdW5jdGlvbihSLHksRSxsLFUpe3JldHVybiBPay5jYWxsKHRoaXMsMCx5LDEwLFIsRSxsLFUpfSxyLnByb3RvdHlwZVtNMF09WzAsMCwxLDEsMCwxLDFdLFYudlk9ZnVuY3Rpb24oKXtyZXR1cm4gQXAuY2FsbCh0aGlzLDY1LDIwKX0sMCksLy4vKSxuSj1YbS5wb3AuYmluZChyLnByb3RvdHlwZVtocF0pLGVYPWZ1bmN0aW9uKFIseSl7cmV0dXJuKHk9cSQoMzcsOCwia3MiLG51bGwsImVycm9yIikpJiZSLmV2YWwoeS5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEUpe3JldHVybiB5LmNyZWF0ZVNjcmlwdChFKX06ZnVuY3Rpb24oRSl7cmV0dXJuIiIrRX19KChIUz12Uyg4MCw4OSwoVlNbci5wcm90b3R5cGUuQVRdPW5KLHtnZXQ6bkp9KSxyLnByb3RvdHlwZS5oKSxyLnByb3RvdHlwZS5kQj12b2lkIDAsYykpOygoeVM9Yy5rbml0c2FpbHx8KGMua25pdHNhaWw9e30pLHlTLm0pPjQwfHwoeVMubT00MSx5Uy5rcz1mdyx5Uy5hPWpEKSx5UykuWmVVXz1mdW5jdGlvbihSLHksRSxsLFUsdixPLFkpe2lmKCFbKFk9bmV3IHIoTyxSLHksbCx2LFUpLHVuZGVmaW5lZCldPT0wKXJldHVybltmdW5jdGlvbihLKXtyZXR1cm4gSXIoMjQsZmFsc2UsSyxZKX0sZnVuY3Rpb24oSyl7WS52WShLKX1dfTt9KS5jYWxsKHRoaXMpOyddLmpvaW4oJ1xuJykpKTt9KS5jYWxsKHRoaXMpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IkRSQVdnS0RHS05VQUVhWVg0dmN6M3ciPihmdW5jdGlvbigpe3ZhciByPScxJzt2YXIgY2U9MzA7dmFyIHNjdG09ZmFsc2U7dmFyIHA9J1plVVoyLzBLWkxEemhFQzczNlFFWWxpMnd5Q2pETUZOOUZkMGljZFgrN3d5eEwvWG1sMHczVVM5TGxBS2RnT2VUN0FPaGEra1JzdVBaWS8zUlNNMC9uRXVIZTlzbmhPUG9CSFYyS0NBZnlXR21oMzBMM0xjOTByVVRoNGhyS3g2NEI5VU9WUHVxV0xPR2FrWDBCSEhONTZuenpwNmtnTks3RVhBdVVJNS9ZbTNnWjcycHd1cFd0V3hnTnArR1pJQmdSTlpEdnpHbWh5QW9OakFPa1JvVkZnUWR2bTIvSEg0bWxHRjRaZndZVGEyazViaWJaajNIcFVRZTAzY2RtNGd2Z3ducnBna2RxTUhkRVYvOFA3TTFiNTVDWjU4WS9LQjArRXNEZmY1WnAySjZjY0ZNS08ya1VZTE81NEtKYXRuYjVmTTd4cit4RU5PNmR6YSswQXJHaE94SGV1NHUvUjJKNU5GUnNkdWJ2WTVMa3crWDlQUGRxM3VXYzlJOFFLZ3ZZL2txMHNPYVo3S3ZEazM5QTlyK0dENTNMWUNYYkU0bFcrb2xGWUVnbXE3NkRhZjFtWU5pS1ZJaEtMVWJneWQrOG83aEVWcVp6V252N2x5cUhEdVdOUml5Z004UytxcWF2c1ZuSDN4eTdPK3BwTDlBNDdrZFVSME16dThJV2hVb3JlY1lPV3hKQjVlUTBPTXJSdjNqQlNJNGVERXl6RHJNOHVuc0Fqc0orQnJvMmdEUW5GUlNGMHMyNmJmTVJ1MklSVndldjl0RHBWcGhNdytYc3oxdFZoZlRNN2xjcEZuQVRXQVZMaUFmaUlNSkJxdE5XdkE3dnV3RC9PeTk3Y0w1K01Xb3cvVmZLNXlqb3N2dlhnUmxLNExPbkQyUHkwci8zVDc2Y3h4bFl0bTVpOWN6WGlvNHk1VHdyLytmTkx5REpLV2I0K01lQ3FZcExQSlJzVGNRS1A1Z09TUnNwMzQvaUpwZlk4ZFo0NnVDaFFiNWtWMCtsbjArS3kzVzk0TW5nZTVCZUtaVnhSZXRqbjdrcUhsU2U1N2I5R1hHaWRLRlpOcVRaQzIrMTgwRUlDMCsxSUsvUDVpMDR1a3lyckxkeGRMaDhaZzVTNDJTYVBrNEpuQTRVZ2N1RnJiMmxBclIwMSthYVhXQURrQ21TQnUzZWtxRzJxVUQxL0N4Kyt1YTJrdk1uMzdOVDRiajQ5K1U1OEVxajJ1aVIvdGVoSFFGbzJhWDgzNk00U3VIbm1sUFpaZXlPUEtFNFd0a0Y1YWVhZkNFdmxTU2Q2aHhmT25lc0x1VXNWcDl2ZFhJbmMzMU14TWlVUVgrcnZmYitRRDhTMDZCOUdNNUlmNjZBbFZRRmh5N2kzYUdYS2t3c0pTdWxINTZhMFpnZnBkSjZ2b3cxbWIwRERUNjNleWdjd3grQ2ovOEgxdUxMRFcycTV4NTM1REoxTGRXRzU4UTVaNTFadFU4SkZLaHZDQmFXbU0xTVVMTnpoVDlQYkpGRFhqVjJkbkN5U3IzT2FqbDA3ZmNndFJlcDN5b0FTVll0UzFRMHFRbjlJK0d6aUF4akNxUzhOejZtRkNxcGNvajgwSHRjMXJZLytJQXR1ZG1EM29RSG1wRFBTWjd0TFFrQ0xuZFFWczJTOHBHRGk5VHZlMTRqellValV2UmpHd0dJd3l6UFFwVWZzV1A3Q21qTTdUMXUwV1p4MjdScmlJSnMrQnZIOVA1aHhzc215OGR6b2VOd2lKLytVbTB3eTBRVXcyajNXTVV2QkE5cjErKzJicW8wbDRYZ0c3cUpQamlsTStmbHdOajNnN1p3dTBqSzJ0bHQrakU0M01CQlhXQk8vaFQ3eHlWSU9qWkdSRmRWNWx0ZlVORllKTzcwcm9FQ0xPV2Jyd1IvVHRkVHBmUGw0c2kxcjRlVlFCQmJock5MdVBoRkU3cGFNNGZyQUZRaGd0UTZKcW02TlBqNy9IM1Y2eW41RWpOSElDQ1JSZlNVUkdxNmVneW55SzQ5T01BbUx0SkZJNUJsaVIxMm9WeVhwV2dZZ0k5bGV0L2JiZ3EvMURTRXB5bERVRS9saHdjQWhldk9OVmJtTDcybGs5OFM1ZEpwbUJZbEpvZm5ZMGJHUXZ0QVNwbllpVGdoRW5ibzV0aHc0TGVTN3QxcHE5dEduRGFRREcxL3JsSi9adHdVWEs2MS9IM04vWlBvZEFMdmREdzZGVHloeU0ya0Yxb3hXMkRjSmRtWHhzaFc5cDlPcEUyaXFSVTJCSU5pb2hUWjJtc0s0M0owdmdPNFdLekcvZ0NEaEFNUW5Cc2RSYmpvYkl1M3J1enNBTC81a3ZVMzJHSE1CUmgyMWJsMUNmTisyMlJ4NCt3NDUvcHRoNFFjTmRzWlVicWNxNnNtVy9aY2ZJa2JuLzdDejRXbUZxdFJVTzl4VTRYbklhcFZneDZNTmtQeURvUUhlTENGQmxoWHJoeHAzTnIweFg2bFZ3Q2JOK3UxeEc1VkdmYTNCcTBjL0s3ODZRanpoNlNtc1ZOSnhSK0JwbmpXUDQ5Q2RYRW1IOHZudFFFZGtGalBocDJZbURFeXFzMkhYQWxTdHU3Q1Z1UFRHWmk2MW4zTzZad1dodXRiRk43TFVVQ1ViaVVCUldJN3pjbm9DY0ZxUTVmaHBpbnlsRUFqdlF1UVpFR2ErdFJ1SjhyUVZVYVM2Sm9ZeWpuWEw0eWFhb2dCWW1LNkJkNWRvSFcvR3FmcGhVYmIwR2FQWTVjY1hWeTRKOVJ1d2F4WjRzTEoxNlJIcmNGV3pQNC94azFGSUxScVdQSXZwdTJFRko3RkVyM1dua2VKdXVBZ2tEbU1BNTNKaW5JaWdTOWloUFBJdCswRFJSM1hPWktBeXZFYndKdXR4U1NnMnRLYVI3UVVESUQ4VklIWC94YVdwSlFQTEFsN094T0xlb2NQYWRESzd1cnJXbFVuVlNBZzE5T01kT0pLTm1ITVBlbUUrU2dTaW1laHlNVWt2eXhCMWJMV3YwRUZOUjVGclJ4bXordVdNcjR6YnB3TVNoSGZsbDMrZ3dXMGU2aENvZ2g0eHlNbVdsVFc3MDNkOTVEQVpLL3A2ZzRlWDRPRTkyQWpWSDZEK1lnYTdtUitUUE9oa3BVdjR3RUE4ZUtCY2MxZnRtZXhKUDR4OHVsMDlxekxwYlZjMUdRcTA5RGlJeGlRbTU1U0cxNzU5TVNhSk5hbXdsNFFNVXVHbm1pVkRZSkFjdVg3OGxuY01BRHpOeUJQRWVZTEh0SXFWWThaV1NuNkErSkN2ZFN5OENSeUNiUTAzUXkzNGJPMnRMUzcrYU4xMnlCS3Y3MHUzemxXWVRwWi80bmhhT0JncjFSMGpyMkFyY05tVXgwL0Jha3NSdmRFUy9OVmFGVnZ4d1piSnpSblgxVjIwQmNhaWZrbVB2OS94U1BOd25TeVp2dFJ4ZktVaFBRS0FZU0swWDFtOU5TVzJrY3U0SHYwMUZKbVVKeE9seG5tUXFyeElJQVgxN3ZITDJsNWhpbDBRYmxwWTRSbEE1QVd1cVJRdmxpeGVQd0VxSy9RZFpmT3ZodEFxallnVVdnR0Ztdjhpa0I3MHdmMjh0aGVhZTdsSEtwTXVjYTFDcWRENzhEeEpMSituQU1pUjl6UGhQVmtOdzlyQW0zdWZxQVZmSGt3UG1LM0tNWDNQTE1raWJWbjhFZGNnNjVOdFZzczVIWGxUZzRXalMzdnNtV09qeHlJZVE0MUdpSE1ZZTYwb2piTUlKKzNNbWlRK2RjMXJUV3ZpZE4vT2xFa05KbW8rRnN0Z1orTjNhd3p6VmE3OUtNNXFzcE5xeUNPWE9yTDdHTFhJQlRGdy9oVUg2R0xkSHhNL0VseWh5R0trNlhvOGdjSTdCRTc0WXM2d0ZpZjlPOGx3cktIV2xBZWJ4WGhLMmd1eE15K0dIakQ4clpTWWRrSVFHMFdOaVJORW9vT28wK3U1VDVQcnRXTlNWWk4vTTNPVU9LMnBFdXJZckRhTVlibE5FQ0VrTkh5ek5TcHB0M0RLVHc1MHZnd1RlbUV3OTRkajg0amxzN2J6U2FMRitVUmppbUdVNWt5Y1ptYmdYMHhoS0lTbkJDbk1xN1RpYVJINWp6aUcrMjZNRTdER2pIdDNLVmhBdEpkcVBxazVjSHB0cWw1UFkzOXpjenNQRll2clFFYU9HbjU1Z3JycnZqOENocjhWY2E3WWpXTm5Sc0ZzSjFXWk9Vazl3UXRJRjAxdDJ0VC9oSXdYbnZtMDd1UkVXWmorb216S0FSWVpyekdzOFhNMkJZWUZzRkpzRnFieG5samNYcWp4TVBEeWZpRVhMdWdCc1NIeXFXS285dHRJUmk4SFFVVTZCWnhncmZBY09UQWlmOE5uM0Z6bDM3dDM1WVIvV0o3RWNyclMvRHFyelY1N1ZHTjdFZ0ZlNXZMRHBrWmpFUVJvRG9zdnM0NXBZbm9EU0hhU2RPaS92Z1JvMGN4SEJkQ2xKbDcyQlMyZmxtcGNvY2Y5eHlkcVV2U2pEaEtNNTh3bXZiU3RPbEthVU9DVmovZWE5a2orellNbStGakU2WDBHTVZwLy9zYUkwS0Y2WnFNOHM5ejFzSnVQM0dpSGRya25mN3FVNU5ibVd0Y0VKMW1nRVlUdkZ4MHA5aERST2pBelZaZ3J2N003RHZ0dkhHTzZPak5tOE5tSmVoZFh4UXVDSENMTkFFSkRtdnVDdTUwZ2prNUhLWDZEY0pKU0R5ME1qUHlmcTFjU3VnZmxhRm14cGIwVmhJY3pWYXBPUWRMNHA3UW4xZEpTV0JFNHJGZ1gvc0Q0TCtSQlVFS2s1ZGc2RmNkZGlnRk5jeEJXT3EveDBrNkJycnU3V3VQNWdSUjR2Q1E5Tk52cGJ2WVJ5RW5PcmxKWGNVSWo2VnlabUEvMnlIRm1weDUwbGV4UlpZeldwUWtJN2ZkVWtBdElxd0ZlTTFzNGxrMGRLdjF0SkNvdEljVDA3cTd6OHJhVmxNUll6QlZuUHlqV3N4bTN1Slk0RGgyK0lZUTBmQ285ZktBTGhxbkRCUkJETmJEbUtSaS9VZUdmTHUwY1d3TVB4Z0VwcGExSzlvc1pwY0FTTFZFa0tFcyszL2dUbEtYWnpZRytLVnA3MEJWT3NOcVVtY1I5Tm41K1gxR011R0p5L0tkOFRwZll0QlZlbERJZVJzRGFENEZ2Q3d5RjBzT2F1VFMvRnBoc24wZ1BhZHpDK1FyL1BBZXJ1WDVtdnozY1NXUHpJU0ZlcVMydWZGaCtaV3FINDNUbGdqVndnRWVpTzNXK0RPbGc3ZkRHdUxTOVduUGhPVWdrRGhMTDQwT1F1UUJhemdzSGhOL0dOa1VxYXp4dlg3THJEOTlMaThqMTBuOEYrODA2aDk5cndidzR1cGJRci9nd3ZBMnZFak9hZEJKMzB1SGVIY1R1bkx0UXJ0TkJFWnl4a2M5S1lmaGJUMzdjeDZPNDFDMVpJSkZnVzlZeGlEdEdIaGF0aExmcmM2R2NtMDYyeUVZdUZHR3hxdEVDZjMzNi9GVUZRTEYyS21KRFlPaFNuejc2c1lCdlo3MlNNN3pheGM4bkM1WGV0RUg5SGhiQVB2NzhpZVZyZlcvd2V5OWxRVGo3TzNUMmhhMU42Smg0YVZuTkUwK3RLV2JVZ1p6VUlhQmxOeHdORm1zbnhRcVNkNmdhWi94ZEdBTWZGdXFZRWZGcXhudGVhZVBjMFhkTDE5YndpVXJUVk42S093SmdUL0tmZ3hrRkFHc09yWUd0eXZvdGcxTXB1emY2M2lwMzlPNUVVYWFSZSt6MkxPMUpMQnNMTW1VUWZ4U3JKajRJTEdrcWs4YkpLdmx0c3NKY1Awd0tNS2hGS015UmRJY1BFMXRMM0F5VUo0dHZ2em5jcXdiam5qZWZWSjg2MVoxZG1EVEFaaElxcE5zK3dCZ2k1YjY4ZWZPUWdhZUgyanV2M0RrSmgxK0FTanlNRi93dmoxTGd6SHFhUmpsV2orVGNsR3ZCTTdyamJQWXh0dDduOWgyMXVLc0l1bEIvZWgreit6dzh4T21VT1JCc0wrNG92VkpjS2FCRkVRcHROSUxlYzhqd2lPdjF2SllMZC9xb1NsUW0yZnBZS1M4eFQxWXZEZVlnc2hobFJKTWw3RmpTV1drYUdkeTlmdGZSQkplcGZ3aDBwY3dybmwzRFlXZWg5QXZLRHRqK2FWTkk2NFJJVkVuSjkzaDV4QVZ6eEhrN2pJbldPUDU3UW8xTzJaWjhtWHFiVkp3c0VWc042Nk1iSWpZMGZ6TE0wZHdDMHFoblFITEtCbks4SFhTaHQ3bFNaVW9nSzhFME5UdnhqM3JzY1FHdW5CSlJJbjdOY3hDQS9YbDBXQm1UUWQ1RmNWR0tvM3Vvc3lYMHZrbUJZSWFVL3J3WUlpdEl4alR0bjBDNFk2R1cwbmVCMmJnQWtEZzJvNC84M3ZYS284QlVibEdpZ0tRbFFNSkIyT1MxQy9rWGcrWDFlWGZjemtwRE5uQ2g4b3JYdWpnTEEwQUd2dldnS2pYY2xVMDRrS2NaeVpvRm9PWURaanNabnZCYUhFbjhpbm1MOGREeTVTd3k4M3doWGpHdG00L2dQaENBdzY2bU1WRHVPS09nc0lMc3pBVmc0cnJzVVNPdEF4ZjJncHFrRVAySjhwcE1mRHNOL0lMWUoxcjFYeDRNSFdEMmNyVnk2bFVnSVJaS2U4bEUyR3dobzBxNWZYWFJEWXNDS2Y0Nnk0MjgwNzl5YlZlOEUvZGtEd2FUUkN1c1ZaSVVoRG1FTHRvV0tla1NxQklKS3lLUVdXNW8rUy9laGIrVmE0YjNWMFV3UExwcWphakpVYWRNSVRYdVFlVlYySGxMWXV3b2Z5ZHBxeERkai95MjhMcHQvaTNvNFVvVWJ3LzBYQkVmVzA4eFNpR0l5a0tkbElkL3dUM3hFSkluTVdSLzRGZEtVRjNLVmczTDcybGt5VTBpOU44Q2tqRGw2bW14eVlPVkZrOFBkOXdOTzRBK1NkUmZMYnhQVytHcmxQT0k0OXV2NlRnc3BZS1F1eHNEZUtUQlUzR0UrMkxrMzUzNWxCajdpSUFyM1FEaVBiT3lrV0MreUFMaURrcmdZUDlZV3JqbkdrOElDa0p5QUd5NUpKS3ZFdXdZcWd0L1M1eXNsaytyUDZvNmp3eW5US0kwQ0tka2U4NjFVM0wvWlZpQmpwRTBiK0RaVDIwemhBRWl3NDV0MlBUNlpFWFpaeWZSeWhSalVpdDA4SDU1bHR4Yko5QytnZ2E1WVp3enRhRkZ4VC9sMys5OTFNMUJGYVpXSUI5U1A2WXBHbDVRaTFUR0Uxa2FwbmIyTUl6V0J1bU9wUFhrd3ZzaGhaV1NiN29LNE9LUXBEMkYwTU5NMGpqRUI1TEh1TS9OR0VJN1JjM1Nka0JyNXFBMEhleFU2aVgxNHhsZ3lvN1FNck95SWkzLzhOQWNIQ2I5Vi82K3hDRVA3QTM4dGoxbm1ESFVJd3NqSmxOY2hHSGpoZTdqa2EzTWhINGlheE1SU0t6TU95Z0NTQi9YSCtQOTJJak4zRkZidDNlSysvQ0VwTHlEZk9qZ1VTbnh2S21pWUJIckdQN2ZVZ1NDSmF4WXZUb0JPODJMbGl1NXdIMGJnOUZoZ1hjaXE1YWZWNVRjVHZmRGtpS2N5QzVOOUNoaEd5WHZhakNXWUpaUFd4Qis4SGRCOXpxajFKWlNYZGRWK1J2TXhNcXlKOVEvWEZweVZ0S3pZcDRvM2ZjSnhDSjVmSkpGWkVDNDdtM0tyZ0tIRE1YWUg4UFZrTkt4MTB4dUpuVTBtWnpiZWZ3cFFDUEhOSFdSM1VrUXB0WXdEaGltZXUyY1NFR3BxdS9FYUpVMFM3OEZjTVZZQ2RzZmNqVURjd2VEQkRxTHUvWE9zSndCMGV0eVdaWmRsTytMYjhuNG1NU1Q4RW1XdjNyVFN0K28rUldxQjh1OExGY3VaZzIrYlhiRjN1aTIzTk54Yk5sMmlqWTdRdVNtSkNWS3JLQllqK1JhTjFtWmNWNy91T0tGNXpGNDBWd0pNMEJvZHZ6OE9mcDZxNXBSTmI0TFRSMmhiSGJUODUyaFNKanNpdG5McC9WejhsZURHZmJKcmpLd2ErME1ZVUVqQm53eU5NSDFOUko2bURBTkxud09vTFhtMEg3UmhqTGdvdU84eDFEeGdmdElHUUxNNVVyZVVPUytlekFBSXY1MFJYNjBybG9vOUtaMUQxMExVTTN5SWlMd29wRnlGNWJTQjNrVVlVN0pQdzFhOU9nZ1JUVStBVS9LQXZZVktINzl3c1k3QXFpZWZOdnc5a2ZGbzdlTEU0UjRMUjQ1WlhvUnFCdXA0TGh0R3Q2WFlMdXlRVFhNNURLTUNBdmtLMWhRd2lhaWdtTFZVQnp1REJwWkIrdWIxNTlmY2VydHNKU0ZweUMxZFo0eXRxTzRrOExVc3I5RkpFQzB2dkhHN2ZEbFRoekhrMDJvTkpSUDdEaUVhTmVuTVhQTGduWkNZbDUxOWh2NUh6bHZoSHdWSVdDdEZvNkt0bEZhaDZZZUU3N3dVaTJHbzVHRjFXcTNWSzN5ZkdTWVlVQ2diVmovY0lKTDc2YnN1dmNHRUQ0ZjFtSGllTFJ4ZjR4a0VxZGV2Vk41Q05rTXkwMGR6czA4dGg2VGV3SFB5MnB0WThtd012U1NyQ1pFbkxZakY1RTNiVDZXUWVHOUVSWXJEcE0vR21xZU8vTFZQNmNUaHRkaHNHaVVUempsT3ZhKzhhSVhCaWt0d3RhcHVTNjMxMzVJaXVBeVl3SWFGbmVVd2UzdCsxUklEbFJZcUl2ZytGV3dTOEFsaThxVXQyeDh3WWMvSnJxQmk1OEZxVVRUZ1BlYkF2aFJNa1k4MVg1eTdYU1lnWkdOaW0rOE5nOUNCempUeFpWdnBoSjV1VzhqYXRTUzFWZFZEeUhNUmljUUFaWXk2ZEloTnIvQmdGYk9HTDM0azVYNkI3aDdXdzFRcEFTbnJjY2czdEVEUUxJRVUyMmRCWUJGaEh5OVJiTmpjZ3VOZXVaN3Yrd2Jlblhibk1GL2hkL1kyS00zT2c1U01LZjlaMkJEQnNCak5xNW83cEx1MU9oZThSRXcrbTNDUlhmRHR0dDJYZmg5UndsTHpLUmJuWFJiR05rMlRmbWtmSlV1dlZqSWpaTEFTcnMxem4ySUZmWU4vRmUxRnZLZWUxRjJnWm1VWTZmWXlUaytWeGhRWVBSUm1MaG9rM0ZvM0hjTnR2WTFJMlc4ejlNSW5xY09EWGsyNUNBVFk1bGJWUDhBMTJNRmtkNEswWFVoejlQS3h1bUtFVnA1UC9ZSFNhY3p2dklleFVNODgxL2NGa2x3Uk5sbVh6dklmOGtNcjh3Mkozb2NXZURhR2dkRnp0RjYyZklHU1ZyU0hldDhvNnVOQkpzczZHWVN2QWJSZ1pYMlRoZ2l4Z3JERmVSa3BJNU80R0pPOWsrRWd1aFFja1A5U2V6UFpJeXdsYkVjR25GbnRYVnBZbkNENzlGQSsyNEh4VXBmcW42KzE0akh0OTVWMnJKbndLWXJYanRHbnIwK2hEc0VVS0tlejBlS1BOaGJGYWlWSkJydzEvaGFGcG1UMlNwM0V2em5Zalc1RnZlbENHRjc4ZTFWUDJxdXU3cHQ4RzM2SHRkYWtiU3BrQzg1a2NLQm4yMkUrVHNteDRlUUpQVllSWVJiK2xrUVYzZk1EVWh1WHYyNDltL1pwdnRjQU8yYWoyRDN0NGtWb1hoSHp2cjM3TGNzaEQyeXJnZm93S2VYRWFra1dhSDhObmVZZjFydUd2UDllUDVkaEl5L21oQmIvZGNPbzlxanJlSWkzSG9WaGdMSlFuQXdHRDFrWGpBbVQ0Y0hpL21KdFh1VXhHTnA0a01oOGdmdmdLVnd1ek9uSk5NS2tZK3NzeXdlUVA0dTVjK1VoVE4vMWtPYTFUN2Vya3ZZN3U5UFpEM1IxNk85eFo2aWs4aUdHTlU0SkQvSWlpZlhnVHNPeGNXa1BjSm03MUhTTlVkNUJLbmpPdWdiMDlOQkNYbDFFK01SQVJPemY2RGJrYUJjbGo4ZnpQWGo1RW1sR1RFNlF3eVFwdlF0SFdZNTdsaFN2cDNBME03M0VFZWVHU1NNWWJXWXdKeEprRU1YSjNZWGhDZUhFYTM0cUxhQnVFdE0xMkwvY0E3N3hHeEtic2hzK0FpcERvaXAzc3VudHlIMm5XZnBBb21NSVJwdG9zVEZ3aVdQa1hmVTdVVWZSaDZ2NzhUMm1sMjlPbElQbjB5c0V1RUpkS3EvdVVOb3lqNVlzcndSS3R5OTNLYzFCdDY5dWt5N1d0YkJYMk9wejNMbVZOZlY3bWdoemVVYU9RcmdtTjlSV0lUSzgxR0pCaHpRUTFiVTRzRVZwU3ExakRMN3VkNkk4Y0VweDVSUittZTc3cGw3TXRXV0RuNWtLM0Qzb0k4d0ovWmR5NHI1MVcwd1A0dXhhN1F5Y3lnVnJuVUhXL0w4OSt2QTdIbGlGMytObVQ3d2czcm9lUExkc1dUVkx1eDNpS0xiMWJsUm1HcHVZY1oxaW5HZVZZYW1nMysxcmFpdkhxRWN4NWZuZG9NbjFWTXMxUlQrMmlvZW9TZTBiUi9ndlhNWWEwMUQ1WGh1RUMrVytacGFQT3VSWXNpVzFJNjFpQ2N1VStaWXprZ0s1aFNCVXQ0aFN6VlNaSDlsTkdQOFdseDYyeDFLWEp3MVhCZjJYM0N5L0tBQ3F3TksxaTExcWFoenZTUE4xSWppQVhNZ0ZBMGpuMlRBc2kwdDdpejBoSG5DU2tXVjZESmpIcDY3dkR3cVRrUWdydmNKMWpJcytDZjZmeUU1NkgvTEF5ZGxBT2dyNDVwUmw2b0pwalJiQlpieEtnOXo4djZWWWc4cmFPckRVOTZVNnJ4QXBRcTYybXI5YnUxN2ZYL1NPV2QyU1MwUDY0S0l2RWJHU3hsSkpBdkJvajFhQy9xdkVGU2FWU3BnRGNOZ25QVDV5azYydWdRWXhtZmRlamwrSFRzcVhJWVpqVW9MTGhlNDN1dzg4aGRUZGJPSnM5T0ZwM0RLQnIrNXM2ajBPYUs5enpobVYxUTN1a0pQWlJBa2Q3MDRGblhFOTJ4SXUrREZwazZSWDBOSllyQWJvbGI3RUV1NWNrOGUybmFqSXFKT3BDZTNVUnRhV3lmdEJUQW9xMS9qQm9BNFpPbkl2TXhUeU5aOGc1a1E1U1NSUyt4ZWEvU3VBbmdIa2NGL2J5dFR2Ukc4bXA3c2RadHRiRXdBbWNFUjd4cGYxNnViWlc4S094ckx3TVNROGlmZUp2M1Zlam1OSTh5NlAvOWIrTjcrNlV5Q080YVBodXNGeS93dlduN2JFc2NtTjBySWZqU2NnaWVuN3lYVTBqWTNTOU8xVFRET2Y3QlFVR3N2bVVnYWtuRFk4RXkzTzRzSG1YUnJ6QlN3Yy9UUEZ6UjdxWkh0b1ZyNUR4M1VrOGZYenB6QnFNbGlsRG90SmZqUjR4L3lkajlkWDJRYWVhQmo0NVJJQ2ZUd01ZMy9uZkx0NHo4bHRJYTh2NERxMUdBNjNmejlLTFF4cmN5YVJnS2Vib0pBQWFwZ1VZTXRoQVgyWXYvcGloajdVc2M5MzR5bTdCUGlXWFFXVUM5QzlkOFVDSlhkNmRMNUU2Qms2RVowU3p6QkN1Y2lodUtSTGlSbGdrTGZlMWxXSC90NUpEZ1JVTW8vWXRoTVZ0bUxad2t6VnMxUDNncnZNS0JWendGOHF0aXc3eUtMeVRmQjhpQlA4UytFcHBaNmYxOCtCZ2xqRmlMc3c2MEM1cTZMYU5tUjVqRktmQWhJT3VySEZDb1Z0MllUMjBPNForSTJtbXlNZFRvclNrUGhDS2Ewb0NweTJDUWNlaWpWdUZRY2xQcTB3eTk4YTN0dE1Qek9jQS92OWV0RXB2NlhNRHNjWFpOKzRqRkMyRHFBWE1kc2xER2JReGhkWDVFWU0rRVhndUtuNTV3Q3dPOXd6Z2s3NnBXT0w4MUR3VlVFWU9xWVV0TkpNQndsdWJUTDM1Z2VqdUlVeE1yd3lDSnJtbkV4b3k3ZlB1OFZONWlzTFpTa0pmY3JWNlNneXVNVU1zRXNyc1RrZlVxWjlRUXpNYnlJblNxOFk1cDRhV2taK245ZlpUajVZR2UvRnlFcDhOMVNSb0hpdXMrczBxSWg3REd1UFhhODRXRHNEck1aOXBjZWtSdkk4cHFnbXZ6WUNzaVpZaHFDODB0bWlLUkhvbkMrY3B5OWZMRXZvMUpjWTJzRW9vQU9SaDBvUkJ3Z2VieGlXS2NlL0ZxdXFXS2x0cml3N2kzOCtyVWJobC9RZjU2bXN2NHJOUXVWYTBoVTVkRlRMSFFuWDhjQzRhS0Vlb2Q4UFdTWWlRK2FnS3dpT1pMR2ZXM0Z4OWF4WmxSYXhMVEtQOHdCN215K0JkNDhtQkc5MVl4R3A0c3BleUxrZXdyR1hYMC9RU3hDN2Rack9iSGxaSlF1N3dBUEQ5WGdIVXQ2djAxL243cHJra0grZVZsak9ydDR3VzF5S2c5R0Nod2hMcllnMWp2ODh2ZUVGNk52Y1N2cGhSVHBGNm91VXhpTTg2Mm1iTExNdmpiVnhzaXpMbUJiQlJrUDBibnp2NU8waFUyd01SNmIwUjZ2T1piZjV3MmJXbHhSYzJaL2MrdUxrMFlYTVJ0Rk1iM2VIc1dpMFgzRHJ2U3VnR3lEaFVqU3E5aitUSmtvc1RSWGlzWHFZOFgrdk1uN3dDYmVwTU9oc1ZkV3phaHFPRDJJdys4blVmVHN3TEFQQmhHMTBlZkQ1KzdJQVBUc2xLY0tPM1Q0ZWc0RWZjT3k2WW8rRk1nSkJoVWJjVW1ZSkhXK01ua2pHc01paHM4OFdjS05GSCs0S2wxYWlJS2hmM1U3T3prdzU5MnhGTlMyVFhPc1VoNnN1aG9OdUI4Nm5LQ0N1RmxQazJ4UjBUMXNMMVRBbFEzN2R6Y0NWVmJ3SitOZHNmMjN2NXUybmErMXYveVpFODI4RmM3ZElIUnpzZ1g3ei9HWE9TT0tZRGhhWG5zd0dEbWV5eVMxVXdUb2hPd2swMEN2QXlveWN6UDJ5c1cwbVBPUWk1NWEzS1RvZGJlWm9UeDB5WU9HamFpSUZmTEN1UjVCUWlhbTI3VUprVmtvckJFbEgwS3FlRmhzNlpBL0pxN0dET2pFQVJ1Z2VKU0V2SitVeWJwQWtSM25WOE5SUEdqeERCRlcrcWdGd0MxVDN0YmJ2bUVnU2FuZlpGUERTRStkWDlZNjlIT1dqUmR4amszRW1IeGsxSGFMb0kyZDNtRGlVR2Y1cnVVaGxCdVRzWURvdzZFZWhQWnA2amQwVm1GUUN3T3RkYTcxWjlHTHBqaHZVRDJmTzlRUUJVMDFJRlF4UGVJejd5MnFTZTJ4R1duOU11bFRhbU9QdGtIVEZ1d0xlaDZzWHdZa3VnaG15OWUvb2hsRXhMdjN0M3AyYmVKSkdQb1FTOWk1OG1GaytDYUJiYTAyMDlpTG1ocDhkQmpMTUIzL081cVJicjd6SXNIelNORmhsNXNaNzRGd2NjTFl3RGlEbkp1dDJnNDFNNUtxc0xRWVJrZlQ5N2lVeDJNQVVYRXFUUEZpOHc4eXFPK2U4a3RCaUx4NDhWNkhEbkFkK0M4dmczMXdkVGIyYkFkR05tTGxwNDVueFc0WTgxR2MrdnFUZVlmeG5Uc3N5VG9NdUdUY0RPckNqQ1ZyZFMrOXg5S1NZTjdlREpEeURNei84QmRDTkhtQ1BJRCthZEkzYUk2bFJmN1NhMFlDaU05MVZaM0szSzZlaVA2TWtiUEdzL0FVQXd3bE9yTlJQU2o4L0tkYUNHTlVEN0VneVUzUll4RXBHa1pWVnZtMmsyZWdqaW0wSlg5RklRMEJlaE1uQjFwcWRJc0FOaCtYN3locG9vS213R2lqdmdHNGxsREw0bzdPNHpuOWVxcGpmaU54ako2YXZYR3g2WUN5S3NkcktYRnVRaHVFYkJibDJNSGlBZVcxMmxrbkx1TzU2RVpWR2ZjMi9wZUZaS2NSYW5SajFwYzBRbWJUR0ZFWWRTL2JTNE45SThjZU5Qa3U4SWVQM2RZR1RyZlhCQUNnVXgvTUZ3RVhkZXJpa0F2N01sV3p2b1BqeVgrWHAySStNdlBwUEx2RDZUY0FZTXptcWcvdzI4Wnh0MUVUUHNacGFJZU5EUmFaZUpBS01wbHJmVmFpUW5kVkJMeEVDaHc4YUJWR2JLdnlReXZTcGlZa2hZUTZqbDl6cEZxWlcvTitWL0FKSjlUekVLY3lVc0cvQ1VLbnNlMWpORzdyZTJmKzhXdzZpRnhWaG9oajNyZmk3V0pYZWpwQVEwMVEwdkRlYmI3SThoVlh3ejlva1RZT0RMSWsza1ZEV21hVlFUaERNQWlNaUgxWE1wdG5xL0ZPdnIybGg5a0wrSklsMWRhUnF4a2lIajlSazZhSVN5YTJMdm5OUnY1TFplNlZLM0NoUE43WnNrMHhFTzZNN0VaYVJPbXdhZUNycGYyVzRhUnFMbEFkcSt1UytRNE5wS3doSjFEWSttZThsc1haTU1MWThxcW5SdzYyU09WNkp2SDQxYmVVVzR5M1hOWGpaeHdTclk5MGFIRENrM2tYZmJoT0JkemgyVGI5Vi9TRXJNZ0ZZdWg1NFNWVExCSW1vZlpvSDZTMkx4VTZTZ05zYW5SOFBJTHpObEFVTUJYRW5aMFhRM2VPMHBtZHZtYzJDbG1UandrNmZ2MWhsOThpd2lxTVdXbldZL0VVN0FMdzh0UTIxNmF1YkFJODdSM2QwYy9BMHZzNFFTcTByQlI4UCtpRWhHNFoyYTFWTXYxUmRVTU03UWZlSDBlMDk2RjM4YkM5QUovUVlpY3dGSjlZcklqMjFFdk0zS0hGRHB1U1B3MWkycmY4K0R3SHFCQnZXK01jWWZxWkxYcm9OU0JmaW9xamgvWUNRWEJRMTRBZVlmd2pOa2R1QVp2TS9zZzNzOTJzbkJxKzVJQWVib1FLSGN4VzFla3R4Z2N5R1JUQlQwZGVPUi9lMTh3aHhvbnNYRDlYZUdpTE56c1JkeVNrYlhXTkdBTjJKeThvT2RSV1U5RkNaT3JJdjk0aFlVdU1CYzByeXNmUGhMd1B0a3dFMDRhYWRWZnZwSzRxanU4Wkx6QWN2RlVYZmFUcUhBeUp6VzhWaTREMFVqc21rWENQUFc5UjNiTk5pbitvYkJIeTU5WjRQbWl3bDNHeERwb3BZZ1lwZkVEMVlpbHpRZDd4OWEzK0pYdXA3OHYyQ3E0UjFKb2dEUkxqbTFxVHQ3amhSMEJjQnlnbTlJRjNqVmJXTjROUHovWUJjUXFoVERaMnZaOTkwbkE4amhDNGx5QzJhTkNoTG9kVTZYL3N0a1BweVVLOHlCYUFlSW9tUm5ycW5ucEVCNUhhYVlua3ZVVHFnUWpGcjNqdlVaKzR1V1RzeW0zMFo5dC9OY09CVFlEV25KSzZBdHNZV0I4ZDhNbWdMa2MxL3o0OEo1NE8xTEFDUDEvc3RTZndKeHd2cDFCRUhFNk5pZEdJdlZzWHUvZkdYSG5xSWJCR0FRdW02QjQva3VsejBkZGRQazNWQkU2YWsrbmZ3WE10OFdCaDVpeFRzVldWZ3FjNnZ6Qkk3c1o2eldxOEtTdWdqbGV3RjA5eEt0SFZEN1B4cmt3NEVYb1FEMVlKZGZEN1NyQjEwNmV0TFkwbmo2dFpjcyt5Rk45dGpTNGIvN29sSWs1dTFNZk5jb1F3QWhwVWZtZ3MwRzBxNmZ6OWd6THE0aUVJU1I1UHVuYTJ0QnVJWkFRMjUzK2dRODV5NGlBNi9oekJudGFjeUNPSVhONEJsbEtUVnQvTU5ldUM0TWUvVHBqd2E5MEd2VE1wc0FEQ1VYbDVnMmtDQ2FLOEpqL1YwWXoxN1JYdVJpM2U4S29xMWpzaWVaMHYyUWZTek53c1FXOG50R1VEOUdJZ3hreEw5aitwczRXMGtvUGoxencwaGcvQS9YemxzVDZ6ZXlEZkQwMG5jbVZrOVdNb0cxUFpNR2tTaGV4aTZGd2tSa1ZHblgwdUU1MmxuMVRjV1BZTm1JSU1FOWxZdC9qYktoOUNWeFZaNjRUa2pmZzlRTWp6YjRaUlRKRVNHOGM1b0N3K2VlZ25rVmtMemkvYVZDRS9ZL0JDN2JMQlFtaWpmWEVqV3hqaWwzUnM2WFo2NTY1djZaSDZhcTFIeVgxd2d4YVVQK2dLckpYNCt0QnNXQTBiUVdNSVFrdjBmam8xTnBSb2dvanY5WWFrUCtmYjBRZDZkNzNjaDVwNXJIRE5ITVNjQXY3Z1hBWFhoSnNJWFFQWHNYTTdNYXA5T2U1YS9PNVFYcEpBTythN1R0aVRTQVlKbEhxNG1jczhXWS9GVXRhTUEwTExtMDNMQzdjb2E5clJ2Z09FUnUxVHhNK2JUSXE2REFIcXVVdjNwZlA3UGVsRnJHRUdObkkzekhraWs4MDYrbmlCS0ZDMmNXcENUL05vanE4Tm9scjJNSU1ZZDcxUE5CZUNUZnJZUkMwZCt0KzdwdWxVM3lCNjd4ZEo2cEFqYTZjcUNIWkZWYkJjS3A2d3VEaisrd1ZyTlN5SXZyTXVjMThydTV2UXp1SVAwNS9NMktpOWFJSTJPRDlzQjhTK3J6WmhqcTZmbTdDTW1yL0E5Qm1FQ0xkU1k1eGJUeWpUUXFkMFh6NnVMbTh4cHZ0WjhRTlRaa01mSm9FZmZKbUpsUHZORUZtMy95SU1iOW40ZFhwTXFtV2tDWmtFS1FoZjdYampwbE9Pa0JJZllJSG1hMjNjY1pTR2dCRktPc2FzV21MQ2ZGZ05la096bHpSYmlNMUFGaDI2c281eUhiNzYycjdQSzVQZXBBVVVsQjVVN3o5b1ptUVFpUU1kam55SWdJdzU5bC9OOGJiMTA0USthWVFLQ2JvaXN0VFgwMzdJamo1QVkvd1Q0MzVIRW40aW1ac3BTN3ZSbUdYYjQ5dUtRU3hINHZkMTl2dDdDWmZDdmlZajRiUkJ1SmVJZzl1QmhmaEU3SG5abC9VRDV3cGN1c0hERjV1ZFRxQ2dZcUFVRUFCSXNnU3JJckJmRmZHWDZlaUhMaHNMOGtpZVhYdzdGT2ZROEdDbkhVYXExUURhUlozTDdnWTdEZXFEdEhSaENOTG1qc2dWS3QxZ1QvVlU3SXRZeWUwelY4eis0TkFxN1VOZ1psODA4Z3dzbHR0V1RTUFR6WWFqSERjeFNGZSttemRpRmNVdDJib3V6V0pHMmN1RGpQa0NMTFc1RnRqNk5kdmtHUjBqR3ZXYkRWclVqM3ExN1lVRDdWK1lXT1VDTWdJZk5DWHowUTJyblZxcmExcU1JWnErdmY3R1hyZzJmWXcrUlhzS0lVNHNJMzJwN1BXUGc1ZFVodHlQSEl3S29JeTd2UUExUm1XUXhYdGpaYWZSU2VKak53S1dkWldIR1k1eSttQUtoUUJzaVpUeHhXUzNudXpSdGJWNE9udGpCUCtsbE55MDg3bi84dHlrRDdwSFYraGRReVRnMWtOL296cnhwMGtwc21ueTVDWWhRNEV6ZWtaeUdQYzM2SnNDYmZialM3V1BaNXlYSXlKelkwTGppazFJLzJsUC82YWhubTlrT3FQOFR6Rkh4VXdkV0NMa2UvZUpxRnNkT0FwZndkY3p6bVdHYVFxQ0VnandzNVdoZ0xIaDErNHp0THFyN0hPM0djWTlLYS8wdDlwRW5IY3hPdTQ2b2d6alo1QnhHU3N6dTkyTkEyQ0lyMTNEOG00ZHJjQTByNTBBMk92SHFDV0Q2WFl0WXRXOEdPbm90OUE0QjdqbVMwWGthQzJlenBZK0I4NjgrUHQ5SG5VajNMU0ZtcFF4Yzc4a0RrRit1WjF4S2ZIZ1Rpbms3bE9mYU9JbjI5RjJNWGhERmZvaTZjWG1YdXB1RkxRcEdMNk1LZTArR2NSanppWlRzTTNUWnBsd1hPc2tyYVFtTDRBcVFRMmZwMlVoU0lGL2N1cHhZYWhvaCtEVWxITlI2YnBkTHhHZmpNbUxyNWRrcjlnY3BxanhGMmkvbEpmWTV5VStNNFozVCtPTkovYlVZRzdjc2l3RVZrRnBwZ1pqWnR0QnNHcEJWSEowR2dMZkkzd2VHb01hZjJQK1RVRXB6bXlpaVI5NjdsZzhFOUtVYlN4U1ozSndUTFR2UVhoOFpYOFUwZlFQZ2U1VVVabG9lZHZZTXpoSHpnQ2VZVkZab1JXLzBYdjdSTmV5N1NxcVZHRk9DLzRCeURlTTdRQ053UThhMjIvNTZ2MjJmTmdOZlJZMDFHcXdSMWhhRGhiMzN5d2VJSzYydXhrM3RKRWRuOVcwWi8vckpGcXRKMUhPeWZQRGxnbzJEZ2lpZnBWanFDL2trY1oxRHB2bVRYNUpjWUd0ZjlNdDQwVVhYLzM3empLUHh2RU95bkc2WHJkbkdMMlRxS1dlOHlISlhQMUFnVTVuWVlQZ3ZQeCtrR3UwUk5SWWtSeGlac1ZsS2toZG5NR3hNa3lodzBmbzNwUlMvcVRFZTNXMGF4WWk4Y25NUDVjTFBUMVI5b3pOazQ1RWdZWXJ2djliYXhISDhmUnh6aGxoZHR4b05ieGQydVIxc3k2TENVbkJFQ25QOEszTURzR2E0Kyt1NlkweGJocUZGeFAvdzhRSU8zQUdxRk5qYmxDMlA4aGtFWlVLRlVMRmYwRUdiYXJnV3VzaEFLcFpMb3g1N1A4ZzdsaDlYcWtBR1pLK0ZBK09WZTFNY1l3cjlqQjNrdmpra0NNbjZvdlNjN0htMjE0OVN1Smp3MWJ3K1Y4cnp5OFNQUDRhQUkwRnJQck5ocGxYWmhlNlZlbVFMa2p5U0hyNFBnSlhOUEdRbzU4NVdoV3lGcEUrVmdydkVub042VVBReXIwQ0FONmtTR1k1MlZmb05YbWpHOVk4czJIQXhuSXc3MExVS1hxL2RJMGI2REYxdm5HcEp4OWFKTnp6bS9CWDRyazB1V2YzaGpUNVZ6dVJDdFZabWJMVE13ajlQRUNuMmh1VHJFYnFZeEUyNDAybUhkRmFDUW1aTk9XTXBoaDI5RGR5RDRyS3hpTi9hVGdpS0F6Tit4RkJPSGJMQmFhZGZibVIrNVRmaUNyRHcxSWxpZldjZnNldTU2OTFNbm9Od0RNaXF1Vk5PSjc5OGd1bStJYjNMeDRuYUt4Z3NoQzhXa0o2cHBPd3Y2TVNiVzJhbnBOaGluU1RwVnZ3UktiSjF4c3d1UENLMzI4VU5kTGdBYm1Va0hxVXVENFRudUpyL0RyOTVxMkNWT3FML2o5Mml4MURKS0FFYWsyZDhFOTJKOExEdmYxeFJMaThFSXB3OTJ5c1Y0bEhTaXNXcHlrbnVKYUNNbjJBOHQvcklHM21EcUNDSkpOMnE2aVNTQ3NUMGttYVBkaEdvUWk0ZGJkNE45a0RyakhHWDJXWHl3cHFucy9MSXY4a29MbStrVkJGMUNudGJHR0tQRitEOVVGVkdIakdZUmZBdENEaWhlTHBDSlpzRmJMR0hRMlQ0ckJZalpvYjlLaWJ2dGZFTEtmQyt1VWw5bFlBZXZIRGF0elgwMEhOTXpqZ0Y4Vk1PYWFDaGxiUFhqaFZjQ0h1TDhnTzZLY3JMU01nd3dpUnR6Rk0rY1ZwK3FmaTZoL0FxcUNVck1QdmxraVJYN0NsZUdJdzFlSGVvcSswSnNpNENtbnBwbEpTbXIxOUFCSG9iczl3UEYrRjlqOS84ZS8zQmYwZEYyRTFXSDF3Rk5RZnROR3hBRzZnSzBoRHhoMnlRbFIraEJxVVlzQUlMOEFWSURXNzYxMHZyVk1NREFldTlJbk5yUjZHOHB6a25yWG9vZXFFU3NpM1VTU3grS0ZUUERXZFh0S1FhOUxEdE5hWXhybE5sQVx4M2RceDNkJzt2YXIgZz0na25pdHNhaWwnO3ZhciBlaWQ9JzJTLUFhSXZwSmJPSGtkVVA4Y0hNLVE4Jzt2YXIgc3NfY2dpPWZhbHNlO3ZhciBzcD0nJzt2YXIgaGFzaGVkX3F1ZXJ5PScnO3ZhciBjYnM9Jyc7dmFyIHVzc3Y9Jyc7KGZ1bmN0aW9uKCl7dmFyIHE9ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYjxhLmxlbmd0aD97ZG9uZTohMSx2YWx1ZTphW2IrK119Ontkb25lOiEwfX19LHU9dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbihhLGIsZCl7aWYoYT09QXJyYXkucHJvdG90eXBlfHxhPT1PYmplY3QucHJvdG90eXBlKXJldHVybiBhO2FbYl09ZC52YWx1ZTtyZXR1cm4gYX0sdz1mdW5jdGlvbihhKXthPVsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMmJmdsb2JhbFRoaXMsYSwib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiwib2JqZWN0Ij09dHlwZW9mIGdsb2JhbCYmZ2xvYmFsXTtmb3IodmFyIGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGQ9YVtiXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoImEiKTt9LHg9dyh0aGlzKSx5PWZ1bmN0aW9uKGEsYil7aWYoYilhOnt2YXIgZD14O2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgbD0wO2w8YS5sZW5ndGgtMTtsKyspe3ZhciBmPWFbbF07aWYoIShmIGluIGQpKWJyZWFrIGE7ZD1kW2ZdfWE9YVthLmxlbmd0aC0xXTtsPWRbYV07Yj1iKGwpO2IhPWwmJmIhPW51bGwmJnUoZCxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfX0sej1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6cShhKX07dGhyb3cgRXJyb3IoImJgIitTdHJpbmcoYSkpO307eSgiUHJvbWlzZSIsZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3RoaXMuaT1udWxsfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGMgaW5zdGFuY2VvZiBmP2M6bmV3IGYoZnVuY3Rpb24oZSl7ZShjKX0pfWlmKGEpcmV0dXJuIGE7Yi5wcm90b3R5cGUuaj1mdW5jdGlvbihjKXtpZih0aGlzLmk9PW51bGwpe3RoaXMuaT1bXTt2YXIgZT10aGlzO3RoaXMubChmdW5jdGlvbigpe2UudigpfSl9dGhpcy5pLnB1c2goYyl9O3ZhciBsPXguc2V0VGltZW91dDtiLnByb3RvdHlwZS5sPWZ1bmN0aW9uKGMpe2woYywwKX07Yi5wcm90b3R5cGUudj1mdW5jdGlvbigpe2Zvcig7dGhpcy5pJiZ0aGlzLmkubGVuZ3RoOyl7dmFyIGM9dGhpcy5pO3RoaXMuaT1bXTtmb3IodmFyIGU9MDtlPGMubGVuZ3RoOysrZSl7dmFyIGg9Y1tlXTtjW2VdPW51bGw7dHJ5e2goKX1jYXRjaChrKXt0aGlzLkEoayl9fX10aGlzLmk9bnVsbH07Yi5wcm90b3R5cGUuQT1mdW5jdGlvbihjKXt0aGlzLmwoZnVuY3Rpb24oKXt0aHJvdyBjO30pfTt2YXIgZj1mdW5jdGlvbihjKXt0aGlzLmo9MDt0aGlzLmw9dm9pZCAwO3RoaXMuaT1bXTt0aGlzLkQ9ITE7dmFyIGU9dGhpcy5BKCk7dHJ5e2MoZS5yZXNvbHZlLGUucmVqZWN0KX1jYXRjaChoKXtlLnJlamVjdChoKX19O2YucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBjKGspe3JldHVybiBmdW5jdGlvbihtKXtofHwoaD0hMCxrLmNhbGwoZSxtKSl9fXZhciBlPXRoaXMsaD0hMTtyZXR1cm57cmVzb2x2ZTpjKHRoaXMuSikscmVqZWN0OmModGhpcy52KX19O2YucHJvdG90eXBlLko9ZnVuY3Rpb24oYyl7aWYoYz09PXRoaXMpdGhpcy52KG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihjIGluc3RhbmNlb2YgZil0aGlzLkwoYyk7ZWxzZXthOnN3aXRjaCh0eXBlb2YgYyl7Y2FzZSAib2JqZWN0Ijp2YXIgZT1jIT1udWxsO2JyZWFrIGE7Y2FzZSAiZnVuY3Rpb24iOmU9ITA7YnJlYWsgYTtkZWZhdWx0OmU9ITF9ZT90aGlzLkkoYyk6dGhpcy5DKGMpfX07Zi5wcm90b3R5cGUuST1mdW5jdGlvbihjKXt2YXIgZT12b2lkIDA7dHJ5e2U9Yy50aGVufWNhdGNoKGgpe3RoaXMudihoKTtyZXR1cm59dHlwZW9mIGU9PSJmdW5jdGlvbiI\/dGhpcy5NKGUsYyk6dGhpcy5DKGMpfTtmLnByb3RvdHlwZS52PWZ1bmN0aW9uKGMpe3RoaXMuRigyLGMpfTtmLnByb3RvdHlwZS5DPWZ1bmN0aW9uKGMpe3RoaXMuRigxLGMpfTtmLnByb3RvdHlwZS5GPWZ1bmN0aW9uKGMsZSl7aWYodGhpcy5qIT0wKXRocm93IEVycm9yKCJjYCIrYysiYCIrZSsiYCIrdGhpcy5qKTt0aGlzLmo9Yzt0aGlzLmw9ZTt0aGlzLmo9PT0yJiZ0aGlzLksoKTt0aGlzLkcoKX07Zi5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3ZhciBjPXRoaXM7bChmdW5jdGlvbigpe2lmKGMuSCgpKXt2YXIgZT14LmNvbnNvbGU7dHlwZW9mIGUhPT0idW5kZWZpbmVkIiYmZS5lcnJvcihjLmwpfX0sMSl9O2YucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtpZih0aGlzLkQpcmV0dXJuITE7dmFyIGM9eC5DdXN0b21FdmVudCxlPXguRXZlbnQsaD14LmRpc3BhdGNoRXZlbnQ7aWYodHlwZW9mIGg9PT0idW5kZWZpbmVkIilyZXR1cm4hMDt0eXBlb2YgYz09PSJmdW5jdGlvbiI\/Yz1uZXcgYygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBlPT09ImZ1bmN0aW9uIj9jPW5ldyBlKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6KGM9eC5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxjLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxjKSk7Yy5wcm9taXNlPXRoaXM7Yy5yZWFzb249dGhpcy5sO3JldHVybiBoKGMpfTtmLnByb3RvdHlwZS5HPWZ1bmN0aW9uKCl7aWYodGhpcy5pIT1udWxsKXtmb3IodmFyIGM9MDtjPHRoaXMuaS5sZW5ndGg7KytjKXYuaih0aGlzLmlbY10pO3RoaXMuaT1udWxsfX07dmFyIHY9bmV3IGI7Zi5wcm90b3R5cGUuTD1mdW5jdGlvbihjKXt2YXIgZT10aGlzLkEoKTtjLkIoZS5yZXNvbHZlLGUucmVqZWN0KX07Zi5wcm90b3R5cGUuTT1mdW5jdGlvbihjLGUpe3ZhciBoPXRoaXMuQSgpO3RyeXtjLmNhbGwoZSxoLnJlc29sdmUsaC5yZWplY3QpfWNhdGNoKGspe2gucmVqZWN0KGspfX07Zi5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihjLGUpe2Z1bmN0aW9uIGgobix0KXtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI\/ZnVuY3Rpb24oQil7dHJ5e2sobihCKSl9Y2F0Y2goQyl7bShDKX19OnR9dmFyIGssbSxEPW5ldyBmKGZ1bmN0aW9uKG4sdCl7az1uO209dH0pO3RoaXMuQihoKGMsayksaChlLG0pKTtyZXR1cm4gRH07Zi5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24oYyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsYyl9O2YucHJvdG90eXBlLkI9ZnVuY3Rpb24oYyxlKXtmdW5jdGlvbiBoKCl7c3dpdGNoKGsuail7Y2FzZSAxOmMoay5sKTticmVhaztjYXNlIDI6ZShrLmwpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImRgIitrLmopO319dmFyIGs9CnRoaXM7dGhpcy5pPT1udWxsP3YuaihoKTp0aGlzLmkucHVzaChoKTt0aGlzLkQ9ITB9O2YucmVzb2x2ZT1kO2YucmVqZWN0PWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2goYyl9KX07Zi5yYWNlPWZ1bmN0aW9uKGMpe3JldHVybiBuZXcgZihmdW5jdGlvbihlLGgpe2Zvcih2YXIgaz16KGMpLG09ay5uZXh0KCk7IW0uZG9uZTttPWsubmV4dCgpKWQobS52YWx1ZSkuQihlLGgpfSl9O2YuYWxsPWZ1bmN0aW9uKGMpe3ZhciBlPXooYyksaD1lLm5leHQoKTtyZXR1cm4gaC5kb25lP2QoW10pOm5ldyBmKGZ1bmN0aW9uKGssbSl7ZnVuY3Rpb24gRChCKXtyZXR1cm4gZnVuY3Rpb24oQyl7bltCXT1DO3QtLTt0PT0wJiZrKG4pfX12YXIgbj1bXSx0PTA7ZG8gbi5wdXNoKHZvaWQgMCksdCsrLGQoaC52YWx1ZSkuQihEKG4ubGVuZ3RoLTEpLG0pLGg9ZS5uZXh0KCk7d2hpbGUoIWguZG9uZSl9KX07cmV0dXJuIGZ9KTsKdmFyIEE9dGhpc3x8c2VsZjtmdW5jdGlvbiBFKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24mJndpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnR5cGV9O3ZhciBGPXdpbmRvdy5sb2NhdGlvbjtmdW5jdGlvbiBHKGEpe3JldHVybihhPUYuc2VhcmNoLm1hdGNoKG5ldyBSZWdFeHAoIls\/Jl0iK2ErIj0oXFxkKykiKSkpP051bWJlcihhWzFdKTotMX1mdW5jdGlvbiBIKCl7dmFyIGE9Z29vZ2xlLnRpbWVycy5sb2FkO2dvb2dsZS5jLmd0cz9nb29nbGUuYy5ndHMoZnVuY3Rpb24oKXtJKGEpfSk6SShhKX0KZnVuY3Rpb24gSShhKXt2YXIgYj1hLmUsZD1nb29nbGUuc3R2c2M7ZCYmKGIuc3NyPTEpO2lmKGQ\/ZC5pc0JGOkUoKT09PTIpYi5iYj0xO0UoKT09PTEmJihiLnI9MSk7YTp7aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSYmKGQ9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKSxkLmxlbmd0aCE9PTApKXtkPWRbMF07YnJlYWsgYX1kPXZvaWQgMH1pZihkKXt2YXIgbD1kLnR5cGU7bCYmKGIubnQ9bCk7bD1kLmRlbGl2ZXJ5VHlwZTtsIT1udWxsJiYoYi5kdD1sKTtkPWQudHJhbnNmZXJTaXplO2QhPW51bGwmJihiLnRzPWQpfShkPXdpbmRvdy5uYXZpZ2F0aW9uKSYmKGQ9ZC5hY3RpdmF0aW9uKSYmKGQ9ZC5uYXZpZ2F0aW9uVHlwZSkmJihiLmFudD1kKTtiPWEubTtpZighYnx8IWIucHJzKXtkPXdpbmRvdy5fY3NjPT09ImFnc2EiJiZ3aW5kb3cuX2NzaGlkO2w9RSgpfHxkPzA6RygicXN1YnRzIik7bD4wJiYoYj1HKCJmYnRzIiksYj4wJiYoYS50LnN0YXJ0PU1hdGgubWF4KGwsYikpKTt2YXIgZj1hLnQsdj1mLnN0YXJ0O2I9e307YS53c3J0IT09dm9pZCAwJiYoYi53c3J0PWEud3NydCk7aWYodilmb3IodmFyIGMgaW4gZilpZihjIT09InN0YXJ0Iil7dmFyIGU9ZltjXTtiW2NdPWM9PT0ic2dsIj9lOk1hdGgubWF4KGUtdiwwKX1sPjAmJihiLmdzYXNydD1hLnQuc3RhcnQtbCxjPUcoInFzZCIpLGM+MCYmZ29vZ2xlLmMuZSgibG9hZCIsInFzZCIsU3RyaW5nKGMpKSwoYz1hLmZidHMpJiYoYi5nc2FzcnQyPU1hdGgubWF4KGwsYyktbCkpO0UoKXx8ZHx8IWEucXN1YnRzfHwoYz1hLmZidHMpJiYoYi5nc2FzcnQzPU1hdGgubWF4KGEucXN1YnRzLGMpLWEucXN1YnRzKTtjPWEuZTthPSIvZ2VuXzIwND9zPSIrZ29vZ2xlLnNuKyImdD1zZyZhdHlwPWNzaSZlaT0iK2dvb2dsZS5rRUkrIiZydD0iO2Q9IiI7Zm9yKGsgaW4gYilhKz0iIitkK2srIi4iK2Jba10sZD0iLCI7Zm9yKHZhciBoIGluIGMpYSs9CiImIitoKyI9IitjW2hdO3ZhciBrPSIiO0EuX2NzaGlkJiYoays9IiZjc2hpZD0iK0EuX2NzaGlkKTsoaD13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLmtPUEl8fG51bGwpJiYoays9IiZvcGk9IitoKTtrPWErPWs7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uPT09ImZ1bmN0aW9uIj9uYXZpZ2F0b3Iuc2VuZEJlYWNvbihrLCIiKTpnb29nbGUubG9nKCIiLCIiLGspfX07dmFyIEo9ZnVuY3Rpb24oKXt2YXIgYT1sb2NhdGlvbi5ocmVmO3RoaXMuaT10aGlzLmo9IiI7dmFyIGI9YS5pbmRleE9mKCIjIik7Yj4wJiYodGhpcy5qPWEuc3Vic3RyaW5nKGIpLGE9YS5zdWJzdHJpbmcoMCxiKSk7Yj1hLmluZGV4T2YoIj8iKTtiPjAmJih0aGlzLmk9IiYiK2Euc3Vic3RyaW5nKGIrMSksYT1hLnN1YnN0cmluZygwLGIpKTt0aGlzLmw9YX0sTD1mdW5jdGlvbihhLGIsZCl7SyhhLGIpO2EuaT1hLmkrIiYiK2IrIj0iK2R9LEs9ZnVuY3Rpb24oYSxiKXthLmk9YS5pLnJlcGxhY2UobmV3IFJlZ0V4cCgiJiIrYisiPShbXiZdKykiLCJnIiksIiIpfTtKLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK3RoaXMubCsodGhpcy5pPyI\/Iit0aGlzLmkuc3Vic3RyaW5nKDEpOiIiKSt0aGlzLmp9Owp2YXIgTT1mdW5jdGlvbihhKXt0aGlzLmk9YX07TS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pfTt2YXIgTj1mdW5jdGlvbihhKXt0aGlzLk49YX07ZnVuY3Rpb24gTyhhKXtyZXR1cm4gbmV3IE4oZnVuY3Rpb24oYil7cmV0dXJuIGIuc3Vic3RyKDAsYS5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PWErIjoifSl9dmFyIFA9W08oImRhdGEiKSxPKCJodHRwIiksTygiaHR0cHMiKSxPKCJtYWlsdG8iKSxPKCJmdHAiKSxuZXcgTihmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldLFE9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtmdW5jdGlvbiBSKCl7dmFyIGE9QVtnXTtpZihhKXthPXooKDAsYS5hKShwLGZ1bmN0aW9uKCl7fSwhMSkpLm5leHQoKS52YWx1ZTt2YXIgYj1bYWEoKV07cmV0dXJuIGEoYil9UyhFcnJvcigiZiIpKX1mdW5jdGlvbiBhYSgpe3ZhciBhPWxvY2F0aW9uLmhyZWYsYj1oYXNoZWRfcXVlcnksZD17fTtiJiYoZC5xaD1iLChhPShhPWEubWF0Y2goL1s\/Jl1zdGFydD0oXGQrKS9nKSk\/YVthLmxlbmd0aC0xXS5tYXRjaCgvXGQrLylbMF06IiIpJiYoZC5zdD1hKSk7cmV0dXJuIGR9CmZ1bmN0aW9uIFQoKXt2YXIgYTthOntpZih3aW5kb3cuc3QmJihhPXdpbmRvdy5zdChsb2NhdGlvbi5ocmVmKSkpYnJlYWsgYTthPXBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS50aW1pbmcmJnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ\/cGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydDp2b2lkIDB9aWYoYSl0cnl7dmFyIGI7KChiPXdpbmRvdyk9PW51bGw\/MDpiLnNlc3Npb25TdG9yYWdlKSYmd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oZWlkLFN0cmluZyhhKSl9Y2F0Y2goZCl7fX1mdW5jdGlvbiBVKCl7dmFyIGE9ZWlkLGI9bmV3IEo7SyhiLCJzZ19zcyIpO0woYiwic2VpIixhKTtyZXR1cm4gYi50b1N0cmluZygpfWZ1bmN0aW9uIFYoYSl7dmFyIGI9ZWlkLGQ9bmV3IEo7TChkLCJzZ19zcyIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTtMKGQsInNlaSIsYik7VyhkLnRvU3RyaW5nKCkpfQpmdW5jdGlvbiBiYShhKXtpZih3aW5kb3cucHJzKXtYKCJwc3J0Iik7c2N0bSYmSCgpO3ZhciBiPVUoKTt3aW5kb3cucHJzKGIsYSkuY2F0Y2goZnVuY3Rpb24oKXtWKGEpfSl9ZWxzZSBWKGEpfWZ1bmN0aW9uIFcoYSl7WCgicHNydCIpO3NjdG0mJkgoKTt3aW5kb3cucHJzP3dpbmRvdy5wcnMoYSkuY2F0Y2goZnVuY3Rpb24oKXtZKGEpfSk6WShhKX0KZnVuY3Rpb24gWShhKXtpZih3aW5kb3cucHIpd2luZG93LnByKGEpO2Vsc2V7YTp7dmFyIGI9Yj09PXZvaWQgMD9QOmI7aWYoYSBpbnN0YW5jZW9mIE0pYj1hO2Vsc2V7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDsrK2Qpe3ZhciBsPWJbZF07aWYobCBpbnN0YW5jZW9mIE4mJmwuTihhKSl7Yj1uZXcgTShhKTticmVhayBhfX1iPXZvaWQgMH19YT1sb2NhdGlvbjtpZihiIGluc3RhbmNlb2YgTSlpZihiIGluc3RhbmNlb2YgTSliPWIuaTtlbHNlIHRocm93IEVycm9yKCJlIik7ZWxzZSBiPVEudGVzdChiKT9iOnZvaWQgMDtiIT09dm9pZCAwJiZhLnJlcGxhY2UoYil9fWZ1bmN0aW9uIFMoYSl7bmF2aWdhdG9yLnNlbmRCZWFjb24oIi9nZW5fMjA0P2NhZD1zZ19iX2UmZT0iK2EsIiIpfWZ1bmN0aW9uIFgoYSl7c2N0bSYmZ29vZ2xlLnRpY2soImxvYWQiLGEpfTtuYXZpZ2F0b3J8fChBLm5hdmlnYXRvcj17fSk7dHlwZW9mIG5hdmlnYXRvci5zZW5kQmVhY29uIT09ImZ1bmN0aW9uIiYmKG5hdmlnYXRvci5zZW5kQmVhY29uPWZ1bmN0aW9uKGEpeyhuZXcgSW1hZ2UpLnNyYz1hfSk7d2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24oYSxiLGQsbCxmKXtuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiL2dlbl8yMDQ\/ZW1zZz0iKyhmIGluc3RhbmNlb2YgRXJyb3I\/Zi5tZXNzYWdlOmEpKyImc3JjcGc9c2dzJmpzcj0xJmpzZWw9MyIpfTtYKCJzc3QiKTt2YXIgWjt3aW5kb3cuc2dzJiZ1c3N2PyhYKCJzc3N0IiksWj13aW5kb3cuc2dzKHNwKS50aGVuKGZ1bmN0aW9uKGEpe1goInNzZXQiKTtyJiYoVCgpLGJhKGEpKTtyZXR1cm4hMH0sZnVuY3Rpb24oKXtyZXR1cm4hMX0pKTpaPVByb21pc2UucmVzb2x2ZSghMSk7Wi50aGVuKGZ1bmN0aW9uKGEpe2lmKCFhJiYoWCgiYnNzdCIpLGE9UigpLFgoImJzZXQiKSxhKSl7dmFyIGI9Y2JzO2E9aGFzaGVkX3F1ZXJ5PyJCLjEuIitiKyIuIithOmE7Yj1uZXcgRGF0ZTtiLnNldFNlY29uZHMoYi5nZXRTZWNvbmRzKCkrKE51bWJlcihjZSl8fDMwMCkpO3ZhciBkPSJTR19TUz0iK2EsbD1kb2N1bWVudC5jb29raWUubGVuZ3RoK2QubGVuZ3RoO3ImJihsPDQwOTMmJiFzc19jZ2kmJihkb2N1bWVudC5jb29raWU9ZCsoIjsgZXhwaXJlcz0iK2IudG9VVENTdHJpbmcoKSkpLFQoKSxzc19jZ2l8fGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCJTR19TUz0iKTwwP1YoYSk6VyhVKCkpKX19KS5jYXRjaChmdW5jdGlvbihhKXtTKGEpfSk7fSkuY2FsbCh0aGlzKTt9KSgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IkRSQVdnS0RHS05VQUVhWVg0dmN6M3ciPihmdW5jdGlvbigpe3ZhciBjc3NJZD0neXZscnVlJzt2YXIgZXZlbnRfaWQ9JzJTLUFhSXZwSmJPSGtkVVA4Y0hNLVE4JztmdW5jdGlvbiBzdygpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNzc0lkKS5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywnJyk7bmF2aWdhdG9yLnNlbmRCZWFjb24oYC9nZW5fMjA0P2NhZD1zZ190cmJsJmVpPSR7ZXZlbnRfaWR9YCwnJyk7fQpzZXRUaW1lb3V0KHN3LDIwMDApO30pKCk7PC9zY3JpcHQ+IDxkaXYgaWQ9Inl2bHJ1ZSIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+SWYgeW91J3JlIGhhdmluZyB0cm91YmxlIGFjY2Vzc2luZyBHb29nbGUgU2VhcmNoLCBwbGVhc2UmbmJzcDs8YSBocmVmPSIvc2VhcmNoP3E9amF3cytzdHJlYW1pbmcrZnJlZSZhbXA7bnVtPTEwMCZhbXA7c2NhX2Vzdj1mNDc4M2ZhNDcwMzhlM2E1JmFtcDtwd3M9MCZhbXA7aGw9ZW4mYW1wO25lYXI9VW5pdGVkK1N0YXRlcyZhbXA7Z2w9VVMmYW1wO2dscD0xJmFtcDtnYnY9MSZhbXA7ZW1zZz1TR19SRUwmYW1wO3NlaT0yUy1BYUl2cEpiT0hrZFVQOGNITS1ROCI+Y2xpY2sgaGVyZTwvYT4sIG9yIHNlbmQmbmJzcDs8YSBocmVmPSJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS93ZWJzZWFyY2giPmZlZWRiYWNrPC9hPi48L2Rpdj48L2JvZHk+PC9odG1sPg=="}
Simpan