Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@粉妹爱PikPak@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi57KJ5aa554ixUGlrUGFrIiwiYXV0aG9yIjoi57KJ5aa5IiwidXJsIjoiaGlrZXI6Ly9lbXB0eSIsInZlcnNpb24iOjEsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9TaG93XCIpIiwic2VhcmNoX3VybCI6Imhpa2VyOi8vKioiLCJncm91cCI6IuinhumikSIsInNlYXJjaEZpbmQiOiJqczpcclxudmFyIHJlcyA9IFtdXHJcbnZhciB7c2VhcmNoX2xpc3R9ID0gJC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL1NlYXJjaEJhckFuZENhdGVnb3J5XCIpXHJcbnNlYXJjaF9saXN0KE1ZX1VSTC5yZXBsYWNlKFwiaGlrZXI6Ly9cIiwgXCJcIikscmVzKVxyXG5wdXRNeVZhcihcInNlYXJjaF8xXCIsIFwiMVwiKVxyXG5zZXRSZXN1bHQocmVzKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxyXG4vLyAkLmxvZyhNWV9VUkwpXHJcbnNldFBhZ2VUaXRsZShcIuaQnOe0olwiKVxyXG52YXIgcmVzID0gW11cclxudmFyIHNlYXJjaF9yb290X2l0ZW0gPSBNWV9VUkwuc3BsaXQoJyYmJicpXHJcbnZhciB7IGdlbmVyYXRlX3BhdGhzIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9QYXRoJylcclxudmFyIHsgZ2VuZXJhdGVfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvTGlzdCcpXHJcblxyXG5pZiAoZ2V0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKSA9PSBcIjFcIikge1xyXG4gICAgLy8g6I635Y+W5omA5pyJ5paH5Lu25aS5L+aWh+S7tuWIl+ihqFxyXG4gICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXHJcbiAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcclxuICAgIGxldCBzX2l0ZW0gPSB7fVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGk8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoKGxpc3QuZmlsZXMpW2ldLmlkID09IHNlYXJjaF9yb290X2l0ZW1bMV0pIHtcclxuICAgICAgICAgICAgc19pdGVtID0gKGxpc3QuZmlsZXMpW2ldXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8g5pCc57Si57uT5p6c5YiX6KGo6aG555uu5piv5paH5Lu25aS577yM6YCS5b2S566X5Ye66Lev5b6EXHJcbiAgICBmdW5jdGlvbiBzZWFyY2hfbGlzdF9mb2xkZXJfcGF0aHMoc19wYXRocywgbGlzdCwgaXRlbSkge1xyXG4gICAgICAgIHNfcGF0aHMudW5zaGlmdCh7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoaXRlbS5wYXJlbnRfaWQgPT0gJycpIHtcclxuICAgICAgICAgICAgc19wYXRocy51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdob21lJyxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHNfaXRlbSA9IHt9XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxpc3RbaV0uaWQgPT0gaXRlbS5wYXJlbnRfaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBzX2l0ZW0gPSBsaXN0W2ldXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2VhcmNoX2xpc3RfZm9sZGVyX3BhdGhzKHNfcGF0aHMsIGxpc3QsIHNfaXRlbSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgc19wYXRocyA9IFtdXHJcbiAgICBzZWFyY2hfbGlzdF9mb2xkZXJfcGF0aHMoc19wYXRocywgbGlzdC5maWxlcywgc19pdGVtKVxyXG4gICAgc3RvcmFnZTAucHV0TXlWYXIoJ3NfcGF0aHMnLCBzX3BhdGhzKVxyXG4gICAgLy8g6Z2i5YyF5bGR6Lev5b6EKOaMiemSrilcclxuICAgIGdlbmVyYXRlX3BhdGhzKHJlcywgJ3NfcGF0aHMnLCBzZWFyY2hfcm9vdF9pdGVtWzJdKVxyXG4gICAgLy8g5YiX6KGo5qCPXHJcbiAgICBnZW5lcmF0ZV9saXN0KHJlcywgJ3NfcGF0aHMnKVxyXG59IGVsc2Uge1xyXG4gICAgLy8g6Z2i5YyF5bGR6Lev5b6EKOaMiemSrilcclxuICAgIGdlbmVyYXRlX3BhdGhzKHJlcywgJ3NfcGF0aHMnLCBzZWFyY2hfcm9vdF9pdGVtWzJdKVxyXG4gICAgLy8g5YiX6KGo5qCPXHJcbiAgICBnZW5lcmF0ZV9saXN0KHJlcywgJ3NfcGF0aHMnKVxyXG59XHJcblxyXG4vLyB2YXIgcmVzID0gW11cclxuLy8gLy8gdmFyIGl0ZW1fa2luZCA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovLycsICcnKVxyXG4vLyBjb25zdCB7IGdlbmVyYXRlX3BhdGhzIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9QYXRoJylcclxuLy8gY29uc3QgeyBnZW5lcmF0ZV9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9MaXN0JylcclxuXHJcbi8vIC8vIOmdouWMheWxkei3r+W+hCjmjInpkq4pXHJcbi8vIGdlbmVyYXRlX3BhdGhzKFwic19wYXRoc1wiLCByZXMpXHJcblxyXG4vLyAvLyDliJfooajmoI9cclxuLy8gZ2VuZXJhdGVfbGlzdChcInNfcGF0aHNcIiwgcmVzKVxyXG5cclxuLy8gLy8g6LW36aOeXHJcbnNldFJlc3VsdChyZXMpXHJcbiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6Ii8vIOaJqeWxlSTlr7nosaHnmoTlsZ7mgKdcbiQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0V4dGVuZCcpXG52YXIge1xuICAgIGF1dG9fdXBkYXRlLFxuICAgIHN1Ym1pdF91cGRhdGVfaW5mbyxcbiAgICBwaWtwYWtfaW5pdCxcbiAgICBjbGVhcl91c2VyX2luZm8sXG4gICAgc2hhcmVfb3RoZXJfcm9vdCxcbiAgICBzdWJfcmVhZF9sb2NhbCxcbn0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxuXG4vLyDoh6rliqjmm7TmlrDjgIHotoXml7bliLfmlrAv6YeN5paw55m75b2V44CB5Yid5aeL5YyW44CB5o+Q5Lqk5pu05paw5L+h5oGvXG5pZiAoZ2V0TXlWYXIoJ2ZpcnN0X3NwbGFzaCcsICcwJykgPT0gJzAnKSB7XG4gICAgYXV0b191cGRhdGUoKVxuICAgIHB1dE15VmFyKCdmaXJzdF9zcGxhc2gnLCAnMScpXG59XG5cbnZhciB7cmVmcmVzaF9hdXRob3JpemF0aW9ufSA9ICQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9JbnZpdGVcIilcbnJlZnJlc2hfYXV0aG9yaXphdGlvbigpXG5waWtwYWtfaW5pdCgpXG5zdWJtaXRfdXBkYXRlX2luZm8oKVxuXG4iLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBJXCIsXCJwYXRoXCI6XCJBUElcIixcInJ1bGVcIjpcImV2YWxQcml2YXRlSlMoJ0RXL0o1TUZieHRtbm9wbmlqTUVGQTlab1JGNStzNVNHdnJDc3FEdHhqZVAyTGFxNjNTazNBTG1FakMwbjhEeVlOQ2N0VFJOU01CdFBEQ1VYTUJ2SzdFS3phNmprZTdKODVEYjZiTE9vOGRnQnBLRlZLR0ZpckhJWU0wd1JXRlBVMllhYUE4b3p1MjM3a1BoWnczNXFHaTdxZXpRWk5rQ0VKOGhvR09WQXpKMko0L0dVN2Z2UGxuZDJ6ZTdlMTJLU2N0RGZmZGtvVTA5WSs3MzhLdjA3M0dPVzBqNnR5V3JJcERIR3pnQVcxTGxCbUFjQWQ0MTBpUk9obzE1em9RaEhubkNFb0thc2dhRU55WWxTWWdHaGJrYzNkNjFvQVFBZXloOHZoSnhtenlHRzdJSHpvV3Qwc2k0LzkxQm11MmZESWlXcXQzYmxoOHZ6WUNlZ0REUDltT2RkZlRLd21NSXpseWRORm5KTGFNMlVNN3Z2OGRyaEVpb2ZxREhMVXpmL2o1NGdBV3RrdVNGOEV3ckZtc3JWSWtsL25qeC9KYXFzdVFXUmxGQ3o1eTBqRVcxaTZDQ0ExQXlmUjl5d3ZvUTBZY2RPRitOa2VvTGY4TEZ4S3NReXNmclROOHNWWlUzZmIxU1U4N1ZwNi83QlBTQ05qVFpxbW52ZVVrdXZGNjBIRGVnRWVXTnl0clVvckRFZEtEY2VFbTFrT1BLNTh1YkVTdUgzRzA5ZnZhMDhyeVFNR21BNy82YlZUVWRDYlJqUU9GNjlDbmo4dUZWZjZoOHJURkZkdkFHa29WVW9ZV0tzY2hnelRCRllVOVMxczA3OE1NVWpvWVB3c3g4UFBqTzhxY3MrZW5HaG0rcE5FWE44aFV2bTNsOGk0ZUo2YlVrNE9veXJnN0NNcFdJR0JjSFYvUjB2L0RCMHFZeU1rRGlYYjQ3dk5BZFlkSWd1TjdnZ3pMNmxBOUJTcFk0NjE2VXlHcjN4S011UndZWjkvaXhJYUk5M3NURU1YWFU3VnA5RTNSUThRVmhIanViODdBVTZLenJMcDI2SUJOWXlRTXFISFBSWm1pVTVjcVFhNjVYckNvcVpvMm0zejlicWdqVVZzdDMydi9wWHF1d1hNN09NYU5Sc0t4dUxDbHBLb1JpcjdYTk11MXNwWlZiN3U1cnJSR2lxdHNrdkFmcVhiQ3IyYWRnL0Jja2tIRHNOZGZ0MGt5M2d6N1drdUFUdXMrNGoyaDdZbmRvSzVlT3ZiZlA3TjNwTHNnOTROd295M0pRY21ONXA0T1V4T2F5QzVCSXZvbFBEWk16MnI4VktNV1hvVlowYlRla1VoR28zSUFjTWVZNmp3Z0ovaTgxclVWWnJCR2xRWmY2QS80MFJ0TWM5OVMrR1NMQU04TG5yS3JaRDlSbTVNWkxaRE1OTDh4SVAwQWhNSkFmWjREV2I0NWlqUUViM2c5WTlmdmppc1M2RWRYa2Y1akxubUlYMDJ4QWVVM0xVQUp1TENuZGlvSUNIQUJ1eHRQMFd4SDh6VU1LU2xhSlR2eXExanV4ekdoZGhycmtPemltcDVTbnVSTURxNmRibEUvdnBrS0hBeXo3MWtqYlQxSll0VjhIYkVmUWdhNVFrVGZ4MlVpRnFXaytwZXg3ZzJoY2dwSHlEOTJoREk5VXROSno3VktlMFQ5blAwSHgvSmhEbWUyRHFKdFVpa21nMW5USVBsREFZTm5JQUtmNTVuZ0w1UUFXQ01rVWdDZUZLWUp4cFBFVGJCckdLRHcxUmptRG5aeEtiNS9WZFNJQjdtVFZ1anFoOStZcGlJMS80VTNJakt6TE9ySmdzeWIrRkRKWnRXMVVycUFOQ1BpbGVrZHZDYUhKbjJkdjU1SVJ3NWNnaFRmb2Fvb0d6ZUdNaFdmdTBubXhITlNjQVB3bXkrRUh2VU1Eb1ZORUpvZ01kdDNzVjlJblFlakNoNmNBczVnZytKVjA5ZkJ0QmdtTDRRL0wvT0JmcURrcDVUeFc4b1pLN2FWczQvdVRtVXJ0citCUFdXWlZLZkZlamtISDJxcFlTL1VFSTYyYU84ZFFFR1NIYUJLbHBkd1JqeFZQc3VreTlLbDRsM0R6blZjUit5aTZJZTlhZU0rWU9uQVM3anUzRzRJdG9aeVI1Vm5Gd0JHdDluRDkrbTgwVFZPVWVaQnJTUjFwNURpUk5ySkgvTjVkN2IrT0FEcFNDekpld3V2ZG5lUWsxSFcyUmNHVFdXbW5YS2ZmZXpRdGtiaEovcVVwdmZzaE9aU29yQ0QwKytScUpDc3lISHcwU0E2ZFJUeU54Ujc1QkY1M3pSb1hubTFRMjdpdm5zU1FuMlJKMGF5akpkZGttTVFXT29mNmRPekdsZHJ5Z09UZEp4OGF6dVMvZzhWWUtZY0hWY3hBVHF2aFpkSjQyZ1Jna2oxblozNVdURHdHTTJYWktBbjk0MG1UTGZJWWtUMTFoTWg0Vklqa0RxNllTZVlNODl6NXRDZDdDVk41SVBUdXYwL0FmYXZHamo3cHJmVU1hZU13LzVjL1I4QXo4SzJFSVZ5QjNaRlJLS2xKUElGOXNaMU9aRnlZeEJZNmgvcDA3TWFWMnZLQTVOMG12VDV4NFBZV29hUWl6SGpVVkNzOFBYZU1HcjRHb3QrVEx4TFRhYkhFMzl3TEI2UHFPdzMrRkMySlBXVVVoL3N0RGliWmNXditMOEtOVlpmNHB2WkhtcVZuRlRhdVVZbWh3REZJQ3phOTIzL0h1S05FSjdUYnkwaTZFMGdMUHN4SEhMVWZJcnR5MmVTczNYV09SaEtVRGcxelNTckREeEI2WnFVcnJyQTEzU3k2cE1pM09obWczVWl1cXlSNUlOc0ZTZXFxWjBWdksrczY4akNnZWsxZ1NKcTJUbWc2ekRmVzdLWXlZc2pzUVNvSnd2VVRVYXozVkN1ZDcvcHpKMElNUUNNVFI3Nno1QWt5UTNOQlJVcFYrc0F6d3Vlc3F0a1AxR2JreGt0a013N2dFcGVvdFgvcXJuekk5Mk9Qc1VyamljWEJWbUdOYUZqVExwcDFTSlhKL0trQnB0ZnhmT09XaXA3ck5xK0dWNVRHTW96cUtXeWRqbitnUmVNSTFwV0RIeHJPNUwrRHhWZ3Bod2RWekVCT3ErRmwwbmphQkdDU1BXZG5mbFpNUEFWVFFFWjdoejhwd0p5K2RCRXZKTTFmSExXWGFreGNBWWUrTFFkOXRaejdtSmMrVyswRy9BWENHTlRmK01SQmpjUVFDajhhMENoVFlwbWJyQy84RnNhNWZsMEdmYzlrQi93Wit5ak9hd1YyZHcvZHhObzJiRWgzK0V5Q25tTXVVOEsyVmdtbU1pL3hONEVhR3N2dno1a0VTUUJsOHZCeDV0MGxmcnNMTGd5TTQyV0QxNU5vU3lsZS93ZjNrYlNTRFZoUnBKcEJGZ0JYanFFcGZZWG53UCt6Q2UyWS9oUjVPY3V1N3RLU0Zvc3NKQUlMaTNzdEtUQXRJVkg3ejljdHVHOEFxZ3FOZ000Q0hUTkRvNU50akE4VHZsdllwTGxVMjFRdm5RU2RMSmpBQWtLUjZ5YXNQODZqRlNDcHkvZkg5V2VYRUY3SGVtRFlNdFVoNEJTZzQyTml3RXpUajBENEdqcU5BWlU1K0IzR1FoVndnbW5ZdmZ2Zzk0Q2dqOFlSRW9YdE5PMGdCVFZxWHNkc0U3Nll3SHIzSEZ0NE9LMzR1bG10RGQzbW9oS2hMbE0vSmFIRXBRM0xITEhYWENia0NkR00yUGExYzdBMDR2VEFaU0g1bGc3eUFyU2RPTkxFN01wQ2dTYTJ1QnJrUTJ3MEFtb0lndE0rT2NyeVRpa25ENlY1SnYzdWhobW1nNXFvNlFiVjZYU0RZaG5CajZaVU5ock16UzRMU1V2U3d1ZzZkLy9abmhoZWFVc0dOOXpicjdxSENINkgra0VZcWtUMzFKZjJYeEpneXNRd1g2T2ZmUEFTenQ3YzNOTjhiR1pUOFhXZ0YzU1FVS2VyUkw3ZTJWL2RZZE1JUHlSWmRHOVJjc0ZTdnVWeW1taHB2THlkZGk5cUJ5RWd1Wlo1QXl5dkxTTlpXYy9zSW4vdldTQUhVOXVVNlJuUTVhUi9jdUxSZmh4L2thWExrSlcrVEtIcVhOVnh1K0xkbk9nOVVhTXhTY1ZXc3BxQ0dMVm1MVWRNSzRiZ3MxWmNFeGZMQmplYlJLZ0NBcEdydFozNm9EV3Q2a2ZYUUdwMHpoVmdPWkI5bFA1WkVLbE14VG9xcWdCNXdCNWtpeG90aUkrZk1EWFp5MDhEVmNaNEp2Ky9SaFpPMlRSdnRUVitzWFljS09mZXdtbysxSmtNWDU0ak9aWUM0dUJUeWxSYzEvQmJVbmNzeVJJTzllT3B1OStkTXhtU0ZUQkJlWTUyVGlYdUgyQTVkVC96aHlDcjJ3Y3Vlb010Tlo5WDFCWnZmR2VvcWZFbHhqVS9wd2hnZjNZVUVGZnpmRHlSeUI2cWpvYSs2MTlmNWFFcktTQXB1dk01NTBSUm1aRHlpVksrdkN0bEFPRWs1cFNvc0xUOEhUQkhnRkszUERlZXJxZjhFdkRpdHhCOFQ1eTdpaFRjNUFQWXNPcWhLdHJaSFRCMFF6RjYvWHg3c2tYTWUweWxSRk9VcSszckk2YWluaHlIZjJGZDBIdHUxU2xJdTJ2eGxkU0JBQXRxbE9waU9FNjZEWW9DNzhXUmtCWG1pTE1BUVVXazdSckxkbHNKQXNCUlhXNU5NQVEvdU9zUCtZa2pJK1hoZHd2elNrK01kdlU5TjdXUzVrOUZXQ0gzSzkyZmcvdGYyZjVDcVhIVkY4Y3RZM3dkMk1yRU1GK2puM3p3RXM3ZTNOelRmR3htVS9GMW9CZDBrRkNucTBTKzN0bGNGUTJ3RzVrQ0crNmNrUk1ndyt4N1JZMGZDdURKM3BVWHJrV1NENkVBekppQStESlYvQVJpcWVqNmdyUDN5empQTlRVY05vL1lXaHE0RVpOblNwUVFaTFNxc3cyUU1hcUV3NDBlVWVhMklvdmRxZDRZcjhrank0L211b0I5dFQwQXhhcktIdW82ZE5LOE05Z1VtWWdKZWpJZHBRZ1hVWmpaaTBWeHB0Z0lyWmdEeGtjYnJaTmNXaEZ0RmhIY0lEMHZFUTc5YW10clVzalU2OCthVVRtRnVuWEFHTjJ2bkhETUxVVXozSkQ5Zy9lbGZCc3lTUGZPMWJpdG1POWRKNVJJRFphUE9mOGxlYmhqeGI5MXpINVpaNllpbnBxQWlDQnZubWJkbTgwSzJzQXJ4aXZIYUVNUDVRMXFUY21ucnZsY04wS0EvY1NUS0xQSTNtVktWbDllQU1xYzZJSGVyNll2QkpEWlhjMStwZlcwbUVHZGdTODBlbG85Nkh3RE94aGFxYmo4YWQ0aHE0VWVTMWxzK2g5Qk1wcG9hYnk4blhZdmFnY2hJTG1XZVFMQU04TG5yS3JaRDlSbTVNWkxaRE1NeGpZN2NJWWh0Q3BTZ2EvNE1DVlpvMENzV3RUb1NQcGNWMzF1cHoybWFtcVpiRTZEcVhSYzFDaC91MXIwU2xoeUtIN25XbTc2NVZ1ZDhGbnZUUmhueHowVkRXZVRpOU5mWm4vTmhzOFcwMHhtTlpOWVdlRXoyOHlVTEVaZjdMOUlYaHMrR0hpNnQyM2RJWVJVZWpvTnBTcmJ2c0ZRdkJUVmtRWDV5N1NiUzhjVnd6ZFlFUUhNeVFlSG9CQmRpYUFNZ2RrTHgxTmU2c0JzUDAxdmdxVUttaThEMFlXc0gvV2hmRFVwSjJka1kva0ZwWWZ4VWwrOGZGRzBWYnRFanRTNU1VSXA4VEVyTFliSTd4RXEwaEhxclZKQTUxQmRac08yUkRES1diSGdSVkFTL3NrVDdPOTZVZWpQeHBCMy9JQ0JVV3BXdFdPR0M3NS9NY3I1N2hCenJwQUJvV1drM2EybnhRT3FDeWlrMHlxWUNLdGo3aDFuMFRIb2d5NWhqN3VhcUw3c3pLdXo3M0JIOHFqN1ZuUFBzOUZOY3FkcWFmbmJtSTVRTWoySlY2R3hRVGl0cEg1U0RqcGNYZ25xeXc1WVhQSGJnUVF3RkFjUDN2NWhVQXF2QnJaV0NhWXlML0UzZ1JvYXkrL1BtUWQzSkc3Q1B0RVhCd05uQU9mOW5mNWVRSzF3SVVQQTRFZVZ5U1dPcllSNjBBcXBjM2dCdW5jdW5hNWs1ZG55L214eERNbCs5QnNOQUNJVWdaOGRQMUl1WVk0ZFg4SXhmWklxSVlsYm9TeE9YSmpFc21PbGZMWDd5VGx1Qm5lVDh4dXBVVHNCR0xSRGZ3Z042RVFyaXZWUFpzRXdVM2FOazlzVmpBSXoxbzZPS041K2I1S0NteHlzOUpTd3RKTFRucVpqUldxVnhwMlNBc3U5cDZLZktxSGtkSE8wMFVoelBENW94a3pIVUJ6NlFrcnlzMlY0dTV4dVJUeFRuTEJDa3ZKeDdOV0pZWjArVGdOZ0M0bE00RlVMd0hpTnZicEJsMzJZTkF0bmNmT2VvVWhYY29QSm9Ycmllc3BOSU81NnlDMGZjQ1dockdPb1BSU0hCR0JwN2tBWnZqN2lJMjd6UmpmejZYcER0bU9DM0hZbFBVaUlsZWgvMmd1d3RIZVpwOXBYNHh2RHVCVzNFdkFMNm5FanBkZG95a0MrMXRDMHQ4Y0RUWmpWMlgwQkxXQUVWeW40VXdxOHVEZnh0QTRFMGJ4cEJrUzYyOEUxN05maElGaXF6TXJ0RHBwTU1kbHNiQkgrYWNQMkxCRXJhZ29oZXc5WDc2RE5pZ0RLMU1uT3E5YnZsY0h6OGtTeHRnK3dsS05TK2tpQmZ0SDJIOUtFemxqZGQxRHlFNk9mck5oZHhkbjZaU2VoTlBqRkhKYnpjQWdHSUVwcVI2dkdtaklBclFESkNhb0xpeTNsa2lkaDJvenhGTXhDOXZGWVh6cFF5K3c3ODg3RGtKeXZ2MnduT0orODZlMXBzajkwSGhXSTNNZlYzRXR5RzdJSHpvV3Qwc2k0LzkxQm11MmZEaG5hRm5QMmxvQUQzcm5KRUpGUG9WTFA2Vi9RZ05NazdOOVgxRlNvNWI0QjdUZzhzU0UzQ3JvbE5PN3gzODl2Z3dUMGdqWTAyYXBwNzNsSkxyeGV0Qi8rV2NVTWlWZTcxZ1k4bDB1UHhYZHo3S0dWYzU4WG1SMlduYWpHU0lrV3o2MS9UN2FJVzJVSlg4aWZ2c3pGTThVRlBVbHlGVEdCQllxUk0zSDMvMG14dmo3aUkyN3pSamZ6NlhwRHRtT0MzYUVob0gvOWQ2UEdEczV6dWlueXdCTFMvckZqdGdTdHIrV1h5SnhlRjhNUXpLUUtiSVVQVVUrMU9UN2d3RUxTcFFzTmRTdHRORXJPVUVCL0VIV2wzTGRVWVZYSDZld1dnVDZPWGxwK2FLQ3VWUWt5ZUJzNFFZaFdrTWwya2FEOERaMEFHdGc0RXI1NUxldHNVZVhJaEc3UjAveG1JR1hUcytOUWIvVWZLOVlwcGJaaUl4NFVBNmdUcFlRWER3eXFyNjMvWHFvM3krSU1iNS81bTQxQTFKMjZJMnp1U092Ylk5cjROSEt4TUJ3cEdLN0RQK28xVlRRU05CNkIrYlA1dHpwUXkrdzc4ODdEa0p5dnYyd25PSjhNZXdXNUh4amx1ZS85Q0h1dlJDZXJMSzh0STFsWnord2lmKzlaSUFkVDJyVDZUVkdvSTdYK3o1Slk2ZG8rSWQ3WkhUQjBRekY2L1h4N3NrWE1lMHlrQjk2U2pOYWhjM3JzZmNHT2J3ZWRwV2plT0paanFBNDVJZnh3MnVYYnlDaFR5M1BITkJZN3A0UFRSdTBGZGwvY3ZaSUpVbXp0dWk2eXVwME9mNkFOWXl5dkxTTlpXYy9zSW4vdldTQUhVOXJQNlYvUWdOTWs3TjlYMUZTbzViNEI3VGc4c1NFM0Nyb2xOTzd4Mzg5dmd3VDBnalkwMmFwcDczbEpMcnhldEIvK1djVU1pVmU3MWdZOGwwdVB4WGR5T1Z4Uitsd2R5amtzWk9oSnIwOExGei9nT1laTjlLYWlqMVJsSHIvNzl6cmdWaXQ0dEI0TFFoUXBLVDJZSFQwYUtMNjVOZUNERUdNdm5OZnZjcTF4bEhwZ1JoV3VGNmVFODlJT2FteDhGTngyTHR2TytOZ2s3MFcreHFHT2NMaUFwcVhWTlREbVZDQ003WUgwb0xoM2pWT3FHeDlrTHNONEhUc0xXLzZrWEdubHlmZ2tmbC84dHBzcGJ0MDZDT3RFMU10c1cxS08zQTQ0V2xCbnJEdjg4K0lGRUxmV1F2QUtWcXBhSFh3Y01iWlpickNkZzd2Y0RsNnBjOHhjZ25XNHJKQUhJVUNPa1pFR0laKzZFNnZNeDhOd05ZOWk1SkVHRnAwYzdWbDdxaUliRU8vQUJUU0xhSWVaVC9FUTYwSjBxSzNUbUhEaEJTbGJ2VUt6b3NHQVM2bUdrWGUvTG1zZUMzdHo0QzZNU0owKzYzKzBPbzQ5ZUxYWEs3ak5YZmVmSGNJTzRBNFN4WjFTQkFmckZWUFhXSStaSll4d2ZFUUVFYWJ2UXdqUmxPWFAxUTU2QTlZU1FHUUsya1l1UTV6WnJ6aTYxaGZobnV3Sm9DY2x4ODRkSGgrUnl2YW12VmE4bFp5MlVTQlhyaTZBRHRBaE1FaVdvdXF4OUhxeEt3eXI5a3VWeGdSTzRsaHZ4Ky81VjVPVzNnWGVlV1o2Z2tZcXozdHg1WjlxVU5ERFNTSkNSVFhxUG1BT3JYdDd6cHFKeitlRkdJMjViWkV5STNBdlRWOG11SVpWa01GZHBqOHNZVXBZSFJYSjdlVURLaEJPMURQWHB0QkZFdTNaV1ZBU0o5S05vOHJKMkkwdHZ4cEE1V2tpVVpQTTJMUkFteExGZVYzRFIzT0dVN1pCdnpvME1nbjk1SFR3b1RGcGFQN2NPZXJuK3BFMXhrekVYMnpGazQxTGswOW9WVFBNaHI1elMxblJ5UUdwbTVXNHJEU2FzMnBPQVNIY2pkaGRDc3lNNXl4MGgya3RWcVFJV0VJanNOM1JlS3lRQnlGQWpwR1JCaUdmdWhPcnpNZkRjRFdQWXVTUkJoYWRITzFaZTZvaUd4RHZ3QVUwaTJpSG1VL3hFT3RDZEtpdDA1aHc0UVVwVzcxQ3M2TEJnRXVwaHBGM3Z5NXJIZ3Q3YytBdWpFaWRQdXQvdERxT1BYaTExeXU0elYzM254M0NEdUFPRXNXZFVnUUg2eFZUMTFpUG1TV01jSHhFQkJHbTcwTUkwWlRsejlVT2VnUFdFa0JrQ3RwR0xrT2MyYTg0dXRZWDRaN3NDYUFuSmNmT0hSNGZrY3IycHIxV3ZKV2N0bEVnVjY0dWdBN1FJVEJJbHFMcXNmUjZzU3NNcS9aTGxjWUVUdUpZYjhmditWZVRsdDRGM25sbWVvSkdLczk3Y2VXZmFsRFF3MGtpUWtVMTZqNWdEcTE3ZTg2YWlZMDViYXExTnRCY2x5NUFaMnd1YWFtQktLRFpseVYyQUZ6SEZmYVNiNCtNYkhxeGpiRXluVnVUeWpxanVkN1ZGc1h1S0grVXVPUkdsSlFqQjRJTlp3NmJhUGFaSWkySFZiYjNjdFdvRGwrMDdHRlVmMHJJNlJUd3AzYS92Y0d5WCsvODRmU2FySFlOOXlxeXNZTVBpUlJGeVdBWk5wT1hKTjhySXFSeHExalY5UUIrOEt2NVBkQWNVemFIYWZQUjJrTzAxN1pNa0F4SFFjSlNIeDF1S3NwNGp2ZUIzSE9rSlVTbHE0WHFRcTF2d1cwR01vYm1SWlM0d0FNNFlxZXRIU1NORjQzZEg1cGd1SENTTUk0ZHoyUG1TTmo1SDhjZDc1NVNFbGVLUU4xanlYalBKQ3FacDJBM2tDajZycXRFdkt2VjdwOUFtcEVFaHVBQS8xdEVNcnJTbnU3QWsvdHU1WE1sZEI3R0lQSkdPNk41SXF1SEU0c0xNakF2ZkZrVU5NRnJ3QWVRaXpRTk5HVFBMcWFVT0tYSnROZVdPM1FtZk04VE9kTHZJMjhNSDBNZVNPVEN2WU45OERFTDJ6WmRJK1c1SEtPTlh6bFh2YUNteFArRzhjMmV0V2t4UWs0UFBmZFE2YW4wbW9xTmRVTkViM3NwZ0Z6bXgzeitFMEx3RlFPWCtxSEhZajczYzk5dk9ydElPNWxZb0hvdTF1VG5ESEUyaWdhMGFnbkszZ1U4WGxFbE1aNTA2bmZ2N2dNdHFiYitpbDNnWWR5blRseTc3WXMrN0FSZjQybDFvaXMxTk8xcGE2OHVTdnZpMW1zZTEwdGZnVDFBdzNpdUs4dGtVeXl2TFNOWldjL3NJbi92V1NBSFU5azNOZWJSNGFnSlZZRG93ZnkwUXA4dzU2VkhEVm5yblpVMzczUU9sV24xaFlvMmF3RS9iUmlaQUNmTkw3UUlidTNyT2NHR08wMkdIdUpFL21iaTBWZVc2bEJtMmlibXFReXBGM29QUmZLUnBuRk0zcFRhM0xnSnRIc1V3NjJhU1VRdm1JMW5kQTh0a2F1MkYxWGtsakc3czIwZVVhY3ZhdE5SMzJxcVQ5NCtqcjdKSHRibzM2R3BRK0ZjcU9SK1JLRlNKNkpMWmM5L0JOL1liYzVYWExYTUtGaEhBcU1GMzcwakZCZHFNdWdBZDNyV1hDUWFIQ2tHVFdTdG5HSGZFd2xSNFlnS1ZDUk9CVnhsTjhnM1hXS24vQlJobitRL0crT2NBVFhTY1ZaQVlHNGRPRkRMZ2VsYnNpUWJhb2VzTEM1Zm5ZbTJ2WU9EWjUwQ1lzRHdybFpkdDZ2YXlTeXdFNFNFSHBUNGFkNTE1dmhFNkt0Z3E0R1MzTVZTTUVpZjF0US8rOThabjAxUFlEMHliZjd2bWF2RVlKWWFCM0xKaXJBVXYvT25meDlhQjhJRGcyU3gxUTRReGw4b1pXOHh5bURJWi81UFNZWjRpbVZVeDZOdWJoL1d0VnZBL1hHR29JWjlCY2hiY3NCVTZ5eXZMU05aV2Mvc0luL3ZXU0FIVTl0MVo3SHN1Y3VxVnVWaEFpcXJURWgyR2RvV2MvYVdnQVBldWNrUWtVK2hVUDZzdXlWMWxJWEJpVjdNZVpQc08zWDdlcndFaHJWTW9jM2lQUFJNaWhRRGdJa24xNEN4VVhrYTdvdm85ZVRySWNuV1lHbDh2UjQvb3dJNEtYUEpKSE9qM1Z1M0hFQnkzSVZQNTQ4NXRPejdMSzh0STFsWnord2lmKzlaSUFkVDJPdERxa0p2QXBLcEU3V3hveGJzeEljc3J5MGpXVm5QN0NKLzcxa2dCMVBhZjIvVmdINEY5SktmN3Q0UWVkV21jU3ZmNEJJWURvNTJxNGdVa1FmejhPRUhhYURTL0NpTDBCR3NlYnZVcEVSdU4zV0lWNENwb1lPVkF1UHhkcWpkdTlvNzZTbVg5V290dm8raXFQb3NzNjVvZVVLbmE1cDJJQXdjdHloNElSblVaUWd0VURZRkM2dHV5Ukdka095dEx3R0QwQjJmbktiVHkyYWkvOWx1M1VJQWplWHQyejhMZE9qNkVpVFRBV2ZjcXpWa1hEL1ZTOTAzZkIybER1bjBwREVaMjV6TCtBMFk1QnhFRkIzZWVpL3p5K29ZLzJYZkQvR0wrVm12OTg5azNXcEZQVUN4eFlNWkp5QVRhZTdKN3lncEEyekdJMzE1T3FhNzM1QWpZdHpPZFpTZ2grcHJQREZuYkVaKzRFZm1VVnNwak1EN05ZYytEV2pVTDJiMnNDb0dkdEE3clAzV2NVUThaa3BtU2dXQmM5VDJqSEs4QzExMEs2OEhHdmJ2TEs4dEkxbFp6K3dpZis5WklBZFQyVXNYNmNLR2x2N200UDR3cWo0L1YzOHNyeTBqV1ZuUDdDSi83MWtnQjFQWjhDa0lQbnBDYjJsamRsN3cxbEgxMmZOdVFkRlp5aVpWdGFZYW92V3VOMmlKSm1CQ1JqQ3BsblBna1lVVUpBVzlYZEhacTdmbzlIVkNxbTMra1c3NDlNYWQvclYwU2pFOU5GdjFaeFBWRThSdStMU0VpSTNJeXpNcWdYNWJLWVBHQzM1VnhaZ1JVYmVNS29ObzZUKzVuNUhSL0x4L3NWWEZRREFXcWVuWTlZVU5CNE12ZC84TjJEcEtxV1NvcThhVkxIUEl2Q21qZWtSTEhnbzJYU2p6ZElNVXZtZU1aNldCU3FTVWhXK3ZFK1o3TDd0d1ZNcjUvYXNSNU52Zi9hVlEvNE01ZFZ3OEs2N2d5Tk15Z0xMNUVhcHVGckQvZGVVRXB6QzF1OHZyVjNTdXF2anpMQVltcHF2QThpYkZ6cmxQTEs4dEkxbFp6K3dpZis5WklBZFQyYnUzRE1iZnIvT3BXSzFpZC9SWVBuYzZVTXZzTy9QT3c1Q2NyNzlzSnppY2laaGltWVJsZTNkdi92eWhyL0ZuN2NzeUM4aVRSeGQ3c2wvYk15RTdkSTE5OXhNTzltWTk3TjJlendZK1NtT0puOVk1OHVKcXpQb1NMLzBlT0N2b2wrOWpLSEN4aXVjUWZRbDUxRUF5NE81cWJtcDM0cDZDU1FSSTRieVJCQjZsV0JCZkFhakQwWG5kTSszQVF1RVJzZUN1b0hEVThmcW9vUnNJZUk0VG1OV21RMDRoeVlSNWhWTGlnNGEwT1VwYkRyYTI4Qm1TTXV1N3dXU3I4MzVqZGFXMllpTWVGQU9vRTZXRUZ3OE1xcTNvTTZYZE1KVnBuMDk4M3RpY2xCaUEzSUFjTWVZNmp3Z0ovaTgxclVWWnJ3bVpxVStqOWUzbUEwMGNEOGI4K2pqaGV2UXA0L0xoVlgrb2ZLMHhSWGJ4ejlVT2VnUFdFa0JrQ3RwR0xrT2MyYkREakZvc0UwdGVvZDZTa0ZPNWNPRjRnREtySUZWbktXNG9MWndFN1BldElPRThHNzUyeW15R0NlWjB5ZUtVZHRpRmh3VXR4Nm44M3AwR2thSCtuSWFubmg0TXZrQXpveVRpUFU4QzgvOVNHWFZuRzBaYzhML1VCSUNDdkhYWDdBZmVrb3pXb1hONjdIM0JqbThIbmFSdllKQVZwRUJmc010bWNCdldnbjlidEI4UDhNb2NHMlBQMzVxdEkzK3VMT1pVdHk4cnhCWWVqMm4wSlkwNHJrNWRnQXY3RDNDNE5HSHNZUjVSWEpsdWdVVlByOHl3c1VBdEQvbkZGTjY2Q0wzcHhiNEo1bS9aYlY1S2VRR3ZHRGlxRkpuc2NpMWxrK1Y1Z2l1bzlXTnliYzJDeU8ybjZWUTFaL2dQanRCR2Z1ZkkxcDg5QWY1SG9jaWRERHhPNE1ST1ZWZjU0MlBnRnlabm8wbmZWWE1kOGVNNzFVNndGOXRCdXRDMHA5enNrdW1uVjd3NjRkTnJ0QnpsejVua2FQTWhBcGNDS0t4LzBIdkhoTU1hUzBYeUFJM2w3ZHMvQzNUbytoSWswd0ZuM0VUZnpMMnFTcVFYRkl6R3NhaS9pdkpKK3ZvL0U4N01mUUZBTmFFRWp2YXQvRXlFbDYwckRYZThEb0g3ZUExRndSMlVvd2FpUk5hTldsd0dZWVlQRGM0ZVBWbGJ3OWJkZXd3a2ZvVzRiK3dzaU5xKy83aTdield4ZFo4amZpVUg4SkhKU3BQdkVnNlorekcwODd1N2pSNEg4eDR2ZmZ4VW5XZ1JFSm51bmFVMHlqVnNieHprMlN3b2x4clJSUXlkcTV1R1k3T2o2OGpUaUEycHhWODZZTk1ENkIvaXlKc3BxZmgyR21aVjJwNkZ0ZlNjRFh4TENvNzNZTEhaNjhieWJQNFRrUkZMalo1ajZWRUhvdURaWW1xeVBKdGVyMXJaWExIekE3QWo0T2JhUllINm10TE9mR0NCdGc1U3RYaVdyYTY1RG9oKzd2STVXekpUclpseU5zWnQrdDBRY29JQTBRdzdOTS9xWENMNHhweXdSRHRCZ1RKS2xYZTRKTnYxZkxnd3hHT2pqNFIzN0pZZjB6VXY5MU5rRlIvU0UxQjU3SjNmb1Z2UGxBcGJTR2tHeGw5N2h0aERMMldsdndhMHE3VWJuMm8wTWdRZkpmVnBRZEdnTjVhaFV5bDJSVkRXeVgvUjU1WkNUa2xHeis5M2MwSitZREg5RWV0d3E2aDFNK0UyUHRtRWRnRFAydjdoYVNzTlNIUGRCdjB6YmN0UElXZENkWW12S2ZrSDdjY3ZkUVdncTZDd3BoUzB0WFlLWm1pVFhUZ3Zaamx2bytNbHZXdk15aldvbjFnMHBhV1dXc044Y1pDeGpqNjY4V0JjSnJmaUJMVXh2N1R2S0w1dzgxU3J5NnJSTjhZNTZsVEpKMXhRUVBmK29pMjl2WU9FYkZybnJ6T2xKSkVTR1l1djdkbWJRdnFaZmVQZDR4Yk4rZHcrZFgyNGNpcWVxeUpOZkVXUEV3U0VXU095Zll5QTRSVnhWNTVDY3IzbndoamZ2a2JOdUlsM0Zoc3JCayt1Z3RjSlV5bUFKdjJXOFdsZzlKQkEvZjFYeThIWURJRXlTZUswTmZiVTE4RTdjZ0lRTWVjUTNJTkFpemJlbThNY2FtZktVQmNja0RkTUcyWUF2d25xa3hxalYwZFExM095NEJsdWFTOWRPd084NVlZK09nWkxyTjcrSlZzMjZTTjlIaHlJN1MrMXFTUXZlUzZoZUx1THROWmRDN0Y3SDFwdUtUbHVnZ3YvRkovOFdxQzZWTWtZN29EbXY1dDAwcG1WY1ZOZjArQnJQdC9IVk9tQ0QxWmhac3liQjJLMFl5R3ZHSEQzNlg2ajlwWkprcHpEWm93RDlQWXY3eC9vZjJucGZDM1E3Z1ZqalpCSVNxVk9ycHRheFhWUHZjQUc5WHlvNkFFUFgySnRpaERWbG0xVUpOWWREODNidnFlN0kza1lGaUUxcFM4UFVYRVdML0hQRFBvR0RaVnRrc0J0Sm9XT3hwSmVwUDArRDByYWJFd3JVQmc3cDFuTXNUSWN3NHNCN3VCeVJ4OTVzNnVFMml3NzJwWFpXRmxIWXgxOVFwSW1BNzFPdnBuTHBKeUgrRWJrVnlkaUYxMXlEakhRZzlXc24wU1VNaGtqZHFWQWljVmwwRDV2LzlaTHExaFZBZGcwV0JJb2srdjZPTEZOcm55andoZWMxM3oxcytodGVkOTNEQnEzMm9sOERmT2ZZU1hMTzlrY1ExQkU3WFRrVDh4SmpSenJRN2FQVll4UXlDUFJRcE9VNExLS2loMWppOUtna2lzT3ZMM0NDY3d2cCt3Umh6T2xKQ2JNa0gxdGZScVBVUTNjM1BoZjdkanUvOGZ1cGs0Wko3amhSMDZlOGU0dnRrUGptdDlkaDlMRks0VmUwN0hteGI1QXJCemtjR2w3T3hCYUxSLzhCYkM0UjlCL3AvZ2pFZWV1VlFtdWQ0QWtZWHdRMmpPS3pYekhFek9Ib0dpT2tRbUVZQWt1dFcxMG1NS1JWakIvc242TXFJK0dQeGVRWnNoOEdxWVovMlRtRlZ1MzFNRUtNTTY1ZHluM1I2UmtUYmxzSSt4c3FoQzRsTUJNS2pQVEdKYnNCY2ZXWGpXTUQ5R3ZXTGRSQzByZnBsWHMxcjZENHNKSFloNis3eDNrUFFxVDd1Q1J5dmUwbXcwZ2xGcmVvZmV5OTNlcHc3a1lLdGdUbTdpU0dhR0ZwbFhpOVZDOE5FOE9ZRTFQekZ5NkxiQkVhT05uSVZ3bEQ5RHBvbHUvUXVrUWI2QURzMmFNKzIxS3VHM1RYREF4cnZ6dEdjVGhYMmR5ektDWDRiSHBEZHFyellMWmRnM3JZUjhZNEU5eWFTbzEzTFRySkM5SjQ5amRwclF3aERtVSt6MHZIWHArS2Z6YUpJbS92Y09nNDBMTkN6eDJFdG1JNHRreTZTcEsxTlIxWVFuTEtXQk1HOGhpU2xHSGNvMm9HOWtEWVREZC9tQnJhRkVKSWlCU0lwLzRqamJiZnVuYjNHd2tUTlNYaGUrOW1rTTg5OGpCZ0tiU3pzbG1ubHRJNG9qcGtlbGs4WUVSVFlwRlZMbzJsMEVrNWs5Y2Y0cmhnQVBQWURDWVd5dzlaSlI0cDEvT205cm1aUFhGdlZjb00vRDZDNDg3eFJwalRHQmFaZW8xbVpodUZrMGljNW9pYVF3ZENrdHprL2JCejYzaW01TkFoL2NiTnNxTmMwMFhSMXlJOTlXN1doT085VGpZczUrMFd6b3o2cEM2YllIMzRFWGZYQXh0eWVRVTlVNWIyWUkxRzZlNW9RaTlUUzBRM09FTG1pa0pnbXBaQ0I0RVJqQXluTWZrdG9uZU5meWhpcWlPT1BXYmY3WUhqbW03Tkd1ODQyRXhXQmo4OTMwd3pCSWpDZS9TTjNXemMvVTJFaXRqQU95ck5XUmNQOVZMM1RkOEhhVU82ZlNsLy9Hdk9OUTlGaXh1NkZ1cEZyekQ1ektUZ0lITGZDV3ZCWFowMFMwd0JuODFORHRtSzdmUlZXb3ZRVVVKM2V0VG83c216K2JyS3REMHRMUmdCcmdKWHRIQkxSdjFmcmtERXVnclUxV3QyeWcrNS9QMzZYaW1QT0dRdjZFQVdGYTM4NFEzT0xseERvS2Z3eVNnODNVVVBEc1RCNHhFZVd3aThSQVVCWHE3cmtuWi9FZ2w2a2tmWjNoRXdnb0VBL21ZbjE5UVJ4SWRhK1R4K25LZkQ0R1JnRzNacHRuVmxEdjZPcHJPN1B5V2tOWGJFRkhxeVZ4S0xGUjRrMDZ5T2hMcFZLTEFZV0ZxZHVGdGFkRmVndXNXSGI1ZjlvZ0VmL2NQZGhyYTJRUWJMcnJSbEdhUVd1L2xUNnBPbDNUYTZwbWR3R0RPRFl5VXNhMzF6cGhmaW1hQlhXVW5MdWVoL1J5SnZuUlBFeTA4Q3l2SWoxNUZDd00vWWl1N3BCeU9ocHZrRVN3Y0U2a3E4SE1BRFNWR1I3Tk9jNURIZFlhZXhRYmJCRTVGVUFxWUlpcHVUYmFYU081L0FHRkxrNHdTTWV2SzlVd3VsVHlUTUx6d08xZE1OWSthbmZqVWpCYS83UmNIazJOZEhwUWhSY2M2VU12c08vUE93NUNjcjc5c0p6aWZyWk02QSt1S3dUeEkvaXNCWUJSQ2RYR3dOaTFrTFZKaUhlYW44aUlaNmRzc3J5MGpXVm5QN0NKLzcxa2dCMVBiWEh2SzhNVVlhR1BHNWZETFFXRWxCVmMrZFY5dW41VkJERDNCUHNiSW55dnpoRGM0dVhFT2dwL0RKS0R6ZFJROE94TUhqRVI1YkNMeEVCUUZlcnV1U2laVGNvR05iMDRNWjdkNkhnM1l6dlZ0VmR1cUlwUldNbHhXZnIreEJ4UEM1QnN5M05RSGpaeHJscEcxVnNPTHlSb0phT0h4ek96TlBqejJ6aEhIRUxrZERJWm5pWU9nRk01UHFhQVVTMDg1cW1uT1RZRS81ZjJicDlqTG5ua2wyVlNpd0dGaGFuYmhiV25SWG9MckZoNUdiNHZ4b0hEcDJrTjFvV1V4YzJ2QkQ4MlBLOXU4am94ME8wQnpWclVjZEJ3ZVp3dXdINVBJVGFlblc1OUFkVDhvcnBIWjBBRW90ZU55ME5mRW1pa1V3RUhjWGZpU1B4bGJqSE5TVGNONlFvaE1qazAvSStSS2RpMDg5RGdvTWIyL05iYlZLZE4wUGVGamI2aEtOT2hhUDhNeHBJWEZWeG5zeWhhWGFpZndheGhHbDkrYkUvSTlGaHgyVWluYU9ML295eDJMTWJrbUMzYUJzQWhDSWl1Um1UQnRyQnY3NDZqa0N5eGJsVEN2d28vVzFKSGZzTHVLcHdzbzJnb1I5bGdlYy9MYno0TnBHRTRxUWlUOG9Ndm9SWkVzZ2hhZ3F2OWtnZFpVNFM3dnZyZ0JZMWNGMjM1Ym81ckx1TGZQZWJ3UkN3YVNXT1N0SU1JRGsxbE9ocHowUkJpNmdhT2wxUGl5ZVVIWG5SLzkwaFUyRjZ2TStobGxmSXFUOVM3VXBQWmxCNUpqN3FSaTNVYTNTaHI4VWVLanI3aXpzaStUaVhQWEoxVkJaVmlWcXhpTGJNY0tCVkNESEpPNFprQm5JZ2V5aFV0UHhrc3VhQmpMNHJ0Sit6WVVWNVQvWFV6YUNVYUwxNllmUVk1cEZMVkRlWlNReDVmSlVpeGIvOFdzbzBUSEpTSitidzBqOERTWFI5ZzFPcnhuaHI1d2pUWGtROEtDRk5CWGR5eVB5bUJUQ0c1WHFQSDBtWW5jY0VZeFh4SGhtZXFrcjNIYzZFQm4rMmV5cXd6ZktsSEtrQmEzTUl2UWhDTDZhTGJ0NTVSb283c053V2o5U3Q3NklhT3dPWUkyQXFKb0pMSW85N2M4NzY3YkJ6ODVXV215Wkt5TGNPZmFXNWlTQVJYSXhseXc4MUVzNzF0TjlJOGR1eTdYdFVEZ25MMjFEbnlUdlVrMjB1dHMxR2xNSmNQUjRJbUxrUzk1NGRMMlZTNGdOL0p0c3d4MDdORmtoSG1HQ21xa1RyTXY0WU1lTkN2bE5YYUhsalE0bzVKeUdzcm1Kd3Z6dTZUNyszTS82S2xpRFMxdUJhN09sbUdJQmdNUmNHeHkrTnBPWTRBbFlwRFlZUXRTNTNaejZMb3dRUXNKa0hHSHZXdUsrS041d0JSL2MwNW9KUS9BUHQ3RTJhTmx2MHp6VzY3MXpsdWRLb3FKMFBmOEdJQ0FiR0lyMXJ6bGF4cVI5THVZRGwxcmJVUWUwcXN1cmlNNkptR0I0NDRRaFVZZG11WDU0RlQ5UWtTR1JKZUJWSW9TdmxoU0lWSWFGdWZ5akhKNU1zb3VLeGxLOGxGdDVBQzREOUZWcVVZZWEzeGNnUWJjbVNDb2dVa0FKbEtCNlczcWlFbktjOXBpL0tWc0t6MFBwTnAwb3Nzck9tQlRDRzVYcVBIMG1ZbmNjRVl4WHhLRFZYUGFCcFkrRUJtb3d3TU93ZDRnYTdQMEt4aWk1ZkVYamZhbmw4Y09ONVJvbzdzTndXajlTdDc2SWFPd09ZRnEzMzJYaWhZRVIyRDBKeFRQRWtMb0ZWcis1ZGhRZXJYdWhQOU9CMS9LZ3dnRUc1c0JwUXhBSHpvc3FyYWkwUGFYS3ZqQmVYWWsyMG1CdmE0QlgzdFVsWHFMUTE0ZDgxM2xqb3B3dmEzSHh4TFhXMVBFWHh5V0ZBWUhOVDM4bmppWmdCTC8xRzk2V3JTTDNnR2ZCOXlERDdMQ0U5a1hLYkIvRTN3UU50a3F0K1BCb0RQdVI2OFNhTXV1UlUzMVhnZXRTM0xJcWQwWW0zUUZNODVKR3owOFJwbEgrb0xsWGlLclhYTGVqQ1VVQ0FtRWFkNWdIVUZ5OWZZVTFXRktlZ2Jlcmp1V2RQMVd4NDJpdWViMDB1UzdzQ1NueFBOUUhDM05XL25yMStpU3JhNGxTaHVibHNHNVAzcXNZSFRwelBwRGppVEN3d2dMdTRtOFNweXBwcnBTb3VkdFdsQlNON3hiTmRGWjE4WndDTTVNbHRmNUNZWmxmWnR2UjE4cGpKeFVzNUJIa0tPakMvZFZQTERWWDBHbkV1NGo1cTBMcXBGazIzaU8wTFgxdGJKYk96eHBBSHA5bjlqVy85Q09qUSt0OVFHaW15a0tMQmI0THUramhvME1Cb1NlcFZpM1VFV3VTMnZCb21udkluUnNocHdOczNJUjJXdXJYcG9jYnRIRlVoODNMM1RveXdha0NhTlNPSnp0dlA5dThFVmhoMGh1WEkvK1ZvZG9yWEkvb2F1RTVRb3lMN2hsMDNUTnFwSFpWRFExWnJtWUdJMkJMUmMzWFFDeHpQUHFSQVJ3WU0vZjdrSGtvSDM4eTBZaC82K212bFVpRndRckI1SlpVRVZ6dGZ0d0RHVTUxL05iWG9yWW5Ec3h1eUpwNzRZWk90Q0VzalJyK3JzUkRGMm0vb2xYWDRxQnFZTkFvWVdrNnIwL2tIek5PZFFPWVA5dkVPSUZCYWk4bUxzQUl2YXlDUGJlYTQ2azIxeDdKcW5nOWhmMEVBenZScDdVclBmSXQ5emh6WG9EaWR2MUNCcnFXQitUMUxTaFNFUEowc3ozUTdjTEZDTG9uM3VOZGFOYVBmbWx3cDNUdlhwaFQyTHg5QzIrdW1pOUVSOXZhSVI4NDB0SDA4djVhblZaZko4UzhWSCtCZjdWZ3RwZ0VhK1JuSTM3dFZBOVlOUEpzRS9CU1ZiNzlEb09SaFIwbWJOOVB0STMxR0hXVUNleUx4b0gwMWlad2gzREpqV09McG8rNytCenpnNVFDbm9Ua3MxSUJlclk3bXFudjhmbGVKcnRIZ2RCSCtLYUNNcFlSTHMrQmVzNHJ6WE1rYi84L01JV1krK2Z6T2Q3Q21GOXMwWURra3d4cmJUaWFGWWEva2hXaEkrSnhWYWdFb3RiekJNOGdOdnYrOGI0Z3puc3Fvc29qQ0hGSnB4Q29sN3R3UTlqdE9iN0E3TUw0aVllU25jeXdFZEtUZFNhMEJ0UExzZXkvaWhJTFJFTGxDUFBkT00zQ1NpTk82MGwxNXhNK3ZMRHRkMkpmR3pwMFNrYXljdWozV0lHYXE3a1A3bnJyc0IzNHZyVzFnaEJsWFhJTzJEWDNzUUNpWDdjMTNjYXpVVzZjN3l5TTJJSHYxZWpZRXZSOVU0NmxNelA1cWlLOEtmNlV0b2x6M2dkNTZyVDVCelFjWmg2K0dIbDZieDRGeXJTTmdJSUVWT2NyT0huM1dhaUF4OUtCMnJLbnRQWmdJMWM5YklVaERmWlN5L1Y1eXVDQXVqWGxNdU9YQWVxQjc2bzFZUTVITTRYUUk2TG9oeGZIczBoNU0yd01sSkwxTG9OM2pINFM3blZ2UmRtNVRJaUFHVHV0SEYzc3VNSkpjVTRDSVFTYzBiNFlIZm41ZHZUekxQN2t5VkxSSjBpeFFzamJjZlpONEZINlN2dXZNRXpZT215VlRiNER0YmNIOGRmRTFBV3dOSmZ6dGo2SUpGMDZKYkxrZjFJLzJiSWVYaWZzV3M2NC9wN21SK2diS1UyUWNzQ2p3SGZMaWNKWEh6N010YmQxNE9VRThIamlQZ1oyVXJGRThuUXdBbEJhK0Y3VkR3R2hWcnVndDh0TTJKSHk2QVRaSWhvQXloTmpXVGVSbTd1b0xSRDZlWlBLelkrSWpHWitCdXgxSkV4eXFvVE1tZEVvSjhicVNickZMOFVyWUVKNnhLMlBwaTd0dEp2Lzhha2l2YXZTa0lkL3hSVzhWTG1jV0lySElOY1ovSzE0YXFyZTNyWmN3dTY1MW5HREFuQ1gycUlHZ1RBa0E5UDdEUnFIT1dWeldaMHhPSFNTS01wRXJhK1U1QVZCR3A2UDYrQTJ2SkJBOHp4VDg0U0owbHAzTm1IYWZ4WG9BYkY1em1UNVBjSlR1NEVVdGpVZitlKzV5TVFlS2kzSnJKdXMzVVBwVzhOTWVpcGM4YzI5VVR1czVsQTJMbzVvbGtSaVZpbUdYdEc3RVRHamVSc092TTB3aEcwZU9uRnJvczdEbHNUSDdkVGhwY3JmdHd6NkQzNEdkRk9LOThVWWlJcjg2Q1lQeXlibDBCNUFScHJIRnE5SHZzeEZ4NjNmaXV3QzBXSjZMc09ydWJLK2lNeEx3N051QnlQYjhOVnV6TW03ZFNlUmFudVlXcmxtRHR5Q1F6aHEveWVDOTQ2Y2ovREVoc2xzTFUrQ25jZUdDd3pkdm1OV0NTODdpZk1Wd25jbG9xVmpBUFNtaUI4eThidEt0QWJsMkdac2Q1MHRxckhkYml2dG05a2JqZ09RNHdJTW8yMnB6OGk5WSt5NXZrWHdXc3pNdUdjMmhxTUtsZVNhNlE1ZFlWbWdPekNkb01NM2hqVVA2RGVYZ3lEdUo1RnFlNWhhdVdZTzNJSkRPR3IvSnhxVWpKTElQSnBISTNTK3VhZmprZFptcjNweHdOemZaVis2UC9Ia0h5ME1pajRxcXZwQmFmVVBCbnl6T0NMeVFwcHZ1UlVEWDZnUmcvSmlNOWc4d29Pek5VN25pcTFlUmorYWlVdVJvQjBkcWcxd01HQUtsejVJWlUvOSthMTZEZEVQUVF6aW1nWVpFbDQxWDJlZ0FKYlpFdVN4UVBCbTN6cEJVQmhZOC91YW9RUS9SOWN4dkgwejdBZ20vUE10ZXRFUFFRemltZ1laRWw0MVgyZWdBSmJaRXVTeFFQQm0zenBCVUJoWTgvdWFHWnl4Q2NuV05wbnNKSVJYNTNXT0FtdnBuV3NLM01EcU5idy9RK3VWNWVnbURKOHE1V2NsQldhOU5nOTRTRE9ZMjZBQVE1WThqbkdQeVdEeDY0OGpMbHRWZHVxSXBSV01seFdmcit4QnhQQm5sV1A5ZzhWRkFjckxHcEMwbG1zVmFtY1dxTGVsQ09SaUw2N1NqNlh2aGNqNlJiT1c2M1cyNzBoM0NoU1Z3T210d3NlU1UzaFY4MWFzcVc1SHJLQXVPTk5KaHZ1MEJ5ZTBISkJOQkNhRkZ4M3E5NjBOdzA3OFBFRllVMVdnMDZwVXJaMUo1dWo1TCtQZFl1YUgrT01zMC8zYXdvRDFJcjc4MGV5cC9YY0k2MGdyaGVoQmFnNlhBYWZvQ240WGZFa0pJa1gyNUdkcEpJM1h6bnlqaERYR05KbXBtSjdTeWJQOUZoWHNxbGU4T2RabzBzUlk0MzlMenU1cGJFOEp5M1oybUhqakJWd3N0SmdBRlFaZlpxdW91TmwvS2syanRiMDFyZzFyUm4xbzEwZUhrZi9TL3RjZE9wREM5WVQ3aXIwV0dNSFRPK21PdjdMSE1xRStaanhnZ040a0p0RGNqMjhKNm1YNnl1TERlZmRmcFh3ZmJXZnRkUGJjckNGWGRINmpMQnRyeHFQUjAwWWUwRkdsVmJ4TklJczhqM3Fwa1prdjBmTWFsZnd1bFY5VS9Ec1MxbHY3RmE3VWxXSnhrUGYzWDZWOEgyMW43WFQyM0t3aFYzUitveXdiYThhajBkTkdIdEJScFZXOFRSQXdJdlVCdjc2RVVYMEw4U0k1eWZyTEtqb2tWblBvRUFsd1kya0tsK04vb1loSWdhcWVJek1JWExTa0phOVBpMThyeGlIeWpQVFFVVkdEa1h2ZmtBR3FDUmVCRDdVbjFvRzhBcUthYXJld2d4ZE0rNko1cnBnNklNa3JlWnhqa09FYjkyUzBvN2UvMDhTeG0yOTRibmdjeHNRYTBNTjZEd282T0x1Z3hETFAwNW9KUS9BUHQ3RTJhTmx2MHp6VzYvcWl5eUE4MDE5Nk9wcXJyWHJMU2FTb2xxQmM4K3E1UUJEbkljc20reWVhM1lkcS9OT3RFbW5Xdmd3cjhUUU11bnBTZmtQK0FTV2lWaUx1WE1VcUJ4SWtZMnVSM2NHR2VORXF4Z0hmaWVpV2EyK0J0WjVZd1VOOW9YcTNuTXFOWEErTDhSVU5UNFV2MFBBM09zUWxvVnhsN04xWmRMUFBpc01aQ25lcTZlSnBZZlp3d2toOGtiVlU4OGMrNURzZU9EQWxzMG4zNVIrSUF4YVNTb1kvcm5tNkZibzJyRlFaT3pKUGlxeFNiR2RTK0I1TGRGd1NzQlZiekZFUkUvbUJwVndrTmR5NTBWMzdFRUVRT3YxSUY4S0o5S05vOHJKMkkwdHZ4cEE1V2tpVVpQTTJMUkFteExGZVYzRFIzT0dVN1hpN3hFVFBuTC9QVE5DOVJVYUN1bDJGOXNSMDA2aWVIMEd6TmRXKzBjbWhiNks4cHFSby95VFZpd3drTFNObW1QbHVSeWpqVjg1VjcyZ3BzVC9odkhObnJWcE1VSk9EejMzVU9tcDlKcUtqZHNnZnNHdnJqUlREVzhWVG5DY3BtdjFzMjRkSmpQaFdCYnphTEw2ZVpEZmZMa3NkdVZ2WkZmWWhnREljc1dKK3ZRNUhobXprVnR1YkFSNUwzTDYvSTg0MVc4Uzg4VmpPMTNNTkRWRSsweUlGWTl5S0haZy9pRGNqRnU2eTNLZGlpYTNQZTR5Q3R2RnpWT0ppOXNBOWxzTFFUUTBRTFAxbWVpclgwSDY4TXc3dzNBMWoyTGtrUVlXblJ6dFdYdXFJanBQZzJLNEZZQjczWnE5QVEvR2hQVDNrRDQvN0dic0Z2c2sxYUdYMndFK2VjSVNncHF5Qm9RM0ppVkppQWFGdWkzVEFsb3RKdFZMR3VYMkI1bFNQbzVraXhvdGlJK2ZNRFhaeTA4RFZjWjRKdisvUmhaTzJUUnZ0VFYrc1hZY0t4elVqd2R5TkZTRGRURTRrOWgzdVVNc3J5MGpXVm5QN0NKLzcxa2dCMVBicWlBbks0MDRydVpraFFKRDlTMzF6SFh6NTVPZW9hOFhPcXlIdHJvSEZFeVJOSUtPNDBCSmZtaVdUMzJQVWt5cVU2TXVXdjNheDBqN1YwVGE3RytrR3Nlb2tJa21CS04vYTZRK3NhQVQ3c3psaUN0R29QeFp5TFkzRWRIRzJZREpWQmlPVlpLQUhzUUF4cXpiN2JMTUUwLzNhd29EMUlyNzgwZXlwL1hjSTYvQnNQRy9yOUtIcm82NlZXbkxiQUpiS1hObTZjeFR6YmQyRzRJNTl5STc0VkFoOFJVMDZzaC9TaFd5UDhoN0FIRnhuU3c1MHptSDNuTW9URUtBQjlZQ3pyY3pacnErNjdOckkyamZvc3NEZGRtMGQvQk5SVnRSWUxBWUw5R0h5UVY0YTNrWnIvVnBnd0IwaXozYjJabys1eVVUUkFoU0FlSG01SHVDbHhXUFRjdUwxRkYxVTNsTjdQUUdWZlRHdC9NTWV3VzVIeGpsdWUvOUNIdXZSQ2VvMkYzRjJmcGxKNkUwK01VY2x2TndDQVlnU21wSHE4YWFNZ0N0QU1rSnFndUxMZVdTSjJIYWpQRVV6RUwyOFZoZndtclRKT2o5d1IvNDUzZHJQdlNkcEZQTGM4YzBGanVuZzlORzdRVjJYOXk5a2dsU2JPMjZMcks2blE1L29BMWh6bnNkcXBYWFRZajFrTE15ZzFkV2J1VkJjVGZlRko1bjBlNGwyM0pVUTI5SjBGcm1ubTl0dnhROEtMdTFyVXJTc2tRc0F3VDZPcDhVcnk0MHpuWjEzamxjVWZwY0hjbzVMR1RvU2E5UEN4VFlRUjZTOXdPM1VuVjM3ejAwdDZnSnZscXhKZVRWWko1QnZCUHc4S1JRcDZ0dDZKS3dNQmdaY1RmcGxselVnWWJScXVtejFFYUkwZnV0b3RWME0wVDhXUk11VGFpd2ZEak9VSFQyK3ZtSTNVaVQ0a0FLOHhWdjVOMjZ4M1VBVElINVRwYjRub0I1ME1mMTdvZGJwZXZoRUM2SkJpN3ZBbUo3TEE3cWZuUjFFd05rUmZ5SGgyYTJYWXZEQmFKeUNLYmovc3lyTWw3UGZ6TTNrUXgyNlUzUjJiUjM4RTFGVzFGZ3NCZ3YwWWZKQlhocmVSbXY5V21EQUhTTFBkdlptajF4Rnl6MGRYOWU1UXh0K2V3NjNKL3RZWUwwa1NoYzFkNEo3ekFwenhlVFc4TndOWTlpNUpFR0ZwMGM3Vmw3cWlOcXd6ekRMUFEwMk1GWkNkMTYrRG9FdUlDdFl3MStUaGxEL1RuMWpCeUdDWGNFWkNtZk9BOGsrQ3lIVFBsSGZwcGtpeG90aUkrZk1EWFp5MDhEVmNaNEp2Ky9SaFpPMlRSdnRUVitzWFljS3h6VWp3ZHlORlNEZFRFNGs5aDN1VUM3dUFIUnNIa1NMa0FkMUZCOWk4YmRqL00yVytLMXR2bUkzVW8rMFZvS1IzeExMR1hUdCtiUGc3Q1dtWU5UdmZIa2Y0ejNuNlBnc0puVWFIaXZMYWFoVzQ1bkhFR1l4WE5sc0ZmT2MveTNEQXNOYXpjMlJyZmU4dXoyWm5YSVdhZXFvcU16N0MrRjcxMHJaUFFCQlRWaVozN3FDdEdtdHBwUWpGTkVpY0pkb0tUMEg2TzhldnVOclJLQzlDY0pBei9zV1JaRHEvdEFqNmVmR0p1cnNxZ3A1QkMxdktXMkhObnhzemU1R2RZVTJBNEFsTHVZU2RIckE5WDhPZk9ETHhkODQwSWtiejN0dHN0OU5YVEhOR0xIUVdVc1pOdEY1MjVrSzg3Z1JWSytvYjVKYW5rbTJGZHdsdUcvaWZsWVB4cXhvTUFOeHVRdjJyaFJsWENBbzd4a0RSZ2gzZVJoZGNlZHdxdE91cFNiNnBpRjZIMDVpRlB5WXE4T0VoSkQ0Sm04MDlFenVIQmJHSFVyQnA5ajRoZk1JaDZHZ0FuejlkNEJtUG9RL21SSkp0VDhQTFFncTdlbzZMSjQvcHJNSTNwWFEyWG9DWm1jOUJuS292dDhWb3BYWHRrVjVqclFiWUlvYk04Q1o3VTBxSHMvdkNoaFcwOGdEOTlQbm5RNDYwZm5VQkQvK2dIWFYyZDBSdlQxMmxNNjMweU1Wdi84SzdyTE5PMVVHSWVROGFhMUc1bmZkWncwTm9CSm4zU3BRT0VLUkhGbGUvaTd0RGkvdDVTcjY5S1VENzBGVG9oTHlDUksyOWl5YUJkUGRyRWFhYldJdW1VeDFJQ2Jkc0xzOEU0QXovZFhPckhyNlAzM2FOUXp0UXJ1c3JMMUVUOFAzK3RTT2ZYVWZDMTdzNzgvRCs0QlhaQnNlWndZcTNKZnRYVGRha1U5UUxIRmd4a25JQk5wN3NudktDa0RiTVlqZlhrNnBydmZrQ05pMzV2ZS9zUlVwbHJIRzBmNnVNSzArR2ZybFNnYUVXdHRVaTBVQTcrVG5EOVBHR2xUbjZjVmw5aFJ4aEczVHorcE5lRjlkSFRWeG8vV3dGdHQ0TU1MVDB2TnJPaHBlUERmdG5IMy90M01nMU8vOWt1VnhnUk80bGh2eCsvNVY1T1czYkREakZvc0UwdGVvZDZTa0ZPNWNPRjRnREtySUZWbktXNG9MWndFN1BldElPRThHNzUyeW15R0NlWjB5ZUtVZHpSUXFLQnoxTHJ2R3E4YllTcUVJelNuRVl2YWZ6Z1JjY3V6aklISkY5bTEzSzErRE5nZnErVnNmcWNjM0pwTGRUcVhtOS9VcXVzWWV6MWxnR3FLQWZVSm1PZ0VLV3MveERhUDNkRXlnWjdUc28yaFcycGVZMXo3UitQODBJdUV0OVRKbmc2dXdhaGFpbUxDT2hYN05QMVVHSTVWa29BZXhBREdyTnZ0c3N3UnZscXhKZVRWWko1QnZCUHc4S1JRcDZ0dDZKS3dNQmdaY1RmcGxselVnWWRKY1N4WFF5ZFhDbUNXSDkwOEE1YW9WMzVlV1FPZ1JyNGdHY2F4RndMVlVuaHowYjlBZ2lOZHMzWHpTd3ZNNDZhNDB3amJxTnM4MTRXaEs4eEFpLy9pL0JYRnNEOUtTa2FZVGZqZzJQbmFhV3VpcC9HVUswSUowWWhRdUlLNmx2M3dpNWl1SU5BZks0c0VEUW5BbDJjMFRCUXVXWndkUFlQVGMwRW02dHJOYUVTQlBydS90WkpwQWttQk1KaFJqV1J4YnVIaDUrVU5IZ0xXQkRYNmE1Q0NPMmxVYllxbE5GWnd1RUhiWVAwNyt5ZTlqNzZYOXZBL0RCM0pqcHRXTHpQWE9LWGkyOGRDNmNhSTVvVlVySHUzSWNyV0ozSVRxckJ4WWorb1p5UjdnNXQxOUxzTTZnN01RUUVXOHFaQk5JQis2NS9oWE04cm45cllUbHpub1YzN05CU3B6SU9iTEt1bGprMWFrQWc0ZXFCRnpxSitZRHN0NUNUdG1pbkpCVTYxMmlvS3VENDlzeS9xV3BFMXByVWErOWZyU2gvQzFTeUU5b1UvRDBXLy9jNGt6Y2lDM3cwS0g0b3JBa3h2R1BDUGgwSDZwQ0VCNlZ6dHhENXZxbndJbGtYTzRvRDRzVk9tN2Foa1YyMzdWZjAzY1QrV245d2MvRFJiQ0NUVUNwR3cxM2ZQSzIvYm1WTGFYSG9TQjYvQzF2ZENrci9zcXlGVGZyc3dCQXJ2NG03MjZFOWlxa1hKOUI3Q0tEVVNQeDloZUY4Z0FHQ0wzQlk4N25GNEN3THl0UG5vZEdLSXplSm5qUHBQdzBkU1BqT0NRaEo4bWxaa054ejdjZmhZa2kwd2pOcTJtSGMrcHpjQk9SUDczU1l3MTV6dmt5NG9xQ0w3VlBQdHhmV0RMQ3F3QXV5aHp0T3dBMXhnOVlIdmRTNkNXeE9waGlYZ0VoRFJ6QUFYMVZPaXhTanZmWFBsY0d2NDlhVFBQKzBkclZIOFgrWDAzdlhlbldManMraHRJdWtsLzZJeHZnd2M0M0pUazFQNndzT3FmU0JFcFNSTXVKbU43d2tmR0tVY2tLYkQyVXErUUhTS0xWdHdWWnV0TERFNjhBTFROZ1B0ZjhvelBoT2xjV3RxK085d0lmNWV1cmVwWnFpU0JiSGtZNW1xS0xiL1V1OEN2djBPemdPSHI3SmJKZ1NwdC9SdFFydGVnc2VXalBrWjRITHI2ZWEvcmlzK0UxNkQvamxKNnRZTVVEanZrSm5qOWlHQXcwTVN2em1vSk81Mk8zMGJvcUlTN2NaWGRST2FRdVNReHg1TzNrbnFaTjNYcUprejF0T2lqckZKbGxCNlg4KzdtdUdKc2p3RXVPTktpbGUxSzFPMy9LYWxFOGNxWnJHNkFsWWM4czduU2xoaHI4OWp3aHNRNzhBRk5JdG9oNWxQOFJEclFuU29yZE9ZY09FRktWdTlRck9pd1lCTHFZYVJkNzh1YXg0TGUzUGdMb3hJbldxQjdOSUNwYXhtZnRBQUxuOG11dFdYQS9IalJVMWFlNkZmQTJFWS9vRXh0eHNLaWlnK0xyRFljVVZ2S3k0dVBqck5Vd1BMdG5lNEpxdlpaNnl2K1NOZ3kxR3RCcWpPU1lTU3F3OE5MSmpMa1J6aVZDcGxaY09NNkNyeFp0TFIzeXpMenNmanpBYktRV2g5cWUyZlEwRlVHSTVWa29BZXhBREdyTnZ0c3N3UzRZYVptQWVFbnBRL0ErcDUvVFBrTHptblVJZHJVMUxHSXFxOVduRzdYMlcwSzNXbVNhbEZKOTdDa2h0VEFxZkZUUVppTCtlNFB0a2lidmJjSUpmTDdZRUNaYjBCYVk4NkVWWWpVYmFQSU5mQ0ZISXBxSUtiblM4ZGkxQjFhRTlJbVlMTHc3Z0RzSEpGTzZSVWhEQjdhdHltWkRPbTg2NS9QY3M4VWxDS0hwWkFMaTNNU0NXZ1pWZU84V21iSk1rR09vb2hGQlBCcTV4SFBMY1ZvamtxZUQxUFhNdXZZZFV4YVBmTWJaVVZzTFdQL3dwTlNCZ21MWlE0cnp1V3UxNExEZ0MrdW1aeGkrS1ppaU8rcGQ1ZUZGQkgvZm5RSm5sSjE2bWlRL2VmdUdmNk9vdFBPVmxzS042ZlY4djNFcmtkd0gzcURwRDFpNXBvL0piN1poazkxenlWZjJIRFFDZ1E4QTREdXNKTndxVWNISlc3UkxycEtVV2FxaG5ONXcwZHg2dXVib21HMVVpWkdSRTZBTjREN1ZpV2Z3R2p3TkFQT0szM2xRbDZVTmphREovbzZjanBGMXNGMU1Fb0x6bkN0TURxcldRNGNSaXpsRFpHVVRqcFJlNm9MKzduUEo4K2ZpNFAybEpxbFR3ci9KTmRXZlBWVkpicSsxd2U2SnhtZld3N25UQnhiMjAyMzBMMHJCdkdaUFZWV3NaeEZzSWEyc0xhbnRlcGNuYzNsejdrR0lqSlRCU0xVUXJENVlpZ1pvbXB4YUN5WmVvRFExOXVka0h5cWFGYWNsOHhaZWZ6UWNzaXFuTHNUZUVPNStBSFFDTzRTOFREMzBZSmxkdHVXOWlNZldmTWQ2RElGb1RXT3Bxd2ZaTVZRZDRPaUN4L21lWFY1ajVaK2RVVFZKa2lHRnhyT0hwUXM3eExmRzBmUkt2OHdQY2lBQkpMU3RFT1hWZDUvTGwvSEc4UWpOcVBHd294ZGJ0SjI1N0JxdUd3YWhTMjVXanl6LzFhb0d6OHhDSHV3amh0YkVBbCtKd1paK3JqRlh1cUo0aHF5VW5jenVJQ1pqRldxUFIyNkRZUmFhVHhaQkJUVzd1YW1od0JCTHNOMVRkaGlocVNEZjZrSG1YREVqNGRwUXlUQlN1RmFFd0gyL1lpaFFiUzArUmlMa05IMUFGMFQzdi9XUCtNdU15RWZ6dGh4TjVaK25wN05RWi8wcUVkb1dWcDVBZXpOaUhvemZraWVDQ09jclNHb3NQWDhjdEF1RVNEcHltSU5OSVNJck1LUUJ6N2xpSlFtbm52RWV2NXFMb2VxOUNxT3lwRzJ1YysyVEdFSGgzNi9ja0VUOEo0Q2FLVnd0M0FLckFDN0tITzA3QURYR0QxZ2U5MUxkZXl3NXFLcThlTWdPTU1iRVROT1JXVmlvK2FnbGRwMkVwVUJxS0xnU0NnZjlMQjM5TlVDcUc3dTJKMG91d0M5Q3JQTUIxbWxYZ3I4L0J5UldjaTdKd1VRTnJBZnhHa0U2NXB4aGEvV3prZXFEd2cyMERHZzgwZ3prWksxNTcyRnNuMEQzVTh0UE5ZanVackxKZmpyR0NTVU0wSDREK0pLUzF6SE5FWjNEdzV2T3BLcEdGYjd0ai9pSkxwU2JkVExlOHZEUVB3UjZGUzhrNUk0WTdsbmVOcW5rYnhjWHluc0RUYkNseHhoeFo0OWNOc0xPVVRjS3RhclFpMmwzRG85djJxSXVBYkNmVFkvbnUrazFveC9SdFNwVEpWa25ZNFRZd2ZWbDgxaGdERGxBd3NVVHg2L3RtUnRWSG83dlpVRU85c1BSQk5LSGtyazgwL2o3aC9wNjRGZWJMakd6NU1kc0dselNQMlMxQ3ZYSWozMWJ0YUU0NzFPTml6bjdSYk9vcUF5NG0xOHFRODA2R0ozbjRUWXZINHdoaU53K2hOUkRrMGpHUlZlY3VPQ0Fpc0UrS0xsK0VLOEVuZkx2ajllR0xyMTFscEk3c3JEYXVLd1RyeVU2TUcwcW1CRDM4OFVtdDFYd3FyZ1YwL04rMmVxb2Q2VUZaS09IeHVxbEhUb0k4VDlObDBYeTkxMXlTeVpNYXRYZTVOaUhVRHhjQ3I4ck1OV21ybzluSzJWTzgyczNrU3RhR2czdEYrRE1ETHVWL1VZV2swU2tPTkdlRUtxc2RTa2dGWWxuOEJvOERRRHppdDk1VUplbERiSXppZmdMNWNvYUxubFVoSk5ibGh2Z29nT1FqQVNSc1pSN0ZsaEFWUmhyakVobVdkNUpsVzJiUi95VmRyNmJhZlM4MU0zc2lGVVA1V084bzZjSi95NzZLT2xNcGkxcWx1UGFiYVpiRnc0ZDNIcTY1dWlZYlZTSmtaRVRvQTNnUHVSaHhicHlab1NCTEt6cE5YRVlCbStGT1RzZU1YSDB6R284RVZkTjI4dFFCLzBzSGYwMVFLb2J1N1luU2k3QUwzWWMyOXRzcjBNMjNJVU85anlyQ1hrZGN2ZG5Td0w5NEttZHdFaDZsRzRHQ1QvV3VoK2F6NE9JQ0RoQkVpVDMvSU95eUNuVGhrbXErRE5VQlEzdjZsT1FxM0llbTNPYi90OUF5dDYwcFdmaUFGaElQRmRaUnk5OElYRS8yRU40Qi80WWU2SVBoZVZzdGJ0b2Z2Y0FMaDNzWkxnNGRTY1lwUUc1clAzeVVOd2lVVDlFalUxdDhIV3BOZXQ0OExrTGNRN1VFNDg2SUJPejBNRkZBSlVoZjd3MXIzb3BoQm5CZnhlcFozc1hMU2VYNlZ2ZUNzem92UzJLSkZMRUs4VXZMbkpwbHMwQnNLTnpBS1lqa3ozb1dVS2NzeUMzdFdUaVJGa2hIY0ttNG5QalNlRzlUS0pFOE5uSmxqbjYveFBRVGdNTkpESjJNLzRRcUp4bmtxcHpab0pSNEtiTkpJclEzUldWVHZmWm45S2MyVzdrQUFwSHBMSlZTR0JYWHhiTnc3bjhVTURDOGdLeUFsOHViYjBzUUxFOEYyUzhPNDhFQjg3NkVxait6UFZzWkVxWXNxMThUSTFOc2RWd25mRHYvVjNWUXJBbFQ5VFZLSmM0dU5oWWRGeTU4ZE93S3RFZUNzMlVTNlp0OW14a3p0YzZXb2syMmNWd3QrUHUrMEMrMTgrQkcyTWw2RzdlMERZbmVxY05yeE9QZzl1Vy9sZVkzQlNVV25VRGtnS0NXUEdqbnBWTU5Sc1gvYmxIYTNlRUQrUnEzN1FrZnNXREV3ZGY0OG91WDFvd2JTcVlFUGZ6eFNhM1ZmQ3F1QlhUL3l4OFdBNEw2YWhNMTFtQ1FqdStRU2pIZ2czOXhweGhIZ3RTMy8yQ05UYUswbEdaS2NvZm5NcHJKZzFCcnJqc0xXakIrQzF4YThmYVdxaFJJSUhGQmRtQ0R0UDk4ZHd3c1NwOWsrQStyZ0N4YkxEdVNJV3ZMZWtIVHRBYjZwZ0NKTW95SFYybStFQUhjaFJWaUk3aTBoODRqWVVPZ1d1eVlEcnFmaW5WMXVmTlFKSXN2VG9iVWFiZ241dE05MmRzV2VWbThUN2lxM1RnZmZvTDdUdG5JSVdXNTN0N0lOYVJkT0pJOEJIbUZVMlhZSzJKSzhkV3pKOHcveVlUalhXamRhamZCYnBWKzJlc1h3RGtSVnpPbzJjTm92a2hvV2NIMHo3TUxCc2UxckRkS1pJb09MM2kwK0dHVk4xdzBMVmpDZi8zWG1VaUdla2wyUzZVWDNvYzZIMHNyZ0xrRWlpZkRoRkVRSTBVcCtKbUZ6ZmNUWmRuV2NmNXV0N0E2MWhGNkhvR0hPbG43SkNXMnQzUm1MNEtFVHNYK2l1MWtlUmN6OFRUalFFcVVyOGViaGc4UlpoWmVXK1RJYURYcHgzNURoTEhxb204SWlJenhJVkMrY1FzNlpLbUlvU0tCMGoxUlJYbnZMWWNYZVRQd210QlBpRjFMc0ZBRC9WZ1Y1R1JVNFlDNXJvUjAwVG5mYnlzazBLMHdRaXdSL0JwWEJPVmlOS1llUVlFZk1PN1FKUHRRaTl1WVdmNE1UenhCRFYyNGdmTFd2K3U2cU9RV1N3eEhyY2VjVWc0MlJMZUYyVnlUTUg0Y2ZjL0srS1NVc0VpVlh6TUs5akE1K24yWUg5d3Y0VmcwWWMwS2c4QkZFbzBJMm1GSmhBSmdxSEtSYXBmSTltZjZLbzlTRVU3TFBraDRNTjhSR0xrbXpMVDAxY2taZHlPMDgrUXJrc1RxWHJPL01oaVVMdU9DQVFuZFRLZGVReks4L09vdENNTWc3L1dRamsyWFQ3MXBrQ2dFU3kvYWZxb3FuS0o2czVaaHpUbkw4VVdjTnBKbHo4dFVCa0FaSDJOMENudWFnZVVOUjBITnNRTGx0Tm5uMmwrdSswTHJKbWJjd1k2eHZJM3JWOFpNcG5JV1lVcnN2Z01TUG1sT0NndG9wcFFmcXY4SURnMlN4MVE0UXhsOG9aVzh4eW1ESVovNVBTWVo0aW1WVXg2TnViaC9XN0MybVJ3RzVncytnTExoRHR1UG92QkJLTkFXemFZUFJXZmRsZjd0cTlBeFAxU2ttSTViWUJsN1JHbkorVzdTYkJhOXhkYlFYbkFXVjRwcWlMejJXL25sQS94eEZib09sam5XS2VjaWtnN2VzWHdWSVNCSzNBR3BZOFd4SGd5dHovbG5GRElsWHU5WUdQSmRMajhWM2N0UUlIZE5MQVFpN1oyMEVLZGdNK3hZVTRKMkMvN2Rma1BtNllmbE1KWWg5MG44T1NYNnVxR0xocW95b0pJb21FdndydFBEemwrdndKVlNOQ0ZuRkg0cWdjR1RYT0dSMDVCcTFpTFI2b3ptWjREalZPdXYrVm9OMmxueVF2RU9hRjRhVjY2REU1eE9aaHRHNGhqeTFqa25pOGZlM3J4eXNXWUlxVFVVUnNTdXNySFRuZ3N4eEZ6L3VuVGVFOTI2VlVHZHovUGZFa0VwVlhMNzFQVUQzSnZRT0U4UDBvVHlDWit3VUZIVUJMU2M2R2RvV2MvYVdnQVBldWNrUWtVK2hVVFdIeENvSE5oWUVrSUFtKy9zUzRON3dCMWM4YUNTSEpkbEZRWnlqa3QwVVUwRjVtTmNQRzl2ZE5oVVR0aENkZHhvL0pna2Ewbk1jUjhVbkxFWlFLdUplaUduZ0dDYjVvWWVXdnR0QjQrTjh2OTdXSGRubURjYytEckRPTWVDUHhQTzl5NWNnU3VDdlVQOCs2QVdhRTVRNXJKc25NUG9LWjFvN3NmSEcyUHZEMzUzUjNUMldrbjExMmwvYUZtN2xHV3J5VG9ZUUxZQzZjY1B4QThiMVc1WTVYRkg2WEIzS09TeGs2RW12VHdzVjRqVFhIZ0xFMmJTL3BIbUtKUFFtT2xyZUhXODVVYVV4c2NvZ1NSajRxMTVtWUJSUGIrNnhnV01lSzNWT01QNXIyenVSOFNIa1lmNlpYZ1RmdnZXbnEvTmgvaFp5TnpOMXF1cU96c21rY1J0MkJWQzZlZ2V6amY3NXpSUVBmNzVzamMyOGdOTTV1a0VNVjAvZkxjMWF0eWRVUkx6cTk1OFd4U1hRdXJkbFEvaktRTDdXMExTM3h3Tk5tTlhaZlFFc1d5bU1adDlYRUVndGY2bHd5NkVHVlYrc2hCTm5TcVlubmplTW1VNlhVdEZDemE3R0c0dkRlYXNOUHVRbjl0QWVpZ3diQnIwQys3dy8vRWtSZDYxQ3ZqUFNYaFUrV21OUUloYlhSVGYzWHlJcjVScWEvT2hpeFVCRkZQejJGbVh5SlZLZlpmbzRyM1JGOFNxT1FMK3NoUjVrdzZWaWxlSHZOZUxIMGVRMUs2dE8ydllPYmhSd2I1Sk54VTRzU3ZEaE5uR2MwL2pSVGhkNmFCelY2cmtmUUFWaGdQVnNzdE14eitpVUlRUm4rNzhzcnkwaldWblA3Q0ovNzFrZ0IxUFlkb2xMQUdaNmdSVnd6YmdYVnJqRThWR25qWVI2U0o2WDR1OTV5ZFhadFljNlVNdnNPL1BPdzVDY3I3OXNKemlmTkZDb29IUFV1dThhcnh0aEtvUWpOS2NSaTlwL09CRnh5N09NZ2NrWDJiWGNyWDRNMkIrcjVXeCtweHpjbWt0MGNqT0Y1akw2OFp2YkRRVVV5NGdXK0wzelNtYmR2VjlhTnd1eHd6bnNmNUViY2YwWkJqdVFrK3lZenJpN2NUdG04Mk1EcG1WSEQ1V1NzOGt2VERsd0YzNmFHbVZqUHlDSy9ZeFBpblUydTVtODlQNEtjeUNaNElmTFN1aVFYN3FZK0V0RFNRVDdNNE91UlpaYWVMbWpxeUhjckJFRmZOVXhrdkRlaVlvTFZWMUJvL0Qva0hnb0hhM2hkSFdFTFJDWk9INWRJVXJqYzh0WW5SSktsY0hjR3BqOG5MSkcvdE1sOUt3OUxDOGJTUklRbVNNRkowWTQreC9iV1B5MzlzMFJHRnI2YnZoVktZcjZqQnZFZGtPcUczU244bDBrZjI5cDlqK2liTDRYbmYwdm1Sa1VEeVpleVZxR2JZMnZJZ3REYkNVeUNnSmF6d0cvVDBsdEkwQ1NORkhMdWtkMTNDOUFGR3hsSHk2eU8yY1NSVzc4TjZOemV2VUx1bVArZUoydzhpMTRBUEc3MDVpaHFuYlBjWFVMTko2TG1kdGZ5SFhTT1RrcDVQckIrUVZhTFgyVlZYMVlwdkxYZ21aQlM2a1F0UXlMRysyM0hoMGlQZWRHblBua0FlSVBDV1pEUWdQVTRpMmtOMVJqSUtMZ0paZVdRUUkxYUdYNVhiRkZSM1RpUTQ1eUY5K0x0VXl4OXB6ai8wRndaZ1hlZVdaNmdrWXF6M3R4NVo5cVVOQlk5VGxBSng2UkF5bjVIKzFWamRNSHZ6OFA3Z0Zka0d4NW5CaXJjbCsxZE4xcVJUMUFzY1dER1NjZ0UybnV5ZXhKVFl3cVEwanFwL1hRNnJheEFtMWJBNkEvKzdtYTlWTnVRNDJkMjRvZUwrdVZLQm9SYTIxU0xSUUR2NU9jUDA4WWFWT2ZweFdYMkZIR0ViZFBQNmsxNFgxMGROWEdqOWJBVzIzZ3d3dFBTODJzNkdsNDhOKzJjZmYrM2N5RFU3LzJTNVhHQkU3aVdHL0g3L2xYazViZHNNT01XaXdUUzE2aDNwS1FVN2x3NFhpQU1xc2dWV2NwYmlndG5BVHM5NjBnNFR3YnZuYktiSVlKNW5USjRwUjNORkNvb0hQVXV1OGFyeHRoS29Rak5LY1JpOXAvT0JGeHk3T01nY2tYMmJYY3JYNE0yQityNVd4K3B4emNta3QxT3BlYjM5U3E2eGg3UFdXQWFvb0I5WWZxcnZmYS91VTM3WG84M0k3TzcrcGkrT3lkekk5S2pQc0NUUVU3RnpJZWY4TXZzSmlQWTBBNDFpeVdLMk1pSmJZaktkUE45bUJZMGtTc002c2trZlo5Z3Y0UTBrOEswd0tpTWNSamlFV3hoeVZKUXpzeENqbW81Y2RHd3lrWEtrZys3MzRMbHNOeG1pN2ZOcEl1SExaNmFFQ25GejdLM2xlTERRSmR5MzU0MWlZUVkwK3dWaUJHanBNM1ZtZW1BZGo5b3pRVTZZYVNpanJFb2NtZERvTFR2S2grdDNXeVJjNU41cEhqQjF2bFRuNHV1OWthc2hybG12dVVSTklYTWVrVjEzTGJGdXY5Y0d5cUl3NllMZXRnV2JYOThLbldLWjAwYVpVL2w3a2VnNzg5c3BuOG1ZRXNFN2dHa3FBQ05iMklEVlZKU3hpaWJpWjlEQzJGU1JrM09aT3ViWVNtTzBZcG1nb1E5S1lkSFMxU0hJbjh4QjA3Yzd0MFRLN1BqRUplNEIvZ2JWaFBTQ0NObzE0dVpjUnp6dVRIWUlPUUlIRXV1M3oxUVpUVHczQTFqMkxra1FZV25SenRXWHVxSTJyRFBNTXM5RFRZd1ZrSjNYcjRPZ1M0Z0sxakRYNU9HVVA5T2ZXTUhJWUpkd1JrS1o4NER5VDRMSWRNK1VkK21tU0xHaTJJajU4d05kbkxUd05WeG5nbS83OUdGazdaTkcrMU5YNnhkaHdySE5TUEIzSTBWSU4xTVRpVDJIZTVRTHU0QWRHd2VSSXVRQjNVVUgyTHh0MlA4elpiNHJXMitZamRTajdSV2dwSGZFc3NaZE8zNXMrRHNKYVpnMU85OGVSL2pQZWZvK0N3bWRSb2VLOHRwcUZiam1jY1FaakZjMld3Vjg1ei9MY002d0xBekQ2ck45OHk0NkhiQTV0VG5kR3JNbS9HbS9UcXAzRzFOOEJxcllnb2FMTldlazM5SWZXUkE5K3VYMUcrNnc3UCtLbC9LN3draFdiV3N1ZllLZkFaVnNjN3ZOckZqRDR4TUQ0SEVsM0hmY2NyS3h4cVROclRJdUV0bFNGbUtDRW9iNThOK213RnVtTmdpL0hCSzZSVXpxUW0rcXM3ZVhUcURNZDNMcENGa29idVZWYVJMUmI0Z1c5bG5KQ1VrT0Fod0FhcGd5NDBQOCswbVQ1aHVHdHRJRzdWZFl6a3EyaXZENzVKd3J5d3QrVThMKzI0VUZOZjBTdnczb0dVeFRhc2lCTUtxYmxpMHNEUytMZTZNWE0xTk5xd0dBNHkweEdkeDl1aGhTWndLZ243M1BTOGFZYlFqRXpGRlVDRzhWeDU0dDFVREpKT0o3L0ExYVg0MUZyaUdaMzQ5cVBnVlBLMi9mcElmVnRndVhuNENZOVQ2YWFQbzk1VmJRaUJyRHZkSlJiS1VKcWNtN24wYWdSU29nSU81WW41WStWUEVCdjBQd2ZxL2FiSHFKQ0pKZ1NqZjJ1a1ByR2dFKzdQUjNXZzdhQU1UNUlkVzV2VTk1Y0toL0NuQ3dXMFpuVFBoYU9MdG5OVkNxbVNxZmxxOTF2azZUK3g5cHI4dEw2VENpZVZsQ0IxMkN1ZHVGQUNoVjZ1OU4vRklLQ0NBem10Qm1zMjQyQ2ZkZjFtRDZtUDJUcGprN1JpQVlzK1k0bTVkck9RRjdVTGE4eGlNU2t4a2Y1ZW1YSDk4RzBQY2srQ0hGNU9GY3BzZ2lvSTNXUXRIRUd1bi92Y24rUGxXWTNlUzBDVnhneFRpSnlyeTU2V2pOUW4vTVpKZlM2cnhCcHYxZkJmY2E1YnZIV0I4aEdidjBEZGdhRU90Ky9Nc0U5OTFxUk5aSktUbHp3elhXcS9Bek53K0JGdUJ0WmZYbUl6RHVYRHN5eTlYMHluRVl2YWZ6Z1JjY3V6aklISkY5bTEzSzErRE5nZnErVnNmcWNjM0pwTGR2ekFaWHdNOEg0YVdBYmxZNzRpZ01jSk8wY3paZ2RQUDRTU2NaOFdRTFAyK3dxY3dnNm5FVjNWY0wzaUY2UXB1U3pkQ3JtY0VFMXRsNjZuL1FmOUNkTytuc1NuRkNOM0NTdDgrdlg3OU5VQjg4eDl5VjZyUTVOY0ZpRy9DYjdpQ2MzT3hwY2paT1MwMndGdytCVmZVNGdETEorVE5lQU0wL1ZreDRSbE1HaXg4YndpNGw1S3BpTnhzczlmYVlIV1RhQ3lnN09sT2lkdFBsQWtydk5DemQzZU0vNmw4ZVlEWUJabnhWa2dUWHFSMkUzQmU2eS9BS2J2bm9sWWhkVjRzV05PN3lvZ09KdDlvS0R2a3pQVFFIVFVidXo1TXIva2l2Y2VDalNGN2llcXJUYW9QeGJWREJ5QUtTMXUrZ2RNd0ZLVTExY2F6NWZrdjFMZVM4Z3ozTU1rWjk2cWFlK2JrOTgzRzAwa1VVMVk4NzNMbHlCSzRLOVEvejdvQlpvVGw3dmpVNG5FTU1SQ2MwN3hReDAxNlM3bUdUSDZoY1k0d3RkYytMNWJZeTJzWWp0Sm5mSW9BaEZ3Y1NRSXZ3eGloSG9DV1F2T1FlQ1ZhamxuTG5vcVRXdVB6L2hQYzVVaUx1WEhOeEVnUEJTbk9sREw3RHZ6enNPUW5LKy9iQ2M0bndvbmxaUWdkZGdybmJoUUFvVmVydlVWNWtVRE1Wc3FyYzNCNW5hc3BMcHNJNGpjWW9leWtGSXpiaVR3UzlLWVNKZUpPUHZjL0orRkFjd20vYUIyR1JNc3J5MGpXVm5QN0NKLzcxa2dCMVBhNEM3OFltUzNwbzdReVhhaWlSeHlqVFk4ODhwSkZSOHpJcnZISlh5WTc2eHArdVFiRkV0UE1wcGdzaXg3b2tkbTdMcUhvSzdmRERQeG4rWGZEWm1ZZTJIcTczYjg1ZDMxQjRzbjRCSDY4cXpVVVZiUDFBaEw1VXpxZndsZjd6UCtNM0d6ZERWUEZWYlFUWDM1SmRtcGJCOEtBblBCbkJKTHRWS1pyWlFYWno0NVhGSDZYQjNLT1N4azZFbXZUd3NXN2xrVzlkTVpHQWJ5SnMvMzZzSjVwQitWVEl3VUhvcThzQ2RTbUZLY1dld2k0dGZLYkdQelZTZ1hwcldJZGNWandSU0dXVkRvM3M2SnNDd000WHJRZWxnNkl6RWhnM2hweEdzSFFIelptS1R1Uko4WDZTOGtEVFFZT1N3b244cHlVV1VEK29YSDU2elJkTytEekJ2Yk1NbnB2dVZ6cXAwMmtDeGIrTHI3V251Qm9tOVVBcWU4WG5xVXAwRlVqNmhOZDRYSEZpSUtGZHpPTERmdytDdWY1WWF2UnR0VURTUnNiZmpKT3o3QjhWWkUvWklCeDlQTWNmV1ZXNXJWbW95QUI4MTZ6SE5NUThtb293WW5FbnNVT085bHA0ZmFNTVhyZG5ZclJOMEpuMHZ0aDk4aUpzWFo2WURNZFZBcC9KMzBnWEZwaG12R0psbnRvZ2ZNeHlFVG1nbEsvZTdwWExxOG1BN01laXplbEx5U0RLa3BJa1JzWDBqUGVhclJQM1l4eWRKM1dPeDVVWG1nK296c2pHaUNWRG5xNS9xUk5jWk14RjlzeFpPTlM1QWN3bktRc1RKOEtLaGl5SjFHR0ZHeVB0U3F3QTBjTjA1NGRaeFcyT0JNeFBPOXk1Y2dTdUN2VVA4KzZBV2FFNVJQMVNrbUk1YllCbDdSR25KK1c3U2JMSzh0STFsWnord2lmKzlaSUFkVDJiZ0tLalZMUWx2bjQ5WHc3cmJkSDh0M1BLV1FOTStPUWhjbkxPaUlUY1BWM1NWYVdqMXhQc0dtU002RHIrSGtsalZIaDJKQS90RGlDRWVMZC9UTzJ6YVhKVDlrTUZPVUllWk91OGk3c3NGQkRaL1liR09BdE5kajRSUGlWWTBSYXl5dkxTTlpXYy9zSW4vdldTQUhVOWlQS2d3Q3Z0VmRtVXY0R0hsTEJObDBVK0JuNjNiOXJXTU82OFBkTTFpeFJrQ3RjQ0ZEd09CSGxja2xqcTJFZXRJdDB3SmFMU2JWU3hybDlnZVpVajZONHZIM3Q2OGNyRm1DS2sxRkViRXJyajhuR1dTamZHcW5QOG0zUTdzY2w4anp2Y3VYSUVyZ3IxRC9QdWdGbWhPVUZXeGVaZHV2dTgwT2c5RGd0dnMvb2pIRGhHK1JiRWRLb0dEd2NoemR5VnBHQjJJbmZXNndMdTdHdERySDlYZVhrbHFLcjRhVU9DZWNyS2ZNNjZJeVdSd21YdG1qRWtWMDR6cS9wTFdCblFkNkIzSTh5ZWd3WTlFU2xXbnM5UVBDQTl1bzNjZWRuWlozSFpBYk0zbTZJR2dvcFBMVzI2QTRVbkNtYVpvb2dkaFBiSmZCV213dE1kb1BIUG9WN2VqU1hLaDJSSXRVY1NQaDJYaWVCZWFVazZLYzRqdFFET1Yzd2NoTDR0VFR1Z20vcmxrU1liTHhvYkM0SWYrNTZLdEhMSzh0STFsWnord2lmKzlaSUFkVDJOZEF0eWpweHJtaEhwRHdtQmxSOFpENTdkZEZucU0xcVVqV1luVE1CUGxmT2xETDdEdnp6c09RbksrL2JDYzRuT0ZYTWFsQWNsS08rRHBvNFRLSnpRRTZyQ0VHdnR0MjBRckRPV1FJcHNwYk9sREw3RHZ6enNPUW5LKy9iQ2M0bjN2dHVndVdLTjk3N043T0gza0V1eXRmRmF1dkFtNThHd3k2RnhxZWREQXRIcWRhZTNQbEIwUExFZHBkSS9Bdmt5eXZMU05aV2Mvc0luL3ZXU0FIVTlqWFFMY282Y2E1b1I2UThKZ1pVZkdSdmxxeEplVFZaSjVCdkJQdzhLUlFwYm9qYk81STY5dGoydmcwY3JFd0hDbTRUOUlnYmhrNXlFdWREYnhuaFRCdWpVVnkwOVpUbTJvZUJoL2pGbFVVaE02UjlueTFDajhNTEluelpJVk1aMy9kclp4V1VoUnlUR0lrT0ZSSWFWSUV1VmtZU0ZIR1hSbWJkNElVeW1uZTdxcDU1MTFEL3M4alAra1N4WTc1K3VrQWJnS3FGQmJpN0dlQTU4d0k5MlI1N2IySitWNFhmbmNLOFd1VWNzK1V4eVZ3UXpOZUV1bnU1NTcrN25hN0NLcVlzNnY2bE9UVFZjVHpDK0RWSVN6MzQ5Wm05emt1NmtNN3BtYUR0cFZwd2VDTkRIU0ozWEZZWENGZnRGZUVETFVXWkVlU2IyTzBVSUo5V0VxRldPQjJZSDVkY3JrQUQ4eFVDNjJyTFh6Q2tPc0N5VzEvUnZHRGY0TjNIbU4vSm4vbmxsVUN5RGd4YVpsOHZudDlrRzdJeXBHY1pwZllOUUlaZFEzOVB6YlpXZGl2aW1MOTI1LzVhWCtUbUh0N3ZUb2JWczY4UkkrdWNrRzU5NllmYWlrU1BWbmgvS2dwdE94bzNCb0JQaEdEdGdud1RvcUFwMmc0ZE9FbzYwWks2L0Y3c2xDVzVBMWNFOStmQWYyelJWeXZhL1BPS21YYU1kUjRyR2lLWmZGdUFoeE53S1hvcFVIR21MMXYyRFN6Z3VZM29PSWdnUm94ajZTZDUxZVZwdnZNUlVuSTBmSWRnRXF1cFU3dkEyQ2lJa24vM1dUQ28vckVHYUVnMThpVUFUNUpvQlN3T3hnRFgwK3RucUd2dUxXZDJiUjM4RTFGVzFGZ3NCZ3YwWWZKQlhocmVSbXY5V21EQUhTTFBkdlptajZTMlNWeTFpQ2hyTTVRZnA0UGQ3b0ltUHFYTTN2em5IVUxETWdab1VQVjBYb2VGV0MvTUdpQnFEVlpBN3kwa0hVWmVxeFEycnp2NUJQYTRPUll3bTNNekErN0NLSXdvY0FUYzkyOE1EWVh1ck5laFllVnZ6RURmdjhpallQOGxwM1NYQUVqd1Qra1hzMW8vNmJORU9NK1BFdHZUOFEvSXBXNjFhK2p5SzZ0Q1JzOVFrcG9nZVA1YzhWZi8yR1BtRXZDVmkzYU5CRG4zbFBJZldlTkE3YkJ1eGpZdnNKd2h2cVpOb1F3VHhXUk9mYks4a0lkaTU1U3k1U1dBREI4MTFzNlVNdnNPL1BPdzVDY3I3OXNKemljM3VoZ3ZmazlKQitsWjcyOCtkUlY1MExpaUVoZVFWR3Q2NnhuZDBZQ3lrcVRzaHlEYVpHK3FlRjdsSXB0MzdwMXMyZEI4bjRUVkxTZnFkay9vSjYyQTcrNTdxd3Q3RGM0UGRXeCtnaEdqTFcwc0RsVEwxTzFYK1IvMFpxdGJYL1dVK1k5ZStkci84dU5OVmFyNkRjU2FJa1creEowanU3Zkg3MEVhdjNVUFVVc3pyUlk2MmhKbDI0Q2ZxUU1iazBRVGs4V2EzZVR3R0YzaTUyNU0vaUR4Q1JsR2VORUtwSG9yT2xiNlp2ZmtsdnJsU2dhRVd0dFVpMFVBNytUbkQ5TmJWWGJxaUtVVmpKY1ZuNi9zUWNUd3Z3cnRQRHpsK3Z3SlZTTkNGbkZINHFnY0dUWE9HUjA1QnExaUxSNm96bVlpcWJMaHZwdnA3SWxyTE9YbXlQOHdRczBhWnFRR01hMkFVMlpmM1F4VXdaZFlucEw3V2Y2VlNka2dKVmJVTDdJNXJBUHFlSkxTc2d0c1FYMHg5ZUNOQ1Q0YVJldnRrN3FmcklHMFBwdlMzY0IzcFE5WmFCSHJBc2crZE5SKzBXTlVIRlI3S2NhV1AvVW4rdk03NXhhU1Zzb2lMUHV5NHY0VDFKaGFxbFZWQUdSZUlRTk82OW5lR2NoeXM5Z3YzVk5qYnVuL3R6bWdLUHRuVmUydzdUWS81eFBsN2FYWitrdUxwWEp0OFM2a3pENHNoVHFsWUJ3TWFmRW1IVERURFU3cDc4NW5TUml6b2drcFM3cG5hUEwydU84cFNQLzZQVDRSa3dzTGFKUUxsRXFrKzc4ZFdZcm1mNkFNL0dYLzdZc2JpRVBkc25oeDNneVpmd1RqK1JzRDdpY0JmakwzY25SUUpPbjFTVDdsajVtc2JvQ1Zoenl6dWRLV0dHdnoyUENHeER2d0FVMGkyaUhtVS94RU90Q2RLaXQwNWh3NFFVcFc3MUNzNkxCZ0V1cGhwRjN2eTVySGd0N2MrQXVqRWlkYW9IczBnS2xyR1orMEFBdWZ5YTYxWmNEOGVORlRWcDdvVjhEWVJqK2dURzNHd3FLS0Q0dXNOaHhSVzhyTGk0K09zMVRBOHUyZDdnbXE5bG5ySy81STJETFVhMEdxTTVKaEpLckR3MHNtTXVSSE9KVUttVmx3NHpvS3ZGbTB0SGZMTXZPeCtQTUJzcEJhSDJwN1o5RFFWUVlqbFdTZ0I3RUFNYXMyKzJ5ekJINjVsMWtkOFcwYmVIdkRrMmRzZTV5enczaWhoNGlka1ZMNExyb3Nja2V2a3hYRWR2c0ppclVza3ZyVVlwZVdkcXlNVjZ6a0d3bFpjK25uM05PT1NBVitCaStYUVVUUkRnN2N4K05MQmpTZWQ1Ky9qSDRzMW9KdDQrby9KVmYxZFViRUFjUG1ndSt4MENiK3JNOERDczF4Z1JkemhVVFR5SUgxaGczNTBVMXlTdjM3a09KNzBmU2tYWU1HaEkvbmNabmZ1b0swYWEybWxDTVUwU0p3bDJncFBRZm83eDYrNDJ0RW9MMEp3a0RQK3haRmtPciswQ1BwNThZbTZ1eXFDaldUK095SHZXanpTbmIzY2xTMWV4K1I0MzVhMHAveUtWeDNSaWI2VzFPeHRoWG9UZityVjI1aFA2QUV5bjlVeDNNazVjaTBreC9yanFkcU1ZM3dsNE41RExSdnpRS1Y2UVhrQVdVUFYvSG4vZlFrcVJrWnlyVnVzcm9TQXFkSGROd1BENE9GUTNyNytmTUdsdHlIWG9TTE1IbVo4NFNVNUdoK25EeVVwNUJ2UDhHUVUxM2t3SUhmQ3Y1TEpEaDBQbXd6aW9RaVlpYU56a3NVNXpYY21RVkI5TjZEM0pTSVpVN3E3QWtQcjRKbVRuMmtvRWxMaEl1dkZERGRxS1hmcnZTTEJ4SzJ6eGFXM0NCb1NhR1Z0K3ZQSWNobWdBVnpUU2xOQ2ZSMi9Nd1BuMEpsSnlJTHpWTWJGTDBDQUtabS9qSVM0SitvOFl3Y3hYdXhRaEx0dW1BWjNJQytNejlINkJycldVOGFSTFpLcmZXZ0x1VW1XM3Rha0MxWU1oTHlKV0FhVlh2NDRCWTlSeG5KdEhIaXJCOGFSYjdNMDhTTXRVNzljUlgydTVmTGcxbFF4NURzWXloRE9pR25selpVeUwxV2RYN2lWUWhYejlQTUZWbzNpcDlheU5yeE1NVDcrU3B0WWYzeUptNjNkWFZiSE9GZ3NMdzY5VEFJYmY1SFZaZ3AzTUNWZE9Zekp3UUg0dmQ5K01GbG10bjE1dVBXS0V1WmIvM1dTUTUvaXVCMGlUWCtibmYwbjlnNDV2L2g3NFFmZTR6QXU4TStvTmZwUllUMnE2c1lnQVV5b29vSmQ4elZUVFFBbDV6M1M4OEF2YytNOHZ3OVFlWkNSVTNaYjVTNS9NYXhzZlJMbEtOMFN3MnZqbEVJdU5zNGpPRm92WWN1M1YxNHNlSnFEbE9RcGRWTFJEL2tJWVBnVHZLNHovMmdIL3lpZGQ3T29HRHFhV0NEcTNIeTJaMVRmN2JvazkxQmtYWFh2bCswc3IyQ2FoWi9Felo0V0lMeU8rNmFMbFh1UEhRbGFqSVlNb3h1SHF3OE5YZmt5RlZ2WlcxaWEzaVFpQUhiTGtYdEhQYTZiSmhzMk5sVGRYZkhTUTVzazZkU1doTEdKRzRJbTRZbG45ajJWZzk5Slh3bEcvT2Vtc0h2b1V0L1ZETzlXNmNnQ3NMU3l2QWRxV0xib1JOUXA4M3dsTGxuQzlxVStzMjhVN3hVRzcxeXRmVHZaamU5NVkvYit5Zmp5NHpjd1NGTW5rajF6OXpCL3M3R1g3UUVPazFRNkZPZ3lEMktxRHBCVlBXY1lFY0JDSTF6eFlpMVg4cWJnMGVKeVlHdHVtcUZDOFZWcitvbGwvQVdqcW8vMWNOMDdhYzR3WmFSM1NEUGVQYm1YWUg2ZWdjOEcrNUxxeVpqUmtXZkU3bE9qOUxJU1Q2VVJjTWd3SkJESm56MjlmU2hMZnhQSTJFMFYrSHV2b3JrVGVhdkh0SnFPMlh0b053OVNyMzM0L1dwTkpiS1haZXNtZEpqT2tsSWpJdzVIa3Y2OTBIMDFUbHVrOVVuWTYybWNlQjAxRVJRVnY5a3Q1OWwvUjI1M1B3cnBpRjZIMDVpRlB5WXE4T0VoSkQ0Sm5EVCtqWFVoRGwzODJLRkk1TitOc29yZFcrM3VhOFR3SWkrdjNHVTRlWlluRlh2VlNxbFJ1aVR6S0EyQUFsQk9iS2lvWTI4bE13M0tzN3dPUDAxejBPOXZsbzBMTi9yaHA1WGpyUXpvOGJWMGJRVnRyRmlTM2tHWlBFQ3B0ZWV6dE9hQ1VQd0Q3ZXhObWpaYjlNODF1djdZbzU5YjF2YTEzU2hsT3dwT1dMVXhlV0xxVmFPanN3cnpsZVRsQ1RKTHN4NTNKRk5MOHhUVzRXYzBPejFpbGNEeDNaQSszcFIvM3VQdDlKaFFlK1lsbCtwYTloYXRQdTcwbEw4N05NbUE5SWNqd1JxL1UwMUJGU1lYTCsydGxMQmhPL25Kd1ppRVlmbG4zNWJxWkE1UjRxbm5SaFR4R1N1eS8vYUpZTkxhQUNIOGIxaTFGczEvUlZwNmFIbDJKK2xiSjZ3L01FdkdiMk5aNnlJNlNJRStRK1cvZHNQeElINTQ2YzZuNzBTdlNRbk8ySTNZUE01MkJ3dGlSWnlybHovSVhCY2dld2lhOUhCWlI3RENOZWZ3a1V6K3ZhYzZmMXU0bmdoL2JBZFFaUi9OQUl4UVEzSWMzRHRuSVdlSnRER3BQRnJZQ25lZjhVVHdSdllXU2J4M1ZlZUh0UFhHL2o4ajB6c1oyMUNUSTc2bTFBY0paR2VwRmtoMnZEMndyQTJGOWhGVlhvMHJmYUpwR3pjcll6QS9UanA3NVdna2ExUDJ3VWRBNEhnSk9QOW4zbm1vS2t6d0ZNZzdXc1FXUjRvdUR0YnFJQmd0cTdTN0hFOFVMZUJ3ZHhUb3Jja1NEREZwSEVqamMzNS9SRWFPTm5JVndsRDlEcG9sdS9RdWtSTW16ZXVYeGluQmx2S0VUaVo1NmpJcWJ4UzhtY3FIRFdvMjBuellCMzBDRUR0bWRlbCsyNGFrTlNHZlcwdkVrTnJETHJ1VmIzbE1laVp4U3NrQ0F1Rk1PbkFBb3ovR09IWitzOERXRDU3ZmR2RFZBSDd1bUhUelNEbGdvS2lkU3RBZUxnSmpodXUweU9xNlBkWExGb2t5eXZMU05aV2Mvc0luL3ZXU0FIVTlyM1U2eHBiR29CaWlvTzNucU9hYVE3b1lqbFZjSGVlVlBVUWJYN3hwQk1Tak5sMlNnSi9lTkpreTN5R0pFOWRZV21pRHVWaHdONUxnNkVPTkg1eVkwM1YwMTk5cHhuZm10SVBOSWtLMEpJQnFqallQYmF5ekJORXM5b2Ircm9hTGtZMkRCcGJlUEJ1N054bStXSFp0aGFxT2N1SkUybmJVQ1B0WlBBbXNiYlRFVVB6bjZPbVRCanpHM3BhTld4cjRSRWFPTm5JVndsRDlEcG9sdS9RdWtUZDZTcWNodGN4bUZ5aFZ2Q2RuSElSR00zODBBWTM4L1J4L1QzOXhRSHZsSW5uVWpDenV2MG9CUGp0bW14K092bE1TTDdSZVQvR1BHY2RIOXZtSWNWS01FS3B0cTh6SzFiOGsyVzZybEs2ZWdrKzUzNm9jVzNvUWZXM2pMSVJoNlVpTnErLzdpN2J6V3hkWjhqZmlVSDhWeXJUcXF6N3Eybzl1NVdOajFGQURSSFNDN2dna0EzWnVHdFRBRmdWek5QU1daVTVvaXJ6YWJaL01DeUZXTlBwUWcyYm9XVWZiMDdsZDQzSU5ZaVM4aG5jL3ozeEpCS1ZWeSs5VDFBOXliMzFrZzFNVFZSd2p4LzNoUFJGOWtadEFNOHRQUlM0UkZCb2pQa1ZHS2RCdnVrMlA0dGJpdHhzdW9BZXJwNDF0Zm1yelExTUpPV1Q5ZFhhbzhjN1Q5YnNnM0hIT0hvb0V5RjRIUHJ0QkZQczdzc3J5MGpXVm5QN0NKLzcxa2dCMVBaeFg3T1NFODJ5b2hJSUFGKzdBOExDeXl2TFNOWldjL3NJbi92V1NBSFU5aUZ4YUwzb0l6VGxrNXErSHpWOGhHZ3doWmo3NS9NNTNzS1lYMnpSZ09TVFZERGZoWEtyY1hDbkU3T3dKRWp1c0g0eXZzd0N5aElzVDEzQ0xTL284NzdId05ZMHVTK1l1WVJTMHpSWUNndWF2UlR4bnJWeHlFQjVOYk82S3dCeWQ3NWJDVGFsdW1MQnRMM3htU3gxaGZuQWRjQVVETGlmZHB3OGZaY0Z6K2F6bCtEeUxpRDl3b1JCczZZVlB2bUNrdzI4dTZYNU5MdmRYNExyTDVVVVNmcWs0R3hSV08rRHpOT0w1aWRxZG9jUmdDdXVWMGZSNFBYMTZRT2hxSnc5eTIyL29wZDRHSGNwMDVjdSsyTFB1d0VKT1Y1d1Q2N0RDdkhSVFVwWG1PWUNJM1hnYlZBTjdPZ25GRzlGcGpIQUZpKy9OTXR4c09jZlQxMGlnM1ZhY3IxZ0dsVjcrT0FXUFVjWnliUng0cXdmQnd4TGo1SU9zeFVRa1BvRXpldVdMc1hhek5QL0FxU0FJbUpBMFZBeVdOTTQzNUp0bGtsL01WUmRjeVdWMzFnWExMLzJyRUpHbW1XOVNsVVNkek12TTlzZVNBakxnc0xkMlpQbXhoWlpSWlhUQmcxbDA2L0tNNG5kQ1BQb1lPNHJOOG9odWIzbURYVGt4UDVmY0Y4SGRrWTJEQnBiZVBCdTdOeG0rV0hadGhhcU9jdUpFMm5iVUNQdFpQQW1zYmJURVVQem42T21UQmp6RzNwYU5XeHI0ZVVhS083RGNGby9VcmUraUdqc0RtQVRaNUFSblhoR2xoSU5uUE0yTEl5MXdIZWxEMWxvRWVzQ3lENTAxSDdSWS9UNXQ4WEh5SHRnR0RUUUF5enB5SXIvdTdMbUdjYTBFcXlTWUt0WTMra0I3VSsvdGNUSUU3VDhEd0lvb1Q4akdOUFRxVUN3enZlbzBldmRrd2hNbU5Jb1ZWZkcxZEdMWWtaYUZ2aGFsZ1ExdmlIU2dyLzJPWlM1d1ZNVXN5ZkhEc0YxaUx2eHNOQkFxMVZoY2lHL3hoblYyRGFoaFlNUmRJNDdOSHp0bTFDSUhBVm45UnhkQkhpVy9NL1pTZXdkWm52N3FtZnE2cU1IM244Um5HVjJPNTIzMTFQc09ibFk1ODhLaHZyU0R0N2ZDMkVpdklLbm9ZaGJMNTlvTzFSYlFjSUdMbTZSSEpjbnY1NjUxdCtCemZ0ak4rbnBxS1lqL1I4UXhYMjR0YWtHaDV3Wk1MbmhhWDMzNDVVZDBjVHdCSTl5UG1BT0oxU0ZQa1hmbE9jWFhUZDZNVEY1U1lLdGFXV3Jhc3VUdldnOGUvSFpGbFBaK3dYZTVaYlFibVZ1U0swdGZaajFOUEtFNGdFUjAwUTFQOVU1STArQW16Qmp3MUorcGVxWnk2eUgxSzJxcXBrQ2psSzRRQTFLRFhqZjM0L3AxQjM1UUZKVndUMUhMeFRleVRCT296Vlo4ZncwaGozMWJQdGl5dUdYbHJNaCtiUWh4UkNNRGZUQ1g0cmhrbmJqbGhIQnpsNm5ZV3dGbndxdHJsdkk3dGFqWUhIMjU0QXoybzcreXRMY0dOMEJzaTBucTAvL1NuRTYwQXdiVUprMHlLSEk5d1lYNEJRM3lrVGFyNmdLcWxObEl0eWdpdGltSWR4MUdUMVVid0VMOTA0ZWg3RmZhUCtNYzJLclVOMVlrZUxLbDNwUEM1WHQ3QTNUVEJ6SVlqdTVKeG9rcTk5RXhkaGlTWW40djJKT2c2d292ZVR2OXZGSEV4aEtkTHU5ZzBFZ2dVWGlJcit3dk5uV2Fhd21vZXpCR1NXVHB4RlFCY0NrRk1XbDZoU0prdU5sSXJWdWxvcTVZNmFHZy9jZlovQ3dQY0JlRHZHaTlXbHBrZlYyM3VuRVlLREJiMHNtdzV6VlhWejhMYWt5VWF3NDdGWllod0c5Vk4zam5hdlNWeHRwNnRaSVljNDUxVC8yNlpqb2lnNVoxSzVDYnQyb0RVMFpVcEpPZndsdXFmaHhNTWVTbWFPYkVMUWFOY0Vzb2NMMmdUSFZiVTNIRVV0YVdJV0RudFNQT3NlTURTdVZHRnhabnJVYnV0SVRFZisvYldpTSszKytFQWZuMExINEF1emUvcWdxdC9xdkhUdzZiMWdxYUdYWTh2TDFEWjNaT0NySTc4b3FLOVQ3dHVQNFFMMC9rVUNwUFFXNHRqTXRTV0s1N2I3QVpTWkVtSjBLY0p0dkVpMy9VQXRhWFJKWmN6V1dwZXpITkhVRXFiUXZPajFZdnJ1NCsyTW1kYkhaN3N3Wm5Vcy9MalZNc1VwZGh4N1NWZ0pSSW1aU3RuQ1dJZnNOY3c3bDJhWTUxM1Y4K3VuSmNGaW1jakNsMDZRcHNLTkkyTDl0aDYwNEEzNGNOZW1uQ3FwTDg2enpXNnBUMnFPWTdLRkZHWVQ5clQ3aVNKMC91TXBUL3dKcG1Ja0tPQ2JCNjNGNnlCRm15ellyYVJaUERhM1lIazlPSXZVNExZMmp0SVBtWGErT1ZHUzN3MTQzUGhJSXV1V205ZkJsWTM3YWhjaWhESFFpcE9lanh4bmFiOXBLL3NVSHhlakNYdjM1ZzBqMU5KYktYWmVzbWRKak9rbElqSXc1SHY2YVhGWnhDMG5sYjY5MW5UdGtMZE9rNEd4UldPK0R6Tk9MNWlkcWRvY1JjbG1lYmlJU0tzZlpJMHZodE5mNWFMSFo3c3dablVzL0xqVk1zVXBkaHg0bzNRb3k5ME56dndURit0enllOGszWkNKWGtLc211dXJ2UUQzWmhkNjVTL0pFWHpvYVI0NXl3YTdNNE8xTzRZYzlZVTdIc0FRWUdQc0kvTlhXeUVhcFBCU1BpQ0Q2RHhub0hxVThISnV0Vlg3U05EcGpnSlR2OFFsYi81ajdsdndQcHNPN0Vtb3ZmTUJaYk82bkRlTThGWURaUVQrQVFUckVCaGVFVXoxWkdudHdsYzU4cEp2QTNMRG9RanhmUDBheU15VVdCYy9EUEwyS2pLcDd3S2VWbUV6WlIxOTJzN0RDUVNwS0hwL1M5aHVjc1RRQ2NSR0VrWlk1TTRRYW50YlIrUFV4UVpxNXQ2UW52NFRDc3BTYytydFpXODRLaHhidjQ2R1ZzWjVjdldLMmZ1bHNkWi9IejU4WU1jWThmMlI2RGVMRkNVNk9CZ05STTMzeFl4eFBBRVhMdjhlVnA3ZVlnWDcwckVsQkh5a3lpUmRQdE84ZXZ3cUg2allmVWdsalpuMnU0eXQraHVRTUpJV21ROTZQYjZxYU5JSG15UkF0T0J4QVViOXhQbG9MTytTbDZTZ0VRSjFlNmJiclF6UWlhUWcvczNRcEVtUkZURkNIV3RGRTAvWXo3VFBlWlo4a0lxeDRYMUN1bWNtaFVqQ1VjbnNycFkwVlFyU2VkTlBVbWV0cEw2bHhlWGNaZTN4UllKZUJhTFdWN1Q3aW1UUzBUUU16SUxBK0tOQXFiRW9UY3RCZVVWTzUxeW9QSlBwY0FDMFpTYUE5UXlEd1dFSFdqbHFlc0RYeGtnSmNobGZXSk5GNkViTTlKUlZOQnhMeldNcHlONllFSGFRaXFoeTdwVllqd1IyTEZOS0p0MnVva2lmYXNkbnV6Qm1kU3o4dU5VeXhTbDJISG84N1lCZnZNdm9BQTRZSW0wSkJ6aGE2bmt2QjB1WWltTjhaRmtSbHB0UFJOSlBuOTByanZ3VW1NSDlBRGtmNTA2N1RmN2F3VVlwaDY0RmNNUElraWtqODVrR0JnUXhhbjJWc01lWlR6N3BHeXpTdHhQWEZVWU5CTkR1Y2NZOHVrUW9pS1NCenYxaDE0UVZaQ0t6MFRsdDVCbXBMZkVrRGNsNnROUHhibHByNWhGTEgrdkJPSTRDQTZqZENSSEFhSWV1YlloVzJJU1VERlNRR01PT29LanlHWFhkdURIQ2lBcUdtczBDY1lVWDkxdm5JZGpGWTJyeW5YV1JaT3QxczYvSDl1dVRCZ0daMVJnN0JnQXZ2TWhJMGI0Tm1iS21EM0twWlI4azBNZ2x1V0VRVytaR0N1SDRoRVo1RGZMVnF6Mm9jcS92dmZ4Q3JIN2ZUN1Vra1luUDZJdUJqZ1NMazNKUGV3TVRobzhQTSswYUdsTFVSNU9tQm5qRmwxRUh0ZU5mS0tUeXhhRkRLR1M4YWlmTys0eUNyODBleEJBZE9MYzUranFXREcrUkNHM0wzUVJ1VVJsOU0vSi9nWHRRMk5abFZrVEE2aGE2ZDdnNzN5WXZGZ1IrYW5sZHo1a2tJektZZGJjbU1vWE92b3FsbFhwaGhrRWd4dmcyRnRlSlBZOUxTTjRhdVFsdS9BZnVnTmkzNFB2RFJPRnhPRjBMQWFHRi9xT2kzeWE0cmtGU2ZxbkhRU3BjZzZxSUlNNjBWeW9rUGRROEMzRm1SZDkwbVZZemFmSlhBUDA5NE1QME9hRzlMSkh0NTdWZjhDYUdPZnpXbmI2MEN6RlZLMmEwM3g0VmxiYlJld3JzTit5ZlJoMy9oYVJLRERoRTZjb01iNjdtbGhPVGp4cnBkTmZoa3pMSmlhcEtOMDh5aURMYk1vL0g5dXVUQmdHWjFSZzdCZ0F2dk1oSlgxeWdrd09rT2lXRnNZTjZoWEl6UlZKdlIxV1dPWDlRNk15a2pCU0FscDZFbEFHMFEzZVlPMlJxRUZ2c3MyZUw0S01JamFBd3VXSTc0S3REUmVHVTliQjR0VkI4RDkzYkI1c3FxeWlRbVI2NGxMSG8xQ2dmQlVPVWdabFRuK1pPbm5ML1pzREl3cmVOUG5pSGdmeHcyM0t5c3ZSbkltQVg3QjYyUGc2cWRCZ3dDVEk1Qkw1OXRBaW5uSVdydEs0UUZpS20vRXNPVUptS2I2bGpidjU2WFo0L2lIYzk2N0VlaDNxRy8zYTNPejE4dWtMZnJEY2ZZNFRIcFpLbjNjRDJNNEJwU2RCYWVjcFdqdzhWNk0wQmtBMDFRR1RhaFpqcEprRmJIYnlXY29aaW1qeU91Z0Q0TW9ScVR4V2tuZld2d0FMWHk5Vjd4cExrSk1QM1VxK2k1NEplWG9aUzF3NUcwUDhZN2tFa0krTk41S0gyOTllSU05MXhadXBDbno3Q1FzMTU1K2UrT3N4UUZHeUpRZndmK2R1a0lwbVdOSTI2c0J0L0xJMlVnN2g0R2k3eDNEaHczbmF0M2svRHRKUmRoYTN4WmF1VHlMZFBhQXdrcnpsMjBMaFlpNmU4Z3dGQ0JxcElYOEU4WmdoMkRNZXRUM1U0Wks4VmErbmtocGh5YzZBczNCT0xmWlVHYjdXb3lQSnRRZ0Rqbk9QUFRGR1diUHZPZ3dkaC9vYkZQY3NpT3RkemkzeEZFNkExQUJVUHB2SnBSQVRBYTUvVEJhaW40NXMwVWVZbjVwbGc4cFBpaG56QldJTURNdEZUcE5RdXhaelI0dWJCQ1RWZGZQYitjMG9oVkNSSE5nODhYYVM4clE3aXVJR1RobzdLRFd6d3lVTmdUcU12MDNwejVRamcwaitJVkhmK1A5YW5raTJHSmMvRENaWFVPZjV6NjJqUlQ2NGx6aDdrcllBalQrV0lOWGhKRHg5WWQ0T3VTNUs1bjhjdUxScVM5ZTZSLzZQYkNzajdENnFZSy9xUGNsV2tNNnBmNTRaaS9vSHdIbjZJNEJ1b1F2bGlpQURLS0RON0JFUnF2TEZYOFl5OFkyZjdaU1dMcitYWEEzM3R1Nk1KOEJqN0FWa1Ezd0h6d29HRVhJMWIxcS9pSmFPaTZiM1UrR2tHNXpUeWU3aWkrZWJHcjhmVS9WOGZoOXhPaTBNZWNaWHZ2NlRZL2kxdUszR3k2Z0I2dW5qVzErY0FIa1h3c05rR1lRbXA2dVE1RE11c0h6VW9iLzdSRHJqMWR5U0ZyUWVCbk0rT3hnZXp5Z2tKeXE0ZlBEanZYUVpnbXN3VFl4NDJkREdzem1OMnZCTFZteS9NK2JIWHV2RWNTeGdCZmlzWFF2VWJqL2NYZWtQdXBrM1lwdFhadk45UmY1OTJZUC9YMDAyTkxTcldPOGJZVFR1SFpSVEZhcmxhK050NTF5RlVieXl2TFNOWldjL3NJbi92V1NBSFU5ak5ZQnUzUGxEOS9JSDB2M24zUXA4V0dKZkJ0VGxZdlJucUhQVUV1eEJkZFJ2dHZSdUZxNEd6MWFZY1pJVUFxWjhzcnkwaldWblA3Q0ovNzFrZ0IxUGJ3TlNEc0JQdGdNVTluam9sc0lSZStTSGtHLy9RdVZiR1d5MG1aNjM0Z2drUzM0TFFxWHJVTHlsUWJNYWVEZUNuT2xETDdEdnp6c09RbksrL2JDYzRuUzhJT0o0RjJYOGJkNnBXb3ZRSFh2ZDlKT3ZVQWpmWVBEcitORy9OVjV6UmRKanZHVWUvRlNia3gzK0JwSUZDT3lsQStNVTFsRmtwNDZ5V1Q4VFFxc25uWFBLK1YzNDVxaW5OdU81SjUxbkZsS1pheUlXUElOMzhFVzhqOElsTHlBZ0FMd0paSDV4WnFwc3BBZmR4a1Nzc3J5MGpXVm5QN0NKLzcxa2dCMVBZN2cyYmM0TjJZeWx0OC84eWx6R05qVWVBdVNUcEpuLzBQUmkxMUxaZWlsSXJOTm4yMEVHVmRmTkMwbzFUWUloTldLaWQyeHJpUmpFSG1vdDVmT2NOT1I2bldudHo1UWREeXhIYVhTUHdMNUpvZVVLbmE1cDJJQXdjdHloNElSblV4VlhDcHY5dXhtNXl3TnFYK2p3bXdNSVdZKytmek9kN0NtRjlzMFlEa2svSTlCK2FvU0wxWjR3Q1k1VEgvM0plT1VJa0lRMWVSRGFZczdEUWVPQVJJWm5rUzJqU2w1NzJjRm1xdmNySk5rWHIrcFBsV3Z2Nk5vK0FlYzRVMTZLZHpjWUF4SmFkOHpETTM3TWprbHBoL2xSQXlmYnJhWWVKNlJyVW90RjhiWHFSeC9EYnRFQ1hqeityQWlzRXhvYWlyODFvRmFBOWw0Rk5lSXlMSlpNMXd6bitzVnl4YVNLdDZndWUzbFh3dnNFODY0Z1JSbnBxTEs0ejRibzA5d3JXVkVESjl1dHBoNG5wR3RTaTBYeHRlUVNnM0JiZHN5RkkwcmRDN1hXOTdqcHBlMTJHalRRMGtXVnV3bXI4ZGVjRlRQUWJtUTltR2IvS25WbTVySWJ4cnpKU3dqNzZHOFF3MmpIVUhYMkUvMVFxWFBaMGp1akhKT0NBenpGU2hUYkFTNVpKYlhiUTN3dU90T3RCWEhjSGtkR2NKdy84TEJjTVYwVWo5STNPM05rcGI1bTh2UTNxR0RsbWhnZUlaNEY1eElEcTJoT25CSFFFSlhTMnMzSkE3OU13V3dSMUd6MlJhbTZWQTZEVlVqSUhqK21Id2pnOXhoMEZuemJ1S2Y4UHVhdFRHd0RSMkhIWXRSWWtuRFRUeEdSTTMyOXFHQXFxNHN0V1NPUThNeVR5aXE1aXB1bzB6RmswLzd3a1hKT0JUeEswZUFEYnZSeG5sRnhVRk5sOXRKUVBFUVVrdDFYMjVOSStqMzBBbDFFNDBodmxndTVyT0d5L2hsZldoOGRPWVRQNHZWeGNOamgwVU94RzZiaGpqMU16M0hLK0NsVTNQblQ4QlVCMHQxcHhmaG92aWtkd2ppOGdubEFLTVRTTGtpL2hiSzNtQkFQanFQQjlTOUxWdndHZlU1c010RFZYMlJ0NVowZGExMFJtTlpOWVdlRXoyOHlVTEVaZjdMOUpkemRmK2ppajVQMWlHV05oRnlveUw1UnJmdzJrdy80d3BuNVlaUElOdUY1Uld5bU13UHMxaHo0TmFOUXZadmF6bGF1WUVsOUpJb1hqK05aQ3FUeERGQXc5NFpMWXI0aXBLNmZlWlRoN0pKY3NyeTBqV1ZuUDdDSi83MWtnQjFQYm95c25qNUxONGhCRTNYYXJEZ3lwUEZlNW42TEQzaHliSGJjSnhPQmptQlZnSHBBeUpOckxVR2E4SGd2NE00UVhMSzh0STFsWnord2lmKzlaSUFkVDJQT2ZHOGJrR3lhUll5ZlJnMlVrNUdYaVd6c2tCLy9MWVhoUDVZWWxwamV6TEs4dEkxbFp6K3dpZis5WklBZFQyR0V6a2N3ZHNsdk5JTWV0b3FmZE1VZlEreHRiNXUxWEFMS2ttUm8rUzYwbjZaMUczVEZKcXFvUjMzdUVYdmhSclNsdm1ieTlEZW9ZT1dhR0I0aG5nWHNzcnkwaldWblA3Q0ovNzFrZ0IxUGF2Z0thTWNsRW5qSkptY1BLYjZVSUozci94UXJmQnI2aVVYcFl5cW5TSnYzRGpidGFKMC9SM2ZoR2tMQnNDQVgrNHgvbk5DUVFrdGNWMFU0N25yZ3lLWlFYdTBINTdjSnk4TWNia1VXdnBmY3NyeTBqV1ZuUDdDSi83MWtnQjFQYU1EaVJiRHFVN2ltVCt1ZTBSSlFjOVphVmpFWTkyRlpkSkUzQTdJU0g5bnNEcTg2Q0F1MmEyQUZ1MmxWKzZsK2FBTDk1UUlJTUs3Y1VVTGlQL2dMNHJ5eXZMU05aV2Mvc0luL3ZXU0FIVTlqTm5iNGZ5SWNraUQxUU00YS9YK2I5TTJRdlI0cHhlWHpQRlVlaldrcVJ2OVBZRzN2SkhoTXdyWXZwOW04bTdJQmR6NUFOcjdydjdOb3dMRlJmRklWVExLOHRJMWxaeit3aWYrOVpJQWRUMjMra1lDbHZVMVUxbDhDUWc1dnZGNTY0bDdUUVBNcHVrTUZoeHUrUW1UMGJMSzh0STFsWnord2lmKzlaSUFkVDIwNW9KUS9BUHQ3RTJhTmx2MHp6VzY0eVpxN1E5YmNCT1lYK3FFUmVDMVlIcGFIRWI0c09BLzR6Qi8zS3hubldZQ1Q0YVJldnRrN3FmcklHMFBwdlMzVXBiNW04dlEzcUdEbG1oZ2VJWjRGNWxLWmF5SVdQSU4zOEVXOGo4SWxMeUFnQUx3SlpINXhacXBzcEFmZHhrU3JBTThMbnJLclpEOVJtNU1aTFpETVBMSzh0STFsWnord2lmKzlaSUFkVDJTaGtwcEhRTHRrZjF2VytySGZhdkx2Z0dhSlBDM1hwZHNZTmh5WW1CMnJYbnRyWmJqSEEwUVBWTkNFN2RRK2JOOUlTRzNoTEhSWm5VclBQY1JiVVpEK2xvY1J2aXc0RC9qTUgvY3JHZWRaZ0pQaHBGNisyVHVwK3NnYlErbTlMZFNsdm1ieTlEZW9ZT1dhR0I0aG5nWHJ1L09VMklwMlNZd0RPOXRrLzMxUW5wYUhFYjRzT0EvNHpCLzNLeG5uV1kwTDBwK0Jvc0tMWTJiSTljN3lkVVZsVUdJNVZrb0FleEFER3JOdnRzc3dTaWc3SjRMQzB6eXI1N3FXWHRHbzJhNFoxQUNaZ1pvTVZBUTNkSXViQmxuVXBiNW04dlEzcUdEbG1oZ2VJWjRGNVlaMUNxbzBzMms3d1FxNEZBS1IxMEtCTUxXYXluOUxwK2dOTDByVGlRK3NWMGxSNXpxNEtxUGNsd2QxODJDMzVnb0ZiT3BaUENzdFZVZGdqVTBmTEhLTlJ0ajVZQ1l5N0xhNUxjTmxaWXV3aVVmRkR4K211Z1JBdTd3YzBxdkxtUEN6SERNTGVaSXhRMktlR01RekR1UTh5bDZTRHhTQjJVN0F5cWgzSlc5SU5jMGtxd3c4UWVtYWxLNjZ3TmQwdkVYL0loNnU2MC9tV3NYdCtBSHZJeDB3OWtYVmFzaXdVWHNsWm90cEFrUTJDekhiTFhTOFdpQjdmRkFiZW9ETzdwYUhFYjRzT0EvNHpCLzNLeG5uV1lqMS9lVmNZTUQzclFZazE1S3ZVdFczdGJST2w1K0tkRzBIN01HeENsRU1WZ2xEREdSZFFRK2pUT3ZnckhlbDJRaHNOWEFHTTA3MWwraXlVRFFsVDJTUm1OWk5ZV2VFejI4eVVMRVpmN0w5SnFTVm52T3VzL1ZmcmgyaVlQQ2VVK1FQdG43dU10SGU5eTZhUmxMOFZ4MVI2QWxrTHprSGdsV281Wnk1NktrMW9iZy9hdW5IRWE2TTRsRDhIaGlSMnI2dVE3UmNNUmhWelVsT1JqdVl6K3FlZTA3dFdkS09UaTAyQ2pVelUrYVJzQ3lCNW85d1VMVWpCWmxyM2JiUUlhZzF6U1NyRER4QjZacVVycnJBMTNTOHhON2g5bE04bDFNZnVHSWRSUUFuQ0treFNWeWxFUlVhYTJlOStLYVh4OE0vV1lWdkZWUEY2RkpuM0txbGRaTWVsb2NSdml3NEQvak1IL2NyR2VkWmlIdVN0Z0NOUDVZZzFlRWtQSDFoM2dSYjJRQVRKSHFEQnpJL1Jab1I3eG51bG9jUnZpdzREL2pNSC9jckdlZFpqcE5qK0xXNHJjYkxxQUhxNmVOYlg1d0FlUmZDdzJRWmhDYW5xNURrTXk2d2ZOU2h2L3RFT3VQVjNKSVd0QjRHZCtnelF0WHRuSmc0LzdET1o4bHBMajNzSlUza2c5TzYvVDhCOXE4YU9QdXZiNExHTHpTWUNEOHdhd1ZFRUJxQUJpT293bGUzSHduc2E1NCtEeVo1QWdDcGM5blNPNk1jazRJRFBNVktGTnNCTGxrbHRkdERmQzQ2MDYwRmNkd2VSMFp3bkQvd3NGd3hYUlNQMGpjN2MyU2x2bWJ5OURlb1lPV2FHQjRobmdYc3NyeTBqV1ZuUDdDSi83MWtnQjFQYko1TnozZmg4OXlCd3RPeDRBcVBEdWNOVVU4TEZDQ1Z3YjBpUmt3ZXF1ZjQrM0hOK1VNQmcyTTI3UTEremNsdndaaldUV0ZuaE05dk1sQ3hHWCt5L1NtT01COVgvditsN1V3NHJVa0c2cGtVNXVkYmR2K01KMEtrRGdHQ3JTTktZQk0za0FQNnJCaFRuc2F3V1lJbW1ZQ0dKenErcUJTN1p6QitUYkNZSmg2RXBiNW04dlEzcUdEbG1oZ2VJWjRGN0xLOHRJMWxaeit3aWYrOVpJQWRUMnNYRHlrTU1SVU8vNXlFL21CV1hZWUlOYzBrcXd3OFFlbWFsSzY2d05kMHZMSzh0STFsWnord2lmKzlaSUFkVDIxZTMwMSs2MzYyejJSMHBBbG9SY3ZEOUlQM0l5bVFMZW5RRlFMZlQ4N1J2TEs4dEkxbFp6K3dpZis5WklBZFQyVzR5RDlqMTZhUlpQeXl5ZnBaMzhjOTdDVk41SVBUdXYwL0FmYXZHamo3cFZFeGNyVFZuRXI4WXhSWmJCNTBTMjlyZ1NCbmE3WTM3anlFdWpJOW9VMXNzcnkwaldWblA3Q0ovNzFrZ0IxUGJUbWdsRDhBKzNzVFpvMlcvVFBOYnJ4YklzY3ZJMTQ2MXFwWU1iY2tFaTJzU29NbFhxR0Nlc0t5cDNGSjBlVm05Tk9pRXg1U2x5ZmJRcW0yKzVIMEFSb1ZoQ250dmt2czlOTE5sQnNiQlR4Y3NyeTBqV1ZuUDdDSi83MWtnQjFQWmJqSVAyUFhwcEZrL0xMSitsbmZ4ejNzSlUza2c5TzYvVDhCOXE4YU9QdWtDTVpkK2dEaEc5Unh0Qm52T3ZRQkRYSkZiVjcyQlFsandVSzk2R1YzYVFTbHZtYnk5RGVvWU9XYUdCNGhuZ1hvVmFBWW9XV0x0d29JSG9IMWdySjZUa0pKRXRJTTFxUUI0bVpWdEZ2SThoRENqVUhLUEpmYVpFazI1bVpWZTBZWDlITDBsa2JKY1p6Y3JzckZJOTkzYm0xVXlnL1NQTllSQXRnaHRDTTlPRkRFL3BBdGFnaEFNV2M1bEcvWEVCMzJ5aGVwRFJ6a3pVVkVtTTJJdDJ2dGdiZy9hdW5IRWE2TTRsRDhIaGlSMnJoWVdJMEZ1aC9pMGgrejRHNEdYUk9wZ0NsTUNudlU3dHJzbCs0TmRxT0hoc3VIbms3RVl0TWVzWEc3c1VRZXZQY1hPRmpwLzRxOC9mWm5vOHVTQjVQbmhOVVpMaGt0MlE4M2hUVGs5Y0ZHTzlNMlZOUmdzandpak9COXJIc1BWaWlVeFBhVGpLNVh3SnNydm9qak9zRXdUNHhPcXdhWkhvbUpRVzRWdUZZM0QrK2N0Q0ZmZmJqNkdobXg5SHh0OWV3QWVSZkN3MlFaaENhbnE1RGtNeTZ3Zk5TaHYvdEVPdVBWM0pJV3RCNEdkK2d6UXRYdG5KZzQvN0RPWjhscExqQ0pSOFVQSDZhNkJFQzd2QnpTcTh1WGZHOGJ0WDU3WEtxS2pQUGJxRlJpTjEzRWtKeURpZHFrTGdzSDBURkJpZ1RrdjU3ZVc3amtvcDIzNlByNks5OXUydjc5WVRGUk01MmdOMTZyeUh5MzZBTDk1UUlJTUs3Y1VVTGlQL2dMNHIvbmd4RUxObVFiQUdXa2ZidGNvWm1ZcWNWaDdGRlppd2pVeHZETTBhd3hoeHBmQkl2Si9ZVEZJbFBXd2Q4U20xaFlQc1UzdG5DamhIY0l1S0xjN1Nnb3pkTytqRE9OQnUrVC9IMm9rTFBQQlovTit4S01NWURNKzgxbzNtUHU0SS9JTVN6YkxSOGpPOFpZY01UaW9UOThaOUQzbHRyYmh3RFhDOVhoWnMzT0lWVXlCMnNkWGtTMG94bFZYQnpyNlNzWER5a01NUlVPLzV5RS9tQldYWVlJTmMwa3F3dzhRZW1hbEs2NndOZDB0blJZcUExenpERlp3amg5Y2hhSjBpM1BLN29JWWlVYU9aV28rRTRSUzdzQ2daWE1BcGtWclhMeVdxeFRWS05PT0RYTkpLc01QRUhwbXBTdXVzRFhkTGxuNms2WUxnQzkrUHA1RFR1R082WFp4ZmhvdmlrZHdqaThnbmxBS01UU0xUbWdsRDhBKzNzVFpvMlcvVFBOYnJ4YklzY3ZJMTQ2MXFwWU1iY2tFaTJzU29NbFhxR0Nlc0t5cDNGSjBlVm05Tk9pRXg1U2x5ZmJRcW0yKzVIMEFSb1ZoQ250dmt2czlOTE5sQnNiQlR4VlVHSTVWa29BZXhBREdyTnZ0c3N3U29TYWpKQ1RSZ2svUlNSMWFoeUk2ak5UdzdIeEgzYUFhK2xaRTQ5Mk9FcDZYQk5zZGV2RURRelRTM3ZxbDR6R2p0UEUwMVE3Rnk4dDdlRzUzdmNNdnFPZ3dnSFFDRm8vUit1YkJyVWtUV1RZSHB3VFZPaW9mR2trelcwNTNTbis2VlAzNUxEaHNucVlQWk4yNit2V2tDYjVpSUNOWVkwOXg1TzB1SFJmeGxER3JudkpYNEF5eEk0RGYwVDArdEY5RDB3c3dlK21tUUorRHN5VFJXLytWcUd3VEZBbzZsdmFPbHZGMjhYTEx0Nk9XUS81MjFaN0tGR1BDZTVJcmFtMklHSWNCa2pKYy9GWFFkUW9INUFuMXQ4SzljUmF5K0NCb3hpS1hyeUZrNWsvNTZIbFErV2c5ODRxSlFoR28yajhwZ0lWWTJQbDEvMkc0VUtsOGo0cnQ4N0ROZU82anZ2RUpEWitGUmZNRVYra3YvbXRPdDd6TFhTcFhMVGNySmRJWXkvVFhXMEpSQndVb000ME9vN3JaOTVBRkttK3NDL0l2L1V1U0xXM3lHZ0ZCekFCWXU1UGE4eGMxMHl1QXRrTlRtN3FuWGxNTk9ROVBYSkVHWVgrNEcxcUVqd2NJSkczMnF6N3YydW5ITTh4UjI0eGdtWlZOczJMU1FJbktlTDBCcHhWODJqbFV5aFB4bkxDK0NxRi9tUTBEVEk5OHA4dHpBY1YvOTNjeDVPNENZbC9YNURmU1FnM1ZHSjFFWFFJZFhXUHRvNFp0TGFValdGNWtBZGkvTWRZWlF2R01VTTZhWFpEWHNzZStUcXk0dWNZUk9hLzBhbGNBUTlQbU5GcHY5bDlrV2RSU21jVCtzNEhHeUJqdlJGQzN2MGYwUUxIYVltc3QweW1LN1dlTTZ3V081OHV2QXdLbWR1MmQ4SHJxSGtRdVhSbmxhVktoVVdiaVNEQ2dmMnE0SUhzVEFoV3B5WnpLZFQ4c2xRMGFWT0FmQmFnRklOSTQ1bzdwZ1NRQmVuVDlnZDdoNUdLbkF2SzZ5U1lFVUZrRitnWm5kWU8rN0hQc1ozNVNtS0twVEE0ejBFV3BSY0tsS0FkSnFlRGJVNWh4Q01ORUtpL0pWWldzYXNxTlowWTUvejIycGs0V0pWU2M2RTVXSjJTNHVjWVJPYS8wYWxjQVE5UG1ORnBzWTc1cERtQmdMZk1MTnV0QU0yd1BMdllpZXFvaVdDQ3ZhMXFacUtwQUFtZUFqOHN2Z3pWanp4T1luRFJYclkyV2FLb3JQbVlMR1BTU2Jka3Bsb2VZVDU4dDRYbENid0krRWYrTnNjMkNsa2JkYTFMVVZtWWNrOEtEcTZSMTE0NC82UFJXVm41VWVUN0syVWV0TkgwdHlJWmtXWXYzV3pDK2lBSldMamNvOGhIOHYvT3U2MkxFU09oWWw0OG91ejB0b3pVMkxlK1dvOHRrelp3OUtWMjJSOEFsWEZHVWpIYXhsSEZlSjJtTTcxK05YeldGMkUycGJzT2c5SU81M210Uy8zdmFTa3VlaUp5MytyN0RXQ1NtOXRGckJibCtqNXMrcm1Ub3ViZGozTC9NRnd5d1h6SUQ2ZnBmMjhCVmdtM08zbm1hVWNUY1ZnZzluaDF1c2lmQmEvTFNpTXE0KzMrK1AvYzlwSGlsd09qcHJsRnozVWMza0pNUVIwNWJhNFRDd2tLS2JMTlNWb0VyenM1MlljbG5kMVhYZVB4N05aQmc4UjJOM3hnaThiVkpXZkVhQlhQTEY2b3plZDdKNTZsV09qdzZNaXJsQjE4YjFOK24wMWIzbjU2TFYvZnJYYmNmZFpHTEZWcFNCVHZNRnd5d1h6SUQ2ZnBmMjhCVmdtM1B0OFB3SWtCb05aV3JiaElHb01VUUV1ck1OUHJrbHBxK0pjaGlBU2pnbVF4MGlPa29IU01XUHFlSFFERTYrQUhRdVVVcDI3US9NOUZYRFBpTUlTcHI5MU1YL0JzODFJbG00NitnNVplaTZsam11VVlxTGRtOURZQzFPcFpMclYvaS9JRVVOUFpUL0c2UTA3Q1hLUHkyZ1dZU2h5dU5DNStXWjNxV1pzT21nLzFWQUNVUTBnSnZQTFFRZVR0YUxHYWpleWtxOFNSZ0huZEhpOUNnSDFIK3hlSG1GS3RVS0RXQWRCOTBBZGJSRGZVaTh6dDNEVzhSK0Vha0hwc2RGZk1YRVkwNnk0cDEwMi9XOWs1S1ZuM2dMcmpXVWtYYkYvcml6Z3N6cDhtWk1pVWFzTkhNeGQ4RytTYVNrWUthbHdlZUN4cVN6MVlyYzZyVm9CeVloVWtveXlSbjNxcHA3NXVUM3pjYlRTUlJUVnA5OTFOdzVMTkIxQ2lSazhMemRuRjNhWFlRZkRoWE5FNlczNjIxZG9PWHRSL1NBb0hKM3F2K01RK1BLYWRLYTR4NTloem81bWk5MmM5SjYxemxjVEo0Ti82eE5kQkdXcDM5RG1WTzBRcTlrTWduZVRLbmdjVjgvaitUMU4vKzNrQ29LU1laMmIxMjlZTzNIU3JIWjFPb3FSWGpEbXM5YmQ3S1lZZmptUVNqVks5VGxUbjFwYlIvM1hybkU1azZ6RVE2UWdaMVhQWnVIaXlSa0VtR2hRczNtZVA1bmtyb2FJWU80UWxnTlErRlhNVEI2WlExUTYwNDRIOVhSd3BUTDN6U2x6T2o3VS96enpURmlNTWl2RUplS3ozRmVhM3V2YWFCSmtKMFNSSXhuekxwVkxmbWgrYWdFNDR2RXdPTGJkMXJJMnZFd3hQdjVLbTFoL2ZJbWJyYzAwM0Z0cnYxaGJYYUZVZ3kxTFk5WFVLY2lZSmFrOFZ3OXlSUjFhU3l6bGRzYTJYcm1qSUJ2OWp5eTk2a2IvUDdUTy9rTS9lZVdiOW50bjJ2ODM3QWJwMDZjY0RaZ3Rrck9tcTN0bnoxdzB4RThFWWFjTkJqN0RPZ1hyVml4Zy9qUTlRMEJoREUrREZhMkdadlo0eHVkY1NnZ2xTYzNsakJsSEVFMmEzbCt6Q2FqVnZ0RlZUTDJMZERKOEl1c05GdTNFZ1k4NEVBOFRsRlJJdEJ6VTMvN2hLWHBidTFUNUFuTHZMSUNIZlJVUXR2ZjBzczUvNC9uaUo1dUlVNXdsR1NkRUc3ZEs0M09yNFN3bjRmblczSit3ZnE4clJkSGthcnAzbGQyRWlqc0RaaEF4aEZqYzdRUHU5Wm5POGRoYnlPVktqSjU0cVNGUy9JWnVOeTlJMEtQNWdhb1NFeUpBQmUya0d2T0tiUUgxbWIrRDkzZWtKSldHUGZZNURMaDg1aXIwbGNiYWVyV1NHSE9PZFUvOXVtWTZJb09XZFN1UW03ZHFBMU5HVktTVHZhKzJNcXJIVGIwUWxDb0hzYTJ4dlZodEtMU2ZrYWlMRW13MUE2UWlPdDZwMmRRajVaOG03eThaVkVITXdQMk1zQmhCTUVmUWQ5VXB1bFo3ckpJblZIMkFkK2dYekliQkdEbGZuaXZJUmxyWVYvQ0toak4rQS8rdVlCVHVHcUsvaVpYbjB2Ymg3UWNHRU1DNHMzRUN5SWtjbUg3S00xSFB3YVVpampjTW1mVTlpMnF1dDBwTndDNWhJd3RKL0E4bUFwZmUrYldNOGpnZk04Sng1YkZWa1IwQ0p6RHNETk05NUJmWXVLRERrOWpsajkwVzBVU0ZuZE4xdkZNRkdLTzVZSENXSlJaS0hDb0t2V3hjNExCcnZDNVNiWkF1L0RRL1NvWWdYZ3hSc0xPRzRpODFKa0ROTEw4TWpSdnRSZWtNSWp1K01kSVlDdjNZblQ3aWlvczZtU2w4bWlmSVNkTlErTGVjUzZGcWIxLzQvMEROWC9MdlJMWi9xektIYllIWThjcFV1MkNGbVNhUzNMSS94Wk84czhGSzUxUWx3K3djV0V6UDYyUVBIcEJYOUhoRGRFOHBLcUN1R0dpZjJFcUlXRHdQVkRWRzlKMzFWT1FzZVVMTFZ4VTQ4ZlVvLzB1a2ZOdXNPdll0ZmJ1a3lpNWo3bFFDaE0yQmFyRWZaZUNsNDFSeHNvS2dDaHQyNmwyU2ZCd2lVcnpMWXcvTXAzNTRneWFjd0sxMksvd09FNWs2M0tVeS9RemgvUHIzTk5SdG80WnlBMGFyZmpMc3VXLzdNVlhZbm1NYjBCOVMxdnRNc3RhMk1pbVRkM2M1ZmFGQ0FOWXRvUWt6NXhITDI4RHJYc2ZYdW4yZVBDWHc5U25lNm9Ib2lSWVR3QUpxbEpoaTB1NnhaTG1yUjVtd01UTnBoMTRXUnhHaGxyR0N0VVhWYVkxTERUaTJLeHVSbUFmd0w3T0o0SE10UktxTjY2Vm5lRnhGQlhXQWVyemdBSjFUMnFjNWxSckxvWTl0a1BjTGZCMkRPb1VFZEFxWmxoQlNTRnZBSGgvMTlZbjBMVlNPNHFOUEtzcHdWVk9pV1N1cUM5TG1NRkdvQnNBbFZyQjZwMHNpZWtINnkwaFQxWUQrSXgvNXdKMVlvajN6RlVxRFIwQ2M4ME5BS1R6Z2R3QTJVVE1GaTVZMGxpTnl6TkRlNitsVm4zaThnN01TbEtNUU9Od3pWclZSUm1IbDh4OURhSHJHd0lsYTNPVlZKVVVTSGFoRGlnajJja3dLd0U3TDJTak1SU0FGVUlTNjhidUIxd1pBTVhZUWlZbUdaN0h1dlhRemVtbWlzR202cURuY1dNb2xmT2RuamxaOVVLME54djRtaGFKYWd1RWY0UkErbkc5dThJRVlkamVyaWwrSTdjb3dpWW14ZEFzbGhiSllYOWlicFNiZ0pjMlZBQ090K0xlb3UyYWVnUnNzTVNGOU9LcjVhOTBZOUJiSDlCR2NkbG80aWF2U29sSks0RWZDWkpiY2hXeXdwaGlZdDB3YmhOd21tMVBqaWJlcis4dEJQZGRiNzQ9JylcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlNob3dcIixcInBhdGhcIjpcIlNob3dcIixcInJ1bGVcIjpcInZhciBwcmVzID0gW11cXHJcXG52YXIgcmVzID0gW11cXHJcXG52YXIgeyBnZW5lcmF0ZV9saXN0LCBnZW5lcmF0ZV9kb3dubG9hZF9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9MaXN0JylcXHJcXG52YXIgeyBmaXhfdGFiIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9GaXhUYWInKVxcclxcblxcclxcbi8vIOmhtumDqOWbuuWumuagj1xcclxcbmZpeF90YWIocHJlcylcXHJcXG5cXHJcXG4vLyDnmbvlvZXlkI7miY3kvJrmmL7npLrmlofku7blpLkv5paH5Lu25YiX6KGoXFxyXFxuaWYgKCEoZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJywgJycpID09ICcnKSkge1xcclxcbiAgICAvLyBsZXQgcGF0aHNfa2luZF9wcmUgPSBbJ3BhdGhzJywgJ3NoX3BhdGhzJywgJ2Rvd25sb2FkX3BhdGhzJ11cXHJcXG4gICAgbGV0IHBhdGhzX2tpbmRfcHJlID0gWydwYXRocycsICdzaF9wYXRocyddXFxyXFxuICAgIGxldCBwYXRoc19raW5kID0gcGF0aHNfa2luZF9wcmVbZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpXVxcclxcblxcclxcbiAgICAvLyAvLyDliJfooajmoI9cXHJcXG4gICAgLy8gaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMScpIHtcXHJcXG4gICAgLy8gICAgIGdlbmVyYXRlX290aGVyX3NoYXJlX2xpc3QocmVzLCBcXFwic2hfcGF0aHNcXFwiKVxcclxcbiAgICAvLyB9IGVsc2Uge1xcclxcbiAgICAvLyAgICAgZ2VuZXJhdGVfbGlzdChyZXMsIHBhdGhzX2tpbmQpXFxyXFxuICAgIC8vIH1cXHJcXG4gICAgaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSAhPSAnMicpIHtcXHJcXG4gICAgICAgIGdlbmVyYXRlX2xpc3QocmVzLCBwYXRoc19raW5kKVxcclxcbiAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgZ2VuZXJhdGVfZG93bmxvYWRfbGlzdChyZXMpXFxyXFxuXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuLy8g6LW36aOeflxcclxcbnNldFJlc3VsdChyZXMpXFxyXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJQYXRoXCIsXCJwYXRoXCI6XCJQYXRoXCIsXCJydWxlXCI6XCJ2YXIgeyBzdHlsZV9jb2xvciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvRGVidWcnKVxcclxcbi8vIOeUn+aIkOmmlumhtei3r+W+hCjmjInpkq7moLflvI8pXFxyXFxuZnVuY3Rpb24gZ2VuZXJhdGVfcGF0aHMocmVzLCBwYXRoc19raW5kLCBzZWFyY2hfcm9vdF9wYXRoKSB7XFxyXFxuICAgIC8vIOiOt+WPluW9k+WJjeeahOi3r+W+hFxcclxcbiAgICBsZXQgcGF0aHMgPSBzdG9yYWdlMC5nZXRNeVZhcihwYXRoc19raW5kLCBbXFxyXFxuICAgICAgICB7XFxyXFxuICAgICAgICAgICAgaWQ6ICcnLFxcclxcbiAgICAgICAgICAgIG5hbWU6ICdIb21lJyxcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgIF0pXFxyXFxuXFxyXFxuICAgIC8vIOaehOW7uui3r+W+hOeahG5hbWXlsZ7mgKfmlbDnu4TvvIznlKjkuo7orr7nva7moLnot6/lvoRcXHJcXG4gICAgbGV0IHBhdGhzX25hbWVzID0gW11cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRocy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgcGF0aHNfbmFtZXMucHVzaChwYXRoc1tpXS5uYW1lKVxcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIC8vIOi3r+W+hOaMiemSruS4tOaXtuaVsOe7hFxcclxcbiAgICBsZXQgdF9yZXMgPSBbXVxcclxcblxcclxcbiAgICAvLyDot6/lvoTku6XmjInpkq7mlrnlvI/mmL7npLpcXHJcXG4gICAgcGF0aHMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xcclxcbiAgICAgICAgaWYgKGkgPj0gcGF0aHNfbmFtZXMuaW5kZXhPZihzZWFyY2hfcm9vdF9wYXRoKSkge1xcclxcbiAgICAgICAgICAgIGxldCBzaG93X2luZGV4ID0gZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpXFxyXFxuICAgICAgICAgICAgbGV0IGhvbWVfY2F0ZWdvcnlfaW5kZXggPSBnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJylcXHJcXG4gICAgICAgICAgICBsZXQgdXJsID0gJydcXHJcXG5cXHJcXG4gICAgICAgICAgICAvLyDmt7vliqDliIbpmpTnrKZcXHJcXG4gICAgICAgICAgICBpZiAoaG9tZV9jYXRlZ29yeV9pbmRleCA9PSAnMCcpIHtcXHJcXG4gICAgICAgICAgICAgICAgdF9yZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJy8nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICd0b2FzdDovL+S9oOaYr+S4jeaYr+eCuemUmeS6hu+8nycsXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgIHN3aXRjaCAoc2hvd19pbmRleCkge1xcclxcbiAgICAgICAgICAgICAgICBjYXNlICcxJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAocGF0aHMsIGksIHBhdGhzX2tpbmQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIocGF0aHNfa2luZCwgcGF0aHMuc2xpY2UoMCwgaSArIDEpKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aHNfa2luZFxcclxcbiAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChob21lX2NhdGVnb3J5X2luZGV4ID09ICcwJykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhzLCBpLCBwYXRoc19raW5kKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcihwYXRoc19raW5kLCBwYXRocy5zbGljZSgwLCBpICsgMSkpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoc19raW5kXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgLy8g5re75Yqg6Lev5b6EXFxyXFxuICAgICAgICAgICAgdF9yZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRpdGxlOiBpdGVtLm5hbWUsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiBzdHlsZV9jb2xvcihpdGVtLm5hbWUsICcjMjRCQjc1JywgJ3N0cm9uZycpLFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXHJcXG4gICAgICAgICAgICAgICAgdXJsOiB1cmwsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgdF9yZXMuc2hpZnQoKVxcclxcblxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRfcmVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICByZXMucHVzaCh0X3Jlc1tpXSlcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBnZW5lcmF0ZV9ob21lX2NhdGVnb3J5X3BhdGhzKHJlcykge1xcclxcbiAgICBsZXQgaG9tZV9jYXRnZWdvcnlfYXJyID0gWyfmiYDmnInmlofku7YnLCAn5oiR55qE5YiG5LqrJywgJ+WbnuaUtuermSddXFxyXFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaG9tZV9jYXRnZWdvcnlfYXJyLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICBsZXQgaG9tZV9jYXRlZ29yeV9pbmRleCA9IGdldE15VmFyKCdob21lX2NhdGVnb3J5X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgbGV0IHVybCA9ICQoKS5sYXp5UnVsZSgoaSkgPT4ge1xcclxcbiAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIHB1dE15VmFyKCdob21lX2NhdGVnb3J5X2luZGV4JywgaSlcXHJcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgfSwgaSlcXHJcXG5cXHJcXG4gICAgICAgIGlmIChob21lX2NhdGVnb3J5X2luZGV4ID09IGkpIHtcXHJcXG4gICAgICAgICAgICBpZiAoaSA9PSAxKSB7XFxyXFxuICAgICAgICAgICAgICAgIHVybCA9ICQoWyfmkqTplIDmiYDmnInliIbkuqsnXSwgMSwgJ+ivt+mAieaLqeaTjeS9nCcpLnNlbGVjdCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gJ+aSpOmUgOaJgOacieWIhuS6qycpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9lbXB0eSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9lbXB0eSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/mkqTplIDmiYDmnInliIbkuqvvvIEnXFxyXFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGkgPT0gMikge1xcclxcbiAgICAgICAgICAgICAgICB1cmwgPSAkKFsn5riF56m65Zue5pS256uZJ10sIDEsICfor7fpgInmi6nmk43kvZwnKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0ID09ICfmuIXnqbrlm57mlLbnq5knKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybSh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bCP56iL5bqP5o+Q56S6JywgLy8g5by556qX5qCH6aKYXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfmmK/lkKbmuIXnqbrlm57mlLbnq5knLCAvLyDlvLnnqpflhoXlrrlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHRyYXNoX2VtcHR5IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2hfZW1wdHkoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+a4heepuuWbnuaUtuermSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbDogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5riF56m65Zue5pS256uZJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgdXJsID0gJCgnJywgJ+ivt+i+k+WFpeaWsOW7uuaWh+S7tuWkueWQjeWtlycpLmlucHV0KCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGl0ZW1fYWRkX2ZvbGRlciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FkZF9mb2xkZXIoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0TXlWYXIoJ3BhdGhzJywgW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnSG9tZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucG9wKCkuaWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOlxcclxcbiAgICAgICAgICAgICAgICBnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJykgPT0gaVxcclxcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcihob21lX2NhdGdlZ29yeV9hcnJbaV0sICcjRkY2MzQ3JywgJ3N0cm9uZycpXFxyXFxuICAgICAgICAgICAgICAgICAgICA6IGhvbWVfY2F0Z2Vnb3J5X2FycltpXSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcclxcbiAgICAgICAgICAgIHVybDogdXJsLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBnZW5lcmF0ZV9vdGhlcl9zaGFyZV9wYXRocyhyZXMsIG90aGVyX3NoYXJlX2l0ZW1zKSB7XFxyXFxuICAgIHZhciB7IHNoYXJlX290aGVyX3Jvb3RfaW5mbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgaWYgKG90aGVyX3NoYXJlX2l0ZW1zLmxlbmd0aCA8PSAwKSB7XFxyXFxuICAgICAgICBzZXRJdGVtKCdzaGFyZV9pZCcsICcnKVxcclxcbiAgICAgICAgc2V0SXRlbSgnc2hhcmVfcGFzc19jb2RlX3Rva2VuJywgJycpXFxyXFxuICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAvLyDmnInliIbkuqvpk77mjqXvvIzkvYbmmK/msqHmnIlzaGFyZV9pZOWSjHNoYXJlX3Bhc3NfY29kZV90b2tlbu+8jOWwsem7mOiupOiuv+mXruesrOS4gOS4quiOt+WPllxcclxcbiAgICAgICAgaWYgKGdldEl0ZW0oJ3NoYXJlX2lkJywgJycpID09ICcnIHx8IGdldEl0ZW0oJ3NoYXJlX3Bhc3NfY29kZV90b2tlbicsICcnKSA9PSAnJykge1xcclxcbiAgICAgICAgICAgIHNoYXJlX290aGVyX3Jvb3RfaW5mbyhvdGhlcl9zaGFyZV9pdGVtc1swXS51cmwsIG90aGVyX3NoYXJlX2l0ZW1zWzBdLnBhc3N3ZClcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG90aGVyX3NoYXJlX2l0ZW1zLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6XFxyXFxuICAgICAgICAgICAgICAgIGdldE15VmFyKCdzaGFyZV9zaG93X2luZGV4JywgJzAnKSA9PSBpXFxyXFxuICAgICAgICAgICAgICAgICAgICA/IHN0eWxlX2NvbG9yKG90aGVyX3NoYXJlX2l0ZW1zW2ldLm5hbWUsICcjRkY2MzQ3JywgJ3N0cm9uZycpXFxyXFxuICAgICAgICAgICAgICAgICAgICA6IG90aGVyX3NoYXJlX2l0ZW1zW2ldLm5hbWUsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgKGksIG90aGVyX3NoYXJlX2l0ZW1zKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX290aGVyX3Jvb3RfaW5mbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdzaF9wYXRocycsIFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ1NoYXJlSG9tZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyDngrnlh7vojrflj5ZzaGFyZV9pZOWSjHNoYXJlX3Bhc3NfY29kZV90b2tlblxcclxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVfb3RoZXJfcm9vdF9pbmZvKG90aGVyX3NoYXJlX2l0ZW1zW2ldLnVybClcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChnZXRNeVZhcignc2hhcmVfc2hvd19pbmRleCcsICcwJykgPT0gaSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOW8ueWHuuaYr+WQpui9rOWtmOaVtOS4quWIhuS6q++8jOWmguaenOmHjeWkjeeCueWHu+aMiemSrlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsIC8vIOW8ueeql+agh+mimFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn5piv5ZCm6L2s5a2Y5pW05Liq5YiG5LqrJywgLy8g5by556qX5YaF5a65XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QsIHNoYXJlX290aGVyX3NhdmUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGF0aHMgPSBzdG9yYWdlMC5nZXRNeVZhcignc2hfcGF0aHMnLCBbXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdIb21lJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsaXN0ID0gZ2V0X2l0ZW1zX2xpc3QocGF0aHNbcGF0aHMubGVuZ3RoIC0gMV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDovazlrZhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX290aGVyX3NhdmUoW2xpc3QuZmlsZXNbMF0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+i9rOWtmOaVtOS4quWIhuS6q+aIkOWKnydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIC8vIOehruWumuWQjuaJp+ihjFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOi9rOWtmOaTjeS9nCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIC8vIOWPlua2iOWQjuaJp+ihjFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzaGFyZV9zaG93X2luZGV4JywgaSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIGksXFxyXFxuICAgICAgICAgICAgICAgIG90aGVyX3NoYXJlX2l0ZW1zXFxyXFxuICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gZ2VuZXJhdGVfZG93bmxvYWRfcGF0aHMocmVzKSB7XFxyXFxuICAgIC8vIOa3u+WKoOS6keS4i+i9veOAgeS6keS4i+i9veaXpeW/l+OAgea4heepuuaXpeW/l1xcclxcbiAgICBsZXQgZG93bmxvYWRfY2F0Z2Vnb3J5X2FyciA9IFsn5re75Yqg5LqR5LiL6L29JywgJ+S6keS7u+WKoeWIl+ihqCcsICfmuIXnqbrkupHku7vliqHliJfooagnXVxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRvd25sb2FkX2NhdGdlZ29yeV9hcnIubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIGxldCB1cmwgPSAkKCkubGF6eVJ1bGUoKGkpID0+IHtcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXgnLCBpKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9LCBpKVxcclxcbiAgICAgICAgaWYgKGkgPT0gMikge1xcclxcbiAgICAgICAgICAgIHVybCA9ICQoJ+aYr+WQpua4heepuuS6keS7u+WKoeWIl+ihqO+8nycpLmNvbmZpcm0oKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXgnLCAxKVxcclxcbiAgICAgICAgICAgICAgICAvLyBzdG9yYWdlMC5wdXRNeVZhcihcXFwiZG93bmxvYWRfdGFza19pZHNcXFwiLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgZG93bmxvYWRfY2xlYXIgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIGRvd25sb2FkX2NsZWFyKClcXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTpcXHJcXG4gICAgICAgICAgICAgICAgZ2V0TXlWYXIoJ2Rvd25sb2FkX2NhdGVnb3J5X2luZGV4JywgJzAnKSA9PSBpXFxyXFxuICAgICAgICAgICAgICAgICAgICA/IHN0eWxlX2NvbG9yKGRvd25sb2FkX2NhdGdlZ29yeV9hcnJbaV0sICcjRkY2MzQ3JywgJ3N0cm9uZycpXFxyXFxuICAgICAgICAgICAgICAgICAgICA6IGRvd25sb2FkX2NhdGdlZ29yeV9hcnJbaV0sXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXHJcXG4gICAgICAgICAgICB1cmw6IHVybCxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuJC5leHBvcnRzID0ge1xcclxcbiAgICBnZW5lcmF0ZV9wYXRocyxcXHJcXG4gICAgZ2VuZXJhdGVfb3RoZXJfc2hhcmVfcGF0aHMsXFxyXFxuICAgIGdlbmVyYXRlX2hvbWVfY2F0ZWdvcnlfcGF0aHMsXFxyXFxuICAgIGdlbmVyYXRlX2Rvd25sb2FkX3BhdGhzLFxcclxcbiAgICAvLyBnZW5lcmF0ZV9zZWFyY2hfcGF0aHMsXFxyXFxufVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiU2VhcmNoQmFyQW5kQ2F0ZWdvcnlcIixcInBhdGhcIjpcIlNlYXJjaEJhckFuZENhdGVnb3J5XCIsXCJydWxlXCI6XCIvLyDmr4/ml6XkuIDlj6XnvJPlrZhcXHJcXG5mdW5jdGlvbiBzYXZlX2RheV9zYXlfY2FjaGUoKSB7XFxyXFxuICAgIGxldCBkYXlfc2F5X2NhY2hlID0ge31cXHJcXG4gICAgbGV0IGRheV9zYXlfaHRtbCA9IGZldGNoKCdodHRwczovL3YxLmhpdG9rb3RvLmNuJywge1xcclxcbiAgICAgICAgaGVhZGVyczoge1xcclxcbiAgICAgICAgICAgICdVc2VyLUFnZW50JzpcXHJcXG4gICAgICAgICAgICAgICAgJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMjIuMC4wLjAgU2FmYXJpLzUzNy4zNicsXFxyXFxuICAgICAgICB9LFxcclxcbiAgICB9KVxcclxcbiAgICBkYXlfc2F5X2h0bWwgPSBKU09OLnBhcnNlKGRheV9zYXlfaHRtbClcXHJcXG4gICAgZGF5X3NheV9jYWNoZVsnY29udGVudCddID0gZGF5X3NheV9odG1sWydoaXRva290byddXFxyXFxuICAgIGRheV9zYXlfY2FjaGVbJ3RpbWUnXSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApXFxyXFxuICAgIGdsb2JhbE1hcDAucHV0TXlWYXIoJ2RheXNheScsIGRheV9zYXlfY2FjaGUpXFxyXFxuICAgIHJldHVybiBkYXlfc2F5X2h0bWxbJ2hpdG9rb3RvJ11cXHJcXG59XFxyXFxuXFxyXFxuLy8g55Sf5oiQ5pCc57Si5qCPXFxyXFxuZnVuY3Rpb24gc2VhcmNoX2JhcihyZXMpIHtcXHJcXG4gICAgdmFyIHsgcGljX2hvbWUsIHBpY19zaGFyZSwgcGljX3JlY3ljbGUsIHBpY19saW5rIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9CYXNlNjRQaWMnKVxcclxcbiAgICB2YXIgeyBzdHlsZV9jb2xvciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvRGVidWcnKVxcclxcbiAgICBsZXQgZGF5X3NheSA9ICcnXFxyXFxuICAgIHRyeSB7XFxyXFxuICAgICAgICBsZXQgZGF5X3NheV9jYWNoZSA9IHt9XFxyXFxuICAgICAgICBsZXQgZGF5X3RpbWUgPSAwXFxyXFxuICAgICAgICBpZiAoZ2xvYmFsTWFwMC5oYXNNeVZhcignZGF5c2F5JykpIHtcXHJcXG4gICAgICAgICAgICBkYXlfc2F5X2NhY2hlID0gZ2xvYmFsTWFwMC5nZXRNeVZhcignZGF5c2F5Jywge30pXFxyXFxuICAgICAgICAgICAgZGF5X3RpbWUgPSBkYXlfc2F5X2NhY2hlWyd0aW1lJ11cXHJcXG4gICAgICAgICAgICBpZiAoTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCkgLSBkYXlfdGltZSA+PSAxMCkge1xcclxcbiAgICAgICAgICAgICAgICBkYXlfc2F5ID0gc2F2ZV9kYXlfc2F5X2NhY2hlKClcXHJcXG4gICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBkYXlfc2F5ID0gZGF5X3NheV9jYWNoZVsnY29udGVudCddXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICBkYXlfc2F5ID0gc2F2ZV9kYXlfc2F5X2NhY2hlKClcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSBjYXRjaCB7XFxyXFxuICAgICAgICBkYXlfc2F5ID0gJydcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICB0aXRsZTogJ+aQnOe0oicsXFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgIGRlc2M6ICfwn6SWOiAnICsgZGF5X3NheSxcXHJcXG4gICAgICAgIHVybDogXFxcIidoaWtlcjovL3NlYXJjaD9zPScgKyBpbnB1dCArICcmcnVsZT1cXFwiICsgTVlfUlVMRS50aXRsZSArIFxcXCInXFxcIixcXHJcXG4gICAgICAgIC8vIGV4dHJhOiB7XFxyXFxuICAgICAgICAvLyAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgIC8vIH0sXFxyXFxuICAgICAgICAvLyBleHRyYTogeyBkZWZhdWx0VmFsdWU6ICcnICsgZGF5X3NheSB9LFxcclxcbiAgICAgICAgLy8gICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAvLyAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAvLyAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ2hvbWVfaW5wdXQnLCBpbnB1dClcXFwiLFxcclxcbiAgICAgICAgLy8gICAgIH0sXFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIHRpdGxlOiBnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzAnID8gc3R5bGVfY29sb3IoJ+S4u+mhtScsICcjRkY2OUI0JywgJ3N0cm9uZycpIDogJ+S4u+mhtScsXFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2ljb25fNCcsXFxyXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpXFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLCAnMCcpXFxyXFxuICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ3BhdGhzJywgW1xcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZDogJycsXFxyXFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnSG9tZScsXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgXSlcXHJcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgfSksXFxyXFxuICAgICAgICBwaWNfdXJsOiBwaWNfaG9tZSxcXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgdGl0bGU6IGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMScgPyBzdHlsZV9jb2xvcign5YiG5LqrJywgJyNGRjY5QjQnLCAnc3Ryb25nJykgOiAn5YiG5LqrJyxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnaWNvbl80JyxcXHJcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignc2hvd19pbmRleCcsICcxJylcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignc2hhcmVfaW5kZXhfc2hvdycsICcwJylcXHJcXG4gICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignc2hfcGF0aHMnLCBbXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTaGFyZUhvbWUnLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF0pXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgIH0pLFxcclxcbiAgICAgICAgcGljX3VybDogcGljX3NoYXJlLFxcclxcbiAgICB9KVxcclxcblxcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAvLyB0aXRsZTogJ+S6keS4i+i9vScsXFxyXFxuICAgICAgICB0aXRsZTogZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpID09ICcyJyA/IHN0eWxlX2NvbG9yKCfkupHkuIvovb0nLCAnI0ZGNjlCNCcsICdzdHJvbmcnKSA6ICfkupHkuIvovb0nLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uXzQnLFxcclxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIHB1dE15VmFyKCdzaG93X2luZGV4JywgJzInKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9KSxcXHJcXG4gICAgICAgIC8vIHVybDogJCgnJywgJ+i+k+WFpemTvuaOpScpLmlucHV0KCgpID0+IHtcXHJcXG4gICAgICAgIC8vICAgICAvLyByZXR1cm4gJ3Bpa3Bha2FwcDovL215cGlrcGFrLmNvbS94cGFuL21haW5fdGFiP3RhYj0xJmFkZF91cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbnB1dClcXHJcXG4gICAgICAgIC8vICAgICBjb25zdCB7ZG93bmxvYWRfYWRkfSA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL0FQSVxcXCIpXFxyXFxuICAgICAgICAvLyAgICAgZG93bmxvYWRfYWRkKGlucHV0KVxcclxcbiAgICAgICAgLy8gICAgIHB1dE15VmFyKCdzaG93X2luZGV4JywgJzInKVxcclxcbiAgICAgICAgLy8gICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgIC8vICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5bey57uP5re75Yqg77yM6ZyA6KaB562J5LiA5q615pe26Ze077yM5pyN5Yqh5Zmo5omN6IO95LiL6L295a6M5q+VXFxcIlxcclxcbiAgICAgICAgLy8gfSksXFxyXFxuICAgICAgICBwaWNfdXJsOiBwaWNfbGluayxcXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgdGl0bGU6ICforr7nva4nLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uXzQnLFxcclxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL090aGVyU2V0dGluZyNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnLFxcclxcbiAgICAgICAgcGljX3VybDogcGljX3JlY3ljbGUsXFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIC8vIHJlcy5wdXNoKHtcXHJcXG4gICAgLy8gICAgIHRpdGxlOiAn5pS55ZCNJyxcXHJcXG4gICAgLy8gICAgIGNvbF90eXBlOiAnaWNvbl80JyxcXHJcXG4gICAgLy8gICAgIHVybDogJCgpLmxhenlSdWxlKCgpPT57XFxyXFxuICAgIC8vICAgICAgICAgY29uc3Qge3Rlc3Rfd2Vidmlld30gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9UZXN0V2Vidmlld1xcXCIpXFxyXFxuICAgIC8vICAgICAgICAgdGVzdF93ZWJ2aWV3KClcXHJcXG4gICAgLy8gICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgIC8vICAgICB9KSxcXHJcXG4gICAgLy8gICAgIHBpY191cmw6IHBpY19yZWN5Y2xlLFxcclxcbiAgICAvLyB9KVxcclxcbn1cXHJcXG5cXHJcXG4vLyDmkJzntKLnu5PmnpzliJfooahcXHJcXG5mdW5jdGlvbiBzZWFyY2hfbGlzdChrZXlfd29yZCwgcmVzKSB7XFxyXFxuICAgIHZhciB7IGdldEV4dCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvTGlzdCcpXFxyXFxuICAgIHZhciB7IGdldF9pdGVtc19saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcXHJcXG4gICAgbGV0IGtleV93b3JkX3JlZ2V4ID0gbmV3IFJlZ0V4cCgnLio/JyArIGtleV93b3JkICsgJy4qPycsICdtZ2knKVxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIGlmIChsaXN0LmZpbGVzW2ldLm5hbWUubWF0Y2goa2V5X3dvcmRfcmVnZXgpKSB7XFxyXFxuICAgICAgICAgICAgdmFyIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgKGl0ZW0sIGV4dCwgYWNjZXNzX3Rva2VuKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YXIgeyBnZXRfaXRlbV91cmwgfSA9ICQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL0FQST9ydWxlPeeyieWmueeIsVBpa1Bha1xcXCIpXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzID0gZ2V0X2l0ZW1fdXJsKGl0ZW0uaWQsIGFjY2Vzc190b2tlbikgICAgICBcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgbGlzdC5maWxlc1tpXSxcXHJcXG4gICAgICAgICAgICAgICAgZ2V0RXh0KGxpc3QuZmlsZXNbaV0ubmFtZSksXFxyXFxuICAgICAgICAgICAgICAgIGdldEl0ZW0oJ2FjY2Vzc190b2tlbicsICcnKVxcclxcbiAgICAgICAgICAgIClcXHJcXG5cXHJcXG4gICAgICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiBsaXN0LmZpbGVzW2ldLm5hbWUsXFxyXFxuICAgICAgICAgICAgICAgIGltZzogbGlzdC5maWxlc1tpXS5raW5kID09ICdkcml2ZSNmb2xkZXInID8gbGlzdC5maWxlc1tpXS5pY29uX2xpbmsgOiBsaXN0LmZpbGVzW2ldLnRodW1ibmFpbF9saW5rLFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxyXFxuICAgICAgICAgICAgICAgIHVybDpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNbaV0ua2luZCA9PSAnZHJpdmUjZm9sZGVyJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ2hpa2VyOi8vZW1wdHkmJiYnICsgbGlzdC5maWxlc1tpXS5pZCArICcmJiYnICsgbGlzdC5maWxlc1tpXS5uYW1lICsgJyNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1cmwgKyAnI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG4kLmV4cG9ydHMgPSB7XFxyXFxuICAgIHNlYXJjaF9iYXIsXFxyXFxuICAgIHNlYXJjaF9saXN0LFxcclxcbn1cXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkxpc3RcIixcInBhdGhcIjpcIkxpc3RcIixcInJ1bGVcIjpcIi8vIOiOt+WPluaWh+S7tuWQjeWQjue8gFxcclxcbmZ1bmN0aW9uIGdldEV4dChmaWxlTmFtZSkge1xcclxcbiAgICBsZXQgcF9leHQgPSBmaWxlTmFtZS5zdWJzdHIoZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpXFxyXFxuXFxyXFxuICAgIGlmICgkLm1vdmllLmluY2x1ZGVzKHBfZXh0KSkge1xcclxcbiAgICAgICAgdmFyIGV4dCA9ICcjaXNWaWRlbz10cnVlIydcXHJcXG4gICAgfSBlbHNlIGlmICgkLmF1ZGlvLmluY2x1ZGVzKHBfZXh0KSkge1xcclxcbiAgICAgICAgdmFyIGV4dCA9ICcjaXNNdXNpYz10cnVlIydcXHJcXG4gICAgfSBlbHNlIGlmICgkLmltZy5pbmNsdWRlcyhwX2V4dCkpIHtcXHJcXG4gICAgICAgIHZhciBleHQgPSAnIy5qcGcnXFxyXFxuICAgIH0gZWxzZSBpZiAoJC50eHQuaW5jbHVkZXMocF9leHQpKSB7XFxyXFxuICAgICAgICB2YXIgZXh0ID0gJyNyZWFkVGhlbWUjJ1xcclxcbiAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgdmFyIGV4dCA9ICcnXFxyXFxuICAgIH1cXHJcXG4gICAgcmV0dXJuIGV4dFxcclxcbn1cXHJcXG5cXHJcXG4vLyDnlJ/miJDmmL7npLrpnIDopoHnmoTmlofku7blpLkv5paH5Lu25YiX6KGoXFxyXFxuZnVuY3Rpb24gZ2VuZXJhdGVfbGlzdChyZXMsIHBhdGhzX2tpbmQpIHtcXHJcXG4gICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QsIHNvcnRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgdmFyIHsgc3R5bGVfY29sb3IgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0RlYnVnJylcXHJcXG4gICAgbGV0IHBhdGhzID0gc3RvcmFnZTAuZ2V0TXlWYXIocGF0aHNfa2luZCwgW1xcclxcbiAgICAgICAge1xcclxcbiAgICAgICAgICAgIGlkOiAnJyxcXHJcXG4gICAgICAgICAgICBuYW1lOiAnSG9tZScsXFxyXFxuICAgICAgICB9LFxcclxcbiAgICBdKVxcclxcblxcclxcbiAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KHBhdGhzW3BhdGhzLmxlbmd0aCAtIDFdLmlkKVxcclxcbiAgICBpZiAoXFxyXFxuICAgICAgICBnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzEnICYmXFxyXFxuICAgICAgICAoZ2V0SXRlbSgnc2hhcmVfaWQnLCAnJykgPT0gJycgfHwgZ2V0SXRlbSgnc2hhcmVfcGFzc19jb2RlX3Rva2VuJywgJycpID09ICcnKVxcclxcbiAgICApIHtcXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+WIhuS6q+mTvuaOpeaXoOaViOaIluiAheW9k+WJjeWcsOWMuuS4jeWPr+eUqCjpnIDopoHpo54pJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJykgPT0gJzAnID8gJ2F2YXRhcicgOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnLFxcclxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgICAgIHJldHVyblxcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIGxldCBzb3J0X2ZpbGVzID0gc29ydF9pdGVtc19saXN0KGxpc3QuZmlsZXMsIGdldE15VmFyKCdsaXN0X3Nob3dfc29ydCcsICcwJykpXFxyXFxuICAgIGxpc3QuZmlsZXMgPSBzb3J0X2ZpbGVzXFxyXFxuXFxyXFxuICAgIGxpc3QuZmlsZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xcclxcbiAgICAgICAgdmFyIHVybCA9ICcnXFxyXFxuICAgICAgICB2YXIgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgIHZhciBsb25nQ2xpY2tfYXJyID0gW1xcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6knLFxcclxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+ivt+mAieaLqeaTjeS9nCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn6YCJ5oupJywgJ+S4jemAiScsICflhajpgIknLCAn5riF56m65bey6YCJJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+mAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5zcGxpY2UoZmlsZV9hY3Rpb24uaW5kZXhPZihpdGVtLmlkKSwgMSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2gobGlzdFtpXS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNcXHJcXG4gICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfliKDpmaQnLFxcclxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgIChhY3Rpb24sIGl0ZW1fc291cmNlX2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybSh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bCP56iL5bqP5o+Q56S6JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpuWIoOmZpOacrOaWh+S7ti/mlofku7blpLknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbiwgaXRlbV9zb3VyY2VfaWQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbihhY3Rpb24sIFtpdGVtX3NvdXJjZV9pZF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/miJDlip/liKDpmaTmnKzmlofku7Yv5paH5Lu25aS5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fc291cmNlX2lkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbDogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5Yig6ZmkJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdiYXRjaFRyYXNoJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaWRcXHJcXG4gICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfliIbkuqsnLFxcclxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaXRlbSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ3N0X2l0ZW0nLCBpdGVtKVxcclxcbiAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5pyJ5pWI5pyfJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+awuOS5heacieaViCcsICc35aSpJywgJzE05aSpJywgJzMw5aSpJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2V4cGlyZWRfZGF0ZScsIGlucHV0KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeaYr+WQpuW4puWvhueggScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+aYrycsICflkKYnXSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9jcmVhdGUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSBzdG9yYWdlMC5nZXRNeVZhcignc3RfaXRlbScsIHt9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9yZXMgPSBzaGFyZV9jcmVhdGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtLmlkXSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAuZ2V0TXlWYXIoJ2V4cGlyZWRfZGF0ZScsICctMScpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9yZXMgPSBKU09OLnBhcnNlKHNoYXJlX3JlcylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVfcmVzLnBhc3NfY29kZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfcmVzLnNoYXJlX3VybH1cXHJcXG7lr4bnoIE6ICR7c2hhcmVfcmVzLnBhc3NfY29kZX1cXHJcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfcmVzLnNoYXJlX3VybH1cXHJcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIH0sIGl0ZW0pLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+mHjeWRveWQjScsXFxyXFxuICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChpdGVtX2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJCgnJywgJ+ivt+i+k+WFpeaWh+S7tuWkuS/mlofku7bnmoTmlrDlkI3lrZcnKS5pbnB1dCgoaXRlbV9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGl0ZW1fcmVuYW1lIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fcmVuYW1lKGl0ZW1faWQsIGlucHV0KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5q2j5Zyo6YeN5ZG95ZCNLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSwgaXRlbV9pZClcXHJcXG4gICAgICAgICAgICAgICAgfSwgaXRlbS5pZCksXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIF1cXHJcXG4gICAgICAgIGlmIChmaWxlX2FjdGlvbi5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgbG9uZ0NsaWNrX2FyciA9IFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6knLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fpgInmi6nmk43kvZwnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknXSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2goaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmuIXnqbrlt7LpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChsaXN0W2ldLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC5maWxlc1xcclxcbiAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfliKDpmaTlt7LpgIknLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbiwgaXRlbV9zb3VyY2VfaWQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybSh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn5piv5ZCm5Yig6Zmk5bey6YCJ55qE5paH5Lu2L+acrOaWh+S7tuWkuScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb24sIGl0ZW1fc291cmNlX2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGl0ZW1fYWN0aW9uIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKGFjdGlvbiwgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aIkOWKn+WIoOmZpOW3sumAieaWh+S7ti/mlofku7blpLknXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9zb3VyY2VfaWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5Yig6ZmkJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmF0Y2hUcmFzaCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pZFxcclxcbiAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvlt7LpgIknLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5pyJ5pWI5pyfJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmsLjkuYXmnInmlYgnLCAnN+WkqScsICcxNOWkqScsICczMOWkqSddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdleHBpcmVkX2RhdGUnLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeaYr+WQpuW4puWvhueggScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmmK8nLCAn5ZCmJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc2hhcmVfY3JlYXRlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9yZXMgPSBzaGFyZV9jcmVhdGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLmdldE15VmFyKCdleHBpcmVkX2RhdGUnLCAnLTEnKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfcmVzID0gSlNPTi5wYXJzZShzaGFyZV9yZXMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaGFyZV9yZXMucGFzc19jb2RlKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX3Jlcy5zaGFyZV91cmx9XFxyXFxu5a+G56CBOiAke3NoYXJlX3Jlcy5wYXNzX2NvZGV9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX3Jlcy5zaGFyZV91cmx9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSwgaXRlbSksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn56e75Yqo5bey6YCJ5Yiw6L+ZJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb24sIGl0ZW1fdGFyZ2V0X2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGl0ZW1fYWN0aW9uIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKGFjdGlvbiwgZmlsZV9hY3Rpb24sIGl0ZW1fdGFyZ2V0X2lkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjnp7vliqguLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAnYmF0Y2hNb3ZlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmlkXFxyXFxuICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WkjeWItuW3sumAieWIsOi/mScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLCBpdGVtX3RhcmdldF9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbihhY3Rpb24sIGZpbGVfYWN0aW9uLCBpdGVtX3RhcmdldF9pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5q2j5Zyo5aSN5Yi2Li4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JhdGNoQ29weScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pZFxcclxcbiAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfmmL7npLrlt7LpgIknLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaG93X3NlbGVjdF9pdGVtcyA9IFtdXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8g57G75Ly85pCc57Si5ou/5omA5pyJ77yM55So5pWw57uE55qEaW5kZXhPZuWIpOaWre+8jOeEtuWQjuaOqOWFpXNob3dfc2VsZWN0X2l0ZW1zXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdCgnKicpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5pbmRleE9mKGxpc3QuZmlsZXNbaV0uaWQpICE9IC0xKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3NlbGVjdF9pdGVtcy5wdXNoKGxpc3QuZmlsZXNbaV0ubmFtZSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bey6YCJ5paH5Lu2L+aWh+S7tuWkuScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogc2hvd19zZWxlY3RfaXRlbXMsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmL7npLrlt7LpgInmi6nnmoTmlofku7blpLkv5paH5Lu277yM54K55Ye75peg5pWIJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldCBsb25nQ2xpY2syX2FyciA9IFtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfmk43kvZwnLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfliKDpmaTmiYDmnInpgInmi6knLCAn5YiG5Lqr5omA5pyJ6YCJ5oupJywgJ+enu+WKqOaJgOaciemAieaLqeWIsOi/memHjCcsICflpI3liLbmiYDmnInpgInmi6nliLDov5nph4wnXSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAyLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaXRlbSkgPT4ge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBpdGVtX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WIoOmZpOaJgOaciemAieaLqSc6XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKCdiYXRjaFRyYXNoJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5YiG5Lqr5omA5pyJ6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6nmnInmlYjmnJ8nLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmsLjkuYXmnInmlYgnLCAnN+WkqScsICcxNOWkqScsICczMOWkqSddLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAyLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdleHBpcmVkX2RhdGUnLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5piv5ZCm5bim5a+G56CBJyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmmK8nLCAn5ZCmJ10sXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzaGFyZV9jcmVhdGUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcblxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3JlcyA9IHNoYXJlX2NyZWF0ZShcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS5pZF0sXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAuZ2V0TXlWYXIoJ2V4cGlyZWRfZGF0ZScsICctMScpLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9yZXMgPSBKU09OLnBhcnNlKHNoYXJlX3JlcylcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaGFyZV9yZXMucGFzc19jb2RlKSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV9yZXMuc2hhcmVfdXJsfVxcclxcbiAgICAgICAgICAgIC8vIOWvhueggTogJHtzaGFyZV9yZXMucGFzc19jb2RlfVxcclxcbiAgICAgICAgICAgIC8vICR7c2hhcmVfcmVzLnNoYXJlX2lkfVxcclxcbiAgICAgICAgICAgIC8vIOWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX3Jlcy5zaGFyZV91cmx9XFxyXFxuICAgICAgICAgICAgLy8gJHtzaGFyZV9yZXMuc2hhcmVfaWR9XFxyXFxuICAgICAgICAgICAgLy8g5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+enu+WKqOaJgOaciemAieaLqeWIsOi/memHjCc6XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKCdiYXRjaE1vdmUnLCBmaWxlX2FjdGlvbiwgaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbignYmF0Y2hDb3B5JywgZmlsZV9hY3Rpb24sIGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGl0ZW0pLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfmmL7npLrmiYDmnInpgInmi6knLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaG93X3NlbGVjdF9pdGVtcyA9IFtdXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgLy8g57G75Ly85pCc57Si5ou/5omA5pyJ77yM55So5pWw57uE55qEaW5kZXhPZuWIpOaWre+8jOeEtuWQjuaOqOWFpXNob3dfc2VsZWN0X2l0ZW1zXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBnZXRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfYWN0aW9uLmluZGV4T2YobGlzdC5maWxlc1tpXS5pZCkgIT0gLTEpIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc2VsZWN0X2l0ZW1zLnB1c2gobGlzdC5maWxlc1tpXS5uYW1lKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflt7LpgInmi6nnmoTmlofku7Yv5paH5Lu25aS5JyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAxLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBzaG93X3NlbGVjdF9pdGVtcyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aYvuekuuW3sumAieaLqeeahOaWh+S7tuWkuS/mlofku7bvvIzngrnlh7vml6DmlYgnXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgJC5sb2coZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgbG9uZ0NsaWNrX2FyciA9IGxvbmdDbGlja19hcnIuY29uY2F0KGxvbmdDbGljazJfYXJyKVxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMScpIHtcXHJcXG4gICAgICAgICAgICBsb25nQ2xpY2tfYXJyID0gW1xcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+ivt+mAieaLqeaTjeS9nCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+mAieaLqScsICfkuI3pgIknLCAn5YWo6YCJJywgJ+a4heepuuW3sumAiSddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+mAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5LiN6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5zcGxpY2UoZmlsZV9hY3Rpb24uaW5kZXhPZihpdGVtLmlkKSwgMSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+a4heepuuW3sumAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGxpc3RbaV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+i9rOWtmCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaXRlbSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX290aGVyX3NhdmUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8g6L2s5a2YXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfb3RoZXJfc2F2ZShbaXRlbS5pZF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOi9rOWtmC4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sIGl0ZW0pLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF1cXHJcXG4gICAgICAgICAgICBpZiAoc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pLmxlbmd0aCA+IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgbG9uZ0NsaWNrX2FyciA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fpgInmi6nmk43kvZwnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn6YCJ5oupJywgJ+S4jemAiScsICflhajpgIknLCAn5riF56m65bey6YCJJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5LiN6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2gobGlzdFtpXS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+i9rOWtmOW3sumAiScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc2hhcmVfb3RoZXJfc2F2ZSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOi9rOWtmFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9vdGhlcl9zYXZlKGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOi9rOWtmOW3sumAiS4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIF1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKGl0ZW0ua2luZCA9PSAnZHJpdmUjZm9sZGVyJykge1xcclxcbiAgICAgICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAocGF0aHMsIGl0ZW0sIHBhdGhzX2tpbmQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRocy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKHBhdGhzX2tpbmQsIHBhdGhzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgcGF0aHMsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcGF0aHNfa2luZFxcclxcbiAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgdmFyIGV4dCA9IGdldEV4dChpdGVtLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgIGlmIChleHQgPT0gJyMuanBnJyAmJiBnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX290aGVyX3NhdmUsIGdldF9pdGVtX3VybCwgaXRlbV9hY3Rpb24sIHRyYXNoX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vIOi9rOWtmFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3RyYWNlX3JlcyA9IHNoYXJlX290aGVyX3NhdmUoW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3RyYWNlX2lkID0gSlNPTi5wYXJzZShzaGFyZV90cmFjZV9yZXMucGFyYW1zLnRyYWNlX2ZpbGVfaWRzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8g6I635Y+W5Zu+54mH5Zyw5Z2AXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzID0gZ2V0X2l0ZW1fdXJsKHNoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8g5Yig6ZmkKOWMheWQq+WbnuaUtuermeawuOS5heWIoOmZpClcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKCdiYXRjaFRyYXNoJywgW3NoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hEZWxldGUnLCBbc2hhcmVfdHJhY2VfaWRbaXRlbS5pZF1dKVxcclxcbiAgICAgICAgICAgICAgICAgICAgdXJsID0gJ3BpY3M6Ly8nICsgcmVzLndlYl9jb250ZW50X2xpbmtcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgZXh0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX290aGVyX3NhdmUsIGdldF9pdGVtX3VybCwgaXRlbV9hY3Rpb24sIHRyYXNoX2FjdGlvbiB9ID1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOi9rOWtmFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfdHJhY2VfcmVzID0gc2hhcmVfb3RoZXJfc2F2ZShbaXRlbS5pZF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV90cmFjZV9pZCA9IEpTT04ucGFyc2Uoc2hhcmVfdHJhY2VfcmVzLnBhcmFtcy50cmFjZV9maWxlX2lkcylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6I635Y+W5pKt5pS+5Zyw5Z2AXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoc2hhcmVfdHJhY2VfaWRbaXRlbS5pZF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWIoOmZpCjljIXlkKvlm57mlLbnq5nmsLjkuYXliKDpmaQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fYWN0aW9uKCdiYXRjaFRyYXNoJywgW3NoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2hfYWN0aW9uKCdiYXRjaERlbGV0ZScsIFtzaGFyZV90cmFjZV9pZFtpdGVtLmlkXV0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wID0gaXRlbS5saW5rXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRtcC51cmwgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vIH0gZWxzZSBpZiAoZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpID09ICcyJykge1xcclxcbiAgICAgICAgfSBlbHNlIGlmIChnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJykgIT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgLy8gaWYgKGdldE15VmFyKCdvdF9pbmRleCcsICcwJykgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgbG9uZ0NsaWNrX2FyciA9IFtdXFxyXFxuICAgICAgICAgICAgaWYgKGdldE15VmFyKCdob21lX2NhdGVnb3J5X2luZGV4JywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHNlbF9vcF9hcnIgPSBbJ+mAieaLqScsICfkuI3pgIknLCAn5YWo6YCJJywgJ+a4heepuuW3sumAiScsICfmsLjkuYXliKDpmaQnLCAn6L+Y5Y6fJ11cXHJcXG4gICAgICAgICAgICAgICAgaWYgKGZpbGVfYWN0aW9uLmxlbmd0aCA+IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHNlbF9vcF9hcnIgPSBbJ+mAieaLqScsICfkuI3pgIknLCAn5YWo6YCJJywgJ+a4heepuuW3sumAiScsICfmsLjkuYXliKDpmaTlt7LpgIknLCAn6L+Y5Y6f5bey6YCJJywgJ+aYvuekuuW3sumAiSddXFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgdXJsID0gJChzZWxfb3BfYXJyLCAzLCAn6K+36YCJ5oup5pON5L2cJykuc2VsZWN0KFxcclxcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGxpc3QxKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgdHJhc2hfYWN0aW9uIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6L+Y5Y6fJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hVbnRyYXNoJywgW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOi/mOWOny4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5rC45LmF5Yig6ZmkJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bCP56iL5bqP5o+Q56S6JywgLy8g5by556qX5qCH6aKYXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpuawuOS5heWIoOmZpOacrOaWh+S7ti/mlofku7blpLnvvJ8nLCAvLyDlvLnnqpflhoXlrrlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKChpdGVtKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHRyYXNoX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2hfYWN0aW9uKCdiYXRjaERlbGV0ZScsIFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5q2j5Zyo5rC45LmF5Yig6ZmkLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGl0ZW0pLCAvLyDnoa7lrprlkI7miafooYxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lj5bmtojmsLjkuYXliKDpmaQuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIC8vIOWPlua2iOWQjuaJp+ihjFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+mAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5zcGxpY2UoZmlsZV9hY3Rpb24uaW5kZXhPZihpdGVtLmlkKSwgMSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5YWo6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdDEubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGxpc3QxW2ldLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmuIXnqbrlt7LpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmsLjkuYXliKDpmaTlt7LpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybSh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflsI/nqIvluo/mj5DnpLonLCAvLyDlvLnnqpfmoIfpophcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn5piv5ZCm5rC45LmF5Yig6Zmk5bey6YCJJywgLy8g5by556qX5YaF5a65XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHRyYXNoX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hEZWxldGUnLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOawuOS5heWIoOmZpOW3sumAiS4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgLy8g56Gu5a6a5ZCO5omn6KGMXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5rC45LmF5bey6YCJ5Yig6ZmkLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAvLyDlj5bmtojlkI7miafooYxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfov5jljp/lt7LpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhc2hfYWN0aW9uKCdiYXRjaFVudHJhc2gnLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOi/mOWOn+W3sumAiS4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hvd19zZWxlY3RfaXRlbXMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5maWxlcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5pbmRleE9mKGxpc3QuZmlsZXNbaV0uaWQpICE9IC0xKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc2VsZWN0X2l0ZW1zLnB1c2gobGlzdC5maWxlc1tpXS5uYW1lKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+W3sumAieaLqeeahOaWh+S7ti/mlofku7blpLknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBzaG93X3NlbGVjdF9pdGVtcyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmL7npLrlt7LpgInmi6nnmoTmlofku7blpLkv5paH5Lu277yM54K55Ye75peg5pWIJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNcXHJcXG4gICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBzZWxfb3BfYXJyID0gWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknLCAn5aSN5Yi25YiG5LqrJywgJ+aSpOmUgOWIhuS6qyddXFxyXFxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBzZWxfb3BfYXJyID0gWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknLCAn5aSN5Yi25bey6YCJ5YiG5LqrJywgJ+aSpOmUgOW3sumAieWIhuS6qycsICfmmL7npLrlt7LpgIknXVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIHVybCA9ICQoc2VsX29wX2FyciwgMywgJ+ivt+mAieaLqeaTjeS9nCcpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0MSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX2FjdGlvbiwgc2hhcmVfY29weV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLnNoYXJlX2lkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfkuI3pgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5zaGFyZV9pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WFqOmAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QxLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChsaXN0MVtpXS5zaGFyZV9pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5aSN5Yi25YiG5LqrJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV91cmwgPSBgaHR0cHM6Ly9teXBpa3Bhay5jb20vcy8ke2l0ZW0uc2hhcmVfaWR9YFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3Bhc3N3ZCA9IGl0ZW0uc2hhcmVfcGFzc3dkID8gYCR7aXRlbS5zaGFyZV9wYXNzd2R9YCA6ICcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsZXQgc2hhcmVfdXJsID0gYGh0dHBzOi8vbXlwaWtwYWsuY29tL3MvJHtzaGFyZV9pZH0ke3NoYXJlX3Bhc3N3ZH1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsZXQgaGlrZXJfc2hhcmVfY29weV91cmwgPSBzaGFyZV9jb3B5X3VybChzaGFyZV9pZCwgc2hhcmVfcGFzc3dkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuICdjb3B5Oi8vJyArIGhpa2VyX3NoYXJlX2NvcHlfdXJsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVfcGFzc3dkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV91cmx9XFxyXFxu5a+G56CBOiAke3NoYXJlX3Bhc3N3ZH1cXHJcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV91cmx9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+aSpOmUgOWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgW2l0ZW0uc2hhcmVfaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOaSpOmUgOWIhuS6qy4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5aSN5Yi25bey6YCJ5YiG5LqrJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQubG9nKGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5sb2cobGlzdDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29weV9zaGFyZV9saXN0ID0gJydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdDEubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGZpbGVfYWN0aW9uLmxlbmd0aDsgaisrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbltqXSA9PSBsaXN0MVtpXS5zaGFyZV9pZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3QxW2ldLnNoYXJlX3Bhc3N3ZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfc2hhcmVfbGlzdCArPSBgaHR0cHM6Ly9teXBpa3Bhay5jb20vcy8ke2xpc3QxW2ldLnNoYXJlX2lkfVxcclxcbuWvhueggTogJHtsaXN0MVtpXS5zaGFyZV9wYXNzd2R9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfc2hhcmVfbGlzdCArPSBgaHR0cHM6Ly9teXBpa3Bhay5jb20vcy8ke2xpc3QxW2ldLnNoYXJlX2lkfVxcclxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29weV9zaGFyZV9saXN0ICs9ICdcXFxcbidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7Y29weV9zaGFyZV9saXN0fWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+aSpOmUgOW3sumAieWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjmkqTplIDlt7LpgInliIbkuqsuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNob3dfc2VsZWN0X2l0ZW1zID0gW11cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtc19saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdCgnKicpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9hY3Rpb24uaW5kZXhPZihsaXN0LmZpbGVzW2ldLnNoYXJlX2lkKSAhPSAtMSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3NlbGVjdF9pdGVtcy5wdXNoKGxpc3QuZmlsZXNbaV0ubmFtZSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflt7LpgInmi6nnmoTmlofku7Yv5paH5Lu25aS5JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogc2hvd19zZWxlY3RfaXRlbXMsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5pi+56S65bey6YCJ5oup55qE5paH5Lu25aS5L+aWh+S7tu+8jOeCueWHu+aXoOaViCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgLy8gdXJsID0gJChzZWxfb3BfYXJyLCA0LCAn6K+36YCJ5oup5pON5L2cJykuc2VsZWN0KFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgKGl0ZW0sIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBjb25zdCB7IHNoYXJlX2FjdGlvbiwgc2hhcmVfY29weV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgc3dpdGNoIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBjYXNlICflpI3liLbliIbkuqsnOlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX2lkID0gaXRlbS5zaGFyZV9pZFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3Bhc3N3ZCA9IGl0ZW0uc2hhcmVfcGFzc3dkID8gYD9zX2NvZGU9JHtpdGVtLnNoYXJlX3Bhc3N3ZH1gIDogJydcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIC8vIGxldCBzaGFyZV91cmwgPSBgaHR0cHM6Ly9teXBpa3Bhay5jb20vcy8ke3NoYXJlX2lkfSR7c2hhcmVfcGFzc3dkfWBcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCBoaWtlcl9zaGFyZV9jb3B5X3VybCA9IHNoYXJlX2NvcHlfdXJsKHNoYXJlX2lkLCBzaGFyZV9wYXNzd2QpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICByZXR1cm4gJ2NvcHk6Ly8nICsgaGlrZXJfc2hhcmVfY29weV91cmxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2FzZSAn5pKk6ZSA5YiG5LqrJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHNoYXJlX2FjdGlvbignYmF0Y2hEZWxldGUnLCBbaXRlbS5zaGFyZV9pZF0pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5L2g5pys5qyh5omn6KGM5pON5L2c55qE5pivJyArIGlucHV0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGNhc2UgJ+mAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fpgInmi6nmk43kvZwnLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn6YCJ5oupJywgJ+S4jemAieaLqScsICflhajpg6jpgInmi6knLCAn5riF56m65omA5pyJ6YCJ5oupJ10sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGl0ZW0uc2hhcmVfaWQpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5LiN6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5zaGFyZV9pZCksIDEpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65omA5pyJ6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2gobGlzdFtpXS5zaGFyZV9pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBjYXNlICfmk43kvZwnOlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+WkjeWItuaJgOaciemAieaLqeWIhuS6qycsICfmkqTplIDmiYDmnInpgInmi6nliIbkuqsnXSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgc2hhcmVfYWN0aW9uLCBzaGFyZV9jb3B5X3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0b2luID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WkjeWItuaJgOaciemAieaLqeWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX2FjdGlvbignYmF0Y2hEZWxldGUnLCBmaWxlX2FjdG9pbilcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXQgc2hvd19zZWxlY3RfaXRlbXMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgY29uc3QgeyBnZXRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCBsaXN0ID0gZ2V0X2l0ZW1zX2xpc3QoJyonKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfYWN0aW9uLmluZGV4T2YobGlzdC5maWxlc1tpXS5zaGFyZV9pZCkgIT0gLTEpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19zZWxlY3RfaXRlbXMucHVzaChsaXN0LmZpbGVzW2ldLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bey6YCJ5oup55qE5paH5Lu2L+aWh+S7tuWkuScsXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgY29sOiAxLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHNob3dfc2VsZWN0X2l0ZW1zLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aYvuekuuW3sumAieaLqeeahOaWh+S7tuWkuS/mlofku7bvvIzngrnlh7vml6DmlYgnXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgJC5sb2coZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgIC8vIClcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ua2luZCA9PSAnZHJpdmUjZm9sZGVyJykge1xcclxcbiAgICAgICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgKHBhdGhzLCBpdGVtLCBwYXRoc19raW5kKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc2VhcmNoXzEnLCAnMCcpXFxyXFxuICAgICAgICAgICAgICAgICAgICBwYXRocy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIocGF0aHNfa2luZCwgcGF0aHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHBhdGhzLFxcclxcbiAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICBwYXRoc19raW5kXFxyXFxuICAgICAgICAgICAgKVxcclxcbiAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICB2YXIgZXh0ID0gZ2V0RXh0KGl0ZW0ubmFtZSlcXHJcXG4gICAgICAgICAgICBpZiAoIWV4dCkge1xcclxcbiAgICAgICAgICAgICAgICB1cmwgPSAkKFsn6KeG6aKRJywgJ+mfs+mikScsICfmlofmoaMv5Zu+54mHJywgJ+S4i+i9vSddLCAyLCAn6K+36YCJ5oup5omT5byA5pa55byPJykuc2VsZWN0KFxcclxcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGV4dCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6KeG6aKRJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9ICcjaXNWaWRlbz10cnVlIydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+mfs+mikSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQgPSAnI2lzTXVzaWM9dHJ1ZSMnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmlofmoaMv5Zu+54mHJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9ICcjLmpwZydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQgPSAnJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc2VhcmNoXzEnLCAnMCcpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRtcC51cmwgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGV4dFxcclxcbiAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKGV4dCA9PSAnIy5qcGcnICYmIGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcyJykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgdXJsID0gJ3BpY3M6Ly8nICsgcmVzLndlYl9jb250ZW50X2xpbmtcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgZXh0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzID0gZ2V0X2l0ZW1fdXJsKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wID0gaXRlbS5saW5rXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRtcC51cmwgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vIGlmIChleHQgPT0gJyMuanBnJykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgaWYgKHJlcy5tZWRpYXMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIHVybCA9ICdwaWNzOi8vJyArIG11bHRpcGxlX3BpY191cmxzLmpvaW4oJyYmJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gaWYgKGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcyJykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgLy8gdmFyIHsgZ2V0RXh0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9MaXN0JylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBtdWx0aXBsZV9waWNfaWRzID0gW11cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCBtdWx0aXBsZV9waWNfdXJscyA9IFtdXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBpZiAoZ2V0RXh0KGxpc3QuZmlsZXNbaV0ubmFtZSkgPT0gJyMuanBnJykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBtdWx0aXBsZV9waWNfaWRzLnB1c2gobGlzdC5maWxlc1tpXS5pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAkLmxvZygxMjMpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG11bHRpcGxlX3BpY19pZHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBsZXQgcGljX3JlcyA9IGdldF9pdGVtX3VybChtdWx0aXBsZV9waWNfaWRzW2ldKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIG11bHRpcGxlX3BpY191cmxzLnB1c2gocGljX3Jlcy53ZWJfY29udGVudF9saW5rKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgJC5sb2coMjM0KVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgLy8gdG9hc3QoJ+ato+WcqOW8gOWQr+a8q+eUu+aooeW8jy4uLicpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB1cmwgPSAncGljczovLycgKyBtdWx0aXBsZV9waWNfdXJscy5qb2luKCcmJicpXFxyXFxuICAgICAgICAgICAgICAgIC8vIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgKGl0ZW0sIGV4dCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBwdXRNeVZhcignc2VhcmNoXzEnLCAnMCcpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIClcXHJcXG4gICAgICAgICAgICAgICAgLy8gfVxcclxcbiAgICAgICAgICAgICAgICAvLyB1cmwgPSAkKFsn5Y2V5Zu+5qih5byPJywgJ+WkmuWbvuaooeW8jyddLCAyLCAn6K+36YCJ5oupJykuc2VsZWN0KFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgKGl0ZW0sIGV4dCwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2FzZSAn5aSa5Zu+5qih5byPJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHZhciB7IGdldEV4dCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvTGlzdCcpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXQgbXVsdGlwbGVfcGljX2lkcyA9IFtdXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXQgbXVsdGlwbGVfcGljX3VybHMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEV4dChsaXN0W2ldLm5hbWUpID09ICcjLmpwZycpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVfcGljX2lkcy5wdXNoKGxpc3RbaV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdWx0aXBsZV9waWNfaWRzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgbGV0IHBpY19yZXMgPSBnZXRfaXRlbV91cmwobXVsdGlwbGVfcGljX2lkc1tpXSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZV9waWNfdXJscy5wdXNoKHBpY19yZXMud2ViX2NvbnRlbnRfbGluaylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHRvYXN0KCfmraPlnKjlvIDlkK/mvKvnlLvmqKHlvI8o5oql6ZSZ6K+35peg6KeG77yM5rW36ZiU5Y6f5ZugKS4uLicpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpY3M6Ly8nICsgbXVsdGlwbGVfcGljX3VybHMuam9pbignJiYnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgaWYgKHJlcy5tZWRpYXMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGZvciAoaXRlbSBvZiByZXMubWVkaWFzKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLnVybCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRtcC51cmwgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBleHQsXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgIC8vIClcXHJcXG4gICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gdXJsID0gJCgpLmxhenlSdWxlKFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgKGl0ZW0sIGV4dCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB2YXIgeyBnZXRfaXRlbV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIHJldHVybiByZXMud2ViX2NvbnRlbnRfbGluayArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG1wLnVybCArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vIClcXHJcXG4gICAgICAgICAgICAgICAgLy8gfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIC8vIGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICBsZXQgbGlzdF9zaG93X3N0eWxlID0gJzAnXFxyXFxuICAgICAgICBzd2l0Y2ggKGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSAnMic6XFxyXFxuICAgICAgICAgICAgICAgIGxpc3Rfc2hvd19zdHlsZSA9ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpYydcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICBjYXNlICcxJzpcXHJcXG4gICAgICAgICAgICAgICAgbGlzdF9zaG93X3N0eWxlID0gJ21vdmllXzFfbGVmdF9waWMnXFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgbGlzdF9zaG93X3N0eWxlID0gJ2F2YXRhcidcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIHZhciBleHQgPSBnZXRFeHQoaXRlbS5uYW1lKVxcclxcbiAgICAgICAgaWYgKGV4dCAhPSAnIy5qcGcnICYmIGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcyJykge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIC8vIHRpdGxlOiBpdGVtLm5hbWUsXFxyXFxuICAgICAgICAgICAgdGl0bGU6XFxyXFxuICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLmluZGV4T2YoXFxyXFxuICAgICAgICAgICAgICAgICAgICBnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzAnICYmIGdldE15VmFyKCdob21lX2NhdGVnb3J5X2luZGV4JywgJzAnKSA9PSAnMSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW0uc2hhcmVfaWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGl0ZW0uaWRcXHJcXG4gICAgICAgICAgICAgICAgKSAhPSAtMVxcclxcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcihpdGVtLm5hbWUsICcjN0I2OEVFJywgJ3N0cm9uZycpLnJlcGxhY2UoJ+KAmOKAmOKAmeKAmScsICcnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgOiBpdGVtLm5hbWUsXFxyXFxuICAgICAgICAgICAgaW1nOiBpdGVtLmtpbmQgPT0gJ2RyaXZlI2ZvbGRlcicgPyBpdGVtLmljb25fbGluayA6IGl0ZW0udGh1bWJuYWlsX2xpbmssXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6IGxpc3Rfc2hvd19zdHlsZSxcXHJcXG4gICAgICAgICAgICAvLyBjb2xfdHlwZTogZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJykgPT0gJzAnID8gJ2F2YXRhcicgOiAnbW92aWVfMV92ZXJ0aWNhbF9waWMnLFxcclxcbiAgICAgICAgICAgIC8vIGRlc2M6ICfnsonlprnniLFQaWtQYWsnLFxcclxcbiAgICAgICAgICAgIC8vIGNvbF90eXBlOiAnbW92aWVfMScsXFxyXFxuICAgICAgICAgICAgLy8gY29sX3R5cGU6IFxcXCJtb3ZpZV8xX2xlZnRfcGljXFxcIixcXHJcXG4gICAgICAgICAgICB1cmw6IHVybCxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IGxvbmdDbGlja19hcnIsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH0pXFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIGdlbmVyYXRlX2Rvd25sb2FkX2xpc3QocmVzKSB7XFxyXFxuICAgIHZhciB7IGRvd25sb2FkX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgIGxldCBkb3dubG9hZF9jYXRlZ29yeV9pbmRleCA9IGdldE15VmFyKCdkb3dubG9hZF9jYXRlZ29yeV9pbmRleCcsICcwJylcXHJcXG4gICAgc3dpdGNoIChkb3dubG9hZF9jYXRlZ29yeV9pbmRleCkge1xcclxcbiAgICAgICAgY2FzZSAnMCc6XFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICAgICAgZGVzYzogJ+ivt+i+k+WFpeS6keS4i+i9vemTvuaOpSjlj6/mjaLooYzkuIDmrKHmgKfmt7vliqDlpJrkuKrpk77mjqUpJyxcXHJcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0YXJlYScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IC0xLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0OiB0cnVlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdhZGRfZG93bmxvYWRfbGluaycsIGlucHV0KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgICAgICAvLyDpl7TpmpTmoI9cXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmt7vliqAnLFxcclxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgaW5wdXQgPSBnZXRNeVZhcignYWRkX2Rvd25sb2FkX2xpbmsnLCAnJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhciB7IGRvd25sb2FkX2FkZCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRvd25sb2FkX2FkZChpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdkb3dubG9hZF9jYXRlZ29yeV9pbmRleCcsIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5re75Yqg77yM6ZyA6KaB562J5LiA5q615pe26Ze077yM5pyN5Yqh5Zmo5omN6IO95LiL6L295a6M5q+VJ1xcclxcbiAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+a4heepuicsXFxyXFxuICAgICAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIC8vIOW8hOS4quWumuaXtuWZqOS4jeaWreabtOaWsOeKtuaAgVxcclxcbiAgICAgICAgICAgIGxldCB0YXNrX2lkID0gJ2Rvd25sb2FkX3Rhc2tfaWQnXFxyXFxuICAgICAgICAgICAgbGV0IGFjY2Vzc190b2tlbiA9IGdldEl0ZW0oJ2FjY2Vzc190b2tlbicsICcnKVxcclxcbiAgICAgICAgICAgIHJlZ2lzdGVyVGFzayhcXHJcXG4gICAgICAgICAgICAgICAgdGFza19pZCxcXHJcXG4gICAgICAgICAgICAgICAgMTAwMCxcXHJcXG4gICAgICAgICAgICAgICAgJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICh0YXNrX2lkLCBhY2Nlc3NfdG9rZW4pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBkb3dubG9hZF9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEk/cnVsZT3nsonlprnniLFQaWtQYWsnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdG9wX3Rhc2tfdGltZXIgPSB0cnVlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRvd25sb2FkX2xpc3RfcmVzID0gZG93bmxvYWRfbGlzdChhY2Nlc3NfdG9rZW4pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRfbGlzdF9yZXMgPSBkb3dubG9hZF9saXN0X3Jlcy50YXNrc1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZG93bmxvYWRfbGlzdF9yZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvd25sb2FkX2xpc3RfcmVzW2ldLnBoYXNlID09ICdQSEFTRV9UWVBFX1JVTk5JTkcnKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wX3Rhc2tfdGltZXIgPSBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZUl0ZW0oYGRvd25sb2FkX2l0ZW1faWRfJHtpfWAsIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IGAke2Rvd25sb2FkX2xpc3RfcmVzW2ldLm1lc3NhZ2V9KCR7ZG93bmxvYWRfbGlzdF9yZXNbaV0ucHJvZ3Jlc3N9JSlgLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RvcF90YXNrX3RpbWVyKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuUmVnaXN0ZXJUYXNrKHRhc2tfaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRhc2tfaWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW5cXHJcXG4gICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAvLyDmoLnmja5pZOiOt+WPluS7u+WKoei/m+W6pu+8jOeEtuWQjuaPkOWPluWQjeWtl+WSjOi/m+W6pu+8jOaYvuekulxcclxcbiAgICAgICAgICAgIGxldCBkb3dubG9hZF9saXN0X3JlcyA9IGRvd25sb2FkX2xpc3QoKVxcclxcbiAgICAgICAgICAgIGRvd25sb2FkX2xpc3RfcmVzID0gZG93bmxvYWRfbGlzdF9yZXMudGFza3NcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRvd25sb2FkX2xpc3RfcmVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBkb3dubG9hZF9saXN0X3Jlc1tpXS5uYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogZG93bmxvYWRfbGlzdF9yZXNbaV0ubWVzc2FnZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlc2M6IGAke2Rvd25sb2FkX2xpc3RfcmVzW2ldLm1lc3NhZ2V9KCR7ZG93bmxvYWRfbGlzdF9yZXNbaV0ucHJvZ3Jlc3N9JSlgLFxcclxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8gaW1nOiBkb3dubG9hZF9saXN0X3Jlc1tpXS50aHVtYm5haWxfbGluayxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGltZzogJ2h0dHBzOi8vbXlwaWtwYWsuY29tL2Zhdmljb24tMzJ4MzIucG5nJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGBkb3dubG9hZF9pdGVtX2lkXyR7aX1gLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuJC5leHBvcnRzID0ge1xcclxcbiAgICBnZW5lcmF0ZV9saXN0LFxcclxcbiAgICBnZW5lcmF0ZV9kb3dubG9hZF9saXN0LFxcclxcbiAgICBnZXRFeHQsXFxyXFxufVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiRXh0ZW5kXCIsXCJwYXRoXCI6XCJFeHRlbmRcIixcInJ1bGVcIjpcIiQuZXh0ZW5kKHtcXHJcXG4gICAgYXVkaW86IFsnbXAzJywgJ2ZsYWMnLCAnb2dnJywgJ200YScsICd3YXYnLCAnb3B1cyddLFxcclxcbiAgICBtb3ZpZTogWydtcDQnLCAnbWt2JywgJ2F2aScsICdtb3YnLCAncm12YicsICd3ZWJtJywgJ2ZsdicsICdtNHYnLCAnbTN1OCcsICd0cyddLFxcclxcbiAgICBpbWc6IFsnanBnJywgJ3BuZycsICdqcGVnJywgJ2dpZicsICdzdmcnLCAncmF3J10sXFxyXFxuICAgIHR4dDogWyd0eHQnLCAnc3J0JywgJ3N1YicsICdqc29uJ10sXFxyXFxuICAgIC8vIDEuIHN1Ym1pdF91cGRhdGVfaW5mb+epuiAtPiDorr7nva51cGRhdGVfaW5mb+eahHZlcnNpb27jgIFjb250ZW50IC0+IOWIhuS6q+S6keWJqui0tOadvyAtPiDmi7/liLDlsI/nqIvluo/mnIDmlrDniYjmnKzkupHlj6Pku6Qg4oCUPiDorr7nva51cGRhdGVfaW5mb+eahHVybFxcclxcbiAgICAvLyAyLiBzdWJtaXRfdXBkYXRlX2luZm/kuI3nqbogLT4g5o+Q5LqkdXBkYXRlX2luZm9cXHJcXG4gICAgLy8gMy4gc3VtaXRfdXBkYXRlX2luZm/nqbogLT4g5LiN5o+Q5LqkKOm7mOiupOeKtuaAgSlcXHJcXG4gICAgdXBkYXRlX2luZm86IHtcXHJcXG4gICAgICAgIHZlcnNpb246ICcyMDI0MDUyMTIwMTIzNCcsXFxyXFxuICAgICAgICBhZDogJycsXFxyXFxuICAgICAgICBjb250ZW50OiAn6Ieq5Yqo6L+H6aqM6K+B55m75b2V44CB6Ieq5Yqo5Yi35pawdG9rZW7jgIHmvKvnlLvmqKHlvI/kvJjljJYnLFxcclxcbiAgICAgICAgdXJsOiBg5LqRNm9vb29sZS94eHh4eHgvZ3lieTE2Zmo0NTk3bm9wb1xcclxcblxcclxcbuWwj+eoi+W6j++8mueyieWmueeIsVBpa1Bha2Auc3BsaXQoJ1xcXFxuJylbMF0sXFxyXFxuICAgIH0sXFxyXFxufSlcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkRlYnVnXCIsXCJwYXRoXCI6XCJEZWJ1Z1wiLFwicnVsZVwiOlwiZnVuY3Rpb24gc3R5bGVfY29sb3Ioc3RyLCBjb2xvciwgdGhpY2tuZXNzKSB7XFxyXFxuICAgIHN3aXRjaCAodGhpY2tuZXNzKSB7XFxyXFxuICAgICAgICBjYXNlICdzbWFsbCc6XFxyXFxuICAgICAgICAgICAgcmV0dXJuICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cXFwiY29sb3I6JyArIGNvbG9yICsgJ1xcXCI+PHNtYWxsPicgKyBzdHIgKyAnPC9zbWFsbD48L3NwYW4+J1xcclxcblxcclxcbiAgICAgICAgY2FzZSAnc3Ryb25nJzpcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ+KAmOKAmOKAmeKAmTxzcGFuIHN0eWxlPVxcXCJjb2xvcjonICsgY29sb3IgKyAnXFxcIj48c3Ryb25nPicgKyBzdHIgKyAnPC9zdHJvbmc+PC9zcGFuPidcXHJcXG5cXHJcXG4gICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgcmV0dXJuICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cXFwiY29sb3I6JyArIGNvbG9yICsgJ1xcXCI+JyArIHN0ciArICc8L3NwYW4+J1xcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIGRlYnVnX2xvZyhvYmopIHtcXHJcXG4gICAgbGV0IGRlYnVnX2VuYmxlID0gZ2V0SXRlbSgnZGVidWdfZW5hYmxlJywgJzAnKVxcclxcbiAgICBpZiAoZGVidWdfZW5ibGUgPT0gJzEnKSB7XFxyXFxuICAgICAgICAvLyBpZiAodHJ1ZSkge1xcclxcbiAgICAgICAgJC5sb2cob2JqKVxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbiQuZXhwb3J0cyA9IHtcXHJcXG4gICAgc3R5bGVfY29sb3IsXFxyXFxuICAgIGRlYnVnX2xvZyxcXHJcXG59XFxyXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJJbnZpdGVcIixcInBhdGhcIjpcIkludml0ZVwiLFwicnVsZVwiOlwiZXZhbFByaXZhdGVKUygnKzZzRXl2a1BiVzRDcGlNUVBoUFRaK3RxYjRnbWVSWDlnZjZmaEpVQUFoU2QxS3F4MU5xWnkrbmJMbGdua2VvajQwSkwxRVkxM3E1ZXU5czdQWjAxTERaT2Z5ZmRrWWdKQ1l1Q0NxWGZDcC9DOVZpYXpZRDQ0L0VsRUpqdEdNVUc3dmVaajB5bC9EQkgwRWJOQ0w1dE1Ecm5tcUlYRGN2bFNYRUQ4U2dkRUczZUM1TjFOZmoxUFBObTBiNHB2YkdtUmNodWZEYXlTSERqUHRQa0x5ZjlMTzlSUXJhQmxBYWFkRUNDUFg1VGkvU3p4cFlsZDYzdDlwd1pHY3pKVTdxMjlnWWlzK3RIT1RFbDlQWFBXY3RpSVZ1a2FBaEM2YTZ5SHNORktUcUtRa2pVNVZQc2lQSGlnMFQ2YmZBcTJobGV5LzB3VFcyb1U3cXRNd1FJQWlMaEVRRlpVZ3k3ODV5OWdWOGdUZEhCRDNWZ092SW82UENLVDBwc1lFVG41c2hkVHhCN0NjTWZ2YkNGb1lhdGR0cFpMNDJqQ0tQRkI3M3FoQnp0Z1JPV3dtRnZPcDAzTmtiSW9JVkh1WGZNZStJVjhjNlBERHVFZ2NJOFJGQUdYbmZIV1BrUnBXU0pGRUQxMDNDT2JLdjNJRFo2a2J0c0hndHJEVVZYYTlaWXFWekVnbkM5Uk5SclBkVUs1M3Yrbk1uUWcvVjdGWjdZMHQ5Tzk3aEN5WlhndmFXNHVWdWFyMVNtdFNnVHlKQUloeThPUVdsaC9GU1g3eDhVYlJWdTBTTzFMaGZ2MU9ObFZjcFBGazJ0dUdRWkVucXJtZ2ZSSC9FT1lwbkNUZHNTU3pnZ1lIcHNQYmZqNnQzbXVZdjB0eVY2ai9rS2lxcUgxN0NKelZlTFFSVElBYm05Vk8wdTlzYnk2OUZqcUVJSFFDaVZDb1F6STd0eWJ2Wm0zWUJVaTdQZ0F1NjNDVnM5NnJIdWFkV3hPQ21lQndVNzZ5T0lzcTh3YTNoZ3UyL2lJQ0txL0xoQmJRYWd1eDJCSmhrWC8vNFJiL1NIaU1BY3pZRE9SY25Bb0ZLZUVucUczcDA4M3JCbUwvbHA4K05xdFFTc2FhaTBSSG1WWUZvU3Rid09McFF3QU9ZbEp1TVhNYlk4TXpHdWFsRldpdzZ6UWFmcXE2dnhIMWhXWFIzazhzaHJ3SHNSNGx0eWJndVFhS0xSWVpoYzhIR2pqRStNK1pPL1A2cGF1YkNob29sdkZVY2piUFMwaG12R1p2Y3F0SGI4VmNHd0ZLQzhVWjZ3R0kwOUVwWEI3dVZJclltdWdWQndBa2ZxU3FZTkN0VnRHSzhYU0tBM1BJY0hWT0hjQ3JaTGJHdXYyek1IMk5TUktINTVEWXhIRHNTbDZ1V1MxL3NCY3BvaDdramR2b1JuVk9VWVJscnVVRVJ2MUUxemJla2I1WHB4Z3dsdDJUZUdvWVBWVWNZb1hvNUZxUHhuQlZURURSSVEyOGQwTDhiZ0RnbUxVbXptNEdXbnl0SDNNMGNCcVNZWGRydEhwSlU0b2FTUEJXMUE1eTltUVVEUVNSQ1Y2UXJDSVR6RVZVM24rQ0ZvMklsaGMvQWwrSWx4UzFFUWwwZnRaOWtKYkFDVVlGMU10UVcwWjZ3bHIveVV6Zld0TTM1WFVVeG4yOUFsVWlLWHNYbGRMSXQ5RnRRS3JGKyt0ZXFjTnBzTG9WNitNSDFEbGpoVWlTUFZ4djVIZTJ3ZGhhVHlMQ2VVWmRRbEFGZGp1K1kxbXEveFFDZ3ByQ1lra2h5YWFSbG1DRFZ6VE1qUDZGcVVoRUhISktsSEJ2UVNaV1hqUHNGVWVzb2cwd0MxS2Npb2E2RTRRTlJ0akRFTlUvUlhNa3I0Z1JFK2VHRWxpOWFvaFp2bWswTWM4RFZRYjJ6cFFVcHMvSFhkY1JLZnBRMkNDN2lPZGFlNCtuby8zdmxQR3A5b0pvYUg3UUtpZ21GdkpJamFEUmpINFE3UnFxZGR6R2l1S3E2a3RXQjRDR2dhd0RHV0g3RzdrUWliZDYwR1BlaGNMbEFXUTZrL3dIZkxCRDEyUlVvbTBEeHpWelFwSVlOVVRralBnc1h4ekVia3lPYUptNmhQSzFRVmpqVktnZmFWU29KRVFJZjdlTEk4cC9iODI5bUlzVWJoVmZxQ0w2WWZxcHNrZ1RrdjNWM2pYZmlVeTRlT2hodklqMCtxYTdlMFd4eWxkWnlpb2d6eXJtQlBxbnZkMEU0QW81dmdXTitxZlNqZllZRDlkMFhRNmU3eFpkMDNIaHBjWjBoMk5jZGVxUkZDVGdMeEpLdjlZNldLRUEybWVYQ0d0bk5ISER4WVVLaUJ5VWRnS0dOZkFJMFMrS2F6TUpOWmt0d0Q1SVN4TmhFeE9qWWE3R3l4bTFsYUZJUlRuMG1FOEJxcnprektoc3p0eUZQbXBOci9FbXdjVll6VGxFN3FLbUF6ODBYMS9MbWdjL1Z2eWFBRTRqL0F4WmZIaUdxTmVqSjRaaHdRWnJXVlgva29ORXJzTzBFZXdLRUhMMU9YODZaSUpDdmZKaS9jd0dXL3ZqdTRsdmk1bEFTVkNYTzlObitSYVJsVnI4VGpkT2tZMC9uQVBFNlN0aTNRYTNzNHl4N0oyY09wYzQ1S2N5VWNlL2hCMlI2Rll6cVl6MnM3RWpMT3duTnU0Y3BqR1IweHYrTGlUOEdPMXo4RHlZb1NZSlhCTEIzZHpDZVpzeGErYVZmK2o0ZS9FQjlzL0hvbGY0dlpQTERHK2NaUUVDYk1UYUcvWmhIVG44MktnY2NTTFF5blQrazY0MEt2M3pvblF4ZGx0cHE0TURZSVpSU3crQnBueCszTTB6dE1tLy8wQTNiOE5UeFBKTktLRmY0MEUyQkhKcTJzUStXRGxxbzVNSjdPUDVSekc4REI0WFdEekNnYlY4S2RKZWU3RDUzMkkwanBGM1BWWmlwQ05WYUFXQ0pvbDhrcldPNXZydlNleVlza1c1d0hRanFJZ1dGUHgxVnBFaVR0YXM3a25OTjlOalIyNWdrdTEwc2J5MHB2STk0bDRzM2xiZHdDUVB4NG5UTWQ1TG5IR0oxeEtsOWgrc1A0eUQwMkVjYVVZOTVzUDJSY1ZvczFVZ2daZXVMMlRQL2sxZU1Yc3pDRFJmQng5bjFlNmpGWk5jS3I3dU1hV0J0d1F2ZFpSUFRoQkNPOVY4T1oxamhRLzBMdHhnT0lzbmovZ0pjVjF4NGZEQXN0UjBHclB2YkpVR1k0OW5BWENXNnVxcG5RV3lOOVZtcTFQOWZvSFIrSUViajRrNkxWZndLemkxOVdYL1ZHV0dwdmJPYjBjZlQ1dDhYSHlIdGdHRFRRQXl6cHlJb1ptdFpXclJMb1FuMk1qSUpDS3lUVFpTb05nRDRMTnVydWV1ZnZoemRjTFNYN0NmbWdKZW9ncURMdFcxMFdJd0FLUUZ1UmZhQm1HdGNZY0lEOG5Wd0R0WTN5Z1pDY2NvQXJCZzdhbzFadjN5UGVKZUxONVczY0FrRDhlSjB6SGVUNnUzUDhxcitVR3J5aXRIQURHbWZiOTQxY2U0QTZYS0ZrZzg1bnJXTDNiblY1ZzYwY2Jxcm9teTBycFpNcHpJazlSQ01iWllhWmRyVS84bmFhK2I5VlY3dEVsRC9TRklGcDUyb29Lb2Y4d00vaURGL1FVazNUajlKUFpIZ1p4bDFocE1NWnIyaFR3OSs0ZzFsaVVIY3c2YmhlZVFReE5IUDF2a2dVbWhGQk1iOTdxRjA1Rk9XdjVndWU3L1dWSGlwcHQxR29RVHg1TVkzcEhiMCtBdmpEMS9DOWxENVpuQTQ2TFBydzQ5anJKWjBRemlWQnRlcnNJbndIajNDTGxRckVGVDZvOEZiYVRBOTZaenhtdXljbUxwSmI2VUhUMWk0UlhPaW1MUTZVZzkycHErTTJiTFByTms5T1BQTGlKc3V2Nm5lcmYwSm4rTy9Za3BCYldJSlhRR3ZVb3BLUHJzNkg0QnpkY3VveGMxMW5vdWZnK1JTb3h4U1N6aFFYWnpHODFuQUFSbXhlMDRDc1doMFF0ZlY4bnk4ZkNsOHljMkl1SDdxUDBhWjBxT1owVWJlVGx6bUdVdkcxbTB1WXdvRlBhWVU4Wmc0SXloS29aK0hXNTVMWkRkM0xxWlA1bjlybUVGa1Z3Zkl4NWw2MHBpendGa0RtVVVMOFgrb21lbEhTRjJ6OGJuMUxCdnh4T3VhN2d2Y1c2VHhud1FKWVJ1YWRSN0NLd1dtRWpENlJpSzJYUHUxR0tKUXp2b3pxdFZJVnNjQlovYzlCalhzSHZ3OWJwOStMSSttSjNrTmdJaVA4cFExN2x4MlZQWXl2STZHUmo2YkFKME01UjYxK3Y2L3ZKaDArZFdzMkJiblJLVjg1NnNEV3NCRkVaNFBwNXAwR3hmc3lGcXFrL2FGekVhdWFndkl3S3ExWGFiNVQxSmFFcXozOGRSSEpsY25Yb1hQN0J6akFuQWRDT29pQllVL0hWV2tTSk8xcXpqV2RWVm94M3lQeWNoa2JBWjg3OWh4SnNualFkamVrOWxmOFVwN3pQcXFOZVkzSWY2L3dsNmlZMzMvZjVNcVRIZzNkeTZtVCtaL2E1aEJaRmNIeU1lYmM4U3BDdWhYOElHbkpTb1A0L1pqS1kwTStFUDZOZDdPb242Mm1HOXJlN1Z0NFN5UE9xaUJLa1dFSnFzVWpFd01nTWFINE8rbjZvZjJxSExEaDFDRVVTbXpZUjhsTlkzUEsrSHVBZDltUjlNdXJmWDVWZnRZQTA5TXlXSGpmLzdHWm5qNzNJWnArL0pOY0l2RDNmdjY4UThtend5V3Z0NW5DYlNUN2g0K2tTKzhtSFQ1MWF6WUZ1ZEVwWHpucXdOWXM2dnhLK08yNEZFbEJETW92VHpUMG9wUmJCalE5N3VXeDYyUW9BY29sQlVOS2RwWVg1WkZwdjNpQXpneW81TkxwdUY1NUJERTBjL1crU0JTYUVVRXhLUDY5Z1ovTjMrNy9yVGZwQ3M1RFdoQzAwdm1CbmJPbkw4eVU2cDBpOVMyaTM0Tk5XbHEyQmhZSlZJY29OZXFqTUlmSkxIbHB5MVBNMy9IOTkyWGltOFFWUHFqd1Z0cE1EM3BuUEdhN0p5WXExd095K0pBWGlES1cxN2s2OUVEUzQycU9OQWF3MkxOS3NuRHFMb25ySURLR1E0WDZLUlJpT3lzNzlSNUQ5cjduUmxCQWRTWlUxOFdnR0dsMnZ6elB2c3lMRFhDVU90M2pIeFlZM0VIejZIZzFUY080QkJBUHZTZVlMaXdqWHlIZmt4bzBmUkpDdnArMU83UFV2N0xVbzUwWDVDMFo4aVNwWnJ2aDY5OFREb2RkYS9ndU16eXV6WTk1Z2FxNEdzdm1kRkczazVjNWhsTHh0WnRMbU1LQmJaS3dETVMyZFNMN0lRZTJLY2o2Z0EzZHk2bVQrWi9hNWhCWkZjSHlNZVp3THdSY0txQzNGRDdBYjF2a3Exb3A1MFpRUUhVbVZOZkZvQmhwZHI4OHp5Z1NYRUpTSkdRdmt0RVh4TWtLWGlHOWxSdk9WYmFsSDFBOUY1ci9KTWxSU20vdWQxeDh2eTNHcUd1R2lpN3VxaVdjejFZeGFubk00QlpVU0NHdFJnQWdqcFRWN2Q1bENtZkdKbzVHcU9RQVVGQm5yS0k5R1YzSnpuRU9Fb3IxRkhlNk9GOGd3MEtUWU92bnlVMXIzR04vWFdaR1RpT1JOSXNZdUtWV0l0WmVNYjlFbXRVWDAzS0FVZ0lKZTRHUC9US2taUCtGTjdCOUFGVExLY0luRncvRS9mejhmL1laUDRvSWhYOUhTenB3ZHU1UkZhM0pGalY3MmNRZC9nZFNza1pwbkQrdEU2OEVaemR2QmZYWSt5RXp5SW1Cd1U1ZmtobXk2Wk1HY1o4R0pmM1BNckZURDVJMlNqbStHdThhZmQxZjFmSUErMlJidUtxdEVqQ2s0RDFBSXRydEtJTzFxVExaVXBhcWRnVGRPaW50eHJJaW51S3ZlcVBTVGIvOEpLMmNOZ3pJRExOejdaTEIvM0JtRU1ncjR1N0tScHhYTWJid2RHR0xGYm9Jdk1hc1VSRE4zRndqdzRBYzdIbitmenFpVW9kL2JvTFJtMDlTOGZTR2JzR0krcG9zOUI3SU4xT2x4YkcySXYzZnB1b1ltYmM0R01CcDhHM0xjTFNMdVRTb0xnalJzR3c0bWZmbnBNR25oalhvWUFqOFN2V01KZVdSZGdHekNabjcrL1hYNnZHZEJvMHlvTEdvMEVCSW93VzFMWGNPS0I5SkNRS1lCQ0I3eVU3R09YNTVMc2xFendNaTYybVVVOGREK255YytNNEpGbkplVkVCbWIvUGl2N3NQbmZZalNPa1hjOVZtS2tJMVZvQllJbWlYeVN0WTdtK3U5SjdKaXlSYkNzZkkzTmxVM3BDMWRVSEJ6MSs3dEQzeXFVWnpReUlNVUJBMW8vbzVZMVpQVEdhelo1UHNSdXplRUtraFdlUGdLRnFsYjROQVQ3dCtiQ0tkSHdPY1FqSkpTTGRpTFBhVVU0aldvYVI0K0F5cHU3Wm93TGozR0ZUVnc3WWQxcTBvcVFoSEJNeWFlU3VqRHdFODZ1WGdpQ3JhdGpwdTZHQkNjWThpa05JbHFmWS93S2xZNVo0bmFLRW9VVWdURTd6YkUxekRwTy84Uk44ZURSN3VKZ0xSUm8wdjNiemI2WWpObTNUNFc5eU0wNVN6K1hJNittY0FyUGg4Zm5CbDFyMDJQOENwV09XZUoyaWhLRkZJRXhPODI5WCs3MjczU2xMSk9LSVU4L1R4T2JSZFJDOGkyZitWdGovNEpadldETEZXNFRrT3hIQ3Byb05LUXBYM2l4VUVtMjV1MzBjbzdxV1EyNjhsQkJ0ZGJ2VUwrRGJuZmZTVGxxV1psanhQditlN1Zia2ZZSm5xY2lNUk9YTHB5MlB2clVvbHEyb2Y4RVJDWVA2OHVRb04xSitQU1RFMFhiMmlIQ2pNV2tkTW9pK2ttUk93STlxbE5sSjdpd0lnM1JHS01hcUdza3FDWVBya0hON2x6SGg5M3FEVE5VTTl1NnQ3YXpCOTREVEdGMndReXl2TFNOWldjL3NJbi92V1NBSFU5bXFhcG93blc3cFJ2ZUZncWRYdUhxZk94ZU1wQnNoS2lQT2IyRHIyY3JSQnl5dkxTTlpXYy9zSW4vdldTQUhVOWl3cDhuNTZVeXVDV0p5N2RwalZyZFJMSFBJdkNtamVrUkxIZ28yWFNqemRJc08xRUF6ZXFFTk85UWR0WHRHR0lFUTZORkdtcktqMjBHVGhLZktyQndpL1VEMnNKa01hY2xvRWhSV2p4QlZadXBhVThTNFpPaGltbWtjcmZxN2k2Q0E3dVd6alRkOG8zb2xnbFpiOGhzUjR2SDN0NjhjckZtQ0trMUZFYkVycnFqallQYmF5ekJORXM5b2Ircm9hTGc1ZTNCWk1pMytqOHFNT0VFMUk1SlRSY2tMK0dYdjNMQ2p1eWhnMVR5NGhVeSttWUdPZDVJR3poTjJyYVdFREt5aGJEMFNNLzNGemEzdHVxcVE4QkV3TjNjdXBrL21mMnVZUVdSWEI4akhtYTRxY0pRYno4VW1KczAwSnlGOHIxRUVCakJieXJUWkdQajRCN0FxVVZadkVGVDZvOEZiYVRBOTZaenhtdXljbVBIS1g1dEFGbUduKzlnbjltZTY2MStWM25UTVZYdlBMajNNNHNqaE1TMFB5V3ZYZUVIS2xDU2JLYkxscGFZc3FTQUpjaTJTbSs3Y0haNzBpUXY4aXZPcHMvOURjSjVCNlg0WjdINXVlK3RSUVVHZXNvajBaWGNuT2NRNFNpdlVVT3FsYS92MUFCTDVMbkVLcXVMQVZEbHpiL0trVTFvNVR0eExZblIxZW9KdWNCMEk2aUlGaFQ4ZFZhUklrN1dyTytJeTNZcm9pb2R1bUgvZHd4MkhQa0FwTXVOUHV3SHM2azNDeUZuZ2FxQWpXSUcvVU9pdGhxQ3Jad1hvNW1jNzRVc1FHVDA2aVI2SUhqUTVQbmFRWUt1bUlwNmFnSWdnYjU1bTNadk5DdHJDU1lOZmUra2t2UVBrMTI3bU5ObzJxTzAyZzBVTWJSUlc5Vy84ZjdFUmdTSWNycE95eG5BL0VDME1kVVY5djdkQ2lFdWVDYXM1QmR3S0pFRHhnd2l0bVcxVjI2b2lsRll5WEZaK3Y3RUhFOEptc2JvQ1Zoenl6dWRLV0dHdnoyUERMSzh0STFsWnord2lmKzlaSUFkVDJ1TmpmMVlzNk9zR1BGQWpCUktpVFhhQ1ZFUmd1akoxeXJwbzBFeXppK2c4YnZ6dURWNHZEcXExdDVNNStyYitnbXB1YW5maW5vSkpCRWpodkpFRUhxWVoyaFp6OXBhQUE5NjV5UkNSVDZGVEtDMEVHVjVxbVE4emdmRDIyRjNSRWVDaWkrNXBWeVlzSjQrbzhva2lzeHdTL3NrVDdPOTZVZWpQeHBCMy9JQ0NHZG9XYy9hV2dBUGV1Y2tRa1UraFVudkZwWStsamRYZjlURUh1K2xXUHFaSitBWmNKSFgxZ2ZON0RjYkcxUDMzOWJUc25QR3hMeEROSEhIWnRHMjVoSVVSUGhEZzFDZjNRUkU1UWxJM0EyczZVTXZzTy9QT3c1Q2NyNzlzSnppZjJ6dVI4U0hrWWY2WlhnVGZ2dlducUlidlN3MzlZLzhLc2NnQVNBRjMwUkZieU1Ua2puNkxETEZMUjlPZEE4Z0JXUG1Hd0RPQmQ2aCtIbTMxMXpYQTdDd1h6WVNicEVBeFZFdDc3L0pZWDR3ZlRPNlBqUm42cUpVUE1QZGRTWU54ZkpLMURBeEhhVjlueDIzazkrcUpiUVlsUXJieVl5TkkvZ2x0eEVVMFg4VWpSMnVJcE1hd3RHSnArKzJOU1BKVjVJVzFjSE5ab1g1VFJXTGJNSVlrcEdUakhWNmd6eVIvL3N4d2Y4cWF2L2s1NWdKNnZQb3hHZnh1WVgvaVFwcHZXeFJLVmVEUEp2dVU3YmQyUUdtb25BMU1iak1uS0MwOUxXZjhlVklSVXhQR1Q1U2NnWXA5QmhyNEZvN1BCWFhTUWwrdHIyT0FFMmZybGtzUDQvVExJMnBsNlZhVW4yRU1jcFR3Szc4N2MxOVFjZ2FFOHNMTGFtVEhsNHBiY1dIRk0vK1RWNHhlek1JTkY4SEgyZlY3cWZ3S3ppMTlXWC9WR1dHcHZiT2IwY1NkVUpPZyszV3ZMWFJrV2NwWmFsZzc1cWlLOEtmNlV0b2x6M2dkNTZyVDVsdXdZbEpYNHozNXpIMFh6YjR4a2ZvUkFVQU9OOS9RS1BuUTZUV3M0OVh1bFhCRXhkNHJkY2YyWTg1cVYwOEZwMjRkQStVSnZjOG4vVlVTRHRENjUwTmFHT0p6WkF1d3VuVjdCampPZU5SSkZVWkRrTU5pTENqWVlaS0toOEtVejNkN2ZROForNUw0cDhqcDRrOXVYOSsvcE5ta1RMeE5pZTBoYUdQdlJ3cFZuNlZ5N0t2NjN1K0NLWlpaNkV0aE1OU1l3eGs3Wm41WXdaWUUyRDBvK01wRWwzVzJ6Q0IvMjkvUlhhdGZNT0pOUzYvbW1yWEhpNFEyZ1JLNjJ2aHc1L3B2ZmJxQW12SnJSMFQyUUNrRTRET1RoUkRBWHRvT3NKYWNiRzlsc0JiTmh4MDRYNDJSNmd0L3dzWEVxeERLeHBOc0NMK3RFU1lYMW9HcHlSWGdFN0VFRklxcitYWGI0NGNDMStIR1N3Zk0rTVlRTjVLdTgxditWeWdEYVZlYXZUaGZLcjRlSDFJL3JvYjRGZ2dvT2VLaXRJUzBWNThzQXJtSDJwbUwzbkdhK0I5NjNoZWFaSnBudCtiV3Y0VDliWDFFcEdEdHdmOW03ZTdSR0Q1ai9XUHUzUWx0Nm1hbXBHOGZNLzgzeDZXMHpyaGlUMjFvaGE0UEdIQ3g5QVU4TEtLVHNYREdjSVdjbVlJZnpLRkhhcTVBbUpWZnk1MzBSVFViNFh2NjZoOTMzT0xUSXhCaUl2a1lxSU9FMEV4L3VWcGthN1h4THE0RTQra09JQnVBYTlxZTFUZ0FNbk5lNmpVck9UdHFuemVlbFhCRXhkNHJkY2YyWTg1cVYwOEZwYTMyY1AzNmJ6Uk5VNVI1a0d0SkhXckptYmN3WTZ4dkkzclY4Wk1wbklXYjVrQno3cWE4Zkk1WUNFMFZUa05iVm9jSWZvZjZRUmlxUlBmVWwvWmZFbUpwRE14YU9UUlY5OWwyNEQ1RExrd1lnNkNrdGJ3VEIxS1lEQzJVY2IrTlp5eXZMU05aV2Mvc0luL3ZXU0FIVTloUDFTa21JNWJZQmw3UkduSitXN1NiTEs4dEkxbFp6K3dpZis5WklBZFQyQ2U1UDlGYkJoR0diUk40dHFyQ0ZnU3VIUzdhZnBWQmRYRkhrMWZob3NaM0ZHNFliK0FYR0pPVXMrK1FNaXcrVGR2Skd0eXdham1HRmpvUmwyU2lkdDNuWFBLK1YzNDVxaW5OdU81SjUxbkhMSzh0STFsWnord2lmKzlaSUFkVDI3YmtJckpHaTMzY29qUFpSZUpuNGk4c3J5MGpXVm5QN0NKLzcxa2dCMVBiaUhCN0djZURXdW1mbVJ1b1NvTERUa0pGMDc2Mk1UNVY0YmVzMmViZmJLUjd4Q2xPRkdWSWo5MkdFKzVQcUNMdDY3YnFxWm1pMW1HWE1uQXBQQkgyVzRxR0Z2bCtlMHBiWGVFV250RDcvUDhzcnkwaldWblA3Q0ovNzFrZ0IxUGJFK0l5RDRkK0J6WHRMT3dFWk5EQXZuaCtZb0VHcXk1alQzR3d4Tjg4bVJ5UmNvcWRaYVYrazh4QkI0V29IMW92TEs4dEkxbFp6K3dpZis5WklBZFQybzFYZ2JvUWt1a25xc3FENGVVWnRFd1Z6VHkrcS9JdW01MjN2a0NTbURBUCtCZ01OVytNR3VaaFN6U0MvOVNOUzVUVmFkSzF3T1lPcG91U3VUV2JaLzF0VmR1cUlwUldNbHhXZnIreEJ4UEFvNnlxdUpCTnBtQndJMmpjWElaTkt4ZVhIenBCdmJDeGROOU9RVmtGTTZSb3dNNG9lNG1CZ2xQNjMra3BSWUtNUTdiYXlvYnN0TXRvZlJIdWlQdmpYMllhYUE4b3p1MjM3a1BoWnczNXFHdGkyTlk3WnJ4ekZFS0ZEUnJILzFBbkxLOHRJMWxaeit3aWYrOVpJQWRUMkhvZEJ2VVNwRlYrRWtQSWEyRFMzZGJ3aUp5VGRqckVGL1V6Y0V0R2V3aHMrZE11MUdPSzA4TU9xMGlua2VkanlVOEdlc3AwU3hPem5lMkZ6YUlaTitxbGV5Q0NyYVVoRVNLd3p4OHdUWnkzMCtiZkZ4OGg3WUJnMDBBTXM2Y2lLaWNMdDlLVDVERkhvdkkxN3lBVUE3aVl4TEpqcFh5MSs4azViZ1ozay9NYU1OWDlrM29KUXVoQ09iMSt5NzFNNHpPSmJNLy9DNTU0aDgzKzJBN0h0a2xVOHBTcmM3RXg5Z1NOQlpFckdXMWJVN1lJUW5haGhveTU5WDAxUjB0QkZkSmppNnR3K2gzaGFNSTdrTU04WGNqOE1xVkk1eXRpN295RnNUMW5UNEd6MGg5cUhpWnVsanQrRzY3VWk4TEFJTis3QVQrVGsxUy81R3JuOWc3aW5wWjIzQzJtbHE0MGJiK0NZeFhFeU4rRUtKS3hwRDl5a3hMK09wSmhqMXRYajkwTXpqQUVocTl6Yk9yeW1FNWI2ZHBrWHZJT3Y3U0NOLzVMY0piOFhNbG5HdHFaSXM3cENUSEJKSXRnNlI1Z1RJNGM2ZFRuUWxFbEZ4KzV0MUdocTFTemJMUXdSVFVacHNyb25sWWY5aEhldURrMXpyZlFIN2N3V1NwUy9jSWkrZGlpclE1RWxUTXRCNEw5VU9NQUZkTEZYaWFySG16NkpJQzN0amx5VXZiOG01a1YyNjkzdHBSeVRhc09ub3ozUnR2V1dPZ1NzOTRnVDRpdk0yNDhCMGwxQUtadFhOS3daclEyQ1VoaXJMRTIzYXdsWm12TzBTaWFuaHk3cGo2YVFJd28zRUJieGhRNm83RWdQc2xiWkxBamlOeGloN0tRVWpOdUpQQkwwcGhKRVZDbWZFRnk3SEluYXhWWHFONHZQN3MvUk5nVFU3Ti9VOTVuZlExTlI1QXd5RmptcnBRcHpGRTlWcmxiaWhiaTJSMHdkRU14ZXYxOGU3SkZ6SHRNcGJndlVvbGwrMlNpT0doT2J5dlBSTk9ya08wWERFWVZjMUpUa1k3bU0vcW1zOHhPRysvTWloL3dUalBYcWMxV2pLeDA1NExNY1JjLzdwMDNoUGR1bFZCVlRJSGF4MWVSTFNqR1ZWY0hPdnBLQ3VoekVPdFBtbExpU3RsYVJyblZReTR6bVRXVUdNZDljaFhMVWtTbzNhTnRVY2ZqeW1aVCtsaUVlQlI4ZnQyTldUdEp1UWdKSzhkRng3WVRUalBPdVlNUnNZUXBkTS80TnhSWkdoZ2Z0UTFkelRQNnUvYXh1UXppRTkrTzA4dmtVOHBVWE5md1cxSjNMTWtTRHZYanFtQjdsSjJXWjdDUGYzT1MxbGc1VXZPbjB2ckQwQUJQOFZJZHRFaDFrMXBqbCtldVFpRUozQTF1U24xMUdTenAyeXppUGxTTkYyU0tYclNqOGtzZzBRN0JTWlB3WFRuV2g5VDRBNDh6aEs2czc1bDgyb1pibERoSElPNTN0SGxzbUQyNmhKRWszNEp3V3hoN3c5TG9kSDNjclg0TTJCK3I1V3grcHh6Y21rdDBUMUYxd2ZRWWxJYlVzMko4OURMVkNvcXZzSlU0QkNZb1Z0T25adHdwSGE0aVJqV0w1YjU5ejQyY0pxNzVuQ0d1Wk4wRWxBSW5FUjNSb0FwcTlqR0N0d3V6VmZPTFMzMmtkRGRXNThCZ09jQVRCVzdPR1kzRTh2U3hJZXFFNW11S2h6dDd2WW9WQ3J0VTRVSlp5VHdSZmVkN2Y3Q3o3TTlJMVVsd2ovbDZHN29UZGt0Q1BIVWhZWkRMMDF2dFQwdzVvRHIycmViVnBFWkk3cExGblB2VFU4U21JWmhXVnNKeGJqckloQytiVWF6SnpqYVJkeHhtUGFFbVcxUFl1UEVDMk9RUURxYTErS0piSWdSVHF2b0JTSldISW5ZOTNaVFJYV2t3QmFzTWVDNkJ5LzR3T1QzMTJycEdCVU1haHFZRER2d2duMmdub0Nsa3pOeWE5THJ1VEo1TUhKaFAwNWVLUGVDSnFCbm9sQldmVHlmQ2dnWXhYUGJTWFBESU9uWlhCV2hPbVc5eUlPeFRvUFFPSDNqV0wrNitTaThJT3ROWkVpdVVzenhjUnNBaEJCNnNwMzBqVnhXcFJPK3Y3VFJBMEFMTGhXOGNmT1Z0SW5aS3p3TWRvN0JkUGU4NGdFMFFqUEQrbGVEYXI1aG5FaFVVc0dpa3AwNGtOQU1SSHJzc09lQ2FLZVBjQ0FMRTRkSXljZ0d4am1EZnY2ckE4R0JCUHVXcmlIYi9GS1N3RjhzNnpobjMxUXFhbVlHVEFNUlBxamxoZnFLaFhtUDlWS0hEYVdxZUgzaXp5NC9jMUxzVCtlYm96d2JWaGVUY3oydGJIR09aakVKR21BKzlwdzZhLzgyVzBoQ2ppZ1gzRGxIcS85anp6amkzdmp1OFBDdWN1S1I2Nnc1V0dod1AxRE5RRjgrRjBENEU4ZDEwTHlicXNmZTV6S3hoaThEaVFJVnFjVG1tK3cwTmkyTzUrUG1pbnpneEEzbkYyckorZkxMTmJjL0ZzRlJQY3lWVWdQd3lsS1YzRUlZR3FuQ01Jdnd6dEpYVlpoeXVQUGFhZE9mSWlkRWJjVFpTazFCdzNtQjV6QUl1RXk2ZWc3ZExjMVNNYzlmU05oNzhiZ1A1a2RkelBDbWlaSlo0dnF6aDN3NXBjY3ErUktabHNQZ0E4YmJ1cmd2VkZMWE4rQ0UvdWZuVUJNTytDMGcrRzFXMVlDVzFaYUxsUENGdDljc3NNVDRVWlJPdTB6ZTMyTTFjakluMUVISGprdmNyc2t3dXJ0RnNGSllxWnR2NEhZeU9xZUVkV0VuMUJzNlJqY1BwVW5FVGx3WmVZNTBWZWVxbThVdkpuS2h3MXFOdEo4MkFkOUFpQmlPc2tDL0ZiYSt4Z0U5YklEeWdRZVdEQThlNW9yVkhqc3RaS0tPK3F4VDRYTXFJRkdkVmF0QU10Y24wcmI4dURWWEkzcDhtQUdpQmhjRC9JSWRMenRsQTZEVDBsVkEyY0lHaWpCc3VYRGdmaFh5dzg3b1d2bGZ5SzNvQmdXWjZtRWozdXhEeWdHWFhuVU9pZk1vTVl6bGJGYTZmVGhHam0rWm9tMk9RTjFsMXN2bHptYWM4eVRmeGY4T0dqTHRHbUY3SW5SMldGNkljZEUxNDJNU2dhVGVTQW9rR2ZaQ2VtbkU5TW5ZdEl3azZNMVp2TUd1RDNhUVltckYwd0ljVmRZQnRPZkxHM1JRbE5XTHNOTHZUVnhqbkYyZnBBMjViK0VTbzdMdTcrT2ZmZVBTdXp5TXV0WDZ5alZSbDU3dWlHdHczd3Q1WjR6TEhZUTJvMjFSbTdCL2FQS0lQb0xsTzdLSEpBSFloTkdsR0ZOekJYVmNGWlVQV2lsNlRNbE90bG13NDQ2UlNQbXFmY2xQQ3ozaTZKOHUzVDEzY3J3RVEvTWlZMWJxNjRiTmZPTlhPcHVMUW5ONDhvbllGM0pzTGY3Zm1EeHFVdUJHL1dSVmhOakZaT0NZQTlFYUZxOThzVEdrZFVVUVQycWhFMzh5OXFrcWtGeFNNeHJHb3Y0cnlhM3J3TmFjSm9uaUZ0Smw4R0JyUXlzcVVkenVDRExnc01rajErSnFSNC9SSm15azRuYlhKSFZUR0o0ZnJvMFZqdXdKbnVzU1NSL081VTVqYWdFSCs3a3Z0U3d5eDVNL2tUck9NSFhoTm84S1FoalJab1RhTUM1b0p1MVBpYlpDZkhpc21ycUZxdmR1eEpmUlFGUmlBZjgwTzlZNzQrdVJiU21pcWY2Zlo4VXlZU014SnR3ejI0WjdHRlNpeEkxTmtjYk1mNHcxdkt5ZW45OEdhTFdLcHdudFM2MEVJRER6RjRCSWRHODlLYmdQdjZsTmRQajhFQklqR1M3eTJ0RDVuTWJ4MjBvaHA3SmhralpVbjVxbHlvME1CTmYvNWNFeGloVFg4RDdDa3k3ei9QUGNtR0dkZSsvVjA4c0V6M0E0MXR4aWszcmJrRXg4V0NBcU44a3c1bGRXQSt6TERGM1Z0RjdDZVd4bjBYcmJHSktyQU1LNXh2NVlrZU00RkFKL3NOSkh6MldwUzlzeElKSmtzbkJnTlhSQjFPUFprTUJPbzRUYXlKdjI4YTB0MDhWZUFNbGhqY3gyN0I2QkI2WG9GOFRsSDhpeTM5UnRZQk82dEFUWE1MWnNUd3pGK2FHeGo2bGhBQXdpb0swYjZZa2Y3aXpPTFJ1UUlXd0tycHFVUDVLbzBiVktROWZQSFpiaUZSTzJPQ2NEbzE5dTZZdUZZeWtsQlJ0WVZ6Z3h3Mm9aZHlPbnM4T0dsMEtEOEE4QUF2amgxRExyNEMxRTlvSEhYWi9rTXpiZ3Y1TkM3Yld4b3U1b1E0VUpIYUV5RVdTT3lmWXlBNFJWeFY1NUNjcjNudkM5eldjQ3E2M0lNZ0Y1T2lmOS9nWThwTFpCQjI3WEcyTktOeTZhU2Z4cHJaMUhVektHUTdaSHVGN0tORmFRZlE4dGp1THV1V0JXSEdOemY5VFVOQ2hTMjcrUW0vRitkNm1vb1JxMEc5MEpNWFdzTU9Ga2N0Z01GK0ZPN0xxRWdEMm5HQnh1WitTY2g3NStuQUdpc3UydGNjakRMRnJ4SkRwNm4wekZoM1huT1NudnBUQjJXSkhFZlYxMEV2NjRCSWpjNUx1Znp2V1NKSEtsNUd6Mk5ybGNUbHk1bkJIWE1BMWtpdWJ3bzFMK2VuSkxVUnZWWDlDRUxJZ3BibElzRTk2YUFGbTVrZkt0cnRDaGF0SWxSY0JYTlBMNnI4aTZibmJlK1FKS1lNQXlxQTF1TCtNY1BZQ09RYUtFdVNrWTdBMmYxYURYVU1leHFCUi9SNjhLQTN0YytudS9ld3pXOExTLzNSc2hCSUlnZ05KWWxUTklkb1hTdU9PYkh2YTFiVEZ6Q3FoeFFzRDUwd0U4RmdyUnV0R0NsNVJHeUdKNjVBeG1jL1lUbzJzSkhYSERsU29RUk05NW81NnNMeTUyakU5RHQ4TUdQcmEvUnQzOVhFRlZURkxwNUFicnJ2YVpvK2EwYUV1dE14V1NGWGtXYUYxeGZqZksrUGE2YUhwS244NFpHZlBFUkFmdTRBT3JqbmJCei83RmE3b3ZnR21kU2lmSkZvQWZDOWFTd2l1TCs5SFFRM252eXo4aVBxZ3NpQ29pRldWZ2wwdWxiRytYQWl1aXc0YTg0dXRZWDRaN3NDYUFuSmNmT0hSd1VYSWJjQStRaWNyanhGK1NKTm9TSGJ0VCtPTDNac24vRG8zeGdLb0daQjU3QnBtc2lLSm9OaThqUVNFSzRybHI5QStod0t6b3N3QUZtdFRnQlMzWVlpMnh4N0VYYzRIN0FLUlI1ZFV2UWRKNU1jZ1VmVEtGdHQxY2loT1A0cFpEQkdzZjBmS1ZuamVNeDFvZFZBTktteGhEVTRDMWYvRC9JMFovRDQvT3U0WXpEb0hmSDJQSGUxQ1h3bEYzMFRIYnkxK01rK29rR0xwUWpSaG1rWmJNZHJIUVorWStuZk9KclI2UlJZYko5dFdaWHE0VURlK2VvalVRTHozNXN4eEtFVEQzNkI2T05zd0dmUE1NZ2FFcU9lUmtlTmRFSFVTVnBHczBkNEt2Y0VLK1VNNVBtcWx6OGcxaGs2VzdVZ01ic3VvZWdydDhNTS9HZjVkOE5tWmg1SkUzOVAzV1pHSFBrMDIvS200RnBkQkErMTlmVmFPT1VkK2l4L0lxTGJtL044ODI2T1d2ZXp0THZaQzV4NFdjcVhUTEE1MFN0NDNkdnFzWWE0cVFrMzRyUHhYazZCcWJRYWc3cDJ3blc0NFVxemlaS3NBb0VENUNldk1NZS9rb080OVJFRzV6YkRFM2YxNmpsaUwyeDFYTnZrOWl5cllOQmsrSzlMdklkZ2MwNVI2dmFjZkhNS25hcVJNbVJKV1htdjFUZHpuMkhhaFVyaGVWb2pXYm44TmllZUtHTzhIU25rWEpRT3diVDdOa2I0c0Y0MWlZZ1BpL0oxcGpxV204V3R0VWsybUhWeEdneFVabEFydFBMaHpwUXkrdzc4ODdEa0p5dnYyd25PSnpZNE83dml6TW9ScGszSFVveSs3aWRkSWxtM1RmdVNUL2RtSiszTGlYakhKOVRYT25DSVJzTmFFcERJV1RnWWM0M25CMStOVW9ucVdOS2ErcFRFZWwwcWI0RnFHVjl0TVhGVzU3Mm9nMlhFeXl2TFNOWldjL3NJbi92V1NBSFU5Zy91WTR4M0JXWEEvOERiT2hsZ3JMQWJhWWRqcEl0Nm12VS9sWDRQUXdXNFNyT0prcXdDZ1FQa0o2OHd4NytTZzFPSG5vaE1Vc1dqVHU0WUxkRDVjcVhCbVdEVEI4ZCt4Z2tqYUZsKzNRQmtrbHFYbUpZeVpyc3dWTUZLZ2lxUEJVOU1ack5uayt4RzdONFFxU0ZaNCtCZkpMTStndU0wS29QWlRnYmlWRVBOR1VmNi94ckN0T3B6a1ZIVTdMQTJHRk05QnVaRDJZWnY4cWRXYm1zaHZHdE4rWTdaNTdDN3AwNFMycVAvc1o1Q1JTMFRkaHFZM0FjWlI3L1VOcVd3RDNTaWtxRm5lUVZRaHFBekNSeUQrWjVwRHBSTnovK1FxZXhPY1hqWThOR0FIZS9yUWFtT3NqVEpxbm44dlF5K2pieGVHaXgvRlR3S2VIS2VGdG5UV0xqTEs4dEkxbFp6K3dpZis5WklBZFQyK1RUUTYwbGttMWtiMWlBdTdEUktUaGJuSHRVSzBwVkY5eXRWWmJnOGcyNkpsTnlnWTF2VGd4bnQzb2VEZGpPOVcxVjI2b2lsRll5WEZaK3Y3RUhFOEVvcFJ3NkswWGUwSklTK3hkajlCUWhOK1k3WjU3QzdwMDRTMnFQL3NaNUNvOVJmdENYWnZ3MVpYWWFmOHhVWE1Cb2c0MlJEejkzZ1MweGMzbmRqVTBmNENiQ1grNmlHd3pLSUY4MU5HNmhkNTFSSW55QW9wVzNRQ2FMdkVVNDE1ZDhRRkJjR2xyY3JKOXI4c093WGxQeTVBMlNYeU9zemhzUHRpWW9XWGZRUlA3K3pVVTFRVzAvMHl2U0tPTEQvd2hOY3c2VHYvRVRmSGcwZTdpWUMwVWE0L0hxMzZQbGFWMnZTb1R1K3UrUzNMOTF2N1VZeGdQQnQvanArbDVHZ0N2SkVaQTRLelVJZmE5VzZ3dmc4V2tBNnBadFQyZUZDTjB4V3Z0citMdzcvMFpjT3p3MmhTRmFIM0h2R2R0SVlrYWRLS3ppdE5ER2xJRDBoQWxrWDh2MEdvcDhjL3pyb1dCb04vYVZLbW44c1VseEhpZkxWTU5GM3kwN2QwRjMzVHBxY1VuT3ZXYzc1L3ZneVlkaWRCU1NQVDZwcnQ3UmJIS1YxbktLaURQS3VUckJjQThKdDYycW54azJyR3c1bEVMY1NjdnJNcTlEejNPZC92K2xzYVhMU2U1cDJHSDZLWmQvT1MrekszeUJlWHVHMkJzV3NhcGdyQlVNOUQyVzkxZXgrOXZWYlJBY08ycURVN3RrRUx0aC84MnBVKytRRlJoTWRwWHdWMTRDakFBcGw5ZTJ4bHZ4UWkwS3Vzam9NY2RXUFlxdEhRQzdjang5TFdxVXRGRlBBMkkrOU1rNlVreng2bkxpZFdQR2g2MnM3VXV2cFdha1d4UjRVeEg1N05DUDhQcjE2dlNWdDZOdXVtclA3cnJsWjFNRW9uQ1Fsc2Njdy9CN3NwS24vM0N5QW1kNzZaMDhURFlKS0ZXNHAzSTRZQlNrMXZuS29sK1JsTWZRc3VKanFZeFk4RlIyNXZRcEFMMVRiZFU0MG5jSldRR3U5bSsyaHM0UjZNY2ZEL05QUHp5aGdXbjBwdmEzYnNvZnpIZFE3U3J1RjUwc1F5NVBnd1FDeGgzUGZ5KzBjVmFSekFyODFpbXhVTWlxaFdGdVN5QmVFdkZNeEpxanhwRXN0WXZGV0RYMzdjSkJ1NGR6a084ZHZxVzkrL29hck81UXVRaGUzSjhITzZKSElKV0RxemV1UENHb3FFWXh3VTlkOGtKYjZxUy93V29CZXpKenM5eTFxUnpHQVI0VEdaUTJTa081bWk3RzR6OUoyQVFEeW05VXJwckdQRUhLUkgwcElnYzIrbU1FTjVCclo2ZktnNmZ0dEhyNmtWRk1ZM09aaWFYaHgyRENWNFMxdFYzSjhvMVlSSE1QaVpSQUVIZnlDeU9hM1RIZ1lkLy9qMVMraGFIeFVlR3V6T0VaWGVhRW90TXBJeENiVGtQcWY3KzVCY21kNy9pZW1xeTlLSmgycXhUV0JJS21aT1laWmpuVTQ1bjMyNkZNcFpMS09MNSs4V2VTUk16dDhHenAyd3hTcUQrUUpNNzlXMG9iNGpUN0FYUThOY0Z1WUE0MEtTdDlhdW5EMUtTV2FWMFBabnM1VnQwcGJ5a1ltMFdmMW1hUjR1ZHh0SFlQMER3UmtUMTFIcTh6VGRGZ3JuWW9OV05YUDhSWFZwdTRxbEVBUlEwSVV1SEl3c1M4Qmo4RllycEtLMDBrcENjbDJ6Tm95VEJ1K2NXVEl3aUNhSEE4b2cvdVdxTC9RL2c2UEtsMllrMGFDYXVYVlN2OFlJMVZEdE5Qa0I2QVFYQno3NmFQTmFkZ1Q0TjVNSnJLME5Cc0JzVGgyY1krR1BDTzJUT3p1VGdjRnhpTDZIRnA5eWVISnNHU09qcUtDL0NlSVNoejNCY0RHS2RwWnZQbExITWh4QVlvQlNGb1V4UzByYmkyVVNwN0QyRUZ0SENlN1ZRWUZzakZRSktENzBUMmpKdkg0dGNkVFlZMTZnL3JWZmthS3ZVUTc4R2paNDZ4THh1d0FtVWdHZUw5RTFWRW1QRUVhb2dCdW9jZGZrWU8xaWlSVEU4ZHZIenpDSE1IdWd2SzBnVXFUYm1PVDNHMG1FR0diZUcwTDFxbGt3YmtvSFcrcWtTQWdadE1iNHZ5OEFFMFVJWHFrM01vR2lTTkZWVGNOOCswWkkzZlRhWEZtb3pxRWNKR2RyK3F1d2VMZnBOSEZmR3VWSXBFRzBRSDFYRi9uUkJFRDUyVnUzK1NhQnBHa2pxNi93Slc0Vy8xMHVkSlRGYVR2YmpzQWEzZHpxZnovNC9YZ2RaTEZEUXZ6NWV2TEJHd3Y2OUl4NXVPTTJqTkJCS2dydllNMXROenZnNnlLRm5jY01nRk1GL0tjSnBZUnhUbmkxZGw5MEp3dGo2ZGFPaUljRExUbXFZZkV6VFFUalIxblpCQXNGQW9tenRvRnVNSU91VlV1K3Mrbmh2RGY4MzhDN09uaXRJWXlLMHJZZk1idVk5VGRZM1RhcUVOQVE5cFpIcjdKdlZtTkc5Z2tCV2tRRit3eTJad0c5YUNmMXE0M0poWVYySzNRc2w2OFViUVQ0dUwyNkI3ejYvNmU2Z2NBMEROTmM4aUkvSTg4ejJMYjhxTXhKQkZZdFFnd01aUHNMaTAwa21YRVNIdGh6R3pybGF1bzlhTGwwWDd1cURkc0dxQjQ0UVZxQ1JsR2VORUtwSG9yT2xiNlp2ZmtsdThCNzFTUWgxdXh5VHZWZERzTEk4bGJBTjErQTB3bHBPVWdpNUxHVUZJOEgxWHR0RjhJL005aVR0ZXo1aGlWdFhxZjQvUmdMSENiQmltc2wrNlQ3L3hLbUlvU0tCMGoxUlJYbnZMWWNYZVRZZ0RnNHZHbW5mQXRibUxqMkdBSVRTemt1Y0RjV09MU3Rmc01kc0NGTUNsK3BybHJmOGxoTzNHQTB6N095Mm11dkUvMytUa2ZEMVNyRXZETFN1Q21ONlRUQ0FOY1BOZzk3MWU3bTlWQVhZdEttSW9TS0IwajFSUlhudkxZY1hlVFlnRGc0dkdtbmZBdGJtTGoyR0FJVFN6a3VjRGNXT0xTdGZzTWRzQ0ZNQ2wrcHJscmY4bGhPM0dBMHo3T3kybXVPUlpqeGhac010dlc1NTg2QXhtdDIwWmZoV2pJNU5JL3hzWmM1bzZ5RWl6cjQ3OGRIM2U5bjBHK1BpTkFBM05jTmVIdEhrMUxpQ254Wkl1OE5lQUsyWDYwbENMdnVaZCt0NEIva2YzcG1LcHhIbGY5QzJTMmMrWkJlTHJBMllmZHJvQnYrT0o3ZWo0RlY3M25jUjdMOUhpOGZlM3J4eXNXWUlxVFVVUnNTdXZKNDZJVlNQQ3puaFo5eXdpNVlvdUxpWkcvS3NmTlQvTFp1Zk1FdHlZUStkWlg2V2ZBTTlERjJhcVJicUowV29vNHUzVGljbC9ZMGhqTFlOUnNLWm1ocVBXaTVkRis3cWczYkJxZ2VPRUZhZ2taUm5qUkNxUjZLenBXK21iMzVKYnZBZTlVa0lkYnNjazcxWFE3Q3lQSld3RGRmZ05NSmFUbElJdVN4bEJTUExyNFJGbEt1aldzK3NwTFUweDRHVEdaMzdxQ3RHbXRwcFFqRk5FaWNKZG9sZitnd2w5YTNPakVJdzFEalp6T3FvR2M4MGE5Q2dWYjVsRlZVZnNuclVCU3lBWHdodWduenVXVFU3cnUwL29QQ2t4dU9nL2lnWHhtMm1OREQ2clk0T0xHSFVodERDSFpoV3pPRDZIRTdKenI0NzhkSDNlOW4wRytQaU5BQTNOY05lSHRIazFMaUNueFpJdThOZUFLMlg2MGxDTHZ1WmQrdDRCL2tmM3BtS3FmYk1jaDg5NE9PVlBseGQ4aXBZQ01CU0U0ZG5ib3A2a2ZaQis1VzE1amlHZ2p1ZDZ1blZqdS91L1pHbEtqdVl6Z25aUjR0dlBYWEpmcjNmVmx4Uyt3NXFtSHhNMDBFNDBkWjJRUUxCUUtKczdhQmJqQ0RybFZMdnJQcDRidzMvTnBCQXgza2Y1MlV6NjhHUjJDa2MzMTFVRnNQRS9SWHljUVgzQlNRcjZZVlJ2WUpBVnBFQmZzTXRtY0J2V2duOWF1TnlZV0ZkaXQwTEpldkZHMEUrTGk5dWdlOCt2K251b0hBTkF6VFhQSWlJQzJrS0QrVGxXMTlzc3BBUHZFYVY4MHFvSlNSZGczOEk5SURQZlNUUmduamxjVWZwY0hjbzVMR1RvU2E5UEN4UXVvQmdVZnYwdTN1M3FWcmdkVW9XVjVxZ0w3cmhJODNmNllwYlJ3VFlZNFJEejliS1ZBaDV1Y2tSTTRVc3daR3JqdzYyakVLMnlkeCtaZUYvWU9lWFNOcG9Cc21jZlg1RllvcXFFZzNFVXdheC9mcm1kTURLNnBqenBTR0loRjBSZWhHMU90WkF3anp1bFdYRFFLcWp3UmdhUXo4L2Y3T2R0ME9JL2ZIYlljb1JHK2ZETDE0UmZLVDgvK29vejlTN1c4VFJSNUdNZVp3RkpwWGhOdFhWaExqdE9BbDNMV2dEamo1Y0prS0E5SFg3Wm1JK2lCaDU1OEdtYTZxTi9scE9TNVluR2VOOGRPZnpXaVlUTW5tVCsrUmJuQkVCaWd0eDVEWXhiSnFZN1A1WFViQXpRaGdpbGc1WTFaT0FLeEppL21idnI2cFZWSEx2N1pqK2doNnRIaWNJRmE2d1JOUUNpN3JnQS9VSFlJNHljSFlvOWtvMUMrcUEvT3R2aTNHZC81TGEwTzkxWTM4QWxnQXFNMWZpWC9TVVpUOXg2cVpQcDFYd2p3MHVJcDNtenZsZUh4UDExcFRCeTN3ZUliK1diVkdMV3Q3bCs2dWNmN2NObUZEOHhsd3VOOFFBRlozalNlbnV0QlVOM2JicHAwM25qWlFHV2RzOFV1T1ZhUUZCRVhwUnJHQVdoL3c1L1FIb3pKczcrM3hoOENFdkQvZlhWbzJvK2JnVHQzeHBIbDFKZWdKREVHUlphc2Fwb3ZyNUdjNVp4U1FtRldMTCttNXd0UUE1WW5zc1ZHYkVKTXRQSytIakF2cHJXdXhDRytSNkNEZE16RThnQ0V1SXpicWZHQlJ1OGYzSDJMVFlIUWQycXAzR1Y5Wk9HaklmeE5ob2hiNE9VVkduUUVCdCt5OU1HS0NXT0JNRGVSZ0J4OHE1RklLYlg4STFNdVFsL0d0bHpuWjlMb3BFNXd0dXlJVnR0d2dkc3kxRmxxM1FqN3hMZVpRVE05T0wxVkJHMVRHd2xyek11V1cvdTVpMUVCYU1lVFRFY0RGaGpydWc5QVA3UUhsdDFydmh3R3dNeVo1Nm1HaGVBMGdtZkdSei9INFFRSmZ1NSt4anVPVm5aN2lqWDJpbEhkU0V2UlU3TzRhNDRYOG80eTBXRjllOTIyTndNeUVhdUNFdGl0T2JDMmZKZ3AzTUNWZE9Zekp3UUg0dmQ5K01GVW5iY0wrd29vaGs3TExOeG9TZzZHMCtzb3ljajljWmVZV3lFL1NBbzhZTzdlcFY1cng1RExhS01FOWhqNXlRbmFGWUMvK1hEU3JnTzJBeGdYaVNkNG5jUDhadHUxSzE3SWVDTmRPN043WlVpSEFZVkZ3L2tNbDNCUGFBOE9SUU01Z0RoU3hQQitjVzVrcnFVdHBLZGZvN0U1Rk91NE1venlaUHhDd04rR2dhaXIrT2gzOXltdkRBczdCMG1Pckllc2E5V1FmM0NkamRpQUVpeURpM3dLa1p6dmRSS3o0UWE2ZDgvZDZTYTJDNmFnNjJuZytiMDZ6QlA4RWg2MHJPN3hkNlFtcVRyMC9YRjdnMmJlVjlYa1AvcTkyQWluT1Y3amRuU1RYalMwU0E1Wm5DSXVVSE9ma1ZGNjVYYWRoVzI4Y0tBTXZaRnJBOUJWZ1ZJU2w2WDZmYVRBTzAxa0Y2YWNzOG1rWWZYMXZpQmtiTUIzQVlhSyt3eDJjN2d6OHBna1VKR01tVmZ6Yk4wL3V4K2lZMWZuQ2VCT1JITTNlZXFkdGh2ZWtJODVOUy8rSHpRYmhDZ1Q2eW5nclRYMTJmdzA2Ym9jOHRwRm5sWk5ud2ZoNjY0NG1sdEo5dkdQZ2lxYjVuWmw5S3U3ZCszSU0wR2I4OWFjTXl6a25HSGswNzVNdEtEbE5pOVRFaEczUkNVdUc1bDNPenU1QWtnMzNYTHVZU1Q3Y24vamZqbHVKcHBNSXdKOS9uL3VYaGJkVUlMVDhETDFtc0Z2MXIvVmVUZnVzTklGU1FxTnNGMGt6Sy94bU5VcTJDRFhEb0FlRk9tNFVxOXV0eVJvam9NOW8rZUVpaW1WS0NPRTFVellKS0laNkE2azVvSjl2ZmZNOVVPZC8zd3c0SjhLVWczZXNLY3dGSkF6bUx3eEdVU0lKRkVaaS9NTEpqbmNhTjNCMjBIUnNwRlRiYk1GR25ndUFpNFNVN1F2QTQrMDZjT0NmNHZmak1yQ0FhZ1ZYY1l4eHlUQTIwMFVTTThTZTBmeFh5dEJzVlZIblp6SmFFc1d0cm1aNUlwcWdhMFdZYnV5ampWTU1YREhHd3BidnBFMmo0d2RGTUwwRy9Nb1lZdmhNTS93SGhCOWZFTDNQRFZEemsvbVgyQXFFYlJNNSs3bkdBdHY2eXBWZzIrREs2eHJOWlNSdW53azVvQ0lSYUVtekh1SVBrRVRCUHlVVC81clpkWG1CbktuY0twUkRwQlIxT1hNL0JQb2dzbS9pbjR2UDJEYkV3WHFMNHQvTk4rQ2VqaVRyZEpJQ1owZGVoc3A3ZFdLbXdqYkVGTVdLZ3RBenkvSWJjODQzK1lOSVRxNGo4eXRlSWlxZDdXSE95L3QyRkZwaEsveG9nL1BRSzEzaXI2U0xnbnREZWR2bEN5VmRzZTRaamxPZW1KSVcwak81cTVPM0lrKzlaK2ppN3VEaEFqdEZYZUVPMkYvSzE1OWV1WnE3MTVvQSs4YnBmMzdSbnhMMkYvbmlwL3poTFVGY1FFM3RrTTdlbEpWcGI1V29KTFpDN3RWUG5hNGE2azdnWTI1WEl3UTNZZXhydDRwYmxZYVMvdDdJeGZBY3hiTGlrMDRjbm1JbjBxTS9DUzZyeVV1a3pPYk1PUVVYUm85NlJsU1ZyZkRwdkFHd1lISy9KTUZkREp1SmJSWFYzNENSVjBHUWN4cFJMK2NUWXhtdzNrMzFZM043OWgwOEl3NW1mMVZ5QlZnaE12aFVaRmFodzlKY3hpanBZaXB0cnpDU01IMDE2d2hITWgrTnVCN2RiQnlTUGsrdklDemFzWEFrWXNieDRsUnRnYXdTckhlb3ZXWEtlYXdzRjNZbzVTQVlOOW5mZnlRSEFQcDZTN2tqUk1QSE9iRytGbi93aWsvL2l4V3h6RmdFNzcvaWR2NTFjR2RvT0JLNWVZci8xSmR1dkV4QzRZcW5iWExMUW1xcGp5c2Jhb0QvOCtCSkxiVjdDZjNVVksvV1ErNXNZVXA5YVIxbDhmZ1BYbUpjbnZyaVhCbkpuMzhLT0VDK3lubitFeERvOFM4Q0R1NGl1QnRSbXVrRXpPQ2pucm9oaWZzNnZlNDFwb2Y3VE9aNjExM2NrTWEydDdxbldzc3B6YjhjNWRVUkZNWkEyV0QxQTQ3MzNSN1k5NUlCN1piK0tYejM4SDdLR3ROVzJZWnNleFVxc2syVzhjRjJIY05HZGxIVFpkU3Q4M2did3ZoSGQ4K2EwTXduMTNna3NJZk5BY0MyTldoU2JqTWlxVEpYTzBvVzd0L0lDVmhHS1JNSGExKzNGSGE2ZHB6TXhLMjFwMXRNQ3JHRmx5TVdvZGlxVmFHMC9UMmZWZllHMFN3Q1Q0TWxOd1czdzFsN2hEUklHbGpRYitiNS84WmNNVjZYYndiMlFpVXA2c1Fab24rcnQydlhlMldlSFRDVzljSnhRTm5QOWNjMnJMQ3J6cThTR1l0b2hhZlNlQ05Qa21TQi96NTVLa09KdE05Q2owUUdKUUFEZEpXMUIveUtLWjFLa1BSOXZCRXdlNExVdHBBdmErQ2wxS2MzUW8wWkFhTkk3WTJkb3k3b3d1SGtvZ2hsSlhCcERyU3JHOFp4SmhVNzgvSWt6RUJPNWFVcWIrRy9hZ1BLUmdxRjJUT0ovUjAwNmxZQXRnbk1sd0thSWhiWDZONTNVS3pvemNOOGREaThoTlZ2KzRMd3lKOEhNUUpzNkJDTnZDcUx5Z2UzRFYxUUtKamgzK1BneXRmOHVFNThpU3J3QlA5QlhlSUJKcS9oa2E2SVR0MEhuaDRYYmVuNVFNU1hBZFdxVzd3UUkvQlBTdllCNk45bWxWYjZVb20xa3NXWDNvaHFZT3Q5UVpkb3V5eU1GMDNvVnNtcmdxR0FpUHdQd3JXZkZaeGlCUXlucTNySm5zSEdlRHZ4aW0rTG9nVFBrT0pLTWlIUkNvTzFJUGFtblhBaExWMk5KcE9lanpHVDNlbmFBTklMbzBOS1ErNTIzdHd1SHBBWXhtTHUvWlVVdzU5U3piaU5odDdwL1UwSm1teUxQZWxRZnR1eWRkK1NzZ2JTVlROeCswYTBrKzRNajg0T2E4cEJpVmt5dURMNGYvRFhGOHBKL2tNSE1NQUdIRjMvUmZXdTBqWjBJd0NLL0p0cE0zdU9GWkFDamVDVS8xb0hSVGFNeVpqOVpGWkNvZjNlQTM0QWI2dEVpZ2R0Rlo0RExTbzBsaTVERW1VUHFYb3dKTDFsVjBLZzVJVFVrS0hFd2FGeUhucElxd3BQbjlUSzVMYjJkV3dnckc1aGJGOWJYUDA2S3V5bFZXejhtQWZ0ekJHdkRvNUVJay9jbEVuOG5RTlJHZ0V6R05WRUhiQjk4V0k2cWg1U3JBY3Awbmo1Wnh4Q0tRTXVKanJBdDVzYWFDcW1TQ2dHY2RNTllzcm12QXprekVObHBack5yV0l6UTh2a3VuYndKNHd2K2xGMHlOeVdDMDY3cVMvQTV1TGJaRWtYT0FZSEQvZmVnR1pIaXRCc2dsOXU3UEhnUWN5NlBuQWhiSDZQUVYxb01nTnVxUGE2LzJtRkNONHF1S3l5T1luSUdxQ3hncXV5MGR1UFZVbEZwRTUzSExHUVk0cjdhWGN3dWZnWHJqQWRHSitidWQ3NzZhdUptVEhnTjFBS0RtTGh2TFVreURTYjRyYWlIa0hXTnRwNXNBeWV6aGlPUW1vdTJObHBNbEFjMjRBQ3F6MGgzNnBzMFF1Rmp2d3c3c0pvZVhKN3d2dVNPMFowMkhoVmY1ZnJydEZEZTNNODBUZytGMU5KWXBHbkYrd0crOW10WEZXQm8xSjRGS3NVVU9MZnZINzcvamVFRFdZWVB4dUQ3MXNaRkxuSTFiWGhhdFQ0TmxjSkJINUJzaVNwY3F3dWdpUUVnVzcwQXZubWx5cHhocFU1K25GWmZZVWNZUnQwOC9xVGNPTW5YN1FnWUVVQ3JFazBOMkM5Szc1TnZtcjBtdmJkQi9ub25Ta1JmN3VodStEMW5DSVFEV1ZWWnUwaE5OR2xmZjE3WkExbUJFWXZJc0J2NU04Q25McDFFSVYyYWp3SlRFUFM0dHMreFdvWU5waUQvZG5aRmF0WkRvaEpSUS9qL0QwU0JmVXo4QlJ5QVZIVC9Cd2JGWkxMMTM3aEZxMU11SjJHUy9NeTVLTmlRTFdFS3FQU0N6OUpYVlh0RWVqV09YVHRWYmRCeThSVXljb1FxZkp4dXVSNTdOYlFzK1hMSUNUbzdBSDBURnM0akVCR0gvOGU3YkZDVzVHUUs0MWpodllKQVZwRUJmc010bWNCdldnbjlhL09nWGxBZnViN01aalNTZWdtdTFqckpsNGVPN0l6eWE0cVluSmIvalBjUjZrUUErcTdDMTUyYU5DdzloTHBVU1VZeGZxc2ZDaFJUY1BTMS9PWFlEV1JWZHh5R0h2NUJpbncyZjVKMDRxUmRxUm9yVlhJdC9oYTk0S2Myd2ZUY3RJVlVyL2xhYTFSRmkvYkE1U1dRWDRzUVAzc3BLNXpjU1lPK2FoK0thWXdQT2FvR1hrZGxWM001aWlUY3M2OGtld2tQeHBMRmNGUTM0dzltTm5XUXRsWjUrYkFJVzF6c0Q4T2F2MHlSNmxjUlRBRDNiQThka3I0U3c3OUFWQld6RHgxTDN5d3NvZGtZMm9wcXBXZGhHNS9YcUVCbGw3YmRuTHd0OVlPQ0RxOXVleWJqMC9QRlhZQjFjMFpjbjkrU05iRlZZRGltbHVDTzBBSkdranJYVlRvZkQ1cHVpT3pLTTJMRWxWeFR2emk4NDFXOFM4OFZqTzEzTU5EVkUrMHlMT2xETDdEdnp6c09RbksrL2JDYzRuWlFuZko4ZEFibnBNQ21Ga1RoWmF6ZnNkbkZLQ2VpdlJ2ekhxRDlNTFR0UzVPY1AwMnBsVGhOSkJZNTM2LzBPVzVmbnJrSWhDZHdOYmtwOWRSa3M2ZG9sVXA5bCtqaXZkRVh4S281QXY2eUdOYUZWSnFFYmoxaXo5enBya3U1c29pUkZPTXR0a2haTkhsVTh6T0hMUHVVWXY3NmhqUXVwbDcwRktuMWNpV2kwVDJCS3dSVnZLdEE1T3QvOUpkRzJWVkhoaUFwVUpFNEZYR1UzeURkZFlxYlV2Z3FSZFM0b0NKeDJrN1hacDVXM0gycFNsbmkyb1FTQWtaeUF5WGdiczFGNXBwTHY2QlVvWk5NV1VxVlB1MTRyS3pjU3ZYZEZFV0k4UUprVXhUSmE4TGNoVFFtd1hBTnhFbXkwbEhmSS9ZVVl4bWZOVDRobDBtOE5UeWNRc0hVc1B4QkQvelk0VDN5TlBQSUpYRUR0ZndvTlFEZGdmZmMzNktBMGUxclZSMGZCakxDM0dPSEh3Q0dYTFZPRjduNVpyTnJXSXpROHZrdW5id0o0d3YrbEYweU55V0MwNjdxUy9BNXVMYlpFa0EyRHA1Q0pVaHUrVi9aa3VTWXV6QUlYb2k1OTRKMVFMSmN2UHdrN0tMWmIrUFlIaG8vUmFabzllbE1tSXNVQkp2MktGQldMT2ZCSHBDdGF2RXZ6a3BCc2cyQ3NSYjREa0lXcjc4c25ZN2dwS1crWnZMME42aGc1Wm9ZSGlHZUJlNG1LUFUrT3ZTbWgxSzEvZXhFRHJDU0lBQVhHQmVCMC9QODVFRnFSYmp5VDFmZnNZSkR1dXpaMjQycURHaGFXc0dZMWsxaFo0VFBiekpRc1JsL3N2MGhWclVpM1lmVFRvWml6RnJlNTk3YVBtdS9jaDczVHdmODFudHpjaVlKbmV4bEF0ZHk4SEZNcVFmSFVHM3lNaWlaQnNiM254YVREWERLc0I1cjAzT0NIbEd0L0RhVEQvakNtZmxoazhnMjRYRjlPYVlyZFkrMkJ6cjROZmQ3WDFXd1Z6VHkrcS9JdW01MjN2a0NTbURBTWI2NXJJMHgyNmpHTnBtQ1ZLWTdBaDAxUzNQbExaSTJMZlJSSXhjdm9pL3p4aFBLWDFNM3BnNTQ4L1IrNW9lVkZyZ0E3dXZ2R1RQZ3EvR1BrcjV3MjdTbi9talUycjNnOWdDY3dZV1RJV3BJa2F2cU1zSGpqcnZXaUgrNzdtaDhLZldzSnVZSEc3c01BZUx2TTZ2RTZXVXpRSUhkMXk0bGtseXZyb3VSWldVL0JrVXNVdkErdDFaUVdabHBIUnkveGg0OFdYYStiVEcrUiticG81UHZaaGFkY3A5OTdOQzJSdUVuK3BTbTkreVBrTFQ3OXFxMjFvQXduWU5pbWg4bkg5cFVwUVdyWldZblZTSXpseEtzYmJmbXBybUdFN1NJQkNlb1NGS0lYaUd4ak50dGtmb0JQKzNCSGdHOFh3UFFjOVJ2Y3ZLTUlUODVPcnhTNkZPdDQ0RURhaThiTXNEQ21jdzdYSzNIODdjME5qditCbW94MCtIbjAvUEllc1M0Z1FUeThQUEN6VENWMTRxZHRGVVV2a2I0N2xqWHFwbExtdlRpWldiOHYydXZmcU1tb01SYU5tZHVlaGUwclRBRFF6d3hvcWdtMzlWQmhvdE9ONXR6Zkdvb0J5TXdVUEVNOWVmZFJ4MnJGMVVtYTNzM0JjVk9yWjMxdHdiVk5CRXFuL1RXeGk1TWUvajJaQW5sc3ppNklIc3hMaU9JeW1weGExNjRMMG5zWCtIc0VzcWJKR1dSTkxubEZNR2NEN1ltTmwyVmhGWHBESEEzeUFMbEFncEJtN1Y2Rm5uRDE3ZXlYSjR2c1hQcjBjQVQ4MWt3UFpwUi95UzR0S2IzNXllQWlneG1XVmRlNzdyeU9MUHk5Q0dWK21tOWNKeGtHR3BlSXdEK1lpekFQbmwvaWRUNG5EK1lwT2hZZUxNY3lHZnFBQXNzTW1KdEhYUkh1L1plbDlXVkVWdS84Z013K1Qxd20rSVd4dXllQUczbUhMUXdTNmkwK3BLRXNIZTJrQ29Ib0V4dzR6d3ZmMVZxVjRiU1hydHlWalBHbUlsOVpWQ0IzdER4ZkpyeFVZL1FsR01mMGRVbTNvSmxmTE1CQ2d1dFZjeHJ6a2pFRjczcGRPMlYvc0xrS29uL2VCWmYydXhjZi8xa01tS2pjNy92VDV0OFhIeUh0Z0dEVFFBeXpweUlxWExkSStmV2pLbGQxcXVaNXJ1aHQ3Y21MREloTVFtYkRSRmdwQ3lrVUVsYmF4d2VwMER6dW16TGxZZHJwaG05eWxiZ1RGWmEwaFZtNzlnMXAvY2tmWnFWSWx5N2dCMURlZTFZazNUbzJrZlYwRm9SSEY3K3hIbmdWTGNzRUpiRUtDVCtETktpVEt0elVobm9vMFZIVFZaS3ZNL1Y5ZHg2SHBscUdiY0RHQTdrTTRiM1dGMkRZdUhRYmhQWmZ4M1lMdG5ENGxiNThQbVBtT3RWRXJ3bHoxajhYaWFYUTEzQzN1azZ4NXZyOUJKSlBEbEJmcTdUVXJQV0NuTmxiY2U0L1kvU2hVTHliK1pVTmNRZGh6UDRpVmt2bTBkK3hmMUhIbWJodUE5R1pMTWkxbjlPOHhFMFBINDlmb040VzVPdDFzcURMM2ZkTm9sdGZTem1OcXBrYTBBS1pSckVpMXkvSWJiWTA1SEdyOHJNbWRuUXRaaFprTmJzMFVNTFVNNmtOdzBDeVhrZUJ0UnJaYWo2QUt3YW51ZXlSWittcVV2Rk9zaWgrSi9oTEtvbkhsOWV0Z2g0ZXNuaGdHczQrMWVXTm1CS3dhQ3J5Q2hIVC9NcFg4TXc1KzU3RWxNaTlPUmZyK1NqZkkvRXZwWGMyNm9zekVhemJSSnZjVzl4NDNIa2hvc3J0UG1lWkZGR21RbHhKN1NjaUdCcVZzRXJQWWxodEJOUGVFd1V2UW8xQWlUSWc2bkdLanBBMXhNV1Y0bThyWldNTVF3YmNWODFnSEV1TzNnbnNCcVdsai8xTWlPY2xETXZxQ0JPWDlLWVNiajF4SHNzMFoxbldJYVB2TjdMbWxjTkI4ME1udWtvNFR5WmpCNVc1MDFndWJVZ2Vsc1BTY05TdlBkaG43b1U0KzFKbHUvOWExMGJ1SktGRkFzUlYzblNha3dudUFZejMzMHpkaCtBenhKWDNzMXROeW1tZFcyRHZEaURxbDNXaitWTmxnSStveUtkcU1xeWlaZkUvWFJieEptQmtJU1FOUU5PY0p3VTYwWVBRbGZCUkxkNmxvNXd2a2lnOHVrQjlvKzJacHBwbWc0L3FzdnE0VmkxK0ErWUZSa0Nta2d1YlNCVmR3MnhVeDhHdlNBMTgycEtvaXZDUzY0RGd2U1E1OEpGMTVKN0JFZ1owVzVGSWFOTEUzMWM1U2l1eGVvdWR2dE9XcEx1Y3NiMC9rNWhnZkI2SUxWYk93NmJKTFE1YmdNelNVcjVtdU9HVzNPYVBGQXlWVWVHSUNsUWtUZ1ZjWlRmSU4xMWlwdFMrQ3BGMUxpZ0luSGFUdGRtbmxiY2Z3bW9saHVPeWJLTkovRDNGSFQvS2xJeWQ5QXNINElNYURYZ3lISUtVTXgrQjRGZWVadjBaY0ZzUHlVWVZrSDh0M2NFTUplYzB2d0RBV096RnZmbzYrUVFXNG9NbEJVUGM4NktZcHowWXhoeXVrN0xHY0Q4UUxReDFSWDIvdDBOOFZ6Qkhqd2VmbXJkV0FrblIrVTRtM1crS2dJWTE3ZXoxcitvRHhVSit4SWthYlE5QWlKWVFENW5udFhUNmljWGhzRlQrbW5EZmlkejl2Y0E3TTVJbTBDSUhvSHJlM29IS2RmTGRzR2RRbXE2YkVrMG9IMmpWeVZiUXJ4czd3TTFNZlh3bVdzOWFDU29mcXpmZjJKMkVTQ3dSWFZ5eVZkanBueS95MkFPZEpQNnI0Qk5sU1BzSitkdlppU1VMU1NIbzNBQ05HdDFMZlNWaERKcHRJSXBtNk9UR0JmbDBzcHNnNkYzcEFjLzErMHBQQjBMQmx2aXBXblVsRUNBeTlrL1U4LytpbWRFaGE2SFlWY3d5UU0rMFk2eTdPTnZDbUVkenZaRWw1ODlEdTRpMVkyRTkxdnNIQkVjTjNHVVVOTnpXZkRvc2lLN3BuOTBwYm0ySmFyRkNZSlp2L0FGNjUvelYwSkNtMVNnSEpwVzRFeFdXdElWWnUvWU5hZjNKSDJadXJOUGp2K2hzU3hxWDlQS3REQS9FWWpaM3paYUpiLzhmclJGVFZubmtTcGhZMVB2dUxtZG44NXVFOFRSbDZJZ2h6WE5xOSt0OWhUMFpLcUxUaW9yNlpJS0FaeDB3MWl5dWE4RE9UTVEyV2xtczJ0WWpORHkrUzZkdkFuakMvNlFBS3JQU0hmcW16UkM0V08vRER1d2syYVJZWEpSUDVmTmhwNUhzcW5KYXBtRW9UYzk0SFB3ZVJYOFNubXB3ZFhwejBpMmlVbmRpOEY2K0RMcW1KMjRhL1lvVUZZczU4RWVrSzFxOFMvT1NrR3lEWUt4RnZnT1FoYXZ2eXlkanVDcW80MkQyMnNzd1RSTFBhRy9xNkdpN0Rzb2o0UTZBU3ZrZm1yT0xMdFlkeXN6cTlyMDMraUxPVHMxZnNZRURRUTdtbndMZHlpSW1kQXUrcnV1aURNdk8vK0hTVi82Tm1aSnVPbmdxdW4vSDlCcGxMbHNVa2hnQTR6aHk0dzUyQjJPNTdaeWV6SnozRTFudC9pWEhpVWVBcEpzMGpwVzBBSGFSYlNJU0E3eFNqZm9pSkZ1MzYxN1BSSjVPV0JibnJHZk50MXRhbUZzM1J1dXlKNjdwUUhTam1LT2cyZ2laQ1pZelhsRXVsMWx0aXdmY0YwODJjallFc01UdGUxWE91T0FqOVRaMjA5ekE4dFZQNUJseWJvZ2R0TjE2T0kxK0NaRXBNcVNKdEVZTkljanNXU1dqa3QxZ0xlUUlWNk8xYmdBa1pSbmpSQ3FSNkt6cFcrbWIzNUpiWTZLOVZ3bXF4MW1HV21jU3ZCTVFtSmdhK1N3bnhxZUtTcTlPR3ZpSjFPVEJCZlJNMjRHcjBQODFNY2pLRjVPNk9yT0pHUG1qQm82Y01vRVNNd2owL2VkYzhyNVhmam1xS2MyNDdrbm5XY1U3bEppR3IwamVmQjJUSXYzcS9IY2dmdlBRUG13WnBqSGdvNXoyQ2lSSHZnVW52cUpTZWdTbE9rQno0RXlFNnBwTDEzMnVlUmlnWUREaklaelM1SWtZR3ZXcXhPNDViQlpWQmpjVnlpUGhHbEdpMXdpdFM1eW5CKzJCUjBFVm5oOUxGY0FJaW52TE9pS2hIbDJuaGFKb2FFMCtTZjI5YVB3cnkzM3hoZTVoanRTK0NwRjFMaWdJbkhhVHRkbW5sYmIyWU9CZGtsOS9acVUveHlNSzVNN3doYUdHa1YyaHhoRWtHenord0h2QkRFU2EvVTg0bW1leVZ6dW8wM3VPY0lwS2FFVjl0NHMwd0hrVTIvcHYxOVI4RG43SkFzMzRwdEwyNDhKbHhZWm00enJ2QVMrR09WNWZSR3NKL1JlOHJiODB1ZFozNURRVWlIci9UMU91SzNIUS9xdmdFMlZJK3duNTI5bUpKUXRKSTZ0aW5xRytpYWlteDI0N0M2QnZxbW1hM3MzQmNWT3JaMzF0d2JWTkJFcW16M01IWVdXZUt6eEpxOGtKMlVKdko3VE9LSTZSTWJpRWlIWmQ5eFZ6L3ppN2RuaWowa0JhNkdGd0pwc2xtaVlzTjNjdXBrL21mMnVZUVdSWEI4akhtVUZUd0NoVy9QQTVwcU1TdHRZR2M3WEk1Vk9pY3dGc2QvRHdCck85aS8zYTR4Y0tZdjFiVGJ3L3FjaDBMR2EwWVNMMWcxOEM1bCs3aXdXK20wR0FwRTVCdmx3MkpvZm9EQmI4YlV2NEJHdEpIRTN1SDNEa1IxMFI4SVAwY054cTBYK3MrWHphQWpZWE92VFdPNE11R1gzZDJTditKRExERHRiTk1ZVGhhK3VZQXovMWR0dlNERWpTL1VQMGVHTXNmbU5CZXIxcXY2cllrRDVoRWh3UklQQytyV25DcEsvTzFDWno0aXpyYksvQzNTN25DZmY4b0tGOGhWclo2YVZ5RnFaemhzK3J6VkhTc2dGN0ZOL2NiWitJY0hzWng0TmE2WitaRzZoS2dzTlA3QmprKzBNcDM5S0ZJTSs1dW1ZbWJaYlE5MUZBV0xSbk5hcXNVclV5d0ZMVkMzeHNtMklmREt2NklNTFM0RXBZOG8wcWlsbFdEZVMzTnRRek1PMWc3YWp5TG9XdU11Wm1OYlJZV1ErK0pNVWZTQ2Y4ZUZkTjRwVXc0MkRVWjJ4MDZDMHNpUXJpU20zN1VVc2tpMXBOcGEvRnRlamlZMml6Uysxc3U5NHZmTkczZ1FPQVloMHBYajJCeEdYd2FtVEFaNk5ST3QvOC8rYTFJTkl3VFdvd3pidStsY0Z1c0Y3a3F1ZGhKbjc0RnVzdnpObHNtMm1PTU9tcHFMOGVIUGlJZXBWWEQzclRtMXVMdGNzQTdDcHhMRWtnYnFFM2pkeHRYV1QrWkJsZUlOREZ4MUpJNThBM1lEd0Rpa3N2QlZ6UzFPTzVVRk82SUp6bndoQTJ1WE05Nlp1d3pmNndrOE5hUURLc3RxeVIxdGlNSmpGbE9HQkpJaFd5QjVLczJzaVZrdmFXLzczMHZhczMxMDNSL0k4em80V1V1UFhyT3VJWUtQTEoxUHByZDE4ZjlEOXhIZlhabmJoNkxhOHdaQkxaRTB2Q2Z0MUNMNVQ1bURWUm43Ny82NTFUYmZFeXlObGJ0R0lUMmJUem8rUkJQTHc4OExOTUpYWGlwMjBWUlMrUTJWUWxnY0lMOWJ1RnVpQ2k5Z1hxK1RkbUVzZ3RpWHR1Q3hqbkNhQnU1S3JWZ3VxR0NFMzFSZkRUSXRHMFpUYXVtRXh0MHJPQkVTMmNYaHVLMHlqR3hUQUNwT3ZPZnFoSGNOa28wTnJhUGVWWE9hT2ZoOUJhR3pjN2tqbkxFbE9hWG5NY0xBOG1vWjNIRnMwOFFrQmZ3NlRrNTU3S3EvUzFCTDFoSUtQUmNxRG00bUE5bzhMQlJydkVjMzBOdk1vY0FZOGNhN1lGZ3c0ZGF2MCtaV0dmWFNTb1B4QmVOdUIwdXdvNTZRWm90RkMvU2loRW5OdlhaSDdCZ3hiZUFWVStNZWU0M2J2aDdBSGhyWmc2VlJTZjBkdTVSRmEzSkZqVjcyY1FkL2dkU3NrWnBuRCt0RTY4RVp6ZHZCZlhZK3lIL01NWGVDOWxacmZlRVhqNVFpdHNWNFNjMWhqNzFhcVFmVWRwRzZhNm9Cb2FadlZ1elV5WVRWQzJacG11blBBQWJVYzBxODBrR1dQeGRvWEdQMFdWVUppdGtCV2RSa3dsVXVicElnTVRyaWZnbGd1d0lIR0ZTTlUrRlhOVTlwUGx4S2x1Z25kU0NRcW9WRHpUdTRoSFQxQWlNRGQwbHYyV0RFdVppK0RBakEySGp4WmRyNXRNYjVINXVtamsrOW1GcDF5bjMzczBMWkc0U2Y2bEtiMzdJVG1VcUt3ZzlQdmthaVFyTWh4OE5Fa2cwVUxTWGdWT0FjMWl3VE15REFMVWFqa2tZbmE0cWhxRHBPeEE1YVlDY2Z3WHdLc0dKbGNPcXF2ekVta0grNnVZbzZEYUNKa0psak5lVVM2WFdXMkphMDV5aG5lQzJPWTNjSEpldldrK0hOTW9XUUpaK1JHUXZUUENFL2ZJOG5TVy9ubXlTbWNIS1FyUVNjWVdDdldPRVE1TUpGbkROSjVyV1Y5TDR6MUpVMXpObk9Yb2VHM0xGZUV6S3NzYjV1enlqU3FLV1ZZTjVMYzIxRE13N1dEdmpDeXVEenNQbm4raVNHV3IrOERUd3k4U1k1MnlHbDR2LzZFblJrNHEzT3dYWlJDQkxSZlVHUzlnbENMblRTRHpsMDdWVzNRY3ZFVk1uS0VLbnljYnJFOFBGOWtqbHJaT294NFpwSFhiZW1JUnEyelhIN1ljQnpITFBLbEo0VWN0MXFlUk9pMEFTRmQzNkVKVlN0MUMrajBzeVBORzBJU3JzdG9BSzFUMFZPMmtpRVN0cjNZbVdueWFJYThNcGtzc2VaMW5lMmhWZ1J0SWJXUzdiaUVjTkNUbDAyWkR4cU1jUGQrdzJHU21oRTI4OXpMRTlXWWJnZURVcUJPSWxqNDgxNDFySXNtUlZVeElYdG1iSUNBWDhCNGZWZTZmTWhRaytyVDFBVmVBZWYvdjVCWWoyWlY2UjFNeWIvbkd6cVZZd1FYMFROdUJxOUQvTlRISXloZVR1anF6aVJqNW93YU9uREtCRWpNSTlQNDVYRkg2WEIzS09TeGs2RW12VHdzVUcyM1JQb2dpa0k3OUlsSXB4RUMyRk5qdmR1VU03K1FyZ3k2RmF4Z01iWThyMUhETFlSWlhVNUIyMmExS2hKb1VHdldxeE80NWJCWlZCamNWeWlQaEdsR2kxd2l0UzV5bkIrMkJSMEVWbmh6WG5PK1RMaWlvSXZ0VTgrM0Y5WU1zdVNHbGJBSUd0OVBPazZ1RzY2b2w3MldBRmwzOEZrSnBud0pTUGdUWElOb1BNVXp0aU9mcmpiNWVrTmd2cU5nUzZLQlFLenMzMi9zdTBMWmhDeXFDb3hDeFVuT2IrbGdCODE5V0ZjWkV3bnBLZ1BhaCtRZjBuNWxLY3Q4TWtUelFYbDJIUkNOdEpPcVc3MURVR21yVlloMThUQmYwQnRUMTRlTEhzM09MWENjbWdWbCtTV0VJa3U1ZWtVakp3Y1pRL3F2Z0UyVkkrd241MjltSkpRdEpJNnRpbnFHK2lhaW14MjQ3QzZCdnFtbWEzczNCY1ZPclozMXR3YlZOQkVxbXozTUhZV1dlS3p4SnE4a0oyVUp2SjdUT0tJNlJNYmlFaUhaZDl4Vnovemk3ZG5pajBrQmE2R0Z3SnBzbG1pWXNOM2N1cGsvbWYydVlRV1JYQjhqSG1VRlR3Q2hXL1BBNXBxTVN0dFlHYzdYSTVWT2ljd0ZzZC9Ed0JyTzlpLzNhNHhjS1l2MWJUYncvcWNoMExHYTBZZ3g4UTZ1QmNUTUlHbC9mZmErekw5SmkxL2xpZUlYcEdRcFpKVVY0SEhnaTJwRHU3MU9tMzAzanJRdEl6ZmhMSENITmMycjM2MzJGUFJrcW90T0tpdnBrZ29CbkhURFdMSzVyd001TXhEWmFXYXphMWlNMFBMNUxwMjhDZU1ML3BSZE1qY2xndE91Nmt2d09iaTIyUkpOYmJ4WmdMVVBIcHJINFhoRzlqUDg3L3YvTWNjUGdreVoxdlM5dm1rTW9HRy83WDR0ZDJYZDlsWEdiV1RjbWQ5RVdTYVlOTzBvR2RGT05PU2tIUnA2K3dncmU4czlodlloTk9NbWhSdi9wd1ZIaGlBcFVKRTRGWEdVM3lEZGRZcVg1QjJCNUNoeXV5SndoOFl0TWtGN1JnbHFEbE5XZ3NZaGxGakZkN3BQSG9HNDR3Sys5azh5VUhFT2NjbmUydlFhbDNJajN4eHpodEhySkF3UDJITU5VMFZCeFJ3cklheUlIZklZRnhDdU5yMnJEUE1NczlEVFl3VmtKM1hyNE9nUm1aNlhiTmVnSFJ3YjQzdlU1TW0xaTkxT2E0S1V1Q21JVEZCcXpEanpvOUlVUlBoRGcxQ2YzUVJFNVFsSTNBMnZDYXRNazZQM0JIL2puZDJzKzlKMmtUYXZyY0JwZER3aWU3YlkzQkNrUmh4bEF0ZHk4SEZNcVFmSFVHM3lNaWljNlVNdnNPL1BPdzVDY3I3OXNKemljNTRjeklZNFdmMHVxcEJhcW5TUURaem5QWW8ybnAyWlRYUDdhM2I4SFY3ZG1NdHEybHBCa1pGNTJYRWJkeTl4U0tCQlRkZitJbGFIdXhUaE9lUHZlM0hFck5FZ09DWWpwQWRSem5TdzNtRnhoRnpGeE45WjduSGVwblpKeFZ2MWhnbFh5TWVQcDd1UGpnb1FueXEzWGFIb0NXUXZPUWVDVmFqbG5Mbm9xVFduU3lmdkJJd0lZaFdienNkV2tBWEdzT1duUXRLTEY4Mk52WlY2RGZVUGIyNVptb1RtWi9mMG0vcGlBdm9HbnhoUGxpSUkzMFc2UWQ5bkhmVGxlbEtaRlN6aTM2emtES1FzVUpRNE5ObUNRRWk4K3ZMYXRseHphK3phTTlmbnFzcXhoNm11WkN4Sy84VHNBYUJYaEcwc280bnpxQmxQbERMZ21zNm5nbE0rRVFvLzlHRUorNDBnc2txMmZ2d29nZlREWG5PK1RMaWlvSXZ0VTgrM0Y5WU10RGtDaWd4ZzkvREJ0WkZKenpWdjVCbmtiNmZjdHhpYlE3WkdvRjRmUHROSmgxQ01ZVGRqVHVyMGNyd1M3OWJEZk9sREw3RHZ6enNPUW5LKy9iQ2M0blVaMnBTeVBvdFZMSW1jNmkrVS94RmFVOTJpZWJrQ3NLWEJpaWR2UW1jWGNqN1pzYnZRdDB6TGlYeWZpUCtSZmJQdEJLZzNHQkJMZEpRS2RlOTZSYVdsTE9MZnJPUU1wQ3hRbERnMDJZSkFUYjBEckRTM2xBWTkrMzRrb1VTT1ZMRnBrRGpwWE9SaS9yazNMY2swb1g5V0lBNE9MeHBwM3dMVzVpNDloZ0NFM0dPcER4ck96SEswbGhOc05GbVdVM2VrMFJVdE1XSk9hVXZENVpRSnpJMmZMYjh1Z0d1dlBDcjZiZUFGcjY0UTNUL2RyQ2dQVWl2dnpSN0tuOWR3anJ3RldmeGRqdTdVdTVNZ0dQSUo5Z2xkMWRSL1VEbHQ4WDBsbVQyMFBkc3dEeDFMM3l3c29ka1kyb3BxcFdkaEc1ZGhOd1h1c3Z3Q203NTZKV0lYVmVMTE1TS2cwODR2KytCMGgxK0FMc2R0ZVVyRDgzUEtTOG44bEc0OUhLTVFIakhFbmt2Vkk4SzJoLzZMaXFaZ1g4U3U2WmwxSmU0MDVSRnpoc3ZhNDVJV28walFhL2xXN21Dcjdxb2lmOTVjajM1d25kbVJiZFZXQXRyamhGNVZJQTE4R1pZTk1IeDM3R0NTTm9XWDdkQUdUYktRQm1pSDNjNU1rNlRVdWVha0R6dWlEMFZCVUw5VkVQSnROcVh2dzR4dGpYRUV4UTRibjJuR2hzSFhpOVgxYU45T3lGaGVmWks0L0tvWDZMYXBxSm5rQUhJbDFCdEJwcVZZaWZla1FsV0JNNHErWmNCZER2YzJJUnI3bnJOWHV4Z2J1bVBjL1UzQi9BcnF6YnNTU3lqWEZYcTVGL1FmWE95emtaTWJXcWs0bEFDKzN5QVUraUFpNDNEcHZUdEF1TEVubUcvS3BoVzdJUXE3SzR5VVdIQXA3c0M1OUZ2YktRZVpJNVU0MndvT3FxR1FpMlZSSkxPaWZuRjJkZWtwR3o0bzN5VW9xNjRIWkl4K2RLeXd6TlIwdFVoeUovTVFkTzNPN2RFeXV6NHdxb1JFOHNTVkUxTUdJVG9wREl3Z3hra3hYOHYxVG1mK1RvU1k0NlBEYlFOTW9XUUpaK1JHUXZUUENFL2ZJOG5TQzQyL3FhcUlxaE1ONC9oQUU0SmxsQXNWOFQvOHk1WmhzR1dCVDgyRkNpdDBXakJkSVpGM05heTh3aER4V1hSaXh4UzRSelIzN3RTRWpVcWRYUm85dUs2WWxnNnY0aGVUWnR4QmdJemZqUnBUM2FKNXVRS3dwY0dLSjI5Q1p4ZDQ4NTlyWkRMc0QvVVBJd2E4UXk0OU5Qb0xXUS9vbVlFV21RVmZDZjZsZENacVJERnNCRXhGa09ETENtYmdoNnVzNlVNdnNPL1BPdzVDY3I3OXNKemlmUmRzRDBpUndLUnRRVzRiL0lualdDSmxMTGVzemhkV0Zvc2tld2g2WkVmMFh1THk3b3BKM1U1dU5DTGlkbE42cStXNHN2NDgvV05aZkNYTUV1dG9OVlJDK3hmZFB3cFVPUmVJQWxEU2c3UVN6a0lCekRLeXlQRmRYUEJ5Y2hlUlh6NEFNWlpwc1M4UlJIVW5nQWpHSjZ2bStFclZoeGxpOXo3akUrRDhUUEJ5SXZUSlhESGhxeGdGYzc5Nis5VUVwRndVOUdSWDlNM0NqUlJYZ1FzbVlJc3IvQXVqcUZTKzljUXE3VlY2L3E5Wis0eEROaEMvWUNINjBFSEFWYVhoWFdiRitWNkNUcktjWDh0K0l6RU9USnVtVjFXdkE4dUpzeDRLb0Y1RlhEZXM2VU12c08vUE93NUNjcjc5c0p6aWQyZGNhMHpoYUYzTnJYVjJEbkQ1WHYvY1N3a1Nqbmk4MTB6d1NLVVhraE1NNlVNdnNPL1BPdzVDY3I3OXNKemllNkZlYzdVM0tWaWp2K0kyMUw5ck5JbjRRRlJ0YytjRC9hbHFPVjdRay9TS1JMcGJNTFBGK2d5dHFsa0VsQXN4eXozWDVIS0ErbHkzZWVkei9hL080U0pHbENuWWZLUHFqMzlRWUV5TU1QbGxwaitFRDRMdW9TNk5FZTBZb0JEOFhPbERMN0R2enpzT1FuSysvYkNjNG5yNzZJV1JOektRT1VuNnpyN3hQeDdScVo1ZkZMelJyVE5Xbkx0UnRueFpQN0JaTEUwaVhoZkhicFpqL28rNzRPa05XWFNLaVQ5eEppT3hONUNNU0Vwc3hON2g5bE04bDFNZnVHSWRSUUFuRDdPYzFNcnBSUDBTNGpuSmJwSjFkdDVmbnJrSWhDZHdOYmtwOWRSa3M2ZGxhZUxRN0pzMm1rL1U1YjhOdGZsWFZKMjNSTkVKaytzajNvclczSFVFbElacEkreVJ6NWN5SXZMUGZCQlRkbnNKcnhodzg5K3NVbW84emFCa1l5WUYyT1Z4Uitsd2R5amtzWk9oSnIwOExGQ1AxTm5iVDNNRHkxVS9rR1hKdWlCM2dYS2xwd0xvVkE3OWFTYXFiLzVKWnZqWUdBVXBQb3lQeTNocFIrNmtWdU1hZC9yVjBTakU5TkZ2MVp4UFZFOFpzQ1g3MElZUk8wNkdvcjBaOVhVdHE3b3lsZ1lLeTF0WDdUVkhpYnB0bndnbC82QTJWbFF1Z1d4S3BsQnpROGRzWmQ3M01XRWN2bnFjRTAwNE1IUFZYTGNCVXBUbUxrUUVHTTZxMFppdURkWXpYQW53MC96L2RRc09GSEZXQXd5b2ZCSW1jenphYUdkdFQ2akVhWENWQUtKNW5zY3FIbTFrd1RwaW1tazBIWHVoRjlQT3JMV0lhZUpyVHBFYnE5Z1hpVStCR1pNT283R0ZVMVVJekloUCtqMzFVRkRTLzFqSGxHU29nVldueDJ3ZjRUYk5QanJQUlA4dHFWVGdaamFQVmRBMDBEbWVTd0FSM2NQQk9Xc3dWbWkzdGZsZWlTMFFIa3hZbWNiS0RNMXFFVmh6clBQbXNyQ283aTFwWmZhNThLVGtWWXkrVFFHNUEzNmZrdFd3N2txWHExdVRiSjNBY0pSNlhJSld0TnFxSEFzWEd1d3NkZzdnNENFNjZJVytiaHRsUHBEVTlzalhRV3ZvbEhGanYydmtDOEMwT2ZRc3BkVGZ5MDE2dkFJdlRUTWZaRWFzMEtubkxMRTRYQjJ0QU5KaHFXdjJLbWxFSGZ4VFdQZVppVVFNdjMxTjVMcFdDZDFJM3BJeiticTcyaHVLeEVmeWc2SzJTRlV5cWlvVEk3V1dpYW11WUsrNEFBcnF4Z3V2SnIyeHdxVFlPUmk4amJHaVVFbHBzNk1yWVlyL1l2ejBQZzFJdCs1L1NUNXBWK2h5dDVGQ1hQTGFLN0h4RWZ3YmpGWWs0VkpmaUpibkhsZDFrMWVCMmdzYm9uT251MVE3ZC9ROFlFT0hublpsTTdReUFIOWMvY2xwL0hKbTIzS3pFSEpITHlzV1F1NVQyU3RiKzJOL21MZ2ZiczBpQk80NXo4cHhvUFhqenQrcFJvdGNJclV1Y3B3ZnRnVWRCRlo0YzE1enZreTRvcUNMN1ZQUHR4ZldETDJXQUZsMzhGa0pwbndKU1BnVFhJTm8wSzd2VGM0NjdNOEczejhWMktoanE3NVhCOC9KRXNiWVBzSlNqVXZwSWc0Y3R2bmtWVkhvT1RSd1l3YVhOenJqeXRscmxDZHpPazNYYmNYOEFyZ25MSkdmZXFtbnZtNVBmTnh0TkpGRk5XVEc2VXViSDNSVWMyQTJyUXdiN1dJU0t5bmxyRXpwUk5mRnRHTlIyUTIvVkQ3eW43dXpTWUx6bFhtZVRpN1F0L3dObjlXZzExREhzYWdVZjBldkNnTjdYUHA3djNzTTF2QzB2OTBiSVFTQ0licFkzQkNiV0UrZ09HYXpvYWJUZVEzSHY0Y2NPTWkwK2IxWUYrdkkyN2FTNHh0V2cxM2h5RlFkaElmd1IrYXJHZGNRRzcyV25UTHNYdll4cXhwUjZkRk80bStFNDZnZ28wNnRpQjhPQklwdGlTM0czQVN2RzNPTFR3SSthNnVVb2NsWmtibGVadnFUL1FLWVpRQ2F2bVM4SWQwV0wwZXVGN3ZDQksxZFQ3U1NHZXp0cytRcFVtVlE5aU4vY2UrOEYrRWJCajc4THNNOU9ycXB0S0hTcXJ6WGlMUm13ckVSemcvRXNaUTJsRHZ2Q0E0TmtzZFVPRU1aZktHVnZNY3BnOTZIcU5VVmx1Y1pKc3BwaHBIWVFGdXVnM1QwajNkT1NWRXVtbEtGWldXSTgrOGhtYUlkRjZZMFpFdXFyRlV5c3NoMkkxbU10VTQxVXZKU21JZjRRSlNFSmxGVGNQNnpReEhTUTR1b2xTeHRMOG9qS0JQaUJXdmNteUs1TlMySmNCakhTaFllb0hCeGxJSC8zWjBxRWxVamd0ZVdISzhNTDRBT1haSUhNbk5lZTNCZ2hla05HWExzbTYrZmtudW1KVG5oQVBKb0UzaGQrVUFPcGE3UGlNQ0xQMFhLNlJvYlg2ZEhkWDhXblQ5bHUyOGxwelNuTzNudmM4QnZNWXZaYlllcnZkdnpsM2ZVSGl5ZmdFZnJ5clRjZUFqUVI3bHRVeGNiU1Y2Q3lxVVV6SkxmRXFLSjZzZ29HWFRGQVlmdlk2ZEllNHF6anlIcTFkaGdGOUlkNi9JUVFHMGZBZVRaS2VBUnNXRlNpUEJJTWtVc2hUeHY1VXBFUWlTYWlQamtFd0pLbUlyWFVFTDZUeStjYjJDVHFGM1lsQ3F1MG1hS3NFc1VFakIwZUlFbk9lZmthQXJsYU9RbS9kaHFLRElQd2xGeDZRd2V0THNQLytrdVhFa0dhSlEyRUpLVHlNNWt6MzRVdlpObGx5OGcvRUZuUHNGNUJwUVpyQzFCR0d2TW9mOWZJbDk1NTJEQlN6RFV6aUplK2VXR0VOQytjZS93WUtPWkRsNEJJWnJDVjNjZ3FKUkZIaWE2aTB6NGFXWEE4b25iRDVxR215WGd2M2tKMjRyS1gvSUU3YlE5Z3pEczNLd2NNU1MzMWtIaHgrSWVSOWNGMVZSYmJwcU5IMVo2aHhhT3BwQUcyNHFoTjdJczMvY21VckZzZm5xQW9FUnBTOHVsV3o0OTd5MEhGYXdnUlk5ZDJlT1N0dmtsYjR5UE0rV1RWYkp6ejQ4eDZtaTBEaUl1TTdMSGl4dEllcHFhYlpaQloxQ1lpLzkvcWcwUVovbXJxY2JnOVRFVDhFcHg1RFl1bzcrOXBaSFZFNm1NdW11bHVpa0M4c25qcThXTzlTMTdNbm9naktsaVBQUVJaSnpyb3JJRkYzZENlVkt5eGo0RWZJQXl1UjY3aDZoTkFSU0ZoL2J0Z29Xd25iSmFlWEg4a1ltWlJIRmJpNjlBTFdMUXRRRG4wck9uOWk4aTNzeEp5cnBNRnlzNnNBeHd5VzJxWnlGLzNKanFYZUFzaVBQQW9nL1NxTlZQNXB0UXNXbmw4WFZub011NGNUVGl3SmVUb1BlR2dhb0RkRnYwRkszWlloRUU4dkR6d3Mwd2xkZUtuYlJWRkw1RFpWQ1dCd2d2MXU0VzZJS0wyQmVyNU5ZcFV2Mnk2OFdiRGFGdkV4Vkp4bld4VldBNHBwYmdqdEFDUnBJNjExVTRMMUx5WlhpdDFPbk1qN2JQVG1hRU0rMFpVUFZ5WUR0WjV0VW11NXlwdFdRZVlQM0Z2b1hVZ28zWTVnN3hyNURpVWlYUTNqeURYdXE4SGczemZkNUFuWllBV1hmd1dRbW1mQWxJK0JOY2cyZTIycy9sdjBZbnZqL1gwV2hnMmRxUWwrd21qMmlOODJHdlJIMGkzYUFUMFphZDd6bWxHOTVXbEFETitKc1FmSXVLY0hGVE0zU0pMSDQzUnJlQUV5TnovUFBjbUdHZGUrL1YwOHNFejNBNDNFRlQ2bzhGYmFUQTk2Wnp4bXV5Y21EMXppMFpaUG5FNU5HTzhrT3R5N2dMN0lBcVVwN3Uzd1dVbktZUTBUNmU0dUl3bjRmMWFBajZrM3VRNEJEM0NCVkFWQ1ZJdVNNMXNvTDFsbW9ka1hhVncwbC9NdGpBcGNUaTlIOTJXRkVROEg0VjhzUE82RnI1WDhpdDZBWUZtZWt5bUwyUk5mc0RMUzhLSG52YjhvWkE9PScpXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJCYXNlNjRQaWNcIixcInBhdGhcIjpcIkJhc2U2NFBpY1wiLFwicnVsZVwiOlwibGV0IHBpY19ob21lID0gYGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQUFDWEJJV1hNQUFBQUZBQUFBQlFISDMzTlNBQUFBR1hSRldIUlRiMlowZDJGeVpRQjNkM2N1YVc1cmMyTmhjR1V1YjNKbm0rNDhHZ0FBSUFCSlJFRlVlSnp0M1hsNFZPWDFCL0R2dVRPVGZRR1N6Q1JzZ29KV05oZFFGRkNSb3FMaUJvSzdiYTFTYXkwa2JHNi9hdHdWTlFGcXJkYmR1ckpwSzFwVXhLVlNGK3FDSUdwbFUxa3lNd21RUFpuTTNQUDdJeGtFQ1dUdTVONTU1ODZjei9QMGFVZ3lkNDZaZWI5enQvZThCR0ZyUGN0K1RBODZNL29pcFBkbHNJZWc1ZXZNK2FSUlBwanpBT1NCa0FkR1N0dER1cmI5ZndxQXpMYXY2d0VFMnI3ZTJmYi96UVJVTVZBRlVCVXpWMmthL014Y1JUb3E0SEpzZGdZYk5tMlozcXN4TnYrbHdncWt1Z0FSZ1VmWTVXbmFlUmowMEdDQUJ3TjBNSUErYmYvektLME44SUo0RTBDYndid0pURjhTdERVVk5kMitSU2tGRmRjbU9pQUJFR2Q2bHYyWTNvelVZVVEwWEFPR01EQVl3QUJnOXllNFhRU0k4QldZMStpZ05jejhjV1pOL2FyTnBYMmJWQmNtZmlJQm9KaDdydGREdW5Zc0VZWXlNQktFVVdDa3FhN0xJa0VBcThHMGtqVjg2aVR0M1czVHV2Mmd1cWhrSmdFUWE2WHNMT2pxUDA3VE1SNmdzUUNPUm5LL0Roc0JMQWRqYWJaejE1dnJwL1p2VmwxUU1rbm1OMTdNOUpoZjFiTWx4R2NSZUJ5QVgrS25rMjlpYjNVQTNtYkdzaERvMWFycCtWdFZGNVRvSkFBczB1UEJtcnlXWU9CTVlyNE13QmdBbXVxYWJFWUg4Q0dZRjRhSUZsU1dGR3hYWFZBaWtnQXdVWThIYS9KYVdnS1RDVHdad0ltUVFXK1dFQWp2czQ0RktVaFpzR1Y2N2c3VkJTVUtDUUFURk0zekQ5VjFUQUZ3S1lBTTFmVWt1R2FBL2duZ2I5N2l2TGRCeEtvTHNqTUpnQ2oxZm1oWDErYm1sa2tBcGdJWXFMcWVKUFVkRVQydUkvU1VyOWpqVlYyTUhVa0FHT1Ird0h1RXBta3pHTGdBOXJzMm42Z0NCSDVSMTduTU44T3pXblV4ZGlJQkVLR0NlYjVSV29pdUErRk15Tjh0bnEwRTQxNXZTZjVTT1R6b21MeVJENlNVbllVNVZaY3c2VE1CR3FTNkhHRUVyV0hnUGwrUHZPY3htVUtxcTRsWEVnRHRLV1d0c0l0L29zNTBPd0dIcVM1SGRBSmpFd2ozZUh2a1B5NUJzQzhKZ0QweGs2ZThjandJdHdFNFVuVTV3a1NNZGF6UnZiNWRlYytpbEhUVjVjUUxDWUEyN3JLcVU0bjBleUVEUDZFUjRYTm1tdTB0eVYrdXVwWjRrUFFCVUREUDExL1R0VHNCbnFTNkZoRlR5OG1oVGF1WW1yZE9kU0VxSlcwQUZQekZsK1VJMEV3R3JnZVFxcm9lb1VRTG1QNGFDR2czNzd5K1c3WHFZbFJJdmdCZ0pzODgveFZndWh0QWdlcHlSRnp3RXZqNml1S0NwNVB0MG1GU0JZQ24zSHN3b0QwQ1lLenFXa1Q4WWVCOUoySEt0dUtDYjFYWEVpdkpFUUNsN1BUaytQOEFvanNoVTNIRmdUVVNNS2NpSS85Ty9JNWFWQmRqdFlRUGdPN2wvcU4xd21QTU9FcDFMY0krR1BpTXdiLzFsN2kvVUYyTGxSSTNBSmpKVSs2ZkNxSTVrSHYyUlhTQ0JOeFowU1AvOWtTOWlTZ2hBNkQ3dkIyOVEzcm9HUUFucWE1RkpBTCtFT0JMdlNXZWphb3JNVnZDTmF3b25PdWJGTkpEbjBNR3Z6QU5IUTlvbjduTC9aZW9yc1JzQ2JNSDBQMlJiUmw2Zyt0aEJpNVRYWXRJWUVSUHV2VEdQeVRLZ2lnSkVRQUZaYjUrR3RGaUFFTlUxeUtTd21wQW41QUlod1MyUHdRb2ZNQjNoa2IwQ1dUd2k5ZzVBdEErZDVkWG5xdTZrTTZ5N3g0QU14WE9xNXJOekhjaEFZSk0yQklEUE1kYlhYQ2pYV2NZMmpJQVBQZFZaTUxwZUE3QU9hcHJFUUxFTHp2U2c1ZHUrMTMzQnRXbEdHVzdBQ2lZNHl2VVhQUXFnR0dxYXhGaUQ2dVk5TFBzMXB6VVZnRlFXRlkxa0VsL0RjQkJxbXNSWWwrMFdRUE8yRjZTLzdYcVNpSmxtMk5uVDNubEdDYjlBOGpnRjNHTCsramdsWVVQK0U5V1hVbWtiQkVBbmpML2hRQXZBOUJGZFMxQ2RLQXJhMWhXT05kbml3WXpjUjhBN3JtVmw0THdkd0F1MWJVSUVhRVVabnJCVSs2N1FuVWhIWW5yQUhDWFYvNmVtSjhHNEZSZGl4QUdPUUI2ekZQdUwxWmR5SUhFYlFBVXpxMjhqc0FQSVk1ckZLSURCS0RjUGRkL3MrcEM5aWN1QjFkaG1mOVdacjVIZFIxQ21JRVl0N3JML2Jlb3JxTTljWGNaMEZQbUx3R2hUSFVkUXBpTzZRYnY5UHk0K21DTHF3QW9uRnQ1TFRQL1dYVWRRbGlGZ1JtK2tvSzQrWUNMbXdBb0xLdjhGUk0vZ1RnOUxCSENKQXhnaXJlazRESFZoUUJ4RWdDZU12K0ZJRHdMd0tHNkZpRmlJRVRFRjFVVXV4ZXFMa1I1QUJTVytVOWl3aHVReFRsRWNtbUJScWQ3cCtXL3JiSUlwUUZRT0w5cUFJZjBEd0IwVlZtSEVJcFVRM09NOGs3cnRsWlZBY29Db0cxVzMwZVFlL3RGVXFQTlRLSGpWTTBpVkhMQ3JXZlpqK21haTE2QkRINlI5TGdQc2JiVWMxK0ZrZ1ZyWWg4QXBheTFVTm9MQUliSC9MbUZpRS9EeUtrOUErYVk3NUhIUEFBS2N5dHZoblR5RVdJdkRKcmdtZXUvTWRiUEc5UEVjWmRWblVxa3Z3NjUzQ2RFZTNRQ2o2OG9jZjhyVms4WXN3QW9MTi9laCtINEwwQjVzWHBPc2E4TUYrR1hmVkl3c3BjTDNiTmFkd0FyNm5WODhHTUwzdDRVUUgxTFVxMk9IWTkyQXZxd1dMVWNqMGtBOUN6N01UMm9wYTJVQlRyVnVuQmdHbTRja1FGM1p2dEhmcFVOT3U3NVR3T2VYZHNVNDhyRXo2eDJaTFNNaUVXVDBaaWNBd2hTMmlNeStOWFJDTGpyNUN6TVBTVnJ2NE1mQVBJek5Ody9OZ3NQak0yQ1Eva3RZa250aUZDOWEzNHNuc2p5bDdtdzNIYytnNVRmOHBpc0NNQTlZN0x3cXlGcGhoNzN6LzgxNDVwbHRRamFzdHQ5Z2lDKzBGdnNmc25TcDdCeTR6M21WL1VNaHZRdklYZjZLVUVBN2o0NUM3OCt3dGpnRDF1d3JobkZiOVZDbDlNQ3F1eHlhSTRqdGszcjlvTlZUMkRkSVVBcGE4R1EvbmZJNEZlQzBMcmJIKzNnQjRESkExSlJma29XTkRrY1VLVkxVQS85SFF2WXNxdG1sZ1dBSjlkL0E0RFJWbTFmSE5pZlRzakViem94K01NdUdKQ0dCOFpLQ0toQ3dJbUZXNnRtV0xoOTgzVXY5eDhkQWo2Q2RQSlY0cWFSbWZqak1lbW1idk81dFUyWXVid09jalNnUkVBSEQvZVh1TDh3ZThQbTd3R1Vzak1JUEFvWi9FcmNNQ0xEOU1FUEFKY01Tc1B0b3pQVnp4OVBUaWthNkVrOHdxYVBLZE1Ed0pOVE5aT0FvODNlcnVqWWRTTXlNTzNZRE11MmYrV1I2YmoxSkNWelZnUndwTHVoY3ByWkd6VTEwQXZtK2Zwck9xMEdZUDVIa0RpZ21jZGxZT1p4MWczK1BUMzhXU05LMzYrUHlYT0p2VFN3UXgvaW0rclpZTllHemRzRFlDWk5wNGNnZ3ovbXJobWFIclBCRHdCWEg1Mk9tMCtRUFFFRk1ralhIalZ6MXFCcGx4YzhYZi93VzREaWVoV1VSUFQ3b2VtNFJjRmdQS1o3NitIb2Y3YTB4UHk1azF6ZjdBOGJOOVc5TVdlMUdSc3pKVW02emEvS2NlbjZ0MkFVbXJFOUVaa3BSNlhqTnNYSDVITStiRURaeDViZnNpNzI1Z3MwT3c3ZGVYMjM2czV1eUpSRGdKU1Fmb3NNL3RpNktnNEdQd0RNUGo0RHhSYWVlQlR0Y3Fla0JtOHdZME9kM2dNb0tQUDEwNGpXUXJyNnhzeWxnOUp3Mzlpc3VMb2tkOWZLZXN4ZjFhaTZqR1FTMERVZTVKL20vcTR6RytuMEhvQkdOQmN5K0dQbTRvSHhOL2dCNE1hUm1iaDJtSnovamFFVVRhYzVuZDFJcDk1SG5ubVZ2NFRPeXp0YmhJak1oUVBUVUJiSHQrVXlnSnZlcWNNVHE2V2ZRS3d3YTZmNXB1ZTlHZTNqbzk4RFlDYm9mSC9VanhlR1RCNlFHdGVESDJqOU5MbXpreE9RaERGRStsMmR1U3dZZFFBVXp2VlBCSEJrdEk4WGtUdjcwRlNVbjVJZDE0TS9iUGNVWklQOUIwVFVobnJLcTg2TzlzSFJCVUFwYXd6NlU3UlBLaUozVnY5VVBEUXUyMVlkZWdqQTNXT3ljUGxnQ1lHWUlQME9sSEpVWXptcUI3bHpLeThDTUNTYXg0cklqZStYaXIrZW5nMm5EZGRMRG5jaW1uUzRuQisySGcwcTdPS2ZHTTBqamIrMVdwc1R5S2UveGM3b2w0Sy9ubUhQd1IrbUVURDMxR3ljL3dzSkFjc3gzUkZONHhDbjBRY1VicW02bEFtSEdYMmNpTnk0UTFMd3lCazVjRmswK0p1Q2pLLzhJVlEyNnNod0VYcm5hRGdvMTVxbU00NjJFQWpvclgwR2hUVVlPTlN6cGZJQ0wvQzhrY2NaRGdBbW5tNzBNU0p5WS91bTRGR0xCditHblNITStiQUJiMjRNb0RHNGQydVBRN282TU9Xb2RGd3lLTTMwdlE2bkJqdzBMaHNobmZIYStvQzVHeGMvSVZ3SDVoZEFGSEhmRmtPbmxnckxmYWN6NkhYamxZbElqT21UZ3FmT3lrYUtCV2Y4bmx2YmhPdFgxS0dsZ3k2L1J4YzY4ZFJaT1Fkc0h4NnRGaDI0NnJVYUxOc2dJV0FkT3NWYmtoL3h2VG1HWG1WbXNxdzNXYkk3cWJjTFQ0NjNadkRQKzZRQk01WjNQUGdCNExPS0lNNWFVSTJ0dGViM0EzZHB3S05uNU9DVXZpbW1iMXUwSW1KRFl6VGlkNXQ3cm5jSXNmYUZrY2VJeUF6djRjSUw1K1lndzJYK256YmE1aDA5Y3pTOGNuNFg5TXl4WUU4Z0JGeXh0QVp2YlpJOUFTdXdyaC9wbStHSmFMcHd4Szh1NmRvc3lPQTMzYkhkWFhqZW9zSC90OCtqNzl5enBVYkg1Q1hWcUtpM1lFL0FBVHd4UGdkalpVL0FHcG9qNHI0Y0ViM3IzSE85SG1MdEJ3RHlpcG5vbUNJWFhqZ3ZCMWtwNWcvK3g3NW94Si9lcmU5MEY5OUR1anF3NVB4Y2VDdzRKOUFVWkZ6Nmp4cDg4S00wRlRGWmdCekJuaFZUaS93ZC9XSkVyNm9HeDY4aGc5OVVRNHVjZU42aXdmL2MyaVpUQmovUWV1Vmd3cUpxK0N6WUUwaHpFdjUrVGc1RzlwSUcwaVpMMFlQT3l5UDV4WTREZ0ptWStiZWRMa25zTnRqdHhQUG41aUxiZ3NIL3dsZE5tUFcydWYzN04rd01ZY0xpYXZnYnpBK0JkQ2ZoMlhOeU1LS25oSUNwQ0ZkRk1rbW93d0FvTEtzY0RhQy9HVFVKWUZDQkV3c241Q0kzMWZ6Qi85SzZKc3hZWG1mSlduN3JkNFJ3NGNzMTJObGsvc2JESVhCY0R3a0JzeEJ3V0VHNWYxUkh2OWRoQUxDR3E4d3BTUXdzY0dMaHhGeDBTVE4vOEM5WTE0eVN0NndaL0dGZitZT1l0TGdhdXl3SWdReFg2K0hBMFlXRzcwMFQrK0VnWE5uUjd4enduZGpqd1pxOFlMQjVDeGd5cmF1VEJ1UTdzV2hpRHJxbG0zOHlMZFpMZVE5Mk83Rm9valY3TVRYTmpNbExxdkdGTjJqNnRwTlFZMnFxcThjUDEzVFp1YjlmT09DN01SUUlYQ0NEdi9QNmRYUGd4Zk9zR2Z4THY0dnQ0QWVBTmI0Z0xuNmxHclVCOC9jRWNsSUpMMDNJeFJFZTJSTXdRWHB6YzhzQlp3a2U4QjNKeEpQTnJTZjVITkxWZ2NVVGN5MjV0ZmExOVFGYy9TL2pnejk4K1hIdGxHNzQ3eFhkY09mb1RIUTFlRmp5NmZZZ0xucTVHblVXaEVCdUttSEJoRndNZGtzSW1PQ0NBLzF3djY5NndSeGZvZWFpTFRCeDhaQmtjM0FYQjVaTXlrV2hCWVAvWHhzQ21QSmFUVVMzOSs3cG5FTlQ4ZUM0N0gwbUcyM2NGY0xFUmRYWVhtZHNnOGQyYncyVFRBdHVaS3BxMURGeFVUVytxUXFadnUwa0VrSXcxTjA3cTlEWDNnLzMrODdVVWpBWk12aWoxcmVMQTR2UHQyYndyOWdjd085ZXJ6VTgrTS9zbDlMdTRBZGF3eXFhZWovWjFvS0xYNjVCZll2NWV3SjU2Um9XVGN6RllYbnlOdXdFQnpzY0UvYjN3LzIvMmt5eSt4K2xuamthRmt6SVFWR1crWVAvM2U5YjhKdWx0UWlFakEyNDB3OUp3Y01kVERNT2g0RFJ1LzQrM3RhQzM3eGFnNmFnK1NHUW42Rmg4Y1JjSE5wTlFpQmFSUHMvREdoM3Y2M0gvS3Fld1pEK1BTeFlQanpSOWNqVzhQS2tYUFRPTWY4Tis5NFBMYmo4bnpWb05qalFqRTR6M3JBemhQT2l1UHZ2cE40dVBITjJEbEtkNWg4TytCdDBuTGVvR3V0M3lPRkFGRUlob0ZkbFNjSDJuLytnM1FIZUV1S3o5dmN6c1gvZHN6VXNPZCthd2YvUjF0WlBXYU9EZi9SQnhxY1pIOUxWZ1NVVGMxR1FZZXd0OE40UExmajFxN1dHYTR4RVFZYUdoUk55MGNlaXprVUp6dUVBem16dkIrMit3Z1ErM2RwNkVrOVJWdXZndDZLMTFzZmJXbkRKS3pWb01IaWNmVkp2RjU0K0s3cFA1UENsUzZOWEI5NzVQaERWSVVva3JQd2JKN3I5amVsOUFtQmdLYWNBT05ueWloSklRWWFHQlJaOU9xM2FIdDFKdHVFOVhIZ3l5c0VmRnUyZGl5czJ0MTZlTkhxU01oSlc3bVVsTWdhTnhTTzh6NzNXK3dSQVpXN1ZpUUN5WWxKVkFzalAwTEQ0L0Z6MHQrQWsxWCszQjNGUk5JUGZ4QjRENGJrTFJrUGc5ZlVCWFAxNmpTVTNLUFZvQ3dFcm1wVWtzSnpDK3NvUlAvL21QbjlCSWg0WG0zcnNMeitqOVkxb3hSbnFhRyswT2FiSWhlZE52aTQvMk8zRWMrY1luNzM0MnZvQXJuMmpGaFljRGJSZGFiSG1NbXVpWW0zZnNiM1BYNDkxeVBGL0JMcWxhMWc0SWNlU3diL0dGOFFsL3pCK3ErMndJcWRsTitVTUxYTGloZk55RGZjdmVPWGJadncraXJzVkl4SHR2UXRKaTJtZnNiM1hxOW5XK2FjaWRoWFpVMjRxWWVIRVhBeXg0RmJWdGY0Z3pvOWl4cDJWRTNUMjlNbTJscWdPU3lZUFNNVmNpOVkzRERjdDhWclF0Q1RCTURtQ25qMDdCZjA4T2p1Y1A1enNjdHJ1VTdkaThLK3JqRzY2N1dDM2RUMEdmdTdZN3RFZFlpeFkxNHpwRnZVcUNNKzNNSHJaTWdrUjY4N2o5L3pHWG44eGpiVjlUaEtJbitTa0VsNDZ6NXFaYXV0M2hIREJFdU1OTndZVk9MRWdpcE4wblRHOGUrc1ZoalNEVnhoZS9Lb0pNeTBLZ1g3ZEhIaHBndkhMbHNtR0dTUDMvUGRlQWNEWSs0ZmlKOWtwaEJmUHk4VlJGalNzaUxibDFvRDgxc3QwS3Q3MEovWjI0ZWtvN3ZwNy9xc216RGE1WlZtWXlyK0hYUkQyRXdBOXkzNU1CM0JVekN1eUFTdTcxVVRiZERNZVB2Rk82dTNDVTJkbEd3NkJaOXVhbGxwQnhSNlJ6UXpyVTdwcGQ0K1AzUUVRMGxLUGdYVCszWWVWL2VyQ1UzQ05ucnlLOWxaZEs1eDhVRXBVS3hvOTlrVWpibjdQbWhDSTVUa1JHMHB0eU0wWUd2N0hUd0hBZEt5YWV1SlhlbHZiYWlzNjFrYTc4TVloWFZzdmZWblJZQ1JhWS9xazRPSFQyNTltZkNDZFdiaWtJNFBkVGp4M3J2SExsc2xCRzc3N3EvQVh4RGhDVFRIeEtjVkJlSHg4TmtaWjBMTithMjNyekxZdE5jWUdmenhmOXo2algrdDBZNk1yQ3ovOFdTTnUrN2MxSVJDK0wwSkM0T2RvY1Bpcm4xNHV3dUIyZnpjSnRTNWRsWTB4ZmN3L0l0cFdxK084aGRYNHNjYll0Rlk3M1BsMlpyL1dQUUdqSWZEUXA0MjQvNk1HUzJvNnBzaUY1ODYxNXVZbysrSWg0YTlhWDZyV1NRS0hxeW9ubnJnY3dPTm5Xck51M2ZZNkhSTVdWZU1IZzRPL1I3YUdsMjF5Ny92NC9xbDRhSnp4RUxqL293YVVmMkpOQ0F6djNob0NWcXkvYUVjRURFUXBPNEcyQVBEVWUzOEJPUUc0ZS9DZmVyQjFnMzl6dGJIQkg1Nzkxc3RHczkvT1BqUVZaV09OMy9WMzczOGE4T0IvR3kycDZiZ2VMand4M3BwbUpUYVVXcFJiMVI5b0N3QW14NUFELzM3aWN4RHc0R25abGd4K2Y0T09DNVpVWTlNdVk0UGZ6dlBmSnc5SVJkbllMTU1oY01jSDlmanpLbXRDWVBSQjBmZEhTRFE2NlVPQXRnQWc4RUMxNWFqbElPREJjZGs0NTlCVTA3ZGQyYURqL01YVitKL0JWbGFKMEFIbndvRnBlQ0NLRUxoelpUMytZdEdlUURRZGtoS1NyZzBDZHA4RXBJTlYxcUtTZzRENXAyWGp2TVBNSC94VmphMkQvMXVEYmEzRFBRYjZKVUFqeklzR3B1RytYMlpGdGc3OUh1NzRvQjVQckc2eXBLWXhmVkx3eUJuR0wxc21GT0srd0U5WEFmb3FMRVVaallCNXAyVmo0aS9NSC96VnpZd0xYNjR4M05NK0VidmdYaklvRGJlUHpqVDBHQVp3MHp0MWVNcWlFQWgzU1RaNnNqSmhNTzBWQUgzVVZhSUdBYmgzVEJiT3QyandUMTVTalRVK1krdmJKWElmL0N1UFRNZHRKeGtQZ1J2ZXFjUFRYMW9UQXRGZXRrd0liWHNBRHM5OUZablF0RHZRd1VLaGlZUUEzRE1tQzVjUE1YL1p3NXBteGdWTHFySGE0T0tXNGVXd0JoWWs3bkpZUTR0Y3lFb2h2UHQ5aTZISHZiMHBBRSttWnNrc3pFUHpuT2pYMVlGL2JRaFl1ckp5SE1vcU9QNmFleDNacDk5d0tJai9vTHFhV0NFQWQ1K2NoVjhmWWY3Z3J3MHdMbnk1R3A5SE9maUhKTUdDbU1PS1hNaHdFZDc3d1dBSWJBNmdkNjdEa29BOExNK0pudGtPdkxFeFlNa3N4VGhGbko3eXJDUHIxSm5IZ09nUzFkWEVBZ0c0NitRcy9NYUN3ZC9Rd3JqMEh6Vll0ZDM0NEY4NE1ibFd3ejJtdXd0RXdIKzJSQjRDRE9ETmpRSDA2ZUxBZ0h6ei8xWURDNXpvbWFQaHpTUUtnUkR6YTQ3TTAyZWZCT0JzMWNYRXdwOUdaV0xLMGVtbWI3Y3gyRHI0UDl4cTdGTXRPNFh3NG9SY0hKbEVnejhzUE1IS2FBaThzU0dBZzdzNmNMZ0ZJVENvd0ludTJScmUycFFjSWFBQkt4eFpwMTEzS2doalZSZGp0WnRHWnVMYVk2d2IvRWJleUVCcmo0SG56czNCTWQzTm4yeGtGeU42dXNBTVE4SEpBSlp0Q0tCZk53ZCtrV2QrQ0F4Mk8xR1lwZUd0alFIVHR4MXZTS09WanV4eHM4NEJrTkN0d0c0WWtZR3B4MmFZdnQybUlPT3lmOVJnNVkvR0JuKzZzM1h3SDIvQk5HTzdHZGtydWhCNFkwTUFBL0tkbHR3ck1jVHRSSmMwd29yTnhsNVgrK0hQSEptblgzY1JFcmdUMEhVak1sQnN3ZUJ2Q1FHL2ZhM1c4Qm50Y0lPUmtSWk1NN2Fya2IxYzBBMkdnTTdBYXh1YU1hakFpVU82bWg4Q1J4ZTZrSk5LZU1mZzYyc3Y5STBqNjdSWlZ3QTRUSFVwVnBoNVhBWm1ETGRtOEYreHRBYkxOeG5iVFV4ckcveFc5Qml3dTVHOVhBanByWXVnUmtwbllPbjZaZ3h4TzNHd0JTRVE3V1ZMMnlEKzNwRjEyblYvQktHWDZsck1kczNRZE53dzB0aU5KNUZvQ1FGWHZsYUROdzBPZnBjRGVISjhEa1lmbFBTVEx2ZHJWQzhYZ2xHRlFNQ3lFSWoyc3FVZE1LalNrWFhhckJrZ0ZLZ3V4a3hYSDUyT1cwNjBZUERyd0pUWGE3RE00QW1pMWdZajF2UVlTRFNqZXJuUW9nTWZHd2lCRUFPdmJ3aGdXSkVMdlMyWVBCVStVV3YwUkcrOEkzQ3RJMnZjN0JrQXVxb3V4aXhUamtySHJRWnZPWTFFaUlGcjM2akYwdStNRC83SExPb3hrS2hPaUNJRWdqcnc2bmNCSE52ZFpVbnZoQkU5alorbmlIOVU3Y2djTjNzV0FUbXFTekhEVlVlbDQzYUxCdjhmMzZqRnk5ODJHM3FjU3dNZVBUTUg0dzZSd1cvVUNiMWNDSVFZSDIrTC9NWXFxME5nWkJTSEtIR3UzcEUxYnZiMUFNd2ZOVEYyNmFBMDNEM0crTFRUam9RWW1QWkdMUlovWTJ6d2gzc01qTzl2L21TalpIRkM3eFEwaHhpZkdBaUJscllRR043RGhaNFdoTUNvWGk3RE5jVXRRcU1qYTl6cy93TmcvcjJ4TVhUeHdEVGNGMFhqaVk3b0RKUzhXWXVGVVF6K1A1K1dqZk1zbUdtWWJFN3NuWUttb1BFUWVIMURBS042cGFBb3kveXBmaWYyVGtGamtMSEsvaUhRNHNnYU4vdG1BTGE5TGhWdDE1bU9NSURyVjlUaCthK01EMzZyZWd3a3EyaENvRGtFdlBwZE0wN29uWUpDaTBKZ1o2TnVlT0pYbkdFTk5tNEdHbTNmdVk0d2dCdFcxT0daTmNibW9Xc0V6RDAxMjVJZUE4bnVwbEdadVBKSVk3ZHloNmRtZjJtd0wwTWtDTUNkRnMwcWphRlUyN1pDT1B2UVZKUmJzTjQ4QTdqeG5UbzhaYkFKUmJqSHdLVERaZkJiZ1FEY1Bqb1R2elVZQXRYTmpFbUxqVGRuaWJTbXUwL093cThzNkNzUkt4b0EyODE2T1Bld1ZQejE5R3lZM2RlUkFmemZ1L1Y0MG1BYktnSnc5NWdzWEQ3WXZtOEVPeUFBZDR6T3hCVUdQM1dybXhrWHZWSmp1RGRqcERYZGZYSVdMaGhneTllKzJYWUJNTzZRRkR4NG12bURId0JLMzYvSDQxOFk2MGE3dThHSWpUOEY3Q1M4NjIyMHAwTzRPL042ZzkyWkk2RVJVSFpLbGgwdjl6WnJBSXlkNVZMSW5hbGgvcW5XOUhDNzdkLzFlT1F6NDRQL2p0R1pkajhPdEoxb0c3djRHM1JNWEZ5TkRUdk5ENEh3bFI4cnJqcFlodENzc1kzMkFHWU16MENPQlVzKzM3V3lIZzk5YXJ3UC9VMmpqQitUQ25PRVE4Qm8rSHJyVy9jRWpDN1NFb25zRkxKazVxbGxHQUdOYkJJQUxrZnJzYi9aNW56WWdQbFJyRVJ6NDhoTVhEdE1CcjlLMGZaMzNGN1h1aWRnZEkzR1NFejhSU3BjOW1ucTNLd0JzR1lKRnBNZDFzMkpYSk0vL2NzK2JrRFp4OFlYcEx4K1JBYW1XdEJkU0JnWDdUbVliYld0YXpVYVhhSzlJMWtwaElFV3RDdXpCamRyQk94VVhVWWt6TDZaWS82cVJzejUwUGpnbjMyOE5RMUdSUFRDVjJHTVhvN2JVdE82SjdDdDF0d1E4TVR4RXU1N295cU5nU3JWWlVRaUVES3ZUZU5EbnpiaXJwWDFoaDgzODdnTVRMZWd3WWpvdk4xclBSaThGUHQ5ZFFnVEYxZGplNTE1SWRCaWJwNVloc0JWR2tDMkNJQWZxczM1cXo3eVdTTnUrN2Z4d1gvTjBIVE1QRTRHZnp3akFQZitNZ3VYR1F5QlRidENPSDl4TmJ6MTVyekhyTGpVYUFWbXF0SVlYS202a0Voc3JnNTErdkxOczJ1YlVQcSs4Y0gvdTZQVGNmTUp0cDh3bVJUQ1M3NU5IbURzaFBHR25TRk1XTlQ1RU5pd00yVEp5VVZMRUZkcW1rMzJBQURnTVlNMzZlenBxUytiTUd0NW5lRis3MU9PU3NldEZuUVhFdGJSQ0poN1NqWW1HN3d0ZThQT0VDWXZxVVpWWS9RaFlQUVdjcFZhOXdCSXQwMEFQTHVtS2FxSkhjK3ViY0lOSzR3UC9pdVB0S2E3a0xDZVJrRDVxZG1HNTJaOFd4WENwTVUxMkJGRkNIeFRGYkpzSVZNcmFNUlZHb1d3WFhVaGtXclJnVisvV21Ob0YrdTV0VTJZL2JieHdSOWUwanBwVmt4TlFJNG9aMmV1cXd4aThwSWFWRFpFSGdMK0JoMi9YVnBqNnNscXE0VVlGUnBjanMycUN6RmlXNjJPY1M5VTQ0ME9HblBXQlJqWHI2akRqT1YxaGxkOXZXaGdHdTc3cGZuZGhVVHNoZnN6R0EyQnRmNGd6bmd4c3FuRXE3MUJuUFdTTmJjWVc4bWwwU2JxV2ZaamVndWwxY09HeTRNZlUrVEN4TU5UTWJ5N0UrNU1EWUVRc0hGbkNDdStEK0Q1dFUzWTJXUThqUzhZa0lieVU4enZNU0RVQ2pFd05ZcldiaG9CNXgyV2lvbS9TTVh3SGk1a3VscmZHSFVCeGlmYldyRGc2MmI4ODMvTmRseGFuTk9yNnpJSUFEemxmaThBdCtLQ2xEdm4wRlE4Wk1FMFl4RWZvZzJCUFdXNkNCcTFMZ1Z2Yzl1OEpRVTl3cmNzYlZKYVNweTRhVlNHRFA0RTVxRFcyN2c3bzc2RkUySHdBMjFqUGh3QW05WFZJWVJRWURNUURnQ2lEU29yRVVMRUZnRWJnWEFBTUs5VldvMFFJcmFJMXdCdEFVQ3NmYW0yR2lGRUxHbEI3YWNBcUtqcDlpMXMxQnBNQ05FcGpkdDY1MzBIaEE4QlNpa0k0R3VWRlFraFltWWRKbE1JK09rcUFBZ3Nod0ZDSkFPaTNXTjlkd0RvVEJJQVFpUUR2ZlVFSUxCSEFERDRFelhWQ0NGaWlVbjdLUHoxN2dESWRWWi9BamtSS0VTaWE4NXg3UGdzL0kvZEFiQithdjltRUgrdXBpWWhSQ3dRc0dyOTFQNjdQK2kxdlg5SUsyTmZraEFpVnBqNGd6My92VmNBNkxvRWdCQ0piZTh4dmxjQWFNNldEd0REelhPRUVQYkFUbWZxaDN0K1k2OEFxSmhhNUFld0xxWWxDU0ZpWmZYV2EzUDI2Z0c2enhJbUJQd3JkdlVJSVdLSDl4bmIrd1FBYTdRc05zVUlJV0pKSSt3enR2Y0pnUHlkZWY4R1VCdVRpb1FRc1ZLelBiM2d3NTkvYzU4QStLcVVBZ0RlaVVsSlFvaVlJS2EzOER0cStmbjMyMTNHbEZuT0F3aVJTRmpUMngzVDdRWkFDUFFxQUp1c2NTcUU2RUJJRCtDMTluN2diTytiVmRQenQ3ckwvU3NKT01IYXVvUloxbFVHOGVqblRmaTJLb2lnUmRIdDFJREQ4cHlZY2xRYURzOXY5NjBqNHRONy90bnVpdlorc045WFVTTmF3TXdTQURhd2JFTUFVMTZ2amNteVZKOVZCTEg0bTJZOGVtWTJUanM0eGZMbkU2WjRhWDgvYVBjUUFBQkNBWDBSQUh1dGRaU0VhcG9aMDk2TXplQVBDNFJhbnpOQit1TW51aUNDb1ZmMjk4UDlCb0IvdHJzQ2hQZXRxVW1ZNWYwZkFxaHVqdjFBM05YRWVPK0hBNi9QS09JQnIvRE9LdlR0NzZmN0RRQUFZQjBMekM5SW1NblhvTzVUMkZzbjU0bHRZTCs3LzBBSEFaQ0NsQVVnMkdmQjh5U2tzN29Bc09HQ21NbW1NVFUxNWVVRC9jSUJBMkRMOU53ZEFKYVlXcElRSWlZWXZPQ0hhN3JzUE5EdkhEQUFBSUFZajVwWGtoQWlWbGpEWXgzOVRvY0JVRkdjL3g0Qi96T25KQ0ZFTEREd3JYOXFRWWNOZmpvTUFCQXhRSS84bXhzd0FBQUpvVWxFUVZTYlVwVVFJallZajdhTzNRUHJPQUFBY0RENEZBQzU1aU9FUFFRMFovQ1pTSDR4b2dEd3ppcjBFZmpGenRVa2hJZ0pvdWZhdW50MUtLSUFBQUJtL1g1SXYwQWg0aDF6S0RRdjBsK09PQUM4MHd2WEFMdzh1cHFFRURIQitKZHZobWQxcEw4ZWNRQUFBQk0vWUx3aUlVVE1FQmthbzRZQ3dGZnNlUU5BeE9raWhJaXAxZDdpUEVQZHZBd0ZBQUF3akNXTUVDSkdHUGRFY3VsdlQ0WUR3TmNqNzNrUXZqSDZPQ0dFcGI3eTF1UWJucnhuT0FBd21VSmczR2I0Y1VJSXl6RHB0NkNVREUvUE5CNEFBTHpWK1M4QitES2F4d29oekVacmZMdmNCNXoxdHo5UkJRQktTV2ZTWlM5QWlIakFmRk0wbi81QXRBRUF3RGZOdlFUQXFtZ2ZMNFF3eGFmZWt2eWwwVDQ0NmdCb215UjBmZFNQRjBKMEdnRXpqWjc1MzFQMEFRREFXNUsvQXNBL09yTU5JVVIwR0xTb29xVGczYzVzbzFNQjBFcWZEcUM1ODlzUlFoalF6S3pmME5tTmREb0F2Q1dlamN5WTM5bnRDQ0VNSUhyQVA5Mjl2ck9iTVdFUEFOQmJjRHVBN1dac1N3alJJVytMUnZlYXNTRlRBcUR5dW9KYUF0OW94cmFFRUFmR1JETjNUTTJyTVdOYnBnUUFBRlFVRnp3TjhGdG1iVThJMGE0VnZtbDV6NW0xTWRNQ0FFUk1DRTBCVUcvYU5vVVFlMm9BOUtzNmM5bnY1OHdMQUFBVkpVV2JDU1IzQ0FwaEJjYi9lVXM4RzgzY3BLa0JBQUFWMVhsbEFENDFlN3RDSkxsVjNwNzVwbDl0TXowQVVFcEJYZWVySUYyRWhUQkxnRW0vRXBQSjlOVzZ6UThBQVA0WjdzOEJLclZpMjBJa0d3WnU4aFY3TEpsOWEwa0FBSUMzT3U5ZUFDdXMycjRRU2VJOVgzVittVlVidHl3QVVFcTYwNkg5Q3NBT3k1N0RaSFpjN1ZiaDRzQzI3QkZ2czlkNHAwUFhMb3QycW04a3JBc0FBRnVuNW0xaDBxZFkrUnhtcXJEaGV2ZGJhOVhWdk4yR2Y2OXRDdjllUmhIejFkdG01UDFvNVhOWUdnQUE0Q3YyTEFiUmsxWS9qeGtXZlcydk9VM05RY1kvdjFOWDh6Ly8xNHhBeUY0ZnFRdnQ4eHIvcldLNjIzQ1BQNk1zRHdBQVNOOVZldzFzY0dudythK2FzUGdiZTd4QlduUmd4dkk2cFo5b1cydDF6RmhlaDZCTlBsUVhmZE9NRjljMXFTNGpFbCs0dUtrNEZrOUVzWGdTQUNpNmYrZEJ1aVA0WHdENXNYck9hQkNBTS9xbDRNeCtxY2pQaUVrK0dxSXpzR2xYQ00rc2FjTFhsVUhWNVFBQUJ1UTdjZG5nTlBUdDRvQVdzM2RVNUNvYmRMeTJ2aG12cncvWTRiekZEamhEdzd4L0xOd1VpeWVMNmN2bEthOGNDL0F5QUk1WVBxOFFOcUV6NldlMExjQVRFekg5aVBPVzVDOW40TlpZUHFjUWRrRkVOOFp5OEFNeDNnTUFBRENUWjU1L01aak9pL2x6Q3hHbkdMVElWNXczMmN5SlBwR0kvVUV1RWJ2MDVrdEEvRkhNbjF1SStMVEttUkg0VmF3SFA2QmlENkJOOS91MzVZY2NyZzhCOUZOVmd4REtNVGF4cGgvdksvWjRWVHk5MG5PMlJlV1ZoK3ZnbFFDNnFxeERDRVYyT0FnanRoVVhmS3VxQUtYWHViYVg1SCt0RVo4TDZTb3NrazhBb0VrcUJ6K2dPQUFBWUh1eCszMGl2Z3lBNlZNZGhZaFRRUVpkMUxhdWhsTEtBd0FBS29yZEM1bm9DZ0EydWFkTWlLZ3hpSy8ybGVRdlVWMElFQ2NCQUFDKzR2eG5pT21QcXVzUXdrTE1vRDk0aTkyUHF5NGtMRzRDQUFBcXB1Yy9CS0JFZFIxQ1dJR0lidkNWNVA5VmRSMTdpcXNBQUFCdlNjRmNCa3BWMXlHRW1aaHdTMFZ4dmltTGVaZ3BEcWR1dENvc3I1ek40SHNReHpVS0VRRm1ZTGF2cE9CKzFZVzBKNjRIbDd2TWZ6VVIvb0k0M0ZNUklnSU00bUp2c1R0dTE4Nk02d0FBQUUrWi8ySVFuZ2JnVkYyTEVBYUVDSHhsUlluN0tkV0ZIRWpjQndBQUZNNzFUV0ttWndHa3FLNUZpQWcwTStqaWVMblVkeUMyQ0FBQWNNL3pqaUJkK3dmaXZLR0lTSG83aURHaFluckJlNm9MaVlSdEFnQUFDc3A4L1RTaTF3SDBWMTJMRU8zWTZBalJtZHRtNW4ranVwQkkyZXJrbW4rNmU3M1RsWG84QVIrb3JrV0luL2tZd2REeGRocjhnTTBDQUFDMlhwdFRwV1cwbkViZ3VEKytFc21CUVl0YzNIU3lkMWFoVDNVdFJ0bnFFR0F2ekZRNHIybzJNOThKNlRFbzFBZ1JjRWRGZGY1dFZpN2VZU1g3QmtDYnduTC9hQVplQXVCV1hZdElKbHpGN0xqWU56M3ZUZFdWZElidEF3QUF1ajlRMVN1azZZc0FIS3U2RnBINGlQQTVPMElUWTlXNjIwcTJPd2ZRbm0wejhuNTBjZE5vTU9KbWxwVklXSDlMMjFVM0loRUdQNUFnZXdCN2NwZFhUaURvZndNb1QzVXRJcUhzQXVQMzN1a0ZMNm91eEV3SkZ3QUFVRERIVitoSW9TZVpNVTUxTFNJaHJBZ3lYVjQxUFgrcjZrTE1scEFCQUtCMS9ZRnkvMVFRellIY1FpeWkwMExBWFhZK3k5K1J4QTJBTmdYbHZpTTEwR01BaHFxdVJkaktLaWI5U2wreDUwdlZoVmdwNFFNQUFGREttaWUzOGtvQUR3RElVbDJPaUd1TlJIUnJSZmU4K3pHWkVyNVJiWElFUUJ2UG55djZJcWc5RE5DcHFtc1JjZWs5WGVPci9OUGMzNmt1SkZhU0tnQUF0TjVCV0Y1MU9XdDhEeGlGcXNzUmNXRTdFODMyRmVjL3E3cVFXRXUrQUdqanVhOGlrNXlPV1V5NERvdzAxZlVJSlFKZ2VyakZTWC9hTVRXdlJuVXhLaVJ0QUlSMWY2Q3FsNjdwZHpKd21lcGFSQXd4bG9MMGFkNFN6MGJWcGFpVTlBRVE1aW12SEFQd3ZRQ0dxYTVGV0dvVkFiTXJTZ3JlVlYxSVBKQUErQmxQZWVWWUJ0OUx3TkdxYXhGbTRyVkV1SzFpV3NFaUZjdHd4eXNKZ1BZd2s2ZThjandJdHdNNFFuVTVvbE8rWnFKN2ZMdnluazNVbTNrNlF3TGdRRXBaOCtSVVhnakNMQUJIcWk1SFJJNEluelBqUG05MS9rc3k4UGRQQWlCQ0JmTjhvN1FRWFFmQ21aQy9XenhiQ2NhOTNwTDhwYktyM3pGNUl4dmtLYXNZektUTklOQkZrRGtHOFNMQW9PZEoweDd3VHV1MlZuVXhkaUlCRUtYZUQrM3EydHpjTWdtZ2F3RWVyTHFlWkVUQS8wRDBCTGNFbjdSalA3NTRJQUZnZ3FKNS9xRzZqaWtBTGdHUXFicWVoRVpvQXRPckFQN21MYzU3VzNiek8wY0N3RVJkeW5kMlNVWHdmSUFuQXpRRzBxelVMRUdBVjRDd0lORGtYTFR6K203VnFndEtGQklBRnVsWlZ0MHRvTFdNSjUwbmdUQU9zcmFoVVRxQUQ4RzhVQS9pSmY5c2Q0WHFnaEtSQkVBTTVKZjdpeHlFOGNROGprRmpBZVNvcmlsT1ZSUFRjaVplcHJmd1VobjAxcE1BaUxWSDJGWFlVRG1Td2VNQUdvZmt2dEdJQWF3RzhUTFNhVmxGVGY1S2xGSlFkVkhKUkFKQXNXN3pxM0pjSVQ2V3dLTVlHQW5DcUFTZW5SZ0VzQnBNSzBuVFA0QVdlcmRpYXBGZmRWSEpUQUlnenZTYi8xMXFUU2huR0tBTkIyZ3d3RU1JR0FnZ1ZYVnRoaENhbUxFT29DOEJYZ1BvSCtjNGF2NjdmbXIvWnRXbGlaOUlBTmhCS1R1TGNxdjZNK3VER2RwZ2FId3dkT29ENHI0QWloUlh0dzFNbTBHOGlZQ05ZRjZyNmRxWDIrcnkxc3Z1ZlB5VEFMQzVQcVdiMGdKWjJYMTBoOTRYakVLZEtJK0k4NkJUQVFoNURPUVJ1Q3RBR1cwUHlVSHI1VWtYZnVxUFdBZWdCVUFJUUZ0akRLcG44QzRDcXNDb2dzWisxcWxTSTY0S01TcGN1clk1cGE1MjgrYlN2azJ4L1M4V1p2cC84ZlgybXE0am9PRUFBQUFBU1VWT1JLNUNZSUk9YFxcclxcbmxldCBwaWNfc2hhcmUgPSBgZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBQUNYQklXWE1BQUFkaEFBQUhZUUdWdzdpMkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCM2QzY3VhVzVyYzJOaGNHVXViM0pubSs0OEdnQUFJQUJKUkVGVWVKenRuWG04WEZXVnRwOTE2bVlleUFSaEZBSUprQUFCSVNRaEUyQ3JqWWpkZHR2UUlxSTBrd3lDOENFazBOMTJXdFJXbEVZSmt3RUVJUkVoT0dDamdvcEJKU01KRUVDQ0JNZ0FJUUVTSUpEcERuWFc5MGNOcWJyM1ZOWGVaNmpwN3ZmM2czdHY3WGV0dFZQSnMrNCs1OVRaUjNCcWFPbkN5L3ZnZVNOb2tSR29EQWVHSWV5TzZsQ1FvYUJEZ2FFZ1BiTVJnN09oUFlGKzJlKzNBVzJnQU85bVhwSldmTjBNdWhsa003QVoySVNubTRDTnBHVU52cjlhSnQyd28wcC9WS2NFSkxXZWdGTmw2Ykx6ZTZBREQwRVlDeHlPeW9IQUFkbi9oZ2RFaEtsaW1TSnZlQk5ZRGJJR2REVWl6NEU4aDd6L054azN1ejNFUkp5cUtOY0E2a3k2OFBJKzlHb1pSOXFiZ09oWTBDT0FNV1IrWTV0a0NGUFZNb1ZSalRhUUYxRC9PVVNlUlhVSmFaYTVGVU45eVRXQUdrc1hYek1jTHowZTBXTkFKb05PQVhwblIyMnpoWm1CWllwSU5Ub1FWcUFzUUdVNXFmVGpNdTRINjBJa2RJcEpyZ0ZVV1RwL1pnc0Rka3hFOVJUZ284RFJCUDQ5TkIzOHBmUXE4QWZnWVFaMy9FNUd6V29OVWNRcHBGd0RxSUowOFZYNzBpS2ZRdjFQZ0h5RVhTZmZTa1hZVmdneks4c1VpY0RmeWE1YmdjZEFIaUhOLzhta0c5YUhLT3BrSWRjQUVwSXV1MklZNnAyTTU1MkpyeDhCUE1OSTIwcTJVK3NhVXcvd2QvWDd3Q0tRZWJTMXo1TXBONzBSWWhKT0ZlUWFRSXpTWlZjTVExcitGWi9URUowQ2VIWWNPUGhMRFBrSWZ3WWVRTnNma0FrM2J3NHhLYWNBdVFZUWczVDVqR1B3L2ZNUk9SUG9rLzhIN2VDUDVnOGVhZ1g5Rlo0M20zRTNQQ1lTYXBKT1dia0dFRks2OU1vOThWSmZCRDBYR0Zrd1V2VEZNSnR0ZFV0L1FFeGp3dDk1NEdXUXVZaDNwNHovMzljc2l6dmhHb0MxOU1rWkgwYTRBdlEwb0VlbjBhSXZoaGx0WjJEcEQ0aHBEdmdMMVk1eVA1NWNMK08vLzR6bFJMcTFYQU13bEM2YlBnVmtPdWduS1hmWnpzRWZ6VzhQZjJmYkFqenZPeHg3dzhQdThLQ3lYQU1vSTUwL3M0V0IyODlFNWF0a1BvMVh5bG4weFRDNzdXd3MvUUV4elE1L3NmOTU0SHRzSHpKWFRwelpZWm1nMjhnMWdBQ3B6dlJZdnZNem9OOEFEcTdnTHZwaVdNRjJScGIrZ0pqdUJYK2gxcUQ4RCtzMjNDbW56VXRiSm10NnVRWlFJRldFcDZhZmduSXRjS1JCUk5FWHd5cTJzN0wwQjhSMFgvZ0x0UkxrMjR3ZlBFZGtwbStadUdubEdrQld1bnpHU1NqZkFSMXJHRkgweFNvbU1YOUFqSU8vczU1QmRicE1uUFU3eXdKTnFXN2ZBUFRwSzBlUjlyNEpuR29SVmZURktpWXhmMENNZzc5TWlQNEIrSXBNblBXQ2ZYRHpxTnMyQUgxNjVpRFNPMmVBWGdiMHNvZ3MrbUlWazVnL0lNYkJieExUam5JckxhMWZrM0d6dDRSSTFQRHFkZzBnYzV4LzlibW9mZ3QwbUdWMDBSZXJtTVQ4QVRFT2Z0dVl0MUNkd1lTYjd1NXVsdzY3VlFQUVpWY2VoSG8vUk9UdlF2OWpjL0JIODljZi9JWDZDNTUzbmh6N2c3K0ZTTjZRNmhZTklIc1Avc1VnM3dUNk9mZ2oxSWppcjIvNGM1WWRxRnpId0NIZmtzTm10b1VvMUZCcStnYWd5MmNjZzNJbitjdDZEdjdRTmFMNEd3UCtYVDhJVCtQcnVYTGN6VStGS05nd2F0b0drUGt3ejQ1TFFLNGp2NStlZ3o5MGpTaitSb04vbHpwUXZzbHJiMTdickI4aWFzb0dvTXVtZndpVmV4R21GYnhxbXlWRW1JUGZmS2p1NFMvVUlsTHB6OHV4dDc0YVloSjFMY05kYWhwSHVtekdxU0RQT1BoanFoSEYzeHp3QXh4SE92VzBMdjd5NTBOTXBLN1ZOQ3NBWGZIVmZyUzMvQkE0bzlPSWJhWVFZUTUrODZHR2c3OXozSS9wMFhhUmpKdTkzWFpXOWFpbWFBQzZmTVpJbEo4RFIzUWFzYzBVSXN6QmJ6N1U0UER2aW5tV3RQZlBNbm5XS3lHQzYwb05md2lnVDE1OU1zcFNIUHp4MVlqaWIzNzRBY2FTOHAvU0pWLytkSWdFZGFXR1hRR29JaXlmY1JYd0xibzBNZ2QvNkJwUi9OMEQvdUlYaE9zWXYvczFqWHFIWVVNMkFGM3gxWDYwdGR5SDhLbUFVZHRzSWNJYy9PWkRUUXQvb1I2aVQ1OHo1TWp2YlF1UnVLWnF1QWFneTY3WkMvei9BNDRKR0xYTkZpTE13VzgrMUMzZ3oya0ZlS2ZJeEZtdmh5aFFNelZVQTlDbDB3L0RrMThEK3dlTTJtWUxFZWJnTngvcVZ2RG50Qjd4UGlrVFpxMElVYWdtYXBpVGdQclVOWCtISnd0dzhNZGJJNHJmd2QvWnZ3K2Evb3N1dk9pa0VNVnFvb1pvQUxwcyt1ZncvZDhDdXdXTTJtWUxFZWJnTngvcXR2RG52aG1BSncvcG9vditOVVRScXF2dUc0QXV2L284a0h2cHNnYy9PUGdqMUlqaWQvQlg4R3RQaExtNjVLSnpRaFN2cXVxNkFlaXlHUmVoZWh1QjgzVHdoNjRSeGUvZ04vV25VRzdYeFJkZkZtSVNWVlBkTmdCZE5tTTZjRE1PL25oclJQRTcrRzM5QW5xRExybm92MEpNcGlxcXl3YWd5NjYrRnZoMmlWSGJiQ0hDSFB6bVF3NStBK3RNWFh6eGYxc1dxSXJxN2pLZ1BqbmozeEcrVVdMVU5sdUlNQWUvK1pDRDN6aENGVkd1a1VtMy9vOTFjSUtxcXdhZ3k2WmZBbkpqaVZIYmJDSENIUHptUXc1KzR3amRGU09pWDVXSnQxMXZuU1FoMVUwRDBPVXp6a0w1RWVVZXZHbWVMVVNZZzk5OHlNRnZIS0ZkWWxTUUw4bHh0OXh1blN3QjFVVUQwR1hUUDVlOTFPZE8rTVZaSTRyZndSL1JId2gvVG1sQnpwRGpicm5mT21uTXFua0QwQ2RubklEd0tQbDkrNHBHYmJPRkNIUHdtdzg1K0kwalNzT2ZVN3ZBeVhMY3JYK3dUaDZqYXRvQTlLbXJ4K0Q3QzBBR0JZemFaZ3NSNXVBM0gzTHdHMGRVaGorbjkwVlRVMlRTVGM5WkY0bEpOV3NBMmJ2NkZ1RSsyeDl2alNoK0IzOUV2eFg4dVlnMUloMFRaZUlkYjFvWGkwRTErUnlBTHB2WkYveGY0T0NQdDBZVXY0TS9vajhVL0FBSHFMYjhXbGVjMmMrNllBeXFlZ05RbmVtaE8zOEtUQWdZdGMwV0lzekJiejdrNERlT0NBZC9Uc2ZvanI1elZHZFduY2ZxcndDVzc1enBkdktKdVVZVXY0TS9vajh5L05tWDVOTXMyZmp2MXNVanFxcm5BSFQ1MWFlZytoQnVENy80YWtUeE8vZ2orbU9DZjVkOEVmMlVUUHpoYjZ3bkVsSlZhd0Q2OUpXalNIdEx1NTd4ZC9DSHJoSEY3K0NQNkk4ZC9wemVGZDgvVmliUHJzcVc0MVZwQU5tSGRpd0dEdTgwWXBzcFJKaUQzM3lvQ3U5VnFqZjAydzk2RDROVTMyeWFOTFMrQXp2ZWdKMXZkMmY0YzNwV2V2akhWZVBoSXkxSkZ3RElQckhId1I5WGpTaitXc0NmNmdPN2o0Y2h4MlRnbHpLbm50cTJ3THZQd3R0TFlOdGF5emxaeml1VVAzSDRBUjNydDh0TndObVdnZFpLZkFXZ3k2ZC9IcFY3TzcxcW15VkVtSVBmZkNpaDk4cnJDWHQvRElZZkQ2bGVsaldBTFgrRGRiK0E3ZXZqblZkb2YxWGd6MzhuSXFmTHhOdCthcG5BU29rMkFGMzY3L3ZocFZjQWd3dGV0YzBTSXN6QmJ6NlUwSHZWZndRYzlBWG9OY1F5ZitkeVByenhlMWovbTh6M1VlY1YybDlkK0FFUTNwTjB5MUV5K2VZd1N5RWpKWFlaVUhXbWg1ZStCd2QvUERXaStLc04vN0FKTVByUzZQQkQ1bkJobjcrSFF5NHNzNHBvUXZnekx3MVM2YmhYSHpnMVpabk1XTWw5RG1ENWptdUFFM2E5NE9BUFhTT0t2OXJ3RHo4ZURqeTkvSEYrR08xMktCeDZTZVo4UXBoNWhmYlhDUDZjaEtsOGFQQ1ZsZ21ObGNnaGdDNmZjUXpLSXZJNytUcjRROWVJNHE4Mi9IdE1oZ05PSmRFankyMnZ3WXMzUWNkMjgzbmwxV0R3NzFLN3FFeVFTYmM5YlptOG9tSmZBZWo4bVMyb3pzYkJINzFHRkg4endnK1pxd2lIZmhsYU9xOEVLcWxoNFFmb29hSjM2Ykx6QTdiR2o2YjREd0VHN3JnSzVPak1EdzcrMERXaStKc1YvcHo2N1pjNUhHanBheGpRMFBEbmRDUnR4TDdGZUt4L1k3cms2b05KNlROQUh3ZC9oQnBSL00wT2Y2RzJ2UVl2enNvZURwUlNVOENmaTlraG1oNHJrKzU4T1VTQ1FNVzJBbEJGU09tdE9QaWoxWWppNzA3d2c4RktvS25nQitpamVMZXJ4dmVHeDNjSThOVFY1d0lmY2ZCSHFCSEYzOTNnejZsa0UyZzYrTFBmeWdrcy9OSlpJUklGS3BhL1BYMTY1aURTTzFlQkRyT01MUHBpRlpPWVB5REd3VitzZW9HL1VFV0hBODBLZjE1dlNVOE9sbkd6dDRSSVdxUjRWZ0FkTy83THdSK2hSaFMvZ3o4ajZ4T0R1OVJnOEFQczRiY1J5OTRCa2Y4V2RkblZoNEwvTElGUDd5MFpWZlRGS2lZeGYwQ01nNzlZOVFwL29mSXJnVzFHOWdhRVA2YzJTZWtSTXVIMmwwSVV5Q3Y2Q2tEOC84WEJINjVHRkgrMTRSOStmUHp3KzIyWjI0RGpWTC85NE5DTEF6NHgyRlVOREQ5QVQrMlE3NFlvVUtSSWY1djY1SXlQSXZwN2k0aWlMMVl4aWZrRFloejh4VXJpTjMvSDlzd24rcmEvQWFQT2hzRmo0OHNORlZjQ0RRNS8zaVJ3a2t5Ni9kRVF4WUFJS3dCVkJOSHZXVVFVZmJHS1Njd2ZFT1BnTDFhUzhHOTdEVFFOcTM2VTJRTWdUdVhQQ1hUZGJMZFo0TS8rLzF0UkxndUdQd1I0YXZxcHdKRm1aZ2QvTFA1bWd6OC9uZW8xZ1dhQ1A2dWpXWFRlcDBNVUJVSTJBSDNnMUJUS1RFTjMwUmVybU1UOEFURU8vbUlsQnYvTnhmRG5wOVVCcSs1TXRBazBJZnk1VjY0TnU2VjR1QlhBaUJHZkEwWlhOanI0WS9FM0ZmenJTczlMMDRrM0FYTTFCdnhaSGNiaTEwOE5NUUg3QnFBUG5KcEN4T0FhcElNL0ZuOTNnVC8vWTNKTlFFWmZhdGdFR2dyK3pLZ3ZYOWY1TTYzMytMUmZBUncwNGd2QUllVk5EdjVZL05XR2YvZmpFb0IvRzZ5Y1pRWi8vdVZjRTRqNW1abjk5a01xM2tyY2VQQURJQnhNejljL2F6c1Rxd2FnaXFEeTFRcXVvaStHbVczTUlmd0JNUTcrWXZVL0lDSDRiNEx0cjl2UFM5T3c2bzc0bTBELy9aRkRMeTNSQkJvVS9weFQ1Q3JiS3dKMks0RGwwMDhHeHBTWlF0RVhNem40elljU2ZLLzIrMGVRR0xlZWl3Si8zcFpyQWpFZkRnUTJnY2FHUDZzaldIajJ4MndDYkE4QnJpZzk1T0NQeFY4TCtIc1Bnd0VIV3VZdm8vUU9lUEdXYVBEbjdSM1pKckFpbHFubDFYOS9aUFJsMlhNQ1RRRS9vS2lreWpEYVZjWU5RSithZmlSRm0zd1dGeTc4WXBqUnhoekNIeERqNEEvV2dGR1crY3VvWXh1c3ZOSHVtTCtrQ3E4T0pQTTVnY3JuQkVyTXlVclZnVC83OWVPNjRMeWpUS1BNVndBK1Z4RjRnT2pnajhWZksvZ0JldlMzandsUy9rTStNZnptNy9MM2w5RG5CUHJ2anh6NkZjTW1VTy93WitTTFhtNGFhZFFBZE9tVmV3SUIxeGtkL0xINGF3ay9DbjU3aUxoT1N1L0lYdXBMQVA3OHkwa2VEbHhlNFJKaFk4QVBJUEJaWFhEQkhpYlJaaXNBVC82TkxuZjhPZmhqOGRjYWZvQWRHMFBFRnFoamUvekwvcExEU1I0T1hCTFQxWUZPTVZXRVA2dWVTTWNYVFRKVWJBQ1p5d3JTNlNHRkR2NVkvUFVBUDhBSEwyZCtnNGRSeC9iTVhYZEovdWJ2WXF2bTRVRER3WjhaVmM0MXVTUlllUVh3OUZVZkFVWjJLZXpnaithdkYvZ2hjd2l3NFkvMmFaSTg1cTlvNzBCZlN1b1NZYTRKTkNiOFFPYURRUXZQbVZySlZya0JwRG12UzJFSGZ6Ui9QY0dmMDRZL1pGWUNwc3BkNmd1NnNhY0tmdzVWM2RVRTNxbkZPWUhBV1FWK2ErUVBVNk9DZkUvT3ErUXB1MFRRSlZjUEplV3ZCM281K0dQeTF5UDhPYlgwZzVGbnc4QUtsd1YzYm9LWFpzT09EVEhNS3lUOGhaSVc1T0J6NDk5VVpPc2E5TVViS3p4M0lEK3J3RytOL01heWZtOTNTcnJuM2pMMTFuZExPY3F2QUx6MDZUajQ0L1BYTS93QTdkc3laL0pYUHdDdG03cU9kMnlETjM0SHoxOVhQL0JEZ29jREIyUStNWmpxWFdsV2dkOGErWTBWNnIzdFRhcTk3RjJDNVZjQVQwNy9FNkxUN09zNytNMkg2Z1IrRGZpaHozRG90WHZtU2I5dDcyVSsyYWQrVFBPS0NmNUNKYlVTMkxJU2ZYRldpVDk3M2NLZjAyUGVwRHMvV3NwWnNnSG9zbXYyZ283WGdKU0RQNksvRWVHUHUwWWt2d0g4T1VrTE11b2NHR0s0V1pXcDF2OFdmZTJoenJNSy9MYTBhdkxlcHNXVGZXVGlIVzhHdWNzY0FyU2Zob00vdXQvQkg5RnZBVDlrRGdkV0pYQmljSitUb04vK2hZVUN2eTB6c1JCRlkzbHZVNlQxTTZVaVNqY0FrZE1jL0JIOUR2Nklma3Y0Y3pWeVRTRFdjd0tDN1AvUHUyclE5ZHV5YzdKV1RPK3RnaUtubFlvS2JBQzYrS3A5OFprWXVYaHMvb0FZQjMrMG1HYUZQLzl0Qi9yUzdmRTJnWUdIUVArQ1ZVQUR3Si85WnFvK2NmYmVRWmJnRllESFA1UWNNeTBlbXo4Z3hzRWZMYWJaNGMrL2xHMENNUjRPeU82VFM1WXptbFBzTVpYZ0I4REQ4MDRKc2dWRExucFNwT0t4K1FOaUhQelJZcm9ML1BtaG1BOEhoaHdGYXJMcFR0M0FuM25KSjVEcExuOFMvZXZNbm16ZnZobW9jSStvZzk5OEtPSDNxdGRRR0h3RUREZ0krdXdGUFFlQjF5T1RwMzBydEw0Tlc5ZkNsaGRoeTkvSVhNN3FCdkFYU2xxUWc4K0w1UktoUHZNMTJCRjRVdDF1VHBGaXpPSFA2Z01aOVA0d09XeGVXK0dMWFhjUjNiNTFHbmdPZmx0L0xlQWZkQmpzOVpFTStJRlhkQVY2RE1qODEvOUEyUE5FYVA4QTNub0NOajV1K0FtM0VQTUs1VThRZnNnZURzeEdScDJiK1MwZVJiMTNMOU1BNmhKK1FBZnd6bTZUZ01jTFh3MDRCUEErRWFwNGJQNkFHQWQvc1hydm5ua0E1c0hudzRDUldHM2syV01BN1BNSk9QSnJzTWVrZU9jVjJwOHcvRGwvL2hMaE01YXhuZFJqdDVqbUZDWW1GUHdBK0o1MllidHJBeEFwYy96djREY2ZTdWk5R25JVUhIWWxERHpZTW44bnRmU0RFYWZEcUhQQTZ4bDlYcUg5VllJLy8yMjJDYlJ1dHN4Um9CNERZNWhUbUpqdzhBTUlGUnFBTHI1bU9Lb2xkdjExOEpzUEpmUmVEWjhLSTgrQ1ZDL0wvR1UwNUNnbytjQ01Kb00vcHo1N1psWkNZZFZsQjZYNmh6K3J3M1hCbVVVN0JSV3ZBRkx0VTBKVWljRWZFT1BnTDlhZUo4RCsvMEtzKy9ibjFIOS9HSDBKdEJTZSttbFMrUHZ1aTR5NXJNS3FwNExhdDBTWVU1aVlXT0FIRUdnNXJ2Q0ZUb2NBM21UTEtyYXpNb3R4OEJkcnp4UGdRLzlrbWR0U2ZmZUIwVi9PTm9FbWg3OGw0aWFvYmJrRzBGRHdBK0NMRkRIZXFRRm9wd2JnNERjZmFtRDRjeXBxQXFicVp2Q2pzSDE5aURtVm1GY1lmMGo0QVVRSmJnQzY4UEkrUU1IMUVRZS8rVkFUd0o5VDMzMENEZ2RLcWJ2QkQyeGRCeDFiUXdUV0h2NnNqdEg1WitVM09OaTFBbWpwZVN6UTB5S1JiZUh5TVE3K1l0VUMvcHlNbWtBM2hCL1F6VStHaVlySEh4MStnRjcwVGgyVCs2SHdFR0M4WlNMYndxVmpIUHpGcWlYOE9aVnRBdDBUZnZ4V2VHdWhaVkJkd1orUm41NlErM1pYQXhEL1NBZS96VkFUdzU5VFlCUG9wdkJEWnVka3ErVi9IY0tQNG92a1B3OWR1QUt3L0pDMGd6K1dHb1dxSi9oekttb0MzUmordG5mUTliK3hDS2hQK0FGRU9TTDNpZ2VneTg3dkFSeHFteWhNY2ZNVUR2NjZrZFdKd1YxcUd2alZSMWZkQ2VuVzhQTUs0MDhBL3F3TzAva3pXeUMvQWhoOEtQa1RnRmFKd2hSMzhIZFdQY09mVTk5OXNwOFlOQU9yYWVBSGRNMzk4UDZxOFBNSzQwOE9mb0JlcE5ZZURMa0c0S3ZoOHQvQkgwdU5RaVVCZjhjMmVQbnU2RGU5ZEZaK0pWRCtnUmxOQmYvYW44SEcrZUhuRmNhZkxQd1plWm5EZ0V3RDhQekRRaWV5aVhId0Z5c1IrTGRuOXZiZnZCeGV2Z3MyaGJsc1ZVWjk5NFhSWHlrSldsUEJ2KzZYOE1hajRlY1Z4bDhOK0FGZk9CeHlEVURsd0xDSmpHTWMvTVZLRFA2YmRqMnVTMzE0ZFU0Q1RTRDRjS0RwNERjKzZkZFk4R2VIRDRSZFZ3Rkd4RmM0SU1iQlg2eHF3Sitma2crdjNwdDRFM0R3RzJjUGtTYis5MWFFQXlDL0FzajhFTDF3UUl5RHYxalZoQjhBVGJ3SmFDckNRelREK2gzOEVmMDZBa0IweFZmNzBTWWYwT1UrVXdkL0xEVUtWUXY0Q3lVZUhIZ21ERHMyM2psc2Z4MTk0VWJERDhrNCtNM1RKTHFxVW1uVHZoNnRxUU53OENkVG8xQzFoaDhTWEFuc2k0d3h1VVRvNERkUGsvUWhGVUlQYjM4UDhmZVBtS2hyaklPL1dQVUFmMzZvVmszQXdXK2VKbkg0TXpHZVA4SkQyTHZveFRDSnJPYmk0SStzc1BEbkxkVnVBZzUrOHpSVmdoOUFaUzhQR0JZNWtmRmNIUHlSRlJYK3ZOV0hWKytCVFV0am14b1EwQVFjL09acHFnZy9nT293RHhqcTRJK3BScUhxR2Y2Y1A3OFNTS0FKSEhJQmVDbjdPUVhsY3ZESDRPOGE0d3REUFZTSFJrM2s0TytrcEQ3ZXUvTEcrT0RQZjV0dEFwdVhSWmxkVncwNEVObm5rK0htbEpPRFB5Wi9xUmdkNm9GWU5nQUhmMWtsQnYrczdGNTBuUlhEbjBOOWVPWEg4VGVCdlU2c2VOOUF5VGs1K0dQeWw0NFI5WVo2b01OQ0ozTHdGNnNSNGM4UEpkQUV2RjR3cU1Sakpzck55Y0Vmazc5Q2pPZ3dEMkZRcUVRTy9tSWxlV05QMHZEbkxka21FT001QWVtN2o5MmNIUHd4K1ExaVZBZTNvTks3Y25JSGYxazE4bS8rTHRic09RRThHRGJPc2s2QVVuM001K1RnajhsdkVLT0FTQzhQdE1KR0lBNytzbW9tK0hNUmZocDk1VzdZRk1QaFFQc0hRUlc2dnVUZ2o4bHZFS1A1cjcwOHROeE9RQTcrc21xR1pYL25pTnhkZmVwbm0wQzB3d0hkK21ybE9UbjRZL0lieEJRUDkyeEJLUEdrU1FkL1dUWGpiLzdPdC9TcWo3NXlEeEwyY0tEdFBYai9wZkp6Y3ZESDVEZUk2VEtzdlZvSTNBdlF3VjlXdFlLLzkrNHcvSGdZTkJwNkRzbTgxcm9adHF5RU4vOE1POTh1OWx1bzVQMzgyWldBZ0hVVDBOZCtCWDVINlRrbHVZMVhrKzdrRXpxbUsvd0FRUTNBd1Y5V05ZRmZZTitUWWUrL3o5elNXNmcrZTJiK0d6NE4xajlxOFZ1dm9FS2x6VHp5VGNDSFllUE5rcjcxQkx5OUtKZWc2N2lEUHlhL1FVd3cvQUM5T2o4YzFISXVEdjdJTXZuTlArSjAyT2NUWGVFdmxLUXlUV0xrRjh2N09sY3czY2xIZmZUbEg2T3ZQd3lhTHVOTG82LzlIL3JxVDNJdmRQVTQrR1B5RzhTVWhoK0FGcUFONk9QZ3I2QmF3Yi9IcE14L3BocDZMQ0NaNi9ucWw3WGFiK1Bsdyt1L1JqY3RSWVpQZzkzR1FPL3M1OGgyYm9JdEw2QWIvd1N0bTRyL0RJVnk4TWZrTjRpcEFEL1FtbTBBMnFlOHo3SndMREhORHIvQjJYNnZCK3hyODNuNnJJWm1qOVhMTklGSWUvanRmRHNESEQ4ejgrZVVHUHdQd2h1L00zWGJaZytScGlIZ0IyajFVRzJ0N0xNeXhCRFRIZUEzdUt0djRDSFFZN2R3TllhT2c1SC9Gbmc0MEhRYmVEcjRLd3lYOUxkNkNHM21jM0h3UjViTkxiMzl5MnpXYktJaFI4TkJ4ZWNFbWdyK3RRKzZTMzBWaDh2NjJ6eklOZ0FIZjdGcURUOUFqeGlBR1RvdTN3U2FEbjczbTcvQ2NBVy9aRllBT3gzOG5WUVA4QU9rZDhSVGUrZzRPQ2o0Y0tDMDZoaitkYjl3OEZjY05xaWh0SHI0K202a3dySEVPUGdERlhpQ01LU0dIbzBjZEpaaEU2aGorTmMrQ090L0czNWVZZnpOQ0g5RzczZ29tMHFQTy9naks4bzJYdS85RmZ5MjhoNGJEUnRuMEFUcUhINzNtNy9Dc0UwTjNlU0JiQTVWT0pZWUIzL0YrSTJQeHp1bnNrM0F3VytlcHRIaEIxVTJlM2hCS3dBSGYyVEZ0WUhuNjcrR0QxNk9iVnBBcGdtTVBMdFRFNmhqK04weHY4RndpQnFpbXp4OE9xMEFIUHlSRmVmdXZkb0JMLzBRdHEyTFpXcDVEVDI2b0FuVU9menVtTC9DY0xnYW5ySzUweUdBZ3oreTR0NjZPNTl6VnNKTndISk9oWEx3eCtRM2lJa0pmZ0E4Tm50NC9vYklpZUx3Ty9qTCt4TnRBdWVFdnpyZzRJL0pieEFUSi93QWZtcWpSMXJXT1BoalVKTHdGOVdvVlJOdzhFZXVFU1VtYnZnQnBHTzFoKyt2dHMvbTRDOVNOZUF2cWxYdEp1RGdqMXdqU2t3UzhJUFMzckxXazBrMzdBRGVEb2d3VFJUZTcrQVA1NjlxRTNEd1I2NFJKU1laK0FFMnlJbDM3OHo4VGF1dWpwQW9uTi9CSDgzZnNSMWRlU05zVzJ0WnA0S0ttb0NEUDNLTktESEp3US9LR29CTUF4QlpFenBSR0wrRFA2S2Z6STA5SGR2UmxiTVNhZ0lCVndjYy9ESDVEV0tTaEI5UXlmelN6NjBBWGdtYnlOcnY0SS9vcC9pdXZzU2F3REhGaHdNTy9wajhCakVKdzUrUnZBcVpMY0hBODU2bjVLMmlqUXovaWZDaFQxdm1ycUI2MjdvYnNrM2dabVRNcGRCM1grdWNKVFgwR0VROGRQTnlaTVRwaGcvNk5KZXVuUWR2L043VWJaczlSSnJ1QWo5NHFzOUJiZ1dBUEJjMmtiRy8ydkFQT3hZKzlJK1d1U3VvWGg3YUVhU09yZWdMMzQvL3hPQ1FEeU9qem8wZi9uVy9jUEJYSEU0R2ZnQlNxWUlHc0xYL2kwRHgxbUNORFArQUEySEU1eUN6bTMwODZ0Z0dLMitzajJWL0tlVlBETWJjQkdLV1cvYWJEQ2NJUCt6azlXMnJJTnNBNU1TWkhTQXJ3eGV2SS9pOW5uRGdtWllmYjYyZ2VsejJsMUxIZG5UbEQrcTJDVGo0VFlZVGhSL2dyM0xhdkRUa0R3RUEwV2ZERmE4aitBSDIvamowR21LWnY0d2FDZjVjalRwdEFnNStrK0hFNFVlVlozUGZGK3dXeVhNTkQzOUwzOHdUY3VKU1BSL3pWNnBSWjAzQXdXOHluRHo4b0hnZXorZCtLdHd1ZGtsc2hXc0JQMlFlVzVVcThheFRXelhDTVgrbEduWFNCQno4SnNQVmdSOEE4UmZuWHRuVkFJWjBMS1hMaWNBUWhXc0ZQMlMyd1k1RGpianNMNlVhTndGZDkzTUhmOFhoS3NJUHJiUzJQSlg3SWQ4QVpOU3NWdURwU0lWckNYK3FOL1Rieno2dXN4cDUyVjlLTldvQ0dmZ2ZNWFhiWmcrUnB0dkREL0NrbkhqM3p0d1BuVStWTHdoZHVKYndvOUIzcitobi9wdGgyVjlLSGR2UmxRbDhUcUNFSFB3bXcxV0hIeFVwWXR6cjVDM1RBT29ZZmdqL0NLMmNtdkUzZjJkL2xacUFnOTlrdVByd0EzaStsbWtBSGFrU0RhRE80UWZvTVNCRWZGWitXL1ArNXUvc1Qrb3V3bXdkWGYxVEIzL0Y0ZHJBRHlqYXNyandoYUlHSUpPLzl4YndWK1BDOVFJL1pENEFGRmJ0VzJISHhzbzFLcXJPNGMrcFl5djZ3di9DTzg5WTVpcWo5RTcwcGRtdzhZL2g1eFhHNytDMzhUOHIwKzRxMnZzajRLQlpDazdaTmdqOEFPM3ZoOGlUVmE4aGNQRDU0TFdVcjJFN3Awb1J0WUEvcDNRcit0SVAwZFZ6TTRjL1ViVGxSZlRaYjhEbTVkSG5aZU4zOEZ2NUZicGNqZ2s2YS9aSXhjTDFCajlFYXdBQWc4YkFxUE95VGFESjRTLzB2UGtYOUptdlpaNnkyN0hWcnNUN3E5QVhaMlZXRXp2ZmluRmVCbjRIdjdYZjgrbHliTmJTeGRWdjRGL1k5dDRIUVBCQmRUM0NEOUJhNGdGSE5obzBCa2IrRzZ5NkV6UWRmVTZsSXVvQy9nSjFiRVZmZXdoZWZ4aDJHNDNzTmdiNkh3QzlkOCtlVzVITWVaSzJkMkg3QnZUOVZmRHVNN0RUWWllNU1QTnk4TWZwZjUrK2ZSWjJmakh3ZGpsZGV0bER3RCtZMTZpRE54M2dxR3VoWjhTckFRRHZQbXZZQkpvQS9zNHhSdUUxL0FmdDRBL3IvN2szNWQ3UGRINngxSVh6cnFkeDZ4MStKUU51SEJvOEZnNytVcWR6QWlIbTFEbkN3Ui9ONytBUDdSY0pZSnBTRGFCRGZnWDRsV3ZVd1p0ZWFIbDdjVm1ibFFhTmdaRm5nNlRDemFsemhJTS9tdC9CSDhYdms5YUhnd1lDRzRCTXVtRTl5c0x5TmVyZ1RlOXMyYllPdHJ3WW9rNEpEUjRMbzg3cDFBUWMvS0ZxUlBFNytLUDVsVC9KdERrYmdvYktmWGIyZ1lhQ1AvZkQycCtEK2tIdWNDbzZISER3aDZvUnhlL2dqK1pYRU9HQlVzT2xHNEQwbUFjRW5BV3JnemU5aTZYZ2h4MGI0STFIUTlRc282SkxoT1p5OEVmME8vaWorVFBXTk1MUFMxbEtOZ0FaLzkyTkNIOEpYVHlVM3pDbUZQdzVyWDhFdHF6cytub1VEVG9NUnA0RFl0WUVhZ2EvZUpsTGVFT09nc0ZIUUorOWdtTWMvTkZpR2dOK1FQOG9rKzh0K1NHTlN2K2FId0JPc0M0ZXltOFlVd2wreUJ3Q3JMb1REdjF5Qm9hNGxEc25zT3BPMEk3U1U2d0YvQzE5a2IwL0RudE03YnFEYitzbTlJMUg0YTBuTXUrTmd6OWFUT1BBajRqY1g4NWEvdjVaYlg4QWRHZGR2T2xkTEJYODZWWjQ4UmJZdWliRVhNb29mMkl3dUhmV0JQNitleU5IWEFON254UzhmWGV2WWNpSU01RFJYNEdVeWZiZURuN3o0ZnFGSDlpQnBrdld5S25oQUFBT2IwbEVRVlF1LzZGQ0E1QUpOMjlHK0tWNTlhSVp4QnRqQTM5TzZSM0pOWUV1OXc3VUNQNSsreUZqcm9CZXd5cUhEendVT2ZUaTJEL2Y0T0NQc1VZVWZ6SDhLTXlUcVQ5NXQxeEk1UjAwVkc0UE1RTUxKUVIvVHVrZG1mdjg0MjRDbmM0SjFBeiswWmZaUGJSandFR3cxOGRpbWxPWUdBZC9Jbjd0OGcyZWNFZWxzTW9OWVB6MzV3T3JMR1pnb1lUaHo4VWsxUVN5aHdOSzBJZUZLc3dwcWo4TS9GbkozaDhQV0FVNCtNMkg2eDkrNENVbXozbWlVbWpGQmlDQ0l2ekljQVlXcWhMOE9TWFlCT1RnYzQydkR0UWFmaUN6ZmZyQWd5UE1LVXlNZ3o4UmZ6RDhpSEM3U09WRVpwdm8rZHdGdEZlWWdZV3FESDlPK1Nhd09rUytNaG84RmptazZ6a0Jvem5aK3FQQ24xUCs4cUNEMzN5NE1lQUgyaEM1eHlTRlVRT1FpVDk0RXlYZ2NrSUR3WjlUVWljR0J4MmVlWWhteVpWQUhjRVAyUjJVSFB6bXd3MERQeXI2azNMWC9ndGxzNDN1ZDR1ck5TRDhPVlg5Y0tETzRBZG8zeElpeU1FZlc0MG8vakx3QTNncTN6ZE5aZHdBWk9JUG5rWDFzWEtGeTZ0TzRNOHB2UU5ldktrS2h3TXgvRVBvdTIvbUduNmNqK2grMytDOGJwRWMvTEhWaU9LdkFEL3dpRXlkczhJMG5kMUcraDdYTndYOE9YOWlsd2h6aHdNeFhCM290eDh5NW5KbzZSL0wxSUFNL01aYmVJR0RQOFlhVWZ5VjRVZFV2MmRUM2FvQnlQZ2JId0dNdTB0R2RRcC9Udm1Wd0pvUWRjc29qcXNEY1MvN0FUU05ybjNRSnNDMlFJZzBEbjV6YTltWVo1azYxM1JiWnNCMkJaRFJEZWJXT29jL3A4U2F3SkdHVGFCSzhBTzYrajZMd3g0SGYydzFvdmpONEVkRXYyTnk2YTlROWcxZzdZWTV3TjhxR3hzRS9wd1NPeWR3SkhKSXVlM0ZxblRNRDVrbjlyejVaMU8zYmZZUWFSejg1dGFLTVMveFJsdlpHMytDWk4wQTVMUjVhVVN2TGU5cU1QaHpTdXB6QW9NT1J3TDNHQ3dCLzVqTDRqM21CL2U0THFQaE92bDMyTVZhT1VhUS81RFQ1cGx1WloxWHVLZHBIanYwUHFERURwd05DbjlPVldzQ0R2N0lOYUxFTkJIOHdQTk1PZWhubHBNQlFqWUFrWmsrR3JRS2FIRDRjeEVkMjlHVnN4SnNBZ0ZYQnh6OE1ma05ZcG9MZmtTOS94Q1pHV29mdk1EbkFwaElGV0hwcFU4QlIyVmZNUWdxK1lOcDFZVDlGTi9WbCtxTmpMNEUrbyt3emxOVzd6MlB2blFiK05sTlJSejhNZmtOWXBvTWZwRGxNdVhlWTIxUC91VVU3aENBL0UxQ1g4MzgxSVR3USthQmw0bXRCQzdJSEE0NCtHUHlHOFEwSGZ3Z29sZUhoUjhpckFCeTBpV1gvQXI0VkhsVHlSOU1xeVRzRDRDL1VLaysyWlhBQWRaNXk2cDFFL1FZR08zSnhsMms2SnA1c09FUHhuN2IvUFpwSFB6bVZwc2Erbk52NnR3dVQvdXhVZWdWUUY0cExnZGFTNDQzT3Z3QTZSM295aHZqWHduMEdoWXovS0RyZnVIZ3J6aGNaLzhPUThGUG0vZzZ3eVlnU0pFYmdJeWI5UXFpc3dJSG13SCtuSkk2SEloUmJ0bHZNbHhuL3c3RHdZK3FYaS9ILzhUMmhvNHVpcjRDQUdqciszVmdZOUZyelFSL1RrbXRCQ0pMMFRYM08vZ3JEdGZadjhPUThJTys2ZlhrMjVaQmdZcWxBY2lVNno1QTlacjhDODBJZjY1R2VtZWROUUZGMXp3QUd4NHo5dHZtdDAvajREZTMydGNROUVxWk9QZDl5OEJBUlQ0Sm1KTXF3cEpMZmdkOHRPRFZNSmtTOWtlQXYxQ3Azc2pvUytPL1JHZ2xCNy9aY0ozOU80d0FQekJmcHN6OXV5aG4vZ3NWenlFQXVjdUNlajZ3TGZOS25iM3B1WWk0ZHUrdCtVckF3VzgyWEdmL0RxUEJ2MTI4anZQaWdoOWliQUFBTXVHbTFTalgxdDJibm91SWUrdnVtalVCQjcvWmNKMzlPNHdHUHdKZms4bjN2MklaWEZheE5nQUFkZzY5SGxodUY5U0E4T2RVOVNiZzREY2JiaTc0Z1dmb1dQOER5K0NLaXUwY1FLRjAwY1ZISTdJWTZHSGd0czF1UDU5cVBMUWoxVHR6QzIraTV3UWMvR2JEVFFkL215RGpiYmI2TWxYOEt3QkFqcnY1S1VSbVZuWTJDZnhRaFpXQWc5OXN1T25nUjVUL1RBSitTS2dCQURCKzZMZEI1NWMyTkJIOE9hVjNvQ3UvRCsrOVlKbW5VcGswK3ZMZER2Nkt3ODBIUDhLZjJkaDJ2V1VDWXlWeUNKQ1RMcjVrWDlBVndKQk9JN2FaN0d2WDRsbDlPWW1IN1B0SjJQc1RJQkY3Yk9zbWROVWQ4TUdyMGVkbDQzZndSL1BIQVQrOEo1STZVcWJjczg0eWliRVNiUUFBdXZpU2Z3R2RWL0NLYlFiN21yV0V2MUI5OTBYMi93enNOdG95UDVEZUNSc2VROWYvRnZ5MmVPZFZ5ZS9naithUEIzNUUrS3hNbVd1OXpaZU5FbThBQUxyb3kzY2pmTEZid1Yrb2ZoOUM5cGdFUXo0TVBYWXJrOXFIYld2UlRVdmg3VVhRc1QzQmVUbjRFL0hIQkwvQzdhbXBjOCszVEdLdDZqU0ErV2YxcGsrL0JjRFJGbEgyZGVvUi9zSVlCWG9QaDc1N1E2OGh1N1lIYTkrYXVUVjQ2enBJMjBBZmRsNE8va1Q4TWNFUFBDT3B0a2t5YWQ0T3kwVFdxa29EQU5BRkYrOVBpdVhBVUFPM2ZmNUdnRC9wR2xIOER2NW8vdmpnZjBkOGI1d2NmMjlTbDVPS2xOeFZnRTZTeVRldkJVNEhLdXhjNnVBUFZTT0szOEVmelI4Zi9MNGdaMVFMZnFoaUF3Q1FpVGYvdnZ5VzRnNytVRFdpK0IzODBmenh3WThJL3lGVDU1amUweDJMcXRvQUFCaS94N1hBUTEwSEhQeWhha1R4Ty9paitXT0VIOUdmTVhsdUxQZjQyNmpxRFVCa3BvL2Y4M1NReGJ0ZWRmQ0hxaEhGNytDUDVvOFRmblNaYkV0OU1jNjcvRXhWdFpPQW5hVi92bVIzZXZtTFVEM0lPdGJCSDgzdjRJL21qeFYrVmtzUC96aVplTitibHNsaVVjMGFBSUF1dW1nMHdnSmdzSEdNZ3orYTM4RWZ6Ujh2L085SXlwOHNrKzU3MFRKWmJLcitPWUFDeVhHM3JNVFhmMExLN0NwY0lBZC9STCtEUDVvL1h2amJSVG10bHZCRGpSc0FnRXk2OVUvNGZKRUtsd2NkL0JIOUR2NW8vbmpoVDR2eU9aazIxL1R1cnNSVTh3WUFJTWZkY2oraTV3Q0J6emR6OEVmME8vaWorZU9GWDBYbEFwazI5MEhMWkltb0xob0FnRXk0OWNlZ2wzWiszY0VmMGUvZ2orYVBGMzVFOVFxWk51Y095MlNKcVc0YUFJQk12UFZtaFArWCs5bkJIOUh2NEkvbWp4dCs0V3FaOXBNYkxKTWxxcnBxQUFBeTRaWWJRTDd1NEkvb2QvQkg4OGNNdnlML0xWT3EvMEdmU3FycFpjQnkwa1VYVGxkTW4zN2k0RGRQNCtBM3Q4YTE3T2UvWk5yY3Ixc21xNHJxdGdFQTZLSUxMMUM0bWJJckZRZS9lUm9IdjdrMXBoTit5T1V5ZFU3c3UvbkdwYnB1QUFDNjZJSXpGTGtiYUFrWXRjMFdaZ2FXNFE1KzgrR21oajh0eUhreWRjNWRsc21xcXJwdkFBQzY2S0ovVmZRZW9PQloyZzUrOHpRT2ZuTnJIRFdrVlZRL1h5K1grc3FwSVJvQWdDNjZZTElpdndTR09maHQwamo0emEyeDFIaFhrSCtXcVhNZXQweFdFelZNQXdEUWhSZU5WUEYvQTR5eWlBcFR5VExjd1c4KzNOVHdyNWFVZjNLdFA5NXJvNFpxQUFDNjdQeGgydTc5RXBoczRBNVR3VExjd1c4KzNOVHdMNVVlL2ovVTZxNitzS3E3endGVWtveWJ2VWw2K0I4SGZsSGU2ZUNQWENOS1RIZUNYL1Jua21vN29kSGdod1pjQWVTa2lyRDR3cXNVL1NhUTZqUWFKcU5sdUlQZmZMaHA0VmRGcnZPbWpMeEdaR2JnZlN6MXJvWnRBRG5wNG90T1ZQVi9DdXlSZlNWTWxzQnZqZnhoYWtUeE8vaWorZU9DWDlrczZCa3k3U2VQV2lhcUt6VjhBd0RRcFJmdHAybi9aNkRIaG9nTy9OYklINlpHRkwrRFA1by9MdmhGbnBhMGZLYWF1L2NtcFlZN0J4QWtHWC9MYTZKOWpsZTR5eTdTd1I5YlREZUJYK0YyYVcrWjFBendRNU9zQUFxbGl5LzRqS3JPcHNzRFNiczRBNzgxOHB2UEpoNi9neithUHc3NGhTMmljcUZNblhPZlpaSzZWdE0xQU1nZEVxVHZBVTRvNFFqOHRrekdNTE9JeCsvZ2orYVA1emYvZk9uZ0MzTGkzTmN0azlTOW1ySUJRUFlxd1pJdlhhcktkWlQ2Q0xHRFAxcE04OFBmb2NnM3ZTa2p2OTZvWi9rcnFXa2JRRTY2OElJUHErZ2R3TkVPL2hoam1oNStYU1o0NThyVU9Tc3NFelNVbXVJa1lEbkpwTnVlbHAxN1RSRHhMd08yQWc3K3FESE5EZjhPUVdmSWh2YUp6UTQvZElNVlFLSDB5UXNQMUxhTzJ4RDVXQVZubU96eCtCMzgwZnlSNEpjL0NkNzVNdldlbHl5REcxYmRxZ0ZBOXR6QXdpK2RwYUwvQXd3UGNJVEpHby9md1IvTkh4NytqWUpNbDZsejdyRU1iSGgxdXdhUWs2NDRzNSsvdGMrVklrd0hlbWRmRFpNcEhyK0RQNW8vSFB6dGl0N3E5ZUEvWmVMYzkyMENtMFhkdGdIa3BBdlBHYW1rdmdWNmFvam9lUHdPL21qK1VQREx3K0sxWFNhVDczL0ZJcWpwMU8wYlFFNjY2THlQcXZJZDRHakRDTnNLSWRJNCtNMnR4akhMeEpmcGN2eTlmN1NiVTNQS05ZQk95alFDdVE3MHcyVmN0bGxEcEhId20xdE5ZdlN2Z3ZmZlRMbjN3Vm84aHJ0ZTVScEFnREszR3A5emlxcjNEV0JzcDFIYmJGWXZ4MW9qU2t6endMOVM0TnRzYUowcnA4MHIrL3pKN2lqWEFNcElIemcxeFQ2N25hNGlWd0pqSGZ3eDFvamlONFAvR1JIOUxwTkgvYlJaUDhVWGgxd0RNSlF1UG4rSyt2NTA0Sk1Zdlc4Ty9rVDhsZUZmSU1oM21ITHZ3MjZwWDFtdUFWaEtGNTg3MXZlNVF1Q3pGTjFqVU9TeWV0bGdNQWEvUVV6and0K215bjJlNnZWeS9Oem5MQ2ZRcmVVYVFFanBYeTRjVEtyOVZJVkxnTU1MUmtvRWxNMW1XOTNTYnhEVG1QQy9KUEFqUExsTEp0LzdsbVZ4SjF3RGlFVzYrTnhqZkovekJUMEQ2TmZWVURiYXRwcWwzeUNtc2VCdkJYNGxlTE9aY3M5amJwa2ZUYTRCeEtoZHF3STlqY3hlQkNrSGYwUi94cG9HZjc2bzNFKzY1VUU1OGU3M0xBczZsWkJyQUFsSmwzeGhLT21XVDZweUtzaEpkSG0yb1lPL2dueFVGd25NbzZQbGZqbng3bzJXaFp3TTVCcEFGYVJQbkwwM25uZUsrcHlFNkVkQkIxaG1DRlBWY3JndTRIOGYrSU1JajVEV2gyWGFuQTBoSnVWa0lkY0FxaXhkZG40UGRuWk04VVZPRXRXVGtNNGZOT29TRWFhSzVYQk40VitoSW85NHZ2OElmZm91a0hHejIwTk14aW1rWEFPb3NYVHhHUVBSWHVOOW55bWlURWFZUXBKM0o5WVcvZzVnaFNvTFBIZ0NiWGxjcHQzMWRvZ0pPTVVrMXdEcVREci9yTjcwOE1ZaC9uaGZaS3dvUndDSEFiME1vaTJIRTRWL0p5SXZxUHJQZWlMUGtaWWxiQjI0VEU2ZTFScWlxRk5DY2cyZ0FhVHpaN2JRKy9WUnBOTmpmZUZ3bEFORk9BQjBCTWhlV1ZlRkpCVmZNSmxKMElzYlVGYXI2R3FRVnoza2VWTCtjK3g4YlpXYytIaEhpQ0pPVlpSckFBMHVuWDlXYjNweEFMNC9Ba250aVREVVZ4MkdNRXlVb2NCUVZBZUQ5TTFHRENUekxNVWVRUDlzbXExQU81QW1jeUlPWUR2d0xzSm1WVGFEdnUwaG14Ri9FMzVxSXluVzBNb2FPZkh1bmRYODh6ckZxLzhQVXZYU2ZzS09ONUVBQUFBQVNVVk9SSzVDWUlJPWBcXHJcXG5cXHJcXG5sZXQgcGljX3JlY3ljbGUgPSBgZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUFIWWdBQUIySUJPSHFaMndBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCck1TVVJCVkhpYzdaMTVuRjFGbGNlLzJSTWdKR0dIR0F6N0ptdFl3ajRpT3dSY0dSMEd4Z1hGVWNFQlVWeUh3WkZSUk55RlFYQkJ4MUhBZlFCMUZBUmxDWXNFWXRnU2hHWW5ZVTBuSkpCMHV1ZVA4OTdRdHQzcGQyK2RxcnIzdmQvMzh6a2Y4dUhUZGV2VWZWVjFhemtMQ0NHRUVFSUlJWVFRUWdnaGhCQkNDQ0dFRUtKZEdKRmJBUkhNU0dBcU1MM3gzdzBic2pHd0RyQjJReVlEa3hwL1QrUC9qV3I4KzBWZ1JlUGZMd0I5amYvM2JFT2U3dmZ2UlVBWDhCRHdaT052UlUzUkJGQWZKZ003TkdSN1lCdGdjMnpnajgyazA4dllaTkFGL0FXWTI1QjV3SkpNT29rQ2FBS29KcE9BR2NDZXdCNE5tWlpWbzJMMFlTdUV1Y0FjNEViZ0ZtQnBUcVhFMzZJSm9CcXNCK3dQSE5pUW5YaGxxZDR1OUdBVHdvM0FUY0R2Z1lWWk5SS2FBREl4Q3Z1Nkh3a2NBZXhHNS8wV2ZjQWR3SytCWHdHemdWVlpOUklpSXVPQlk0RkxzVU8xUHNsZnlYUEFaY0J4d0JvbDM3RVFsV0ljOEViZ2gwQTMrUWRaWFdRcDhLUEd1NXRRK0swTGtabVp3QVhZdFZudXdWUjM2UWErQyt4WDVBY1FJalZUZ05PQWU4ay9hTnBWN21tODQvVmEvRTJFaU00ZXdIZUFaZVFmSUowaUwySGJxcjFhK0gyRWNHY2tNQXY0TGZrSFE2Zkw3Y0NKdkdMVktFUTB4Z0luQWZlUnYrTkwvbHJtQSsvRmJsdUVjR1VNOXBWNWdQd2RYYko2V1FpY2lTWUM0Y0JvNEdUZ1lmSjNiRWt4NlFMZTFmZ05oU2pNRzlCU3Z4MWtBZkJXT3MvU1VwUmtKbWF2bnJ2alNuemxCbUIzaEJpQ2RZR3ZZUGJvdVR1ckpJNzBBcGNEbXlKRWc5R1ljVWt6RUlhay9hVWIrQkE2SCtoNGRnSnVJMytIbE9TUk85RzJvQ01aRC93YkZ0RW1keWVVNUpXVjJOWnZUVVJITUJPNG4vd2RUMUl0bVEvc2cyaGJSbU1HSWl2STM5a2sxWlFlNEhPWTRaZG9JN2JGYk1aemR6QkpQZVJtTE9DcWFBTk93QUpNNU81VWtucEpOMmIrTFdyS2VPeHdKM2RIa3RSYnZvZWlFdFdPTGJFSXRMazdqNlE5NUZaa1BGUWJEc01DVE9idU5KTDJrbWVBUXhHVjVzUFlTVzd1emlKcFQra0JUa2RVampGWVdLN2NIVVRTR1hJQmlrQlVHZFlDcmlaL3A1QjBsdndHUzdCYWErcnVJejBOdUFyWU1iY2lvaU9aQXh3TlBKRmJrYkxVZVFMWUJndktXYWVrbWFMOWVBUTRHQXM4VWp2cW1vQnlOK0FQYVBDTC9Hd0svQkh6TEswZGRad0E5Z2V1QlRiSXJZZ1FEVGJFK3VTTTNJb1VwVzRUd0g3WWdkK2szSW9JTVlCMWdldUExMmJXb3hCMU9nTTRBQnY4OHRzV1ZlWkZ6Qmp0eHR5S3RFSmRKb0I5c1J6eUUzTXJJa1FMZEFPdnd6eFFLMDBkSm9DZHNhWFY1TXg2Q0ZHRVo3RHR3THpjaXF5T3FrOEFXMkVuckJ2bVZrU0lFaXdDRHNUeVMxU1NLazhBMDdCWTd2TENFblhtWVdCdjRNbmNpZ3hHVlc4QkptT21saHI4b3U2OEdyZ1NNMW12SEZXY0FNWUFWd0RiNVZaRUNDZDJ3eEtTVkM0UFFSVTltcjRCSEpkYkNTR2MyUXJZQ0ZzTlZJYXFUUUFmQVQ2V1d3a2hJakVEdXlLY25WdVJKbFU2QkR3RXUrdXYycVFraENlOXdKSFlHVmQycWpJQlRNZFNkSzJYV1E4aFV2QWNscExzb2R5S1ZPRVFjQUx3RXpUNFJlZXdEdGJuczBjYnJzSnkrMXZBNGJtVkVDSXhHMk8yTGovUHFVVHVDZUJFTEVtbkVKM0l6dGcyNEs1Y0N1UThBOWdTdUFNNStJak9aaWxtSjVBbG9sQ3VNNEJ4bUxHUEJyL29kTllDTGlXVGtWQ3VMY0E1d0pzejFTMUUxWmlHUlJxK0xuWEZPYllBKzJEeC9IS2ZQd2hSSlhvd3o4R2JVbGFhZWdKWUF3dWx2SFhpZW9Xb0F3dXdnOEhscVNwTS9SVStEemdxY1oxQzFJVjFzWE81YTFKVm1ISUZzRHRtQTYybHZ4QkQwd1BzaWEyVW81UHFGbUFVY0JFYS9FSU14MmdTanBWVUEvSTA0TzJKNmhLaTdrd0ZGZ00zeDY0b3hSWmdRMkErYlpCSVVZaUVMTUhTMzBVTkpaWmlCWEFCdHFjUlFyVE9PR0FLOE11WWxjUmVBY3dBYnFVYVhvZEMxSTFlWUNibUtoK0ZtQU56QlBEMXlIVUkwYzZNQk00bjRvYzY1dUI4TXpaN0NTSEtzei93bGxnUGp6V3pqQUwrakNMN0N1SEJBbUI3ekViQWxWZ3JnSGVnd1MrRUYxc0IveGpqd1RGV0FPT3hhNzlwRVo0dFJLZnlFSFl0dU5Mem9URldBTzlFZzE4SWJ6YkR4cFlyM2l1QU1kalhmN3J6YzRVUThBUVdTY3ZOVzlCN0JYQThHdnhDeEdJVDRBVFBCM3F1QUVZQmQyUDdGQ0ZFSE80RGRzQ01oSUx4WEFITVFvTmZpTmhzQ3h6dDlURFBDZUNEanM4U1Fnek5oN3dlNUxVRmVBMHcxL0Y1UW9qVk14TzRKZlFoWGl1QTA5RGdGeUlscDNvOHhHUFFUZ0VlcHdKNXpvVG9JRjRDWGdVOEcvSVFqeFhBQ1dqd0M1R2E4VGlZQjN1c0FPN0VRaGtMSWRKeUwrWWtWSnJRRmNCTU5QaUZ5TVYyd040aER3aWRBTjRSV0Y0SUVjYTdRd3FIYkFIR1lBRUwxdzFSUUFnUlJEY1dlUGVsTW9WRFZnQkhvTUV2Ukc3V0JnNHJXemhrQW5oYlFGa2hoQi9IbFMxWWRndXdCckFJV0xOc3hVSUlONVpnMjREQ2JzSmxWd0NIb3NFdlJGV1lDQnhacG1EWkNlQ1lrdVdFRUhGNFU1bENaYllBbzdEVC8vWExWQ2lFaU1KendBYkFxaUtGeXF3QTlrR0RYNGlxc1E2d1I5RkNaU2FBMGxjT1FvaW9IRjYwUUprSjRPQVNaWVFROFRtaWFJR2lad0NUZ1dkSWsxVllDRkdNWG1CajdJcStKWXF1QUE1Q2cxK0lxaklTT0tCSWdkRUZLeml3NE44TFVWV1dZem4zdXJDc093ODEvdDl5ek5kK0VyQVJscEJqQjJCcjZoSDFhbC9neDYzK2NkRUpZTitDZjUrYlhpeVpRaGQyZGRsa1RlelVkRFBNZ3FxZDZjTVN0VjdMS3gyK2kxYzZQSmdoeVdSZ1UyQUxZQmRnVDJBdml2ZVJxdEtIeGEzODM0YmNRREVIbXNuWUIvQUk0RmhzY3FnaTBjYm9XbGhlc3I0S3kwTGdCOEEvWVJsVXhyYlFycld4cmMybnNFN1JVNEYyaE1wSzRBb3NXbE5JUjUyRXBYbi9LZkJ5QmRwVlJwWUIzeVF3Y01ZQVJnTkhBVmRpSDVuY2Jld3ZLNGhrcFh0UUJSbzMxQTk4RVRBRG55WGFCbGlJODdrVmFGdFJlUjQ0bHppNUdkZkRKc21GRldobnErL2lrdzI5WTdJRE50bFdhU0o0Yll5R2ZySUNEZXN2VHdBZkorNFBmQ2h3ZlFYYU9weDBBeC9GVm1teFdRT2JDSllrYkY4UjZjVysrS21OMWZiRnRscTUyOStIalZWM2ZsS0JodlZoWC95enNZNllpbG5ZL2psMzJ3ZVRuMkZYUDZtWkN2eFBDWDFqeW1QWXBKMkxzY0E1bURsdXp2ZncweGlOKzB2bVJ2VUJOMk9uc1RtWUFIeUIvRDl1VTVaUmpaQnNKMkdIaWJuZngzWFk5cTBLSEliWnkrUjZGd3U4R3pTSnZIdWNYdUR6Vk9ORStuRGdhZkoyOWk1ZzE4anRMTUt1Mk5jMzEvdjRQaGFpcmtwc2k5MjA1SGdmcTNEZURoNlFxU0Y5Mk9uelAzZzJ4b0hOZ2Z2Sjh6N3V3UkpDVkkxcFdIYm8xTy9qUXZ6VDNIc3hsWHhieDcwOEcvTGVUSTFZUmduNzVrU3NCOXhCK3NGZlpVL01EYkZZOWFuZXgvZXA3dUJ2c2lud0NPbkhUbEMwNElGOEtVTURYcWE2ZzcvSmVxUTcrZTJpbWwvK2dVd2x6WGJnOTFSalM5Z0t1NUQrMXVTcm5nMjRLckh5ZlRpa1BVckVkQ3cvVzh4M3NZeHE3Zm1IWXdhbWM2ejM4UWpWWGdrTnhsdEpPMzZ1OWxUK2djVEtuKytwZkFJT0orN3RRQlZPKzR0eU1uSGVSUy93dW9UdDhPUTdwQnREOTNncFBacTA1ckczVXArbFhYL09Jczc3K0ZuS1JqanpDL3pmeHdWSlcrRExaTXduSmNVNFdvYVQ4OUttaVJUdXcrNlR0L1ZRT2dNamdadndmUi9kNURIeThXSWF2bnZmWnpFbnJqcHpBdW5HazR2RDBqNEpGZjRQRDRVenNqTytEbE1mVGF0K0ZENkIzL3Y0U0dMZFl6QVN1SXMwNHlrb2NXaVR2MCtrN0NMUzJMTEg1bHY0dkkvbmFJLzNzUlkrRGtSTGdDa1I5QnVMbVErZmdkMTJYUUo4Qm5nZmxuMDNCc2VSWmt5NVpPLzZVQ0psei9aUWRnaTJBUGJIWEZzUEIzYkVUSHRqOEdwOFZnR2ZqNkRicHNBcHdLK0IrNENsRGJtdjhmOCtRQnhQd2s4VC9qNis1cXpUTk9CaTRJVmg2cjBmZUQrK2xvWmpzUTllN0RIMUx4N0tucHRBMFpmd0Q3Q3dIZFpwSGg2aXpoY3hwNGszNFIvcEpmVHdheVUyV0wyWWlybE10M0tZdXdxNEhMdmU5R0k2WWJja3E0QnRuSFFaZ1huTEZiMm1YSUJ0aDcwNHYyRDlaZVRmUFJTOUpJR2kzL0ZRdE1FNjJNeGU1Q3Q4S3pEVFVZZFpCZW9lVEs1dzFPWDFsRHVJNjhZM0E5UnZTK2pRbE5sT09xeUJoY3NxcThkTFdMQVpEN1lQMEtOVmNia3grWGtDUmIxbTFxMG9iNHE2RWxzQ2V6QWFlTHlrSG4zWVNiRUhIeVQ4eTN1cWt5NXZDOURqMHc3MWp3QXVDOUNoS2IzWXVaZ0hzUThETC9OUThvYklTajZQejczL3R0akJXYWcrcHp2b0FuQmV5ZnA3OGRrT3ZSNGY0NlJWK0t3RUpsSCtiR1EvaC9yUEtsbjNZTElVaXdRVVN1eHR3RFVPT2thM2RXODVndWxxbUFMTWQ5S25CeDhmaEVOSzFuK1hROTJ2d3ZmK3ZSdll4RUd2bTB2VXZaandBN2pwMlBMZHM5OWVHNmdUd0J1Y2RSb29kenJvR0QwUXlNa09PbDdvck5QamhBZFduSUFGYUN4YTk1Y0M2d1g0ZG9sNmg1T0xIZlQ2U29sNmIzYW85N3NsNm0xRlFrMlNwMGZTcXlrdWdVRmlteTd1RktqZjFwUWJhTVBKSndMMWduSjd2SDhPckhOVDRwaHU5eER1amZqMkV2WCtNTERPQ2RpU1BVYmYvVzZnYmlNaTZ0YUgzWUN0bGxaOHFXUEgzbnNvc1B6SnhJa0c4ejdDcndmbmxpalRGVmpuNjRtVHZXa1VGZzgvaEwrVUtCUGFQdzRoVXBoczRHakMzblVmNWpvZGkzSEQvVUVyRTBBc2d4a3cyKzRsZ2MrWTVhSElJR3hDaVhUTEF4aDJCaDZFcnNBNlk4WlFPREt3L0tNbHluUUYxcmxiWVBuVnNTNW0rQlhDVXg2S0RJSExCQkF6SFZKWFlQbXAyTlZmTEE0TUxQOUVpVEpsQmtsL3Rnd3N2enEyQ0N6L2ZJa3lMd1RXR2R1Wkt2UndkSm1MRm9NemJHS2MzQlBBd3NEeVUxMjBHSnJRSDdmTTZtYjU4SCt5V21LbXJBcDkzMlU2KzZyQU90Y09MRDhja3dMTHIzVFJZbkJjVmdBeFk2NkZOajUyVkpqUXZJRkZjczgxNlEyc015YWh1cFhwUzYya2Qxc2RMYWZLTGtub0VqNnJ3MWZ1Z0lxaDlTOTIwV0pvUXBlZjQwdVVDZTBRWmJZZHFaNDlzVVNaeVlGMVBoNVlmamh5dkpOV0dmWUQyOG9BWE9HZ3lGQ0VMcytlSFA1UGdxaGpoMzh3c0h6TVo1ZDVINkZibXVzRHk2K09CWVQzd1ppcldKY0pvTXd5dGxWQzgvbzlqSm4veG1KT1lQa3kvdXVoWG9CWEJaWmZIVmNHbGkvVHRzMEM2N3lWZUZkdG9TbTRKdURyOVRrUWx3a2c5RkJxZFV3bjdKQ3hoM2dkZmluaHR0UmxUdVEzRDZ6ekY0UWZuQTFHRDVZTE1JUXlMcjJoYWIzN01GZG9iMVppbnJJaGJFbmNiZml3cS9mY0U4Q2FoSiswZjg5RGtVRzRndkRWVDVrT0h4cisrMUhDTGRRRzQxdUVmMG5MUk5qWmlYQmJsUFB4WHdWY2lFWExEaUhVem1RNFFtMXNBTE5taTJXcTJJZFpyb1VTNG1zK21Dd25mR2syQ2p1a0xGcjNqWUgxZ2wzWGRaZW9leWhaak05OSttMGw2ei9Jb2U0ajhET1J2by93NnorQS8zTFNaeWk1M1VGSHJvK3NwRWZvcTlmZ2ExUDljUWVkOWl4Wjl3cDhPcGRYaDErRmo3WGxsQUI5em5Pb0g4elZPL1I5UEl0UGh1b1IyQ0Z6ekxIbDRnNGNPeUJJR1h2NXdYZ2pQaG1NZjRLUDhkT1pBVHE4MmFGK3NHQWVvUUZCVG5IU0pTUVE1Z1A0R2FTZGhLV2RLNlBIQXNMUEpKcWtTTGpya2xNaWhtdnBRQWs5NlczeWRzTDh2aS9Iei9scGRvQWVvYWZML1RtR2N0dUJ4Wml6aXhlL0xLRkRmOW5mVVplWndDMEY2bDZKN2ZsRHIyajdjM0dCK3N0SzZDRWxVRDZ5VFJINVZ3OUZHK3hMOGVBZ0wySXgrTDIrTWxzWHJIK2d2RXo0RldsLzFzZDg4VnVKeUxNS08xajF0S0ZmbjNDWDdSODQ2Z1AyVzc4UlcvRU50WDE4Q1BneWZnRkptMHltM1BsUVVmbU1oN0tuSlZEMFFYeGRXTWRnb1p6dkg2YmU1N0VySW0rZmduT0dxYmNWK1pTelRtRCsvTy9IRWtmZWk1MFNMMm44K3lyTUJUcEdCdUt6Q0g4Zkt3bjN2QnVLQ2RnNTBtRllsT2o5Q0wrT1hSMmZKUDZZNnNNcHhtV3FKQWJIZVNnN0NOdGhRVFkrZ3kyN3ZvVGxPamlZT0hFRTFzWW5OdUZDNHNkaVNNRkUvTEludXl4cE16TVJlSVkwWThybExDbFZhckE1NVBkTjhPQmorTDJUR0t1QTFId0t2L2ZSZ3lWMXFUTXA4Z0UwWlY4UGhWK2RVT0VUUFJUT3lBYjRmUDJiMGsxOGwrZVliRWJ4QkJ6RHlVM0VpWGlVZ2gzeHpSMDVuSGdFY21VVTVhOU5pc3JqK0o2MHB1WlMvTjlKcVBsdFRxNGtUajg1STJVam5CZ1AzRUc2d2UrV0hoek04aW1WNHQvMlVqb3hoK0pqaHpDWW5KU3dIVjZjUXJ3K3NnS256TGNKK1FicHhsQWZjSStuOHJGbThxSEVKYXRwUWpiQkp3UHVVTEtjY0IrQmxPeU9meHorZ2ZJWWNSS1p4dUJkcEIwL2ZUZzd5WDA1c2ZKTHFNOWh6empnRDhSL0ozWHA4SnNSMzhTMUtmT3dYSkJWWmhacDkvMU5PZCt6RVNkbmFFQWRPdnhJekhvdzFUdTVtL0F3WlRIWmdPRnRMN3psVHVLSGhpdkxMUHdQUVZ1VmQzbzJaTzlNalpoUGRTZUJrY0EzU2Y5TzdpV09zVTRvbTVGKzhEZmxQdUpHUXk3RE84bno1Vy9LbnA2TldRdWZSSk5sNUVFczhXZVZHSWZGQzhqMTR6NEd6SWpleXRiWm5YVEwvcUhrV2VEdzJBMXRnWEhBMThqN0xucUpFR3gwUWNZR1BZK2RzbGVCcWNBZnlmc0Q5MkZMUzQrOGlxR2NRdndEdnlJZC80dmtzNkRjSHZQQnovMGVRZ09WREVyT0wxNGZ0Z0w1TEhITWQxdmxDQ3pNZE80ZnVMLzhnanpicE0xSWZ6dlVxanhJdkl4Umc3RW1jQzV4Y2xTV2tkQjhpb1B5NFFvMHJBOUxWKzZSTDc0SUd4TS9la3VJTE1FY1RGTEVtSitJbWZmbU90d3FJamRnMjRKWUp1WVRzYmdQTWErQXk4anBNUnFiSW9CQnE5SUwvQmkvNEF4RE1RVnpWWDRoWTF1THlFTGcwL2pGVitqUCtwaFhuNWRqVDBycGF1anVGWUYzYitEcitKcDllNHBuN0lUL1p3M3lubW9PSnIzQXRjRHhsRXZDTVJTdndlSWdwUERaamlHcnNEaUpieU1zdk5nVXpFdnpsMVJuZVJ2NlhtNEV6c2F5QnJjU2MyRTBsbi95ZU13YjhhRUt0R04xc3BJQzJaQ0wyZ3IvaWJqWlZrTjRIcnVUL3cxd0hjVVNVWTRGOXNLQ1R4NUx2YXp1aHFNSE81aTZGYnN6WDREZElpeHV5R2hzNnpBWiswSnVqYmxRNzRlOWg3bzYzclRLSXV4OUxPS1ZLTG9Uc0hleUVSWVhJRFE5V1VwdW84QVZZTkVKNEl0WWdKQ3EwNGZOMUhjQmoyQS9jRGYyRlJ1TGZSWFh4bWIycmJGcnhwaHAwSVZJeFJldzg3cVdLRG9CSElPZE9nc2hxc25SRlBBREtEb0JUTUlPZ2RwOVdTaEVIVmtGckV1QnBMbEZyMGNXWStjQVFvanFjUnNGTTJhWHVSLzlUWWt5UW9qNFhGMjBRSmtKSUdiMldTRkVlWDVWdEVDWmtFRWpNY2VQS3J1bEN0RnBQSTFkVy9ZV0tWUm1CZEJMaVpsR0NCR1ZxeWc0K0tHOGpmVFBTNVlUUXNUaHgyVUtsWTBhT2c2ek8vZklZaXVFQ09NRmJFdStvbWpCc2l1QWw2bDN1R29oMm9tbXIwWmhRdHdrcndnb0s0VHdvOVR5SDhJU0I0ekRiZ09xSHBWVmlIYm1hU3hLMWNveWhVTldBQzhEUHdvb0w0UUk1NzhwT2ZnaFBGTEtwWUhsaFJCaGZEK2tzRWZ1c0huQURnN1BFVUlVWXg2QkNYUThZcVhWTlplZkVIWG5vdEFIZUt3QUptTUJOMW9PUXlTRUNHWXBkdmpYSGZJUWp4WEFDK2d3VUlqVS9JREF3UTkrK2NOM3hYS2ZDeUhTc0FzVzhpNElyM2pwYzdBWTdFS0krRnlEdytBSDM0UUo1emsrU3dneE5GL3dlcERYRnFENXJEK2pLMEVoWWpJUDJBbUxmQjJNNXdxZ0R6amY4WGxDaUwvbGZKd0dQL2l1QU1CaTdpL0FMd1dURU9JVkhzUnlXSlEyL1IySWQzanZWVmlxNktPZG55dUVnRE53anNydHZRSUFTOTk5UDNFU1ZBclJxVHlNWmJFcTVmYy9GREVTZlBSaVZrckhSSGkyRUozS2FVVEl5UkZqQlFDMkNwaUh6VmhDaUREbVlZWS9xN3dmN0hrTDBKK1Z3Sm1SbmkxRXAzRW1FUVkveEZzQk5Ma0dTN2t0aENqSDljRGZ4WHA0N0FsZ1QyQjJnbnFFYUVkNnNURVVMUjluckMxQWsxc0pqRmdpUkFkekNaR1Q4YWI0TW04STNJZkZEUkJDdE1iendEWlkwTTlveExnR0hNaUx3RExnaUFSMUNkRXVuSUh0LzZPU2FtOCtDc3Rkdm11aStvU29NN2NCZXhQcDVMOC9LUS9uZHNIT0JNWWtyRk9JdXRHREhmek5TVkZaaWkxQWs2ZUFOWUQ5RXRZcFJOMzRMQmJyUHdtcHIrZkdZelBidG9uckZhSU8zSSt0bEY5S1ZXSHNhOENCdkFTOGl3UjdHeUZxUmc5d0lna0hQNlRkQWpSNUZEc0hPQ0JEM1VKVWxiTkp1UFJ2a3N0Q2J6VHdSMkJtcHZxRnFCSzNBL3ZnR09palZYS2E2RzZKblFlc2xWRUhJWExURGN3QUhzaFJlZW96Z1A0OEFMdy9ZLzFDVklIM2tHbndRNTR6Z1A3Y0JXeUN6WUJDZEJvWEFwL1BxVUFWdlBUR0F6Y0N1K1ZXUklpRXpNSDIvVWxQL1FkU2hRa0FZSFBzSUdSS2JrV0VTTUF6d0I1QVYyWTlzcDRCOU9kQjREanNMbFNJZHFZSDYrdGRtZlVBOHA4QjlPZEJMTk93dkFaRk8zTXFjSGx1SlpwVWFRSUFjeGJhR05nOXR5SkNST0EvZ2JOeUs5R2ZxcHdCOUdjTWNCVndTRzVGaEhEa2F1QllLcmJOcmVJRUFEQVJ1QTdkRElqMllCN21CYnM0dHlJRHFlb0VBTEFSY0JQS01DVHFUUmV3TC9CRVpqMEdwU3EzQUlQeEZIQTRzQ2kzSWtLVTVDbHNLMXZKd1EvVm5nQUE1bU12OE5uY2lnaFJrTVhBa1dRMDgyMkZxazhBQUhPeHE4SHUzSW9JMFNKTHNOVnJrckJlSWRSaEFnQUxrbmdVRm1GWWlDclRqUTMrMmJrVmFZVzZUQUFBTndDSFVjR1RWQ0VhTkFmL1Ria1ZhWlVxM3dJTXhSN0FyNEYxY2lzaVJEK2FWcXkxK1BJM3FlTUVBTEE5OER2TWFsQ0kzQ3pFdnZ4MzVsYWtLSFhhQXZUbkhzeXdZa0Z1UlVUSDB3WHNUdzBIUDlSM0FnQnpIam9BdUNPM0lxSmptWXNaK2RUMlExVG5DUURNME9KQTRGZTVGUkVkeDIreEQxQmxqWHhhb1dyZWdHVllBVnlHQlJQWks3TXVvak80QkRnZVMzb3JLc1FIc05ES2ZSSkpCT2tCVGtkVW1vTXgwK0hjblVYU1h2STAxcmRFRGRnVXU0L04zV2trN1NGemtGZHE3UmlQUldESjNYa2s5WmFMZ1FtSTJuSUM1cHlSdXlOSjZpV0xnYmNpMm9JdGdKdkozNmtrOVpEYnNENGoyb2pSd0puWXRXSHVEaWFwcHF3RVBnZU1SYlF0TTRHN3lkL1pKTldTdTFFMDZvNWhISEFPc2htUVdCODRGenMwRmgzR3JzQ2Z5TjhKSlhua0ZtQm5SRWN6Q25nZjhCejVPNlFramJ3QW5FTDlmV0dFSXhzQTN3WjZ5ZDlCSlhGa0ZYYXZ2d0ZDRE1FTTRQZms3NndTWDVtTkhRQUwwUklIWS83ZXVUdXVKRXp1QWQ1Q2ZhTmZpWXlNeERyUGZQSjNaRWt4ZVJoNEQrM2g4aTR5TXdZNENRdi9sTHRqUzFZdkR3RHZSc1k4SWdKamdCT0JQNU8vbzB2K1d1WTFmcHZSUS81NlFqZ3hBa3RVY2gzNU8zNm55KytBbzlHVm5zakVUcGpiOFZMeUQ0Wk9rZVZZV0s0ZFcvaDloRWpDSk9CVTRDN3lENUIybFRsWTJMY3BMZjRtUW1SaE4rQ3J3RFBrSHpSMWwwWEFONUNqanFnaFk3R3pna3N4ODlQY2c2a3UwZzE4RDB1MXBVTTkwUmFNQTJaaGU5Y255VC9JcWlaUEFCZGhFNlk4OHhJaDY2ZzhqTUJNam8vQ01oN3ZRZWQ5Nlhvdzg5emZZWWxkYnNmOE1FUkNOQUZVZzRsWWZybURzR3d6dTJBMkIrM0VTaXlOMjgzQXRkZ1Y2cEtjQ2dsTkFGVmxBclpDMkF0ellOa0YySno2M0hYM1l2bnk3c1RpTGN6R3Z2RExjeW9sL2haTkFQVmhUV0FITElERk5zQ1d3TmJZeERBdWswNHJzQ1N0OTJQK0V2TXg1NXU1bUYyRXFEaWFBT3JQU0dCallGcS8vMjRJckErczAwOG1ZdWNNRXpFSG1iVUhQR2N4OXVWZWdnM3N4ZGdnZmhhN3pud0d5NDd6R1BBbzhBaVduTFV2V3N1RUVFSUlJWVFRUWdnaGhCQkNDQ0dFRUVJSUlVVEwvQjlFL2JmSGJHdVUyZ0FBQUFCSlJVNUVya0pnZ2c9PWBcXHJcXG5cXHJcXG5sZXQgcGljX3JlY3ljbGUyID0gYGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBSFlnQUFCMklCT0hxWjJ3QUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQjJQU1VSQlZIaWM3ZDE1ZkZUbDJmL3h6M1VtQ2FzYjRGS3I0SUlvb3ExQ3JZS1loTVZhNm9vMlBwSUFvclcyL3F4OXROWXVkbm1pclF2V2FuMWE5U2txUlVnQ0dsdHh0OG95aWVEU1N0MFFGRkdCQWtWWlhOaVR6RnkvUHlhUkxjdVpaT2JjTTJldTkrdkZpekJ6em4yK0dYS3VuSE9mKzl4SE1GbE5SNDNxeE9iOWVoT1IzcWdlaXNvQlFFL1FIaUE5Z01hL3RYdmpLdDJCL01hdjl3WVUyTmo0N3pwZ2MrUFhHNEVOcUc1QVpBUEsrc1RmK2pHaUs0aXhuRS9xVjhyYjFYVUJmYXNtRGNSMUFOTTJMU21KOEo4dVI1SWZQNTQ0eHlJNmdEaUhJZlFHdnVRd1doeFlBeXhyL0xNUVR4ZWgzdHRFKzM0Z2xNY2Raak0rV0FISU1Ecm84bnk2Yno0Qk9BWDRPbkFjYUgrUVRvNmpKV3Nyc0FoNEMvUWZDQy9CNm9VU2pUYTREbVoyc0FMZ21JNFkzNU40dkpoNGZBZ3FKeU1NQWpxN3pwVW1tNEVGd011b3pLZGdlNDNNcXY3TWRhaGNaZ1VnWUZwY25JY2MvRlZpakVSa0pGQU01RG1PNVVvTWVCMlJXUkNmeGRyNld1dFRDSllWZ0FCbzhaaGV4T1Zja05FSXhVQTMxNWt5MU9mQWJOQkhrWUluSkRybFU5ZUJ3czRLUUpyb2FTWDdJNTFHSVZvQ25NR09ubmZqVHd6bFpaQnFsSWZsaFlyL3VBNFVSbFlBVWtoUEx0dWJMbkloeXNXZ1F3RFBkYWFRaUtGRUVYMlFUZDMvS2dzbWJYRWRLQ3lzQUhTUVV1NVIvTzRRTkRJT3RKVEVkWGFUUHA4RGp5RTZsV2pWYkVtTVl6RHRaQVdnblJLSCtBV1hJMXdHSE9ZNlQyN1NKUWozUWNIOTFsL1FQbFlBa3FURHhoNU5YUDhmY0JuUTFYVWVBOEEyb0JvdlBsSG1Ubi9iZFpoc1lnWEFoOFJoL3RKelVQMGhNTXgxSHRNaUJmNk9wMzlnYnRWemRuclFOaXNBclZES1BZcmVQUk84RzRFVFhPY3hTWGtMbGR1cDdWdGhRNUpiWmdXZ0dZa2RmOGtGSURjQ3g3ak9ZenBrSVNxLzQ4RHRsVkpkSFhNZEp0TllBZGlKVXU1UnVIUXNvcjhFam5LZHg2VFVRb1FiaUZiKzFVNE5kckFDMEVnTHh3MUg5SGJRRTExbk1XbjFUNUJycGFiaUJkZEJNa0hPRjRCRXJ6Ni9BUzF4bmNVRTZra2lEVmZMbklmZWR4M0VwWnd0QUZvOHBoY2F1UkgwdStUdXpUZzVUcmNqOGlmeTZuNlRxM2NsNW1RQjBLTFNFdkR1QnQzZmRSYVRFZGFnOGxPcHJaanFPa2pRY3FvQWFQSFl2cWplQzR4MG5jVmtJbmthYWJoU29qT1d1VTRTbEp3b0FEcm84bnk2YmZvUkl1V0VkN0lOa3hwYkVibU50ZHR2em9XNUNVSmZBUFMwc1FQeGRCcHdyT3NzSnFzc1FMMXhVanR0c2VzZzZSVGFBdEI0VGY4cVJHOERDbHpuTVZscEc2cmwxUGI3WFZoSEU0YXlBR2p4UlllaGtRZUJRdGRaVENqTVFyaEVvcFVyWFFkSnRkQk5XS0dGWlplaWtUZXhuZCtremtpVU54SlhqOElsTkVjQVdqeWhNMXIzUjVETFhHY3hZU2FUV0xmOXFyQjBFSWFpQU9qdzBqN0VwQm80eVhVV2t3djBWU0o4VytaVUxYZWRwS095L2hSQWk4dk9JaWF2WVR1L0NZeDhqWmk4cWtWalQzZWRwS095dGdBbzVaNFdsZDZFOGppd24rczhKdWYwQW4xR2k4dCtwbGw4SkoyVndiVjRRbWVvbjRMeVg2NnpHSVB3RU9SUGtPaVViYTZqSkN2ckNvQVdUemdJclg4Y08rUTNtZVZGNG5YbnlRdlZhMTBIU1VaV0ZRQWRObVlBY2U4cG9JL3JMTVkwWXltZW5DVnpLOTUxSGNTdnJPa0QwTUt5YnhEMzVtTTd2OGxjZlluclBCMVdkcXJySUg1bFJRSFF3ckVYSWp3SjdPTTZpekZ0NkVWY1oydngyUE5jQi9FajR3dUFGcGVOUmJRU2U3YWV5UnJTQ2RXSHNtSGtZRVlYQUMwcXZRTGxRV3pHSHBOOUNrQ21hMkhacGE2RHRDWmpDNEFXbHY0VTVCNHlPS014YllnZzNLL0ZaVmU3RHRLU2pOeTV0S2pzQmtSdWRaM0RtQlFRbER1MXVQVEhyb00wSitNdUEycFI2VFVnZDdqT1lVenE2WStrcHVwTzF5bDJsbEVGUUF2THJrVDRrK3NjeHFTSkluSzVSQ3Z1ZHgya1NjWVVBQzBzdXhoaE1obDZXbUpNaXNSUXlxUzI4aUhYUVNCRENvQVdscDZQeUVOWWI3L0pEZlY0TWxybVZqemxPb2p6QXFERFNzOGdMazlnMS9sTmJ0bUt5a2lwclhqUlpRaW5CVUJQS3pzV2ovbkF2aTV6R09QSWVsUUhTMjNWZTY0Q09EdmYxdUlKQitIeE5MYnptOXpWRTVISGRXaXBzL2tzbkJRQUhWelNoWGo5VE96R0htT09JU0l6ZGRTb1RpNDJIbmdCVU1vOUNnb3FFVTRPZXR2R1pLaEN0dlNjNG1KbW9lQ1BBQXJmdXdrWUhmaDJqY2xvZWhGRlpkY0Z2ZFZBSzQ0V2pUa2J2TWVDM3E0eFdTSUdNa3BxS3A0UGFvT0I3WWlOVCtaOUZidW4zNWpXZkV3a01sRG1URjBWeE1ZQ09RWFF3U1ZkVUI3R2RuNWoybklBc2Rnak9xQWtrT2RaQnRNSFVGQndEK2lKZ1d6TG1PeDNDajBMSmdheG9iU2ZBbWp4Mk10UXZTL2QyekVtZEZRdmtOcXF2NlZ6RTJrdEFEcTA5QWdpOGpxd1Z6cTNZMHhJZllMd2xYUStsVGh0cHdCS3VVZEVwbUE3dnpIdHRSK3FrOU01UGlCOWZRQkZTMzhCbkphMjlvM0pDWEk2UldWWHBLMzFkRFNxcDQwZGlLY3ZBWUgwWkJvVGNsdndaR0E2SGppUzhpTUFMWjdRR1U4cnNKM2ZtRlRwU2x5bmFVbEpKTlVOcC80VVFPdXVCL3FudkYxamN0dEpyQzI0S3RXTnB2UVVRSWVPNzBlazRVMFFKM2MyR1JOeW01SFljUktkc1N4VkRhWnNDaTRGSWRKd3IrMzhhZGJ2TURqK2FPaVVZV2RZMit2Z3pYZmh2V1d1azRSWk56VHZidURNVkRXWXNpTUFMU3o5RGlJWk05dHA2T3pkSGE3L1BweHlndXNrclh2cE5iamx6L0Q1SnRkSndrdGt0RVFyWnFha3FWUTBva1BHSFVCK2ZESFFJeFh0bWQza1JlQ1B2NGIrUjdwTzRzL2k5K0dxRzZFaDVqcEpXSzJrb2RPeE1uL3l4bzQybEpwT3dQejRiN0dkUDMxR0ZXWFB6ZytKckdmWUVKQTBPb1M4N1Q5UFJVTWRMZ0JhT0s0L2NFa0tzcGlXblBZMTF3bVNWM2lTNndSaGQ0ME9MKzN3bEhvcE9BS0kzNG5ONTU5ZSsyZmh3ZFVCUFYwbkNMdk94TDJiT3RwSWh3cUFGbzRiam5CR1IwT1lObmhaK0xDa2JNeWNiVlJMdGFpc1E0ZGE3ZjVmVXNvOVJHL3Z5TWFOTVIwaXdGMGR1Vm1vL1dXNmFPbkZOc21ITWM0TlpsanBPZTFkdVYwRklERW1XVlBTQzJtTTZhQzRsTGYzS0tCOW5YZHI4OGNCUjdWclhaTStUMFhoc3c1ZkdtN2RQbnZCbWNYcDNZWkoxZ2tValRtTG11bFBKTHRpMGdWQVMwb2lmSXo5OXM5RUR6OE55MWVuZHh0OURyWUNrSkc4Y29VbkJUU3B0WkxlenNmNXBTRDlrbDdQR0pOT0F5a3NIWlhzU2trVmdNUzV2L3dpMlkwWVl3SWdjbU95ZlFISm5RS3NMUmdOSEozVU9ybXNTK2ZFT1A2TzhudE52V3NYMkt0Yng3ZlgxamI4OEx6VVpHbUl3ZFp0SFc4bk53eWljTnd3YXFmTjhidENVdFZDQzh2bUlaeWFmSzRjMEdNZk9IVVFuRG9Rdm54Z1l2UmVaN3N6T2lXMmJZZTFHMkRsR3BqL0wzanhYN0RoTTllcE10WGpVbE41cnQrRmZSZUF4bm4rRnJRdlU0anQzd1BHbjVmb0dMUFJiOEdJSzlUK0EvNXZCcXhaNnpwTnBva1RhZWduY3g1NjM4L0MvbjlpUGIyNjNaSENhdlRwVUhFN25EM2NkdjRnZVFMRko4T0RFK0c4a2E3VFpCcVBocndmK0YzWTF4RkE0LzMreTRITzdZNFZKbmtSK09IRmNNNXcxMGtNd09PejRhNnBFTFA1QnhwdEpML3VVSmxWM2VaNWtyOWZXM214SzdDZGY0ZXJ4dG5PbjBuT0daSDRQekZOOXFJKy8ySS9DN1paQUJJMy9jaWxIYzhVRXVlTmhIUHRzRFBqbkRjeVVRaE1JN25jejFKdEh3RVV2amNTNk4zUk9LSFFhei80ZnFuckZLWWxWNVpsNTl3SjZURkFpOGUxT1pOTTJ3VkF4R2I3YVhMSkJkQTV3MmJqTlR0MEtraGNrVEdONGhQYVdxTFZBcUFqUy9ZQjlYMU5NZFQyM1J1K2FmUGNaYnh2RlNWdVdES2dqTkhpQ2EzMjNiVStFckErdnhUd09mUXI1QWFmQUpFa1IvVnQydzcxRGVuSmt5dnk4NUliVUJXSndPQVQ0ZG5hOUdYS0hqMklONXdEUE56U0FxMFhBSldMMC9kZzRpd3paS0QvWlo5OUFTb2ZnNVVmZ1NaMWM1YlpuUWdjY2lDTVBRL09HT3B2blNGV0FMNGdPb0ZXQ2tDTHB3QTZ2TFFQd3RmVGtTa3JIWHFRditYK1BnOXUvVFA4ZTQzdC9LbWdtdmdzYi9rL2VINit2M1VPOGZsL2xSdEc2dUNTRm50R1crNERpSEUrYVhwOGVGYnFzYSsvNWFZL21kNGN1YXpLNTN3WHZmWkxiNDdza2s5K3A3TmFlck9WVGtEdi9IU2t5VXArNzJ5THgySEZxdlRueVZYTFZ5Yys0N2JzM1QzNS9wb3dFNzJncGJlYUxRQTZZc3lCb0lQVGx5akxpQ1QrdEVVMWNhT0tTWTk0M1A5cGxSMjc3a1RQMEZNdmJmYlNTUE5IQUExeVBtQWwxSmhRa0U1RTZwcWRMYWo1cXdBcTUxb0ZiUWNSNkhlNDZ4VGg1dWRJek94SkdFMHpWd1AyS0FCYVBLRXpXbDhZU0tpdzhUeVk5QnZYS1l4cGhwNnVsSHRDK1M2ZEtIdWVBc1RyQzdIQlA4YUVUVStHTGRualFUN045QUhJNlVHa01jWUVUUGZjdC9jc0FLSldBSXdKSTkxejM5NmxBQ1F1Ly9HVndBSVpreTUyTmJZWk1sUy9NVzZYQVMyN0hnRTBSSVpqVjFEM0ZJdkI1cTJ1VXhpL05tK3g2Y0dhVjBCOWJKY2JLbll0QUJvZkVtaWNiUExHWXRjSmpGK3Z2K002UWVaU2I1Y0JmcnNXQU9HVVFNTmtrMm1QMlcrVmJOQVFnMmt6WGFmSVhISGRaUi8vb2dBa0pnNFFPLzl2eWVMMzRkWkpVRi92T29scFNYMDlUSndFNzN6Z09rbm1FazVXeXIvWTczY01CSkw2UVNnMjMxVnJucDhQaTVZbUpnVTk1b2dkMDRNZGZnams1N2U5L29jcnJZQzBKVDgvOFhtMnBiNCs4WGtDYkt0TEZPakhac1BxajlLYkwvdnRTK0g3UjFQTFl0aTVBTVE0eGJyL2ZGajFFZHhUdWV0clZYZkF3UWUwdmU0djdvRFZINmNuVjFnY2ZFRGk4MnpMMmsvZzhsK2xQMDhZaVo0Q2lRS3dvdy9BNHlSWGVZd3hBVkw5WXFLZkhRVkE3ZnEvTVRuaStLWXZQQUFkVUZJQTlIVVd4eGdUSE9HNHBpOFRSd0E5QzQ0R2ZQUmlHV05DWUI4OTlhS0RvYWtBZURyQWFSeGpUTEFpa2VPZ3FRREV4UXFBTWJsRUVyLzBFd1ZBT05acEdHTk1zTVFiQUR2R0FSemhNSXBwaXlkdzBQNFE4ZUEvYXhQRFhUc3FFb0dEZWlXK1hyTXVOY09jOHlMd3BmMGhGb2MxYTIyQzFFd1cxOE5nUndHd3AvOW1vdnc4R0Q4YXpoMlJtT29hWU9zMmVHNGUzUGN3Yk5xU2ZKdWRPOEdsMzRZemk2QmIxOFJybTdmQVV6VXcrWkhFNDh5UzFiMHJmUGRDK01aUTZOTDRLTHJQTjhGanMyRHFUSHM4V2lZUytnRGthWEZKZHhSN3BuS215WXZBeEovQXdOM096cnAwVGd4Ri9zb3g4SU1iRXp1dlg1MEw0TTdyb2YrUnU3N2VyU3RjT0FxTzd3ZFgzd1RiNi95MzJiMHIvT25YY05odXczZjM3Zzdqem9NQlI4RlBia3ZOVVl0SklUMVVLZmM4SksrUDZ5aW1HV2NPMjNQbjM5bmhoOEQ0SkIvYy9PMXY3cm56NzZ6L2tWRHl6ZVRhSEhmdW5qdi96Z1lPU0h3dkpzTklKMDViZXFCSFRLd0FaS0tSUHA3TE1pTEo2UnRHK2xnKzJUYjlMRC9DbmpHVGtmS2t0d2Zlb2E1em1HWWNmR0RieS9UYUR6b2xjUU9ubnphLzdHT1pKcDBLL0QySEw1azJUWEJpMnNkRDFQNTNNbEdCejRHWmZwZnp1MnlxMjB1MlRSTWNqd004UkswRDBKaGNwTnJEUThVS2dERzVTTFNIWjVjQWpjbFJLajA4eEFxQU1UbEo2ZUdCRlFCamNwTFEwd082dXM1aGpIRkJ1bnBnTXdFYms1dTB3QXFBTWJuTENvQXhPY3dLZ0RFNXJNQmo1NGVER0dOeVNTZXY3V1dNTVdIbEFUWmRpekc1YWJzSEpESDlpekVtUk9xc0FCaVR1NndBR0pQRHJBQVlrN3VremdNMnU0NWhqSEZCTjN2QUJ0Y3hqREZPckxjQ1lFek8wZzBlcUJVQVkzS1J5Z1lQdlBXdWN4aGpIQkRaNEFHZnVNNWhqSEZBZFlPSDhySHJITVlZRjJTdGgrZ0sxekdNTVE1RVpMbUhGN2NDWUV3dTBzaHlEMjFZN2pxSE1TWm91cDNvbEk4OGlWWnZ3c1lDR0pOalpJV0FOazRJSW5ZVVlFd3VVVlpBWWtJUVFEOTBtY1VZRXpCSjdQT0pBcUFzY2hyR0dCTXNrYmVocVFCNCtyYlRNTWFZWU9uT0JZRElRcGRaakRFQmEyallxUUJzN1BJdVVPOHlqekVtTUovSy9CbXJvYkVBeUlKSjljQjdUaU1aWXdJaVh4eng3M2d1Z1BDV2t5ekdtR0NwTmxNQVZQN2hKSXd4Sm1ndk4zMnhVd0hZOGFJeEpzUWkwa3dCNkxaK0FlaDJKNEdNTVVINWxMa1ZTNXIrOFVVQmtHZWUyUTd5aHB0TXhwaUF2Q1NnVGYvWS9lR2dkaHBnVEppcHZyTHpQM2N0QU1xTGdZWXh4Z1JMdkYzMjhWMExnQmVmRGNTRHpHT01DY3cyTm5XZHYvTUx1eFFBaVU1ZkI3d1phQ1JqVERDVStiSmcwcGFkWDlxOUR3RGcrWURpR0dNQ3BYdnMyODBVQUxFQ1lFd1lxZWVqQUVqZUM4RFdJUElZWXdLem5oZjZ2cjc3aTNzVUFJbE8yUWJVQkJMSkdCT1U1NFR5UFRyNG0rc0RBUFRSZEtjeHhnUkkrRnR6THpkZkFPb2pNNEZZT3ZNWVl3S3psUUx2bWViZWFMWUF5SXZUUGdibU4vZWVNU2JyUEN2UFRkdmMzQnN0bkFJQUtzMGVNaGhqc2t3TGgvL1FXZ0h3OUsvc2ROT0FNU1lyMWRPZ1Q3WDBab3NGUUtLVks3R2JnNHpKYnNwek1xL3FrNWJlYnZrSUFFRGx3WlFITXY3RWZkNlM0WGM1djh1bXVyMWsyelNwNVRHbDliZGJVN0I5QnJDbDFXVk1lcXovdE8xbHRtNkR6VW1NMmZMVDVyb1dmMW5zYWZOVzJPWmpEaGsvMnpYcHNJRXVHNTVvYllGV0M0RE1xdjRNbUpuU1NNYWZmL2k0Sit1ZlNjN2o2cXBOUDh1WTFGT3RTa3owMDdMV2p3QUFrQ2twaW1PU01lT3Axbjl6YnQwR0QxUW4xK2JVbWZENXBwYmYvM3hUWXBsa1RINGtrYVVsNno1SmZDOG1lSkhXRC8vQlR3R282VHNiRWs4U05RSDY5SE80NW1aWXNtelA5MVovQk5kTmhPV3JrMnZ6bzNWdzdhMndiTldlN3kxYmxYanZvM1hKdGJsc0ZWeDNHNnorZU0vM2xpeURIOTJTK0Y1TTBCYkszS29GYlMyVTE5WUNRbmxjS1hzQXVDRWxzY0pJZlY0dGpmZzQ0TnJaaXRYd3ZWL0JnTDV3OUJFZ0FoK3VoTmNYUTZ5ZEF6WGZXd2FYL2d5K2NnejA3ZDM0MmdwNDZ4Mkl0L09xNzhJbE1PNDZPS0UvSEg1STR2TjQ5d040ZTZuL3o2YUozODhvMlhaenp5US9DN1ZaQUFDSTE5MkxWL0J6b0hOSEVvV1duNDR3Z0gzM2dYK3ZTYTV0VlZqNFh1SlBxc1ExVVVSZVg1eTZObU14V0xBdzhhY2pldXpuYjdrdGRzTnFLejVuRzc2dTRQa3F0L0pDOVZwZ1JvY2loZG5HWmtkWjdxbjNsOUtiSXd6OGZrWitQL09jcFBmTEs1Vyt6cnY4SDVNcWQ3UTdUOWl0OVBsYmZjakE5T1lJZzFOOWZrWitQL1BjRXlQRzNYNFg5bDBBcExieUxhQzJYWkhDN24yZmZhUW5meFVPT1NpOVdiSlo3NFBocE9QOUxmdkJ2OU9iSlhzOUx2T3FQdkM3Y0hLOVVxcDNKUjBuRi9nOWw4Nkx3SlZsaWM0OHN5dVJ4R2NUaWZoYi9yVkY2YzJUclVUK041bkZreXNBdGYxbUFoM3M1UW1oWmF1YXZ3elduTUVud3NXajA1c25HMDA0UDNHRTVNZXFqNUsvQkpvYlhwWm9SVFNaRlpJcUFFSjVITlZiazRxVUMxVGh1WG4rbDU5d2Z1SzNuWmZrWmNFd2lrVGdxbkhKRmNWa1B1dGNJcEwwcGZya2Z3SVBySjhCdkp2MGVtSDN4QnlvcS9lL2ZNa29tSHd6REIyVU9EWElOWGtST08xcjhNRE5jTUVaL3RmYlhnZVB6MGxmcnV5MWdHakYzNU5kcVYwbm8xbzRkanlpZHFmZzdxNGFsOXdQYzVPTm0rR05keEtqOEQ3NXJQMERjaktkSjdEZlBuQlFML2hxZitqZU5mazJIbjRHN3FsTWZiWnM1OGxaTXJjaTZUSFg3U3NBSlNVUlBzNWZCTkt2UGV1SFZyZXVNUFUyNkxtdjZ5VGg5TWxuaVJHSG0rd0cxVjNKYTlSVURKSjJUT0RUcnBOUXFhNk9vWEp6ZTlZTnRjMWI0TTYvMkREVmRGQ0YyKzYzbmI5WnNmOXB6ODRQN1N3QUFOUWVOUTFvODJhRG5ETnZRZUl3MWFUVzlDZmhwZGRjcDhnOEtqVlNNNzNWZS81YjArNENrSGpJZ0Y3WDN2VkQ3Yy9UWWM1THJsT0V4NndYNGI2SFhhZklSSEU4K1hGSEd1alFkU2lwcVpxTFlqZDc3eTZ1OE50NzRhbW82eVRaNzlrWDROWS8yMmxWczdSQ290TmU3VWdMSGI4UTdjVi9ERFIwdUoyd2ljZmg5Z2RnMGtQdHYzVTNselhFNE40cW1EZ3A4YlhaM1ZaaWViL3FhQ01wR1pPcWhXWDNJbncvRlcyRlV2OGo0ZHBMb1c4ZjEwbXl3NUpsY01ka2VNZjNrUGJjby94V2Fpc3pwQUNNR04rVGh2aGkwUDFUMFY0b1JTSnd4bEFvT3dlK2ZLRHJOSmxwNVJxb2VEd3gwczltRW03TkNxUnVnRVNyVzVuZnpaK1UzWldpUldNdkFaMmNxdlpDeXhNNGNRQ01HSnk0ODIzL0hxNFR1Zlh4ZW5oMVlhS2o3L1ZGNFIwRWxVb3E1MHB0eGVPcGFDcDFCUUNFb3RKWklNTlQxV1pPT0dqL3hDUVlCL2FDdmJwQjF5NkpJaEZHY1UzTTVMTnhjMkxVNDRyL3dKcTFybE5sbTc5SlRlVUZxV3JNMzVSZ1BnaW94dkt1SUJKN0E1czZ6TDgxYTIwbk1INXRSUGp2VkRhWTB0dlJaTjdVSlloTVRHV2J4cGdtK3N2R1IvYWxUT3J2UisyeS9oYkFabXN3SnBXVVZ6aWczdmRVWDM2bDVXUlRDeTg2RVltOERCU2tvMzFqY3N3V1lwRVRaZDdVSmFsdU9DMHpVa2p0ak5lQThuUzBiVXpPVWZsUk9uWitTRk1CQUtEbXFJbW8xS1N0ZldOeWdmSjNhaXQ4UGVTalBkSldBQkkzQzhrbGdEMFh5cGoyV1llWFA2Rzl0L3I2a2RaSjZhUjIyb2NnVjZkekc4YUVsT0xwWlJLZGt0WUhJS1I5VmtxcHFmZ0xZQ01FalVtR3l1OWxidFZqNmQ1TU1OUFNTdjZWd0w4QzJaWXgyZThsTm5lOVBvZ05CVGJtVkllWDlpRW1DNENlUVczVG1DejBFUTJ4Z1RKL1JpQVBQZ2hzWW5xWlU3VWNZUUpndDNrWjA3d0d2UGgvQmJYelE0QUZBRUNpbFU4aTNCTGtObzNKR3NyUFpPNzBRQytkQi85b211aFJ2d2IrRnZoMmpjbG8raGVwcmZ4OTBGc052QUFJNVhIcTZzWUNMd2U5YldNeWtrb042K3FkektqbDVPRjA4bEwxVmlSK05zajdMclp2VEFaWlREdytXdDZ1cm5PeGNXZFBwNVRvOUhXb25BMTg2aXFETVk2dFErUWNtVmYxaWFzQVRoOVBLN1hURm9OY0NEaXBmc1k0dEFYaGJJbFdMSFVad3ZuenFhV200bm5nSW14cWNaTTc2bEF0a1dpbDgzNHc1d1VBUUdvcUgwWGxPOWdZQVJOK01WVEdTVzNWMDY2RFFJWVVBQUNwclppSzhrUFhPWXhKSTBYMWUxSmJrVEhQT2N1WUFnQWd0WlYzSTF6ak9vY3g2YUhYU20zVkE2NVQ3Q3lqQ2dDQVJDdi9BTnpvT29jeEtTVjZuZFJVM2VrNnh1NHlkZ0o2TFNyN0NXQXpESnRzcDZoY0k3VVZkN2tPMHB5TUxRQUFXbHoyZlpTN3ljQWpGV044aUlGOHQzRk9qSXlVMFFVQVFBdkxTaEVlSklVUE1URW1BSFVJWlJLdGZNUjFrTlprZkFFQTBNS3g1eUR4aDBFNnVjNWlqQTliRUxsQW9oWFB1ZzdTbHF3b0FBQTZyR3dFY1I0QjluV2R4WmhXckFjWkxUVVZMN2dPNGtmV0ZBQUFMU3c5Q3BHbmdLTmNaekdtR1V0Ui9aYlVWcjNuT29oZldkVzVKclZWNzVFWEdRd3l6M1VXWTNhbGM1RDhrN0pwNTRjc093Sm9vcU5HZFdKTGo3OEFZMXhuTVFhWXdycTY3N202cGJjanNySUFBQ2psSGtWTHlrRitTUlovSHlhck5ZQmNMelVWdjNNZHBMMnlmc2ZSd3RKdklUSU42T0U2aThrbHNoYUpsMHEwYXBickpCMlI5UVVBUUllTzcwMGtWZzE4M1hVV2t3dGtIZzBOZ2M3ZW15NVoxUW5ZRXBrM2RRVmROeFFDLytzNml3azdtY1M2N1NQQ3NQTkRTSTRBZHFhRlk4Y2ora2RnYjlkWlRLaXNBeTZYbXNwSFhRZEpwZEFWQVBqaUtVUlRnR0xIVVV3bzZQTkU4aTZST1ZOWHVVNlNhcUVzQUFBS1F1SFlIeUx4aVRhRTJMVFRWbFJ2b0xiZjd4S1B1dytmMEJhQUpqcHM3RmVKYXdWd25Pc3NKcXY4RTAvR3lkeUtkMTBIU2FkUWRBSzJSdVpXdk1HbWJnTlJ1UnJZN0RxUHlYaGJVUDBac21wSTJIZCt5SUVqZ0ozcDBOSWo4T1FlaEROY1p6RVo2VWtpK2dPWlU3WGNkWkNnNUZRQmFLSkZwU1VnZndJT2NKM0ZaSVRWcVB4Y2FpdW11ZzRTdEp3c0FBQTZ1S1FIQlFYL0Exd0I1THZPWTV6WWh2SUhZcDF1bHZtVE43b080MExPRm9BbWlWdU12WnRBUzF4bk1ZRlJrRWRRK2FuVVR2dlFkUmlYY3I0QU5OSGlzbE5RZmc4TWNaM0ZwSkh5Q2hHdWxibVY4MTFIeVFSV0FIYVNHRHRRTmdiaFY4QXhydk9ZbEhvZGtSc2tXakhUZFpCTVlnV2dHWWxiamQ4OUV5STNnSjdvT28vcENIa1Q0citscHVvUkFYV2RKdE5ZQVdqRmprTGdsUU1EWGVjeFNYa0Q5Q2JiOFZ0bkJjQUhCYUc0N0V5VS93WkdZSjlicG9vRFR5TjZWN2JmcHg4VSswRk9rZzRkMzQ5STdFcmdPMEEzMTNrTUFKdEFxbEQ1ZzlST1crdzZURGF4QXRCT09tSjhUMkt4NzZKeUdlaVJydlBrcU1XZzk1RmZQMWxtVlgvbU9rdzJzZ0tRQWpxc2RCQng3M0xRTWNCZXJ2T0UzR2ZBNDRoT0pWbzEyODd2TzhZS1FBcHBjVWwzeVA4MktoY0RoZVRBelZZQmFVQ1pqY2lEU042akVwMnl6WFdnc0xBQ2tDWTZZbnhQNnVObklsb0NmQU1vY0owcHk4UlFYZ2FwSmo4MlEyWlAvOGgxb0RDeUFoQUFIVnpTZzA3NTV4Q1g4eEJHQU4xZFo4cFFud0t6VUI1bE8wL0tLNVdmdXc0VWRsWUFBcVlsSlJIVzVaOUFqSkdJakFTS3lOMmJrV0lrUnVqTmd2Z3NObmF2a1FXVDZsMkh5aVZXQUJ6VDRnbjdJblZGeEdVSWNBcndOYUNyNDFqcHNoSDBuNGk4aE1oTDZQWWFpVlp2Y2gwcWwxa0J5REJhWEp4SC9LRGprY2hnaEsrakhBZjBKL3VLd2laZ01TSnZvdm9LeXNzY1dMZElxcXRqcm9PWkhhd0FaQUdsM0dQNDRzUFJ5SEhFNVZqZ1dKVERFUTREdm9TN3F3ME53R3FRRllpK2o3SUlUOTRtSm91b25iYk1MdEZsUGlzQVdVNEhYWjVQdDYySEVHbm9UU3pTQjNSL1JIdWcwZ09SbmhEdkNkNStvUHMwcmxMQUZ5TVl0U3VJQWxzYjM5c0VOSjJEZndwc1FGaVB5Z1pFTjZDeUFlSnJ3VnRHSkw2QytPcFZFbzAyQlBqdG1oVDcvMjdPUHJZTEZhMk1BQUFBQUVsRlRrU3VRbUNDYFxcclxcblxcclxcbmxldCBwaWNfbGluayA9IGBkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQ1hCSVdYTUFBQWRoQUFBSFlRR1Z3N2kyQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUIzZDNjdWFXNXJjMk5oY0dVdWIzSm5tKzQ4R2dBQUlBQkpSRUZVZUp6dDNYbDhGZFg1UC9EUE0zZkp2cENFaEpDRkJBbEoyRnhRNjFZWHhJcTRWRVdwcU5qU3V0WCthcXV0V29YQUpRR3QybXJydDNXdDRyNVFGWGVoc3JnVXRRb29ld0pvUWhaSUlCdlpjNWQ1Zm45QWtDWGJ2WGRtenR5NTUvMTYrWklYeVQzbkFYS2VPVE56em5NSVVrakxySG9vU3VscXlTV21YRldsTkFaU0NCZ0tVRExBeVFDU0dVZ213SG5nSTBNTy9OOEpJT2JBcjlzQnVBLzh1dW5BLzdzQmJnQ29BVUFEZ1J0VVVEMEI5VXhVcXlpK0NqVXl2cnc2Ni9aT1EvNmdraTVJZEFEU3dDYXVlY0t4SjNwM1BwTXlnUlFlQjFaR2dqa0hDbkxBU0JNYUhLRU80SEtvVkFHRnk2RmlJNWczcG5ha2w2MDk4U2FQME5pa0Fja0VZREtaVlE5RlVVZmJpVkR4SXlhYW9BRGpHVHdHUDF6QlE0V2JRRnRVWUNNeGI0Q0MvM0YwN0JvNVl6QVhtUUFFeTkyNE1NMW45NTRNWUNLRFRnZmhEQUNSb3VQU2lSZkFlZ1pXSzRTMVhxLzY4YTZ4cmtyUlFZVXptUUNNdHNwbHp4NXVQMFZsMzBVRW1nemdCSVQzdjhQM1RGaXVxUHllMHo3a1B6dnlidTBXSFZBNENlY2ZQTU5rYkhkbEtqN2J4UUJmQUdBU2ZuajRKaDJ1RGNBS0FFdVpsSGVyOCtmVWlBN0k2bVFDME1ud01sZUtIY3BVVmpFVGhFa0FGTkV4aFJnVndCY0UramZEOSsrcUF0Y3UwUUZaa1V3QUdocGU1a3F4d2ZZenFPcDBFSjBCT2VpMW9nTDRGS0RGS3RzVzF4VGUweUE2SUt1UUNVQUQyVnVMSjZvS2JpVEdUQUJSb3VPeHVHNkEzaUVGVDFibXpWa0JJaFlkVUNpVENTQkFPWnRkdzFTYjdlZE1mRDBZbzBUSEU1WUlPMGpsbDd3TzI5TzdSczJwRWgxT0tKSUp3RThqdGhjZnp6NzZBNE9uQTNDSWprY0NBSGdJZU0ybnFIK3RHZTM2Vm5Rd29VUW1nRUhLTGx0d2hncjFMbUpjQ1BuM1ptYXJpZm4reW9LNTc4bmJnNEhKSCtUK3JITFpzOUpwSnBqK0NNSVkwZUZJL3FCTnhPcGZLbXY1Slp6ajhvcU94cXhrQXVnTnU1VHNNcHJHb0FVQVJvc09Sd3BLQlRIdXF5d29lQm8wM1NjNkdMT1JDZUJRekpSZFdud1JFNVVBT0ZaME9KS210aExoejVXajFSZEJMbFYwTUdZaEU4QUJtYVVsVXdpNEgrQUpvbU9SOUVPZ2I1bHhWMVZoMFg5RXgySUdZWjhBTXJlVTVKR0NoUUJmS1RvV3lVQ001V1JYZjFlWjU5b2lPaFNSd2pZQjVKUzdFcjNkOUNjQy9SNUFoT2g0SkNFOEREem1kRGpuZm4vTW4vYUpEa2FFOEVzQXpKUzVyZmg2WXJvWFFJcm9jQ1R4R05oRDREOVY1Yzk5TnR4ZUhZWlZBc2phWG5JTSsvZ0pBczRWSFl0a1NwLzVRRGZzS2lncUV4MklVY0lqQWF4eTJiUFRiYjloOEVMSXJiaFMvenFKK1lFNGxlL2RQTmJsSHZqYlE1dmxFMEQyMXVLSlRIZ2E4cldlNUFkbWZHTmo5ZnFkWTF6clJNZWlKK3NtQUhZcDJXVzIzekw0QVlSZVBUM0pITHpFdkxDeW9MREVxb3VJTEprQWhtOTJaZHNVZWdGRVo0cU9SUXA5Qkh3QlJiMjJjclRyZTlHeGFNMXlCU3V5UytkZmFiTXAzOHJCTDJtRmdWTlpWYjdKTEMyK1ZuUXNXclBNRENCdC9ZTXhFUkZkVHpENEd0R3hTQlpHOUp5djFYZkxyaE5kSGFKRDBZSWxFa0RtWnRjb3NpbHZBaGd2T2hZcEhOQUcySEI1VlY3UmQ2SWpDVmJJM3dKa2xwVk1KWnZ5RmVUZ2x3ekRFK0RqZFZsbEpaZUtqaVJZb1RzRFlLYnNzZ1YzTXZoZVdDQ1JTU0dKR2Z4QWRUN2ZFNm83REVNeUFhU3RmekRHR2RINUNvQ0xSY2NpU1FEZWRuZEhYVk4zN0IzdG9nUHhWOGdsZ0JGYkZxYXJpdTlkQUJORnh5SkpoMWl2MnRTTGF2SmMxYUlEOFVkSUpZRHN6Y1ZqVlJ2ZUoyQ0U2RmdrcVJjMUt1SENtdnk1NjBVSE1sZ2hjKytjWFRiL1hMWmh0Uno4a29sbDJCaWZaWmFXVEJFZHlHQ0ZSQUxJM0ZwOE5UTjlDQ0JCZEN5UzFCOEc0Z2o4ZGxiWi9KK0pqbVV3VEo4QU1zdm0zMENFRnlCcjhFdWh3d21tbHpKTDUvOUtkQ0FETVhVQ3lDb3J2b1dZSG9mSjQ1U2tYdGdJOUZSMmFmSHZSUWZTSDlNT3JPelNrcnZBK0NkTUhLTWtEWUFZZURpenJHU2U2RUQ2WXNxM0FGbWx4U1VBNW9pT1E1SzBRb3ppeXNLNXBrc0Vwa3NBV2FVbHN3RmVJRG9PU2RJYU1kMVRXVmgwbitnNERtV3FCSkM1dGVTM1JQeUk2RGdrU1RkTWY2d3FMUHFyNkRCNm1DWUJaRzB0L2dVSXo4QkVNVW1TRHBpSmI2ck9uL2VVNkVBQWt3eTJ6SzNGVng5NDFTY2YrRW5od0FmaWE2cnk1NzBtT2hEaENTQnphOG5aUkx3TXNtNmZGRjQ4cE5EVXl0RkZ5MFVHSVRRQlpHOTNqV0dmc2hwQW9zZzRKRW1RRm1hY1VWMDRkNk9vQUlSTnVVZHNXWml1K3BRUElBZS9GTDdpaWZCTzdzYUZhYUlDRUpJQWhxOXhSYXZrV3lJMzlrZ1NjcndPMy90cDZ4OFVjbUNOOFFtQVhZb3RWbmtWaEI4WjNyY2ttZE5FWjBUbmkyQ1g0ZVBSOEE2enlzZ0ZXY2xIa281MGFWYVpiYmJSblJyNkVEQjdhOGxGVFB3MjVPcytTZXFOeWtRWFYrY1hmV0JVaDRZbGdNd3RKWG1rOEZlUUQvMGtxVDlOc05GSlJwVWNOK1JLbkxiK3dSaFM4Q2JrNEpla2dReUJEMjhPWCtPS05xSXpReEpBUkVUWEV3Q1BNNkl2U1FwOVBNRVdhL3VIRVQzcGZndVFXVnA4TFFFdjZOMlBKRmtPWVVaVi90eFg5ZTFDUjhOM0xNaXllZFgxQUlibzJZOGtXVlN6WFZXT0t4OHpaNmRlSGVoM0M4QXV4ZVpWbjRjYy9KSVVxRVN2b3I0QVhtelRxd1BkRWtCV21YSVBnTFAxYWwrU3dzU1BzN2VWM3FGWDQ3cmNBbVJ2TFo3SWhDOGdLL2xLa2hZOGlnMC8ycGszOXh1dEc5WitCckRLWldlaUp5RUh2eVJweGFINnNHamltaWMwSDFOMnJSdk1HcWJjQ2ZBSldyY3JtVThrMlhHTU13WEhPSk54VEVRS011MEppTE5GSUY2SlJKd1NnUVJiSk56c1E2ZnEyZjkvOXFEUjE0RXFkek1xUFUybzlEU2ozTjJBWGQ0VzBYK1VVSEJzWGV5ZTN3TjRVTXRHTmIwRnlOanFHcTJROGkyQUtDM2JsY3doeFI2RFU2TnljR3IwQ0p3YVBRSWpuU21hL0FEVmVsdXhwclBxNEg4YnUzYUROV2pYZ2pyWnAwNm9IdXZhb1ZXRDJpVUFac29zSzFsT3dDVE4ycFNFeTNBazROTDRjYmdrYml3S0l0SU1XVHUrMjl1Q0QxcTM0cjNXTFZqWFdTMlR3ZUUrcnNvdm1nUWlUZjVhTlB2M3pDeWJmd014UGFsVmU1STRrV1RIcGZIamNYbjhlSndjblExRllPR29YZDRXdk5LOERpODByMFdqcjBOWUhPYkN2NndxbUxkSWk1WTArWmZOS1hjbCtycVY3UUJTdEdoUEVpTldjV0o2d25INGRkSnBTTFBIaVE3bk1HNzI0YjNXemZobncrZlk3dDRyT2h5aEdOampkRGhIZjMvTW4vWUYyNVltRHdGOTNjbzh5TUVmc2hKc2tiZ2w2WFRNVEp5SVdDVkNkRGk5Y3BJTmw4ZFB3S1h4NC9GV3l5YmN2M2NsZG9mcHcwTUNVcjJlN3RrQTd0U2dyZURrbExrS2ZLeHNnSHp0RjNJSXdPWHhFekI3NkdTazJJVlVwQXBZcCtyQnM4MWY0NUdHejlDdXVrV0hJNEpiWlhWOFRhRnJXekNOQkwwT3dNZktRNUNEUCtTTWkwekhtOW16OEhENlQwTnU4QU5BbE9MQXI1Tk93L0tjbTNGbXpFalI0WWpnVkVnSitwVmdVRE9BN0cwbGsxbmxqNElOUWpJT0FaZzE1R1RNR1hvZTdHU053a3dNNE5tbXI3Qnc3M0s0MlNjNkhHTXhUNmtxbkxjczBJOEgvaFBBVEt6eVh3TCt2R1M0WkZzTW5zdThHcTdVOHkweitJRWZrdHI3STY1SFFVU3E2SENNUmNxOVlBNzRRaDd3THFQc0diYnBBUDVmb0orWGpIVmFkQTVlelpxSk1aSENTdERyTHNVZWc4dmpKMkJ6ZHkwcVBFMml3ekZLZW56akordGIvdkZ4YVNBZkR1d3l3SXR0RExnQytxeGt1RXZqeCtIRnpHdEM4bDdmWHpHS0U0c3laK0RxeFBCWmpVNmdra0JMaWdmMG9leHRXNjhHVUJqSVp5Vmp6UnB5RXY2V2ZxbWxwdndEc1lIdzU3UUxjZmZRYzBXSFlnekcyS3h0ZEdVZ0gvWC9Gb0FYMnhMcUcxNkZmTzl2YWdUZzdxSG40bzZVYzBEaXo0QVY0cVNvTEVRclRuelc4YjNvVUF4QUUxcW1uZlU0bnZ0WTllZFRmbDhXc3NxMlhzZEF2citmazR4REFGeXA1K1BYU2FlSkRrVzRtNUpPeFMxSnA0c093d2lqTTlPVnEvejlrSDhKZ0puQTlFZC9PNUdNMHpQNFp3MDVXWFFvcG5IWDBFbTRPc0g2endRSXVOUGZOd0orSllBUjI0dW5nakRHdjdBa284akIzenNDc0hEWVZFeU9IUzA2RkwyTnp5cGRjSjQvSC9BckFiQktmL0F2SHNrb2N2RDN6d2JDMzlKL2lteUh4V3ZVRXZzMVJnZWRBRExLaW85bFdlVFRsT1RnSDV4NEpSS1BEcDhHSitsV1pOY01mcEt4elhYY1lMOTUwQWxBWWR3Smd3OFRsUVltQjc5L0prU21ZL2JReWFMRDBKWGlVMjRiN1BjT2FrRG5iSFlOODltVVNzaE5QNmJqU2owZnY1U0QzMi9YVnIrRVQ5c3QrM3JRN2JhcldYV2pYSHNHK3NaQnpRQlV4VFlMY3ZDYnppMUpwOHZCSDZBRnFSY2dnalN2aVdzV1RvZlg5dlBCZk9QQWZ3UE14TnRLZmlrTHM1bkwyVEhINE02aDU0Z080ekMxM2xaODU2NUh1YnNSKzN4ZGFGRzdBQUNSaWdQeFNnUkdPSVlnMTVtTVhHZVMwREpqQUpEalRNTE5TYWZpN3cyZkNZMURMd1MrSHN4L0dhaDI0SUQvQ3RsbDg4OWxwdVhhaFNZRnkwNEtQc3E1R2NjNGs0WEc0V1lmVnJYdndMSzJNbnpSVVlFYXorQXFWQ1hhb25CU1ZCYk9peDJOQzJJTGtXQ0wxRG5TM25XeEY1UExIMGVsVlRjT0tjcFpWYVBuZk5yZnR3dzRBMkJXYm9DOC9KdktwZkhqaFE3K0dzOCsvS3ZwZjNpOVpUMzIrYnI4L255enJ4TWZ0VzNEUjIzYk1JYyt4TlM0UXR5Y2RCckdSQmk3VXpHUzdQaER5bG40M2U2M0RPM1hLS1NxTndEb053SDBPd1BJMkhwdnNrTGVHZ0RtTEJRWHBwN0xuSUZ6WWtZWjNtK1RyeE1QMUsvRWEvdStoWmY5V25JK0lBSndmbXdCNXFhZWgweEhvcVp0OThmTEtzNHBmeFE3clRrTDZDSzNZM2psaEx2Ny9NUDEreENRNEowQk9maE5KWkxzT0MwNngvQiszMmpaZ0xQSy80bVhtdGRwUHZpQi9YUE1wVzJsbUZUK0dKNW8vTUt3T2FlZEZOeVNiTm05QXBGd2VQcmRKVGhBQXVDQXRoaEsraG5taURmMDZYV2I2c2J2ZHIrRjIzYS9qV1pmcCs3OWRiRVhDL2N1eDZ6cVY5QmtRSDhBY0VYOEJLVGI0dzNweTJncVlYcC9YKzh6QVl6WXNqQWRSSlpOamFGcXFNMjRvaDcxM25aTXIzb2VTMW8yR3Rabmo1WHRPekN0OGxsRFNuODd5SWFaaVJOMTcwY0VBczdPM2Jpd3o0Y3JmU1lBVnRUcENLSmttS1NQYnZZYTBrKzFweG1YVlM3Q3BxN2RodlRYbXgzdWVreXJmRzdRYnhlQ2NWbjhlT0d2Sm5WaTh6cDkwL3I2WXA4SlFJWGE3OVJCRW1PUHQwMzNQbW84Ky9DenFoZE04V0NzMnRPTW1kVXZCL1Myd1I4WmpnU2NISjJ0YXgvQ2NOKzNBYjBtZ0l6dHJrd0NuYUpmUkZLZzluamJkRTBDMVo1bVhGSDFIS284emJyMTRhOGQ3bnI4ZXRmclVIVitORGd0Zm9LdTdRdjA0NnhTMS9EZXZ0QnJBbEJVNVpLK3ZpYUpwWUt4dkQyb3cyRDZWTzFweHBWVnp4c3k1ZmJYZnp2SzhWVGpsN3IyTVRXdTBLcTFFeFZpNWFKZXY5RHJ0ek9tNkJxT0ZKUlhtci9SL0ZwbzVzSGY0NEg2VmZqTzNhQmIrM0ZLQkNaRXB1dld2a2lNM3NmMFVRbGc3R2FYRTRDNUZwbExoMW5mdFFzZnRtN1ZyTDJlZTM0ekQzNEE4TEFQQy9icWV4RFZhZEc1dXJZdkNoRW1IeGpiaHprcUFiUTZiR2NDaURVa0tpbGc4L1lzUTYyM05laDJ6SGpQMzU4VmJkdnhWV2VsYnUyZkxtQ1JsUkVZaU51bjJJNnFFbnRVQW1BZlgyQk1TRkl3NnJ5dHVLRm1NZHFDT0JsM3A2Zko5TlArM2p5cDQ3T0FpVkZabHEwWXBORFJZN3UzWndEeS9qOUVyTy9haGNzckZ3VzBtKzN6amdwY3N2UHBrQnY4QUxDOGJadHVjVWVTSGJtQ2QxbnFoWUgrRTBEdXhvVnBzdXB2YUNudDNvT3BGZi9DWTQyZm8yc1FpNFQyZXRzd3ArNURYRnY5a21GTGJiV21ndkZlNnhiZDJoZTl6VnBINDlKMnVBNDdQZld3UmVVZXUvZU1jRDFGSnBTMXFGMjRiKzhLUE5YMEpYNFNtNC9KTVhuSWRTWWh6UjRQTjN1eDE5dUd6ZDIxK0todE8xYTJiMGVuNmhFZGN0Q1d0cFhpcHFSVGRXbDdsTk95aDE2UjAwdW5Bbmk3NXpjT1N3QUV5TFgvSWF6ZTI0NlhtOWZoNWVaMXV2ZVY0VWpBMU5oQ25CMXpERVk2azVGaWo0R2JmYWp6dG1KajEyNnNhTnVPajlxMzZaWnMxbmZ0UXFmcVFaU2lmYVc2a2M0a3pkczBpd05qdlBjRUFKSUpRT3JmVUhzc2ZwOThKbVlrSEgvVW9wa0lzaVBPR1lGUnpoUmNGajhlZTd4dGVLVGhNN3pVdkJZK2pWY3VlRm5GdDEyN2NHcjBDRTNiQllBc0M1OGRvQjV4a1QvNEw1aFo5VkFVUUlPdUp5NkZuN0VSdy9EdWlGOWhadUxFUWEyWVM3WEhZa0hhQlhndTgycGR5bjU5NTY3WHZFMEFpRldPZWwxdUdRU2FtRlB1T3ZpUGNmQmZrVG83VGdKZzNUKzVGSlR6WWtmanJSR3pNRHlBZmZObnhvekVrdXhabWljQnZXcjV4U3RpYWhRYUpFTHRWZzd1ZmY0aGpmdFVXVjlhNnRXa21GRjRiUGdWUVJVaUdlVk13YVBwMHpSZGE5L2c2OUNzclVQRldIZ0dBQUJNK0ZIUHIzK1lBUkNPRlJPT1pHYVRZa2JoeVl6cG1peU8rWEhNU0Z5VmNMd0dVZTNYb2RNRHhsakY2bFh3Nk9DMng0TUpnQS81VFVrQzlrLzduOUpvOFBmNFhmS1BOWHR5enpwdEQ5WjcyN0Z3alBFOXYxUUFZT0thSnh3QUY0aUxTREtibm1tL1ErTmxzV24yT0V5TzBlYVlicjJ1MUcxcXR5N3RtZ2VQeFNxWEhUaVFBT3BpNmdvZ0h3QktCMmc1N2UvTnViSGFsRFJQMU9sQUVTc3NsQnBBUkhZbVJnTTl0d0RFY3ZvdkFkQi84QVBBaE1oZWk5UDRMZGVoejVMZDlpQTJXSVVLVm1rOGNHQWhFQkhHV3YyMnh5alJpZ01aOWtTazJLUGhZUlY3dkcybzhUUnJ2aEJHRDBZTWZtRC8rZ0F0NkxWbWY1K3FiLzFCVTJBYUIrQzEvZTkxV0JrcGovOEtuSjBVWEJGL0xDNk9HNE5Ub2tjY2RkL2M1T3ZFeXZidGVMbDVIYjd1ckJJVVpmL09peDJOeDNXNDUrK05VNE56RFJ4a3c3RWF6U1NPdE5QZHFFdTdKak1TT0xnVVdNMGR4RG1oVWk4bXhZeUNLL1Y4NVBTemZueUlMUXJUNGlkZ1d2d0VyR3pmanRsMUg1cHFHNjVlRC96NnNrZURRaWJIUlE3WFpSOEFBSlI3cko4QUdKd0RISGdHd0tBY2NhR0VybDhPT1JuUFpGN1Y3K0EvMHFTWVBMdy80bnBkMXJBSFFvOVhmUU1wMStBS095Vk92NWRXMzRmQkRJQkF1UUNncEsxL01JYUFvYUlEQ2lVRVlIN3FGTGhTencvb01Ja2tXelNlelppQmNZSUxVQnA5NWUreHNuMUhVSjlYUUxnNGJxeEcwUnl0SWd3U0FJQmhPZVd1U0NYQzNwa0RPZjhmdEo3QlAydklTVUcxRTZVNDhIVEdkQ1Rab3JVSnpFOGlydnpBL3NLZXkxcExnMnJqdk5qUkdHYVAweWlpdzNXcUhteHo3OVdsYlpNaGQ3ZHRoS0xheVJ4ejBSQkFBRnlwVS9DTElBZC9qM1I3UEc1Ti9yRW1iZmxEMUpVZkFGNXNYb2RkUVo3M2QzUFNVYlV0TmJPMnF4b2U5dW5XdnBrb1FLNENzRDZQVWkyR0FKU2tYUkQwbGY5STF5Wk8xTzFxMWh0UlYzNEFxUFcyNHBHR3o0SnFZM0xzYUV5TXl0UW9vcU45MmJGVHQ3Yk5ocUNtS3dwZzJmcEhXdW1aOWwrWGVLTG1iVHZKaGd0MGZLQjFLSkZYL203MjRzYWF4V2p3dFFmY2hwTnNLQnA2bm9aUkhlMkxqZ3BkMnpjVGhwS2lNTU95RlJDMVFBQVdwazNWYk5yZm0zTmk4blJydTRmSUs3K0hmYmhsMXh2NHRtdFhVTzNjTlhRU2NuVXMxOVdpZGdVZFkyaFJreFdBWkFMb1E4L2d2MWJucytQMS9LRUd4Rjc1ZXdiL1IyM0JuV2M0S1dZVXJoK2k3M20xSDdSdURadjdmd0JRUU1rS3dESUI5S0VrN1FMZEJ6OEFwTnIwTzRqSnFPVzl2ZWtaL012YXlvSnFKejhpRlk4TXYwejNWMVZ2dFd6U3VRZHpZVWF5d21ENURLQVh0NldjcGNzOWYyODgwT2VxWTRYQm4rRkl3QXVaVit0ZXBxdlcyeHBXRHdBQkFJUVVoWmdTUmNkaE5qTVRKK0syNURNTjY2OU9nNld4UjdMSzRIOHRhNlloYjBtV3RHeTBmaUdRbzlBUUJRUkxWMEQwMTlTNFFoU25HWHM4NHFhdVdrM2JzOUxnenphZ1JMZWJmVmpVOUpYdS9aZ1BSeWlRaFVBT3luVW00Uy9ETG9ITjRJV1J3VDRnTzVRVkJ2OXdlenhlTldqd0E4QWJMUnMwT1drNUJFWFlHWERLZGNEN0Q3VjRiUGdWaHRlRTMrdHR3OHIyN1pxMFpZWEJiK1NWSDloZi8rK0p4aThNNmN1RW5Bb0JWaStCT2loRnFlZGhURVNhNGYzK3ZlRXpUYXJieXNFZm1QZGJ0K0I3ZDROaC9abU12QVVBOWkrU01lcUovNkZXZDVUajVYM0JuK01uQjM5Z3V0aUwrL2F1Tkt3L0U1SUpJRXB4b0RoMWl1SDlWcmdiY2N1dU4rQmxOYWgyNU9BUDNLTU5xMUh0YVRhMFQ1T0owTzZZbGhEMW02VFRrZUZJTUxUUFNrOFRabFMvaUNaZloxRHRXR0h3RDdGRjRaWE1hdzBmL0pXZUpqelcrTG1oZlpxUkFzRDZKVkQ3a09OTTBuVnJhVzhxUFUzNFdkVUxRWmNFczhMZ3Q1T0N4NGRmNlZkRkpTMHdnS0s2cGVobXI2SDltbEIzV0NlQTJVTW5HenFBNU9BLzNNekVpVUpLb3kxcStncXJncXhLWkJIZENnTldQd2FsVjNuT29maEpiTDVoL2NuQmY3Z1l4WW5mQ2lpR3NyRnJOKzdkdTl6d2ZrMnFXNkV3blFIY2tueWFZY3Q5YWp6N01LUHFSVG40RDNGZTdHaWsyR0kwYVd1dzJsVTNidDI5Qk80dzJ2RTNBTGNkWVpnQU1od0orR25jT0VQNmtsZiszcDFyUUEyRVEvbkF1SFgzRW53WHZ1LzhlOU90Z0JFR3g2QWNibGJpeVpxZVU5OFhPZmo3Tmk1eW1LYnREV1IyN1FlYUxybTJCdXBXUUdnU0hZYVJiQ0JjRnEvLzFYKzN0MFVPL240TTFlaDRzTUY0cVA0VFRSWmNXUTZyalFxQWV0RnhHT24wbUZ6ZGYvaWFmWjJZV2YyeUhQejkwT0o0c01GNHZua04vdGJ3cVNGOWhSeUY2aFVBWVhWVGRGbjhlRjNiWndDMzFiNk5iZDNCMVphMzh1QUg5bStDMHRzcis3N0IzTHFsdXZjVHFraWxCb1hDYUFZUVNYYWNINnR2QmQ3SEd6L0hpcmJnZHZlSkx1QjU4NjdYZFIzOEFIVGZnUE5pODFyOHFmYTlNQ3p5TVhpc3FQV0tHa1l6Z0JPaU1uWGQ3bHZoYnNSRDlaOEUxY2I0eUhUOGMvaTBrQzdnT1JoYWJZSHV6Y3Y3MW1GTzNZZHk2QTlFVlJvVWdNTW1BWnlpODZxemVYdVdCYlc4Tk1VZWcwVVpWeUhTb1B2alF4bDE1ZS94WVd1cEx1L2puMjllZzd0cjM1ZFgva0hoQmdXazdCWWRobEZPaWRJdkFYelZXUm4wOHRMYms4OUNxb0ZQeDNzWWVlWHZVZXR0eFl2TmF6VnQ4K1htZFNpU1YvNUJZNkphUlZGOEZhSURNVUlFMlhGOFZJWnU3UWU3c3l6RGtZQ3JFbzdYS0pyQk0vcktmNmhIR2o0TCtwekFIczgyZlkyNzY5NlhnOThQS2xDdXFKSHg1WUQxLzk0S0lsSVJvZFBVdXNhekQ2dmFncnY2WHhoWGFNamlwRU9KdVBJZnF0SFhnZXRyRnFNenlJcElpNXEreHJ3OVM2My9RNnd0ZGtiNGRpclZXYmQzTW1ENTg1QkhPdlU3LytUdDFrMUIzM09lSFROS28yZ0dSK1NWLzFDYnVuYmo2dW9YVWUvMS84eEFCdkJ3dzZkd3ljRWZpTjBWdWE0dUJRQ0lVUzQ2R3IzcHVlZDhXV3Z3Z3lqWFlkeWVlTkZYL2lPdDdhekd4WlZQKy9YNjlIdDNBMzVlL1RJZXJ2OUVEdjRBTUxnQ0FQYlBpWWtxQVA2UndIaDBwOWNBYTFQZDJOZ2QvSFBVWkxzeE8rTjZydnhtR2Z3OWFqejdNS3ZtVlp3VWxZVVpDY2RqVW13ZWttelJoMzJQbTMzNHNtTW4zbW5kakRkYk5nUmRUaTJjS1ZES2dZTUpnTCt6ZWhvZDRkU241TlQ2cmhwTmZoRGQ3Tlg5OVovWnJ2eTkrYnF6Q2w5M1ZzRUdRcm9qQVduMldEakpocjNlZHRSNDl3WDl2RURhajZGK0QvUWtBSlUzZ2F4OU9rQ0NUbWZMYmUvV1ppSGxYbThiNHAzNkhkSmsxaXQvWDN4Z1ZIdWF3NzFvcDI0STJBanNyd2tJTUc4VUdvMEJvblZhQVZqaGFkU2tuZlZkK2kzSENJVXJ2MlFzaGZpSEJGQlZoMUpZdkRSWWpFNEpvTm1uVFRtRmxVSHVIK2lMRVJ0N3BKRFRWVEY2ekhhZ1p3Wndqc3RMb0sxQ1E5SlpGRGwwYWJkZDFTWnZmdFMrRFhzMDNpRm5sbGQ5a3Vsc0JrMzNBVDBKQUFBemJ4QVhqNzRJZ0tMVE13NnQydTFVUFhpazRUTk4yZ0xrdEYvcUR4MGM2NGN1UGJQc2N3QUcwS0hxVS9vd1VzT1p4WXZOYTdGU2czTFZjdG92OVl0NFU4OHZmMGdBQ3Y0bkpCaUR0R28wVlQvU2tlK3FnNkdDOGJ2ZFM3RERIZmliaFc3MnltbS8xQzlGVmI0OCtPdWVYMFFvaVYvQndnOEMyM1JLQUZvZmFiWFAxNFZMZGo2RDVRRk0zZXU4clpoZStieWM5a3Y5NmFaSTc4RUNpUWNUd0k2OFc3dEIvSTJZbVBUWDZ0UG5GbUIwUklybWJiYXAzYmloWmpGbTEzMHdxQWVESHZiaDJhYXZNYVhpS1h6VFZhTjVQSktWOE5jVnVhNkRyNjZPWEhxMkdzQXB4Z1prakJwdk0wNkE5dHVCajR2TWdKMFV6WmVsK3NCNG9Ya3RYbS9aZ01reG8zRnViQjdHUnc1RG1qME9FV1RISG04YnZuYzNZRlg3RGl4dExkVnNXNjFrYmJ4L2pCOWtQL0tMQlB6QjJKQ01zVU9uR25ReGloTmpJNFpoZmRjdVhkcnZWRDE0dDNVejNtM2RyRXY3aDRwV0hKZ1VrNGVmeE9aalRFUWFVdXd4aUNBN2FyMHQyT2xwd2tkdDI3Q3NyU3lnblh1U09TamNUd0x3MkhpMTAydk5KY0hmYWJSa3R6ZFQ0d3AxU3dCR3NKT0NheE1uNHRha0h5T2xsMDFKeHpoVGNJd3pCWk5pOGpBdjlYd3Nhdm9LanphdXhqNk5Ga0ZKaG1HMzNmSGxvYjl4V0FXS3VsR3VQU0RvZjZrUlFNOGpvUzZLR3dQRnNKTUd0WlZraThiTG1kZWlPSFZLcjRQL1NKRmt4NitUVHNNSEkyNUFRVVNxQVJGS0d0cFFtM2ZQWWJVL2ppNUJ3L2pRc0hBTTlKMjdYcmRESWJNY2laZ1VhK3haZDFySWNDVGduUkcvREtoWWFwWWpFVzltejhLeGtjTjFpRXpTQS9jeXRvOUtBRVJzeVpNVXV0aXI2eFB5bTVKTzFhMXRQV1E0RXZEdnJPdUNlbzBacXpqeFZNWjBwTm5qTkl4TTB0RlJZL3VvQkJEbjVjOElhRFVtSG1OOTNsR2hXOXMvaXNyR0pJTlB2QTFVaGlNQnIyWE5SS1lqTWVpMmh0bmpNRC8xZkEyaWtuVFdrdGFlZGxUbDJxTVN3T2F4TGpjRHE0eUp5VmlyMi9XdGZGYVVPbG5JZ1I3KzBPTEtmNlFMNGdveElUSmRzL1lrSFJDV3J6M3hwcU9xcWZSUmhwWXNlUnZ3VFZjTjJuWGFFd0RzZjFwK1I4bzV1clVmcko3QnI4V1YvMUFFNE9xRUV6UnRVOUlXby9kYisxNFRBQk85QThCeUJkYzg3TU95dGxKZCs3Z3g2UlNjRVoycmF4K0IwR3Z3OXpnM05pOUUzNE9FQmRYbXM3L1gyeGQ2VFFEVitYTnFBQTd1cEF1VGVxTkYzMDJQQ2doUFpGeHBxbGRrV3Q3ejl5WE5Ib2RVK1REUWxBajRaT2VZMmIyV25PcnpKQXBtWmJGK0lZbnplWHM1YXIzNlB1T01VeUt3S09NcVhRZmNZSTF3RE5IOG5yOHZhUUtPTlpNR3hrQ2ZZN25QQkdCWGZmOEdvTStMYzRGOFlDelJlUllBN0wvcXZwSDljNHh5YXI5WmFMREdSNlpqU2ZZc3d4S1JYaWN2U1VIeHVlM3FtMzE5c2M4RVVESFdWUXRBdXhJMUp2SkM4MXBEYXNxbjIrUHhSdll2aEx3ZXZDTGhXQ3pPdW01UXEvdTBvblZKTTBrRGhKVjFvMXg3K3ZyeUFJZlJrU1Z2QTZvOXpZYk1BZ0JnaUMwS2l6S3Z3dXloa3hHbDZGT1g4RkRKdG1qOFBmMVNQRFRzRXQwS29mYW1pNzNZTFhja21nNHp2OWJmMS90TkFDcmJGZ093NUk2UFJ4dFh3MmZRYVNpRS9Tc0ZWK1RjakNteEJibzhMWGVTRGJPR25JU1BjMytEeStMSDY5QkQvMWEzbCt1MjFGb0tXS2ZpZHZZNS9RY0dTQUExaGZjMGdQR1d0akdadzNmdUJuellhbXdoNUV4SElwN011QklmNXR5SVMrUEh3YW5Cb3FFaHRpamNsSFFxVm8vOExlYW5Ua0dDVGIvRFJmcnpidXNXSWYxSy9XRDh1M0xDM1UzOWZjdUFGNk1ScFNXVFZQQUs3YUl5ajF3K1FaeXNBQUFNRFVsRVFWUm5FdjZUYzVPd2gxY3RhaGMrYkMzRjhyWnQrTHF6Q28yK2prRjlMc2VaaEZPaVJ1RDgySHljRlhPTTRjZUtIMm1IdXg3bmxUOXUySXhLR2lUQ21WWDVjL3Q5ampmd2JKU1pzc3BLeWdDRXhrSjNQOTJlY2haK24zeW02RERBQUNyY2pTajNOR0tudXhGdHFodHRhamNJaEFSYkpCSnRVY2gxSkdHVU04WFFCM3NEOFlGeFhmWEwrS3o5ZTlHaFNJZmJWcFZmVkFDaWZyUHl3SmMrSXFheTRtZVljWjltb1puSVB4citpMHZpeG1La00xbG9ISVQ5TTVKY1p4SmdudkU5b1B2M3JwQ0QzNHdZVHcwMCtJRUIzd0xzWjNQYkZnR3c1TEdzYnZaaC9wNy9pQTRqSkQzVDlCVWViL3hDZEJqUzBkeHVoL3I4WUw1eFVBbWdmUHpzT2dMNmZaMFF5bGExNzhBTHpXdEZoeEZTbm1uNkN2UDNMQk1kaHRRYndzdjl2ZnMvMUtDZkhxbFFId1NzKzVSbi9wNWwyS2pqQ2IxVzhsTHpPc3pmczh5NlB3d2hUZ1grTnRqdkhYUUNxQzV3YlFERGttOERnUDIzQXJmc2VrTzNFNFNzNHFYbWRiaW43bjA1K00xcmFVMyszUFdEL1dhLzNoOHgwVi85anlkMDdQUTA0ZmJkYjh2WFdYMVkxUFMxSFB3bVI4Ui84ZXY3L2UwZ3E3VDRXd0RIK3Z1NVVISk40Z200TCsxQzBXR1l5c3ZONjNDM0hQd21SeHVxOHVjY041aW4vejM4WGtGQ3pBLzcrNWxRODFMek9qeFliOG1xYUFHUmd6ODBNUFA5L2d4K0lJQUVVRmxRK0NJQmxqOTY5djhhL291bm15eDlZUEtnUE5iNHVSejhvV0ZiZFVHQjMyL3EvRjlEU3ROOUtyakU3OCtGb09JOS84SEREWitLRGtNSUJuRHYzdVc0Yis4S09maERBSUhuZ0tiN3ZSc3JvRVhrMWZuOENrQWJBdmxzS0dFQUQ5ZC9nai9Xdm10SS9RQ3o4TEFQdCs1ZUloZjVoQXphVkpuUGJ3VHl5Y0Iya1pCTEpTQXNaZ0VBc0hqZnQ3aGgxMkowcUpaY0RIbVlQZDQyWEZ2OUV0NXUyU1E2RkduUTFEa2dWMEJYcU1DM3BqTlRkdG1DZFF3K0x1QTJRc3dvWndyK2IvaGxHQnN4VEhRb3V2aThvd0szN2w0aUsvdUVsclZWK1VVbitmdndyMGZnKzBpSkdLVCtNZURQaDZBZDducjhkT2N6ZUt6eGM2Z1d1alAyc29xSEd6N0YxVlV2eXNFZllramx1d01kL0VBd000QURza3FMM3dGd2NiRHRoSnB6WWtiaHo4TXVSTG85WG5Rb1FWblRXWVdpdXFYWTNGMHJPaFRKWDRRM3EvTG5UZ3VtaWVBclNkam9OZ0JodDM1MlZmc09uRjMrS083YnUwTFgwNGIwMHVUcmhHdlBNbHhSK1p3Yy9LSEp6VDc2VTdDTmFGS2VMcXUwK0VFQVlYVTdjS2poOW5qY1BmUmNYQkkvenZTbjQ3U3EzWGl1NldzODF2aTUzUGNReW9qdnE4cWZkMC9ReldnUlMwcnAvWEZSNk40R3dKcFB4d1lweDVtRVdZa240YXFFNHcycEFPeVBCbDhIbm05ZWcyZWEvb2Q5UGt2V2VRMGZoTG9JUlIyOUk4OFZkQmxtelM1WVdhWHpad0gwakZidGhiSmtXd3l1RzNJaVppUWNqMkVDajh0U3dmaXlZeWVXdEd6RTJ5MmIwTVZlWWJGSTJpSGk2eXJ6NTcyZ1NWdGFOQUpnZiszQTBwTC9nREJac3paRG5BTENDVkdadUNodURLYkdGUnFTREZRd3RuVFY0cDNXelhpN1piT3MxVzh4Qkt5cXpDODZONWduLzBlMHA1MFJwU1c1S25nalFxcXFuVEVVRU1aRkRzT0pVVms0S1NvTEU2T3lORWtJS2hqZnVldnhlY2RPZk5GUmdTODdkZzY2dXJBVWNqcGdvd2xWZVVYZmFkV2c1cytzc2t0TDdtTHduN1Z1MTRveUhBbkljU1FoMjVHSWJNY1FaRGtUa1dTTFJoUTU0Q1Fib2hVSEhHUkRpNjhMTFdvMzl2bTYwS0oyb2RyVGpPL2NEUWYrcTVjSGNvUUxwajlXRlJacFdwTkQrNGZXcTF6MnJIVGxTd0FUTlc5YmtzSVVnYjZ0M08wN0NlZTROSDJRby8ySkV1ZTR2SXFxM2dpTFZoR1dKQUhjUHVKZmFEMzRBVDBTQUlDZFkxenJ3SERwMGJZa2hSc0dpdnlwOCtjUDNjNlVxaXBRLzB5QUxLc2pTY0ZnL3JRNnYwQzNXcHo2SFNwSEx0Vm5VNjhEMEtoYkg1SmtiYzArbFdjR1V1aGpzSFE5VmJJbXoxVk5vSnYwN0VPU0xJdjQ1bDFqWFpWNmRxSDdzYktWQlVXdmcrZzV2ZnVSSkNzaHBxZXE4dWZwZmhxWEllZEsyNXkrbXdGYVowUmZraFRxQ1BTdEdodnpPeVA2TWlRQlZPUzZ1dXdxWFE2Z3dZaitKQ21FTlJKd2VYWFc3WjFHZEdaSUFnQ0E4akZ6ZHBMS013RElaV3VTMUR1VlFkZnNMQ2dxTjZwRHd4SUFBRlNPbWZjUkU0Vk5NVkZKOGdjeHpha3VLRnBxWkorR0pnQUFxQjd0S3dId3R0SDlTcEtaRWZCR1pjRWN3L2ZRR0o0QVFDNlZZMkpuZ1BoTHcvdVdKRlBpTmQzZFVUL1hhb3V2UDR4UEFBQ3FzMjd2OUNpT1N3Qm90cTFSa2tKVXVkMWp2Nmp1MkR2YVJYUXVKQUVBUUczZVBYc1ZoUzRHMENRcUJra1NyTkZHNnRUeThiUHJSQVVnTEFFQXdNN1JSVnVaY1JuQ3NLcXdGUFk4UkR5OUl0OVZLaklJb1FrQUFLb0w1MzRDNHA5RHZoNlV3b2VQUUZkWDVzOWJJVG9RNFFrQUFLcnk1NzFHekw4Q0VENG5jRXJoaXBsd2MyVkIwZXVpQXdGTWtnQUFvTEp3M25NZ3VsVjBISktrSzZJL1ZPZlAvWmZvTUhxWUpnRUFRRlYrMFQ5QmRMdm9PQ1JKRDBTNHV5cS82R0hSY1J6S1ZBa0FBS3J5aXg0bVJySG9PQ1JKUzhROHZ6Si9ydW1LNVpyMkpDdFpYVml5Q2liTXE4NmZhOHFMbW1rVEFBQmtsUmJmRE9DZk1PRk1SWklHZ1FsMFcyVkIwZDlGQjlJWFV5Y0FBTWdzblg4TmdaNEZZQmNkaXlUNXdRZndEVlVGOHhhSkRxUS9wazhBQUpCVk52OW5ZSG9lZ0ZOMExKSTBDTjBFdXRZc3IvcjZFeElKQUFDeVM0dFBaK0F0QUNtaVk1R2tmalF4MCtYVmhVVWZpdzVrTUVJbUFRQkE1bWJYS0xJcEh3RElFeDJMSlBXaTNFYnFWTkhMZS8wUlVnL1hxc2U2ZHZoSVBRM0FhdEd4U05MaCtDdTd4M1pxS0ExK0lNUVNBQURzeW5mVis5clVuNEN4UkhRc2tnVHNMK2JCTVhGbmk5elZGNmlRdWdVNERETmxseTI0azhFTEFkaEVoeU9GSldid0E5WDVmQS9JRlpMN1dFSTNBUnlRVVRyL0hBSzlTa0NxNkZpa3NOSUE1bXVxQ3VjdEV4MUlNRUkrQVFEQThCMExzbXhlOVEwQUo0bU9SYkkrWm54akk1cG1aUFZldllUY000RGU3Qm8xcDRwallzOEN5TlNMTHFUUVIweFAyU1BWMDZ3dytBR0x6QUFPbGJsMS9qUWllaEpBa3VoWUpFdlpCK1pmVnhYT2UwVjBJRnF5WEFJQUR0NFNQQS9nYk5HeFNLR1BnRlUrbTNwZFRaNnJXblFzV3JOa0FnRFE4NWJnVmdZL0FMbUVXQXFNbDVnWFZoWndjYWcrNVIrSWRSUEFBU08yRngrdit1aGZBSjhnT2hZcGxQQWFsZWo2bXZ5NTYwVkhvaWZMSndBQXdDcVhQVHZkOWhzR0x3QVFLem9jeWRRNkNUUy9Nai8vTDZEcGxpOVVHeDRKNElEc2JhNlJ6TXJqWUp3bk9oYkpsRDVSV2IyeHB0QzFUWFFnUmdtckJBQUFZS2Fzc3VKZmdPZytNTkpFaHlPWlFpMFI3cXJNbi91ODZFQ01GbjRKNElDMDlRL0dSRGc3N21DaXV3QkVpbzVIRXNMRHdHT1JOclZvUjU2clJYUXdJb1J0QXVpeGY0dXg3VjZBcnhRZGkyUWNKcnhIQ3YyK0txOG9yTStuRFBzRTBDTjdXOGxrVm5HL2ZGdGdkYnhHZ1hMWHpvS2lsYUlqTVFPWkFJNlF2YTFrc3VyakI0aHd2T2hZSkEwUk5oOG96ZjI2aUdPNHpVb21nTjR3VTNacDhVVk15Z0tBSjRnT1J3cktWaUw4dVhKMHdVdmg4RnJQWHpJQjlJY1gyekxMU21jUTZBNlpDRUlMZ2I1Vm1SK3NMbEJmdGVvcVBpM0lCREJJMldVTHpsQ2gza1dNQ3lILzNzeHNOVEhmWDFrdzl6MDUxUitZL0VIMlUyYXBhd0t4OGdjUXJvTGNZMkFXYmhDOXdpci90YnB3N2tiUndZUVNtUUFDbEwzaHZpRndlSzVrb3Q4Q1BFNTBQR0ZxRzRHZTZiYjdGdFdOY3UwUkhVd29rZ2xBQTlsYml5ZXFDbTRreGpVQVlrVEhZM0hkQUwxRENwNnN6SnV6UWs3emd5TVRnSVo2WmdVcVlUcnRyMFVnaTVWcXd3ZkdLbGJ3bXQycHZsNlI2Mm9XSFpCVnlBU2drNHl0OXliYkZPK0ZLbkFsTWFaQW5tM29MeFhBRndUNnQrTHp2Vll4MWxVck9pQXJrZ25BQUZtbHJ1SEV5a1VNVENIQ1pBYmlSTWRrVWkwZ0xHZndVcHZQL3Q3T01iTjNpdzdJNm1RQ01OakVOVTg0YW1Ocno3Q0JwakJvaWx4ZmdQVU1YZ3BXbHFhMXA2NWVlK0pOSHRFQmhST1pBQVFidGQwVjcyYmJ5ZkNwWnpEb2RCRE9nSFYzSjNvQnJHZGd0UUwrcjl2bStMZzI3NTY5b29NS1p6SUJtRXhPdVN0U2RkdFBaS2duQXpRQmpQRUFqd1VRSVRvMlAzVUJ0QVhFR3dCc0pNYi9uTGJFTlR2eWJ1MFdIWmowQTVrQVFzRXFsMzFFaGkxUFpYVUNtTVlCR01uZ0hBTGxBa2dYSE4xdUJwY3JVTW9aNnZjRTJrUUtiZHhaNDl1T2MxeGV3YkZKQTVBSklNVGxsTHNpNFVhT0Y1UkxqR0ZnU21iaUZJS1NBbkF5Z0dTQWhnQWNmZUFqOGRqL2V0S0JIK29qdGdId0FQQUJPRkFZZ3pvQWJnTFFBRkFETSs4bG9BRkFQUlBWMnNsWEFTY3FLbkpkWFFiK2NTV04vWDhVa0l1UGVROHAvd0FBQUFCSlJVNUVya0pnZ2c9PWBcXHJcXG5cXHJcXG4kLmV4cG9ydHMgPSB7XFxyXFxuICAgIHBpY19ob21lLFxcclxcbiAgICBwaWNfc2hhcmUsXFxyXFxuICAgIHBpY19yZWN5Y2xlLFxcclxcbiAgICBwaWNfbGlua1xcclxcbn1cXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkZpeFRhYlwiLFwicGF0aFwiOlwiRml4VGFiXCIsXCJydWxlXCI6XCJ2YXIgeyBnZXRfdXNlcl9iYXNlX2luZm8sIGdldF91c2VyX3ZpcF9pbmZvLCBnZXRfdXNlcl9zdG9yYWdlX2luZm8sIGdldF91c2VyX2ludml0ZUNvZGUsIHN1Yl9yZWFkX2xvY2FsIH0gPVxcclxcbiAgICAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnZhciB7IHNlYXJjaF9iYXIgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL1NlYXJjaEJhckFuZENhdGVnb3J5JylcXHJcXG52YXIgeyBnZW5lcmF0ZV9wYXRocywgZ2VuZXJhdGVfb3RoZXJfc2hhcmVfcGF0aHMsIGdlbmVyYXRlX2hvbWVfY2F0ZWdvcnlfcGF0aHMsIGdlbmVyYXRlX2Rvd25sb2FkX3BhdGhzIH0gPVxcclxcbiAgICAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9QYXRoJylcXHJcXG52YXIgeyBpbnZpdGVfZ28gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0ludml0ZScpXFxyXFxudmFyIHsgc3R5bGVfY29sb3IsIGRlYnVnX2xvZyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvRGVidWcnKVxcclxcblxcclxcbmZ1bmN0aW9uIGZpeF90YWIocmVzKSB7XFxyXFxuICAgIC8vIOeUqOaIt+S/oeaBr1xcclxcbiAgICBsZXQgdXNlcl9iYXNlX2luZm8gPSBnZXRfdXNlcl9iYXNlX2luZm8oKVxcclxcbiAgICBsZXQgdXNlcl92aXBfaW5mbyA9IGdldF91c2VyX3ZpcF9pbmZvKClcXHJcXG4gICAgbGV0IHVzZXJfc3RvcmFnZV9pbmZvID0gZ2V0X3VzZXJfc3RvcmFnZV9pbmZvKClcXHJcXG4gICAgbGV0IHVzZXJfc3RvcmFnZV9saW1pdCA9ICcwVEInXFxyXFxuICAgIGxldCB1c2VyX3N0b3JhZ2VfdXNhZ2UgPSAnMFRCJ1xcclxcblxcclxcbiAgICAvLyBwdXRNeVZhcignc2hvd19lbWFpbCcsICcwJylcXHJcXG5cXHJcXG4gICAgaWYgKGdldEl0ZW0oJ2FjY2Vzc190b2tlbicsICcnKSA9PSAnJyB8fCBnZXRJdGVtKCdhY2Nlc3NfdG9rZW4nLCAnJykgPT0gJ3VuZGVmaW5lZCcpIHtcXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogYOaCqOi/mOacqueZu+W9le+8jOivt+eCueWHu+i/m1xcXCLorr7nva4t5re75Yqg6LSm5Y+3XFxcIuaIluiAheWIt+aWsOS4gOS4i2AsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcclxcbiAgICAgICAgICAgIHBpY191cmw6IGBodHRwczovL215cGlrcGFrLmNvbS9mYXZpY29uLTMyeDMyLnBuZ2AsXFxyXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL0FjY291bnRTZXR0aW5nI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxuICAgICAgICB9KVxcclxcbiAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgLy8g6Ieq5Yqo5Yi35paw6YKA6K+35LiA5qyhXFxyXFxuICAgICAgICBpZiAoZ2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcwJykgPT0gJzEnKSB7XFxyXFxuICAgICAgICAgICAgaWYgKHVzZXJfdmlwX2luZm8uYmFzZS52aXBfc3RhdHVzID09ICdpbnZhbGlkJykge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgaW52aXRlX3JlcyA9IGludml0ZV9nbyhnZXRfdXNlcl9pbnZpdGVDb2RlKCkuY29kZSlcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCEoaW52aXRlX3JlcyA9PSAnaW52aXRlIGxpbWl0JykpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnX2xvZygn5bey57uP5pivUHJlbWl1bemrmOe6p+eUqOaIt++8jOaXoOmcgOWIt+aWsOmCgOivtycpXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgLy8gdXNlcl9iYXNlX2luZm8ubmFtZSA9ICfnsonlprknXFxyXFxuICAgICAgICAvLyBzdHlsZV9jb2xvcih1c2VyX3N0b3JhZ2VfbGltaXQgKyAnLycgKyB1c2VyX3N0b3JhZ2VfdXNhZ2UgKyAnICcsICcjZmZmZmZmJywgJ3NtYWxsJylcXHJcXG4gICAgICAgIHVzZXJfc3RvcmFnZV9saW1pdCA9IE51bWJlcih1c2VyX3N0b3JhZ2VfaW5mby5xdW90YS5saW1pdCkgLyAxMDk5NTExNjI3Nzc2XFxyXFxuICAgICAgICB1c2VyX3N0b3JhZ2VfdXNhZ2UgPSBOdW1iZXIodXNlcl9zdG9yYWdlX2luZm8ucXVvdGEudXNhZ2UpIC8gMTA5OTUxMTYyNzc3NlxcclxcbiAgICAgICAgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKG51bWJlcikge1xcclxcbiAgICAgICAgICAgIGNvbnN0IHJvdW5kZWROdW1iZXIgPSBNYXRoLnJvdW5kKG51bWJlciAqIDEwMCkgLyAxMDBcXHJcXG4gICAgICAgICAgICByZXR1cm4gcm91bmRlZE51bWJlci50b1N0cmluZygpXFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB1c2VyX3N0b3JhZ2VfbGltaXQgPSBmb3JtYXROdW1iZXIodXNlcl9zdG9yYWdlX2xpbWl0KSArICdUQidcXHJcXG4gICAgICAgIHVzZXJfc3RvcmFnZV91c2FnZSA9IGZvcm1hdE51bWJlcih1c2VyX3N0b3JhZ2VfdXNhZ2UpICsgJ1RCJ1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBgJHtcXHJcXG4gICAgICAgICAgICAgICAgdXNlcl92aXBfaW5mby5iYXNlLnZpcF9zdGF0dXMgIT0gJ2ludmFsaWQnXFxyXFxuICAgICAgICAgICAgICAgICAgICA/IHN0eWxlX2NvbG9yKHVzZXJfYmFzZV9pbmZvLm5hbWUsICcjNTU5M0Y1JywgJ3N0cm9uZycpLnJlcGxhY2UoJ+KAmOKAmOKAmeKAmScsICcnKSArXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICcgKCcgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9jb2xvcign6auY57qn55So5oi3JywgJyMyNEJCNzUnLCAnc21hbGwnKS5yZXBsYWNlKCfigJjigJjigJnigJknLCAnJykgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZV9jb2xvcignICcgKyB1c2VyX3N0b3JhZ2VfdXNhZ2UgKyAnLycgKyB1c2VyX3N0b3JhZ2VfbGltaXQsICcjREMxNDNDJywgJ3NtYWxsJykucmVwbGFjZShcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICfigJjigJjigJnigJknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgKSArXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICcpJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgOiBzdHlsZV9jb2xvcih1c2VyX2Jhc2VfaW5mby5uYW1lLCAnIzU1OTNGNScsICdzdHJvbmcnKS5yZXBsYWNlKCfigJjigJjigJnigJknLCAnJykgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAnICgnICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVfY29sb3IoJ+WPl+mZkCcsICcjQzYxODE2JywgJ3NtYWxsJykucmVwbGFjZSgn4oCY4oCY4oCZ4oCZJywgJycpICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVfY29sb3IoJyAnICsgdXNlcl9zdG9yYWdlX3VzYWdlICsgJy8nICsgdXNlcl9zdG9yYWdlX2xpbWl0LCAnI0RDMTQzQycsICdzbWFsbCcpLnJlcGxhY2UoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAn4oCY4oCY4oCZ4oCZJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICkgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAnKSdcXHJcXG4gICAgICAgICAgICB9YCxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxyXFxuICAgICAgICAgICAgcGljX3VybDogYGh0dHBzOi8vbXlwaWtwYWsuY29tL2Zhdmljb24tMzJ4MzIucG5nYCxcXHJcXG4gICAgICAgICAgICBkZXNjOiBg6LSm5Y+36K6+572u4pqZYCxcXHJcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvQWNjb3VudFNldHRpbmcjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAvLyDmkJzntKLmoI9cXHJcXG4gICAgICAgIHNlYXJjaF9iYXIocmVzKVxcclxcblxcclxcbiAgICAgICAgLy8g6Ze06ZqU5qCPXFxyXFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIC8vIOWFtuS7luS6uuWIhuS6q+iuoumYhVxcclxcbiAgICAgICAgaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMScpIHtcXHJcXG4gICAgICAgICAgICBnZW5lcmF0ZV9vdGhlcl9zaGFyZV9wYXRocyhyZXMsIHN1Yl9yZWFkX2xvY2FsKCkpXFxyXFxuICAgICAgICB9IGVsc2UgaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMCcpIHtcXHJcXG4gICAgICAgICAgICBnZW5lcmF0ZV9ob21lX2NhdGVnb3J5X3BhdGhzKHJlcylcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgZ2VuZXJhdGVfZG93bmxvYWRfcGF0aHMocmVzKVxcclxcbiAgICAgICAgICAgIHNldFByZVJlc3VsdChyZXMpXFxyXFxuICAgICAgICAgICAgcmV0dXJuXFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAvLyDpnaLljIXlsZHot6/lvoQo5oyJ6ZKuKVxcclxcbiAgICAgICAgLy8gZ2VuZXJhdGVfcGF0aHMocmVzKVxcclxcbiAgICAgICAgLy8gbGV0IHBhdGhzX2tpbmRfcHJlID0gWydwYXRocycsICdzaF9wYXRocycsICdkb3dubG9hZF9wYXRocyddXFxyXFxuICAgICAgICBsZXQgcGF0aHNfa2luZF9wcmUgPSBbJ3BhdGhzJywgJ3NoX3BhdGhzJ11cXHJcXG4gICAgICAgIGxldCBwYXRoc19raW5kID0gcGF0aHNfa2luZF9wcmVbZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpXVxcclxcbiAgICAgICAgbGV0IHNob3dfdGl0bGVzID0gWyfwn5OEJywgJ/Cfjp7vuI8nLCAn8J+WvO+4jyddXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgLy8g8J+Onu+4jyDwn5OEIPCflrzvuI9cXHJcXG4gICAgICAgICAgICAvLyB0aXRsZTogZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJykgPT0gJzAnID8gJ/Cfk4QnIDogJ/CflrzvuI8nLFxcclxcbiAgICAgICAgICAgIHRpdGxlOiBzaG93X3RpdGxlc1tnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKV0sXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKFsn8J+ThCDliJfooajmqKHlvI8nLCAn8J+Onu+4jyDnvKnnlaXlm77mqKHlvI8nLCAn8J+WvO+4jyDmvKvnlLvmqKHlvI8nXSwgMSwgJ+ivt+mAieaLqea1j+iniOaWueW8jycpLnNlbGVjdCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIE1ZX0lOREVYXFxyXFxuICAgICAgICAgICAgICAgIC8vIGxldCBsaXN0X3Nob3dfc3R5bGUgPSBnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAvLyBsaXN0X3Nob3dfc3R5bGUgPSBOdW1iZXIobGlzdF9zaG93X3N0eWxlKSArIDFcXHJcXG4gICAgICAgICAgICAgICAgLy8gaWYgKGxpc3Rfc2hvd19zdHlsZSA+IDIpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGxpc3Rfc2hvd19zdHlsZSA9IDBcXHJcXG4gICAgICAgICAgICAgICAgLy8gfVxcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgTVlfSU5ERVgpXFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIC8vIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgbGV0IGxpc3Rfc2hvd19zdHlsZSA9IGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpXFxyXFxuICAgICAgICAgICAgLy8gICAgIGxpc3Rfc2hvd19zdHlsZSA9IE51bWJlcihsaXN0X3Nob3dfc3R5bGUpICsgMVxcclxcbiAgICAgICAgICAgIC8vICAgICBpZiAobGlzdF9zaG93X3N0eWxlID4gMikge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgbGlzdF9zaG93X3N0eWxlID0gMFxcclxcbiAgICAgICAgICAgIC8vICAgICB9XFxyXFxuICAgICAgICAgICAgLy8gICAgIHB1dE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCBsaXN0X3Nob3dfc3R5bGUpXFxyXFxuXFxyXFxuICAgICAgICAgICAgLy8gICAgIC8vIGlmIChsaXN0X3Nob3dfc3R5bGUgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgIC8vICAgICBwdXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzEnKVxcclxcbiAgICAgICAgICAgIC8vICAgICAvLyB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgIC8vICAgICAvLyAgICAgcHV0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgLy8gfVxcclxcbiAgICAgICAgICAgIC8vICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgLy8gICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAvLyB9KSxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICBsZXQgbGlzdF9zaG93X3NvcnQgPSBnZXRNeVZhcignbGlzdF9zaG93X3NvcnQnLCAnMCcpXFxyXFxuICAgICAgICAvLyBsZXQgbGlzdF9zaG93X3NvcnRfdGl0bGVzID0gWyfwn5OWIOKsh++4jycsICfwn5OWIOKshu+4jycsICcw77iP4oOjIOKsh++4jycsICc577iP4oOjIOKshu+4jycsJ+KPsu+4jyDirIbvuI8nLCAn4o+y77iPIOKsh++4jycsICfwn5OmIOKshu+4jycsICfwn5OmIOKsh++4jyddXFxyXFxuICAgICAgICBsZXQgbGlzdF9zaG93X3NvcnRfdGl0bGVzID0gWyfwn5OWIOKsh++4jycsICfwn5OWIOKshu+4jycsICfij7LvuI8g4qyG77iPJywgJ+KPsu+4jyDirIfvuI8nLCAn8J+TpiDirIbvuI8nLCAn8J+TpiDirIfvuI8nXVxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBsaXN0X3Nob3dfc29ydF90aXRsZXNbbGlzdF9zaG93X3NvcnRdLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcclxcbiAgICAgICAgICAgIHVybDogJChcXHJcXG4gICAgICAgICAgICAgICAgW1xcclxcbiAgICAgICAgICAgICAgICAgICAgJ/Cfk5Yg5ZCN5a2XKDAvQS0+OS9aKScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAn8J+TliDlkI3lrZcoOS9aLT4wL0EpJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICfij7LvuI8g5pe26Ze0KOaXpy0+5pawKScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAn4o+y77iPIOaXtumXtCjmlrAtPuaXpyknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ/Cfk6Yg5aSn5bCPKOWkpy0+5bCPKScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAn8J+TpiDlpKflsI8o5bCPLT7lpKcpJyxcXHJcXG4gICAgICAgICAgICAgICAgXSxcXHJcXG4gICAgICAgICAgICAgICAgMixcXHJcXG4gICAgICAgICAgICAgICAgJ+ivt+mAieaLqeaOkuW6j+aWueW8jydcXHJcXG4gICAgICAgICAgICApLnNlbGVjdCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdsaXN0X3Nob3dfc29ydCcsIE1ZX0lOREVYKVxcclxcbiAgICAgICAgICAgICAgICAvLyAkLmxvZyhnZXRNeVZhcignbGlzdF9zaG93X3NvcnQnLCAnMCcpKVxcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICBnZW5lcmF0ZV9wYXRocyhyZXMsIHBhdGhzX2tpbmQsICdIb21lJylcXHJcXG4gICAgfVxcclxcbiAgICBzZXRQcmVSZXN1bHQocmVzKVxcclxcbn1cXHJcXG5cXHJcXG4kLmV4cG9ydHMgPSB7XFxyXFxuICAgIGZpeF90YWIsXFxyXFxufVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQWNjb3VudFNldHRpbmdcIixcInBhdGhcIjpcIkFjY291bnRTZXR0aW5nXCIsXCJydWxlXCI6XCJqczpcXHJcXG52YXIgeyBwaWtwYWtfaW5pdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5waWtwYWtfaW5pdCgpXFxyXFxuc2V0UGFnZVRpdGxlKCfotKblj7forr7nva4nKVxcclxcbnZhciByZXMgPSBbXVxcclxcblxcclxcbnZhciB7IHN0eWxlX2NvbG9yIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxudmFyIHsgZ2V0X3VzZXJfYmFzZV9pbmZvLCBnZXRfdXNlcl92aXBfaW5mb30gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcblxcclxcbmxldCB1c2VyX2Jhc2VfaW5mbyA9IGdldF91c2VyX2Jhc2VfaW5mbygpXFxyXFxubGV0IHVzZXJfdmlwX2luZm8gPSBnZXRfdXNlcl92aXBfaW5mbygpXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ/CfkaQg55So5oi35L+h5oGvJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfmt7vliqDotKblj7cnLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICBkZXNjOiAn5re75Yqg5aSa55So5oi3JyxcXHJcXG4gICAgdXJsOiAnaGlrZXI6Ly9wYWdlL0FkZEFjY291bnQjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn6LSm5Y+3566h55CGJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgZGVzYzogJ+i/m+WFpei0puWPt+euoeeQhicsXFxyXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9NdWx0aXBsZUFjY291bnQjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn5b2T5YmN6LSm5Y+3JyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgZGVzYzogdXNlcl9iYXNlX2luZm8ubmFtZSA/IHVzZXJfYmFzZV9pbmZvLm5hbWUgKyAnXFxcXG4nICsgdXNlcl9iYXNlX2luZm8uZW1haWwgOiAn5pyq55m75b2V5oiW6ICF5pyq6YCJ5oup6LSm5Y+3JyxcXHJcXG4gICAgdXJsOiAnY29weTovLycgKyB1c2VyX2Jhc2VfaW5mby5lbWFpbCxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQWRkQWNjb3VudFwiLFwicGF0aFwiOlwiQWRkQWNjb3VudFwiLFwicnVsZVwiOlwianM6XFxyXFxudmFyIHsgcGlrcGFrX2luaXQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxucGlrcGFrX2luaXQoKVxcclxcbnNldFBhZ2VUaXRsZSgn5re75Yqg6LSm5Y+3JylcXHJcXG52YXIgcmVzID0gW11cXHJcXG5cXHJcXG5jbGVhck15VmFyKCd0dXNlcm5hbWUnKVxcclxcbmNsZWFyTXlWYXIoJ3RwYXNzd2QnKVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfwn5GkIOeUqOaIt+WQjScsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn55So5oi35ZCNJyxcXHJcXG4gICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgIGRlc2M6ICfor7fovpPlhaXnlKjmiLflkI0o6YKu566xL+aJi+acuuWPtyknLFxcclxcbiAgICBleHRyYToge1xcclxcbiAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcigndHVzZXJuYW1lJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+UkSDlr4bnoIEnLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+WvhueggScsXFxyXFxuICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICBkZXNjOiAn6K+36L6T5YWl5a+G56CBJyxcXHJcXG4gICAgZXh0cmE6IHtcXHJcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RwYXNzd2QnLCBpbnB1dClcXFwiLFxcclxcbiAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgfSxcXHJcXG59KVxcclxcblxcclxcbi8vIOmXtOmalOagj1xcclxcbmZvciAobGV0IGkgPSAwOyBpIDwgMTU7IGkrKykge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXHJcXG4gICAgfSlcXHJcXG59XFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+a3u+WKoCcsXFxyXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgIGlmICghZ2V0TXlWYXIoJ3R1c2VybmFtZScsICcnKSB8fCAhZ2V0TXlWYXIoJ3RwYXNzd2QnLCAnJykpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v55So5oi35ZCN5ZKM5a+G56CB5LiN6IO95Li656m6J1xcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgLy8gdmFyIHsgbG9naW5fY2hlY2sgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICB2YXIgeyBsb2dpbl9nbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvSW52aXRlJylcXHJcXG4gICAgICAgIGlmIChsb2dpbl9nbyhnZXRNeVZhcigndHVzZXJuYW1lJywgJycpLCBnZXRNeVZhcigndHBhc3N3ZCcsICcnKSkpIHtcXHJcXG4gICAgICAgICAgICBsZXQgbV9hY2NvdW50cyA9IHN0b3JhZ2UwLmdldEl0ZW0oJ21fYWNjb3VudHMnLCBbXSlcXHJcXG4gICAgICAgICAgICBtX2FjY291bnRzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBuYW1lOiBnZXRNeVZhcigndHVzZXJuYW1lJywgJycpLFxcclxcbiAgICAgICAgICAgICAgICBwYXNzd2Q6IGdldE15VmFyKCd0cGFzc3dkJywgJycpLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgc3RvcmFnZTAuc2V0SXRlbSgnbV9hY2NvdW50cycsIG1fYWNjb3VudHMpXFxyXFxuICAgICAgICAgICAgY3VycmVudF9hY2NvdW50ID0gbV9hY2NvdW50c1ttX2FjY291bnRzLmxlbmd0aCAtIDFdXFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnY3VycmVudF9hY2NvdW50X2luZGV4JywgKG1fYWNjb3VudHMubGVuZ3RoIC0gMSkudG9TdHJpbmcoKSlcXHJcXG4gICAgICAgICAgICAvLyBzZXRJdGVtKCd1c2VybmFtZScsIGN1cnJlbnRfYWNjb3VudC5uYW1lKVxcclxcbiAgICAgICAgICAgIC8vIHNldEl0ZW0oJ3Bhc3N3ZCcsIGN1cnJlbnRfYWNjb3VudC5wYXNzd2QpXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mt7vliqDmiJDlip/vvIzlubbkvb/nlKjmraTotKblj7cnXFxyXFxuICAgICAgICAgICAgLy8gaWYgKG1fYWNjb3VudHMubGVuZ3RoID09IDEpIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgY3VycmVudF9hY2NvdW50ID0gbV9hY2NvdW50c1swXVxcclxcbiAgICAgICAgICAgIC8vICAgICBzZXRJdGVtKCdjdXJyZW50X2FjY291bnRfaW5kZXgnLCAnMCcpXFxyXFxuICAgICAgICAgICAgLy8gICAgIHNldEl0ZW0oJ3VzZXJuYW1lJywgY3VycmVudF9hY2NvdW50Lm5hbWUpXFxyXFxuICAgICAgICAgICAgLy8gICAgIHNldEl0ZW0oJ3Bhc3N3ZCcsIGN1cnJlbnRfYWNjb3VudC5wYXNzd2QpXFxyXFxuICAgICAgICAgICAgLy8gICAgIHZhciB7IGxvZ2luIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgIC8vICAgICBsb2dpbihjdXJyZW50X2FjY291bnQubmFtZSwgY3VycmVudF9hY2NvdW50LnBhc3N3ZClcXHJcXG4gICAgICAgICAgICAvLyAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5YiH5o2i5Yiw5q2k6LSm5Y+3J1xcclxcbiAgICAgICAgICAgIC8vIH1cXHJcXG4gICAgICAgICAgICAvLyByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgLy8gcmV0dXJuICd0b2FzdDovL+a3u+WKoOaIkOWKn++8jOivt+WOu+WkmueUqOaIt+euoeeQhueVjOmdoui/m+ihjOaTjeS9nCdcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+a3u+WKoOWksei0pe+8jOivt+ehruiupOeUqOaIt+WQjeWSjOWvhueggeaYr+WQpuato+ehridcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSksXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfmuIXnqbonLFxcclxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgIH0pLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxufSlcXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiTXVsdGlwbGVBY2NvdW50XCIsXCJwYXRoXCI6XCJNdWx0aXBsZUFjY291bnRcIixcInJ1bGVcIjpcImpzOlxcclxcbnZhciB7IHBpa3Bha19pbml0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnBpa3Bha19pbml0KClcXHJcXG5zZXRQYWdlVGl0bGUoJ+i0puWPt+euoeeQhicpXFxyXFxudmFyIHsgc3R5bGVfY29sb3IgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0RlYnVnJylcXHJcXG52YXIgcmVzID0gW11cXHJcXG52YXIgbV9hY2NvdW50cyA9IHN0b3JhZ2UwLmdldEl0ZW0oJ21fYWNjb3VudHMnLCBbXSlcXHJcXG5cXHJcXG5pZiAobV9hY2NvdW50cy5sZW5ndGggPT0gMCkge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICB0aXRsZTogYOi/lOWbnuS4iuS4gOmhte+8jOeCueWHu1xcXCLmt7vliqDotKblj7dcXFwiYCxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgYmFjayh0cnVlKVxcclxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgIH0pLFxcclxcbiAgICB9KVxcclxcbn0gZWxzZSB7XFxyXFxuICAgIGxldCBjdXJyZW50X2FjY291bnRfaW5kZXggPSBOdW1iZXIoZ2V0SXRlbSgnY3VycmVudF9hY2NvdW50X2luZGV4JywgJy0xJykpXFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIHRpdGxlOiAn8J+RpCDlpJrnlKjmiLfkv6Hmga8nLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICB9KVxcclxcblxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI7IGkrKykge1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxuICAgICAgICB9KVxcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbV9hY2NvdW50cy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBg55So5oi3ICR7aX1gLFxcclxcbiAgICAgICAgICAgIC8vIGRlc2M6IG1fYWNjb3VudHNbaV0ubmFtZSArIChjdXJyZW50X2FjY291bnRfaW5kZXggPT0gaSA/ICco5q2j5Zyo5L2/55SoKScgOiAnJyksXFxyXFxuICAgICAgICAgICAgZGVzYzpcXHJcXG4gICAgICAgICAgICAgICAgY3VycmVudF9hY2NvdW50X2luZGV4ID09IGlcXHJcXG4gICAgICAgICAgICAgICAgICAgID8gc3R5bGVfY29sb3IobV9hY2NvdW50c1tpXS5uYW1lICsgJyAo5q2j5Zyo5L2/55SoKScsICcjNTU5M0Y1JywgJ3N0cm9uZycpXFxyXFxuICAgICAgICAgICAgICAgICAgICA6IG1fYWNjb3VudHNbaV0ubmFtZSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICAgICAgICAgIHVybDogJChbJ+S9v+eUqOi0puWPtycsICfliKDpmaTotKblj7cnXSwgMiwgJ+ivt+mAieaLqeaTjeS9nCcpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgKGN1cnJlbnRfYWNjb3VudCwgaW5kZXgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSAn5L2/55So6LSm5Y+3Jykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ2N1cnJlbnRfYWNjb3VudF9pbmRleCcsIGluZGV4LnRvU3RyaW5nKCkpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0SXRlbSgndXNlcm5hbWUnLCBjdXJyZW50X2FjY291bnQubmFtZSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzZXRJdGVtKCdwYXNzd2QnLCBjdXJyZW50X2FjY291bnQucGFzc3dkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGxvZ2luX2dvIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9JbnZpdGUnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciB7IGxvZ2luIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjaGVja19sb2dpbiA9IGxvZ2luX2dvKGN1cnJlbnRfYWNjb3VudC5uYW1lLCBjdXJyZW50X2FjY291bnQucGFzc3dkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja19sb2dpbikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/liIfmjaLliLDmraTotKblj7cnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6LSm5Y+35aSx5pWI77yM6K+356Gu6K6k6LSm5Y+35piv5ZCm5q2j56GuJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFyIHsgY2xlYXJfYWNjb3VudCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjbGVhcl9hY2NvdW50KClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudF9hY2NvdW50X2luZGV4ID0gZ2V0SXRlbSgnY3VycmVudF9hY2NvdW50X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50X2FjY291bnRfaW5kZXggPT0gaW5kZXgpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5b2T5YmN5q2j5Zyo5L2/55So5q2k6LSm5Y+377yM5peg5rOV5Yig6ZmkJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtX2FjY291bnRzID0gc3RvcmFnZTAuZ2V0SXRlbSgnbV9hY2NvdW50cycsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2FjY291bnRzLnNwbGljZShpbmRleCwgMSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAuc2V0SXRlbSgnbV9hY2NvdW50cycsIG1fYWNjb3VudHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+WIoOmZpOatpOi0puWPtydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIG1fYWNjb3VudHNbaV0sXFxyXFxuICAgICAgICAgICAgICAgIGlcXHJcXG4gICAgICAgICAgICApLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgdGl0bGU6IHN0eWxlX2NvbG9yKCfmuIXnqbrmiYDmnInotKblj7cnLCAnI0ZGM0Y1QicsICdzdHJvbmcnKSxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgICAgICB1cmw6ICQoJ+aYr+WQpua4heepuuaJgOaciei0puWPtycpLmNvbmZpcm0oKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciB7IGNsZWFyX2FjY291bnRzX2luZm8gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgY2xlYXJfYWNjb3VudHNfaW5mbygpXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/muIXnqbrmiYDmnInotKblj7cnXFxyXFxuICAgICAgICB9KSxcXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyBpKyspIHtcXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiT3RoZXJTZXR0aW5nXCIsXCJwYXRoXCI6XCJPdGhlclNldHRpbmdcIixcInJ1bGVcIjpcImpzOlxcclxcbnB1dE15VmFyKCdzdWJpdGVtX2FjdGlvbicsICdicm93c2UnKVxcclxcbnZhciB7IHBpa3Bha19pbml0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnBpa3Bha19pbml0KClcXHJcXG5zZXRQYWdlVGl0bGUoJ+WFtuS7luiuvue9ricpXFxyXFxudmFyIHJlcyA9IFtdXFxyXFxuXFxyXFxudmFyIHsgc3R5bGVfY29sb3IgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0RlYnVnJylcXHJcXG52YXIgeyBnZXRfdXNlcl9pbnZpdGVDb2RlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcblxcclxcbmxldCB1c2VyX2ludml0ZUNvZGUgPSBnZXRfdXNlcl9pbnZpdGVDb2RlKClcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+YiCDpgoDor7forr7nva4nLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+mCgOivt+eggScsXFxyXFxuICAgIGRlc2M6IHVzZXJfaW52aXRlQ29kZS5jb2RlLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICB1cmw6IGBjb3B5Oi8vJHt1c2VyX2ludml0ZUNvZGUuY29kZX1gLFxcclxcbiAgICAvLyBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6IGDoh6rliqjpgoDor7dgLFxcclxcbiAgICBkZXNjOiBnZXRJdGVtKCdhdXRvX3JlZnJlc2hfaW52aXRlJywgJzAnKSA9PSAnMCcgPyAn5ZCmJyA6ICfmmK8nLFxcclxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBpZiAoZ2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcwJykgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcxJylcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcwJylcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgfSksXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxufSlcXHJcXG5cXHJcXG5sZXQgaW52aXRlX3Jlc3VsdCA9IGdldEl0ZW0oJ2ludml0ZV9yZXN1bHQnKVxcclxcbmlmIChpbnZpdGVfcmVzdWx0ID09ICd1bmRlZmluZWQnKSB7XFxyXFxuICAgIGludml0ZV9yZXN1bHQgPSAn5rKh5pyJ6Kem5Y+R6Ieq5Yqo6YKA6K+3J1xcclxcbn1cXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiBg5pyA6L+R6Ieq5Yqo6YKA6K+35pe26Ze0YCxcXHJcXG4gICAgZGVzYzogYCR7aW52aXRlX3Jlc3VsdH0gKOWJqeS9measoeaVsDokezMgLSBOdW1iZXIoZ2V0TXlWYXIoJ2ludml0ZV9jdXJyZW50X2NvdW50JywgJzAnKSl9KWAsXFxyXFxuICAgIC8vIGRlc2M6IGAke2dldEl0ZW0oJ2ludml0ZV9yZXN1bHQnLCAnRmFpbCcpID09ICdGYWlsJyA/ICfpgoDor7flpLHotKUnIDogZ2V0SXRlbSgnaW52aXRlX3Jlc3VsdCcsICdGYWlsJyl9ICjliankvZnmrKHmlbA6JHtcXHJcXG4gICAgLy8gICAgIDMgLSBOdW1iZXIoZ2V0TXlWYXIoJ2ludml0ZV9jdXJyZW50X2NvdW50JywgJzAnKSlcXHJcXG4gICAgLy8gfSlgLFxcclxcbiAgICAvLyB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXHJcXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgIHNob3dMb2FkaW5nKCfmraPlnKjoh6rliqjpgoDor7cnKVxcclxcbiAgICAgICAgdmFyIHsgZ2V0X3VzZXJfdmlwX2luZm8sIGdldF91c2VyX2ludml0ZUNvZGUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICB2YXIgeyBpbnZpdGVfZ28gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0ludml0ZScpXFxyXFxuICAgICAgICBsZXQgdXNlcl92aXBfaW5mbyA9IGdldF91c2VyX3ZpcF9pbmZvKClcXHJcXG4gICAgICAgIGlmICh1c2VyX3ZpcF9pbmZvLmJhc2UudmlwX3N0YXR1cyA9PSAnaW52YWxpZCcpIHtcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignaW52aXRlX2N1cnJlbnRfY291bnQnLCAnMicpXFxyXFxuICAgICAgICAgICAgcmVzID0gaW52aXRlX2dvKGdldF91c2VyX2ludml0ZUNvZGUoKS5jb2RlKVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaGlkZUxvYWRpbmcoKVxcclxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICB9KSxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG59KVxcclxcblxcclxcbmZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxuICAgIH0pXFxyXFxufVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfwn5SUIOWIhuS6q+iuvue9ricsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn5LqR5Y+j5LukJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgZGVzYzogJ+WIhuS6q+OAgeWvvOWFpeS6keWPo+S7pCjmiopQaWtQYWvliIbkuqvpk77mjqXpm4blkIjnlKjkupHlj6Pku6TmnaXliIbkuqvjgIHlr7zlhaUpJyxcXHJcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICBvcHRpb25zOiBbJ+WvvOWFpeS6keWPo+S7pCcsICfliIbkuqvkupHlj6Pku6QnXSxcXHJcXG4gICAgICAgICAgICBjb2w6IDEsXFxyXFxuICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKE1ZX0lOREVYKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoJycsICfor7fovpPlhaXmnKznqIvluo/liIbkuqvnmoTkupHlj6Pku6QnKS5pbnB1dCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGNsb3VkX2ltcG9ydCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJP3J1bGU957KJ5aa554ixUGlrUGFrJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSBpbnB1dC5tYXRjaCgvXiguKj8pQGltcG9ydD1qcy9tKVsxXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG91ZF9pbXBvcnQoaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhc3RlcyA9IGdldFBhc3RlcygpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeS9v+eUqOWIhuS6q+eahOWJqui0tOadvycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHBhc3RlcyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBjbG91ZF9zaGFyZSwgc3ViX3JlYWRfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjb3B5Oi8vJyArIGNsb3VkX3NoYXJlKHNoYXJlX2xpbmtfdXJscywgaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgfSksXFxyXFxuICAgIC8vIHVybDogJChbJ+WvvOWFpeS6keWPo+S7pCcsICfliIbkuqvkupHlj6Pku6QnXSkuc2VsZWN0KCgpID0+IHtcXHJcXG4gICAgLy8gICAgIHN3aXRjaCAoTVlfSU5ERVgpIHtcXHJcXG4gICAgLy8gICAgICAgICBjYXNlIDA6XFxyXFxuICAgIC8vICAgICAgICAgICAgICQudG9TdHJpbmcoKCk9PntcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICQoKS5pbnB1dCgoKT0+e30pXFxyXFxuICAgIC8vICAgICAgICAgICAgIH0pXFxyXFxuICAgIC8vICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgLy8gICAgICAgICAgICAgbGV0IHBhc3RlcyA9IGdldFBhc3RlcygpXFxyXFxuICAgIC8vICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5L2/55So5YiG5Lqr55qE5Ymq6LS05p2/JyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIG9wdGlvbnM6IHBhc3RlcyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIGNvbDogMyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGNsb3VkX3NoYXJlLCBzdWJfcmVhZF9sb2NhbCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiY29weTovL1xcXCIgKyBjbG91ZF9zaGFyZShzaGFyZV9saW5rX3VybHMsIGlucHV0KVxcclxcbiAgICAvLyAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgIC8vICAgICAgICAgICAgIH0pXFxyXFxuICAgIC8vICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgIC8vICAgICB9XFxyXFxuXFxyXFxuICAgIC8vICAgICByZXR1cm4gYGhpa2VyOi8vZW1wdHlgXFxyXFxuICAgIC8vIH0pLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+a3u+WKoOWIhuS6qycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6ICfmma7pgJrmt7vliqDliIbkuqvpk77mjqXlkozlr4bnoIHjgIHlrpjmlrnlpI3liLbliIbkuqvpk77mjqXjgIHmlofmnKznvJbovpHmqKHlvI/mt7vliqAnLFxcclxcbiAgICB1cmw6ICQoWyfmma7pgJrmt7vliqAnLCAn5a6Y5pa55aSN5Yi25YiG5Lqr5re75YqgJywgJ+aWh+acrOe8lui+kea3u+WKoCddKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgcmV0dXJuIGBoaWtlcjovL3BhZ2UvU3ViU2V0dGluZz9zaG93dHlwZT0ke01ZX0lOREVYfSNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSNgXFxyXFxuICAgIH0pLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+euoeeQhuWIhuS6qycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6ICfmmL7npLrmr4/kuIDmnaFQaWtQYWvliIbkuqvpk77mjqXlkozlr4bnoIHvvIzpgJrov4fngrnlh7vmk43kvZwo57yW6L6R44CB5Yig6Zmk44CB5aSN5Yi244CB5o6S5bqPKScsXFxyXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9TdWJJdGVtI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxufSlcXHJcXG5cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+UoSDlhbbku5borr7nva4nLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogYOajgOafpeabtOaWsGAsXFxyXFxuICAgIGRlc2M6IGDlvZPliY3niYjmnKzlj7c6ICR7JC51cGRhdGVfaW5mby52ZXJzaW9ufWAsXFxyXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBzaG93TG9hZGluZygn5q2j5Zyo5qOA5p+l5pyA5paw54mI5pysJylcXHJcXG4gICAgICAgIHZhciB7IGF1dG9fdXBkYXRlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgbGV0IHJlcyA9IGF1dG9fdXBkYXRlKClcXHJcXG4gICAgICAgIGhpZGVMb2FkaW5nKClcXHJcXG4gICAgICAgIGlmIChyZXMgPT0gJ2xhdGVzdCcpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5piv5pyA5paw54mI77yBJ1xcclxcbiAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0pLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogYOaJk+WNsOiwg+ivleaXpeW/l2AsXFxyXFxuICAgIGRlc2M6IGdldEl0ZW0oJ2RlYnVnX2VuYWJsZScsICcwJykgPT0gJzAnID8gJ+WQpicgOiAn5pivJyxcXHJcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgaWYgKGdldEl0ZW0oJ2RlYnVnX2VuYWJsZScsICcwJykgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnZGVidWdfZW5hYmxlJywgJzEnKVxcclxcbiAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICBzZXRJdGVtKCdkZWJ1Z19lbmFibGUnLCAnMCcpXFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgIH0pLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogc3R5bGVfY29sb3IoJ+mHjee9rlBpa1Bha+Wwj+eoi+W6jycsICcjRkYzRjVCJywgJ3N0cm9uZycpLFxcclxcbiAgICBkZXNjOiAn5Yig6Zmk6LSm5Y+377yM5Yig6Zmk5omA5pyJ5Y+Y6YeP77yM5Yig6Zmk5omA5pyJ5YiG5Lqr6K6i6ZiFKOWPr+mAiSknLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICB1cmw6ICQoWyfph43nva4o5L+d55WZ5YiG5Lqr6K6i6ZiFKScsICflrozlhajph43nva4nXSkuc2VsZWN0KCgpID0+IHtcXHJcXG4gICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICBjYXNlICflrozlhajph43nva4nOlxcclxcbiAgICAgICAgICAgICAgICBkZWxldGVGaWxlKCdmbV9waWtwYWtfc3ViLnR4dCcpXFxyXFxuICAgICAgICAgICAgY2FzZSAn6YeN572uKOS/neeVmeWIhuS6q+iuoumYhSknOlxcclxcbiAgICAgICAgICAgICAgICAvLyDliKDpmaTotKblj7fkv6Hmga9cXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgY2xlYXJfYWNjb3VudHNfaW5mbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgY2xlYXJfYWNjb3VudHNfaW5mbygpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vIOWIoOmZpOabtOaWsOS/oeaBr1xcclxcbiAgICAgICAgICAgICAgICBjbGVhclB1YmxpY0l0ZW0oJ2ZtX3Bpa3Bha19nbG9iYWwnKVxcclxcbiAgICAgICAgICAgICAgICBjbGVhclB1YmxpY0l0ZW0oJ2ZtX3Bpa3Bha19nbG9iYWxfdXBkYXRlJylcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgLy8g5Yig6Zmk5q+P5pel5LiA5Y+l5L+h5oGvXFxyXFxuICAgICAgICAgICAgICAgIGdsb2JhbE1hcDAuY2xlYXJNeVZhcignZGF5c2F5JylcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgLy8g5Yig6Zmk5omA5pyJ5Y+Y6YePXFxyXFxuICAgICAgICAgICAgICAgIGxldCBkX2l0ZW1zID0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgJ2FjY2Vzc190b2tlbicsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnZGV2aWNlX2lkJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdjbGllbnRfaWQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2NhcHRjaGFfdG9rZW4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3JlZnJlc2hfdG9rZW4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3NoYXJlX2lkJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzaGFyZV9wYXNzX2NvZGVfdG9rZW4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2F1dG9fcmVmcmVzaF9pbnZpdGUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2ludml0ZV9yZXN1bHQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2N1cnJlbnRfYWNjb3VudF9pbmRleCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnZGVidWdfZW5hYmxlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdtX2FjY291bnRzJyxcXHJcXG4gICAgICAgICAgICAgICAgXVxcclxcblxcclxcbiAgICAgICAgICAgICAgICBsZXQgZF92YXJzID0gW1xcclxcbiAgICAgICAgICAgICAgICAgICAgJ3Nob3dfaW5kZXgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3NoYXJlX3Nob3dfaW5kZXgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2Rvd25sb2FkX2NhdGVnb3J5X2luZGV4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdsaXN0X3Nob3dfc3R5bGUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2xpc3Rfc2hvd19zb3J0JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdhZGRfZG93bmxvYWRfbGluaycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAndHVzZXJuYW1lJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICd0cGFzc3dkJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdpbnZpdGVfY3VycmVudF9jb3VudCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAndHN1Ym5hbWUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3RzdWJsaW5rJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICd0c3VicGFzc3dkJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzdWJpdGVtX2VkaXRfbmFtZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc3ViaXRlbV9lZGl0X3VybCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc3ViaXRlbV9lZGl0X3Bhc3N3ZCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc3ViaXRlbV9hY3Rpb24nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3NvcnRfMV9wb3MnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3BhdGhzX2tpbmQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3BhdGhzJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzaF9wYXRocycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnZmlsZV9hY3Rpb24nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3N0X2l0ZW0nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2V4cGlyZWRfZGF0ZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnZmlyc3Rfc3BsYXNoJyxcXHJcXG4gICAgICAgICAgICAgICAgXVxcclxcblxcclxcbiAgICAgICAgICAgICAgICBkX2l0ZW1zLmZvckVhY2goKGVsZV9pdGVtKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjbGVhckl0ZW0oZWxlX2l0ZW0pXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGRfdmFycy5mb3JFYWNoKChlbGVfdmFyKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKGVsZV92YXIpXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+mHjee9rlBpa1Bha+Wwj+eoi+W6jydcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSksXFxyXFxuICAgIC8vIHVybDogJCgn5piv5ZCm6YeN572uUGlrUGFr5bCP56iL5bqPJykuY29uZmlybSgoKSA9PiB7XFxyXFxuICAgIC8vICAgICAvLyDliKDpmaTotKblj7fkv6Hmga9cXHJcXG4gICAgLy8gICAgIHZhciB7IGNsZWFyX2FjY291bnRzX2luZm8gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgIC8vICAgICBjbGVhcl9hY2NvdW50c19pbmZvKClcXHJcXG5cXHJcXG4gICAgLy8gICAgIC8vIOWIoOmZpOabtOaWsOS/oeaBr1xcclxcbiAgICAvLyAgICAgY2xlYXJQdWJsaWNJdGVtKCdmbV9waWtwYWtfZ2xvYmFsJylcXHJcXG4gICAgLy8gICAgIGNsZWFyUHVibGljSXRlbSgnZm1fcGlrcGFrX2dsb2JhbF91cGRhdGUnKVxcclxcblxcclxcbiAgICAvLyAgICAgLy8g5Yig6Zmk5q+P5pel5LiA5Y+l5L+h5oGvXFxyXFxuICAgIC8vICAgICBnbG9iYWxNYXAwLmNsZWFyTXlWYXIoJ2RheXNheScpXFxyXFxuXFxyXFxuICAgIC8vICAgICAvLyDliKDpmaTmiYDmnInlj5jph49cXHJcXG4gICAgLy8gICAgIGxldCBkX2l0ZW1zID0gW1xcclxcbiAgICAvLyAgICAgICAgICdhY2Nlc3NfdG9rZW4nLFxcclxcbiAgICAvLyAgICAgICAgICdzaGFyZV9pZCcsXFxyXFxuICAgIC8vICAgICAgICAgJ3NoYXJlX3Bhc3NfY29kZV90b2tlbicsXFxyXFxuICAgIC8vICAgICAgICAgJ2F1dG9fcmVmcmVzaF9pbnZpdGUnLFxcclxcbiAgICAvLyAgICAgICAgICdpbnZpdGVfcmVzdWx0JyxcXHJcXG4gICAgLy8gICAgICAgICAnY3VycmVudF9hY2NvdW50X2luZGV4JyxcXHJcXG4gICAgLy8gICAgICAgICAnZGVidWdfZW5hYmxlJyxcXHJcXG4gICAgLy8gICAgICAgICAnbV9hY2NvdW50cycsXFxyXFxuICAgIC8vICAgICBdXFxyXFxuXFxyXFxuICAgIC8vICAgICBsZXQgZF92YXJzID0gW1xcclxcbiAgICAvLyAgICAgICAgICdzaG93X2luZGV4JyxcXHJcXG4gICAgLy8gICAgICAgICAnc2hhcmVfc2hvd19pbmRleCcsXFxyXFxuICAgIC8vICAgICAgICAgJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLFxcclxcbiAgICAvLyAgICAgICAgICdkb3dubG9hZF9jYXRlZ29yeV9pbmRleCcsXFxyXFxuICAgIC8vICAgICAgICAgJ2xpc3Rfc2hvd19zdHlsZScsXFxyXFxuICAgIC8vICAgICAgICAgJ2xpc3Rfc2hvd19zb3J0JyxcXHJcXG4gICAgLy8gICAgICAgICAnYWRkX2Rvd25sb2FkX2xpbmsnLFxcclxcbiAgICAvLyAgICAgICAgICd0dXNlcm5hbWUnLFxcclxcbiAgICAvLyAgICAgICAgICd0cGFzc3dkJyxcXHJcXG4gICAgLy8gICAgICAgICAnaW52aXRlX2N1cnJlbnRfY291bnQnLFxcclxcbiAgICAvLyAgICAgICAgICd0c3VibmFtZScsXFxyXFxuICAgIC8vICAgICAgICAgJ3RzdWJsaW5rJyxcXHJcXG4gICAgLy8gICAgICAgICAndHN1YnBhc3N3ZCcsXFxyXFxuICAgIC8vICAgICAgICAgJ3N1Yml0ZW1fZWRpdF9uYW1lJyxcXHJcXG4gICAgLy8gICAgICAgICAnc3ViaXRlbV9lZGl0X3VybCcsXFxyXFxuICAgIC8vICAgICAgICAgJ3N1Yml0ZW1fZWRpdF9wYXNzd2QnLFxcclxcbiAgICAvLyAgICAgICAgICdzdWJpdGVtX2FjdGlvbicsXFxyXFxuICAgIC8vICAgICAgICAgJ3NvcnRfMV9wb3MnLFxcclxcbiAgICAvLyAgICAgICAgICdwYXRoc19raW5kJyxcXHJcXG4gICAgLy8gICAgICAgICAncGF0aHMnLFxcclxcbiAgICAvLyAgICAgICAgICdzaF9wYXRocycsXFxyXFxuICAgIC8vICAgICAgICAgJ2ZpbGVfYWN0aW9uJyxcXHJcXG4gICAgLy8gICAgICAgICAnc3RfaXRlbScsXFxyXFxuICAgIC8vICAgICAgICAgJ2V4cGlyZWRfZGF0ZScsXFxyXFxuICAgIC8vICAgICBdXFxyXFxuXFxyXFxuICAgIC8vICAgICBkX2l0ZW1zLmZvckVhY2goKGVsZV9pdGVtKSA9PiB7XFxyXFxuICAgIC8vICAgICAgICAgY2xlYXJJdGVtKGVsZV9pdGVtKVxcclxcbiAgICAvLyAgICAgfSlcXHJcXG5cXHJcXG4gICAgLy8gICAgIGRfdmFycy5mb3JFYWNoKChlbGVfdmFyKSA9PiB7XFxyXFxuICAgIC8vICAgICAgICAgY2xlYXJNeVZhcihlbGVfdmFyKVxcclxcbiAgICAvLyAgICAgfSlcXHJcXG5cXHJcXG4gICAgLy8gICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgLy8gICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/ph43nva5QaWtQYWvlsI/nqIvluo8nXFxyXFxuICAgIC8vIH0pLFxcclxcbn0pXFxyXFxuXFxyXFxuZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG4gICAgfSlcXHJcXG59XFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlN1YlNldHRpbmdcIixcInBhdGhcIjpcIlN1YlNldHRpbmdcIixcInJ1bGVcIjpcImpzOlxcclxcbnZhciB7IHBpa3Bha19pbml0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnBpa3Bha19pbml0KClcXHJcXG52YXIgcmVzID0gW11cXHJcXG5sZXQgc2hvd190eXBlID0gZ2V0UGFyYW0oJ3Nob3d0eXBlJywgJzAnKVxcclxcbmxldCBzaG93X3RpdGxlcyA9IFsn5pmu6YCa5re75YqgJywgJ+WumOaWueWkjeWItuWIhuS6q+a3u+WKoCcsICfmlofmnKznvJbovpHmt7vliqAnLCAn57yW6L6RUGlrUGFr5YiG5Lqr6ZO+5o6lJ11cXHJcXG5cXHJcXG5pZiAoc2hvd190eXBlID09IDMpIHtcXHJcXG4gICAgc2V0UGFnZVRpdGxlKGDnvJbovpHliIbkuqtgKVxcclxcbn0gZWxzZSB7XFxyXFxuICAgIHNldFBhZ2VUaXRsZShg5re75Yqg5YiG5LqrKCR7c2hvd190aXRsZXNbTnVtYmVyKHNob3dfdHlwZSldLnJlcGxhY2UoJ+a3u+WKoCcsICcnKX0pYClcXHJcXG59XFxyXFxuc3dpdGNoIChzaG93X3R5cGUpIHtcXHJcXG4gICAgY2FzZSAnMCc6XFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibmFtZScpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibGluaycpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VicGFzc3dkJylcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/Cfk50g5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0c3VibmFtZScsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfwn5SXIOWIhuS6q+mTvuaOpScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+WIhuS6q+mTvuaOpScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgZGVzYzogJ+ivt+i+k+WFpVBpa1Bha+WIhuS6q+mTvuaOpScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcigndHN1YmxpbmsnLCBpbnB1dClcXFwiLFxcclxcbiAgICAgICAgICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn8J+UkSDliIbkuqvlr4bnoIEnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgICAgICAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvlr4bnoIEnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGRlc2M6ICfor7fovpPlhaVQaWtQYWvliIbkuqvlr4bnoIEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RzdWJwYXNzd2QnLCBpbnB1dClcXFwiLFxcclxcbiAgICAgICAgICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgLy8g6Ze06ZqU5qCPXFxyXFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyBpKyspIHtcXHJcXG4gICAgICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfmt7vliqAnLFxcclxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJuYW1lID0gZ2V0TXlWYXIoJ3RzdWJuYW1lJylcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJsaW5rID0gZ2V0TXlWYXIoJ3RzdWJsaW5rJylcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJwYXNzd2QgPSBnZXRNeVZhcigndHN1YnBhc3N3ZCcpXFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IHN1Yl9jaGVjaywgc3ViX3JlYWRfbG9jYWwsIHN1Yl93cml0ZV9sb2NhbCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgaWYgKCF0c3VibmFtZSB8fCAhdHN1YmxpbmspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lkI3lrZflkozliIbkuqvpk77mjqXkuI3og73kuLrnqbonXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViX2NoZWNrKHRzdWJsaW5rKSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/lrZjlnKjnm7jlkIzliIbkuqvpk77mjqXvvIzlj6rog73ljrvnvJbovpHopobnm5YnXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVfbGlua191cmxzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRzdWJuYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdHN1YmxpbmssXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dkOiB0c3VicGFzc3dkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5re75Yqg5YiG5Lqr6ZO+5o6l5oiQ5YqfJ1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+a4heepuicsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcbiAgICAgICAgYnJlYWtcXHJcXG4gICAgY2FzZSAnMSc6XFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibmFtZScpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibGluaycpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VicGFzc3dkJylcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/Cfk50g5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0c3VibmFtZScsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfwn6aAIOi+k+WFpeS7juWumOaWueWkjeWItueahOWIhuS6q+mTvuaOpScsXFxyXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxcclxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IC0xLFxcclxcbiAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCd0c3VibGluaycsIGlucHV0KVxcclxcbiAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIC8vIOmXtOmalOagj1xcclxcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5re75YqgJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VibmFtZSA9IGdldE15VmFyKCd0c3VibmFtZScpXFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VibGluayA9IGdldE15VmFyKCd0c3VibGluaycpXFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VicGFzc3dkID0gZ2V0TXlWYXIoJ3RzdWJwYXNzd2QnKVxcclxcbiAgICAgICAgICAgICAgICB2YXIgeyBzdWJfY2hlY2ssIHN1Yl9yZWFkX2xvY2FsLCBzdWJfd3JpdGVfbG9jYWwsIHNoYXJlX3dlYl91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGlmICghdHN1Ym5hbWUgfHwgIXRzdWJsaW5rKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5ZCN5a2X5ZKM5YiG5Lqr6ZO+5o6l5LiN6IO95Li656m6J1xcclxcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHN1YmxpbmsgPSBzaGFyZV93ZWJfdXJsKHRzdWJsaW5rKVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1Yl9jaGVjayh0c3VibGluaykpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5a2Y5Zyo55u45ZCM5YiG5Lqr6ZO+5o6l77yM5Y+q6IO95Y6757yW6L6R6KaG55uWJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX2xpbmtfdXJscyA9IHN1Yl9yZWFkX2xvY2FsKClcXHJcXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJscy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0c3VibmFtZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHRzdWJsaW5rLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3ZDogdHN1YnBhc3N3ZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICBzdWJfd3JpdGVfbG9jYWwoc2hhcmVfbGlua191cmxzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+a3u+WKoOWIhuS6q+mTvuaOpeaIkOWKnydcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfmuIXnqbonLFxcclxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIGJyZWFrXFxyXFxuICAgIGNhc2UgJzMnOlxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1Ym5hbWUnKVxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1YmxpbmsnKVxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1YnBhc3N3ZCcpXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfwn5OdIOWIhuS6q+WQjeWtlycsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+WIhuS6q+WQjeWtlycsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgZGVzYzogJ+ivt+i+k+WFpVBpa1Bha+WIhuS6q+WQjeWtlycsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcignc3ViaXRlbV9lZGl0X25hbWUnLCAnJyksXFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RzdWJuYW1lJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/CflJcg5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKCdzdWJpdGVtX2VkaXRfdXJsJywgJycpLFxcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0c3VibGluaycsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfwn5SRIOWIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+WIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgZGVzYzogJ+ivt+i+k+WFpVBpa1Bha+WIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcignc3ViaXRlbV9lZGl0X3Bhc3N3ZCcsICcnKSxcXHJcXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcigndHN1YnBhc3N3ZCcsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAvLyDpl7TpmpTmoI9cXHJcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7IGkrKykge1xcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+S/ruaUuScsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1Ym5hbWUgPSBnZXRNeVZhcigndHN1Ym5hbWUnKVxcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1YmxpbmsgPSBnZXRNeVZhcigndHN1YmxpbmsnKVxcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1YnBhc3N3ZCA9IGdldE15VmFyKCd0c3VicGFzc3dkJylcXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgc3ViX2NoZWNrLCBzdWJfcmVhZF9sb2NhbCwgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcblxcclxcbiAgICAgICAgICAgICAgICBpZiAoIXRzdWJuYW1lIHx8ICF0c3VibGluaykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WQjeWtl+WSjOWIhuS6q+mTvuaOpeS4jeiDveS4uuepuidcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9saW5rX3VybHMgPSBzdWJfcmVhZF9sb2NhbCgpXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxfZXhpc3QgPSBmYWxzZVxcclxcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaGFyZV9saW5rX3VybHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodHN1YmxpbmsgPT0gc2hhcmVfbGlua191cmxzW2ldLnVybCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHNbaV0ubmFtZSA9IHRzdWJuYW1lXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJsX2V4aXN0ID0gdHJ1ZVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICghc2hhcmVfbGlua191cmxfZXhpc3QpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRzdWJuYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHRzdWJsaW5rLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd2Q6IHRzdWJwYXNzd2QsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBiYWNrKHRydWUpXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5L+u5pS55YiG5Lqr6ZO+5o6l5oiQ5YqfJ1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+i/mOWOnycsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcbiAgICAgICAgYnJlYWtcXHJcXG4gICAgZGVmYXVsdDpcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJuYW1lJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJsaW5rJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJwYXNzd2QnKVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBg8J+mgCDnm7TmjqXmlofmnKzmqKHlvI/nvJbovpHorqLpmIXmlofku7blhoXlrrk8YnIvPuagvOW8jzogPGJyLz5cXHJcXG5bPGJyLz5cXHJcXG4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt7PGJyLz5cXHJcXG4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtcXFwibmFtZVxcXCI6IFxcXCLnsonlprnnmoTliIbkuqtcXFwiLDxici8+XFxyXFxuJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7XFxcInVybFxcXCI6IFxcXCJodHRwczovL215cGlrcGFrLmNvbS9zLyoqKlxcXCIsPGJyLz5cXHJcXG4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtcXFwicGFzc3dkXFxcIjogXFxcImVtbW1cXFwiPGJyLz5cXHJcXG4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyLz5cXHJcXG5dYCxcXHJcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0YXJlYScsXFxyXFxuICAgICAgICAgICAgICAgIGhlaWdodDogOCxcXHJcXG4gICAgICAgICAgICAgICAgaGlnaGxpZ2h0OiB0cnVlLFxcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHJlYWRGaWxlKCdmbV9waWtwYWtfc3ViLnR4dCcsIDApLFxcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndHN1YmxpbmsnLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAvLyDpl7TpmpTmoI9cXHJcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+S/neWtmCcsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gZ2V0TXlWYXIoJ3RzdWJsaW5rJywgJycpXFxyXFxuICAgICAgICAgICAgICAgIGlmICghc2hhcmVfbGlua191cmxzKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHMgPSAnW10nXFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgc2hhcmVfbGlua191cmxzID0gZXZhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgIC8vIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+e8lui+keWIhuS6q+mTvuaOpeaIkOWKnydcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfov5jljp8nLFxcclxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgfSlcXHJcXG59XFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlN1Ykl0ZW1cIixcInBhdGhcIjpcIlN1Ykl0ZW1cIixcInJ1bGVcIjpcImpzOlxcclxcbnZhciB7IHBpa3Bha19pbml0LCBzdWJfcmVhZF9sb2NhbCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG52YXIgeyBzdHlsZV9jb2xvciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvRGVidWcnKVxcclxcbnBpa3Bha19pbml0KClcXHJcXG52YXIgcmVzID0gW11cXHJcXG5zZXRQYWdlVGl0bGUoJ+euoeeQhuWIhuS6qycpXFxyXFxubGV0IHNoYXJlX2xpbmtfdXJscyA9IHN1Yl9yZWFkX2xvY2FsKClcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiBg8J+TnSDlvZPliY3liIbkuqvmgLvmlbDkuLo6ICR7c3R5bGVfY29sb3Ioc2hhcmVfbGlua191cmxzLmxlbmd0aCArICfmnaEnLCAnIzI0QkI3NScsICdzdHJvbmcnKX1gLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcclxcbiAgICAvLyBwaWNfdXJsOiAnaHR0cHM6Ly9teXBpa3Bhay5jb20vZmF2aWNvbi0zMngzMi5wbmcnLFxcclxcbn0pXFxyXFxuXFxyXFxuZm9yIChsZXQgaSA9IDA7IGkgPCBzaGFyZV9saW5rX3VybHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgbGV0IHVybCA9ICQoWyfnvJbovpEnLCAn5paH5pys57yW6L6RJywgJ+WIoOmZpCcsICflpI3liLbliIbkuqsnLCAn5omL5Yqo5o6S5bqPJywgJ+aZuuiDveaOkuW6jyddLCAzKS5zZWxlY3QoKGkpID0+IHtcXHJcXG4gICAgICAgIHZhciB7IHN1Yl9yZWFkX2xvY2FsLCBzdWJfd3JpdGVfbG9jYWwsIHNoYXJlX3dlYl91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAgICAgc3dpdGNoIChNWV9JTkRFWCkge1xcclxcbiAgICAgICAgICAgIGNhc2UgMDpcXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3N1Yml0ZW1fZWRpdF9uYW1lJywgc2hhcmVfbGlua191cmxzW2ldLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzdWJpdGVtX2VkaXRfdXJsJywgc2hhcmVfbGlua191cmxzW2ldLnVybClcXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3N1Yml0ZW1fZWRpdF9wYXNzd2QnLCBzaGFyZV9saW5rX3VybHNbaV0ucGFzc3dkKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9TdWJTZXR0aW5nP3Nob3d0eXBlPTMjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJ1xcclxcbiAgICAgICAgICAgIGNhc2UgMTpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGBoaWtlcjovL3BhZ2UvU3ViU2V0dGluZz9zaG93dHlwZT0yI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5I2BcXHJcXG4gICAgICAgICAgICBjYXNlIDI6XFxyXFxuICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflsI/nqIvluo/mj5DnpLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpuWIoOmZpOWIhuS6q+mTvuaOpScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChpLCBzaGFyZV9saW5rX3VybHMpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHMuc3BsaWNlKGksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIoOmZpOWIhuS6q+mTvuaOpeaIkOWKnydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfbGlua191cmxzXFxyXFxuICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOWIoOmZpOWIhuS6q+mTvuaOpSdcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgIGNhc2UgMzpcXHJcXG4gICAgICAgICAgICAgICAgaWYgKHNoYXJlX2xpbmtfdXJsc1tpXS5wYXNzd2QpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfbGlua191cmxzW2ldLnVybH1cXFxcbuWvhueggTogJHtzaGFyZV9saW5rX3VybHNbaV0ucGFzc3dkfVxcXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX2xpbmtfdXJsc1tpXS51cmx9XFxcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vIHJldHVybiAnY29weTovLycgKyBzaGFyZV93ZWJfdXJsKHNoYXJlX2xpbmtfdXJsc1tpXS51cmwsIHNoYXJlX2xpbmtfdXJsc1tpXS5wYXNzd2QpXFxyXFxuICAgICAgICAgICAgY2FzZSA0OlxcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignc3ViaXRlbV9hY3Rpb24nLCAnc29ydCcpXFxyXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzb3J0XzFfcG9zJywgaSlcXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v6K+354K55Ye75L2g6KaB5pS+55qE5L2N572uJ1xcclxcbiAgICAgICAgICAgIC8vIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICB2YXIgeyBzb3J0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIGxldCBzaGFyZV9hdXRvX3NvcnRfbGlzdCA9IHNvcnRfaXRlbXNfbGlzdChzaGFyZV9saW5rX3VybHMsIDApXFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IHN1Yl93cml0ZV9sb2NhbCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgc3ViX3dyaXRlX2xvY2FsKHNoYXJlX2F1dG9fc29ydF9saXN0KVxcclxcbiAgICAgICAgICAgICAgICAvLyBzaGFyZV9hdXRvX3NvcnRfbGlzdC5mb3JFYWNoKChlbGUpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICQubG9nKGVsZS5uYW1lKVxcclxcbiAgICAgICAgICAgICAgICAvLyB9KVxcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmbrog73mjpLluo/miJDlip8nXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0sIGkpXFxyXFxuXFxyXFxuICAgIGlmIChnZXRNeVZhcignc3ViaXRlbV9hY3Rpb24nLCAnYnJvd3NlJykgPT0gJ3NvcnQnKSB7XFxyXFxuICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoKGkpID0+IHtcXHJcXG4gICAgICAgICAgICB2YXIgeyBzdWJfcmVhZF9sb2NhbCwgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgIGxldCBzaGFyZV9saW5rX3VybHMgPSBzdWJfcmVhZF9sb2NhbCgpXFxyXFxuICAgICAgICAgICAgbGV0IHNvcnRfMV9wb3MgPSBnZXRNeVZhcignc29ydF8xX3BvcycsICcwJylcXHJcXG4gICAgICAgICAgICBsZXQgdF9zaGFyZV9saW5rX3VybHMgPSBbXVxcclxcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2hhcmVfbGlua191cmxzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRfc2hhcmVfbGlua191cmxzLnB1c2goc2hhcmVfbGlua191cmxzW2ldKVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB0X3NoYXJlX2xpbmtfdXJsc1tzb3J0XzFfcG9zXSA9IHNoYXJlX2xpbmtfdXJsc1tpXVxcclxcbiAgICAgICAgICAgIHRfc2hhcmVfbGlua191cmxzW2ldID0gc2hhcmVfbGlua191cmxzW3NvcnRfMV9wb3NdXFxyXFxuICAgICAgICAgICAgc2hhcmVfbGlua191cmxzID0gdF9zaGFyZV9saW5rX3VybHNcXHJcXG4gICAgICAgICAgICBzdWJfd3JpdGVfbG9jYWwoc2hhcmVfbGlua191cmxzKVxcclxcbiAgICAgICAgICAgIHB1dE15VmFyKCdzdWJpdGVtX2FjdGlvbicsICdicm93c2UnKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9LCBpKVxcclxcbiAgICB9XFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIC8vIHRpdGxlOiBzaGFyZV9saW5rX3VybHNbaV0ubmFtZSxcXHJcXG4gICAgICAgIHRpdGxlOlxcclxcbiAgICAgICAgICAgIGkgK1xcclxcbiAgICAgICAgICAgIDEgK1xcclxcbiAgICAgICAgICAgICcuICcgK1xcclxcbiAgICAgICAgICAgIChnZXRNeVZhcignc3ViaXRlbV9hY3Rpb24nLCAnYnJvd3NlJykgPT0gJ3NvcnQnICYmIGdldE15VmFyKCdzb3J0XzFfcG9zJywgJzAnKSA9PSBpXFxyXFxuICAgICAgICAgICAgICAgID8gc3R5bGVfY29sb3Ioc2hhcmVfbGlua191cmxzW2ldLm5hbWUsICcjN0I2OEVFJywgJ3N0cm9uZycpLnJlcGxhY2UoJ+KAmOKAmOKAmeKAmScsICcnKVxcclxcbiAgICAgICAgICAgICAgICA6IHNoYXJlX2xpbmtfdXJsc1tpXS5uYW1lKSxcXHJcXG4gICAgICAgIGRlc2M6XFxyXFxuICAgICAgICAgICAgc2hhcmVfbGlua191cmxzW2ldLnVybC5yZXBsYWNlKCdodHRwczovL215cGlrcGFrLmNvbS9zLycsICcnKSArXFxyXFxuICAgICAgICAgICAgJygnICtcXHJcXG4gICAgICAgICAgICAoc2hhcmVfbGlua191cmxzW2ldLnBhc3N3ZCA/IHNoYXJlX2xpbmtfdXJsc1tpXS5wYXNzd2QgOiAn5pegJykgK1xcclxcbiAgICAgICAgICAgICcpJyxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnYXZhdGFyJyxcXHJcXG4gICAgICAgIHVybDogdXJsLFxcclxcbiAgICAgICAgcGljX3VybDogJ2h0dHBzOi8vbXlwaWtwYWsuY29tL2Zhdmljb24tMzJ4MzIucG5nJyxcXHJcXG4gICAgfSlcXHJcXG59XFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkNsb3VkSW1wb3J0XCIsXCJwYXRoXCI6XCJDbG91ZEltcG9ydFwiLFwicnVsZVwiOlwidmFyIHtjbG91ZF9pbXBvcnR9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvQVBJP3J1bGU957KJ5aa554ixUGlrUGFrXFxcIilcXHJcXG4kLmV4cG9ydHMgPSBjbG91ZF9pbXBvcnQoaW5wdXQpXFxyXFxuXCJ9XSIsImljb24iOiJodHRwczovL215cGlrcGFrLmNvbS9mYXZpY29uLTMyeDMyLnBuZyIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment