Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@13听书@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiMTPlkKzkuaYiLCJhdXRob3IiOiIiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNodHRwczovL20udGluZzEzLmNvbS8iLCJ2ZXJzaW9uIjowLCJjb2xfdHlwZSI6Im1vdmllXzMiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InJlYWQiLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbnZhciByZXMgPSB7fTtcbnZhciBkID0gW107XG52YXIgaHRtbCA9IGZldGNoKE1ZX1VSTC5zcGxpdCgnIyMnKVsxXSk7XG52YXIgSWNvbl9wcmVmaXggPSAnaHR0cHM6Ly9sYW5tZWlndW9qaWFuZy5jb20vdHViaWFvL21vcmUvJztcbnZhciBjYXRlZ29yeV9JY29uID0gWyc5NC5wbmcnLCAnMTAucG5nJywgJzEzMy5wbmcnLCAnMTI5LnBuZycsIF07XG5cbi8v6L2u5pKtXG52YXIgbiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDYpO1xudmFyIGxpc3QgPSBwZGZhKGh0bWwsICcuZm9jdXNCb3gmJmxpOmhhcyhpbWcpJyk7XG5kLnB1c2goe1xuICAgIC8vdGl0bGU6IHBkZmgobGlzdFtuXSwgJ2ltZyYmYWx0JyksXG4gICAgaW1nOiBwZGZoKGxpc3Rbbl0sICdpbWcmJmRhdGEtb3JpZ2luYWwnKSxcbiAgICBkZXNjOiAnMCcsXG4gICAgdXJsOiBwZChsaXN0W25dLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlI0BydWxlPWpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9kZXRhaWxcIiknLFxuICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMScsXG4gICAgZXh0cmE6IHtcbiAgICAgICAgaWQ6ICdsdW5ibycsXG4gICAgfVxufSlcblxubGV0IGlkID0gJzEzdGluZ3NodSc7XG5sZXQgdGltZSA9IDYwMDA7XG5yZWdpc3RlclRhc2soaWQsIHRpbWUsICQudG9TdHJpbmcobGlzdCA9PiB7XG4gICAgdmFyIGkgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA2KTtcbiAgICB2YXIgaXRlbSA9IHtcbiAgICAgICAgLy90aXRsZTogcGRmaChsaXN0W2ldLCAnaW1nJiZhbHQnKSxcbiAgICAgICAgaW1nOiBwZGZoKGxpc3RbaV0sICdpbWcmJmRhdGEtb3JpZ2luYWwnKSxcbiAgICAgICAgdXJsOiAnaHR0cHM6Ly9tLnRpbmcxMy5jb20nICsgcGRmaChsaXN0W2ldLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMjYXV0b0NhY2hlI0BydWxlPWpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9kZXRhaWxcIiknLFxuICAgIH07XG4gICAgdXBkYXRlSXRlbSgnbHVuYm8nLCBpdGVtKTtcbn0sIGxpc3QpKTtcblxucGRmYShodG1sLCAnLmhvbWUtbmF2JiZhJykuc2xpY2UoMCwgNCkuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGl0ZW0sICdoNCYmVGV4dCcpLnJlcGxhY2UoJ+WQrOWNlScsICfkuabmnrYnKSxcbiAgICAgICAgaW1nOiBJY29uX3ByZWZpeCArIGNhdGVnb3J5X0ljb25baV0sXG4gICAgICAgIHVybDogcGQoaXRlbSwgJ2EmJmhyZWYnKSArICc/ZnlwYWdlQHJ1bGU9anM6JC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL2NsYXNzXCIpJyxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uXzQnXG4gICAgfSlcbn0pXG5cbnBkZmEoaHRtbCwgJ2JvZHkmJi5saXN0fHwubW9kdWxlJykuc2xpY2UoMCwgLTEpLmZvckVhY2goaXRlbSA9PiB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8Yj4nICsgcGRmaChpdGVtLCAnaDImJlRleHQnKSArICc8L2I+JyxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xuICAgIH0pXG4gICAgcGRmYShpdGVtLCAnYm9keSYmbGknKS5zbGljZSgwLCAxMikuZm9yRWFjaChsaXN0ID0+IHtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBwZGZoKGxpc3QsICdpbWcmJmFsdCcpLnJlcGxhY2UoJ+acieWjsOWwj+ivtCcsICcnKSxcbiAgICAgICAgICAgIGRlc2M6IHBkZmgobGlzdCwgJy5zY29yZSYmVGV4dCcpLFxuICAgICAgICAgICAgaW1nOiBwZGZoKGxpc3QsICdpbWcmJmRhdGEtb3JpZ2luYWwnKSxcbiAgICAgICAgICAgIHVybDogcGQobGlzdCwgJ2EmJmhyZWYnKSArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXCJoaWtlcjovL3BhZ2UvZGV0YWlsXCIpJyxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXG4gICAgICAgIH0pXG4gICAgfSlcbn0pXG5yZXMuZGF0YSA9IGQ7XG5zZXRIb21lUmVzdWx0KHJlcyk7Iiwic2VhcmNoX3VybCI6Ii9hcGkvYWpheC9zb2xpc3Q/d29yZD0qKiZ0eXBlPW5hbWUmcGFnZT1meXBhZ2Umb3JkZXI9MSIsImdyb3VwIjoi4pGk6Z+z6aKRIiwic2VhcmNoRmluZCI6ImpzOlxudmFyIHJlcyA9IHt9O1xudmFyIGQgPSBbXTtcbnZhciBkYXRhID0gSlNPTi5wYXJzZShnZXRSZXNDb2RlKCkpLmRhdGE7XG5kYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IGl0ZW0ubm92ZWwubmFtZSxcbiAgICAgICAgY29udGVudDogJ+aSremfs++8micgKyBpdGVtLmJveWluLm5hbWUgKyAnXFxu5pyA5paw77yaJyArIGl0ZW0ubm92ZWwubGFzdG5hbWUsXG4gICAgICAgIGRlc2M6IGl0ZW0ubm92ZWwuaXNvdmVybmFtZSArICcgLSAnICsgaXRlbS5ub3ZlbC5sYXN0dGltZSxcbiAgICAgICAgaW1nOiBpdGVtLm5vdmVsLmNvdmVyLFxuICAgICAgICB1cmw6IE1ZX0hPTUUgKyBpdGVtLm5vdmVsLnVybCArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXCJoaWtlcjovL3BhZ2UvZGV0YWlsXCIpJyxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpYycsXG4gICAgfSlcbn0pXG5yZXMuZGF0YSA9IGQ7XG5zZXRIb21lUmVzdWx0KHJlcyk7IiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoidmFyIHVzZXIgPSAn6LSm5Y+3JztcbnZhciBwd2QgPSAn5a+G56CBJztcblxuXG4vL+eci+WIsOWkp+S9rOmDveeUqOeahOWIq+eahOmqjOivgeeggeaOpeWPoyzkuI3nn6XpgZPog73og73kuI3og73lhazlvIDlj5Hov5nkuKos5omA5Lul5Yqg5a+G5LqGXG5ldmFsUHJpdmF0ZUpTKCcwOE9zMWZlVWV5dnIwdXdTaGU5MVZGdFMyMWF6L3NCY3RYdndlWi9xdEh4d0Z4aEliZkdQaEhwWjFyUTBMdGRONGprWXpBOVUrUW8vYWlxSmN3RDJhcTh4Vkpnc0lablYxbjNBdW94THBUeE9tTjNOMy83eEJUamhabnFUVEhkRCt1VktCb1JhMjFTTFJRRHY1T2NQMDhZYVZPZnB4V1gyRkhHRWJkUFA2azBvaVIwdWFDUTgyMEF6c2xrMlFISXo1MXNhUWVXeENDUzM5SE1IQWJhaFUzd1B5dFAxQWRYb0l5YndnM0VnQU5jaTlYaXhDQTNPc2NvUHBhM21tWURwb2lpYnNoMGNTa0JtWm03cFZEOC9VQVFOSDNNaDhaS0dVOTNLVEE4STloQ1pPYUVVZ3d0bXhDVitLMUJzQ3NNVHRkZDgrM2F5U2xtWHB6U2k4bVczTXVISVg3QlIySUxFNUhIQmZ4cmpva2RreE42dGpSRFBPN1VrSnY0MTVWNFdhQjIvVmtySmhYWnppbXpwb0ZzcVpETUVHZndOUWZYMDlzY2U0cHErMzQ3T2xETDdEdnp6c09RbksrL2JDYzRuK0p2N2RkWlE5dWx5eDZFU21pRlNZS0hNN1pKck81YzBaK1QvTnluYjZNRFgzMzZnaFEyS1VtUzY0VjNnSlZkYk5Na0lyNGpURWR6WUVXNjliWXJ2RFgzT3BQVXNVaFc1L0JCak9uYnd0SXdYNDl5cHZ4c2Z0WnR1S2JDVUpXaEhoQmlLTjgzOEx1WVJlTzFubFZtNEZmTWp6QW05Y0xENThnZ0dXaWNDM012cE5BSjdKaGlXT1dUWDJIN0VuRUpqRjFFKzdwdFJGQy80TUZPdG14Rm1BMVJ2d3d0UHhZcUQ1bGt1cnFiUThCYkRvcUdlOGIwZU15a2RLaGI4cUtPVXpwUXkrdzc4ODdEa0p5dnYyd25PSnd4K25sVzFmalpxV09aSlkwc1NEc3V4M2xnZlh2eHhuQTN5ck1aS0hzUjV5eXZMU05aV2Mvc0luL3ZXU0FIVTl1WmRSLy82UkNxdXREZnAwVTE5ZmJLYW01cWQrS2Vna2tFU09HOGtRUWVwVHJZQ0JUOUIydXlWSzZKVTNXZVBrM21LUytONmZpRkk0cHE4MnVyYWdDVFk1blVVSmVKRjJHTlJkTzI2ZXFDS3pDYUFqN1RCMVJxUU1SNTEwdXpGeVhFM3lndjlxTVBudVFtcEg1b2dLU0RMSzh0STFsWnord2lmKzlaSUFkVDJtYXh1Z0pXSFBMTzUwcFlZYS9QWThNc3J5MGpXVm5QN0NKLzcxa2dCMVBZZGxvS0J6am1qRG95V3ltQnFTOEtlYjFsU0hwOEpjY09PczVadG1pVGtlR0pBMFpYeGx4MTFsMHE0c3QxSFY4TjFlODJQZmFsbFJ0NFdkU29GRzI0cG1wdWFuZmlub0pKQkVqaHZKRUVIcVlaMmhaejlwYUFBOTY1eVJDUlQ2RlJrWU9mT09yTDl2MmV3alFEYW5SWWVxM2Q3RDZuaEc3b2VOOFZqcDFLWjF0N1FTOGxWNnRnSDFhVjg0L3hRSDJMdzh2OVBKYWhKNUFvUEpYNHRqdjdhYTVicUNyRGlUVE1GeDBPeDNMN2ZTODZVTXZzTy9QT3c1Q2NyNzlzSnppZTJZcS9IeXJSMVZjamphRE9XaWpKRjlQbTN4Y2ZJZTJBWU5OQURMT25JaWw1TU15UEdSWURtN2pxa01SbGRpODUyUjh3dTFwTlFRdkRyMWFYYVV5VVB3dEJORFJBcy9XWjZLdGZRZnJ3ekRpNGIzOGJndi9zdUh4TmNLSXJaditYRzJuWVVyaGM4aUN2NnVvdVd1L0JGbTY4RlFGV0RvU3kzYkRFc05FSlIwYURrS2ZOd0lGN0xBRmVhTjVCMWdnVjVORnRHelExQk04VDkzdEZYWlZqOVZDRjZlRlBHaWJYUWhxUEtIUUQxNDUvdmhiT1dTUmF4ODFrZzZTdmNIdzNEb1hTcWdSZVVQWkplY29uYkhnQ3Uva0dNTHNRamRvMzdUcUVLdFJvVHNFK2V6eFp6YjN6WU5BK0NONXR5TWhmb2FWbEExZk54VU0zZVZ1b2dZOEVTcmZkLzJKczU1LzdZYTlKNXRudWRzVVVBaTVWeXpHRHZJVG5uQ1p0WXZ1NDk5RGdNVkx6c1RDZlY3bTE3RElTNVJtUjFRVjF0bXpsUkNIdlcxWHFwUjNpM2I2Y093U2xxZHhMcUd1RnZtOFBuU0JEYTJqc01tQ3VITW5WODh0NFJBSjd4QUNuQXJlWEdFVlVnNm1jQTNlMFdRLzB5czJEOFBSdENBNmpXTTBLNVFrbjZsbUR2MGZyZU4zdWxqbDFHQ2hZWEg5NHJ1b1YzQ1Y1Vm52VHFwZlRFTUxTL3d5TURhTkFHTDJNRko4bGdIRWdmWVV3b0l5blh2RS9UUElKSU1pOXZJUE9PN2xxaGk2bkhXMGdvT3ZpcFRmTXNMQ0ZUT1BRUUx3SDc5cGk0SjFwSTBKM2Q1YTRaV0swOThqM0JLUklIRmpmbEtjTS9zbWU1ekprOEtKeGdPWFRweS85NnFEbnJueCtEUG1qOWwyUkVyMnY1b2VlRjFBWCtaT3M5UFNlUlI3UC84SVY1RHhOVUZiY0ZVZzY4K0VWTkxtT1E4akNuUlViS0x1SUI0Qm1qQjloNlZYSGo5REVYcFdXOUt5UUJ5RkFqcEdSQmlHZnVoT3J6TWF0UWlUcEZFL3RlaklHeXBaVURUU0p0d1VFR05kV1V5TkFTdUMxQ0dmRVYrdWZxb25aQ016cUJ4WHBFZ3RJTGRwZVlnd21wU3VneHFjcEFKaGhqcXprOWtTc1VkdmV3Q0hGcW94US9yZmR6RHloV0tpOFdpdEJhNVV5VkFUdENmdHZib3RHb29ob2R0ZDRQOUowYUVmZXZDd1FpRXpPM2hqMmxCOEFYRmpRQWlWY1VITFk3WVlhbmNVeUNUU0ZJeVdYTERIc3BEK0VwWFdkL2hTU0htbUFwb25NRE1keGEwVnJheGRpRk9DWWc4UEwvVHlXb1NlUUtEeVYrTFk3KzJyRHZxblMwbVRYT2RsU3haQ01DS3lZUFViM2tHOUpaVUlZb3RyallDYW9OaFR0cWE1R3dYSG1wVEttMVQwa0R0MFowT0VXbUdWZFMvK0MxcWp1SENlZm03OVZ1RlNKNFJUMVhIMGdGWDZtMFZmYW5haHMveTBpWnhjU0wwUEpBY1E9PScpIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuexu+Wei1wiLFwicGF0aFwiOlwiY2xhc3NcIixcInJ1bGVcIjpcImpzOlxcbnZhciByZXMgPSB7fTtcXG52YXIgZCA9IFtdO1xcblxcbmZ1bmN0aW9uIGNvbG9yKGEsIGIsIHR4dCkge1xcbiAgICByZXR1cm4gYSA9PSBiID8gJ+KAnOKAnOKAneKAnTxiPjxmb250IGNvbG9yPSNGQTcyOTg+JyArIHR4dCArICc8L2ZvbnQ+PC9iPicgOiB0eHRcXG59XFxudmFyIHVybCA9IE1ZX1VSTC5zcGxpdCgnPycpWzBdO1xcbnZhciBodG1sID0gZ2V0UmVzQ29kZSgpO1xcbnN3aXRjaCAodXJsKSB7XFxuXFxuICAgIC8v5YiG57G7XFxuICAgIGNhc2UgJ2h0dHBzOi8vbS50aW5nMTMuY29tL2Jvb2svJzpcXG4gICAgICAgIGlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgICAgICAgICBwZGZhKGh0bWwsICdib2R5JiYucGQtbW9kdWxlLWJveCcpLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxiPicgKyBwZGZoKGl0ZW0sICdhJiZUZXh0JykgKyAnPC9iPicsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICBwZGZhKGl0ZW0sICdib2R5JiZkZCcpLmZvckVhY2gobGlzdCA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBwZGZoKGxpc3QsICdhJiZUZXh0JyksXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBwZChsaXN0LCAnYSYmaHJlZicpICsgJz9meXBhZ2VAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9saXN0XFxcIiknLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIC8v5o6S6KGMXFxuICAgIGNhc2UgJ2h0dHBzOi8vbS50aW5nMTMuY29tL3BhaWhhbmcvYWxsdmlzaXQuaHRtbCc6XFxuICAgICAgICBpZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICAgICAgICAgcGRmYShodG1sLCAnbmF2JiZhJykuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgdmFyIHR5cGUgPSBwZChpdGVtLCAnYSYmaHJlZicpLm1hdGNoKC9wYWloYW5nXFxcXC8oLio/KVxcXFwuaHRtbC8pWzFdO1xcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGNvbG9yKGdldE15VmFyKCd0b3AnLCAnYWxsdmlzaXQnKSwgdHlwZSwgcGRmaChpdGVtLCAnYSYmVGV4dCcpKSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSh0eXBlID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndG9wJywgdHlwZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgICAgIH0sIHR5cGUpLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJ1xcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoZmV0Y2goJ2h0dHBzOi8vbS50aW5nMTMuY29tL2FwaS9hamF4L3RvcGxpc3Q/c29ydD0xJnR5cGU9JyArIGdldE15VmFyKCd0b3AnLCAnYWxsdmlzaXQnKSArICcmcGFnZT0nICsgTVlfUEFHRSkpO1xcbiAgICAgICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLm5vdmVsLm5hbWUsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGl0ZW0uYm95aW4ubmFtZSArICcgLSAnICsgaXRlbS5ub3ZlbC5pc292ZXIsXFxuICAgICAgICAgICAgICAgIGltZzogaXRlbS5ub3ZlbC5jb3ZlcixcXG4gICAgICAgICAgICAgICAgdXJsOiBNWV9IT01FICsgaXRlbS5ub3ZlbC51cmwgKyAnI2ltbWVyc2l2ZVRoZW1lIyNhdXRvQ2FjaGUjQHJ1bGU9anM6JC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsXFxcIiknLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzMnLFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgICAvL+WujOe7k1xcbiAgICBjYXNlICdodHRwczovL20udGluZzEzLmNvbS9vdmVyL3Bvc3RkYXRlLyc6XFxuICAgICAgICBpZiAoTVlfUEFHRSA9PSAxKSB7XFxuICAgICAgICAgICAgcGRmYShodG1sLCAnbmF2JiZhJykuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgdmFyIHR5cGUgPSBwZChpdGVtLCAnYSYmaHJlZicpLm1hdGNoKC9vdmVyXFxcXC8oLio/KVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogY29sb3IoZ2V0TXlWYXIoJ3dqJywgJ3Bvc3RkYXRlJyksIHR5cGUsIHBkZmgoaXRlbSwgJ2EmJlRleHQnKSksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUodHlwZSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3dqJywgdHlwZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgICAgIH0sIHR5cGUpLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJ1xcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoZmV0Y2goJ2h0dHBzOi8vbS50aW5nMTMuY29tL2FwaS9hamF4L3RvcGxpc3Q/c29ydD0yJnR5cGU9JyArIGdldE15VmFyKCd3aicsICdwb3N0ZGF0ZScpICsgJyZwYWdlPScgKyBNWV9QQUdFKSk7XFxuICAgICAgICBkYXRhLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubm92ZWwubmFtZSxcXG4gICAgICAgICAgICAgICAgZGVzYzogaXRlbS5ib3lpbi5uYW1lICsgJyAtICcgKyBpdGVtLm5vdmVsLmlzb3ZlcixcXG4gICAgICAgICAgICAgICAgaW1nOiBpdGVtLm5vdmVsLmNvdmVyLFxcbiAgICAgICAgICAgICAgICB1cmw6IE1ZX0hPTUUgKyBpdGVtLm5vdmVsLnVybCArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxcXFwiKScsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnbW92aWVfMycsXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIC8v5Lmm5p62XFxuICAgIGNhc2UgJ2h0dHBzOi8vbS50aW5nMTMuY29tL3podWFudGkuaHRtbCc6XFxuICAgICAgICBpZiAoZ2V0SXRlbSgnbXlib29rJywgJycpKSB7XFxuICAgICAgICAgICAgaHRtbCA9IGZldGNoKCdodHRwOi8vbS50aW5nMTMuY29tL3VzZXIvbWFyay9pbmRleC5odG1sJywge1xcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICBDb29raWU6IGdldEl0ZW0oJ2Nvb2tpZScpXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+KAnOKAnCcgKyBwZGZoKGh0bWwsICcubW9kdWxlLXRpdGxlJiZUZXh0JykgKyAn4oCd4oCdJyxcXG4gICAgICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IFt7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdOWFs+mXreS5puaetlxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbSgnbXlib29rJylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3QoJ+S5puaetuW3suWFs+mXrScpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgICAgICB9XVxcbiAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgcGRmYShodG1sLCAnLmJvb2stb2wmJmxpJykuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgdmFyIHVybCA9IHBkKGl0ZW0sICdhJiZocmVmJyk7XFxuICAgICAgICAgICAgICAgIHZhciBpZCA9IHVybC5tYXRjaCgvXFxcXC8oXFxcXGQrKVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxiPjxmb250IGNvbG9yPVxcXCIjNjQ5NUVEXFxcIj4nICsgcGRmaChpdGVtLCAnYSYmdGl0bGUnKS5yZXBsYWNlKCfmnInlo7DlsI/or7QnLCAnJykgKyAnPC9mb250PjwvYj4nLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogJ+KAmOKAmFxcXFxuXFxcXG4nICsgcGRmaChpdGVtLCAnLmJvb2stZGVzYyYmVGV4dCcpICsgJ+KAmeKAmScsXFxuICAgICAgICAgICAgICAgICAgICBpbWc6IHBkZmgoaXRlbSwgJ2ltZyYmc3JjJyksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxcXFwiKScsXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljJyxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1xcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx05Yig6Zmk5pys5LmmXFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHQnLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaWQpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaHR0cHM6Ly9tLnRpbmcxMy5jb20vdXNlci9tYXJrL2RlbC5odG1sP25vdmVsaWQ9JyArIGlkO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvb2tpZTogZ2V0SXRlbSgnY29va2llJylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgaWQpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1dXFxuICAgICAgICAgICAgICAgICAgICB9LFxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5ZCv55So5Lmm5p62JyxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ215Ym9vaycsICcxJyk7XFxuICAgICAgICAgICAgICAgICAgICB0b2FzdCgn5Lmm5p625bey5ZCv55SoJylcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICAgICAgYnJlYWs7XFxufVxcbnJlcy5kYXRhID0gZDtcXG5zZXRIb21lUmVzdWx0KHJlcyk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLliJfooahcIixcInBhdGhcIjpcImxpc3RcIixcInJ1bGVcIjpcImpzOlxcbnZhciByZXMgPSB7fTtcXG52YXIgZCA9IFtdO1xcblxcbmZ1bmN0aW9uIGNvbG9yKGEsIGIsIHR4dCkge1xcbiAgICByZXR1cm4gYSA9PSBiID8gJ+KAnOKAnOKAneKAnTxiPjxmb250IGNvbG9yPSNGQTcyOTg+JyArIHR4dCArICc8L2ZvbnQ+PC9iPicgOiB0eHRcXG59XFxudmFyIGh0bWwgPSBnZXRSZXNDb2RlKCk7XFxuZXZhbChwZGZoKGh0bWwsICdib2R5JiZzY3JpcHQmJkh0bWwnKSlcXG5pZiAoIU1ZX1VSTC5pbmNsdWRlcygncGFpaGFuZycpKSB7XFxuICAgIGlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgICAgIGxldCBvcmRlciA9IHtcXG4gICAgICAgICAgICAn5pyA5pawJzogJzEnLFxcbiAgICAgICAgICAgICfmlrDkuaYnOiAnMycsXFxuICAgICAgICAgICAgJ+S6uuawlCc6ICcyJ1xcbiAgICAgICAgfTtcXG4gICAgICAgIC8v5o6S5bqPXFxuICAgICAgICBmb3IgKHZhciBpIGluIG9yZGVyKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGNvbG9yKGdldE15VmFyKCdvcmRlcicsICcxJyksIG9yZGVyW2ldLCBpKSxcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKG9yZGVyID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdvcmRlcicsIG9yZGVyKTtcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgICAgICAgICAgfSwgb3JkZXJbaV0pLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICAvL+aLvOaOpeWPguaVsFxcbiAgICB2YXIgdXJsID0gJ2h0dHBzOi8vbS50aW5nMTMuY29tL2FwaS9hamF4L2xpc3QnO1xcbiAgICB2YXIgYm9keSA9ICd0b2tlbj0nICsgX0FQSV9LRVlTICsgJyZ0aW1lPScgKyBfQVBJX1RJICsgJyZzb3J0PScgKyBfX0FQSV9TT1JUICsgJyZrZXk9JyArIF9fQVBJX0tFWSArICcmb3JkZXI9JyArIGdldE15VmFyKCdvcmRlcicsICcxJykgKyAnJnBhZ2U9JyArIE1ZX1BBR0U7XFxuICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZShwb3N0KHVybCwge1xcbiAgICAgICAgYm9keTogYm9keVxcbiAgICB9KSkubGlzdDtcXG4gICAgZGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+KAmOKAmOKAmeKAmTxiPicgKyBpdGVtLm5vdmVsLm5hbWUgKyAnPC9iPicgKyAn4oCY4oCY4oCZ4oCZXFxcXG5cXFxcbjxmb250IGNvbG9yPVxcXCIjMDA0ZTY2XFxcIj48c21hbGw+5pKt6Z+z77yaJyArIGl0ZW0uYm95aW4ubmFtZSArICc8L3NtYWxsPjwvZm9udD4nLFxcbiAgICAgICAgICAgIGRlc2M6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzAwNGU2NlxcXCI+5pyA5paw77yaJyArIGl0ZW0ubm92ZWwubGFzdG5hbWUgKyAoaXRlbS5ub3ZlbC5sYXN0bmFtZS5sZW5ndGggPiAxOCA/ICdcXFxcbicgOiAnXFxcXG5cXFxcbicpICsgaXRlbS5ub3ZlbC5pc292ZXJuYW1lICsgJyAtICcgKyBpdGVtLm5vdmVsLmxhc3R0aW1lICsgJzwvZm9udD4nLFxcbiAgICAgICAgICAgIGltZzogaXRlbS5ub3ZlbC5jb3ZlcixcXG4gICAgICAgICAgICB1cmw6IE1ZX0hPTUUgKyBpdGVtLm5vdmVsLnVybCArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxcXFwiKScsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8xX3ZlcnRpY2FsX3BpYycsXFxuICAgICAgICB9KVxcbiAgICB9KVxcbn0gZWxzZSB7XFxuICAgIGlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgICAgIHBkZmEoaHRtbCwgJ25hdiYmYScpLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgdmFyIHR5cGUgPSBwZChpdGVtLCAnYSYmaHJlZicpLm1hdGNoKC9wYWloYW5nXFxcXC8oLio/KVxcXFwuaHRtbC8pWzFdO1xcbiAgICAgICAgICAgIHZhciBtciA9IE1ZX1VSTC5tYXRjaCgvcGFpaGFuZ1xcXFwvKC4qPylcXFxcLmh0bWwvKVsxXTtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogY29sb3IoZ2V0TXlWYXIoJ2N0b3AnLCBtciksIHR5cGUsIHBkZmgoaXRlbSwgJ2EmJlRleHQnKSksXFxuICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSh0eXBlID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdjdG9wJywgdHlwZSk7XFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgIH0sIHR5cGUpLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiAnbGluZSdcXG4gICAgICAgIH0pXFxuICAgIH1cXG4gICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKGZldGNoKCdodHRwczovL20udGluZzEzLmNvbS9hcGkvYWpheC90b3BsaXN0P3NvcnQ9MSZ0eXBlPScgKyBnZXRNeVZhcignY3RvcCcsICdhbGx2aXNpdCcpICsgJyZwYWdlPScgKyBNWV9QQUdFKSk7XFxuICAgIGRhdGEuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubm92ZWwubmFtZSxcXG4gICAgICAgICAgICBkZXNjOiBpdGVtLmJveWluLm5hbWUgKyAnIC0gJyArIGl0ZW0ubm92ZWwuaXNvdmVyLFxcbiAgICAgICAgICAgIGltZzogaXRlbS5ub3ZlbC5jb3ZlcixcXG4gICAgICAgICAgICB1cmw6IE1ZX0hPTUUgKyBpdGVtLm5vdmVsLnVybCArICcjaW1tZXJzaXZlVGhlbWUjI2F1dG9DYWNoZSNAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9kZXRhaWxcXFwiKScsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXG4gICAgICAgIH0pXFxuICAgIH0pXFxuICAgIGFkZExpc3RlbmVyKCdvbkNsb3NlJywgKCkgPT4ge1xcbiAgICAgICAgY2xlYXJNeVZhcignbHJjJylcXG4gICAgfSlcXG59XFxucmVzLmRhdGEgPSBkO1xcbnNldEhvbWVSZXN1bHQocmVzKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuivpuaDhVwiLFwicGF0aFwiOlwiZGV0YWlsXCIsXCJydWxlXCI6XCJqczpcXG52YXIgcmVzID0ge307XFxudmFyIGQgPSBbXTtcXG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcXG4vL+iuvue9ruagh+mimFxcbnNldFBhZ2VUaXRsZShwZGZoKGh0bWwsICcuYm9vayYmaW1nJiZhbHQnKSlcXG4vL+aooeWdl+eahOmXtOi3nVxcbmxldCBsaW5lX21vZGVsID0gODtcXG4vL+aooeWdl+mXtOi3neexu+Wei1xcbmxldCBsaW5lX3R5cGVfbW9kZWwgPSAnYmxhbmtfYmxvY2snO1xcbi8v5YWN5ZeFXFxuZXZhbChKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL3BhZ2UvbGF6eScpKS5ydWxlKTtcXG52YXIgdGFicyA9IFtdO1xcbnZhciBsaXN0cyA9IFtdO1xcbnZhciBsaXN0c3MgPSBbXTtcXG52YXIgYXJ0cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJy5qdW1wLWxpc3QmJm9wdGlvbicpO1xcbmlmIChhcnRzID09ICcnKSB7XFxuICAgIHRhYnMgPSBbJ+WFqOmDqOeroOiKgiddO1xcbiAgICBsaXN0cy5wdXNoKHBkZmEoaHRtbCwgJy5wbGF5LWxpc3QmJmEnKSlcXG59IGVsc2VcXG5pZiAoZ2V0SXRlbSgnZnVsbCcsICcnKSkge1xcbiAgICB0YWJzID0gWyflhajpg6jnq6DoioInXTtcXG4gICAgYXJ0cy5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgcGRmYShmZXRjaChwZChpdGVtLCAnb3B0aW9uJiZ2YWx1ZScpKSwgJy5wbGF5LWxpc3QmJmEnKS5mb3JFYWNoKGxpc3QgPT4ge1xcbiAgICAgICAgICAgIGxpc3Rzcy5wdXNoKGxpc3QpXFxuICAgICAgICB9KVxcbiAgICAgICAgbGlzdHMucHVzaChsaXN0c3MpXFxuICAgIH0pXFxufSBlbHNlIHtcXG4gICAgZm9yICh2YXIgaSBpbiBhcnRzKSB7wqDCoFxcbiAgICAgICAgdGFicy5wdXNoKHBhcnNlRG9tRm9ySHRtbChhcnRzW2ldLCAnVGV4dCcpKVxcbiAgICB9XFxuICAgIGFydHMuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgIGxpc3RzLnB1c2gocGQoaXRlbSwgJ29wdGlvbiYmdmFsdWUnKSlcXG4gICAgfSlcXG59XFxuXFxudmFyIGRldGFpbCA9IFtdO1xcbnBkZmEoaHRtbCwgJ2JvZHkmJi5ib29rLXJhbmQtYScpLmZvckVhY2goaXRlbSA9PiB7XFxuICAgIGRldGFpbC5wdXNoKHBkZmgoaXRlbSwgJ1RleHQnKSlcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBkZXRhaWwuc2xpY2UoMiwgNCkuam9pbignXFxcXG4nKSxcXG4gICAgZGVzYzogZGV0YWlsWzBdICsgJ1xcXFxuJyArIGRldGFpbFsxXSArICdcXFxcbicgKyBkZXRhaWxbNF0sXFxuICAgIGltZzogcGRmaChodG1sLCAnLmJvb2smJmltZyYmc3JjJyksXFxuICAgIHVybDogTVlfVVJMLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcbiAgICDCoMKgZXh0cmE6IHtcXG4gICAgICAgIGdyYWRpZW50OiB0cnVlXFxuICAgIH1cXG59KVxcblxcbnZhciBkZXNjID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcuYm9vay1kZXMmJlRleHQnKS5zbGljZSgyKTvCoFxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjZmYxNDhlOGVcXFwiPuW9seeJh+eugOS7i++8micgKyBkZXNjLnN1YnN0cigwLCA1MCkgKyAnLi4uPC9mb250PjxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj7mn6XnnIvor6bmg4U8L2ZvbnQ+PC9zbWFsbD48L3NtYWxsPicsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHkjJyArICdcXFxcblxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0JyArIGRlc2MgKyBgQHJ1bGU9anM6dmFyIHJlcyA9IHt9OyB2YXIgZCA9IFtdO2QucHVzaCh7dGl0bGU6J+W9seeJh+eugOS7i++8micrIE1ZX1VSTC5zcGxpdCgnaGlrZXI6Ly9lbXB0eSMnKVsxXSxjb2xfdHlwZTogJ2xvbmdfdGV4dCd9KTtyZXMuZGF0YSA9IGQ7IHNldEhvbWVSZXN1bHQocmVzKTtgLFxcbiAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG59KTtcXG5cXG5mb3IgKGxldCBpID0gMDsgaSA8IGxpbmVfbW9kZWw7IGkrKykge8KgwqDCoMKgXFxuICAgIGQucHVzaCh7wqDCoMKgwqDCoMKgXFxuICAgICAgICBjb2xfdHlwZTogbGluZV90eXBlX21vZGVswqDCoMKgwqBcXG4gICAgfSnCoFxcbn1cXG5cXG5mdW5jdGlvbiBzZXRUYWJzKHRhYnMsIHZhcmkpIHtcXG4gICAgZC5wdXNoKHvCoMKgwqDCoMKgwqBcXG4gICAgICAgIHRpdGxlOiAn4oCY4oCY5Yqg5YWl5Lmm5p624oCZ4oCZJyxcXG4gICAgICAgIMKgwqDCoMKgwqDCoHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSh1cmwgPT4ge1xcbiAgICAgICAgICAgIGlmIChnZXRJdGVtKCdteWJvb2snLCAnJykpIHtcXG4gICAgICAgICAgICAgICAgdmFyIG5pZCA9IHVybC5tYXRjaCgvXFxcXC8oXFxcXGQrKVxcXFwvLylbMV07XFxuICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaHR0cHM6Ly9tLnRpbmcxMy5jb20vdXNlci9wdWJsaWMvYWpheG1hcms/bm92ZWxpZD0nICsgbmlkICsgJyZ1c2VyaWQ9MjIzMjInO1xcbiAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZmV0Y2godXJsLCB7XFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llOiBnZXRJdGVtKCdjb29raWUnKVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KSk7XFxuICAgICAgICAgICAgICAgIHRvYXN0KGh0bWwubXNnKVxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgdG9hc3QoJ+S5puaetuacquWQr+eUqCcpXFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXG4gICAgICAgIH0sIE1ZX1VSTCksXFxuICAgICAgICDCoMKgwqBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBsb25nQ2xpY2s6IFt7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAndGV4dF8xJyxcXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbSgnY29sJywgJ3RleHRfMScpXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5YiH5o2i5YiwJyArIGlucHV0XFxuICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICd0ZXh0XzInLFxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCdjb2wnLCAndGV4dF8yJylcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/liIfmjaLliLAnICsgaW5wdXRcXG4gICAgICAgICAgICAgICAgfSksXFxuICAgICAgICAgICAgfSwge1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3RleHRfMycsXFxuICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ2NvbCcsICd0ZXh0XzMnKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIh+aNouWIsCcgKyBpbnB1dFxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnZmxleF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCdjb2wnLCAnZmxleF9idXR0b24nKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIh+aNouWIsCcgKyBpbnB1dFxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSxcXG4gICAgfSnCoMKgwqDCoFxcblxcbiAgICB2YXIgdGl0bGUgPSAnJzvCoMKgwqDCoFxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhYnMubGVuZ3RoOyBpKyspIHvCoMKgwqDCoMKgwqBcXG4gICAgICAgIHZhciB1cmwgPSBcXFwiaGlrZXI6Ly9lbXB0eSNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpwdXRWYXIoJ1xcXCIgKyB2YXJpICsgXFxcIicsICdcXFwiICsgaSArIFxcXCInKTtyZWZyZXNoUGFnZSgpOydoaWtlcjovL2VtcHR5J1xcXCI7wqDCoMKgwqDCoMKgXFxuICAgICAgICBkLnB1c2goe8KgwqDCoMKgwqDCoMKgwqBcXG4gICAgICAgICAgICB0aXRsZTogZ2V0VmFyKHZhcmksICcwJykgPT0gaSA/ICfigJzigJwnICsgdGFic1tpXSArICfigJ3igJ0nIDogdGFic1tpXSxcXG4gICAgICAgICAgICDCoMKgwqDCoMKgwqDCoMKgdXJsOiB1cmwsXFxuICAgICAgICAgICAgwqDCoMKgwqDCoMKgwqDCoGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbifCoMKgwqDCoMKgwqBcXG4gICAgICAgIH0pwqDCoMKgwqBcXG4gICAgfcKgwqDCoMKgXFxuICAgIGQucHVzaCh7wqDCoMKgwqDCoMKgXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmVfYmxhbmsnwqDCoMKgwqBcXG4gICAgfSnCoMKgXFxufVxcbnZhciBDb2xvciA9IFxcXCIjZjEzYjY2YVxcXCI7XFxudmFyIENvbG9yMSA9IFxcXCIjMDk4QUMxXFxcIjtcXG5cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZV9ibGFuaydcXG4gICAgfSlcXG59XFxuaWYgKGdldFZhcignc2hzb3J0JykgPT0gJzEnKSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiNmZjRjMDBcXFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMGFhMzQ0XFxcIj7ihpM8L2ZvbnQ+PC9zbWFsbD4nO1xcbn0gZWxzZSB7XFxuICAgIHZhciBzeCA9ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cXFwiIzBhYTM0NFxcXCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XFxcIiNmZjRjMDBcXFwiPuKGkzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVxcXCIjMGFhMzQ0XFxcIj7ihpE8L2ZvbnQ+PC9zbWFsbD4nO1xcbn1cXG5cXG5mdW5jdGlvbiBzZXRMaXN0cyhsaXN0cywgaW5kZXgpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XFxcImNvbG9yOicgKyBDb2xvcjEgKyAnXFxcIj48c21hbGw+56ug6IqC5YiX6KGoPC9zbWFsbD4nICsgJ1xcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdDxzcGFuIHN0eWxlPVxcXCJmbG9hdDpyaWdodFxcXCI+JyArICc8c21hbGw+JyArIHN4ICsgJzwvc21hbGw+JyxcXG4gICAgICAgIHVybDogYCNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnyc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdgLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+WFqOmDqOeroOiKgicsXFxuICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIHNldEl0ZW0oJ2Z1bGwnLCAnMScpXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5YiH5o2i5YiwJyArIGlucHV0XFxuICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIH0sIHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfnq6DoioLliIbpobUnLFxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBjbGVhckl0ZW0oJ2Z1bGwnKVxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WIh+aNouWIsCcgKyBpbnB1dFxcbiAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICB9XVxcbiAgICAgICAgfSxcXG4gICAgfSlcXG5cXG4gICAgaWYgKGdldEl0ZW0oJ2Z1bGwnLCAnJykpIHtcXG4gICAgICAgIHZhciBsaXN0ID0gbGlzdHNbaW5kZXhdXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBpZiAobGlzdHMubGVuZ3RoID09IDEpIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgbGlzdCA9IHBkZmEoZmV0Y2gobGlzdHNbaW5kZXhdKSwgJy5wbGF5LWxpc3QmJmEnKTtcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IGxpc3QubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgICAgICAgICAgdmFyIGJ0ID0gcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0Jyk7XFxuICAgICAgICAgICAgICAgIHZhciB0eHQgPSBwYXJzZURvbUZvckh0bWwobGlzdFtqXSwgJ3NwYW4mJlRleHQnKVxcbiAgICAgICAgICAgICAgICB2YXIgdXJsID0gcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKTtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBidC5yZXBsYWNlKHR4dCwgJycpLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwgKyBsYXp5LFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IGdldEl0ZW0oJ2NvbCcsICd0ZXh0XzEnKSxcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHVybCxcXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IFt7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5Yqg5YWl5Lmm5p62JyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHVybCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEl0ZW0oJ215Ym9vaycsICcnKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuaWQgPSB1cmwubWF0Y2goL3BsYXlcXFxcLyhcXFxcZCspXFxcXF8vKVsxXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2lkID0gdXJsLm1hdGNoKC9cXFxcZCtcXFxcXyhcXFxcZCspXFxcXC5odG1sLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9ICdodHRwczovL20udGluZzEzLmNvbS91c2VyL3B1YmxpYy9hamF4bWFyaz9ub3ZlbGlkPScgKyBuaWQgKyAnJmNoYXB0ZXJpZD0nICsgY2lkICsgJyZ1c2VyaWQ9MjIzMjInO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gSlNPTi5wYXJzZShmZXRjaCh1cmwsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29va2llOiBnZXRJdGVtKCdjb29raWUnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0KGh0bWwubXNnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3QoJ+S5puaetuacquWQr+eUqCcpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHVybCksXFxuICAgICAgICAgICAgICAgICAgICAgICAgfV1cXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsaXN0Lmxlbmd0aDsgaisrKSB7XFxuICAgICAgICAgICAgICAgIHZhciBidCA9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpO1xcbiAgICAgICAgICAgICAgICB2YXIgdHh0ID0gcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdzcGFuJiZUZXh0JylcXG4gICAgICAgICAgICAgICAgdmFyIHVybCA9IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJyk7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogYnQucmVwbGFjZSh0eHQsICcnKSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogdXJsICsgbGF6eSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBnZXRJdGVtKCdjb2wnLCAndGV4dF8xJyksXFxuICAgICAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB1cmwsXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+WKoOWFpeS5puaeticsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCh1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRJdGVtKCdteWJvb2snLCAnJykpIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbmlkID0gdXJsLm1hdGNoKC9wbGF5XFxcXC8oXFxcXGQrKVxcXFxfLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNpZCA9IHVybC5tYXRjaCgvXFxcXGQrXFxcXF8oXFxcXGQrKVxcXFwuaHRtbC8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnaHR0cHM6Ly9tLnRpbmcxMy5jb20vdXNlci9wdWJsaWMvYWpheG1hcms/bm92ZWxpZD0nICsgbmlkICsgJyZjaGFwdGVyaWQ9JyArIGNpZCArICcmdXNlcmlkPTIyMzIyJztcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9IEpTT04ucGFyc2UoZmV0Y2godXJsLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvb2tpZTogZ2V0SXRlbSgnY29va2llJylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2FzdChodG1sLm1zZylcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0KCfkuabmnrbmnKrlkK/nlKgnKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB1cmwpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1dXFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+ayoeaciemAiembhuWTn++8jOS4jeS/oeeCueWbvueJh+WOu+eci+eci/CfkYAnLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuXFxuICAgIH1cXG59XFxuXFxuc2V0VGFicyh0YWJzLCBNWV9VUkwpO1xcbnNldExpc3RzKGxpc3RzLCBnZXRWYXIoTVlfVVJMLCAnMCcpKTtcXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLop6PmnpBcIixcInBhdGhcIjpcImxhenlcIixcInJ1bGVcIjpcInZhciBsYXp5ID0gJChcXFwiXFxcIikubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAvL3ZhciBuaWQgPSBpbnB1dC5tYXRjaCgvcGxheVxcXFwvKFxcXFxkKylcXFxcXy8pWzFdO1xcbiAgICAvL3ZhciBjaWQgPSBpbnB1dC5tYXRjaCgvXFxcXGQrXFxcXF8oXFxcXGQrKVxcXFwuaHRtbC8pWzFdO1xcbiAgICB2YXIgaHRtbCA9IGZldGNoKGlucHV0KTtcXG4gICAgdmFyIG5pZCA9IHBkZmgoaHRtbCwgJ21ldGEsMTImJmNvbnRlbnQnKTtcXG4gICAgdmFyIGNpZCA9IHBkZmgoaHRtbCwgJ21ldGEsMTMmJmNvbnRlbnQnKTtcXG4gICAgdmFyIHNjID0gcGRmaChodG1sLCAnbWV0YSwxNCYmY29udGVudCcpO1xcbiAgICB2YXIgdXJsID0gJ2h0dHBzOi8vbS50aW5nMTMuY29tL2FwaS9tYXBpL3BsYXknO1xcbiAgICB2YXIgYm9keSA9ICduaWQ9JyArIG5pZCArICcmY2lkPScgKyBjaWQ7XFxuICAgIHZhciBtdXNpYyA9IEpTT04ucGFyc2UocG9zdCh1cmwsIHtcXG4gICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICBzYzogc2NcXG4gICAgICAgIH0sXFxuICAgICAgICBib2R5OiBib2R5XFxuICAgIH0pKS51cmw7XFxuICAgIHJldHVybiBtdXNpY1xcbn0pO1wifV0iLCJpY29uIjoiaHR0cHM6Ly9tLnRpbmcxMy5jb20vZmF2aWNvbi5pY28iLCJwcm94eSI6IiJ9
Add Comment
Please, Sign In to add comment