xiaomianao666

小程序:奈落影视

Nov 23rd, 2023
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@奈落影视@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5aWI6JC95b2x6KeGIiwiYXV0aG9yIjoieGl5ZSIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2h0dHBzOi8vbmV3ZmlpLmNvbS92b2RzaG93LzEtLS0tLS0tLWZ5cGFnZS0tLS5odG1sIiwidmVyc2lvbiI6MSwiY29sX3R5cGUiOiJtb3ZpZV8zIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJ2aWRlbyIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxudmFyIGQgPSBbXTtcbnZhciBnZXRSYW5nZUNvbG9ycyA9IGZ1bmN0aW9uKCkge8KgwqDCoMKgwqDCoMKgXG4gICAgcmV0dXJuICcjJyArICgnMDAwMDAnICsgKE1hdGgucmFuZG9tKCkgKiAweDEwMDAwMDAgPDwgMCkudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTYpO8KgwqDCoMKgwqBcbn1cblxuY29uc3Qg5YiG57G76aKc6ImyID0gZ2V0UmFuZ2VDb2xvcnMoKVxuY29uc3Qg5aSn57G75a6a5L2NID0gJy5uYXYtbWVudS1pdGVtcydcbmNvbnN0IOaLvOaOpeWIhuexuyA9ICcjbWFpbiYmLnNjcm9sbC1jb250ZW50LDE6bidcbmNvbnN0IOWwj+exu+WumuS9jSA9ICdib2R5JiZhOm5vdCg6bWF0Y2hlcyjpppbpobV85ryU5ZGYfOebtOaSrXznvZHlnYApKSdcbmNvbnN0IOWIhuexu+agh+mimCA9ICdhJiZUZXh0J1xuY29uc3Qg5YiG57G76ZO+5o6lID0gJ2EmJmhyZWYnXG5NWV9VUkwgPSBNWV9VUkwucmVwbGFjZSgnaGlrZXI6Ly9lbXB0eSMjJywgJycpXG5cbmxldCB0cnVlX3VybCA9IGdldFZhcihNWV9SVUxFLnVybCwgTVlfVVJMKVxuY29uc3QgcGFnZSA9IE1ZX1BBR0VcbmlmIChnZXRWYXIoTVlfUlVMRS51cmwpKSB7XG4gICAgdHJ1ZV91cmwgPSB0cnVlX3VybC5yZXBsYWNlKC92b2R0eXBlXFwvKC4qPylcXC5odG1sLywndm9kc2hvdy8kMS0tLS0tLS0tLS0tLmh0bWwnKS5yZXBsYWNlKCctLS0uaHRtbCcsIHBhZ2UgKyAnLS0tLmh0bWwnKS5yZXBsYWNlKC8oLS0tXFxkKy5odG1sKS8sIHBhZ2UgKyAnJDEnKVxufVxudmFyIGh0bWwgPSByZXF1ZXN0KHRydWVfdXJsKVxuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2R0ZmwnKSkucnVsZSlcbmNvbnN0IGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYubW9kdWxlLWl0ZW0nKVxubGlzdC5mb3JFYWNoKHZpZGVvID0+IHtcbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogcGRmaCh2aWRlbywgJ2EmJnRpdGxlJyksXG4gICAgICAgIGRlc2M6IHBkZmgodmlkZW8sICcubW9kdWxlLWl0ZW0tdGV4dCYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkKHZpZGVvLCAnaW1nJiZkYXRhLXNyYycpICsgXCJAUmVmZXJlcj1cIiArIHBkKHZpZGVvLCAnaW1nJiZkYXRhLXNyYycpLFxuICAgICAgICB1cmw6IHBkKHZpZGVvLCAnYSYmaHJlZicpICsgJyNpbW1lcnNpdmVUaGVtZSMnLFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzNfbWFycXVlZScsXG4gICAgfSlcbn0pXG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6Imh0dHBzOi8vbmV3ZmlpLmNvbS92b2RzZWFyY2gvKiotLS0tLS0tLS0tZnlwYWdlLS0tLmh0bWwiLCJncm91cCI6IiPvuI/ig6PlvbHop4YiLCJzZWFyY2hGaW5kIjoianM6XG52YXIgZCA9IFtdXG52YXIgbGlzdCA9IHBkZmEoZ2V0UmVzQ29kZSgpLCAnYm9keSYmLm1vZHVsZS1zZWFyY2gtaXRlbScpXG5saXN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHBkZmgoaXRlbSwgJ2gzJiZhJiZ0aXRsZScpLFxuICAgICAgICBkZXNjOiBwZGZoKGl0ZW0sICcudmlkZW8taW5mby1oZWFkZXItLWgzJiZUZXh0JyksXG4gICAgICAgIHBpY191cmw6IHBkZmgoaXRlbSwgJ2ltZyYmZGF0YS1zcmMnKSxcbiAgICAgICAgdXJsOiBwZChpdGVtLCAnYSwyJiZocmVmJykgKyAnI2ltbWVyc2l2ZVRoZW1lIycsXG4gICAgfSlcbn0pO1xuc2V0UmVzdWx0KGQpIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiJqczpcbnZhciBkID0gW107XG52YXIgaHRtbCA9IGdldFJlc0NvZGUoKTtcblxudmFyIGxhenkgPSAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgZnVuY3Rpb24gdG9VcmwocGxheVVybCkge1xuICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QocGxheVVybCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybCArIFwiO3tVc2VyLUFnZW50QE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvYmlsaS8udGVzdChwbGF5VXJsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGF5VXJsICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmICgvaXhpZ3VhLy50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYXlVcmwgKyBcIiNpc1ZpZGVvPXRydWUjXCIgKyBcIiMubXA0O3tSZWZlcmVyQGh0dHBzOi8vd3d3Lml4aWd1YS5jb20vJiZVc2VyLUFnZW50QE1vemlsbGEvNS4wfVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxheVVybDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBodG1sID0gcmVxdWVzdChpbnB1dCwge30pO1xuICAgICAgICB2YXIgcGxheWVyX2RhdGEgPSBKU09OLnBhcnNlKGh0bWwubWF0Y2goL3IgcGxheWVyXy4qPz0oLio/KTwvKVsxXSk7XG4gICAgICAgIHZhciBmcm8gPSBwbGF5ZXJfZGF0YS5mcm9tO1xuICAgICAgICB2YXIgcGxheVVybCA9IHBsYXllcl9kYXRhLnVybDtcblxuICAgICAgICBpZiAocGxheWVyX2RhdGEuZW5jcnlwdCA9PSAnMScpIHtcbiAgICAgICAgICAgIHBsYXlVcmwgPSB1bmVzY2FwZShwbGF5ZXJfZGF0YS51cmwpO1xuICAgICAgICB9IGVsc2UgaWYgKHBsYXllcl9kYXRhLmVuY3J5cHQgPT0gJzInKSB7XG4gICAgICAgICAgICBwbGF5VXJsID0gdW5lc2NhcGUoYmFzZTY0RGVjb2RlKHBsYXllcl9kYXRhLnVybCkpO1xuICAgICAgICB9O1xuICAgICAgICB2YXIgZXhjbHVkZSA9IC9wbGF5bTN1OHxtM3U4XFwudHZ8bWluXFwuY3NzfDQwNFxcLm0zdTh8XFwuY3NzLztcbiAgICAgICAgdmFyIGNvbnRhaW4gPSAvXFwubXA0fFxcLm0zdTh8XFwuZmx2fFxcLmF2aXxcXC5tcGVnfFxcLndtdnxcXC5tb3Z8XFwucm12YnxcXC5kYXR8cXFCRmRvd25sb2FkfG1pbWU9dmlkZW8lMkZ8dmlkZW9fbXA0LztcbiAgICAgICAgaWYgKCFleGNsdWRlLnRlc3QocGxheVVybCkgJiYgY29udGFpbi50ZXN0KHBsYXlVcmwpKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9VcmwocGxheVVybCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIganhVcmwgPSAnJztcbiAgICAgICAgdmFyIGp4SHRtbCA9IHJlcXVlc3QoanhVcmwsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcIlVzZXItQWdlbnRcIjogXCJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wKVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiXG4gICAgICAgIH0pO1xuICAgICAgICBldmFsKGp4SHRtbC5tYXRjaCgvdmFyIGNvbmZpZyA9IHtbXFxzXFxTXSo/fS8pWzBdICsgXCJcIik7XG4gICAgICAgIHZhciBhcGlVcmwgPSAnJztcbiAgICAgICAgdmFyIGFwaUh0bWwgPSByZXF1ZXN0KGFwaVVybCwge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjApXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiBcInVybD1cIiArIGNvbmZpZy51cmwgKyBcIiZ0aW1lPVwiICsgY29uZmlnLnRpbWUgKyBcIiZrZXk9XCIgKyBjb25maWcua2V5LFxuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGFwaUh0bWwpO1xuICAgICAgICBpZiAoanNvbi5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgcGxheVVybCA9IGpzb24udXJsO1xuICAgICAgICAgICAgcmV0dXJuIHRvVXJsKHBsYXlVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovLycgKyBqc29uLm1zZztcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy9zZXRFcnJvcihlKTtcbiAgICAgICAgc2hvd0xvYWRpbmcoXCLmraPlnKjov5vooYzmo4DntKLvvIzor7fnqI3lgJkuLi5cIik7XG4gICAgICAgIHZhciB2aWRlbyA9ICd4NVJ1bGU6Ly8nICsgaW5wdXQgKyAnQCcgKyAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgIC8vZmJhLmxvZyhmYmEuZ2V0VXJscygpKVxuICAgICAgICAgICAgdmFyIHVybHMgPSBfZ2V0VXJscygpXG4gICAgICAgICAgICB2YXIgZXhjbHVkZSA9IC9wbGF5bTN1OHxtM3U4XFwudHZ8bWluXFwuY3NzfDQwNFxcLm0zdTh8XFwuY3NzLztcbiAgICAgICAgICAgIHZhciBjb250YWluID0gL1xcLm1wNHxcXC5tM3U4fFxcLmZsdnxcXC5hdml8XFwubXBlZ3xcXC53bXZ8XFwubW92fFxcLnJtdmJ8XFwuZGF0fHFxQkZkb3dubG9hZHxtaW1lPXZpZGVvJTJGfHZpZGVvX21wNC87XG4gICAgICAgICAgICBmb3IgKHZhciBpIGluIHVybHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWV4Y2x1ZGUudGVzdCh1cmxzW2ldKSAmJiBjb250YWluLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZnlfYnJpZGdlX2FwcC5sb2codXJsc1tpXSlcbiAgICAgICAgICAgICAgICAgICAgaWYgKC9tZ3R2fHNvaHUvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMCl9XCI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL2JpbGkvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCI7e1VzZXItQWdlbnRATW96aWxsYS81LjAmJlJlZmVyZXJAaHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tfVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9peGlndWEvLnRlc3QodXJsc1tpXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldICsgXCIjaXNWaWRlbz10cnVlI1wiICsgXCIjLm1wNDt7UmVmZXJlckBodHRwczovL3d3dy5peGlndWEuY29tLyYmVXNlci1BZ2VudEBNb3ppbGxhLzUuMH1cIjtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxzW2ldXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdmlkZW87XG4gICAgfVxufSk7XG5cbi8v57q/6Lev5ZCN5YiX6KGo55qE5a6a5L2NXG52YXIgYXJ0cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJy5tb2R1bGUtdGFiLWNvbnRlbnQmJi50YWItaXRlbScpO1xuXG4vL+e6v+i3r+WQjeWIl+ihqOWQjeensOeahOWumuS9jVxudmFyIHRhYnMgPSBbXTtcbmZvciAodmFyIGkgaW4gYXJ0cykge1xuICAgIHRhYnMucHVzaChwYXJzZURvbUZvckh0bWwoYXJ0c1tpXSwgJ1RleHQnKSlcbn1cblxuLy/mkq3mlL7liJfooajnmoTliJfooajnmoTlrprkvY1cbnZhciBjb250cyA9IHBhcnNlRG9tRm9yQXJyYXkoaHRtbCwgJy5tb2R1bGUmJi5zY3JvbGwtY29udGVudCcpO1xudmFyIGxpc3RzID0gW107XG5mb3IgKHZhciBpIGluIGNvbnRzKSB7XG4gICAgdmFyIHRlbXAgPSBwYXJzZURvbUZvckFycmF5KGNvbnRzW2ldLCAnYm9keSYmYTpub3QoOmNvbnRhaW5zKOaOkuW6jykpJylcbiAgICBsaXN0cy5wdXNoKHRlbXApXG59XG5cbnZhciDnirbmgIEgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy52aWRlby1pbmZvLWF1eCYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpLnNsaWNlKDAsMjgpO1xuXG52YXIg5a+85ryUID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudmlkZW8taW5mby1pdGVtczpjb250YWlucyjlr7zmvJTvvJopJiZUZXh0JykucmVwbGFjZSgvXFwvL2csICcgJykuc2xpY2UoMCwyOCk7XG5cbnZhciDkuLvmvJQgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy52aWRlby1pbmZvLWl0ZW1zOmNvbnRhaW5zKOS4u+a8lO+8mikmJlRleHQnKS5yZXBsYWNlKC9cXC8vZywgJyAnKS5zbGljZSgwLDI4KTsgXG5cbnZhciDkuIrmmKAgPSBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy52aWRlby1pbmZvLWl0ZW1zOmNvbnRhaW5zKOS4iuaYoO+8mikmJlRleHQnKS5yZXBsYWNlKC9cXC8vZywgJyAnKS5zbGljZSgwLDI4KTtcblxudmFyIOabtOaWsCA9IHBhcnNlRG9tRm9ySHRtbChodG1sLCAnLnZpZGVvLWluZm8taXRlbXM6Y29udGFpbnMo5pu05paw77yaKSYmVGV4dCcpLnJlcGxhY2UoL1xcLy9nLCAnICcpLnNsaWNlKDAsMjgpO1xuXG52YXIg6K+E5YiGID0gcGFyc2VEb21Gb3JIdG1sKGh0bWwsICcudmlkZW8taW5mby1pdGVtczpjb250YWlucyjor4TliIbvvJopJiZUZXh0JykucmVwbGFjZSgvXFwvL2csICcgJykuc2xpY2UoMCwyOCk7XG5cbnZhciDlm77niYcgPSBwYXJzZURvbShodG1sLCAnI21haW4mJmltZyYmZGF0YS1zcmMnKTtcblxudmFyIENvbG9yID0gXCIjMDA5OUZGXCI7XG52YXIgQ29sb3IxID0gXCIjMDBDQzAwXCI7XG5cbmZ1bmN0aW9uIGdldEhlYWQodGl0bGUpIHtcbiAgICByZXR1cm4gJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XCInICsgQ29sb3IgKyAnXCI+JyArIHRpdGxlICsgJzwvZnJvbnQ+PC9zdHJvbmc+Jztcbn1cblxubGV0IGxpbmVfbW9kZWwgPSA4O1xubGV0IGxpbmVfdHlwZV9tb2RlbCA9ICdibGFua19ibG9jayc7XG5cbmQucHVzaCh7XG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+PGZvbnQgY29sb3I9XCIjMzMzMzk5XCI+JyArIOeKtuaAgSArICc8L2ZvbnQ+IFxcbiA8Zm9udCBjb2xvcj1cIiNGRkNDMzNcIj4nICsg5a+85ryUICsgJzwvZm9udD4gXFxuIDxmb250IGNvbG9yPVwiI0ZGRkZDQ1wiPicgKyDkuLvmvJQgKyAnPC9mb250Pjwvc21hbGw+JyxcbiAgICBkZXNjOiAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjQ0M2NjY2XCI+JyArIOS4iuaYoCArICc8L2ZvbnQ+IFxcbiA8Zm9udCBjb2xvcj1cIiM5OTk5RkZcIj4nICsg5pu05pawICsgJzwvZm9udD4gXFxuIDxmb250IGNvbG9yPVwiI0NDQ0MwMFwiPicgKyDor4TliIYgKyAnPC9mb250PicsXG4gICAgcGljX3VybDog5Zu+54mHLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAnbW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1cicsXG4gICAgZXh0cmE6IHtncmFkaWVudDogdHJ1ZX1cbn0pO1xuXG4vL+eugOS7i1xudmFyIGRlc2MgPSBwZGZhKGh0bWwsICdib2R5JiYudm9kX2NvbnRlbnQmJnNwYW46bWF0Y2hUZXh0JykubWFwKHg9PngucmVwbGFjZSgnPHA+JywnJykpO1xuZnVuY3Rpb24gc2V0RGVzYyhhcnIsIGRlc2MpIHtcbiAgICBmdW5jdGlvbiBjdXRzdHIoc3RyLCBsZW4pIHtcbiAgICAgICAgdmFyIHN0cl9sZW5ndGggPSAwO1xuICAgICAgICB2YXIgc3RyX2xlbiA9IDA7XG4gICAgICAgIHN0cl9jdXQgPSBuZXcgU3RyaW5nKCk7XG4gICAgICAgIHN0cl9sZW4gPSBzdHIubGVuZ3RoO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0cl9sZW47IGkrKykge1xuICAgICAgICAgICAgYSA9IHN0ci5jaGFyQXQoaSk7XG4gICAgICAgICAgICBzdHJfbGVuZ3RoKys7XG4gICAgICAgICAgICBpZiAoZXNjYXBlKGEpLmxlbmd0aCA+IDQpIHtcbiAgICAgICAgICAgICAgICAvL+S4reaWh+Wtl+espueahOmVv+W6pue7j+e8lueggeS5i+WQjuWkp+S6jjRcbiAgICAgICAgICAgICAgICBzdHJfbGVuZ3RoKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHJfY3V0ID0gc3RyX2N1dC5jb25jYXQoYSk7XG4gICAgICAgICAgICBpZiAoc3RyX2xlbmd0aCA+PSBsZW4pIHtcbiAgICAgICAgICAgICAgICAvL+i+vuWIsOebruagh+mVv+W6pu+8jOWNs+S4uuWtl+espuS4suWKoOS4iuecgeeVpeWPt+W5tui/lOWbnlxuICAgICAgICAgICAgICAgIHN0cl9jdXQgPSBzdHJfY3V0LmNvbmNhdChcIi4uLlwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyX2N1dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvL+WmguaenOWtl+espuS4sumVv+W6puWwj+S6jumcgOimgeijgeWIh+eahOmVv+W6pu+8jOebtOaOpei/lOWbnlxuICAgICAgICBpZiAoc3RyX2xlbmd0aCA8IGxlbikge1xuICAgICAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkZXNjID0gZGVzYy5qb2luKCc8YnI+Jyk7XG4gICAgaWYgKGRlc2MucmVwbGFjZSgvKDxicj58XFxzKykvZywgJycpLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgIHJldHVyblxuICAgIH1cbiAgICBkZXNjID0gJzxzbWFsbD48Zm9udCBjb2xvcj1cIiM4NTNEQzVcIj4nICsgZGVzYyArICc8L2ZvbnQ+PC9zbWFsbD4nO1xuICAgIGxldCBzZGVzYyA9IGN1dHN0cihkZXNjLCAxNDApO1xuICAgIGFyci5wdXNoKHtcbiAgICAgICAgdGl0bGU6ICc8Zm9udCBjb2xvcj1cIiNGRjAwMDBcIj4nICsgJ+WJp+aDheeugOS7iycgKyAnPC9mb250PjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwQ0MwMDtcIj48Yj48c21hbGw+JyArIHN0b3JhZ2UwLmdldEl0ZW0oJ2RzaG93JywgJ+WxleW8gCcpICsgJzwvc21hbGw+PC9iPjwvc3Bhbj46JyxcbiAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxuICAgICAgICBpbWc6ICdodHRwczovL2docHJveHkuY29tL2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9sczEyNTc4MTAwMy9sbXR1Ymlhby9tYWluL21vcmUvMzEucG5nJyxcbiAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKChkYywgc2RjKSA9PiB7XG4gICAgICAgICAgICB2YXIgZHMgPSBzdG9yYWdlMC5nZXRJdGVtKCdkc2hvdycsICflsZXlvIAnKTtcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGZpbmRJdGVtKCdkc2hvdycpLnRpdGxlO1xuICAgICAgICAgICAgaWYgKGRzID09ICflsZXlvIAnKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZTAuc2V0SXRlbSgnZHNob3cnLCAn5pS26LW3JylcbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtKCdkY29udGVudCcsIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICc8Zm9udCBjb2xvcj1cIiMwQUEzNDRcIj4nICsgZGMgKyc8L2ZvbnQ+JyxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHVwZGF0ZUl0ZW0oJ2RzaG93Jywge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUucmVwbGFjZSgn5bGV5byAJywgJ+aUtui1tycpXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB1cGRhdGVJdGVtXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ2RzaG93JywgJ+WxleW8gCcpXG4gICAgICAgICAgICAgICAgdXBkYXRlSXRlbSgnZGNvbnRlbnQnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnPGZvbnQgY29sb3I9XCIjQ0NDQ0NDXCI+JyArIHNkYyArJzwvZm9udD4nLFxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdXBkYXRlSXRlbSgnZHNob3cnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZS5yZXBsYWNlKCfmlLbotbcnLCAn5bGV5byAJylcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgfSwgZGVzYywgc2Rlc2MpLFxuICAgICAgICBleHRyYToge1xuICAgICAgICAgICAgaWQ6ICdkc2hvdycsXG4gICAgICAgIH1cbiAgICB9KVxuICAgIGFyci5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHN0b3JhZ2UwLmdldEl0ZW0oJ2RzaG93JywgJ+WxleW8gCcpID09ICflsZXlvIAnID8gc2Rlc2MgOiBkZXNjLFxuICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBpZDogJ2Rjb250ZW50JyxcbiAgICAgICAgICAgIGxpbmVTcGFjaW5nOiA4LFxuICAgICAgICAgICAgdGV4dFNpemU6IDE2LFxuICAgICAgICAgICAgbGluZVZpc2libGU6IHRydWUsXG4gICAgICAgIH1cbiAgICB9KVxufVxuc2V0RGVzYyhkLCBkZXNjKTtcblxuZC5wdXNoKHsgY29sX3R5cGU6ICdsaW5lJ1xufSk7XG5cbmZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6IGxpbmVfdHlwZV9tb2RlbFxuICAgIH0pXG59XG5cbi8v5aSE55CG5o6o6YCBVFZCb3ggc3RhcnRcbmxldCB0ZnB1c2ggPSBnZXRJdGVtKCd3ZWJwdXNoJywgJzAnKTtcbmQucHVzaCh7XG4gICAgdGl0bGU6IChnZXRJdGVtKCd3ZWJwdXNoJywgJzAnKSA9PSAnMScgPyAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjRkZBQjAwXCI+JyArICfljZXpm4bmjqjpgIHwn5+iJyArICc8L2ZvbnQ+JyA6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiNGRkFCMDBcIj4nICsgJ+WNlembhuaOqOmAgfCflLQnICsgJzwvZm9udD4nKSxcbiAgICB1cmw6IGBoaWtlcjovL2VtcHR5QGxhenlSdWxlPS5qczpnZXRJdGVtKCd3ZWJwdXNoJywnMCcpPT0nMSc/c2V0SXRlbSgnd2VicHVzaCcsJzAnKTpzZXRJdGVtKCd3ZWJwdXNoJywnMScpO3JlZnJlc2hQYWdlKCk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJ2AsXG5cbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXG59KTtcbmQucHVzaCh7XG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiNGRkFCMDBcIj4nICsgJ+iuvue9rueUteinhklQJyArICc8L2ZvbnQ+JyxcbiAgICB1cmw6IFwiaW5wdXQ6Ly9cIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcIi8vLy/or7fovpPlhaV0dmJveOaOqOmAgUlQ5Zyw5Z2A77yM5aaCaHR0cDovL1wiICsgZ2V0SVAoKSArIFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcIixcbiAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXG59KTtcbmQucHVzaCh7XG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiNGRkFCMDBcIj4nICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICcnKSArICc8L2ZvbnQ+JyxcbiAgICAvL3VybDogJ2hpa2VyOi8vZW1wdHknLFxuICAgIHVybDogXCJpbnB1dDovL1wiICsgZ2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsICdodHRwOi8vJyArIGdldElQKCkgKyAnOjk5NzgnKSArIFwiLy8vL+ivt+i+k+WFpXR2Ym945o6o6YCBSVDlnLDlnYDvvIzlpoJodHRwOi8vXCIgKyBnZXRJUCgpICsgXCI6OTk3OC5qczpzZXRJdGVtKCdoaWtlcnR2Ym94c2V0JyxpbnB1dCk7cmVmcmVzaFBhZ2UoKVwiLFxuICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcbn0pO1xuXG52YXIgcGxheVVybHMgPSAnJztcbmZvciAodmFyIGkgPSAwOyBpIDwgbGlzdHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2ldO1xuICAgIGZvciAodmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAoaiA9PSBsaXN0Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHBsYXlVcmxzICs9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpICsgXCIkXCIgKyBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgXCIkJCRcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBsYXlVcmxzICs9IHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpICsgXCIkXCIgKyBwYXJzZURvbShsaXN0W2pdLCAnYSYmaHJlZicpICsgXCIjXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnBsYXlVcmxzID0gcGxheVVybHMuc3Vic3RyaW5nKDAsIHBsYXlVcmxzLmxlbmd0aCAtIDMpO1xuLy9sb2cocGxheVVybHMpO1xuXG5sZXQgcHVzaCA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICBcIm5hbWVcIjogZ2V0UGFnZVRpdGxlKCksXG4gICAgXCJwaWNcIjogcGFyc2VEb20oaHRtbCwgJy5sYXp5bG9hZCYmZGF0YS1vcmlnaW5hbCcpLFxuICAgIFwiY29udGVudFwiOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJy5tb2R1bGUtaW5mby1pbnRyb2R1Y3Rpb24tY29udGVudCYmVGV4dCcpLFxuICAgIFwiZnJvbVwiOiB0YWJzLmpvaW4oJyQkJCcpLFxuICAgIFwidXJsXCI6IHBsYXlVcmxzLnJlcGxhY2UoL1xcJi9nLCAn77yG77yGJylcbn0pO1xuLy9sb2cocHVzaCk7XG5cbmQucHVzaCh7XG4gICAgdGl0bGU6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiNGRkFCMDBcIj4nICsgJ+aOqOmAgeW9k+WJjemhteWIl+ihqOWIsFRWQm94JyArICc8L2ZvbnQ+JyxcbiAgICB1cmw6ICQocHVzaCkubGF6eVJ1bGUoKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9wdXNoP3B1c2h1cmw9JyArIGVuY29kZVVSSUNvbXBvbmVudChpbnB1dCk7XG4gICAgfSksXG4gICAgY29sX3R5cGU6IFwic2Nyb2xsX2J1dHRvblwiXG59KTtcblxuZC5wdXNoKHsgY29sX3R5cGU6ICdsaW5lJ1xufSk7XG5cbmZvciAobGV0IGkgPSAwOyBpIDwgbGluZV9tb2RlbDsgaSsrKSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6IGxpbmVfdHlwZV9tb2RlbFxuICAgIH0pXG59XG5cbiAgICAvL+WkhOeQhuaOqOmAgVRWQm94IGVuZFxuXG5mdW5jdGlvbiBzZXRUYWJzKHRhYnMsIHZhcmkpIHtcbiAgICBmb3IgKHZhciBpIGluIHRhYnMpIHtcbiAgICAgICAgdmFyIHVybCA9IFwiI25vTG9hZGluZyNAbGF6eVJ1bGU9LmpzOnB1dFZhcignXCIgKyB2YXJpICsgXCInLCAnXCIgKyBpICsgXCInKTtyZWZyZXNoUGFnZShmYWxzZSk7J3RvYXN0Oi8v5YiH5o2i5oiQ5Yqf77yBJzsnI25vSGlzdG9yeSNoaWtlcjovL2VtcHR5J1wiO1xuICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGdldFZhcih2YXJpLCAnMCcpID09IGkgPyBnZXRIZWFkKHRhYnNbaV0pIDogdGFic1tpXSxcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xuICAgICAgICB9KVxuICAgIH1cbiAgICBkLnB1c2goeyBjb2xfdHlwZTogJ2xpbmUnXG59KTtcbn1cblxuZnVuY3Rpb24gc2V0TGlzdHMobGlzdHMsIGluZGV4KSB7XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lX2JsYW5rJ1xuICAgIH0pXG59XG5pZiAoZ2V0VmFyKCdzaHNvcnQnKSA9PSAnMScpIHtcbiAgICB2YXIgc3ggPSAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjMGFhMzQ0XCI+5o6S5bqPPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XCIjMGFhMzQ0XCI+4oaRPC9mb250Pjwvc21hbGw+JyArICc8c21hbGw+PGZvbnQgY29sb3I9XCIjZmY0YzAwXCI+4oaTPC9mb250Pjwvc21hbGw+Jztcbn0gZWxzZSB7XG4gICAgdmFyIHN4ID0gJ+KAmOKAmOKAmeKAmTxmb250IGNvbG9yPVwiI2ZmNGMwMFwiPuaOkuW6jzwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVwiI2ZmNGMwMFwiPuKGkTwvZm9udD48L3NtYWxsPicgKyAnPHNtYWxsPjxmb250IGNvbG9yPVwiIzBhYTM0NFwiPuKGkzwvZm9udD48L3NtYWxsPic7XG59XG5cbmZ1bmN0aW9uIHNldExpc3RzKGxpc3RzLCBpbmRleCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XCJjb2xvcjonICsgQ29sb3IxICsgJ1wiPjxzbWFsbD7pgInpm4bliJfooag8L3NtYWxsPicgKyAnXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0PHNwYW4gc3R5bGU9XCJmbG9hdDpyaWdodFwiPicgKyAnPHNtYWxsPicgKyBzeCArICc8L3NtYWxsPicsXG4gICAgICAgIHVybDogYCNub0xvYWRpbmcjQGxhenlSdWxlPS5qczpsZXQgY29uZiA9IGdldFZhcignc2hzb3J0Jyk7aWYoY29uZj09JzEnKXtwdXRWYXIoe2tleTonc2hzb3J0JywgdmFsdWU6JzAnfSk7fWVsc2V7cHV0VmFyKHtrZXk6J3Noc29ydCcsIHZhbHVlOicxJ30pfTtyZWZyZXNoUGFnZSgpOyd0b2FzdDovL+WIh+aNouaOkuW6j+aIkOWKnyc7JyNub0hpc3RvcnkjaGlrZXI6Ly9lbXB0eSdgLFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgfSlcbiAgICB2YXIgbGlzdCA9IGxpc3RzW2luZGV4XTtcblxuICAgIGlmIChnZXRWYXIoJ3Noc29ydCcpID09ICcxJykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZm9yICh2YXIgaiA9IGxpc3QubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHtcbiAgICAgICAgICAgICAgICBpZiAodGZwdXNoID09ICcwJykge1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiMwMDk5RkZcIj4nICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSArICc8L2ZvbnQ+JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJseCA9ICdoaWtlcjovL3BhZ2UvcHVzaD9wdXNodXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpY1wiOiBwYXJzZURvbShodG1sLCAnI21haW4mJmltZyYmZGF0YS1zcmMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udGVudFwiOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJ2JvZHkmJi52b2RfY29udGVudCYmc3BhbjptYXRjaFRleHQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidXJsXCI6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXh0cmF4ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjRkZBQjAwXCI+JyArIHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJykgKyAnPC9mb250PicsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybHgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmsqHmnInpgInpm4blk5/vvIzkuI3kv6Hngrnlm77niYfljrvnnIvnnIvwn5GAJyxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAodGZwdXNoID09ICcwJykge1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8Zm9udCBjb2xvcj1cIiMwMDk5RkZcIj4nICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JykucmVwbGFjZSgv56ysfOmbhnzor5185pyfL2csICcnKSArICc8L2ZvbnQ+JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcGFyc2VEb20obGlzdFtqXSwgJ2EmJmhyZWYnKSArIGxhenksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgdXJseCA9ICdoaWtlcjovL3BhZ2UvcHVzaD9wdXNodXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGdldFBhZ2VUaXRsZSgpICsgcGFyc2VEb21Gb3JIdG1sKGxpc3Rbal0sICdhJiZUZXh0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICBcInBpY1wiOiBwYXJzZURvbShodG1sLCAnI21haW4mJmltZyYmZGF0YS1zcmMnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY29udGVudFwiOiBwYXJzZURvbUZvckh0bWwoaHRtbCwgJ2JvZHkmJi52b2RfY29udGVudCYmc3BhbjptYXRjaFRleHQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidXJsXCI6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICB2YXIgZXh0cmF4ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHBhcnNlRG9tKGxpc3Rbal0sICdhJiZocmVmJylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn4oCY4oCY4oCZ4oCZPGZvbnQgY29sb3I9XCIjRkZBQjAwXCI+JyArIHBhcnNlRG9tRm9ySHRtbChsaXN0W2pdLCAnYSYmVGV4dCcpLnJlcGxhY2UoL+esrHzpm4Z86K+dfOacny9nLCAnJykgKyAnPC9mb250PicsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybHgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogbGlzdC5sZW5ndGggPiA0ID8gJ3RleHRfNScgOiAndGV4dF8yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhOiBleHRyYXhcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5rKh5pyJ6YCJ6ZuG5ZOf77yM5LiN5L+h54K55Zu+54mH5Y6755yL55yL8J+RgCcsXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbnNldFRhYnModGFicywgTVlfVVJMKTtcbnNldExpc3RzKGxpc3RzLCBnZXRWYXIoTVlfVVJMLCAnMCcpKTtcblxuZC5wdXNoKHsgY29sX3R5cGU6ICdsaW5lJ1xufSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiLFxuICAgIGV4dHJhOiB7XG4gICAgICAgIGlkOiBNWV9VUkwgKyBcImZvb3RlclwiXG4gICAgfVxufSk7XG5kLnB1c2goe1xuICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdPHNtYWxsPjxmb250IGNvbG9yPSM4NzFmNzg+5Lul5LiK5pWw5o2u5p2l5rqQ5LqO572R57uc77yM5aaC5oKo5Zac5qyi77yM6K+35pSv5oyB5a6Y5pa5PC9mb250Pjwvc21hbGw+JyxcbiAgICBkZXNjOiAn4oCc4oCc4oCd4oCdPHNtYWxsPjxmb250IGNvbG9yPSNmMjBjMDA+5q2k6KeE5YiZ5LuF6ZmQ5a2m5Lmg5Lqk5rWB5L2/55So77yM6K+35LqO5a+85YWl5ZCOMjTlsI/ml7blhoXliKDpmaTvvIzku7vkvZXnu4Tnu4fmiJbkuKrkurrkuI3lvpfku6Xku7vkvZXmlrnlvI/mlrnms5XkvKDmkq3mraTop4TliJnnmoTmlbTkvZPmiJbpg6jliIbvvIE8L2ZvbnQ+PC9zbWFsbD4nLFxuICAgIHVybDogTVlfVVJMLFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcbn0pO1xuZC5wdXNoKHtcbiAgICB0aXRsZTogJzxicj48c3Bhbj48Zm9udCBjb2xvcj1cIiNDQ0NDQ0NcIj4t5aWI6JC95b2x6KeGLeWFqOe9keacgOaWsOacgOWFqOeahOW9seinhjEwODBQ6auY5riF5YWN6LS55Ymn6ZuG5Zyo57q/6KeC55yLLTwvZm9udD48L3NwYW4+JyxcbiAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCcsXG4gICAgZXh0cmE6IHtsaW5lU3BhY2luZzoxMCx0ZXh0U2l6ZToxNH0sXG59KTtcbnNldFJlc3VsdChkKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLmjqjpgIFcIixcInBhdGhcIjpcInB1c2hcIixcInJ1bGVcIjpcImpzOlxcbmxldCBpdGVtcyA9IFtdO1xcbmxldCBwdXNoaW4gPSBkZWNvZGVVUklDb21wb25lbnQoZ2V0UGFyYW0oXFxcInB1c2h1cmxcXFwiKSk7XFxubGV0IHR2aXAgPSBnZXRJdGVtKCdoaWtlcnR2Ym94c2V0JywgJycpO1xcblxcbml0ZW1zLnB1c2goe1xcbiAgICB0aXRsZTogJ+W9k+WJjUlQ77yaJyArIHR2aXAsXFxuICAgIHVybDogXFxcImlucHV0Oi8vXFxcIiArIGdldEl0ZW0oJ2hpa2VydHZib3hzZXQnLCAnaHR0cDovLycgKyBnZXRJUCgpICsgJzo5OTc4JykgKyBcXFwiLy8vL+ivt+i+k+WFpVRWQm9456uv55qESVDlnLDlnYDvvIzlpoJodHRwOi8vXFxcIiArIGdldElQKCkgKyBcXFwiOjk5NzguanM6c2V0SXRlbSgnaGlrZXJ0dmJveHNldCcsaW5wdXQpO3JlZnJlc2hQYWdlKClcXFwiLFxcbiAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbn0pO1xcbnZhciBwdXJsID0gcHVzaGluO1xcblxcbmlmIChwdXNoaW4uaW5jbHVkZXMoJ1xcXFxuJykgJiYgIXB1c2hpbi5zdGFydHNXaXRoKCd7JykpIHtcXG4gICAgcHVybCA9IHB1c2hpbi5yZXBsYWNlKFxcXCJcXFxcblxcXCIsICckJyk7XFxufVxcbmlmIChwdXNoaW4uc3RhcnRzV2l0aCgnaHR0cCcpICYmIHB1c2hpbi5pbmNsdWRlcygnO3snKSkge1xcbiAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgXFxcIm5hbWVcXFwiOiBcXFwi5rW36ZiU55u06ZO+5o6o6YCBXFxcIixcXG4gICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW5cXG4gICAgfSlcXG59XFxuaWYgKHB1c2hpbi5zdGFydHNXaXRoKCdodHRwczovL3d3dy5hbGl5dW5kcml2ZS5jb20vcy8nKSkge1xcbiAgICBsZXQgcmVmdG9rZW4gPSBKU09OLnBhcnNlKGZldGNoKCdoaWtlcjovL2ZpbGVzL3J1bGVzL2ljeS9pY3ktYWxpLXRva2VuLmpzb24nLCB7fSkpWzBdLnJlZnJlc2hfdG9rZW47XFxuICAgIHB1cmwgPSBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBcXFwidXJsXFxcIjogcHVzaGluLFxcbiAgICAgICAgXFxcInJlZnJlc2hfdG9rZW5cXFwiOiByZWZ0b2tlblxcbiAgICB9KVxcbn1cXG5pZiAocHVzaGluLmluY2x1ZGVzKCc6NTIwMjAnKSkge1xcbiAgICBpZiAocHVzaGluLmluY2x1ZGVzKCdyZWRpcmVjdFBsYXlVcmwnKSkge1xcbiAgICAgICAgcHVybCA9IEpTT04uc3RyaW5naWZ5KHtcXG4gICAgICAgICAgICBcXFwibmFtZVxcXCI6IFxcXCLmtbfpmJTmipXlsY/nm7Tpk75cXFwiLFxcbiAgICAgICAgICAgIFxcXCJ1cmxcXFwiOiBwdXNoaW5cXG4gICAgICAgIH0pXFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBwdXJsID0gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgIFxcXCJuYW1lXFxcIjogXFxcIua1t+mYlOe9kemhteaKleWxj1xcXCIsXFxuICAgICAgICAgICAgXFxcInVybFxcXCI6IHB1c2hpblxcbiAgICAgICAgfSlcXG4gICAgfVxcbn1cXG5cXG4vL2xvZygn5o6o6YCBJytwdXJsKTtcXG52YXIgc3RhdGUgPSByZXF1ZXN0KHR2aXAgKyAnL2FjdGlvbicsIHtcXG4gICAgaGVhZGVyczoge1xcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxcbiAgICAgICAgLy8nWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcsXFxuICAgICAgICAnUmVmZXJlcic6IHR2aXBcXG4gICAgfSxcXG4gICAgdGltZW91dDogMjAwMCxcXG4gICAgYm9keTogJ2RvPXB1c2gmdXJsPScgKyBwdXJsLnJlcGxhY2UoL1xcXFwmL2csICfvvIbvvIYnKSxcXG4gICAgbWV0aG9kOiAnUE9TVCdcXG59KTtcXG4vL2xvZyhzdGF0ZSk7XFxuaWYgKHN0YXRlID09ICdvaycpIHtcXG4gICAgLy9sb2coc3RhdGUpO1xcbiAgICBpdGVtcy5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4pyFXFxcIiArIHN0YXRlLFxcbiAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pO1xcbn0gZWxzZSB7XFxuICAgIC8vbG9nKHN0YXRlKTtcXG4gICAgaXRlbXMucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIuKdjlxcXCIgKyBzdGF0ZSxcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIlxcbiAgICB9KTtcXG5cXG59XFxuc2V0UmVzdWx0KGl0ZW1zKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS4gOe6p+WKqOaAgVwiLFwicGF0aFwiOlwiZHRmbFwiLFwicnVsZVwiOlwiY29uc3QgZW1wdHkgPSBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG5cXG5pZiAodHlwZW9mKOaLvOaOpeWIhuexuykgIT0gJ3VuZGVmaW5lZCcgJiYg5ou85o6l5YiG57G7ICE9ICcnKSB7XFxuICAgIHZhciBjYXRlZ29yaWVzID0gcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpXFxufSBlbHNlIHtcXG4gICAgdmFyIGNhdGVnb3JpZXMgPSBwZGZhKGh0bWwsIOWkp+exu+WumuS9jSlcXG59XFxuXFxubGV0IGluaXRfY2F0ZSA9IFtdXFxuXFxuZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgaSsrKSB7XFxuICAgIGluaXRfY2F0ZS5wdXNoKFxcXCIwXFxcIilcXG59XFxuXFxuY29uc3QgZm9sZCA9IGdldFZhcihNWV9SVUxFLmdyb3VwLCBcXFwiMFxcXCIpXFxuY29uc3QgY2F0ZV90ZW1wX2pzb24gPSBnZXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkoaW5pdF9jYXRlKSlcXG5jb25zdCBjYXRlX3RlbXAgPSBKU09OLnBhcnNlKGNhdGVfdGVtcF9qc29uKVxcblxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGZvbGQgPT09ICcxJyA/ICfigJzigJzigJ3igJ08Yj4nICsgJ+KIqCcuZm9udGNvbG9yKFxcXCIjRkYwMDAwXFxcIikgKyAnPC9iPicgOiAn4oCc4oCc4oCd4oCdPGI+JyArICfiiKcnLmZvbnRjb2xvcihcXFwiIzFhYWQxOVxcXCIpICsgJzwvYj4nLFxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKGZvbGQpID0+IHtcXG4gICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS5ncm91cCwgZm9sZCA9PT0gJzEnID8gJzAnIDogJzEnKTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfSwgZm9sZCksXFxuICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICB9KVxcbiAgICBjYXRlZ29yaWVzLmZvckVhY2goKGNhdGVnb3J5LCBpbmRleCkgPT4ge1xcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gcGRmYShjYXRlZ29yeSwg5bCP57G75a6a5L2NKTtcXG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZijmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIilcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gXFxcIuKAnOKAnOKAneKAnVxcXCIgKyB0aXRsZS5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld19jYXRlID0gW11cXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wLmZvckVhY2goKGNhdGUsIGluZGV4KSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19jYXRlLnB1c2goaW5kZXggPT09IDAgPyBwYXJhbXMua2V5LnRvU3RyaW5nKCkgOiBcXFwiMFxcXCIpXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRWYXIoTVlfUlVMRS50aXRsZSwgSlNPTi5zdHJpbmdpZnkobmV3X2NhdGUpKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBrZXksXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcGFnZSxcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9IGVsc2UgaWYgKGZvbGQgPT09ICcxJykge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIOWIhuexu+agh+mimClcXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZijmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIilcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGtleS50b1N0cmluZygpID09PSBjYXRlX3RlbXBbaW5kZXhdID8gXFxcIuKAnOKAnOKAneKAnVxcXCIgKyB0aXRsZS5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKHBkKGl0ZW0sIOWIhuexu+mTvuaOpSkgKyAnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgocGFyYW1zKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcFtwYXJhbXMuaW5kZXhdID0gcGFyYW1zLmtleS50b1N0cmluZygpXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0VmFyKE1ZX1JVTEUudGl0bGUsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dFZhcihNWV9SVUxFLnVybCwgaW5wdXQpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZV90ZW1wOiBjYXRlX3RlbXAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHBhZ2UsXFxuICAgICAgICAgICAgICAgICAgICB9KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImJsYW5rX2Jsb2NrXFxcIlxcbiAgICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICB9KVxcbn1cIn1dIiwiaWNvbiI6Imh0dHBzOi8vbmV3ZmlpLmNvbS90ZW1wbGF0ZS9teG9uZS9pY28uaWNvIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment