İstek Okulları Semiha Şakir Makas
İstek Okulları Semiha Şakir Makas
Bu kategoride ürün bulunamadı.
1
SEÇİLEN: 10 ADET
TOPLAM: 6.120,00 TL
| Kategori | |
| Önerilen Adet | |
| Stok Durumu | Mevcut |
1
Kaç öğrenciye sipariş geçilecek?
Listedeki ürün adetleri girdiğiniz öğrenci sayısıyla çarpılarak sepete eklenecektir.
Sepete Ekleniyor...
Lütfen bekleyiniz
0 / 0
DQooZnVuY3Rpb24oKSB7DQogICAgdHJ5IHsNCiAgICAgICAgY29uc3QgYWt0aWZPa3VsQWRpID0gIsSwc3RlayBPa3VsbGFyxLEgU2VtaWhhIMWeYWtpciBN YWthcyBLxLFydGFzaXllIMSwaHRpeWHDpyBMaXN0ZXNpIjsNCiAgICAgICAgY29uc3QgYWt0aWZPa3VsTGlua2kgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsN CiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2theWl0bGlPa3VsQWRpJywgYWt0aWZPa3VsQWRpKTsNCiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0 ZW0oJ2theWl0bGlPa3VsTGlua2knLCBha3RpZk9rdWxMaW5raSk7DQogICAgfSBjYXRjaChlKSB7IGNvbnNvbGUud2FybigiTG9jYWwgc3RvcmFnZSBlcmnF n2ltIGhhdGFzxLEiLCBlKTsgfQ0KICAgIGNvbnN0IEtVUE9OID0gJyc7DQogICAgLy8gTWF2aUthbGVtIGxvZ29zdSAoZGF0YSBVUkkpIOKAlCBpbmRpcmls ZW4gbGlzdGVuaW4gYmHFn2zEscSfxLFuYSBnw7Ztw7xsw7xyIGtpDQogICAgLy8gZG9zeWEgaW50ZXJuZXRzaXogZGUga3VydW1zYWwgZ8O2csO8bnPDvG4u IExvZ28geW9rc2EgYm/FnyBzdHJpbmcgZ2VsaXIuDQogICAgY29uc3QgTUtfTE9HTyA9ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFB TlNVaEVVZ0FBQVVBQUFBQjRDQUlBQUFBTXJMeUpBQUFCS21sRFExQlRhMmxoQUFBb2tYMlF2VXJEWUJpRm42OFV4T0xQb0lPRFE4WXUybFRiVUVXSG1Ob2lP TFVWa2pxbGFSckVOZzFweE03TzZqVzRlUU1kdlFCSFFYQnlFTHdCY1hDdEprRlNrSGkrNWVGd2VOL3ZQWkJaQThqS01IQUR2MUUva0hTakxjMjlJUkJFTXEy UlI3b0VmTDNFMmVlTmYzSnBtdS9hSXd2NEFBSmZOOW9ndXNDcUUvTTQ1RTdNMXlGZkJsNEE0aTVrdjlYUVFFeUF2RFBEblJtMlBEL012d0o3Zy82RmxmeWJC ZHM5YVFJNnNFNmRJVU1jK3RnVWFITE9HU1lGS2xSUXFhR2lja2dKalhMMEZMU0lkNUJSVU5tT09QYXJ5RlFwVXFNYzlobXZ2THFCL2RKME9uMUl2T05sbUxR Zzk1NTQrVjFZR3NQamJlSWxIWHVtYjBaVzltZGtwdGVEejN0WU5HRGxDWEtudjhXbTNDcjl1VlhpQ0JlTFRTUzJrQ21pZkFONVVFenVqUGxtakFBQUlBQkpS RUZVZUp6c1hYZDhGTVhibjdMbFducENFZ0toUXdnZEZFR3Fvb0tDaWdJMjdMNzJocjFYVkJRNzlsNnhDeXFnb29oSVYwU2x0NFFBQ2VuMSt0M3V6UFArTWJ0 N2V5RlU0U2Rvbmc4ZmhidTkzWm5aK2M3enpQTjhuMmR3S0JRQmhCQkNHQ0ZBQ0JEQ0FBZ2pRQWlKTHdBaERBaGhCQUFJWXdUaTQyWnBsbWI1eHdWRE14NmJw Vm1PV0pHYUFkd3N6WExrU3JNR2JwWm1PWUpGK3FjYjBDeW1BQURHKzdLZ1lvUUFZd1NBTWY3Zk5LMVpEbHRwMXNDSFVnQUFvWDFESlVJSUVPemhud2dKN0NJ VHRIdERiek84L3d2U0RPQ0RJN0RYb2JTK0JJamhFT08vRHpQZzNHb0NhZ3JZR0dPSTRiNVovbFhTYkVML1hSR3d4U2FBd1B6VVVLRUNvdUpQa3ovbm5FZWpv RVc1RnRWRElSWUk4R2lFYXhxUFJyZ1c1ZEVvQXNDVVlrb3hsVEFsUkZia3BCUXBJWkdvS2xFVXFqb3dJYnZlRTRtUUg4WkMvMXNOYTFiTC96SnAxc0Q3TDAw T21SMng4WWdDaEZnd29EWFVhOTRHdmE0bVhGa1JyYW5TdlEyYXIwSDNOakMvWHc4R2VEREFnbjRXQ29HbUEyZkFHVEFPbkFrb1lrTE1oWUFnUW9paVVJZVR1 dDNVNVpFU2t4elpMWjB0Y3gwdFd6bGE1cWlaTGRXTUZvVFNXRXM1dDVBY1cyNmFZZnh2a1dZQTc2dlk5Wmoxa2ZFQkpuWkk2TUZncUxRNFZMd2pVbG9jcml3 UGw1WkVhNnEwMmhyTjE4QkRJVDBVUUl3aFFBQWNJNFFFT0FuQldQd0ZJNFFOaERXR0dSajdZczRCT09JQW5BRUhRSUFSeHFvaXVUeEtXb1l6dDYybll4ZDNw NjRKWGZKZGJkdkhjTXM1SXNTK0lXK0c4YjlBbWdHOEY3RndHMmNlQXdnd0dCOGdGS2tzRDI0ckRCUnM4bTNlNk4reUlWeGF3dncrSG8wZ0RnZ2pqQW1tRkJG aUFSWFp2RkZ4MitOOUZHeHpaWUZvSmdCbndCZ3doZ0NJTEV2SmFZbmRlcVVOR3BiYzd4aDMrMDZZRUVBSUdNTm15NXUxOGI5QW1nSGN0TmpWbFBGMzRBZ1Fv aFNiRjRUTFN3T0ZXM3diMXZnMnJRdHMyUmd1MjhsRFFRQWdrb3dsQ1ZOcVlzUEUvaTVEYlhKVHdYcVFBYTNkKzV5TXJTd0FtS3pXT0FSaUxINEt3SUhwUEJw RkNDbnBHVWw5ajhrYWZXYnFnQ0dTMDJtSGNUT0dqM1JwQm5CanNjOXBjdytKTURGMmxTd1M4UmRzYXZoclJjT2Z2L3NMTmtUS3kxZ2dnQkJnV1NhU2pBbEYy RlRSVGQ1Wm9FNEFSc1I5RVVJSDZpSzJSNDROTTZFUkZERUdoRURYV1NRc3VkeUpQZnBrblRvdTY1UXppQ3h6eHJDNVhSZFd4bDdqVXMxeUdFb3pnQkdLOTBz WmtBQVE3bC94b2Vieit0YXZydjl6UmQzdnYvbzNydFc5RFFnQmtTUzhHOUNDWGQrYW9EMmsrTEFiK2RpTVAxdXJCaVlFR0dPUkNNWTRiZGdKYlM2N05ybG4z emhWTEJhVVpoZ2ZhZElNWUp2S0ZYL2ozUElrczBqWXQzNXQ3ZktGdGNzWCtUZHYwSDFlVENsVlZFUXBGbmdCaVBOdllmRWhGanZUZndvS0JwZ3R5OXcwdVRF bWdFQVArTlhVOUp5ekw4cTk1Q3JKNmVKTXg0UUs2RUl6dSt0SWsvOHdnTTJlV3lvWEFFUUFCaEFLRmhYV0xGbFF2WENlYjkxcXpkdUFLVEZ3SzY0MHdHa2c5 Mjlhd29kT0xMMEt4c3BpeEtXNXJ2Tm9KSDM0U1oxdWY5RFZLcGN6M1hDdFlZd3RDNzlaamdUNUx3TFk2RExHMkJZcEZTcFg4elkwL0xXeTZ1ZTVOWXZuUnly S01NWkVVVEdsaGhLekZGUU11ZjkwWi9aQmpPWEdRTE1nVVJQQVdQZDdQWjN6OCs1L0lybDNQeTVzYVdNMWFzYndFU1AvTFFESFc4dUFlQ3dhRk5pMnRYcmhU MVUvZmV2YnVJNEhnMFJWc1NSaHk4Rmp0MHN4UGd5VjdWN0ZYcmJCY0tRUndvSkJSMWJMYm8rL21Oem5xR1lNSDRueTN3Q3d6Vm9XcHJMbG9PS01lVmYvVWZy MVo3VkxGa1FxeXpFbVJGVVJJWmh6dy8xai9iWkpOKytSSlpiYjJuS0RVNnFIUXM2V3JYdSs4TGFuUStjNERQL1RqVzJXZlpGL09ZQWJoM050MEkwMk5OVDl1 cmg4MXBmMXZ5L1QvVjZpcUZpV3NmMG4xb3ovUjd1QTdNcndZQ2pHUnFRVVRLa2U4Q2YxNmQvajZkZVU5SFRnZ0sxMTZwL3VlclBzVmY3TkFMYkNtMkRHZU1S R04xeFJWakYzZHVYY2IzeWIxa00wU2gwcXBoSnd3TUR0Y0QySTRCVmx4UUFEMm9XT2lmYVRTR0ZMbG9pN0E5b2YyNzR4c1l4UzV2ZTFIRCt4eXoyUENjSVdi blpvSFNIeUx3UndJNjBMbkZ1TWhXREpqdkt2UHkrYjlVVzRyTVN3bG8yTEFHTUVLR1plSGlDendyNVB0ZzBzUmdnd3dvQmo5OTJkaW9QRytMS0o3ZWRXelVI NzY0TllKY0xZZytOK3RrdFRiWjl3VGN0LzdQbXNVYWR4eGhBaHBObVFQaExrWHdYZ1hReG1EZ2dSUWhGQzNvM3J5K2Q4V2ZYanQrR2RPN0FzRTBWRnR0bVB6 Y2wvWURPMmtWYmNsUTVsZ2dnakFPQWNBVGQ1eTl5SUgxczNNWCtMTVVZSUEzQWJjOHNHVDR3eG9aZ1FUQW5DRkZPQ3JMaDBIS1NSV1dDMENaS0dGYWtHQUV3 SUM0Y1R1dmJvOWZMN2NuS0taYncwVXpzT2MvbVhBTGd4LzlGbU1IdlhyUzZkOFhIVmdoK2lWUlZFVm9nc0M3YUdGUkJDKyttZE1uVlhyR0pHM0N5MzhaK0Jj K0JjSkJnQVk4QVpsbVNxS0VSUnBZUkVLVGxGVGtna1RpZDF1cW5MTGJuY3hPa2tpb0lWQlJPSnFpckdtR3M2TUFZSWdHazhGR0tCZ0Jid001ODMybERIZkQ3 ZFc2LzdmVHdTWnBFSTZCcW1oRkFaeTdLTmhoMWJWa3dZeDlrQjlxVUhVNnI3ZlIxdXVxZnRwZGNBWTBBSWFVYnZZUzlIUElDYmNGTlowTjJ3ZHVkbkgxVDlP RWZ6MWhORklaSUN3STJMYmRHVWZaeWhFRi9qSnM1VksvTDFBWUJ6WURyWEdlSWNJVVJVbFhvUzVLUVVKVFZWemNweFpPVTRjbG81c2xxcUdabEtjZ3B4ZWFq RGdTWHBBTlErMTZJc0hPSEJnT2IzaGl2S3d6dDNoTXZMd21VbHdhTENTUGxPemRzQTBRakdCTXNTbG1XTUNUSlQvSTJkdURWa1J0Y1FRb0F3NGVHd3UzTitu OWMra3BPVGtSVXRiOGJ3WVN4SE5vRGo0cm8yS3BWMy9aclNHUjlYL2poSHE2a2lUaGVtTk5aUEcrMXhILzA5cUVrbGJZR1dNYTVyb09zSVkrcDB5U21wYW1a TFI2czI3bllkM1IwNk9YTnlsZFEwT1RHSktFcVRIV2hNbkk1L2NoT2JjY08wYmJydHV0OGZMaThORkJWNjEvN2wzN2cydUswZ1Vsa0J1a1lVRlV1eXlWeXhK ekxHNGtxQ1B3MEEzUjZibGpGaWxQQWROQVA0TUpjakZjQzdnNjV2eThhU1Q5NnJudjk5dEtiS2lBeHhibWRRb1gwckVHVzVvMHlQbHVWendnZ0JNTVkxRFhR ZEVTeDVFaDNaT2U1T2VRbDUzVDBkdXpoYTVTcnBMU1NQcDNFeXZxQjhDVGs0UVJwTGt3cTdBeU9DTVk0VkEySGhjTGlzeEx2bXI5cmxpK3RYTGcrWGxTQ01x ZXBBaEZoYlpTdUgwUmdUVExTQXI5VlpGK1hkOXhod0R1SjJ6UUErak9YSUEzQ2o3UzV3THFBYkxObFI4c2w3RlhObUNPZ1NTWUk0SDFVc0lyS25WRnVMOFdH YTExWk1CVGpuV2hRMEFkb0VSMWFPcDJ1UGxLTUdlRHAzZGJUS1ZSS1Q0aHZKRVpoaDI2YTgyazE2bVJzM0I0eDdtYjlwcXVHTjQwa3h6VzJsUUNLRVFqdUxh NWY4VXZIRDdJYlZLM2s0UkJ4T1FvaEJhSWtsOTJORU1BK0hFN3IyNlBQR3g5U1RZSkJNbXpGOEdNc1JCbUI3N2p0d0xsTGhvdlYxcFRNL0tmMWllbkI3RVhV NGlDUWJlMTJMeDI5WE1ydS9zMzJteHVFMkd1VmFsQ2lxbzJYcmhMejh4SjU5RTd2M2RyZnZxQ1NuMm43T0VZZkdxdFVXVElvdEhxYWxpaHJoMkNqUWd4RkNp SkMvZ3hpTHNpSjZoVEd4a3F0cWxpMHFtL0Z4N2ZKRlBCeWlMamNDaElEYlZURm5qSG9TZXIvOFFXTFg3Z0FBU0VTVW11VXdsU01Ed05aV3NaSE5ESnhYZlBm MWp2ZmY4RzlhaXdrbHFob3J5TGczMEVMODNXTVpSUmdqaERsbkVJMXlwbE5GZGVhMlMrNDNJSFhna0lUOEhvN01iS3RtblFnSUlWRnJ6cFJZRmNnOUVDRnNr U0ZvS2tvTENHa045YnF2UWF1dmo5UlU2L1cxV2wyTjd2VWErMjJtZzZZaFFxalRKYms5eE9VbXFrUHllQnpaT1dwNkN5VWxWZklreE4yTmMrQU1JU3pZM1V6 VDZsY3NMZjd3emRvbEN6Q1ZpS0lhd1NwenZRRUVQWjUrUFczd2NVWVpyV1lOZkJqTGtWQlcxcDQ4eERrQUoxVENDTlgrdnJ6NC9kZHJseXdBcGxPSEU0bFVY cFBBdktlOUxrRHNaQU1UUzRBUXhnU0FzMGlFYTFIcWRIbnl1cWYwUHpibHFBRUozWHFwYWVuV1Q0RXhoQkVTK1hkRXNvZG43V1Z4OWpUdll4b1lJd0FXRGtm cmE4TWx4WUdpZ2toRldiaDBSNlN5UEZ4ZXBubnJlU2pFUWlFZWpTRE9FQ0JFTUNZRUU0S01JREFWMjNKaEwxQ25rM29TbExRTVIzYU9zM1ZiVC90TzdvNmRY VzNhUzU0RXNlaHdYUWNBSWtscHh3NUw3amVnZE9ZbnhlKy9GaXJlVGwxdXd5R0hNVWFJYTVwV1gyZXJKZFRNeHpwODVYRFh3QUNBTU1MSXNwa3h4aVJjWHJy OTNWY3Jacy9VR3Vxb3kyVk9OVEFRczNzT1pDeTEzWFplS2picnp2QklHRkhxeW0yYk9tQlkycERqRTd2M1VsSU1JeGtFZnF6eXpsWTlLdkgxL3M1dmM5Q0Jz M0I1V2Fpa09GUzZRNitwQWM2d3JCQ01BU096cWhiaDBZanU5N0ZnUVBjSGRGOUR0TG95V2xlcmVldFp3QS9SS0RDR0tjV1NSQ1FKQWVLY0lWMWp1bzRCWVZt V2s1SWRyWElUdXZaSVBXWndjcjlqUkhjNFk0Z3pMQ3NZb2VDMnJkdmVmcmw4OXBlWVlDTEppSE1naEVYQ1hSK1kybkxzMmNDWTJFaWd2MlhSTjhzaGxNTVl3 TGE2TUp4ekJKeFFDUURLNTh6Yy91YUxnYTJicWVyQWttU2VTeEIzaG5HVFJpbUtvZGZrU3hJQ25QTklHQmlUMHpKU2pocVFjZnlvNUg3SE9ES3pqVjh4aGxB TXQxWUc4UUhpZHBldWlRMDJwcFRJOGo3OWpuRVdEZXQrWDZTeVFtdW9DeGZ2OEJkc0RHNHRDSlVXUjZzcWVDU01LU1dLU21RWkFBRm53SFNJYXNBWmNUaWRy ZHUyR0g1UzVwZ3ozZTA3SW9RNDB4RUFrV1FBMlBuNWg0WFRIbWQrUDNVNEVYQ202OTBlbTVZNWNnd3dIUkdLRWRqM0NNMXlXTWxoQ3VER3ppcEtNVUxlOVd1 MnYvTksxVS9mSWdEcWNJTGRZTjRERGRKYUNPeWFtUkN1YWNJZjYrbVNuejVrUk5yUUVRbjVQUXhpZzdpem1WaUg0cDI5QnkzRHdXNG9pUHhrc0FlSHJPZlov dGRVVkpaRklwR3FDdittOVEyclZuclhyUXBzMmFqVjFTQk1xTk9KQ1FYZ0dHTmduR3NSMERRMXEyWEdjYU5hamo4dm9VcytJTVExRFZOS0NLbGJzV3p6MUFj RG16ZFFweE00OUhqdWpkU0JRODFTMGtkaSt2Ti9SUTQvQU5zTHNwazdYaGFKbEh6OHpvNFAzb3hXbGxrYk5uRTUzaTNqb1hIQUNXTXNFTU1pRVI2TnFDMnlV Z2NNeVRoK1ZQTFJBNVhrRlBOeGdHMG5rbGlydzBIZUJPN2ZvV2ROL042SVVTRWtLSkRXRjNvbzZOK3lzVzdwd3BvbFAzdlhyWVpvaERoZG1FcW1zdzBqVFdP UnNKcVpuWDNhaE55THJwS1RrampURVNBaVNjSHRSUnNldUtYdXQ2V09scTE2dmZSK1FwZDg0Qnd3SW9nMDQvZXdsY01Md0UwcVh0L0dkWVV2VHEzNTVTZWlt blJJeTA3ZXpYYTNNVFZhbEdYa25JZkRDR05ubS9ZWng0M01PbVdzcDNPZXVGN1VXRFgzdzRZdGJuZHhIWXF1TnNwWWlvbklYVUp4RnpTUm1tVEh2MFhNTU1H c0I0TzFTeGFVejVsWnYzSzUxbEJuQkg3TjRrRmNpN0p3T09Xb2dSMXZ2VCtwZXk4dWFzRkxVcmk4YlBXa3k0Q3pmdTkvVFZWVnJCUjQ5d2M3TmNzL0xvY0xn TzBaTThMVFN5UkpENFYyZmpHOStQM1hJaFZsa3N0dEdMZDJCbTlUK0FVN09VSFVjR09NaDBMRTZVenMwU2RqeE1rdFJwenN5TW8ydDlhQUNjWUlXNTVoTEZK M0QrTXAyOFFoTDNaQWM0NFFJQ3FKYStwWC9scnk4YnZWdjh3RFhhTU9oNUgvaERFbVJQZjcxYXpzdkFlZlNoODBqRE9HRUJBcStUYXU4NjVibFRQdVBEQnJn QjNPUTlFc2h3dUFZK0VjTG5JQWliOWcwNVpuSDYxYnZBQkxFbEVVNDVndk0rVFR5R2FPbmU1cE9wcUV3WXdZWTZFZzlTU21EaGlTZGRyNDFBR0RqWVhBREFW WkpaSDNFdmc1ck1Xb0V4Q2YxUkdyandzY0tuK2NzL1hscDRLRm15VlBRc3p0UnlrTGg1VDBGdDJmZkNXNTkxR05TcjFiTi92bit0VXNlNWZEQU1BbThKRE5i SzZZTzZ2d3VjZENKY1dTMjIxcUZXeWs3Y2JQcVRqM3NxVjJDZUZNNStHUWxKaWNPbUJJenRrWHBodzkwQWdYMmF6bEdBSHJTSVZ1dklCUmtzQzJlVUJXUFlQ Z2ptMWJubnlvZXVGUDFPR3dZdGNpRGRpWjI2N0gwNjk2T3VWeHpvMWtTTUdYYnE0VWZkakxQd3hnYTdaeEFNUVlrU1RONTkzMityU2RuNzRIdW00eHEvYmdZ RGJNYWN2cFJBbm9PZ3VIcE1Ua3RFSERzODg0SjNYQVlJd3g1eHdESUdKUWs1cytXT2hmSS9IR2lGZ1ppU1N4YUdUTGs0L3MvUHc5cWpvd0lJNEFJNFFKMVlP K3BGNUg5M3orTFRrbE5VWXB0Ymd1elhJWXl6OEo0SmpXNUZ4UUkzMmJOMng1NG9HNjM1ZFRWY1dXMDBWY0xKcHIvVGFlNml5VUJ1ZWNoWUtTMDVVKy9LU2Nz eTVJN3RNZlUyTEZoR0o4eWYvSUdTTDIrSmxReFpTQ3BtMTg1TzZ5R1I5VHQxdGtSMkdFRUtXNjM5LzJpaHM3WEgrYlNFSXk5UEMvZm9pT2ZQbkhBQnc3bU10 ME5WWDkvT1BtSis0UGx4WkxMamNBV05ZYjdMTGRqYm03aEp1VUVBQmdvUkJ4T0ZMNkQybzk4YkswZ1VPUTBPcUN2Q1Y4Vk5ZUC93dm9OY1ZlSEZla2Y3QkFZ TTF0VjljdW1TKzVFb0F6QVZTbWFjNldyWHEvT3QzWkt0ZllKUCs5aElwbStkL0lQOENGM2pWV2hEamYvdUZiMjE1NWhvVkRrdHNqZENiZ3hqdXdlT2dpNDRR QmdsZ29oQWhKSFRBazU2d0wwNGFOb0xJc0RHWkJHNGIvbE5iZFJXSU1GZ0JFQ0hBdWVUeWRibnRnMWJiQ2FHVVprV1F4T0VSV1FqdUw2Ly82M1pIVEdnRUFJ YVNaQW4wa3lQOGF3SGF6VHFUeTZzSEFscWNmTFoweG5VZ3lVUlRCdnpYMmI3dWkxM0lhWTR3SllaRUlNRDJoYTQvY0M2N0lPR0VVZFRnQmdGdG5XUCszb1J1 VFdObytBQ0djTVUvN2pxM092cWp3MlVkQlZyQ3dtVEVHWFFzVWJqRitjWGlVeEc2V3Zjci9GTUNtZzBSVWpPU0UwdERPNGkxUFBGQzE0RWZxZEdLRU9PZkVO bW5pNHIxV0VvOUJSZENZcHJuYmQyeDU1bm5aWTgrU0U1T0VoeGtSUWdocGhtNWpNYTFvZ1dRQWFESHExTEt2UHd0dUt4UzFma0JFMzROK2pER1lPK0IvdXRI TnNuZjUzd0U0M21YRkNaVWExdnk1OGFFNy9KdlhVNWZiZm5TWTNWOWxLODV1MnN3STlFQkFTYy9JbVhCK3kvRVRIUzJ5QUNGZ09oSnA2ODNRM1ozWUM1Sndj R2ExVEI4NlludkJKcVNxbUhNRUdHRXNKU1diWG9sL3VyWE5zbS95UHdLd1pjRUo3eFNoVXRVdjh6WTljbGUwcXBLNlBjZzZpTWk4SGpkbE15Tk1XRGlNQ01r NGFYUzdLeWNsZE81cXNTQkYrWmgvZVhEb2J3czJUek1HQkFnZ3BmK2dray9lUVp5TGNhT3FJN0ZyRDR3eElBd0lOZWNmSFJIeXZ3Q3dtVDhQUXAxaVNrdS8v bnpMa3creFlJQTZuRWJTcVpWVmJ5VUYyaExmaGMzTU5jM1R0WHViaTYvT1BHazBwdFJpRHNYcTVqVDdYZllzOGVjWXU5cDFrTk5hUk1wM1V0V2hoMEtKM1hv bTlUNEtiTHZsNXFFOC9PV1FBOWpLbndkdStKYTJ2Zk55MFN2UElzNkpvb2d3UmlOQ0ZUTHpDQ3grcFI3d3kybnBiYzY5dE5XRTg1WFV0SmlueXB5VWh5Um42 TjhvR0lDYkFKYVRVOVhNN1BET0hXTGRiRDN4TWlVbGxYT0dNY0hOaFRpT0VEbTBBSTZ6bkFrRnJoZSs5TlQydDErbWltcms0c2Z6Tk13NlVrYVpWSXdKaTRR eG9TMU9Pclh0RlRjbWRCRTJzNDV4czZmcVFNV3ExQVZBWFM0bFBSTUI0c0ZncTNNdmFYSGlhT0RjWXFvZDVnTzZLMy9CNG9BZjltMC9tSElJQVJ4REwrZVlV aDRKYjU3NlVPbm5IeEtuMDU1WFpCMEZacEVpRVFEQ0JBR1Arcnp1anAzYlhuRmo1c2pUaUN3eFhjY1lJMHpBWkFoaUszRjNuOTljWEJRNk5nbnN5MGhNWXZj L1hLZkZubms0VnJFRHE4dGNNR1RFdHdBSVk4MWIzL3FDeTl2ZmREZWlsSU9vc1FkV3VNOGVnZHJsV1kwSDdSQU4xNjZIeGRtK01qWm81amt3ZXk2cDlDK1VR OFhFc3FPWFVNb2lrVTFUN2kyYitZbFJmYzUwV2RucnA1dlF4UmhqRmc0VFN0dWZkMUh1LzEySGt0TDIrcUQ5YXRYQjZlRmhJTGJGQ0lGWkhWYUFrQkJyS3Ur K25nYncxVmROVkZwazVkMDdCYW1PUFQ5b1g4ZHRYNnJtNzQvRUw3aTJBMjR3b3JaNnR6RmkzK0c2MUI0aU9TUUFib3plY0hqVDQvZVh6ZmlZdWx6R2V6RFJp K0pkelpoUTRJeUZRZ21kOHJJdXZhNHl0enZuNEZhb3c2bEtWSkpsaWduaGpHdTZIdFgwWURDY205TWlKU1hCMnF6dHV3WkdDR21hdm1YclRsbVduQTVGb2hR aHBEUE9kTVk0ajBRMWZ5REVHZXVlMzk3dE1tYjI0VFl0WXFWcEFjejZQL1p2WXpzTGE4Z3JLbXNMaW5ZNm5RNjNVMVZVQllVQ2dUK1h0eGgyb3VSeWNWM2pI RVUxVGROWU5Lb0ZndUZ3SkpyWHNYVnFhcUs0T1dOODNZYWlVRGlhbk9SUlZVV1NDS1VVT0djY0lwR28xeGVNUnJXdWVXMFNFMXdvVmtUMDRIVzJxV1ZCMDdT eWlycjFtN2IvOFBQSzhhY05PYlovTjhhNG1XbDJlTDJzUXljSDM0UnVoRjQ5NE4vMDJMM2xzNytRWEc3VUNMMm14d3FzMC9HQ1FhcXFPZWRkMHVIL3J2VzUw eDYrNDdrdFcwdTM3aWpYTk9ieE9CVkpJZ1FMZ0hFTzlRMytDODQ2NFlVbnJnWHoySVU5S3dvTHVweHpTdW4zUDYyNGZOS3pEb2VpS3JLaVNBQ2c2MXpYOVdB b2dqSHUwSzVsVG1icTR3OWU3bkU3T2VlSElZQ3gyU0ZCZlB4emRjSExiMzFUVVZXWDM2WE5qVmVlbVoyVmF1VUdXZ2hmdDZIbzZaYytyNnJ6RjIwcmN6cFZw MU4xZWx6MDljV2laN3JHSWxITkh3aEhvbHJIZGkxYnBDWGRmZE41eDZRbGNjNEFpTTdZaDUvK3VIemx4dUxTYXAxeGo4ZEJDY1VZMWRUNkdHTnRjalBiNW1R OGZNOGxTUjQzQjM2UTdXZUVCTE45ZTNGbFJWVnRiWjIvb0dqbmhzMDd0bTRyMjE1Y1VWWFQ0UFVHaGcvcWFRM0Z2OHpPMnJNY1pBM2NHTDNCNElhSGJxLzg3 aXVMcWhHem5JMTBVeVRPeFVNQWV0Q2YwTFZIaCt0dlR4ODZRdVRjYzRSOS91Q2Zxd3Z1ZWZUdDFldTNxWXJNUlhZclJvUVFUV2VwU1o2NVh6N2VzVjFMRG9E MzRRd0JNK1NKQU9EOEs2ZDg5ZDJ5Qkk5VFoweHMraWpGMGFqZXZrMzJZL2RkZGt5L3ZLUWtEN1dwdGNOdFRvQkJpVUdFNE5YcnRrNjRaUEwya2twRmxzS1I2 UEJCdlQ1KzQrNjAxTVI0a3hJakJKck9xcXJyWjg1WjhzalQweU5oelNxNmpSQUlOWnVjNUhuNHpvdEdqamdxTFNWUmtxajlpWnhESUJCYXZuTEROYmU5VUZW ZEwwdVMxeDhjUEtENzlaZVBQYVp2WGtaR3NpVFJneDZIRjZzbklTUWExU2JkL2ZKUEMvOHFLYTFpakJOS0NNR0tMTXN5MVhYKy9zdTNqejdwR01hNEdabzR2 RjdXb1JQNjRJTVBIcXg3eGZtY0tlV1J5T2JIN3EyWTlRVjFlK3pvalVzRHhBZ1R5cU1SaEZITytJbGRINXlhMkxVSDV4dzRKNFJnakowT3RWMmJyTzU1Yldm T1dRSUFra1FKRWQ5Z1dhYlZOZDQyclZzTU9DcWZjMjZoZDQvVktRMWR0SFpEMFpUblB5R2l6RFFobEJBcUVZSUp4dVRscWRlZmNtSi9sMU8xMytad25CQ3hE QVU4ZGRwblAvN3lSM3Bhb2lSUmo4dXh1YUNrYzRlY1BqMDdjczR4dHNpcEdDR2doQ1FtdVB2M3pXdndCaGIvdXRidGRoSkNKSWxJbEVxU0ZJbEc3NzM1dkNz dkdlTnhPeHVIZ1FFd3dRNkgwcUZkeXo5WEY2N2J1QTBBcnI1a3pHdlBUT3JWdlVOQ2dvdkVEOUZCSFRFc2txTUdISjEvNFZrbjlPblphY1ZmbXpnSGg2cUkx VnpYMlptakIzWHUyQ3BXVmY4d2ZGK0hSZzRTMzhZa1FscUZsSGdrc3VteGU4dSsrVXlLUjYvNDJ1YXZJcHJmNTh6SnpaLzhUSmQ3cHFqcExiaXVZMUd4V1ho Tk9XZU01K2UxYWRzNk14clZ4THNVS2xUZ2VlYWNKVjVma0JKaVBYcDNEYlRlSzhaNDV1d2xOYlZlU1NMbXJSQUFSRFU5TFRXeGQ4OE9qSEhHdVBXVHYxRSs4 aENLM1lOVlhsbXJLQkpqbkhNQUJKU1NrdElxZ05oeEtlYXVFQU9BcHVtYzh5RUR1a3NTWlp3YjQ0a1FZOHp0ZEF6c244OFkxM1ZtNzc0UnlRZmduR3VhN3ZN Ri9mN3dGUmVOZm5yeVZRa2VsNjdyM0NyVGM3RDNuOVlOTWNicHFVblpXV2xualIwMmJzd1F2ejlram9OeDNVRjg2QkVrQndmQVlNNXlBOGFjYjNscWN1bk1U NmpUQlJaTjBnS1lFUlltd0pnZThMYzRmbVN2bDk3UFBQbDBBQTZNRVVvRjN3TWI4dzVSU2dqR1RvZkNPZGlER1p5RDA2bit1YVp3eVc5cmhmZlZYRW1hQUpz VllDQUVWMWJWZi9YdFVwZFQ1UndNVnhvMi9MZUtMR0VqRTlhWUVIdGVGLzVCc1E5NDcrNGRnc0V3UXBoU291c2NBUHIyNm9ReHhzZ2VCRElHUVJnd2xCTEpY UFdNYm5KUUZHSGhXQndaNnlBcUszNk0xMjNjTm0vaEg2ZWZjdXdqZDEvQ0FSampsRkpoeXh5SzRSS09kR3l1NXByR3hJSk9LTEZxTWYyWDVTQUEyRWkrTjVt U3dIbkJNNCtXZlBhZTVISmF4eG9oY3kwVmcwNG8xY01oNG5DMnYvNk83aysrNG1yVHRwSGl0V2xzaEJEQ0JFZWlXdGZPdVprWnlack9MUFlISVRnYTFXYk1X aXpTbUhablBwbXRBdzZBTVo0N2YwVjVaZTNvRS9zenhvek1SVE9vYklWTVJRMXBTLzcrS0IxMHNab0dBSmVlZi9MWVV3WTFlQVAxRGY1b1JMdis4ckVuRHU5 blRYMnpMNmlSaFdrdk90a29oR3NpMXJvNHRpdysrY0puQ1I3WGM0OWRyYW95Y0M0MkxvQmlKU3dQdWdhMkx3cGljWkZsaVNCUmZQZS9Mbi9iQzIwU0JRdzJC YVZibjV0Uy9NSHIxT25DRUVmU01DMGRBZ2gwcnpleFo1OE9OOTZWT21Bd2lJUUVTbU9VWm52cWpIaHRtSVREMGU3NTdaSVQzYSs5TzhlaHlFS3RDeVg4NDRJ L05oZnU3Tkt4bGZCUjdZcGhqSTJqUHlrbXVzN2UvM1JldDd5Mmc0L3BQbVBXRXJmSHdUbGdzOWlPL1VkL2QyUU9zZGd6cTlOVEU5OS81WTQ1UHl3dkxxM3Uz YTM5OFVQN1lJek1QRi9ySkpuOUtDVnZYaDl6Y3dJQXBmVHI3NWJPbkxQazNaZHViNXVieFJpejZCT0gxRWlKSzgxdkdIRUlNT3lHM1BIZmtyOEY0RmhKT3M0 UkFLRzA1TE1QaXo5NG5UaWMyQW9BeElWNUNkZDFZS3psaEludHI3MVZ6Y2lNSlNSWWxHYVRXV1dmRUVZaU1NTG5uSG5jaDUvOXhEZ1grZjRBb01oU2VXWGQ3 TG5MOGpxZGhSQVhaOHJiNTVPWTZNSmpTd2orYTIzaDRsL1h2dkQ0dFc2blF4TlB0NlhaSGJiNmRsZXgwZGd3NStCMk9jNGFPMXg4WlZrd2U0QldrejF0OUdI c0REWkFoSkNLeXJxYjczMTE0dmdSWjQwZHhoaXpWUGMvczhWb1ZyOElIUVFUMmlUSUFLRzA4dWNmQ3FkTlFaZ1E2MHdERzlVUlU4cENJY250NlhMM0kxMGZm RkxOeU9TNmpnbkd0bXRpTWVGNGtxQW9TaGNLUi9yM3pldlZ2WDBvSExHY3F3QWdTL1NiNzVaNXZRRmkyOVRGV2hpcjdZRXh4cC9NK0RuUjR6cHp6QkJOMTRt dFNOWitpWm1RMTRUc1lSOSswTVZDS1NFWUFCampqREZtUnEwdGZYdkFUVEUzRjhKRVJqZmQ4NHJEb1V5NS96SWV2ejd1STNvYmpjL2ZHYmUvdWN6dTJvejll cnJsUTkyMVU3djJyc2s3NzI0YzlzcU4zVlVPSE1DMk5DTk9LSzFmdFhMVHczZXdZSkJJa3FXWll6cUNFTTNyOVhUSjcvN1VxemtUemdmZ1hQaXJNQWI3RW02 RWVURTBNb014eGhqck9xT1VqRDl0cUwycndvcGV0Vzdyd21WckxGZFdJelVpaEJCY1VWbjMrZGNMeDR3OEpqVWxJUnpSckxydSs5aGYrMEJ6RU5FdTRERUJ6 b0daL3RqZHZVakxGYmVyMkwxMDlyODArZ20zVFFqNy9RbkJJc1RHQVJpM2VkRVBkRFVCQU1DSWM2Q1V2UGpHVjdOLytQWDFaeWFscHlVQjN3OEhnYjJGSXE1 cmpodll4NDN2TW00SDF1YTlOc09jTnZabUFHTjdlWHI4U3pITnk3Z0pBQUFnQUVsRVFWUytaWnh6YnZ4ZGpJUDludFlmYXpHTmIwQVRWNHE3N2RjSUhDQ0Fi YjVOVGlnTmJDL2E4TkFkV2wwdFZSUnhJSUI1L2hhSUV1RjYwTi9pcE5FOW4zc3I1ZWlCNGpRdHM5eWNvUm1OZzhVSTRicXVoME1vL3BRK2JGamlHQUJPUFhs Z20xYVpVVTJ6WmcvQk9LcnBNMll2NWh5SWJiQWFNV2t4eHQvKytHdGxWZjNFOFNQQUxQQ3hMM3RkNDI3bTQ4UW9FMElvRlg4c0laUVNTb2l3YVMzMWFEZGx6 ZTFDYk9yYnJ5RXhleVRPQUxZK0Y5ZGI3anA3QzhYckY5ZFRZalREcXBaOVlLOVlUSFJKb2ovOThzZWRrOTk2K000TEJ4M1RuVEZta1NYMlBNbkV1Rms5RWxQ Wk5tN0VQbTdFSERlNytYQlFVR3h2UmxPdnovaGp2cldtOFdaZmYrUEdtY2JjNzV4elFuQ2oyeEtDR1dOMkQ1OVlnbmU5VWx6Y2FBVDIycnNEMmdQSGhYeUpI Z3hzZWZ6K1lNRkc2dklBWjdISUl3QWlsRVVqbUpBMmwxM2YvcXFiaUtweXBvdnFHZGhHNUJWRm9URkN2c0xOTEJSMHQrbUFWTUhtdFN0aEVIT3lkY3VNazQ3 cjk5cDdjOVJFV1N5Y0hNRGxWT2N2L0hQamxoMWRPK2NLVjViRjZ4Q0RRQWlKUnZYM1AvM3hxRDZkQng2ZGI5cUhleCtnV0Q2QU1lNmlwYWlrdEtxZ3FMUm9l M2xGVlozZkgxSVVLU010dVhWT1JrN0w5STd0V2laNFhBZ2hpeGhrcFJrME5QZ3h4b29zU1pJa3k3UlJkRVRUZEFZOEpjbERpSlhnakwyK29LYnJIcGRUbGlr aGhESG05NGNReGttSmJudGsyMnB3T0JMZHNHbEhjV25WU2NQN09oenFnZkg3QlNlUmN5NVJXbEJVZXZGMVQwNDRiY2dOVjUzQkdOL0hyYS85cUF5aHc4Vitx Mmg3V1VGUjZiWWRGZFUxRGNGUXhPbFFNbHVrNXByanBxcUswR3drTm9QLzFsN1hlbjFXTThUcjI3NmpZc3ZXa3UwbGxlRndORDB0cVZQN25QWnRzNU9UUEFn aDRaeXpkN0JKZmtnZ0VOcTRwWGpoMGpWalJ4L2JwblVXSVloUzJ1RDFyMXE3dGFDb3RLN2VyeWhTeDNZdCsvZkxTMHRKdE93TFFlTkZDSlZYMUs3WlVGUzB2 ZHpuRHhKQ0Vqek85bTJ5ZTNYdmtKYWFLQzdic3d2RGt2MEhzSzIraHJoeHdYTlRhcFlzb0M0MzVneXNod0VDU25rb0pDVW1kcnIxZ2V6VHhwdForREgwZ3Bs cFNCQ0tWSlJYenZ0V3ljeE9HemlFdWozaVFCRDdZekV5b2hvQU1PSDBZUi9QK0preGJpSUxaRmtxcjZxYlBYZDVmcGMyc1hNYWpIa21EZzBsSy83YytPdktq VTg5ZklYVHFlNjd2OHJLeUJOek9oZ016NXl6NU10WmkxZit0WmxTMGlvbkk4SGpwSlI2ZmNFMTY0dDgvbUI2YW1MSGRpMVBIVG53NHZOR1pxUW5DUXdiMm95 eCt4OTVlLzdTTldtcGlXNlhRNUlvcFpSenBtdE0wMWt3R0FrRVEzMTdkcHoyeEhWdWx4TkEwQ1RSOU05K2ZPdkQ3eDFPTlRuUkl5dVMxeHVvcnE0L2Q5eHhk MHc2VjdCY0lsR3Rvckp1MjQ2S3JkdkxWcS9idXFtZzVJL1ZXL0k3dHpsaGFKOERkaklKZFVRcHJhbjFudnQvaitaa3AwOTcvRHFNTU1LTjUvVHU1NGpaYXdC S1NYVjF3NmRmLy9MMXQwdlhiZHptY1R0eXNqTmNMcFVTWEZYalhiMStLOU41Um5wU2Z1ZmM4YWNOUFcvODhTNlhnM0ZPL3JhSHpDcW5peEFJNUlURDBWbHps OCtZdGVpWHBhc0pJWG1kV3F1S3ZHWHJ6dEx5bWw3ZDJvOGNjZlQ1RTBhMGI1dk5UWTZxcFFOMW5RVkM0Ym82My9iaWlvS2kwci9XYmwyOXRuREwxcDBWVmZX dFcyVzBhNU1kQ0lSZWVXZlc2Kzk5VzFCVUNwcE9GTm5sVkFraG5UdmtUTHBxM01RSng0dVZtbEphc0hYbk15OS8rZjM4RmFGd2xCSmNWZE1RamVvZWoxTWlw RU83bHY5M3dTbVhYVEJLbHFSOVpPRHZONENGcjVpYmZxbVN6ejhzL2Z4RDZuUmltNmtoSXJlYXorZnAwS25MdlZOU2poNW9MMytEVExJMHdsamtLcFYvL1Zu dGIwdXlScCtaY2Z4SXNIYkNUWGhmakFuUnYyK1hvM3AxWHJCMHRjZnRCQUNFdU1Ed3JMbkxyN3BrVElMSFpld0piYThmWXp6OWkvbHBxVWxuakI1c24xNzdN Z2tzamJTNXNHVFNYUy9QWC94WFRsYmFYVGVkZThxSi9iTmFwQ2lLTEs1Y3ZiYnc5b2ZlWFByYnV0WHJ0LzMyNTZiUFp5MTgrY2tianVyZG1adUxFU0hrOXB2 TzdkcTE3ZVNuUDZxdjkwbVN4SUJqaEFuR09tTTUyZW1QM1h2Sk1mM3lIS3BpZXQwQUlUUis3TEErdlRzLzkvS1hYMzIzbERPZTE3bjFBM2RjT0toL1BzWjQ1 YW90OXo3eTl2YVN5a0FnSElwRVE2RW9Ra2lXSmNhWTA2bkczT3Y3QXdCcmgwWXBpVVNpVjkvNnZNOGZtdlhSNUtSRXQ1MXB2T2ZCTTArRE1PNno5TmQxays1 NTVhODFCZDN6MnozMzJOVkRCL1pNVDBzVWlvZ3h0bkRwbWx2dWY2MndxSFRaN3h0K1diYm1xKytXdmp6MSt0eldtZFlNUGpBTTJ4a3NnSUJTdW56RmhnZW52 cjlzeFhxL1AzVE9tY01mdk9QQ2p1MXlNTUVWbGJYM1BQck8rNS9PKzJ0ZDRZZWZ6YnZubG9rWG5YTWk1OXhncVFFaUJQKzRZT1ZkRDc5VlhkdlE0QTF5QU9D Y1N0VGxWQjBPcGJyR1cxdm5uWERKNUQvWEZJNGJNL2lTaVNPOXZ1RDhoWDl1M0ZMaWRLcWJDM2RlZWZPemhkdEs3NzFsSXFWMDd2emZMN3ZoYVVXVzdyNzUz T0dEZTZtS3ZMMjRZdXEwenhZc1hhMDZsSUtpMHB2dWVlV1AxVnVlZmVScXAxT3hwdWdldXI5L0FMWWZwMEFvcmYxdDJkWnBVN0ZFclpDUzVYeldBb0cwUWNN NzN6WFozYmE5Z1Y3em1GbnJJQldFVVBYQytkdmZlbEZLU094NHkzM3VkaDFFQWcyMmxYU09ueFlZSWNRWmwyVnB3dGloQzVldHNackVPVGdkNnFwMVd4Y3NY blhheWNjS0d3d3dCZzRDRE1VN0s3K2FzK1RNTVlPenM5STBUWmRsQ2UremJTWWU0UStFYnJqanBRVkxWMHVVWG5EMkNWZGRNa2JZR2N3OHZhbG45dzZ2UEhY RDZIUHVyYWlxVDAxSlhMZGgyOFhYVEozNTRVTWQyN1VVbTNPRWNPdWNGdGRjZG5xbkRxMHV2dTVKVFdQQ2JVNHBhV2p3bjNYNlVCRUhhdlRhTXRLU005S1Nu NXA4NWE4ck42cXEvUG5iOTNYcGxDc3VhOU02ODRhcnppd3JyMzN6Zys4MkZSUW5KYm1CQXlIWTV3OFo4M1kveFJaclJRQncxK1MzUHAreDROb3J4M2Jxa0tQ clRHaWtmVW4zQVJDbGV4QWhlTnVPOHN0dmVuWkhTYVhEcWQ1NHhSa1RUaDhtSHNRWUY2L211Q0c5bjU5eXpmaUxId1pBYnBkajNpOS8vTitrWno1OSs5N2tS TThCNS9mYWliMGlndjNCWi9QdWVQQU5mekNNRURwdi9JaTNYN2hGbGlVT25EUEliSkg2d3VQWGJTK3VYUEhucHRwNjN6VzNUYXVvcUwzOXhyUE41RVNFTWU3 ZG8rTXpqMXhWVWxiOThsdmZiQ29zY2FpS3VWbEY2emR2ditUNnA0cDNWdjB5NitrZStlMUVBOG9yYXErNCtkbWZGNjN5ZUp5YzhTblBmdFNwZlU2UHJtM1B2 K3J4VnRucE16OThxRzNyVEhGbDY1d1czZkxhamozL3dUOVdiL0Y0bkU2SCtzNUhjMXRrcER4eTk4V1dJYkNIbnU2SEU4cytLSVRTY0dYNWxpZnUxLzFlUWlV cmZpczJscnJmbDMzNmhCNVB2MnFnbHhqb0JRQmdUUGd4QXR1MnJyM2p1aldUTGt2bzFyUEhjMis2MjNYZ1REY2NXdUpXdTFua1JSdEduM2hNKzdiWmtVZ1VZ eXhDZ29SZ0xhck5uTE1reHNvQ01Da2MrT3Z2bHRWN0F4TW5qSWg1SmZadFZsZ09yRlZyQy85YVY1aVM3QUdBZFJ1M004WVk0OEFCbXpOTTAvVjJiYkpIbjNS TU1CUm1uQ2NsdWJjVWxVNmQ5b21oa1RBU0dWYWFwcDg0dk4rVkY0NzIrMFBDdE9PY2M0QUdiNUJ6WUl5WmhIRmpDeVFlSkV6bHl5ODhwVXVuM0tobWNJOHpN MUxHbkRUZzhndFBlZlhwR3oxdXA2YnBYQmhIUnYvMmU5OXJ1WkVvSlE4KzhmNXI3ODdKekU2Zi9zWDgxOStiSTBuVXpPWGFGL3ZGdUJYR2VQSHl0ZHQybENj bHVxTlJiZU9XSFl4eFRkY3RscGhRd2dPUHpoL1V2MXN3R09ZY1VwSVRGaTViODlZSDM1bUZDZzdFbHhVTFRBSlFTdC8vNU1mcmJuOGhxdW1xSW1kbnBqNXl6 OFd5TE9tNkxnNVIxelRkNlZRdm5UaFMxNWtzUzI2WDQrR25QdnpreTU4cEpSWUpPRHN6OWZpaGZTNDgrOFFuSDc1Q0lsVFhHUURubkx1Y2prOW0vUHpYbXNJ djMzdWdSMzQ3WFdlNnpqUk56OHBNZlhyeVZSbnBTZUdJaGpGMk9OUkhuNTcrZjVPZUNZY2p6MCs1cG0zcnpLaW1pemNiamVvcHlRazNYRGtXWThRWVo1d25K M25lbWY3OW42dTNXR0hSUGZSL1B3QWNjMXdoeENLUkxWTWY5Ry9lUUZVSE1wM2ZtQkRPR09oYW0wdXY3ZnJBVk1tVFlCMlNBQmlEOE1WUkdxbXRMbnJycFQ4 dUhGdTk0SWU4aDU3c2ZQdURSb2xKWWtTVjlsem1DaFBNT2M5SVR6NzVoS01qRVkwUUxGUU41K0J5T2VZdittdkRwaDJXUnhFQUtNR2hjR1Q2Wno4TjZ0L3Rx TjZkOS9mUUg2c1ZqQUZqbkdCTUtLMnQ5eUd4SWJDelRSQUdnTzVkMnhLQ01ZQ3VjN2ZMTVgvUnFxM2J5b2c0clJOaGdqR2hoSE80NHFMUkhkcTFESWMxMFZS RmtaZit0cTZ5dWs0Y2FXTG1iSUFaQThmTGY5L2dkam5PRzNlODZSQVMyMVN1NjR3eGx0ZXBkWmVPclNJUnJjbU54MzY5WDBJeHhuanlVOU9mZWZsTGo4Y0p3 REVtOTA5NWIrNVBLeVNKTWdiVytyS1B1QklwRnNJdFZGM3JGVGxmalpRcUphUm50M2E2emhER25ITlZrV2ZNV2h3SWhnUXAvUUE2Sk5ETEFWRktsL3k2N282 SDNwQWtxaWl5M3g4Ni9lUmoyN1RPWkl4UlNxMnREUUFjM2FkTGRtWnFPQndWVk0zSlQwL2ZVVklaODE4WVE4M3pPclp1bTlzaUd0V3NDSWpYRjdyNG5CTjc1 TGZUZEYwd1BTbWxqTEZPN1hPT0c5d3JISTRBUXJJc1ZWVFhyMXE3ZGNqQUhnT1B6dWVjRzZSempDU0pBTUR3UVQwN3RHc1pqa1F4UWhLbE5YWGVHYk9XbUYz WnJUTGJEd0JiMW9nNGM2ajRnemNxNTMxTDNXNEVKbjJSRU5BMElpdWQ3NXpjNmVaN3NDUlpoU01CRURDR0tTV0VWUHo0N2Fwckx5cVkrcUNVbk5McmxRK3pU eDB2V0Z4V2RWZ3MxUGp1clNiTHB6VCt0Q0dwS1FtNnpzeVRnMEdXcFlyS3VsbmZMN1BJRzJMMEZ5OWYrOGVhTGVlTk8wNldKUzVZWFBzeEZReTZZcS91N1h0 MWExZFdVZXYzQlFmMDYwb0pBUjZyeTJXNXhKSVRQWVFRUVErWEpGcGI1eXZhVVc1NjdCRmdZMmVlbFprNmJzemdTRFFxcG9oRFZUWVhsc3o5NlhlN0JXdEcw QW5HZU1ic3hZT082WmFkbFFZQU5nK3RFZnVWSk9wMHFnYS80b0E4UGxaTVFaYWxwMS84L1BIblAzVzVIQ0wySTBzMEV0V3V1K1BGVldzTGhSNXU1S2JhelZz QzBiV0IvZlBiNUxiWVdWYk5kSGJzMGZuVzQ4d1JNeWFuMDZtYVpoeElFaTJyckNzcHJUWkc0OEM2Z3hBbTJPY0wzdmZZT3o1L1NKWmxYV2N1cDNyQzBENENp bUpsRVFzOTU1Q1prWktlbGlUU3NGUlYyYnF0N0xPdmZySDFFWXNNWkVtaVpob014aGpyaktXbEpJd2RQWWh6TUpjbVVWUU1BY0RnQWQySjZmT1RKSW93T3Fw M0YxbVdJSDdhQUVKcHFVbWQydWZvR2hQUkNrbVNWcTdld3Mya1d0ajlsTjBuQU1mMlBBQ1kwcHJsaTdlLy9US1ZGWXVHaFFubGtRaHhPUE1lZmlybnJBdU1Y YTRvSEdrbTkwZXFLamRPdm12RHZaTWEvdmd0ZGVEUVhpKyttOUszUDJmTUNvYWFKU24zUmd4QUdHTUNnUHIwNkRqZ3FLN0JVSVJpWWpJZVFGSGtXWE9YMVRm NHJhMGF4bmo2NS9OYjU3UTRkZFRBL1ZJZFFpeFROaW5SL2VienR6eDY3eVV2UFhuOW5UZWVneEFnMHdpMFZqZWhTeEhDWU5aMTVKelgxZnVRU2ZuQ01iMEta NTg1TERNaldkTjB5ODMyeFRjTHc1R29xWVNOd2NNWUZXemQrZHNmRzg4NTh6Z2pmQTFXd1RtRFhtYThvLzNuOGRpN0tmSVE3M3YwM2ZzZWYwK1NhTXlOekxt cXlPVlZkVmZmOG54WlJRMmxjUmplemQxaTZST2RPN1Q2K0kxNzdydDE0dHN2M0hyQldTYzB5aEFVVGVZY0tDRTRWc3lmUktMUkJtOEFBQkNHQTJBOEc5WUV4 bC9PV3J6ODl3MGVqNU56SG8xcXVhMHpCdzNvTHJTeEpGRktpU1JSOFplRUJKZXF5Z2hqU2dqR1NGWGxueGY5RlkxcUp0OGJXZlJleTY3R0NHbWFudHNxbzMz YmxzU0lCeHNNSmdHNU5xMHpxWmsxSmY3YklpTzVVWVFaVEdwT3E1YnBIQUF3QWdDSmtyTHltcnA2djcxbVk1T3lUMDRzVzVvK2lWUlZGanoxTUFzRnFUaDlH eUhCa1ZUU012SWVuSm8rNUhodUZtb1hoeFZoUWdnaFZRdm5iNTMyaEw5Z0EyS3N4YWpUOHU1N1hFM1A0T0k4RkhON3ZBZXpPYjR4Q0dQRU9KY29uWERhMEI4 WC9BRm1DaEVINUhBb2F6WnMrM25SWDJlTUdhenJUSkpvd2RhZHMzOVlmc2w1STlQVGpLRE9maEViVENvRTVoemE1bWJkTmVsYzhYbGN4QjhoRUZPUTRIQTRJ bUpnWXZJQmdLNHpjenlRVmZzQ0FIWHRuRHRpU04rUFo4eFBUSFJ6enAxT2RkbnZHMzc5ZmVQUVkzdFl6aHNPWENKa3hwd2xHV2xKUTQvdFlRdjhna25lYnZ5 bTlyMXJkaEY3UmE4dnNIVEZ1aGVtWFB2MTk4dCsrUG4zNUNRUDB6a21pSEh1ZGpsV3JkdDY3VzB2ZlBEcW5VNkh1dWNpY3JiMFF3UUFmWHAwN05PajQ2N2pK bmIvc2t3UlFwR0loZ3p6Q3hBU3FhWGN5SWc2SUNjV0lTUVVpbno2MWMrRUVtditjODdmK1dndUpXYUUyVlNXRXFGVnRRMmJ0aFRydXU0TGhCRUNUV1ByTm0y dnFLcHZuWk5oeEJFYVo4aGdqSkRPZUhwcWNvTEhhZThYeGdoemhERldaVm5vVzJPRUNYYW9jb3k5WXk3MG5IT0VjR0tDRzRCandJQTRJY1FmRE5YV2VWTlRF dllNamIwQjJPS3ppd1dlOGNLWHB2bzNyWmZjSHVOb1dVcjFRTUNWMjdicncwOG5DNDFxOHpZVFNqbGoyOTU1cGZqZFYvV0FId0Zrblg1MnA5c2ZVQktUckpn dzdQOUo4R0p4QllDUkk0N3EwcW4xNW9KaWg2cUlRU0tFYUJxYk1XZkphU2NmSzBacHh1ekZrWWgyM3JqanJYSGNyK2xnYnhybklPcWltd25EQmdXUFVvSUlp a2IxVDc5YThQaXpIeXVLYk14c3NQUms3SDZ4MkFiZzg4WWY5L1gzU3dVZmoxSlMzeEQ0L0p1Rnd3YjFOTTBSb0lSRUl0R3Y1eXdaYzlJQWw5T2hNeVpLTVRZ YXNIMk1hZSsxcnhqajV4Njk1cnp4eHc4OXR1ZTRpOHUzN2Fod3VWUUJKTVo0UW9Mcis1OVczRDM1cmVjZXUwYUVXSFpITnJBK3RHS3doa2xyZWg4WVkwTFhF WUlhdklFM1AvanU5ZmUvRlhyU3hMK3hGVGl3WGduSHdhYUNrbFhydGpwVVJiajJLS1hCWVBpakwrYWJEQUljdXhwaGhLQkx4OVpXRTNYRzBwSVRSS0VJWkd1 SmZhaEZHcTJpU0lMMFl1Kzd1SnBLbEZKaXVRQ3NoSm5ZSFUxVEMyTXN5NUl4Wmh4ampMV29IZ3BIc1dXYzdxYW5ld0V3V0ZZT0FLYTBiTmFYNWQ5OFFWd3VB NzJFNm42ZnUyT1g3bysvNk9tU2I0V0xMSUowdEw1Mnk1TVBsOCtaU1JRWmNkNzZ2TXM2M25RM1VaUzRjeFVPaUdZZzRKU1NuRERtcFA2UHJ5OXlPbFV1V0Zr Y1hDN0hMMHRXcmR1NHJVZCtPNjh2OE5HWFB3OGYxTE5udC9ZQUlESWc5dE9FdHZpWTRwL0dwb056UmlrVnRKN3Ftb1pQdi9ybGpmZS85ZnREblR2a1ZOYlV3 MjYzbzNGNXVZTUdkTy9YdTlPUzVldmNiaWZuNEhLcWMzOWFVVmhVMnI1dE5qY0RZRXQvVzcrenZIcjg2VU1CZ0JqNVdnYy9peDFqekJsM085VWUrZTBZNDUw NjVMejJ6S1FKbDA0T0JzS3lJZ2wvTXVlUWtPQjY2OFB2MitWbVRicDZuSzR6d1hiYkk0YXRmMkZrMXZFUy9FbUUwUGJpeXZjKytlR0RUMzkwT3RXTzdWcXVY TDFGc1pWMy9uc0NBTEJtZlpIWEczUzduV0l6R1F5R3pqbnp1QWR1dnlBUzFZaHg3SHZjYjhSKzJQbzlKY1RoVVBiVUdNT3RZZSsrZWJGcFR0dVgxa1pyZ1gy MGtMRXFpeDJpQ0lEYUF3cTdsYjN0Z2MyOUhhWTBzSzJ3NkpWbkVNSkViUDRvMVlQK3BMN0g5SnoydG9GZUVvZGUzNmIxYTI2Nm9ueldGMVIxZ003YVhqbXAw MjMzWTBXT2MwMGZLTS9HVXFmalRoM1NJaU5aMTVsVnQwR1dhV1YxL2N3NVN6REc4eGYrdFc3VHRva1RSb2lGOEVBY21qSGVXR3pod0JoUlNuV2RMVjYrNW9Z N1h6cjZoR3VudlRiamxCT08vbVgyMHpkZE15NFVqcExkZDhxMHRSRG4zS0VxNTR3ZGJoVi9WUlNwcEt6Nm0rK1hXU3hDalBFbk0zL3UyYTFEZnBjMkFBZ1Rm SWhPVFRCaVNBQ1JTSlFRSE5YMGdVZm5UNXR5TFJqOU5YY0tnSnhPZGZMVDA3LzRlcUVrVVE1N2RrcGo0NmhEMHgxQU1LYVVCb0toNytiOWR1SFZUeHc3Nm9Z WnN4ZGZlZkdZaGJPZk9YWFV3R0F3SWh6c0I2czdaUlUxVVUwM1lwZ1lFSUwwdENSSm9rNkg2blNvRG9maVVPUCt1SnlxMitVUWZ6eHVwMkRzN1VFTWttWmNh WHVyQmNpVy9HQjl1M2REQ1J2dDMxZXJhazhhR014NFBNWUljYjd0OVdtaDRtMnlKd0Z4ampIUmZRMHB4dzdMZitSNVI0dE1pK0ZzVklla3RQTG5IN1k4Zmwr a3NweTZQU3dZYUgvZDdlMHV2eDQ0Qnc3WUlwcnUyNmEzNlg2YVBwSnVlVzJISHR2amkyOFdDYXFRR0RSRmx1Zjg4T3ZOMTR6NzdLc0ZuZHJsbkh4Q2Y4TXBp dUFBdkxUeHRGNHVvUHZGTndzLytHemV3cVZyVkZXKzQ0YXpMejczcEl6MFpJVFFINnNMRU41VHNyazFtNDNjakZFRFgzamo2OEx0cFE1RkFRQlprbWJNWG5U cHhKR0pDVzZFVUZsRnpmeEZxeDY4L1VLeGpwckpSUWNmdy9ZTkxjYVlFcXpyN013eGczZVVWTjQ5K2UyRUJLY0JWU1JxUktPYjduc2xwMlg2d0tQelJXNURY TFo5Yk5DTUNTbk1TN0hIL3VEVGVaL08vR1g1eWcyNU9SbVAzSFB4aE5PSGVkeE9zUWNtKytsZjNITi9FRUtScUNiYWdveGRHcFlvRVMvUnNtYjNhM0IyOTIw VEYrRGRmN1g3K3pUNTl6M0w3aGM4OFVxRUc0SFF5bm5mVmN5ZEpibmNJdGxJQy9qU2hwN1FmY29MamhhWlJnZ1hJZUFjRTRJSktmN283UTMzVG9wVVZ4S0hr d1dEN2E2NjJVQ3ZyVXQvQjcxbUF3MS83SVRUaHFxS2JEQmprQWlyU3R1TEs1NTY4Zk1GUzFlUE8yMUlVcUxieXVvNmdLZFlrQk9lbm9WTFY1OTY3cjFYM3py dCsza3IrdlRzdU9DYnAyNjcvcXlNOU9Sb1ZEYzQ2R2d2YVJLV3c0TnpTRTlMT20zVWdHaFV4MFR3eVpSVmE0dCtYclJLWERENysrVXlwYU5HOUxQWll3ZGx1 OXUwMlAzRG9zcnNEVmVNdmZyU1V4c2FBa2J3R1NIT1FaWWxyemQ0OVMzUEZ4YVZObkpLVy8wV0UwZWdSUVREdnBpMTZLVHhkOTA1K2EybEs5YU5Hek40MGJm UFhuTGVLSS9iR1kxcVppbVZnNWRDQ0FZZHhhcmdJWnFtYWJwb0hkcWY2ZmUveWU0K01Oa3RnR08xcVFpSjFGUnZlL05GeEptQXRCNE1aSjB5dHR1VUY1VzBE R0VQR3dZU3BTd1UydnpFQTV1blBzU2pVYXFvUEJScWU5V2tkbGZkMUJpOUIyTWJaODQyR0RHMFQ4OXU3VVVJSHRrTXBsZmVua1VKT2Z2MFlUWS8vb0dRazh3 MUd4RkNYbnp6cXdtWFRsNzgyenFFVU84ZUhkOTk4ZGJ1WGR0cHVpNzgyOFJ3Z2V4RlE5cmpud0J3OXBuRHN6S1NOYzNZQmVpNi92blh2NGhBNWVmZkxEenh1 TDVwcVVreE8vWi9NcGtzT3g5ai9NamRGNTg2YW1CRFEwQ1NpQ2h6S1h6bUJVV2xWOS82ZkYyOWp4QmlWUlMwTWFCaTFyV21zN3NtdjNYcGRVOXQzTHlEWUR6 cStLTmZmKzZtN013MFRkZkY3cFFRYkJWRU9VZzl3QUNRNkhFYlVSemo4Rm1vcnZXYVBuelVLSWEvT3psSWUvSkRKVTBEMkNKL2lLTStTejUrMTc5eExWV2RD Q0hkNzhzNjVZeTgrNmZLU1VrV2VnMlhWVVA5K25zbUZVOS9tNm9xa1dUTjI5RDZnc3ZiWDNVVGdsM1FlMURFM0VtNjNjNVRSdzNRZEQyV1JBcUlFT3dMaElZ ZDJ6TS9yNDN3U1pyK3RmMFRLNEdiRVBMOGF6UHVlT2hOeG5pQ3g2bnI3TWFyem1qZnRxV202Ukp0WEJSNUg5b09aandKOGpybEhqZTRUekFVSnBod0FKZkxN WC94cXMyRkpadTJGSy9mdEdPQ2JRRTZwT28zdm5rNFJqSjNxczgvZG5YZlhoMjl2cERoU3NDSU1lN3hPQmN0WDN2cmZhL3B1bTZMYjhkMjZlSVR4dmlkRDc3 eHpFdGZPSjJxcXNwT2gzclhUZWNrZUZ5YXpzU0pOc1lURDNMN0VVYTRTNmRXTG9jcUtnUmpqSUREdHUzbGV6WmtHdFhLT016VjcyNEJiUG1pTUtFTjYxYnYv T3g5b3FvSUl6M2d6eHA5WnBmN0hwZmM3a2JvRFZkWHJidnorcW9mWjBzdUZ5WkU4M216VHB2US9ycmJEQ2Y5L213R2RoV0l6KzgzR21tRThqQUFuSEhLb0p6 c2RNTmpZZGl3SU12U21hY09JWVJ3NE5iUnBZM3YyK2dmalRZeWh2cEZoSkJmVjI2WTh0d25Ub2NxU1RRY2ptYTJTQms2c0FmblFFekdyQm5JYjV5RDBXU3Zi Vlh1QVNGMDdyamozRTVWc0Q4bGlWYlhOTXlldSt6TDJZdmE1bVllMHkvUEZ2NDl4T2kxdGRTa0dXTEdXTXZzOURlZnU3bFZkbm9vSEtXVWlzWXpCa21KN285 bkxuajBtZW0yWWtZeFMwRlUwdnBpMXNMWDNwdVRrcHlBTVFvR0k5M3kydlRyM1Vrd055dzlMd2JFUGt3SGtvcGhFNHd4WU9qUnRWMU95M1JOMDRuaDNaUUt0 NWY3L0VGcktzSSt2S25EWEpvQWNJdzFpVEdMUnJhOS9yeFdYMGRrUmZQN00wZVB5N3YvaVNiUVcxRzIvcTdyYXhiUHArNEVoTEh1OTZVTUhOTDVqb2VvcXBy Vm5ROVFnVmhoYUxRTHJ4MU1NaW9BZEd5ZmM5emczcUZneE15WXdjRlFwRWRlMnhGRCs1aEI0eWJlbHQwcmJTUWJJK3NSY1dRakFKZzVlM0Y5UTBDV0pGR0JK UzBsMGVOMmlwWGVDalVaNVc5aUhpeDdnMk5XWmFNNklRaWhJUU43OU92ZE9SZ01FMEk0QjQvTE9mMkwrZTk4OU1OWlk0ZkpzaVNLK08xaEJZeU5qRW5hYWRM WWpodTlKaTh3RzJ4U3dZeFZRMmVzYTVjMkwwNjl6cUhJdW1ucGlMd3lqOXY1ek1zejN2bG9ydGdNMnljUHdaZ3gvdVUzaTdoNTVqTmpMQ00xVWVSTDJyaXVo dDBVSCtFemVtSlhodkdOYjZyN3BtQ01PWU9zek5SVFRqd21GSTVpUWpnSFZaV0x0cGV1WFY5a280NWl1OG9WYTc4WnBZKzU1Y3doYmZwWlRlOXJtcnA0enpz Z295VzdYTHpuVmFVSkFHT3pRQ1FtcEh6T3pKcGY1a2tlaitadHlCcDlSdDU5VTVwQWIxWGwrcnNuMWYyNldISW5ZSVJZTUpEUXJWZlhCNllxeVNrR0sycy9R eC8yTWJWNlpIZHZnc24zTjl4TEFBQncxdGloTHBmRHFraWlhZnJwSnc5TVNuUmJ4UTBhM2R4S1A0ZzkxcGJCWTgrREVRZldGeFNWVW9vNUdGUnFLM0F2Ym9Z Tkx4ZHlPaFFyb1FBUXRvQm5GcytPNldxYks0czdITXI0MDRaYXQxTlVxV2g3QlNIbzFKRURMTmJLcnIxb1FvY2d3SEZ4amJnTDdBdU5uV0JubjhIR2xTWnd4 RU5GeHZLSncvczk4Y0QvV1JhcGRSOVprZTZhL05aUHYveGhNcVhCNGtMWE5maDNsbFVyc21SUzVzMmRtYzIxSzE2UVE1WHN5NlU5MkczdnJOVTNrM2ZadEFx MU9uWForYU5hWmFkSG8xRkNNQ1hFNnd0K09XdXh5UktMYzU2Ym9USVFMYmVvdUxab2RwTzRiWXhQQStkTmJkYnNJTEExdGZGQzMvaFh5QUIyaytCdkRHQXcx eDlFU0tTNnN1VGpkeEdsZXNDZmVmTHBqZEVya2dyTHk5YmZlWDNkaWlYVTVjRUFUSXNvbVMyN1B2U1VxMVd1bmEyeEx5Um5lei9OZDRtdGJhMVpiREhHaGJC R1MyeEFod3pvM3E5WHAxQW9RZ25Sb25yTHJMVFRUeGtFdGp4SEMvREcxRVJtOXJMeFVJUUJHT2ZJUEdMWGZCeVlMazFxSGV3aVMxSnBlVTFwZVkwNGxKUnow RG1YWllrUXZPS1BUVEdlRkNBQUhCVlpmcHhUU29XQllPZXlXLzA5YmRUQVR1MXpSSUlreGppcWFTY003ZHMyTjJ0WHk4V2UxMm5qbVZqVEVRTzJHSWxnSHl1 cnBJa1Y5YlczQVdOa2ttR01TbTMyeVUwd1pveGRmTjdJS3k0YUhRcEZNQ2JXaTVBb0NZZWoxOTd4NHByMVJaSkVkY2F0V1VnTkpJakN2aUFyVXVIMk1rRU8x eGtUdGV4a1dVSUFhOVp2azJUSlduK0ZtU1BXUkpFMlpKSGJ6TFNReHJHcitHSEJvcjVVNXc2dDdyN3AzSEE0S2pEZ2RLcWZ6MXEwVnJSVFp4RC9LNnQzZWFV QUFCRUVTVVJCVkpGeVJBalp1cTMwK1ZlKzFEUWQ3R05uaTdUWk1COWJqczFoRkt0MTNNVVdSTVd3eDVaUjR5dHpRVUdBd1RxQXlIeFpablp0a3laWUhJREJV cjhJTU1abHMyY0VDamFCcnFVUEdaRjM3Mk9TMjJOSEw4Wlk4L3MyUG54SDdXOUxxTnVEZ1hQZ0dKT09OOTJkMENXZk14M2Jxbjd2bDhzKzV2c0ZMb2pFOVEz K3F1cUduYVZWa1loR0tSR1lzUUVlTWM0ZER2WDBrd2N5eGlrbGdWRGsrQ0c5eFdsWHNkd2RqTVdjUUFnVFFqWnYzU2xtb1BsY0pFbTAzaHVvcnZFU2pCazM2 anFDTVdOd2ZwYzJURGRUOENWYTMrQi80LzF2elFKWFZKYWttanJ2TGZlOSt1U0xuN3VjcXVnRndWalQ5QjBsRlpRUVJaRzJiaXRyOEFZczlSNkhKUTZaTFZM R2pEd21FdEVFTDA5VjVORW5IWU5RL1B1T3g3Q3hmQURvalBsOFFaUDBDNVFRcno4b2FxbnBMT1pCdEhLUENTRkZPOHFpdW81dDhXcENpVDhZTGltdElvUXda aVFxMnlrbG5JUE8yQ1hualV4TlNkQjEzZUx1Y3c0T2gxSmFWbjM1cEdjS3R1NlVKY2tDUTNLaXAzM2I3S2ltQ1UrMVE1VTNGWmE4OS9FUGhCQlpraVNKU3BK VXRMM3MzQ3VtZkRGcnNjZnRNTWFONEZBb1VsbGRUd2lSSmJweHl3NnhybkVPT21jWTR3WnZnSFBBaG5ZZ3VzNzhnWkNvV3dweHF4SmluRjh5Y2RTdDE1M1Y0 QTB3eGxSVnFhdnozbkxmYXpWMVhsbVdnQVBqWE5lWjZDeWxWSmFsdjlZVVhISFRzNGxKYml0dFNCZ080dWE2emhwOElxZ0dBSWhRSEFpR3hBVmliTVdFMFJu REdHdFJUYnhRTVlDaW5obkJXQ3hOR0dFd3lsTnlRckRYRjhRSUF4YWNVeElLUjhLaGlLam1FNFB4TGppS1A1M1FOUE14SnBHS2lvS25IZzZYNzB3ZE1EVC9r ZWVVMUxRNDlDSkFHQmM4ODJqRm5DOWxUd0ptREFqaDRWQ3JjeS9PdmVoS0JCemhXRlhFL2RyM3hxdzRzNEpoT0J4NWFPb0hLLzdjV0ZmdmQ2akt3UDc1eGdt RjloOGhoQkRLeWt5Wi9jT3Z2a0JZb3VUZW15ZDJiTi9LT3JkZTJHM0VsSjhYL1RWMTJtZW1DakorTDBrMEdJelVOL2lPSDl6YjVYS1kvRlhqZE9tc3pOVFpj Myt0Yi9BN0hRb0FrbVZwOWJxdEpUdXJLTUViQzRvL203bGcwdDJ2YkM0b2Z2bkpHOG9xYWpZVkZMdmRUbUh2VmRkNisvWHF0R1o5MGYxVDNqdHhXTitrUkxm dEFCZHMyM0NpOUxTa2I3NWZGbzFxMGFqV3ZXdTd1MjQrMTZISzJCWUJialJFNGx4Rmd2RzhCWCs4UGYxN1NSSTJBcFlscWE3ZTE3MXJ1NjZkMjRnTERGT0ZF REdrR3pidnVIL0tldzNlZ0NSUk1JZFBWTXdyTGFzWlByaFhha3FDVmRqTm1odFVvb1NRMzFadW5EbG5pVm1OMFdvWU9CeHFhWG5ONG1WcnVuYk9iZE02aTVp blNIcmN6cS9uTEJXYVZvUURmbDI1MGVjUDZveXRYcmYxcmVuZjMzVHZxeElsejArNWV1bHY2MnRxdlE2SEltWnRmWDJnYjgrT3MrY3VmLzM5YjhlTUhLQW9N cVZFb2pRWURFOTU3cE1kTzZzVVJVWUFoQklSZ1R0MTFFQkZrZTFIekZyR3hYR0RlemxVWmRtSzlWNWYwT054YmkrdStQM1B6VjA2dFc3Vk1wM1laRnR4eGZP dnpuajY1Uyt1di96MDg4ODYwZEtaVmhWTGpQSFgzeTc1Wk9ZQ1ZaV0ZPU1pMVW4yRHIzZVBEdTNiWnBzVEJnZ2h3c0grN0N0Zi9yRzZRRlZsaElCZ2dqRDJC OEtualJyb2NUc0pJWUJCRkFLbWxPNHNxM25pK1UrOXZxQWtTU0tDSFF4R2toTGRKd3p2SzFGcTVwUEh2WDNqbi9adGcyRldBY2VFRnI3NFpPSHpqNmNOUFQ3 L2tXZWQyYTA0WTZMUUl3ZkFDRENoMjk1NmFlc0xUeERWS2NDc2gwT2VUbDM3dlBhUm5KSWFuNW14MzZGWDhTdWZQL1RCSno4VWJpOWIrdHY2UDFZWE9GV0ZB MmlhUG5oZzl6N2RPL1RNYTN2dVdTZVl1Vm9pbmdTVWtodnVldW1GSno4WWR2S2cyUjgvNG5ZNzdHWU13WGpSMHRVLy9Qejc1cUt5dWZOL0Q0VWlxcW9RTE5q TldNUjZPVUF3R082UjMyNzRzVDNiNUtTZmY4N0lGdWxKM0p6OXM3NWZkc09kTDVWVjFxcUtUQ2pCQ0FlQ0lZeHdWTmM5THNkNTQ0Ni81NWFKclhNeUZpNWRN L0hLeDZwcnZBNkhnZ25Xb2pvQXBLWWtUSnR5N2RqUmc3aXQ4THJvY2t6UllYekpkVS9PbkwyWUE3cnpoclB2dlhXaXFKQzQ2d1pZZkZLd3RYVEdOd3VMU2lw bnpsbGMzeEJRRmRueXBVYzFQY0hqT21QMG9MYXRXNXd4Wm5CZTUxeUUwTnIxVzJmT1dseTBzM0x1L044ckt1dGRUcFZnVVlmZnFMa0pBTUZnSkxkVnhvbkg5 Y3R0bVhIVzJPRWRPK1JZWS9qbDF3dS8vV25GZHordHFLcXVWeFVaSVV5SUVYZTNUdEVKQkNNdWwzcmk4SDdkT3JVYWYvcXdudDA3WUl4ZmZ2dWIrNmU4Rndp R0ZVV21oSERnd1VDRUVCelI5SXkwcEtzdkdYUHJkUk1TUEs3cG4vOTB6VzNUZE1ZVldjSVlSeU1hSnJodGJ1YmIwMjQ5dW0rWFNGVDdmT2FDOVp0Mi9MSnM5 VzhyTnprY1Nvekp5Q0VjMVlZTTZER29mOWRlM1RxTU8zMm9IWHZXNHJWZzhhcG5YL2xpOGEvclF1R29wckhVbElRVGh2WHAzYjJEMDZuVzFIclhiQ2hhdDNG Ymx3NnRIcjdyNHA3ZDJ1dU1FZHVLdVdiZDFsbmZMdDFhVWpGenpwSmdNS0lva3JYeVJpTFJ0TFNrTTBjUGF0dXF4YmpUaDdadm16MXYvc3BGeTlmOHRiN28r M2tySkZtaU5tcFBNQnpwMTdQVGlDRzk4anEyUHYrY0U0T2h5UFJQNXhWdUwvdnVwOTgzYnQ3aGRLbWlTQWdneEJubkhFYU9PS3AzZnJ0aiszYzc2ZmlqZVB3 MEVDSTFBZy9pSEJIaTI3eXgrTU0zay9zYzNmV2had1I2RGQyTEVFS0FDYTFlOHN1Mk4xL0FzbUwwZ25NaXllMnZ1Y1ZTMU5obTVoMkFDSHVqdXJZQlkzTHFx SUdYbmpkU1ZSWEdlQ2djcWE3MTF0VjVhK3E4dG90akZ1bmxGNXdzSVh6aWlLT3MxQlpMaXlLTXZmNUFmVU9nWFc3V2JkZE5jTHVkZ3ZXcUtKS3d2aUtScUQ4 UURvWWpEUTMrUURCY1dWMnZhN3JsVW1hY256cHFZSnZXbVc5UC8vN1hsUnZyNm4yY1E2dnM5SXowcFA1OXU1d3habkQvdm5rSUlWM1hoeDdiNCtNMzdwbjIr c3dObTNkRUlwcXF5ajI2dHIzeHFuSEg5TXZiRmIzMlBSakYrTnd6ai90MDVnS1B5em42cEdNc0QyMlQzbnVNY1RnU3FhaXFTMHh3M1hqbG1SNjN3K2xRRkZr R2dFaEVDMGVpZ1ZDa3dldXZyS29QaGlMaTU4Rmd1THF1SVQwMTZjcUx4aVI0bkU2SDZuRTd4R0lFZ0tKUnpSOElCVU9SQm04Z0VBalgxRGFFSWhHek1nNUNH TlUzK0YxTzlZcUxUbEZWUlpFa1ZaRlZWVkprV1FUcXRLZ2VqbWlhcmdkREVaOC9XTzhOaU9jeXhxNjU5TFQ4em0wKytHemVxcldGUG44SVllUnNyYlRNU2p1 MmY3ZXpUaC9hdVdOcm9YSW5UaGpoZGp0ZWUzZjJqdUpLalRHMzB6SGc2SzQzWHpPdVUzdmoxS3ZxMm9aQU1IekNzTDdqVHgyaXFvclRxUkNNTloxSEl0RlFX R3Z3K2hzYS9EVjFYanYzMGJKeEdHUERCL2NhUEtENy9FVi9mdi9UNzZ2V0Z1NHNyNW0zNEk4ZmZsN3ArUC8yemk1RWt1cUs0K2ZjVzlYZDB6M2R2VHU3T3ox ckV1TkdkOTAxcStKS0pFclVvTGdvSkdyRWIxQllSVWdpZ2tGOVVNSStSQkx5SUNJa1JEQVFGQ0VrSXZqRkJoMlhrUEVodmdSQ1ZtSEhIVmNVa3gzblkyZTZw N3VucTdxcjdzbkRyYnBWM1QyOS9URWZ5YzZlMzFOM2RYM2NXMTJYT3ZmY2MvNG5ZUmRHdDM3bndNVy8vZlZqTjE1L2haNmZTMkd5VmtnSXJDNDdNL09MTzda dmVlcXhlNGJUcVZRcWtiQXRwWlJiYnpoT283cnNGSmNxcy9ORjEyMFFZYWxjWFZoWTJyL3ZnbXUvdXorVlRBNE5KU3dwZmQ5MzNJYmoxa3ZsYXJGWW1UdGQw cDZkMmRNbDMxZDMzWFpkTHB0T0p1eFV5aFpDK3A1ZmMrbzF4eTB1VlU4dmxFcExGUk1pMCtFTlRCUTRiNGhRaU1sbm41NDkrcGNyZnYrbjdKNTladlNhcDgy ZG0vblhUeCtzbmp5aFU0SlJDSzlhMlhuN2ZaYzgrNXlKdU9yWGNSWDMrTVZ2ZmJlRG9DVlV0ZDFQMi9MUTk5aWUxbXNBR0kxRkFDaFhsaGVMbFVhOU1UeWN6 bVhUT3VwZHo4dTF2YW9OdVptNXhVcGxPWk1aR2hzZE1YTEg3YkcxY2RlTDQ5Wi84OUpiUXluN0p3L2RHa1VDZHFEMzdzVGZTQU4zZitEREZaRWVENHVsY3Fs VTlaWEtaVFA1YkZvTGVnYmFjUUFFSUlUd1BIOTJ2bGlydWZsOFp2dEkzbGdvdlRjZzF1WW1oU0VqY0FFQXl6V25XS3JvalBrdCtjeTJyVGt0U2EySXREQmd5 em43dXRXOXQ3UGZmOUEweGh3YnJvTUZscGtTUXBhblBwazgvTVNGUDN0bTVLcHJsTzlqbUgya0pTTUI4Wk5mL2Z6ZmYzN0ZEdU9pbGVjbHR1MjQvSGV2Wmk3 Y0hiMHUraCs5NFRwcVdPUWkwSzgwclE2M0JuMkErR3duZmlvVGZOdithenhmTERwbnkvOGMrMTNIYnpXZlFRR2d0SVFJOGdvcFZLSnJtdFBxbk01d1VncWVs bkU3b3hpWGlmN1hxWGFlNXhzdGdUTWNFbmZtTlVVenJkU0xUdnYzMkgwVi96czZCVTkxdUs2MkpyVFFoOTVQeDRvYXJXSFRQRjJ4UVc5b05IdzlwVnloQVMx WDcvWmd4QzhCQ0pZVVFrUnhZRW9wei9mMWlrYW5DSzNvMW5XNHRPbHkwMlBXcloyOWRTcTZTNUZyaGdnUkF4TmFTejBqSUpGYS9QdkVOeDkrTkJ5OVFhUkM0 TWlXY3U2RG85TnZ2V2FsMHViMVIxNWo1KzMzRGwrMFIwczlEMkE4eC8zeU1oWmVCL0hQYThIcXp5ZGJUNkhUTjlxZm1LYmR0R2VpTHl4cmpmdStldHI2dmhy UVpBV2ZZUi9iYnJwdmE5cUFKb1FRaWM3RHZsLzZhdVpnblRKRExMaEJ4aXZxenM4Tjc3bGs1T3J2R1cyTnlNQVRvbDRxZnY3aUMxU3ZpMVJLRDFkcTFKT0Zu V08zM2tITk03WitXNk9QTzNYcTFQajQrUDl6N0RqRC9LL1F5WEFIRHg0c0ZBcG1UbVNaSDdVZEpZZlNXNis2MmlRTVJmRUFSQ2pFN0h2dmxJOS9KSklwQ0ow eHZ1dU9YUFA5b2ErZGI2YlhnODJVOVB6azJMRmpodzRkV3Z1dU04eG1ZV0ppb2xBb21QbDhhRUtIcmxvcmt3R3pNbU1TZHdGQWlFYXBPUDNtYTZIWEZ4Q1Js Skxwek5nUDdvZzc2L3VhL1pxcjZ3YnMzcjM3OE9IREF4aWNETFBwMFcvZ1hidDJ4V2ZDTVNkV1RQUVV3OG9tZ2Yyc2xCQmlidUxveDAvK0dJVkVCRVdFS0pS YnkxeTA5OEFmWHJleVdSTktQSmdCdkI0cUV3eXpXVm5CaElZb29pbllZcFNROUhpZS85djd5blVzVXpvUWtYdy9kOWtCSzVlRDBIMjFtdGEwZUtFWmhta25l dmZHblZqdFlYclJCeUlVd3BtYldmekhoOEpPaENzYkJLUlFXdG05K3lFTWsxOWgrYXhuNHVHQnErd2h3Mng2ek1KTmw5RmlJdTRySjQ2N005Tm8yeGpsVHhC SWFXL1pxdGVTWUlWOCtmNWFNOWl4REhNTzBycU0xQWtNTXg2ckowOG8xNUhwakRhM0JZSWlFSlp0NS9LQmZINm5sZjNlMkNERkNZYlpGRVFXYTljZENRVWlP cWYrQXlZVlczL1NNZ3ZOZ1pucjJHU0dZZHJvUHVIVTltMWpZVTRIV2VtTjJyVkZudWZYYXBFdUFadkJETE94OUZOZU5DclZHaXJ0K3I1ZlhnSUFJQXdMekRB TXMzRjBIOEI2dXB6WVBxcFhsaUJ3VENNaUtxOVJQdjZ4Rm9zR1JCcW9FaVRETUFQVHpRc2RhckVsUjhmTTdEZW95Z2FBS0pZKytxZnYxQUxoT29JelZDSm1H R2JONlRLQWpYTTR1L2ZiSXBuU3NnMWF1eEdKWkRKWi9YU3lPalVKQUxxVW10SGszS2oyTTh3NVRROG1OQ0lSNVMrL2NuamZwY3AxTVM2M0thVlhLWC81eDVj eERNT2tZRkdZSFZvTXN4SDA0SVVHSktXc2RPYTgyKzRPQlRmQzRFY2lPWlNlUFhwaytzZ2JLS1hPbDlkQ0hFWUJaQ002d1REbktqMlkwQWlBU0tRS04vOXcr L1UzK2RVS1NndGltZ0JBYXVxNVg4eitkVnhZRmlJcTN3ZWxNQ3h1eUNGV0RMTitkQmxnTWNrMUpZU3Nmdkhac2NjZnFVNGR0NGV6WU42eGlLcGVsK25NdHg1 OThydzc3NWQySXNxV2FFbVFZQmhtVGVuK2hxUjRVcUdVNWFuSms4Ly9jdUhERDhqek1KRkFLUkVGU0VHZUQ3NDNjdTBOWDcvN2dmeGxWNHBNcGowdmdtR1l0 YVVuRTVkQ3ZRNDlobjNYbVIwLzh0VzdieTkvTnVWWHlsNXRXU2NZb3BSQWtCZ3RqTjN5bzI4ODhIQWlsMWRFcU9XREdZWlpCM29kd0VhdERraUJrTHFXVjMz bUsyZG0ycDJmSWM4alJUS1Z0TGVOcG5hTXl0U1FsZCtDVXNLZ2FxWU13L1JDejA0bW83TVRscFNETUxHNDgrN0FvNWRoMXBWK3ZNUXhkWEFLNVkvTlR4RDNW NFhGcFZncmgySFdsVDZYZVVJQnJTWXA4STdueHZaS0VBekRyQ0hJR2xRTWMvYkMvbUdHT1l2aFNDbUdPWXV4S3BVYUdhY1VBQkJRS0dVSHNlMWtWcE9DN3dR SXV0QzNTZk5uR0dhRHNScWViNFp0TkhEMWltK3dLZGpZUHFDREhDU0F0dUtCRE1Oc0JQOEZyd2Vyb2RYM0Mwa0FBQUFBU1VWT1JLNUNZSUk9JzsNCg0KICAg IGNvbnN0IHNrdU1hcCA9IHsKICAgICIzMTU0MTQ2ODYxMTA0IjogIjEwMDI2OSIKfTsNCg0KICAgIGNvbnN0IGthdFVybCA9IHsKICAgICJNYWthcyI6ICIv a2F0ZWdvcmkvbWFrYXMiCn07DQoNCiAgICBsZXQgUCA9IFsKICAgIHsKICAgICAgICAic2t1IjogIjMxNTQxNDY4NjExMDQiLAogICAgICAgICJzbHVnIjog Im1hcGVkLWV4cGVydC10aXRhbml1bS1hc2ltZXRyaWstbWFrYXMtMjEtY20iLAogICAgICAgICJpc2ltIjogIk1hcGVkIEV4cGVydCBUaXRhbml1bSBBc2lt ZXRyaWsgTWFrYXMgMjEgY20iLAogICAgICAgICJpZCI6ICIxMDAyNjkiLAogICAgICAgICJmaXlhdCI6IDYxMiwKICAgICAgICAiZml5YXRUYW0iOiA2MTIs CiAgICAgICAgImRldGF5IjogIjxkaXYgY2xhc3M9XCJtay1kZXNjXCI+XG48ZGl2IGNsYXNzPVwibWstdHJ1c3QtdGl0bGVcIj48c3Ryb25nPk1BUEVEIFJF U03EsCBZRVRLSUxJIFNBVElDSSBHw5xWRU5DRVPEsDwvc3Ryb25nPjwvZGl2PlxuPHAgY2xhc3M9XCJtay10cnVzdC10ZXh0XCI+TWF2aUthbGVtLCBNYXBl ZCBtYXJrYXPEsW7EsW4gcmVzbWkgeWV0a2lsaSBzYXTEsWPEsXPEsWTEsXIuIFNpdGVtaXpkZSBzYXTEscWfYSBzdW51bGFuIHTDvG0gb3JpamluYWwgTWFw ZWQgw7xyw7xubGVyaSDDvHJldGljaS9kaXN0cmliw7x0w7ZyIGZpcm1hIGfDvHZlbmNlc2kgYWx0xLFuZGFkxLFyLjxiciAvPjxiciAvPjxzdHJvbmc+S3Vy dW1zYWwgRGVzdGVrIEhhdHTEsW3EsXo6IDQ0NCAxMSA2NDwvc3Ryb25nPjwvcD5cbjxoMiBjbGFzcz1cIm1rLXRpdGxlXCI+TWFwZWQgRXhwZXJ0IFRpdGFu aXVtIEFzaW1ldHJpayBNYWthcyAyMSBjbSDDlnplbGxpa2xlcmk8L2gyPlxuPHAgY2xhc3M9XCJtay10ZXh0XCI+T2ZpcyDDp2FsxLHFn2FubGFyxLFuxLFu LCDDtsSfcmV0bWVubGVyaW4sIMO2xJ9yZW5jaWxlcmluIHZlIHByb2Zlc3lvbmVsIHRhc2FyxLFtIGF0w7ZseWVsZXJpbmluIGfDvG5sw7xrIGtlc2ltIGlo dGl5YcOnbGFyxLFuxLEgZW4gw7xzdCBkw7x6ZXkga29uZm9ybGEga2FyxZ/EsWxhbWFrIGnDp2luIGdlbGnFn3RpcmlsZW4gTWFwZWQgRXhwZXJ0IFRpdGFu aXVtIEFzaW1ldHJpayBNYWthcywgZ8O8Y8O8IHZlIHphcmFmZXRpIGJpciBhcmFkYSBzdW5hci4gMjEgY20gaWRlYWwgYm95dXR1IHZlIHRpdGFueXVtIGth cGxhbWFsxLEgw7Z6ZWwgYsSxw6dhayB5YXDEsXPEsSBzYXllc2luZGUga3VtYcWfLCBrYWzEsW4ga2FydG9uLCBtdWthdnZhIHZlIMOnb2sga2F0bWFubMSx IGvDosSfxLF0bGFyxLEgem9ybGFubWFkYW4sIHRlayBoYW1sZWRlIHDDvHLDvHpzw7x6Y2Uga2VzZXIuIFRpdGFueXVtIHRla25vbG9qaXNpLCBixLHDp2Fr bGFyxLFuIGvDtnJlbG1lc2luaSDDtm5sZXllcmVrIGdlbGVuZWtzZWwgbWFrYXNsYXJhIGvEsXlhc2xhIMOnb2sgZGFoYSB1enVuIMO2bcO8cmzDvCBiaXIg cGVyZm9ybWFucyB2YWRlZGVyLiBFbCBhbmF0b21pc2luZSB0YW0gdXl1bSBzYcSfbGF5YW4gYXNpbWV0cmlrIGfDtnZkZSB0YXNhcsSxbcSxLCB1enVuIHPD vHJlbGkga3VsbGFuxLFtbGFyZGEgYmlsZSBwYXJtYWsgdmUgYmlsZWsgeW9yZ3VubHXEn3VudSBtaW5pbXVtYSBpbmRpcmlyLiBDcmFmdCB2ZSBob2JpIGFr dGl2aXRlbGVyaW5kZW4geW/En3VuIG9maXMgacWfbGVyaW5lIGthZGFyIGhlciBhbGFuZGEga3VzdXJzdXogZMO8emzDvGt0ZSBrZXNpbSBoYXRsYXLEsSBl bGRlIGV0bWVuaXppIHNhxJ9sYXlhbiBNYXBlZCBFeHBlcnQsIMOnYWzEscWfbWEgbWFzYW7EsXrEsW4gZW4gZGF5YW7EsWtsxLEgdmUgZ8O8dmVuaWxpciBw YXLDp2FzxLEgb2xtYWsgacOnaW4gc2VwZXRpbml6ZSBla2xlbWVuaXogZ2VyZWtlbiBwcm9mZXN5b25lbCBiaXIga8SxcnRhc2l5ZSBhcmFjxLFkxLFyLjwv cD5cbjxoMiBjbGFzcz1cIm1rLXN1YnRpdGxlXCI+w5ZuZSDDh8Sxa2FuIMOccsO8biDDlnplbGxpa2xlcmk8L2gyPlxuPHVsIGNsYXNzPVwibWstbGlzdFwi PlxuPGxpPjxzdHJvbmc+VGl0YW55dW0gS2FwbGFtYSBCxLHDp2FrbGFyOjwvc3Ryb25nPiBTdGFuZGFydCDDp2VsaWsgbWFrYXNsYXJhIGfDtnJlIMOnb2sg ZGFoYSB1enVuIHPDvHJlIGtlc2tpbmxpxJ9pbmkga29ydXlhbiwgcGFzbGFubWF5YSB2ZSBhxZ/EsW5tYXlhIGthcsWfxLEgdWx0cmEgZGlyZW7Dp2xpIHRp dGFueXVtIHRla25vbG9qaXNpLjwvbGk+XG48bGk+PHN0cm9uZz5Fcmdvbm9taWsgQXNpbWV0cmlrIFRhc2FyxLFtOjwvc3Ryb25nPiBLZXNpbSBlc25hc8Sx bmRhIGVsIGJhc8SxbmPEsW7EsSBkZW5nZWxpIGRhxJ/EsXRhbiwga2F5bWF5xLEgw7ZubGV5ZW4gdmUgcGFybWFrbGFyxLEgeW9ybWF5YW4gw7Z6ZWwgYXNp bWV0cmlrIHNhcCBtaW1hcmlzaS48L2xpPlxuPGxpPjxzdHJvbmc+R2VsacWfdGlyaWxtacWfIE11a2F2ZW1ldDo8L3N0cm9uZz4gS2FsxLFuIGthcnRvbiwg cGxhc3RpayBhbWJhbGFqLCBrdW1hxZ8gdmUgw6dva2x1IGvDosSfxLF0IGthdG1hbmxhcsSxbmRhIHRha8SxbG1hZGFuLCBww7xyw7x6c8O8eiB2ZSBkb8Sf cnVzYWwga2VzaW0geWFwYWJpbG1lIGfDvGPDvC48L2xpPlxuPGxpPjxzdHJvbmc+MjEgY20gxLBkZWFsIEJveXV0Ojwvc3Ryb25nPiBIZW0gaGFzc2FzIGRl dGF5IMOnaXpnaXNpbmkgdGFraXAgZWRlYmlsZWNlxJ9pbml6IGhlbSBkZSB1enVuIGTDvHoga2VzaW1sZXJpIHRlayBzZWZlcmRlIHRhbWFtbGF5YWJpbGVj ZcSfaW5peiBvcHRpbXVtIHByb2Zlc3lvbmVsIMO2bMOnw7wuPC9saT5cbjxsaT48c3Ryb25nPlnDvGtzZWsgTWFsemVtZSBLYWxpdGVzaTo8L3N0cm9uZz4g WW/En3VuIHZlIHNlcnQga3VsbGFuxLFtIGtvxZ91bGxhcsSxbmEgZGF5YW5hY2FrIMWfZWtpbGRlIHRhc2FybGFubcSxxZ8sIGvEsXLEsWxtYSB2ZSBlc25l bWV5ZSBrYXLFn8SxIGtvcnVtYWzEsSBnw7Z2ZGUgeWFwxLFzxLEuPC9saT5cbjwvdWw+XG48aDIgY2xhc3M9XCJtay1zdWJ0aXRsZVwiPlRla25payBEZXRh eWxhcjwvaDI+XG48dGFibGUgY2xhc3M9XCJtay10YWJsZVwiPlxuPHRib2R5PlxuPHRyPlxuPHRoPk1hcmthIC8gw5xyZXRpY2k6PC90aD5cbjx0ZD5NYXBl ZCAoRnJhbnNhIC8gR2xvYmFsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRoPk1vZGVsIC8gU2VyaTo8L3RoPlxuPHRkPkV4cGVydCBUaXRhbml1bSBTZXJpc2k8 L3RkPlxuPC90cj5cbjx0cj5cbjx0aD7DnHLDvG4gQmFya29kdTo8L3RoPlxuPHRkPjMxNTQxNDY4NjExMDQ8L3RkPlxuPC90cj5cbjx0cj5cbjx0aD5NYWth cyBUaXBpOjwvdGg+XG48dGQ+QXNpbWV0cmlrIFRhc2FyxLFtIC8gT2ZpcyB2ZSBIb2JpIFRpcGk8L3RkPlxuPC90cj5cbjx0cj5cbjx0aD5CxLHDp2FrIMOW emVsbGnEn2k6PC90aD5cbjx0ZD5Zw7xrc2VrIE11a2F2ZW1ldGxpIFRpdGFueXVtIEthcGxhbWEgKFVsdHJhIEtlc2tpbik8L3RkPlxuPC90cj5cbjx0cj5c bjx0aD7DnHLDvG4gw5Zsw6fDvGxlcmk6PC90aD5cbjx0ZD4yMSBjbSAoU3RhbmRhcnQgQsO8ecO8ayBCb3kpPC90ZD5cbjwvdHI+XG48dHI+XG48dGg+VHV0 YW1hayBNYXRlcnlhbGk6PC90aD5cbjx0ZD5Fcmdvbm9taWsgS29uZm9yIFNhxJ9sYXlhbiDDlnplbCBQbGFzdGlrIEfDtnZkZTwvdGQ+XG48L3RyPlxuPHRy PlxuPHRoPlNhxJ9sxLFrIFN0YW5kYXJ0bGFyxLE6PC90aD5cbjx0ZD5Ub2tzaWsgTWFkZGUgxLDDp2VybWV6LCBLdWxsYW7EsWPEsSBHw7x2ZW5sacSfaW5l IFV5Z3VuZHVyPC90ZD5cbjwvdHI+XG48dHI+XG48dGg+S3VsbGFuxLFtIEFsYW5sYXLEsTo8L3RoPlxuPHRkPk9maXNsZXIsIE9rdWxsYXIsIFNhbmF0IEF0 w7ZseWVsZXJpLCBUZXJ6aWxpayB2ZSBUYXNhcsSxbSDDh2FsxLHFn21hbGFyxLEsIEV2IHZlIEhvYmkgTWFzYWxhcsSxPC90ZD5cbjwvdHI+XG48L3Rib2R5 PlxuPC90YWJsZT5cbjxkZXRhaWxzIGNsYXNzPVwibWstYWNjb3JkaW9uXCI+XG48c3VtbWFyeSBjbGFzcz1cIm1rLWFjY29yZGlvbi1zdW1tYXJ5XCI+PHNw YW4+R2FyYW50aSwgxLBhZGUgdmUgTG9qaXN0aWsgRGV0YXlsYXI8L3NwYW4+IDxzcGFuIGNsYXNzPVwibWstYWNjb3JkaW9uLWljb25cIj4rPC9zcGFuPjwv c3VtbWFyeT5cbjxkaXYgY2xhc3M9XCJtay1hY2NvcmRpb24tY29udGVudFwiPk1hdmlLYWxlbSdkZW4gc2F0xLFuIGFsZMSxxJ/EsW7EsXogdMO8bSBvcmlq aW5hbCBNYXBlZCDDvHLDvG5sZXJpLCDDvHJldGltIHZlIG1hbHplbWUgaGF0YWxhcsSxbmEga2FyxZ/EsSBmaXJtYSBnw7x2ZW5jZXNpIGFsdMSxbmRhZMSx ci4gS3VsbGFuxLFsbWFtxLHFnyB2ZSBhbWJhbGFqxLEgemFyYXIgZ8O2cm1lbWnFnyDDvHLDvG5sZXJpIDE0IGfDvG4gacOnaW5kZSB5YXNhbCBoYWtsYXLE sW7EsXoga2Fwc2FtxLFuZGEgc29ydW5zdXpjYSBpYWRlIGVkZWJpbGlyc2luaXouIEVuIGRvxJ9ydSBmaXlhdCBhdmFudGFqxLEsIGhhc3NhcyBwYWtldGxl bWUga2FyZ28gZ8O2bmRlcmltIGdhcmFudGlzaSB2ZSBlbnRlZ3JlIGxvamlzdGlrIG1lcmtlemltaXpsZSB0w7xtIHPDvHJlw6dsZXJkZSB5YW7EsW7EsXpk YXnEsXouPC9kaXY+XG48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9XCJtay1hY2NvcmRpb25cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDI1cHg7XCI+XG48 c3VtbWFyeSBjbGFzcz1cIm1rLWFjY29yZGlvbi1zdW1tYXJ5XCI+PHNwYW4+TmVkZW4gTWF2aUthbGVtJ2RlbiBBbG1hbMSxc8SxbsSxej88L3NwYW4+IDxz cGFuIGNsYXNzPVwibWstYWNjb3JkaW9uLWljb25cIj4rPC9zcGFuPjwvc3VtbWFyeT5cbjxkaXYgY2xhc3M9XCJtay1hY2NvcmRpb24tY29udGVudFwiPlxu PHVsIGNsYXNzPVwibWstbGlzdFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMDtcIj5cbjxsaT48c3Ryb25nPllldGtpbGkgU2F0xLFjxLEgR8O8dmVuY2Vz aTo8L3N0cm9uZz4gVGFrbGl0IHZleWEga2FsaXRlc2l6IG11YWRpbCDDvHLDvG4gcmlza2luZSBnaXJtZWRlbiByZXNtaSBvbmF5bMSxIHlldGtpbGkgc2F0 xLFjxLFkYW4gZ8O8dmVubGUgb3JpamluYWwgw7xyw7xuIHNhdMSxbiBhbMSxcnPEsW7EsXouPC9saT5cbjxsaT48c3Ryb25nPkVuIERvxJ9ydSBGaXlhdCBH YXJhbnRpc2k6PC9zdHJvbmc+IERvxJ9ydWRhbiBhbmEgc3RvayBnw7xjw7xtw7x6bGUgaGVyIHphbWFuIGVuIGF2YW50YWpsxLEgdmUgZW4gZG/En3J1IGZp eWF0bGFyxLEgc3VudXlvcnV6LjwvbGk+XG48bGk+PHN0cm9uZz5IxLF6bMSxIEthcmdvOjwvc3Ryb25nPiBFbnRlZ3JlIGxvamlzdGlrIG1lcmtlemltaXog c2F5ZXNpbmRlIHNpcGFyacWfbGVyaW5peiBnw7x2ZW5sZSBwYWtldGxlbmlyIHZlIGjEsXpsYSB5b2xhIMOnxLFrYXIuPC9saT5cbjxsaT48c3Ryb25nPkt1 cnVtc2FsIERlc3RlayBIYXR0xLE6PC9zdHJvbmc+IFTDvG0gc8O8cmXDp2xlcmRlIDxzdHJvbmc+NDQ0IDExIDY0PC9zdHJvbmc+IG51bWFyYWzEsSBrdXJ1 bXNhbCBoYXR0xLFtxLF6bGEgeWFuxLFuxLF6ZGF5xLF6LjwvbGk+XG48L3VsPlxuPC9kaXY+XG48L2RldGFpbHM+PC9kaXY+IiwKICAgICAgICAiaW1nIjog Imh0dHBzOi8vd3d3Lm1hdmlrYWxlbS50ci9pZGVhL3JmLzg2L215YXNzZXRzL3Byb2R1Y3RzLzI2OS8xMDkucG5nIiwKICAgICAgICAiYWRldCI6IDEwLAog ICAgICAgICJzZWwiOiB0cnVlLAogICAgICAgICJrYXQiOiAiTWFrYXMiLAogICAgICAgICJ2YXJ5YW50bGkiOiAwCiAgICB9Cl07DQoNCiAgICAvLyDDlsSf cmVuY2kgYmF6bMSxIHRla2xpZiBtb2R1OiDDvHLDvG4gYWRldGxlcmkga2lsaXRsaSwgc2FkZWNlIMO2xJ9yZW5jaSBzYXnEsXPEsSBnaXJpbGlyDQogICAg Ly8gdmUgdMO8bSBhZGV0bGVyIGJ1bnVubGEgw6dhcnDEsWzEsXIuIE5vcm1hbC9nw7xuY2VsbGVtZSBzYXlmYWxhcsSxbmRhIGZhbHNlIG9sdXIuDQogICAg Y29uc3QgVEVLTElGX01PRFUgPSBmYWxzZTsNCg0KICAgIC8vIFAnZGVraSBmaXlhdGxhcmEgdXlndWxhbm3EscWfIHnDvHpkZSBpbmRpcmltICgwID0gaW5k aXJpbSB5b2spLiBTYXlmYSBidW51DQogICAgLy8ga3VsbGFubcSxeW9yOyBFbGVjdHJvbiAiw4fDtnrDvG1sZSIgaWxlIGJ1IHNheWZhecSxIGdlcmkgb2t1 ZHXEn3VuZGEgZml5YXRsYXLEsQ0KICAgIC8vIGxpc3RlIGZpeWF0xLFuYSBkw7ZuZMO8cm1layBpw6dpbiB2YXIg4oCUIG9sbWF6c2EgaGVyIMO8cmV0aW1k ZSBpbmRpcmltIMO8c3TDvG5lDQogICAgLy8gaW5kaXJpbSBiaW5lcmRpLg0KICAgIGNvbnN0IElORElSSU1fWVVaREUgPSAwOw0KICAgIGZ1bmN0aW9uIG9n cmVuY2lTYXlpc2koKSB7DQogICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0dWRlbnQtY291bnQnKTsNCiAgICAgICAgaWYg KCFURUtMSUZfTU9EVSB8fCAhZWwpIHJldHVybiAxOw0KICAgICAgICBjb25zdCBuID0gTWF0aC5mbG9vcihOdW1iZXIoZWwudmFsdWUpKTsNCiAgICAgICAg cmV0dXJuICghbiB8fCBuIDwgMSkgPyAxIDogbjsNCiAgICB9DQoNCiAgICBsZXQgYWN0aXZlS2F0ID0gJ3R1bXUnOw0KICAgIGxldCBtb2RhbElkeCA9IC0x Ow0KICAgIC8vIFRvcGxhbS90dXRhciBoZXNhYsSxbmRhIGZpeWF0xLFuIFRBTSAoeXV2YXJsYW5tYW3EscWfKSBow6JsaSBrdWxsYW7EsWzEsXIg4oCUIHNl cGV0DQogICAgLy8gdG9wbGFtxLF5bGEgYmlyZWJpciB0dXRtYXPEsSBpw6dpbi4gR8O2csO8bmVuIGJpcmltIGZpeWF0IHlpbmUgJ2ZpeWF0JyAoMiBvbmRh bMSxaykuDQogICAgLy8gRXNraSBzYXlmYWxhcmRhIGZpeWF0VGFtIG9sbWF5YWJpbGlyOyBvIHphbWFuIGZpeWF0YSBkw7zFn2VyLg0KICAgIGZ1bmN0aW9u IHRhbUZpeWF0KHApIHsNCiAgICAgICAgY29uc3QgdiA9IChwICYmIHAuZml5YXRUYW0gIT0gbnVsbCkgPyBOdW1iZXIocC5maXlhdFRhbSkgOiBOdW1iZXIo cCAmJiBwLmZpeWF0KTsNCiAgICAgICAgcmV0dXJuIGlzRmluaXRlKHYpID8gdiA6IDA7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHVwZGF0ZUZvb3RlcigpIHsN CiAgICAgICAgY29uc3QgY2FycGFuID0gb2dyZW5jaVNheWlzaSgpOw0KICAgICAgICBjb25zdCBzdGF0cyA9IFAucmVkdWNlKChhY2MsIHApID0+IHsNCiAg ICAgICAgICAgIGlmIChwLnNlbCkgeyBhY2MuY291bnQrKzsgYWNjLml0ZW1zICs9IHAuYWRldCAqIGNhcnBhbjsgYWNjLnRvdGFsICs9IHRhbUZpeWF0KHAp ICogcC5hZGV0ICogY2FycGFuOyB9DQogICAgICAgICAgICByZXR1cm4gYWNjOw0KICAgICAgICB9LCB7IGNvdW50OiAwLCBpdGVtczogMCwgdG90YWw6IDAg fSk7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYmFkZ2UnKS50ZXh0Q29udGVudCA9IHN0YXRzLmNvdW50Ow0KICAgICAgICBpZiAo VEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIC8vIFRla2xpZiBtb2R1OiBzZcOnaW0geW9rLCB0b3BsYW0gZml5YXQgZ8O2c3RlcmlsbWV6DQogICAgICAg ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWNvdW50JykudGV4dENvbnRlbnQgPSBgTMSwU1RFREUgJHtzdGF0cy5jb3VudH0gw5xSw5xOYDsN CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcHJpY2UnKS50ZXh0Q29udGVudCA9ICdTZXBldGUgZWtsZXJrZW4gw7bEn3JlbmNp IHNhecSxc8SxIHNvcnVsdXInOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1jb3VudCcpLnRl eHRDb250ZW50ID0gYFNFw4fEsExFTjogJHtzdGF0cy5pdGVtc30gQURFVGA7DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLXBy aWNlJykudGV4dENvbnRlbnQgPSBgVE9QTEFNOiAke3N0YXRzLnRvdGFsLnRvTG9jYWxlU3RyaW5nKCd0ci1UUicsIHttaW5pbXVtRnJhY3Rpb25EaWdpdHM6 Mn0pfSBUTGA7DQogICAgICAgIH0NCiAgICB9DQogICAgZnVuY3Rpb24gcmVuZGVyUGlsbHMoKSB7DQogICAgICAgIGNvbnN0IGNhdHMgPSBbLi4ubmV3IFNl dChQLm1hcChwID0+IHAua2F0KSldOw0KICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcGlsbHMnKTsNCiAgICAgICAg ZWwuaW5uZXJIVE1MID0gJyc7DQogICAgICAgIGNvbnN0IG1ha2VCdG4gPSAobGFiZWwsIGthdCkgPT4gew0KICAgICAgICAgICAgY29uc3QgYiA9IGRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAgICAgICAgYi5jbGFzc05hbWUgPSBgcGlsbCAke2FjdGl2ZUthdCA9PT0ga2F0ID8gJ2FjdGl2 ZScgOiAnJ31gOw0KICAgICAgICAgICAgYi50ZXh0Q29udGVudCA9IGxhYmVsOw0KICAgICAgICAgICAgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgp ID0+IHsNCiAgICAgICAgICAgICAgICBhY3RpdmVLYXQgPSBrYXQ7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2RzbC1w aWxscyAucGlsbCcpLmZvckVhY2gocCA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsNCiAgICAgICAgICAgICAgICBiLmNsYXNzTGlzdC5hZGQo J2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgIHJlbmRlckdyaWQoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGI7DQogICAgICAg IH07DQogICAgICAgIGVsLmFwcGVuZENoaWxkKG1ha2VCdG4oJ1TDvG3DvCcsICd0dW11JykpOw0KICAgICAgICBjYXRzLmZvckVhY2goYyA9PiBlbC5hcHBl bmRDaGlsZChtYWtlQnRuKGMsIGMpKSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHJlbmRlckdyaWQoKSB7DQogICAgICAgIGNvbnN0IGdyaWQgPSBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnZHNsLWdyaWQnKTsNCiAgICAgICAgZ3JpZC5pbm5lckhUTUwgPSAnJzsNCiAgICAgICAgbGV0IHNob3duID0gMDsNCiAgICAg ICAgUC5mb3JFYWNoKChwLCBpZHgpID0+IHsNCiAgICAgICAgICAgIGlmIChhY3RpdmVLYXQgIT09ICd0dW11JyAmJiBwLmthdCAhPT0gYWN0aXZlS2F0KSBy ZXR1cm47DQogICAgICAgICAgICBzaG93bisrOw0KDQogICAgICAgICAgICBjb25zdCBjYXJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQog ICAgICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgICAgICAvLyDDnHLDvG4gw6fEsWthcm1hL2VrbGVtZSB5b2s6IHNlw6dpbSBrdXR1 c3UgeW9rLCBrYXJ0IHTEsWtsYW1hc8SxIGJpciDFn2V5DQogICAgICAgICAgICAgICAgLy8geWFwbWF6LiBHw7Zyc2VsIC8gRGV0YXkgxLBuY2VsZSBpbGUg YcOnxLFrbGFtYSBtb2RhbMSxIGHDp8SxbMSxcjsgYWRldCBraWxpdGxpLg0KICAgICAgICAgICAgICAgIGNhcmQuY2xhc3NOYW1lID0gJ3BjJzsNCiAgICAg ICAgICAgICAgICBjYXJkLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JzsNCiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAgICAgICAgICAg ICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0icGMtaW1nIiBzcmM9IiR7cC5p bWd9IiBhbHQ9IiR7cC5pc2ltfSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAg ICAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9Il9ibGFuayI+ JHtwLmthdH08L2E+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwYy1uYW1lIiBocmVmPSIvdXJ1bi8ke3Auc2x1Z30iIHRhcmdldD0iX2JsYW5r Ij4ke3AuaXNpbX08L2E+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBjLXByaWNlLXJvdyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8 c3BhbiBjbGFzcz0icGMtcHJpY2UiPiR7cC5maXlhdC50b0xvY2FsZVN0cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVEw8L3Nw YW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIGA7DQogICAgICAgICAgICAgICAgY29uc3QgaW0gPSBjYXJkLnF1ZXJ5 U2VsZWN0b3IoJy5wYy1pbWcnKTsNCiAgICAgICAgICAgICAgICBpbS5zdHlsZS5jdXJzb3IgPSAnem9vbS1pbic7DQogICAgICAgICAgICAgICAgaW0uYWRk RXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9kYWxEaXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY29uc3QgZGIgPSBkb2N1bWVudC5j cmVhdGVFbGVtZW50KCdidXR0b24nKTsNCiAgICAgICAgICAgICAgICBkYi5jbGFzc05hbWUgPSAnYnRuLWRldCc7DQogICAgICAgICAgICAgICAgZGIudGV4 dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9kYWxE aXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY2FyZC5hcHBlbmRDaGlsZChkYik7DQogICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IGRvY3VtZW50 LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIGluZm8uY2xhc3NOYW1lID0gJ3Rla2xpZi1hZGV0JzsNCiAgICAgICAgICAgICAgICBp bmZvLmlubmVySFRNTCA9IGA8c3Bhbj7DlsSfcmVuY2kgYmHFn8SxbmEgPGI+JHtwLmFkZXR9PC9iPiBhZGV0PC9zcGFuPmA7DQogICAgICAgICAgICAgICAg Y2FyZC5hcHBlbmRDaGlsZChpbmZvKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FyZC5jbGFzc05hbWUgPSBgcGMgJHtwLnNl bCA/ICdzZWwnIDogJ3Bhcyd9YDsNCiAgICAgICAgICAgICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdG9nZ2xlUChpZHgpKTsN CiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYy1jaGsiPg0KICAgICAgICAgICAgICAg ICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giICR7cC5zZWwgPyAnY2hlY2tlZCcgOiAnJ30gb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4N CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vYi1jIj4ke3Auc2VsID8gJ+KckycgOiAnJ308L3NwYW4+DQogICAgICAgICAgICAgICAgPC9k aXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwYy1pbWciIHNy Yz0iJHtwLmltZ30iIGFsdD0iJHtwLmlzaW19IiBvbmVycm9yPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnIj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4N CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9Il9ibGFuayIg b25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3Aua2F0fTwvYT4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtbmFtZSIgaHJlZj0i L3VydW4vJHtwLnNsdWd9IiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3AuaXNpbX08L2E+DQogICAgICAg ICAgICAgICAgPGRpdiBjbGFzcz0icGMtcHJpY2Utcm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjLXByaWNlIj4ke3AuZml5YXQu dG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyfSl9IFRMPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAg ICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBjb25zdCBkYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAgICAgICAgICAg IGRiLmNsYXNzTmFtZSA9ICdidG4tZGV0JzsgZGIudGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIuYWRkRXZlbnRM aXN0ZW5lcignY2xpY2snLCBlID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgb3Blbk1vZGFsRGlyZWN0KGlkeCk7IH0pOw0KICAgICAgICAgICAgICAgIGNh cmQucXVlcnlTZWxlY3RvcignLnBjLWltZycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IG9wZW5Nb2Rh bERpcmVjdChpZHgpOyB9KTsNCiAgICAgICAgICAgICAgICBjYXJkLmFwcGVuZENoaWxkKGRiKTsNCiAgICAgICAgICAgICAgICBjb25zdCBxciA9IGRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIHFyLmNsYXNzTmFtZSA9ICdxdHktcm93JzsNCiAgICAgICAgICAgICAgICBxci5h ZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSk7DQogICAgICAgICAgICAgICAgcXIuaW5uZXJIVE1MID0gYA0KICAg ICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJxdHktYnRuIiAkeyFwLnNlbCA/ICdkaXNhYmxlZCcgOiAnJ30+LTwvYnV0dG9uPg0KICAgICAgICAg ICAgICAgICAgICA8c3BhbiBjbGFzcz0icXR5LW51bSI+JHtwLmFkZXR9PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJxdHkt YnRuIj4rPC9idXR0b24+DQogICAgICAgICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBxci5xdWVyeVNlbGVjdG9yKCdidXR0b246Zmlyc3QtY2hpbGQn KS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIC0xKSk7DQogICAgICAgICAgICAgICAgcXIucXVlcnlTZWxlY3Rvcign YnV0dG9uOmxhc3QtY2hpbGQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIDEpKTsNCiAgICAgICAgICAgICAgICBj YXJkLmFwcGVuZENoaWxkKHFyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGdyaWQuYXBwZW5kQ2hpbGQoY2FyZCk7DQogICAgICAgIH0pOw0KICAg ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWVtcHR5Jykuc3R5bGUuZGlzcGxheSA9IHNob3duID09PSAwID8gJ2Jsb2NrJyA6ICdub25lJzsN CiAgICAgICAgdXBkYXRlRm9vdGVyKCk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHRvZ2dsZVAoaSkgeyBQW2ldLnNlbCA9ICFQW2ldLnNlbDsgcmVuZGVyR3Jp ZCgpOyB9DQogICAgZnVuY3Rpb24gY2hhbmdlUXR5KGksIGQpIHsNCiAgICAgICAgY29uc3QgbiA9IFBbaV0uYWRldCArIGQ7DQogICAgICAgIGlmIChuIDw9 IDApIHsgUFtpXS5hZGV0ID0gMTsgUFtpXS5zZWwgPSBmYWxzZTsgfQ0KICAgICAgICBlbHNlIHsgUFtpXS5hZGV0ID0gbjsgaWYgKGQgPiAwKSBQW2ldLnNl bCA9IHRydWU7IH0NCiAgICAgICAgcmVuZGVyR3JpZCgpOw0KICAgICAgICBpZiAobW9kYWxJZHggPT09IGkpIHVwZGF0ZU1vZGFsVUkoKTsNCiAgICB9DQog ICAgZnVuY3Rpb24gb3Blbk1vZGFsRGlyZWN0KGkpIHsNCiAgICAgICAgbW9kYWxJZHggPSBpOw0KICAgICAgICBjb25zdCBwID0gUFtpXTsNCg0KICAgICAg ICB1cGRhdGVNb2RhbFVJKCk7DQoNCiAgICAgICAgY29uc3QgZGVzY0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWRlc2MnKTsNCiAgICAg ICAgZGVzY0VsLmlubmVySFRNTCA9IChwLmRldGF5IHx8ICdEZXRheSBidWx1bmFtYWTEsS4nKSArIGANCiAgICAgICAgICAgIDxicj4NCiAgICAgICAgICAg IDxhIGhyZWY9Ii91cnVuLyR7cC5zbHVnfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJtLWxpbmstbW9yZSI+DQogICAgICAgICAgICAgICAgVMO8bSDDlnpl bGxpa2xlcmkgxLBuY2VsZQ0KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xv ciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICAgICAgICAgICAgICAgICAgICA8 cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiI+PC9wYXRoPg0KICAgICAgICAgICAgICAg ICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAzIDIxIDMgMjEgOSI+PC9wb2x5bGluZT4NCiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEwIiB5MT0i MTQiIHgyPSIyMSIgeTI9IjMiPjwvbGluZT4NCiAgICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICAgIDwvYT4NCiAgICAgICAgYDsNCg0KICAgICAg ICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubS1zY3JvbGwtYXJlYScpLnNjcm9sbFRvcCA9IDA7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJzsNCiAg ICB9DQogICAgZnVuY3Rpb24gdXBkYXRlTW9kYWxVSSgpIHsNCiAgICAgICAgaWYobW9kYWxJZHggPT09IC0xKSByZXR1cm47DQogICAgICAgIGNvbnN0IHAg PSBQW21vZGFsSWR4XTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWltZycpLnNyYyA9IHAuaW1nOw0KICAgICAgICBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tc2t1JykudGV4dENvbnRlbnQgPSBgw5xyw7xuIEtvZHUgwrcgJHtwLnNrdX1gOw0KICAgICAgICBkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCgnZHNsLW0tdGl0bGUnKS50ZXh0Q29udGVudCA9IHAuaXNpbTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1t LWNhdCcpLnRleHRDb250ZW50ID0gcC5rYXQ7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1yZWMnKS50ZXh0Q29udGVudCA9IFRF S0xJRl9NT0RVDQogICAgICAgICAgICA/IGDDlsSfcmVuY2kgYmHFn8SxbmEgJHtwLmFkZXR9IGFkZXRgDQogICAgICAgICAgICA6IGAke3AuYWRldH0gQWRl dGA7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1wcmljZScpLnRleHRDb250ZW50ID0gYCR7cC5maXlhdC50b0xvY2FsZVN0cmlu ZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVExgOw0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tcXR5Jyku dGV4dENvbnRlbnQgPSBwLmFkZXQ7DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgbW9kYWwgc2FkZWNlIGJpbGdpIGFtYcOnbMSxOiBsaXN0ZSBla2xl L8OnxLFrYXIgYnV0b251IHlvaw0KICAgICAgICBpZiAoIVRFS0xJRl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgnZHNsLW0tYnRuJyk7DQogICAgICAgICAgICBidG4udGV4dENvbnRlbnQgPSBwLnNlbCA/ICdMaXN0ZWRlIOKckycgOiAnTGlzdGV5ZSBFa2xl JzsNCiAgICAgICAgICAgIGJ0bi5jbGFzc05hbWUgPSBwLnNlbCA/ICdtYnRuIGlubCcgOiAnbWJ0biBhZGQnOw0KICAgICAgICB9DQogICAgfQ0KICAgIGZ1 bmN0aW9uIGNsb3NlTW9kYWwoKSB7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QucmVtb3ZlKCdvcGVu Jyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsNCiAgICAgICAgbW9kYWxJZHggPSAtMTsNCiAgICB9DQogICAgZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tY2xzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZU1vZGFsKTsNCiAgICBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgnZHNsLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7IGlmIChlLnRhcmdldCA9PT0gdGhpcykgY2xvc2VN b2RhbCgpOyB9KTsNCg0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1taW51cycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4g eyBpZiAobW9kYWxJZHggPiAtMSkgY2hhbmdlUXR5KG1vZGFsSWR4LCAtMSk7IH0pOw0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1wbHVz JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IGlmIChtb2RhbElkeCA+IC0xKSBjaGFuZ2VRdHkobW9kYWxJZHgsIDEpOyB9KTsNCiAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7DQogICAgICAgIGlmIChtb2RhbElk eCA9PT0gLTEpIHJldHVybjsNCiAgICAgICAgdG9nZ2xlUChtb2RhbElkeCk7DQogICAgICAgIHVwZGF0ZU1vZGFsVUkoKTsNCiAgICB9KTsNCiAgICBkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1hbGwnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsNCiAgICAgICAgY29uc3QgdmlzID0g UC5maWx0ZXIocCA9PiBhY3RpdmVLYXQgPT09ICd0dW11JyB8fCBwLmthdCA9PT0gYWN0aXZlS2F0KTsNCiAgICAgICAgY29uc3QgYWxsID0gdmlzLmV2ZXJ5 KHAgPT4gcC5zZWwpOw0KICAgICAgICB2aXMuZm9yRWFjaChwID0+IHAuc2VsID0gIWFsbCk7DQogICAgICAgIHJlbmRlckdyaWQoKTsNCiAgICB9KTsNCg0K ICAgIC8vIG9wdHMgaWxlIGJhxZ9sxLFrL2FsdCB5YXrEsS9vbmF5IGV0aWtldGkgZGXEn2nFn3RpcmlsZWJpbGlyOyB2ZXJpbG1lenNlIHNlcGV0ZQ0KICAg IC8vIGVrbGVtZSBtZXRpbmxlcmkga3VsbGFuxLFsxLFyIChtZXZjdXQgw6dhxJ9yxLFsYXIgYXluZW4gw6dhbMSxxZ9zxLFuIGRpeWUpLg0KICAgIGZ1bmN0 aW9uIGFza09ncmVuY2lTYXlpc2kob3B0cykgew0KICAgICAgICBjb25zdCBvID0gb3B0cyB8fCB7fTsNCiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChy ZXNvbHZlKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhc2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzaycpOw0KICAgICAgICAgICAgY29u c3QgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2staW5wdXQnKTsNCiAgICAgICAgICAgIGNvbnN0IGVyciA9IGRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCdkc2wtYXNrLWVycicpOw0KICAgICAgICAgICAgY29uc3QgYnRuT2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzay1vaycp Ow0KICAgICAgICAgICAgY29uc3QgYnRuQ2FuY2VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2stY2FuY2VsJyk7DQogICAgICAgICAgICBj b25zdCBlbEJhc2xpayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYXNrLXRpdGxlJyk7DQogICAgICAgICAgICBjb25zdCBlbEFsdCA9IGRvY3Vt ZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtYXNrIC5hc2stc3ViJyk7DQogICAgICAgICAgICBpZiAoZWxCYXNsaWspIGVsQmFzbGlrLnRleHRDb250ZW50ID0g by5iYXNsaWsgfHwgJ0thw6cgw7bEn3JlbmNpeWUgc2lwYXJpxZ8gZ2XDp2lsZWNlaz8nOw0KICAgICAgICAgICAgaWYgKGVsQWx0KSBlbEFsdC50ZXh0Q29u dGVudCA9IG8uYWx0WWF6aSB8fCAnTGlzdGVkZWtpIMO8csO8biBhZGV0bGVyaSBnaXJkacSfaW5peiDDtsSfcmVuY2kgc2F5xLFzxLF5bGEgw6dhcnDEsWxh cmFrIHNlcGV0ZSBla2xlbmVjZWt0aXIuJzsNCiAgICAgICAgICAgIGJ0bk9rLnRleHRDb250ZW50ID0gby5vbmF5RXRpa2V0aSB8fCAnU2VwZXRlIEVrbGUn Ow0KICAgICAgICAgICAgZXJyLnRleHRDb250ZW50ID0gJyc7DQogICAgICAgICAgICBpbnAudmFsdWUgPSAnMSc7DQogICAgICAgICAgICBhc2suY2xhc3NM aXN0LmFkZCgnb3BlbicpOw0KICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOw0KICAgICAgICAgICAgc2V0VGlt ZW91dCgoKSA9PiB7IGlucC5mb2N1cygpOyBpbnAuc2VsZWN0KCk7IH0sIDUwKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24ga2FwYXQodmFsKSB7DQogICAg ICAgICAgICAgICAgYXNrLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsNCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk c2wtbW9kYWwnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgew0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93 ID0gJyc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGJ0bk9rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25Payk7DQogICAg ICAgICAgICAgICAgYnRuQ2FuY2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgICAgIGFzay5yZW1vdmVF dmVudExpc3RlbmVyKCdjbGljaycsIG9uQmFja2Ryb3ApOw0KICAgICAgICAgICAgICAgIGlucC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25L ZXkpOw0KICAgICAgICAgICAgICAgIHJlc29sdmUodmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uT2soKSB7DQogICAgICAg ICAgICAgICAgY29uc3QgbiA9IE1hdGguZmxvb3IoTnVtYmVyKGlucC52YWx1ZSkpOw0KICAgICAgICAgICAgICAgIGlmICghbiB8fCBuIDwgMSkgew0KICAg ICAgICAgICAgICAgICAgICBlcnIudGV4dENvbnRlbnQgPSAnTMO8dGZlbiBnZcOnZXJsaSBiaXIgw7bEn3JlbmNpIHNhecSxc8SxIGdpcmluIChlbiBheiAx KS4nOw0KICAgICAgICAgICAgICAgICAgICBpbnAuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgICBrYXBhdChuKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uQ2FuY2VsKCkgeyBrYXBhdChudWxsKTsgfQ0K ICAgICAgICAgICAgZnVuY3Rpb24gb25CYWNrZHJvcChlKSB7IGlmIChlLnRhcmdldCA9PT0gYXNrKSBrYXBhdChudWxsKTsgfQ0KICAgICAgICAgICAgZnVu Y3Rpb24gb25LZXkoZSkgew0KICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IG9uT2soKTsgfQ0K ICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvbkNhbmNlbCgpOyB9DQogICAgICAgICAgICB9 DQogICAgICAgICAgICBidG5Pay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9uT2spOw0KICAgICAgICAgICAgYnRuQ2FuY2VsLmFkZEV2ZW50TGlzdGVu ZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgYXNrLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25CYWNrZHJvcCk7DQogICAgICAgICAg ICBpbnAuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5KTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYXN5bmMgZnVuY3Rpb24gc2VwZXRl RWtsZShzZWwsIHN0dWRlbnRDb3VudCkgew0KICAgICAgICBjb25zdCBvdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtb3YnKTsNCiAgICAgICAg Y29uc3QgYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1iYXInKTsNCg0KICAgICAgICBmdW5jdGlvbiBhbnRpY3NyZkFsKCkgew0KICAgICAg ICAgICAgY29uc3QgbWV0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0iYW50aWNzcmYiXScpOw0KICAgICAgICAgICAgcmV0dXJuIHdp bmRvdy5hbnRpY3NyZiB8fCAodHlwZW9mIGFudGljc3JmICE9PSAndW5kZWZpbmVkJyA/IGFudGljc3JmIDogJycpIHx8IChtZXRhICYmIG1ldGEuY29udGVu dCkgfHwgJyc7DQogICAgICAgIH0NCg0KICAgICAgICBjb25zdCBla3Npa0lkID0gc2VsLmZpbHRlcihwID0+ICEocC5pZCB8fCBza3VNYXBbcC5za3VdKSk7 DQogICAgICAgIGlmIChla3Npa0lkLmxlbmd0aCkgew0KICAgICAgICAgICAgYWxlcnQoJ8WedSDDvHLDvG5sZXIgc2lzdGVtIElEIGVrc2lrIG9sZHXEn3Ug acOnaW4gc2VwZXRlIGVrbGVuZW1lejpcblxuJyArDQogICAgICAgICAgICAgICAgZWtzaWtJZC5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4oJ1xu JykgKw0KICAgICAgICAgICAgICAgICdcblxuU2F5ZmF5xLEgRWxlY3Ryb25cJ2RhbiBzaXN0ZW0gw7xyw7xubGVyaXlsZSB5ZW5pZGVuIMO8cmV0aW4uJyk7 DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAvLyBWYXJ5YW50bMSxIEFOQSDDvHLDvG4gKHJlbmsvbW9kZWwgc2XDp2lsbWVt acWfIGthecSxdCkgL2NhcnQvYWRkX2l0ZW0gaWxlDQogICAgICAgIC8vIGVrbGVuZW1peW9yOiBtYcSfYXphIMO2bmNlIHNlw6dlbmXEn2luIGJlbGlybGVu bWVzaW5pIGlzdGl5b3IuIEJ1bmxhcsSxDQogICAgICAgIC8vIGlzdGXEn2UgaGnDpyBzb2ttdXlvcnV6IOKAlCBha3NpIGhhbGRlIG3DvMWfdGVyaSBhbmxh xZ/EsWxtYXogYmlyIGhhdGEgYWzEsXANCiAgICAgICAgLy8gc2VwZXRpbiB5YXLEsXPEsSBla3NpayBrYWzEsXlvcmR1Lg0KICAgICAgICBjb25zdCB2YXJ5 YW50bGlPbGFubGFyID0gc2VsLmZpbHRlcihwID0+IHAudmFyeWFudGxpKTsNCiAgICAgICAgaWYgKHZhcnlhbnRsaU9sYW5sYXIubGVuZ3RoKSB7DQogICAg ICAgICAgICBhbGVydCgnxZ51IMO8csO8bmxlciByZW5rL21vZGVsIHNlw6dpbWkgZ2VyZWt0aXJkacSfaSBpw6dpbiB0b3BsdWNhIHNlcGV0ZSBla2xlbmVt aXlvcjpcblxuJyArDQogICAgICAgICAgICAgICAgdmFyeWFudGxpT2xhbmxhci5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4oJ1xuJykgKw0KICAg ICAgICAgICAgICAgICdcblxuQnUgw7xyw7xubGVyaSBsaXN0ZWRlbiDDp8Sxa2FyxLFwICh2ZXlhIGtlbmRpIMO8csO8biBzYXlmYWxhcsSxbmRhbiBpc3Rl ZGnEn2luaXogJyArDQogICAgICAgICAgICAgICAgJ3JlbmdpL21vZGVsaSBzZcOnZXJlaykgdGVrcmFyIGRlbmV5aW4uIERpxJ9lciDDvHLDvG5sZXIgacOn aW4gIlNlcGV0ZSBFa2xlInllICcgKw0KICAgICAgICAgICAgICAgICd5ZW5pZGVuIGJhc21hbsSxeiB5ZXRlcmxpLicpOw0KICAgICAgICAgICAgcmV0dXJu Ow0KICAgICAgICB9DQoNCiAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAgICAgb3YucXVl cnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi10aXRsZScpLnRleHRD b250ZW50ID0gJ1NlcGV0ZSBFa2xlbml5b3IuLi4nOw0KICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtZGV0YWlsJykudGV4dENvbnRlbnQgPSAnTMO8 dGZlbiBiZWtsZXlpbml6JzsNCiAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzAlJzsNCiAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsNCg0K ICAgICAgICBjb25zdCBoYXRhbGFyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbC5sZW5ndGg7IGkr Kykgew0KICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBzZWxbaV07DQogICAgICAgICAgICAgICAgY29uc3QgcGlkID0gU3RyaW5nKHAuaWQgfHwgc2t1TWFw W3Auc2t1XSB8fCAnJyk7DQogICAgICAgICAgICAgICAgY29uc3QgcXR5ID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihOdW1iZXIocC5hZGV0KSB8fCAxKSAq IE1hdGguZmxvb3IoTnVtYmVyKHN0dWRlbnRDb3VudCkgfHwgMSkpOw0KDQogICAgICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gYCR7TWF0aC5yb3Vu ZCgoaSAvIHNlbC5sZW5ndGgpICogOTApfSVgOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1jbnQnKS50ZXh0Q29udGVudCA9IGAk e2kgKyAxfSAvICR7c2VsLmxlbmd0aH1gOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9IHAu aXNpbTsNCg0KICAgICAgICAgICAgICAgIGNvbnN0IGZkID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7DQogICAgICAgICAgICAgICAgICAgIGFudGljc3JmOiBh bnRpY3NyZkFsKCksDQogICAgICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogcGlkLA0KICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTogU3RyaW5nKHF0 eSkNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCgnL2NhcnQvYWRkX2l0ZW0nLCB7DQogICAg ICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLCBib2R5OiBmZCwgY3JlZGVudGlhbHM6ICdpbmNsdWRlJywNCiAgICAgICAgICAgICAgICAgICAgaGVh ZGVyczogew0KICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLA0KICAg ICAgICAgICAgICAgICAgICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg ICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzLnRleHQoKTsNCiAgICAgICAgICAgICAgICBsZXQgb2sgPSByZXMu b2ssIG1lc2FqID0gJyc7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaiA9IEpTT04ucGFyc2UoYm9keSk7DQog ICAgICAgICAgICAgICAgICAgIGlmIChqICYmIChqLnN0YXR1cyA9PT0gJ2Vycm9yJyB8fCBqLnN1Y2Nlc3MgPT09IGZhbHNlIHx8IGouZXJyb3IpKSB7DQog ICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzYWogPSBqLmVycm9yTWVzc2FnZSB8fCBqLm1l c3NhZ2UgfHwgKGouZXJyb3IgJiYgai5lcnJvci5tZXNzYWdlKSB8fCAnJzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0gY2F0 Y2ggKF8pIHsgLyogSFRNTCBjZXZhcCBvbGFiaWxpcjsgc3RhdHVzLmNvZGUgeWV0ZXJsaSAqLyB9DQogICAgICAgICAgICAgICAgaWYgKCFvaykgew0KICAg ICAgICAgICAgICAgICAgICBoYXRhbGFyLnB1c2gocC5pc2ltICsgKG1lc2FqID8gJyDigJQgJyArIG1lc2FqIDogKHJlcy5zdGF0dXMgPyBgIChIVFRQICR7 cmVzLnN0YXR1c30pYCA6ICcnKSkpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoaSA8IHNlbC5sZW5ndGggLSAxKSBhd2FpdCBu ZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTAwMCkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGhhdGFsYXIubGVuZ3RoKSB7DQog ICAgICAgICAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgICAgICBhbGVydCgnQmF6xLEgw7xyw7xubGVyIHNlcGV0ZSBl a2xlbmVtZWRpOlxuXG4nICsNCiAgICAgICAgICAgICAgICAgICAgaGF0YWxhci5tYXAoaCA9PiAn4oCiICcgKyBoKS5qb2luKCdcbicpICsNCiAgICAgICAg ICAgICAgICAgICAgJ1xuXG5TZXBldGkga29udHJvbCBlZGlwIGthbGFuIMO8csO8bmxlciBpw6dpbiB0ZWtyYXIgZGVuZXlpbi4nKTsNCiAgICAgICAgICAg ICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoS1VQT04pIHsNCiAgICAgICAgICAgICAgICBiYXIuc3R5bGUud2lkdGggPSAn OTIlJzsNCiAgICAgICAgICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtdGl0bGUnKS50ZXh0Q29udGVudCA9ICdLdXBvbiBVeWd1bGFuxLF5b3IuLi4n Ow0KICAgICAgICAgICAgICAgIGF3YWl0IGZldGNoKCcvaGVkaXllLWNla2kta3VsbGFuJywgew0KICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NU JywNCiAgICAgICAgICAgICAgICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGFudGljc3JmOiBhbnRpY3NyZkFsKCksIGNvZGU6IEtVUE9OIH0p LA0KICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLA0KICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7DQogICAgICAgICAg ICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsDQogICAgICAgICAgICAgICAgICAgICAg ICAnWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzEwMCUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHls ZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0KICAg ICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm92LXRpdGxlJykudGV4dENvbnRlbnQgPSAnVGFtYW1sYW5kxLEhJzsNCiAgICAgICAgICAgIG92LnF1ZXJ5 U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9ICdZw7ZubGVuZGlyaWxpeW9yc3VudXouLi4nOw0KDQogICAgICAgICAgICBhd2FpdCBuZXcg UHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgODAwKSk7DQogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VwZXQnOw0KICAgICAgICB9 IGNhdGNoKGUpIHsNCiAgICAgICAgICAgIG92LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICBhbGVydChgSGF0YTogJHtlLm1lc3NhZ2V9 YCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1jYXJ0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xp Y2snLCBhc3luYyAoKSA9PiB7DQogICAgICAgIGNvbnN0IHNlbCA9IFAuZmlsdGVyKHAgPT4gcC5zZWwgJiYgcC5hZGV0ID4gMCk7DQogICAgICAgIGlmICgh c2VsLmxlbmd0aCkgcmV0dXJuIGFsZXJ0KCdMw7x0ZmVuIGVuIGF6IGJpciDDvHLDvG4gc2XDp2luLicpOw0KDQogICAgICAgIGxldCBzdHVkZW50Q291bnQg PSAxOw0KICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIGNvbnN0IGNldmFwID0gYXdhaXQgYXNrT2dyZW5jaVNheWlzaSgpOw0KICAg ICAgICAgICAgaWYgKGNldmFwID09PSBudWxsKSByZXR1cm47DQogICAgICAgICAgICBzdHVkZW50Q291bnQgPSBjZXZhcDsNCiAgICAgICAgfQ0KICAgICAg ICBhd2FpdCBzZXBldGVFa2xlKHNlbCwgc3R1ZGVudENvdW50KTsNCiAgICB9KTsNCiAgICAvLyBUZWtsaWYgbW9kdTogw7xyw7xuIHNlw6dtZS/Dp8Sxa2Fy bWEgeW9rIOKGkiAiVMO8bcO8bsO8IHNlw6cva2FsZMSxciIgZ2l6bGk7IG1vZGFsDQogICAgLy8gc2FkZWNlIGHDp8Sxa2xhbWEgZ8O2c3RlcmlyIOKGkiBh ZGV0ICsvLSB2ZSAiTGlzdGV5ZSBFa2xlIiBnaXpsaS4NCiAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgY29uc3QgYnRuQWxsID0gZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQoJ2RzbC1idG4tYWxsJyk7DQogICAgICAgIGlmIChidG5BbGwpIGJ0bkFsbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAg ICBjb25zdCBtcSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtbW9kYWwgLm1xdHknKTsNCiAgICAgICAgaWYgKG1xKSBtcS5zdHlsZS5kaXNwbGF5 ID0gJ25vbmUnOw0KICAgICAgICBjb25zdCBtQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWJ0bicpOw0KICAgICAgICBpZiAobUJ0bikg bUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgIH0NCiAgICAvKiAtLS0tLS0tLS0tIMSwbmRpciAvIFlhemTEsXIgLS0tLS0tLS0tLQ0KICAgICAg IExpc3RleWkgeWF6ZMSxcsSxbGFiaWxpciB0ZWsgZG9zeWEgSFRNTCBvbGFyYWsgaW5kaXJpci4gVmVyaXlpIGRvxJ9ydWRhbiBQJ2Rlbg0KICAgICAgIG9r dXIgKGdyaWQgeWFsbsSxemNhIHNlw6dpbGkga2F0ZWdvcml5aSDDp2l6ZGnEn2kgacOnaW4gRE9NJ2RhbiBva3VtYWsgZWtzaWsNCiAgICAgICBsaXN0ZSDD vHJldGlyZGkpLiBUZWtsaWYgbW9kdW5kYSBhZGV0bGVyIMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbMSxci4gKi8NCiAgICBmdW5jdGlvbiBlc2NI dG1sKHMpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZyhzID09IG51bGwgPyAnJyA6IHMpDQogICAgICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5y ZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpLnJlcGxhY2UoLyIvZywgJyZxdW90OycpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBw YXJhVFIobikgew0KICAgICAgICByZXR1cm4gTnVtYmVyKG4gfHwgMCkudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6 IDIsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMiB9KTsNCiAgICB9DQogICAgLy8gQmFzxLFsxLEgc2F5ZmEgYmHFn8SxbmEgc2F0xLFyIHNhecSxc8SxLiBB NCArIDEybW0ga2VuYXIgYm/Fn2x1xJ91ICsgNDRweCBnw7Zyc2VsDQogICAgLy8gacOnaW4gw7Zsw6fDvGxkw7w7IHNhdMSxcmxhciBzYXlmYXlhIHPEscSf bWF6c2EgYnUgaWtpIHNhecSxecSxIGTDvMWfw7xybWVrIHlldGVybGkuDQogICAgY29uc3QgSUxLX1NBWUZBX1NBVElSID0gMTE7ICAgLy8gaWxrIHNheWZh ZGEgbG9nbyArIGJhxZ9sxLFrIHllciBrYXDEsXlvcg0KICAgIGNvbnN0IFNBWUZBX1NBVElSID0gMTQ7DQoNCiAgICBjb25zdCBidG5JbmRpciA9IGRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYnRuLWluZGlyJyk7DQogICAgaWYgKGJ0bkluZGlyKSBidG5JbmRpci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs IGFzeW5jICgpID0+IHsNCiAgICAgICAgY29uc3Qgb2t1bCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZHNsIC5oZC1uYW1lJykgfHwge30pLnRleHRD b250ZW50IHx8ICcnOw0KICAgICAgICBjb25zdCBiYXNsaWsgPSAoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wgLmhkLXRpdGxlJykgfHwge30pLnRl eHRDb250ZW50IHx8ICdLxLFydGFzaXllIExpc3Rlc2knKS50cmltKCk7DQogICAgICAgIC8vIFRla2xpZiBtb2R1bmRhIHNlw6dpbSB5b2s7IG5vcm1hbCBt b2RkYSBzYWRlY2UgacWfYXJldGxpIMO8csO8bmxlcg0KICAgICAgICBjb25zdCBzZWNpbGkgPSBQLmZpbHRlcihwID0+IFRFS0xJRl9NT0RVIHx8IHAuc2Vs KTsNCiAgICAgICAgaWYgKCFzZWNpbGkubGVuZ3RoKSB7IGFsZXJ0KCdMaXN0ZWRlIGnFn2FyZXRsaSDDvHLDvG4geW9rLiBFbiBheiBiaXIgw7xyw7xuIHNl w6dpbi4nKTsgcmV0dXJuOyB9DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgYWRldGxlciDDtsSfcmVuY2kgYmHFn8SxbmFkxLFyOyBrYcOnIMO2xJ9y ZW5jaSBpw6dpbiBiYXPEsWxhY2HEn8SxbsSxIHNvci4NCiAgICAgICAgbGV0IGNhcnBhbiA9IG9ncmVuY2lTYXlpc2koKTsNCiAgICAgICAgaWYgKFRFS0xJ Rl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBjZXZhcCA9IGF3YWl0IGFza09ncmVuY2lTYXlpc2koew0KICAgICAgICAgICAgICAgIGJhc2xpazogJ0th w6cgw7bEn3JlbmNpIGnDp2luIGxpc3RlIGluZGlyaWxlY2VrPycsDQogICAgICAgICAgICAgICAgYWx0WWF6aTogJ0xpc3RlZGVraSBhZGV0bGVyIGdpcmRp xJ9pbml6IMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbGFyYWsgeWF6ZMSxcsSxbMSxci4nLA0KICAgICAgICAgICAgICAgIG9uYXlFdGlrZXRpOiAn xLBuZGlyJw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBpZiAoY2V2YXAgPT09IG51bGwpIHJldHVybjsgICAvLyBpcHRhbCBlZGlsZGksIGRvc3lh IGlubWVzaW4NCiAgICAgICAgICAgIGNhcnBhbiA9IGNldmFwOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gLS0tIHNhdMSxcmxhcsSxIMO8cmV0LCBzYXlm YWxhcmEgYsO2bCAtLS0NCiAgICAgICAgbGV0IHRvcGxhbSA9IDA7DQogICAgICAgIGNvbnN0IHNhdGlybGFyID0gc2VjaWxpLm1hcChwID0+IHsNCiAgICAg ICAgICAgIGNvbnN0IGFkZXQgPSAoTnVtYmVyKHAuYWRldCkgfHwgMSkgKiBjYXJwYW47DQogICAgICAgICAgICBjb25zdCB0dXRhciA9IHRhbUZpeWF0KHAp ICogYWRldDsgICAvLyB0YW0gZml5YXR0YW47IHNlcGV0IHRvcGxhbcSxeWxhIHR1dGFyDQogICAgICAgICAgICB0b3BsYW0gKz0gdHV0YXI7DQogICAgICAg ICAgICBjb25zdCBnb3JzZWwgPSBwLmltZw0KICAgICAgICAgICAgICAgID8gJzxpbWcgc3JjPSInICsgZXNjSHRtbChwLmltZykgKyAnIiBhbHQ9IiIgb25l cnJvcj0idGhpcy5wYXJlbnROb2RlLmlubmVySFRNTD1cJyZtZGFzaDtcJyI+Jw0KICAgICAgICAgICAgICAgIDogJyZtZGFzaDsnOw0KICAgICAgICAgICAg cmV0dXJuIHsNCiAgICAgICAgICAgICAgICB0dXRhcjogdHV0YXIsDQogICAgICAgICAgICAgICAgaHRtbDogJzx0cj48dGQgY2xhc3M9ImciPicgKyBnb3Jz ZWwgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iYmsiPicgKyAocC5za3UgPyBlc2NIdG1sKHAuc2t1KSA6ICcmbWRhc2g7 JykgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZD4nICsgZXNjSHRtbChwLmthdCkgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAg ICAgJzx0ZD4nICsgZXNjSHRtbChwLmlzaW0pICsgJzwvdGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9ImMiPicgKyBhZGV0ICsgJzwv dGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9InIiPicgKyBwYXJhVFIocC5maXlhdCkgKyAnIFRMPC90ZD4nICsNCiAgICAgICAgICAg ICAgICAgICAgJzx0ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0dXRhcikgKyAnIFRMPC90ZD48L3RyPicNCiAgICAgICAgICAgIH07DQogICAgICAgIH0pOw0K DQogICAgICAgIGNvbnN0IHNheWZhbGFyID0gW107DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2F0aXJsYXIubGVuZ3RoOykgew0KICAgICAgICAg ICAgY29uc3QgYm95dXQgPSBzYXlmYWxhci5sZW5ndGggPT09IDAgPyBJTEtfU0FZRkFfU0FUSVIgOiBTQVlGQV9TQVRJUjsNCiAgICAgICAgICAgIHNheWZh bGFyLnB1c2goc2F0aXJsYXIuc2xpY2UoaSwgaSArIGJveXV0KSk7DQogICAgICAgICAgICBpICs9IGJveXV0Ow0KICAgICAgICB9DQoNCiAgICAgICAgY29u c3QgYmFzbGlnaVRhbSA9IChva3VsLnRyaW0oKSA/IG9rdWwudHJpbSgpICsgJyDigJQgJyA6ICcnKSArIGJhc2xpazsNCiAgICAgICAgY29uc3QgdGFyaWgg PSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygndHItVFInKTsNCiAgICAgICAgY29uc3Qgb2t1bExvZ28gPSAoZG9jdW1lbnQucXVlcnlTZWxlY3Rv cignI2RzbCAuaGQtcm93IGltZycpIHx8IHt9KS5zcmMgfHwgJyc7DQogICAgICAgIGNvbnN0IGJhc2xpa2xhciA9ICc8dGhlYWQ+PHRyPjx0aD5Hw7Zyc2Vs PC90aD48dGg+QmFya29kPC90aD48dGg+S2F0ZWdvcmk8L3RoPicgKw0KICAgICAgICAgICAgJzx0aD7DnHLDvG48L3RoPjx0aD5BZGV0PC90aD48dGg+Qmly aW0gRml5YXQ8L3RoPjx0aD5UdXRhcjwvdGg+PC90cj48L3RoZWFkPic7DQoNCiAgICAgICAgLy8gVGVrIHNheWZheXNhIGFyYSB0b3BsYW0gYmFzbWEg4oCU IGdlbmVsIHRvcGxhbWxhIGF5bsSxIHJha2FtIG9sdXJkdS4NCiAgICAgICAgY29uc3QgYXJhVG9wbGFtR29zdGVyID0gc2F5ZmFsYXIubGVuZ3RoID4gMTsN CiAgICAgICAgY29uc3Qgc2F5ZmFIdG1sID0gc2F5ZmFsYXIubWFwKChncnVwLCBpKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhcmFUb3BsYW0gPSBncnVw LnJlZHVjZSgodCwgcykgPT4gdCArIHMudHV0YXIsIDApOw0KICAgICAgICAgICAgY29uc3Qgc29uTXUgPSBpID09PSBzYXlmYWxhci5sZW5ndGggLSAxOw0K ICAgICAgICAgICAgcmV0dXJuICc8c2VjdGlvbiBjbGFzcz0ic2F5ZmEnICsgKHNvbk11ID8gJyBzb24nIDogJycpICsgJyI+JyArDQogICAgICAgICAgICAg ICAgKGkgPT09IDAgPyAnJyA6ICc8ZGl2IGNsYXNzPSJkZXZhbSI+JyArIGVzY0h0bWwoYmFzbGlnaVRhbSkgKyAnIOKAlCBkZXZhbcSxPC9kaXY+JykgKw0K ICAgICAgICAgICAgICAgICc8dGFibGU+JyArIGJhc2xpa2xhciArDQogICAgICAgICAgICAgICAgJzx0Ym9keT4nICsgZ3J1cC5tYXAocyA9PiBzLmh0bWwp LmpvaW4oJycpICsgJzwvdGJvZHk+JyArDQogICAgICAgICAgICAgICAgKGFyYVRvcGxhbUdvc3Rlcg0KICAgICAgICAgICAgICAgICAgICA/ICc8dGZvb3Q+ PHRyIGNsYXNzPSJhcmEiPjx0ZCBjb2xzcGFuPSI2IiBjbGFzcz0iciI+QVJBIFRPUExBTSAoc2F5ZmEgJyArDQogICAgICAgICAgICAgICAgICAgICAgKGkg KyAxKSArICcvJyArIHNheWZhbGFyLmxlbmd0aCArICcpPC90ZD48dGQgY2xhc3M9InIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgIHBhcmFUUihhcmFU b3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rmb290PicNCiAgICAgICAgICAgICAgICAgICAgOiAnJykgKw0KICAgICAgICAgICAgICAgICc8L3RhYmxlPicg Kw0KICAgICAgICAgICAgICAgIChzb25NdQ0KICAgICAgICAgICAgICAgICAgICA/ICc8dGFibGUgY2xhc3M9ImdlbmVsIj48dGJvZHk+PHRyPjx0ZCBjb2xz cGFuPSI2IiBjbGFzcz0iciI+R0VORUwgVE9QTEFNICgnICsNCiAgICAgICAgICAgICAgICAgICAgICBzZWNpbGkubGVuZ3RoICsgJyBrYWxlbSk8L3RkPjx0 ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0b3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+Jw0KICAgICAgICAgICAgICAgICAgICA6ICcn KSArDQogICAgICAgICAgICAgICAgJzwvc2VjdGlvbj4nOw0KICAgICAgICB9KS5qb2luKCcnKTsNCg0KICAgICAgICBjb25zdCBodG1sID0gJzwhRE9DVFlQ RSBodG1sPjxodG1sIGxhbmc9InRyIj48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+JyArDQogICAgICAgICAgICAnPG1ldGEgbmFtZT0idmlld3BvcnQi IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEiPicgKw0KICAgICAgICAgICAgJzx0aXRsZT4nICsgZXNjSHRtbChiYXNsaWdp VGFtKSArICc8L3RpdGxlPjxzdHlsZT4nICsNCiAgICAgICAgICAgICdAcGFnZXtzaXplOkE0O21hcmdpbjoxMm1tfScgKw0KICAgICAgICAgICAgJ2JvZHl7 Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7cGFkZGluZzoyNHB4O2NvbG9yOiMxMTE7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjowIGF1 dG99JyArDQogICAgICAgICAgICAnLmhke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2Fw OjE2cHg7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAnLmhkIGltZ3ttYXgtaGVpZ2h0OjUycHg7d2lkdGg6YXV0bztvYmplY3QtZml0OmNv bnRhaW59JyArDQogICAgICAgICAgICAnLmhkIC5vcnRhe2ZsZXg6MTt0ZXh0LWFsaWduOmNlbnRlcn0nICsNCiAgICAgICAgICAgICdoMXtmb250LXNpemU6 MTlweDttYXJnaW46MCAwIDNweH0nICsNCiAgICAgICAgICAgICcuc3Vie2NvbG9yOiM2NjY7Zm9udC1zaXplOjEycHh9JyArDQogICAgICAgICAgICAnLmRl dmFte2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiM2NjY7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAndGFibGV7d2lkdGg6MTAwJTtib3JkZXIt Y29sbGFwc2U6Y29sbGFwc2U7Zm9udC1zaXplOjEyLjVweH0nICsNCiAgICAgICAgICAgICd0YWJsZS5nZW5lbHttYXJnaW4tdG9wOjEwcHh9JyArDQogICAg ICAgICAgICAndGgsdGR7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NnB4fScgKw0KICAgICAgICAgICAgJ3Roe2JhY2tncm91bmQ6IzAwNTZiMztj b2xvcjojZmZmO3RleHQtYWxpZ246bGVmdH0nICsNCiAgICAgICAgICAgICd0ZC5je3RleHQtYWxpZ246Y2VudGVyfXRkLnJ7dGV4dC1hbGlnbjpyaWdodDt3 aGl0ZS1zcGFjZTpub3dyYXB9JyArDQogICAgICAgICAgICAndGQuYmt7Zm9udC1mYW1pbHk6Q29uc29sYXMsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2U7Zm9u dC1zaXplOjExLjVweDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MSV9JyArDQogICAgICAgICAgICAndGQuZ3t3aWR0aDo1NnB4O3BhZGRpbmc6NHB4O3Rl eHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZn0nICsNCiAgICAgICAgICAgICd0ZC5nIGltZ3t3aWR0aDo0NHB4O2hlaWdodDo0NHB4O29iamVjdC1m aXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG99JyArDQogICAgICAgICAgICAndGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pe2JhY2tncm91 bmQ6I2Y1ZjVmNX0nICsNCiAgICAgICAgICAgICd0Zm9vdCB0ZCx0YWJsZS5nZW5lbCB0ZHtmb250LXdlaWdodDpib2xkfScgKw0KICAgICAgICAgICAgJ3Rm b290IHRyLmFyYSB0ZHtiYWNrZ3JvdW5kOiNmMWY1Zjl9JyArDQogICAgICAgICAgICAndGFibGUuZ2VuZWwgdGR7YmFja2dyb3VuZDojZWVmNGZkO2ZvbnQt c2l6ZToxNHB4fScgKw0KICAgICAgICAgICAgJy5zYXlmYXtwYWdlLWJyZWFrLWFmdGVyOmFsd2F5c30uc2F5ZmEuc29ue3BhZ2UtYnJlYWstYWZ0ZXI6YXV0 b30nICsNCiAgICAgICAgICAgICcueWF6e21hcmdpbi10b3A6MjBweDtwYWRkaW5nOjEwcHggMjBweDtiYWNrZ3JvdW5kOiMwMDU2YjM7Y29sb3I6I2ZmZjti b3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweH0nICsNCiAgICAgICAgICAgICdAbWVkaWEgcHJpbnR7 LnlhentkaXNwbGF5Om5vbmV9Ym9keXtwYWRkaW5nOjA7bWF4LXdpZHRoOm5vbmV9JyArDQogICAgICAgICAgICAndHJ7cGFnZS1icmVhay1pbnNpZGU6YXZv aWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9JyArDQogICAgICAgICAgICAndGgsdGZvb3QgdGQsdGFibGUuZ2VuZWwgdGR7LXdlYmtpdC1w cmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7cHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0fX0nICsNCiAgICAgICAgICAgICc8L3N0eWxlPjwvaGVhZD48Ym9keT4n ICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJoZCI+JyArDQogICAgICAgICAgICAoTUtfTE9HTyA/ICc8aW1nIHNyYz0iJyArIE1LX0xPR08gKyAnIiBh bHQ9Ik1hdmlLYWxlbSI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im9ydGEiPjxoMT4nICsgZXNjSHRtbChiYXNs aWdpVGFtKSArICc8L2gxPicgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN1YiI+JyArIHNlY2lsaS5sZW5ndGggKyAnIGthbGVtIMK3ICcgKyBlc2NI dG1sKHRhcmloKSArDQogICAgICAgICAgICAoY2FycGFuID4gMSA/ICcgwrcgJyArIGNhcnBhbiArICcgw7bEn3JlbmNpIGnDp2luJyA6ICcnKSArICc8L2Rp dj48L2Rpdj4nICsNCiAgICAgICAgICAgIChva3VsTG9nbyA/ICc8aW1nIHNyYz0iJyArIGVzY0h0bWwob2t1bExvZ28pICsgJyIgYWx0PSIiIG9uZXJyb3I9 InRoaXMuc3R5bGUuZGlzcGxheT1cJ25vbmVcJyI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAg c2F5ZmFIdG1sICsNCiAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJ5YXoiIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIj5ZYXpkxLFyPC9idXR0b24+JyAr DQogICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4nOw0KDQogICAgICAgIGNvbnN0IGRvc3lhQWRpID0gKG9rdWwudHJpbSgpIHx8ICdraXJ0YXNpeWUnKQ0K ICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bw6fDh10vZywgJ2MnKS5yZXBsYWNlKC9bxJ/Enl0vZywgJ2cnKS5y ZXBsYWNlKC9bxLFJxLBpXS9nLCAnaScpDQogICAgICAgICAgICAucmVwbGFjZSgvW8O2w5ZdL2csICdvJykucmVwbGFjZSgvW8WfxZ5dL2csICdzJykucmVw bGFjZSgvW8O8w5xdL2csICd1JykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykucmVwbGFjZSgvXi0rfC0rJC9nLCAnJykgKyAn LWxpc3Rlc2kuaHRtbCc7DQoNCiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFsn77u/JyArIGh0bWxdLCB7IHR5cGU6ICd0ZXh0L2h0bWw7Y2hhcnNl dD11dGYtOCcgfSk7DQogICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7DQogICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5j cmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgIGEuaHJlZiA9IHVybDsNCiAgICAgICAgYS5kb3dubG9hZCA9IGRvc3lhQWRpOw0KICAgICAgICBkb2N1bWVu dC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KICAgICAgICBhLmNsaWNrKCk7DQogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7DQogICAgICAg IC8vIEJhesSxIHRhcmF5xLFjxLFsYXIgaW5kaXJtZSBiYcWfbGFtYWRhbiBVUkwgaXB0YWwgZWRpbGlyc2UgZG9zeWF5xLEgYm/FnyBrYXlkZWRpeW9yDQog ICAgICAgIHNldFRpbWVvdXQoKCkgPT4gVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpLCA0MDAwKTsNCiAgICB9KTsNCg0KICAgIHJlbmRlclBpbGxzKCk7DQog ICAgcmVuZGVyR3JpZCgpOw0KfSkoKTsNCg==
