Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@成人tiktok@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5oiQ5Lq6dGlrdG9rIiwiYXV0aG9yIjoi5rWB6IuPIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIiwidmVyc2lvbiI6NSwiY29sX3R5cGUiOiJtb3ZpZV8yIiwiY2xhc3NfbmFtZSI6IiIsInR5cGUiOiJ2aWRlbyIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOiBcbnZhciBkID0gW107XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2hvbWUnKSkucnVsZSk7XG5zZXRSZXN1bHQoZCkiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eT9wYWdlPWZ5cGFnZSZrdz0qKiIsImdyb3VwIjoiR0hTIiwic2VhcmNoRmluZCI6ImpzOiBcbiQucmVxdWlyZShcInNlYWNoXCIpIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMiIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiKiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJhZXNcIixcInBhdGhcIjpcImFlc1wiLFwicnVsZVwiOlwiLy/liqDovb1DcnlwdG9KU+W6k1xcbmV2YWwoZ2V0Q3J5cHRvSlMoKSlcXG4vL+eUn+aIkOaXtumXtOaIs1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lc3RhbXAoKSB7XFxuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcXG59XFxuLy9tZDXliqDlr4ZcXG5mdW5jdGlvbiBtZDUoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcbn1cXG4vL3NoYTI1NuWKoOWvhlxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XFxufVxcbi8vIOino+WvhuWHveaVsFxcbmZ1bmN0aW9uIERlY3J5cHQod29yZCkge1xcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwidEpxa29pSlh2RDdVQ1UzaVxcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCJoNzlsa2ljamVxd2tvNW5kXFxcIik7XFxuICAgIGxldCBlbmNyeXB0ZWRIZXhTdHIgPSBDcnlwdG9KUy5lbmMuQmFzZTY0LnBhcnNlKHdvcmQpO1xcbiAgICBsZXQgZGVjcnlwdCA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KHtcXG4gICAgICAgIGNpcGhlcnRleHQ6IGVuY3J5cHRlZEhleFN0clxcbiAgICB9LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIGlmIChkZWNyeXB0KSB7XFxuICAgICAgICBsZXQgZGVjcnlwdGVkU3RyID0gZGVjcnlwdC50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XFxuICAgICAgICByZXR1cm4gZGVjcnlwdGVkU3RyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8g6Kej5a+G5aSx6LSl77yM6L+U5ZuebnVsbOaIlumUmeivr+S/oeaBr1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG59XFxuXFxuLy8g5Yqg5a+G5Ye95pWwXFxuZnVuY3Rpb24gRW5jcnlwdChwbGFpbnRleHQpIHtcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcInRKcWtvaUpYdkQ3VUNVM2lcXFwiKTtcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiaDc5bGtpY2plcXdrbzVuZFxcXCIpO1xcbiAgICB2YXIgZW5jcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQocGxhaW50ZXh0LCBrZXksIHtcXG4gICAgICAgIGl2OiBpdixcXG4gICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxcbiAgICAgICAgcGFkZGluZzogQ3J5cHRvSlMucGFkLlBrY3M3IC8vIOazqOaEj+i/memHjOW6lOivpeaYr0NyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgfSk7XFxuICAgIHZhciBjaXBoZXJ0ZXh0ID0gZW5jcnlwdGVkLmNpcGhlcnRleHQudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkJhc2U2NCk7XFxuICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xcbn1cXG5cXG52YXIgbGF6eSA9ICQoJycpLmltYWdlKCgpID0+IHtcXG5jb25zdCBDcnlwdG9VdGlsID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL2Fzc2V0cy9jcnlwdG8tamF2YS5qc1xcXCIpO1xcblxcdGxldCBrZXkgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXCJmNWQ5NjVkZjc1MzM2MjcwXFxcIik7XFxuXFx0bGV0IGl2ID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlVVRGOChcXFwiOTdiNjAzOTRhYmMyZmJlMVxcXCIpO1xcblxcdGxldCB0ZXh0RGF0YSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZUlucHV0U3RyZWFtKGlucHV0KTtcXG5cXHRsZXQgZW5jcnlwdGVkID0gQ3J5cHRvVXRpbC5BRVMuZGVjcnlwdCh0ZXh0RGF0YSwga2V5LCB7XFxuICBcXHRtb2RlOiBcXFwiQUVTL0NCQy9QS0NTN1BhZGRpbmdcXFwiLFxcblxcdFxcdGl2OiBpdlxcblxcdH0pO1xcblxcdHJldHVybiBlbmNyeXB0ZWQudG9JbnB1dFN0cmVhbSgpO1xcbn0pXFxuXFxuZnVuY3Rpb24gcG9zdCh1cmwsZGF0YTApe1xcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IFxcbnZhciBkYXRhID0gRW5jcnlwdChkYXRhMCk7XFxudmFyIHNpZ24gPSBtZDUoc2hhMjU2KCdkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ3RKcWtvaUpYdkQ3VUNVM2knKSk7IC8vbG9nKHNpZ24pXFxudmFyIGJvZHkgPSAndGltZXN0YW1wPScrdCsnJmRhdGE9JytkYXRhKycmc2lnbj0nK3NpZ247IFxcbi8vbG9nKGJvZHkpXFxudmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcXG4gICAgaGVhZGVyczoge1xcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXFxuICAgJ2RvY3VtZW50LXVybCc6Jy9hcGkucGhwL2FwaS9ob21lL2dldGNvbmZpZydcXG4gICAgfSxcXG4gICAgYm9keTogYm9keSxcXG4gICAgbWV0aG9kOiAnUE9TVCdcXG59KTsgXFxuLy9sb2coaHRtbClcXG5cXG5sZXQgaHRtbDEgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGE7IFxcbi8vbG9nKGh0bWwxKVxcbmxldCBodG1sMiA9IERlY3J5cHQoaHRtbDEpOyBcXG4vL2xvZyhodG1sMilcXG5yZXR1cm4gaHRtbDI7XFxuXFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5pe26Ze05oiz6L2s5o2iXCIsXCJwYXRoXCI6XCLml7bpl7TmiLPovazmjaJcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHRpbWVzdGFtcFRvVGltZSh0bSwgdHMpIHtcXG5cXHRcXHR1bmRlZmluZWRcXG5cXHRcXHR2YXIgZGF0ZSA9IG5ldyBEYXRlKHRtICogMTAwMCk7IC8v5pe26Ze05oiz5Li6MTDkvY3pnIAqMTAwMO+8jOaXtumXtOaIs+S4ujEz5L2N55qE6K+d5LiN6ZyA5LmYMTAwMFxcblxcdFxcdHZhciBZID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nO1xcblxcdFxcdHZhciBNID0gKGRhdGUuZ2V0TW9udGgoKSArIDEgPCAxMCA/ICcwJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nO1xcblxcdFxcdHZhciBEID0gZGF0ZS5nZXREYXRlKCk7XFxuXFx0XFx0dmFyIGggPSAnIHwgJyArIGRhdGUuZ2V0SG91cnMoKSArICc6JztcXG5cXHRcXHR2YXIgbSA9IGRhdGUuZ2V0TWludXRlcygpO1xcblxcdFxcdGlmKG08MTApIG0gPSAnMCcrbTtcXG5cXHRcXHRtID0gbSArICc6J1xcblxcdFxcdHZhciBzID0gZGF0ZS5nZXRTZWNvbmRzKCk7XFxuXFx0XFx0aWYoczwxMCkgcyA9ICcwJytzO1xcblxcdFxcdGlmICh0cyA9PSAwKSByZXR1cm4gWSArIE0gKyBEO1xcblxcdFxcdGlmICh0cyA9PSAxKSByZXR1cm4gWSArIE0gKyBEICsgaCArIG0gKyBzO1xcblxcdH1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p1wiLFwicGF0aFwiOlwiZXJqaVwiLFwicnVsZVwiOlwianM6IFxcbnZhciBkID0gW107XFxuXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxuXFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG5sZXQgaWQ9TVlfVVJMLnNwbGl0KCcjIycpWzJdO1xcbmxldCBwPU1ZX1VSTC5zcGxpdCgnIyMnKVsxXTtcXG52YXIgdHlwZWxpc3QgPSBbe1xcbiAgICB0aXRsZTogJ+acgOaWsCcsXFxuICAgIHR5cGU6ICduZXcnXFxufSwge1xcbiAgICB0aXRsZTogJ+acgOeDrScsXFxuICAgIHR5cGU6ICdob3QnXFxufV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnk0KHR5cGVsaXN0LGQpO1xcbn1cXG5sZXQgZGF0YTA9J3tcXFwidGFiX2lkXFxcIjpcXFwiJytpZCsnXFxcIixcXFwibGltaXRcXFwiOlxcXCIzMFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3ArJ1xcXCIsXFxcInNvcnRcXFwiOlxcXCInK2dldE15VmFyKCd0eXBlNCcsICduZXcnKSsnXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCIyMDkyNmViOTg0NTgyMWZkZmE3NmRhMzA5ZDM2YTk0NlxcXCIsXFxcImJ1bmRsZV9pZFxcXCI6XFxcImpwLnZ6aWp4LnprdnR0ZFxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwidGhlbWVcXFwiOlxcXCJcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIyLjUuMFxcXCIsXFxcImJ1aWxkX2FmZmNvZGVcXFwiOlxcXCJnd1xcXCJ9J1xcbi8vbG9nKGRhdGEwKVxcbnZhciB1cmwgPSBnZXRNeVZhcignaG9zdCcpKycvYXBpL3RhYm5ldy9saXN0X3RhYl9tdic7XFxubGV0IGh0bWwyID0gcG9zdCh1cmwsZGF0YTApOyBcXG5cXG52YXIgbGlzdCA9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEubGlzdDtcXG4vL2xvZyhsaXN0KTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgIHZhciB1cmwgPSBkYXRhLnBsYXlfdXJsO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiAgZGF0YS5jcmVhdGVkX3N0cisnXFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uX3N0cixcXG4gICAgICAgICAgIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyBsYXp5LFxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKVxcbiAgICAgICAgfSlcXG4gICAgfSlcXG5cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWIhuexu1wiLFwicGF0aFwiOlwiQ2F0ZWdvcnlcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHN0cm9uZyhkLCBjKSB7XFxuICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj0jJyArIChjIHx8ICcwMDAwMDAnKSArICc+JyArIGQgKyAnPC9mb250Pjwvc3Ryb25nPic7XFxufVxcbmZ1bmN0aW9uIENhdGVnb3J5MShsaXN0LGQpIHtcXG4gICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICB2YXIgTGlzdCA9IGxpc3RbaV07XFxuICAgICAgICB2YXIgdGl0bGUgPSBMaXN0LnRpdGxlO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogICAoZ2V0TXlWYXIoJ2NvbG9yMScsICcwJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJChMaXN0LnR5cGUpLmxhenlSdWxlKChpLCBMaXN0KSA9PiB7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3R5cGUxJywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKCdjb2xvcjEnLCBpKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcbmZ1bmN0aW9uIENhdGVnb3J5MihsaXN0LGQpIHtcXG4gICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICB2YXIgTGlzdCA9IGxpc3RbaV07XFxuICAgICAgICB2YXIgdGl0bGUgPSBMaXN0LnRpdGxlO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogICAoZ2V0TXlWYXIoJ2NvbG9yMicsICcwJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJChMaXN0LnR5cGUpLmxhenlSdWxlKChpLCBMaXN0KSA9PiB7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3R5cGUyJywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKCdjb2xvcjInLCBpKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgIH0pO1xcbiAgICByZXR1cm4gZDtcXG59XFxuZnVuY3Rpb24gQ2F0ZWdvcnkzKGxpc3QsZCkge1xcbiAgICBmb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgICAgIHZhciBMaXN0ID0gbGlzdFtpXTtcXG4gICAgICAgIHZhciB0aXRsZSA9IExpc3QudGl0bGU7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAgIChnZXRNeVZhcignY29sb3IzJywgJzAnKSA9PSBpKSA/IHN0cm9uZyh0aXRsZSwgJ0ZGNjY5OScpIDogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKExpc3QudHlwZSkubGF6eVJ1bGUoKGksIExpc3QpID0+IHtcXG4gICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZTMnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2NvbG9yMycsIGkpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgICAgIH0sIGksIExpc3QpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgIH0pO1xcbiAgICByZXR1cm4gZDtcXG59XFxuZnVuY3Rpb24gQ2F0ZWdvcnk0KGxpc3QsZCkge1xcbiAgICBmb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgICAgIHZhciBMaXN0ID0gbGlzdFtpXTtcXG4gICAgICAgIHZhciB0aXRsZSA9IExpc3QudGl0bGU7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAgIChnZXRNeVZhcignY29sb3I0JywgJzAnKSA9PSBpKSA/IHN0cm9uZyh0aXRsZSwgJ0ZGNjY5OScpIDogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKExpc3QudHlwZSkubGF6eVJ1bGUoKGksIExpc3QpID0+IHtcXG4gICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZTQnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2NvbG9yNCcsIGkpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgICAgIH0sIGksIExpc3QpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxuICAgIH0pO1xcbiAgICByZXR1cm4gZDtcXG59XFxuZnVuY3Rpb24gQ2F0ZWdvcnk1KGxpc3QsZCkge1xcbiAgICBmb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgICAgIHZhciBMaXN0ID0gbGlzdFtpXTtcXG4gICAgICAgIHZhciB0aXRsZSA9IExpc3QudGl0bGU7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAgIChnZXRNeVZhcignY29sb3I1JywgJzAnKSA9PSBpKSA/IHN0cm9uZyh0aXRsZSwgJ0ZGNjY5OScpIDogdGl0bGUsXFxuICAgICAgICAgICAgdXJsOiAkKExpc3QudHlwZSkubGF6eVJ1bGUoKGksIExpc3QpID0+IHtcXG4gICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZTUnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2NvbG9yNScsIGkpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgICAgIH0sIGksIExpc3QpLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgIH0pO1xcbiAgICB9XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXG4gICAgfSk7XFxuICAgIHJldHVybiBkO1xcbn1cXG5mdW5jdGlvbiBDYXRlZ29yeTYobGlzdCxkKSB7XFxuICAgIGZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICAgICAgdmFyIExpc3QgPSBsaXN0W2ldO1xcbiAgICAgICAgdmFyIHRpdGxlID0gTGlzdC50aXRsZTtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICAgKGdldE15VmFyKCdjb2xvcjYnLCAnMCcpID09IGkpID8gc3Ryb25nKHRpdGxlLCAnRkY2Njk5JykgOiB0aXRsZSxcXG4gICAgICAgICAgICB1cmw6ICQoTGlzdC50eXBlKS5sYXp5UnVsZSgoaSwgTGlzdCkgPT4ge1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKCd0eXBlNicsIGlucHV0KTtcXG4gICAgICAgICAgICAgICBwdXRNeVZhcignY29sb3I2JywgaSk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgICAgICAgICAgfSwgaSwgTGlzdCksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJ1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcbmZ1bmN0aW9uIENhdGVnb3J5NyhsaXN0LGQpIHtcXG4gICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICB2YXIgTGlzdCA9IGxpc3RbaV07XFxuICAgICAgICB2YXIgdGl0bGUgPSBMaXN0LnRpdGxlO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogICAoZ2V0TXlWYXIoJ2NvbG9yNycsICcwJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJChMaXN0LnR5cGUpLmxhenlSdWxlKChpLCBMaXN0KSA9PiB7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3R5cGU3JywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKCdjb2xvcjcnLCBpKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcbmZ1bmN0aW9uIENhdGVnb3J5OChsaXN0LGQpIHtcXG4gICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICB2YXIgTGlzdCA9IGxpc3RbaV07XFxuICAgICAgICB2YXIgdGl0bGUgPSBMaXN0LnRpdGxlO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogICAoZ2V0TXlWYXIoJ2NvbG9yOCcsICcwJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlLFxcbiAgICAgICAgICAgIHVybDogJChMaXN0LnR5cGUpLmxhenlSdWxlKChpLCBMaXN0KSA9PiB7XFxuICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3R5cGU4JywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgIHB1dE15VmFyKCdjb2xvcjgnLCBpKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcbiQuZXhwb3J0cy5DYXRlZ29yeTEgPSBDYXRlZ29yeTE7XFxuJC5leHBvcnRzLkNhdGVnb3J5MiA9IENhdGVnb3J5MjtcXG4kLmV4cG9ydHMuQ2F0ZWdvcnkzID0gQ2F0ZWdvcnkzO1xcbiQuZXhwb3J0cy5DYXRlZ29yeTQgPSBDYXRlZ29yeTQ7XFxuJC5leHBvcnRzLkNhdGVnb3J5NSA9IENhdGVnb3J5NTtcXG4kLmV4cG9ydHMuQ2F0ZWdvcnk2ID0gQ2F0ZWdvcnk2O1xcbiQuZXhwb3J0cy5DYXRlZ29yeTcgPSBDYXRlZ29yeTc7XFxuJC5leHBvcnRzLkNhdGVnb3J5OCA9IENhdGVnb3J5ODtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIua8lOWRmOS6jOe6pzJcIixcInBhdGhcIjpcImVyamkyXCIsXCJydWxlXCI6XCJqczogXFxudmFyIGQgPSBbXTtcXG5cXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbmxldCBpZD1NWV9VUkwuc3BsaXQoJyMjJylbMl07XFxubGV0IHA9TVlfVVJMLnNwbGl0KCcjIycpWzFdO1xcbmxldCBkYXRhMD0ne1xcXCJsaW1pdFxcXCI6XFxcIjMwXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcCsnXFxcIixcXFwidWlkXFxcIjpcXFwiJytpZCsnXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJkYTM5YzZiY2M2ZTkwZWQxYmY2Y2E2NjAwZGNhZmUwN1xcXCIsXFxcImJ1bmRsZV9pZFxcXCI6XFxcImpwLnZ6aWp4LnprdnR0ZFxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwidGhlbWVcXFwiOlxcXCJcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIyLjUuMFxcXCIsXFxcImJ1aWxkX2FmZmNvZGVcXFwiOlxcXCJnd1xcXCJ9J1xcbi8vbG9nKGRhdGEwKVxcbnZhciB1cmwgPSBnZXRNeVZhcignaG9zdCcpKycvYXBpL3dvcmtzL3ZpZGVvcyc7XFxubGV0IGh0bWwyID0gcG9zdCh1cmwsZGF0YTApOyBcXG5cXG52YXIgbGlzdCA9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGEuZGF0YTtcXG4vL2xvZyhsaXN0KTtcXG5saXN0LmZvckVhY2goZGF0YSA9PiB7XFxuICAgIHZhciB1cmwgPSBkYXRhLnBsYXlfdXJsO1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICBkZXNjOiAgZGF0YS5jcmVhdGVkX3N0cisnXFxcXHRcXFxcdFxcXFx0JytkYXRhLmR1cmF0aW9uX3N0cixcXG4gICAgICAgICAgIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyBsYXp5LFxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKVxcbiAgICAgICAgfSlcXG4gICAgfSlcXG5cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcIuaQnOe0olwiLFwicGF0aFwiOlwic2VhY2hcIixcInJ1bGVcIjpcImpzOiBcXG52YXIgZCA9IFtdO1xcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciBvcmRlcm9uZT0gW3tcXG4gICAgdGl0bGU6ICfmnIDmlrAnLFxcbiAgICB0eXBlOiAnbmV3J1xcbn0sIHtcXG4gICAgdGl0bGU6ICfmnIDng60nLFxcbiAgICB0eXBlOiAnaG90J1xcbn1dO1xcbmlmIChNWV9QQUdFID09IDEpIHsgICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeTgob3JkZXJvbmUsZCk7XFxufVxcbmxldCBreT1NWV9VUkwuc3BsaXQoJz0nKVsyXTtcXG5sZXQgcGc9TVlfVVJMLnNwbGl0KCc9JylbMV0ucmVwbGFjZSgnJmt3JywnJyk7XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcXG52YXIgZGF0YTA9J3tcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCIsXFxcImxpbWl0XFxcIjpcXFwiMzBcXFwiLFxcXCJzb3J0XFxcIjpcXFwiJytnZXRNeVZhcigndHlwZTgnLCAnbmV3JykrJ1xcXCIsXFxcInN0eWxlXFxcIjpcXFwiMFxcXCIsXFxcImt3eVxcXCI6XFxcIicra3krJ1xcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiMjA5MjZlYjk4NDU4MjFmZGZhNzZkYTMwOWQzNmE5NDZcXFwiLFxcXCJidW5kbGVfaWRcXFwiOlxcXCJqcC52emlqeC56a3Z0dGRcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcInRoZW1lXFxcIjpcXFwiXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMi41LjBcXFwiLFxcXCJidWlsZF9hZmZjb2RlXFxcIjpcXFwiZ3dcXFwifSc7XFxudmFyIHVybCA9IGdldE15VmFyKCdob3N0JykrJy9hcGkvc2VhcmNoL212JztcXG5sZXQgaHRtbDIgPSBwb3N0KHVybCxkYXRhMCk7IFxcbnZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sMikuZGF0YS5saXN0O1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICBkYXRhLmNyZWF0ZWRfc3RyKydcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25fc3RyLFxcbiAgICAgICAgICAgIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyBsYXp5LFxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKVxcbiAgICAgICAgfSlcXG4gICAgfSlcXG5cXG5zZXRSZXN1bHQoZClcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuinhumikVwiLFwicGF0aFwiOlwidmlkZW9cIixcInJ1bGVcIjpcImpzOlxcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xcbnZhciBjbGFzc29uZT0gW3t0aXRsZTogJ+aOqOiNkCcsdHlwZTogJzMnfSwge3RpdGxlOiAn5Zu95Lqn57K+6YCJJyx0eXBlOiAnNCd9LCB7dGl0bGU6ICfljp/liJvkvKDlqpInLHR5cGU6ICc1J30sIHt0aXRsZTogJ+S5sSDkvKbmjaLlprsnLHR5cGU6ICcxMSd9LCB7dGl0bGU6ICflrpjmlrnljp/liJsnLHR5cGU6ICcxOSd9LCB7dGl0bGU6ICfnpoHmvKvlpKnloIInLHR5cGU6ICc4J30sIHt0aXRsZTogJ+e9kem7hOaooeeJuScsdHlwZTogJzEyJ30sIHt0aXRsZTogJ+WbveS6p+ebtOaSrScsdHlwZTogJzE0J30sIHt0aXRsZTogJ+emj+WIqeWnrCcsdHlwZTogJzEzJ30sIHt0aXRsZTogJ+W8guWbveiJsuaDhScsdHlwZTogJzknfSwge3RpdGxlOiAn5Yi25bqm6K+x5oORJyx0eXBlOiAnMTAnfSwge3RpdGxlOiAn5bKb5Zu9QVYnLHR5cGU6ICcxNSd9XTtcXG52YXIgY2xhc3N0d289IFt7dGl0bGU6ICfmjqjojZAnLHR5cGU6ICc2J30sIHt0aXRsZTogJ+aatOWKmycsdHlwZTogJzE3J30sIHt0aXRsZTogJ+Wwj+mprOaLieWkp+i9picsdHlwZTogJzE4J30sIHt0aXRsZTogJ+S6uuWFvemHjeWPoycsdHlwZTogJzcnfV07XFxudmFyIG9yZGVyb25lPSBbe1xcbiAgICB0aXRsZTogJ+acgOaWsCcsXFxuICAgIHR5cGU6ICduZXcnXFxufSwge1xcbiAgICB0aXRsZTogJ+acgOeDrScsXFxuICAgIHR5cGU6ICdob3QnXFxufV07XFxuaWYo5YiG57G7PT0yKXtcXG5pZiAoTVlfUEFHRSA9PSAxKSB7XFxuICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeTIoY2xhc3NvbmUsZCk7XFxufVxcbmlmIChNWV9QQUdFID09IDEpIHsgICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeTMob3JkZXJvbmUsZCk7XFxufVxcblxcbnZhciBkYXRhMD0ne1xcXCJuYWdfaWRcXFwiOlxcXCInK2dldE15VmFyKCd0eXBlMicsICczJykrJ1xcXCIsXFxcInNvcnRcXFwiOlxcXCInK2dldE15VmFyKCd0eXBlMycsICduZXcnKSsnXFxcIixcXFwibGltaXRcXFwiOlxcXCIzMFxcXCIsXFxcInBhZ2VcXFwiOlxcXCInK3BnKydcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcIjIwOTI2ZWI5ODQ1ODIxZmRmYTc2ZGEzMDlkMzZhOTQ2XFxcIixcXFwiYnVuZGxlX2lkXFxcIjpcXFwianAudnppanguemt2dHRkXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJ0aGVtZVxcXCI6XFxcIlxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjIuNS4wXFxcIixcXFwiYnVpbGRfYWZmY29kZVxcXCI6XFxcImd3XFxcIn0nO1xcbn1lbHNlIGlmKOWIhuexuz09Myl7XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnk2KGNsYXNzdHdvLGQpO1xcbn1cXG5pZiAoTVlfUEFHRSA9PSAxKSB7ICAkLnJlcXVpcmUoXFxcIkNhdGVnb3J5XFxcIikuQ2F0ZWdvcnk3KG9yZGVyb25lLGQpO1xcbn1cXG5cXG52YXIgZGF0YTA9J3tcXFwibmFnX2lkXFxcIjpcXFwiJytnZXRNeVZhcigndHlwZTYnLCAnNicpKydcXFwiLFxcXCJzb3J0XFxcIjpcXFwiJytnZXRNeVZhcigndHlwZTcnLCAnbmV3JykrJ1xcXCIsXFxcImxpbWl0XFxcIjpcXFwiMzBcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwZysnXFxcIixcXFwib2F1dGhfaWRcXFwiOlxcXCJkYTM5YzZiY2M2ZTkwZWQxYmY2Y2E2NjAwZGNhZmUwN1xcXCIsXFxcImJ1bmRsZV9pZFxcXCI6XFxcImpwLnZ6aWp4LnprdnR0ZFxcXCIsXFxcIm9hdXRoX3R5cGVcXFwiOlxcXCJhbmRyb2lkXFxcIixcXFwidGhlbWVcXFwiOlxcXCJcXFwiLFxcXCJ0b2tlblxcXCI6XFxcIlxcXCIsXFxcInZlcnNpb25cXFwiOlxcXCIyLjUuMFxcXCIsXFxcImJ1aWxkX2FmZmNvZGVcXFwiOlxcXCJnd1xcXCJ9JztcXG59O1xcbnZhciB1cmwgPSBnZXRNeVZhcignaG9zdCcpKycvYXBpL3RhYm5ldy9saXN0X2NvbnN0cnVjdCc7XFxubGV0IGh0bWwyID0gcG9zdCh1cmwsZGF0YTApOyBcXG52YXIgTGFiZWwgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLm1pZF9zdHlsZV9jYXRlZ29yeTtcXG52YXIgTGFiZWxiID0gSlNPTi5wYXJzZShodG1sMikuZGF0YS5ib3Rfc3R5bGVfb25lO1xcbi8vbG9nKExhYmVsKVxcbmlmKExhYmVsIT1udWxsKXtcXG5MYWJlbC5mb3JFYWNoKChkYXRhKSA9PiB7XFxyXFxuICAgICAgICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGFiX25hbWUsXFxuICAgICAgICAgICAgICAgIHBpY191cmw6IGRhdGEuaWNvbisgbGF6eSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uXzJfcm91bmRcXFwiLFxcbiAgICAgICAgICAgICAgICB1cmwgOiAgJ2hpa2VyOi8vZW1wdHkjI2Z5cGFnZSMjJytkYXRhLmlkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9lcmppXFxcIiknLFxcbn0pXFxufSlcXG59O1xcbmlmKExhYmVsYiE9bnVsbCl7XFxuTGFiZWxiLmZvckVhY2goKGRhdGEpID0+IHtcXHJcXG4gICAgICAgICAgICBkLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS50aXRsZSxcXG4gICAgICAgICAgICAgICAgcGljX3VybDogZGF0YS5pY29uKyBsYXp5LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgIHVybCA6ICAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcXFwiaGlrZXI6Ly9wYWdlL2VyamlcXFwiKScsXFxufSlcXG5sZXQgbGlzdGE9ZGF0YS5saXN0O1xcbmxpc3RhLmZvckVhY2goKGRhdGEpID0+IHtcXG52YXIgdXJsID0gZGF0YS5wbGF5X3VybDtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogIGRhdGEuY3JlYXRlZF9zdHIrJ1xcXFx0XFxcXHRcXFxcdCcrZGF0YS5kdXJhdGlvbl9zdHIsXFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgbGF6eSxcXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJylcXG4gICAgICAgIH0pXFxuXFxufSlcXG5cXG59KVxcbn07XFxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmJvdF9zdHlsZV90d287XFxuXFxuLy9sb2cobGlzdCk7XFxuaWYobGlzdCE9bnVsbCl7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICB2YXIgdXJsID0gZGF0YS5wbGF5X3VybDtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogIGRhdGEuY3JlYXRlZF9zdHIrJ1xcXFx0XFxcXHRcXFxcdCcrZGF0YS5kdXJhdGlvbl9zdHIsXFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgbGF6eSxcXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXFxcL1xcXFwvLipwbGF5XFxcXC4vLCcvL2xvbmcuJylcXG4gICAgICAgIH0pXFxuICAgIH0pXFxufVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5ryU5ZGYXCIsXCJwYXRoXCI6XCJhY3RvclwiLFwicnVsZVwiOlwianM6XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxubGV0IGNsYXNzb25lPSBbe3RpdGxlOiAn5aWzIOS8mCcsdHlwZTogJzgnfSwge3RpdGxlOiAn5Lyg5aqSJyx0eXBlOiAnNSd9LCB7dGl0bGU6ICfnvZHpu4QnLHR5cGU6ICcxJ30sIHt0aXRsZTogJ+S4u+aSrScsdHlwZTogJzQnfSwge3RpdGxlOiAn56aP5Yip5aesJyx0eXBlOiAnMid9XTtcXG5pZiAoTVlfUEFHRSA9PSAxKSB7XFxuICQucmVxdWlyZShcXFwiQ2F0ZWdvcnlcXFwiKS5DYXRlZ29yeTUoY2xhc3NvbmUsZCk7XFxufVxcbmxldCBkYXRhMD0ne1xcXCJsaW1pdFxcXCI6XFxcIjMwXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCIsXFxcImdyb3VwX2lkXFxcIjpcXFwiJytnZXRNeVZhcigndHlwZTUnLCAnOCcpKydcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImRhMzljNmJjYzZlOTBlZDFiZjZjYTY2MDBkY2FmZTA3XFxcIixcXFwiYnVuZGxlX2lkXFxcIjpcXFwianAudnppanguemt2dHRkXFxcIixcXFwib2F1dGhfdHlwZVxcXCI6XFxcImFuZHJvaWRcXFwiLFxcXCJ0aGVtZVxcXCI6XFxcIlxcXCIsXFxcInRva2VuXFxcIjpcXFwiXFxcIixcXFwidmVyc2lvblxcXCI6XFxcIjIuNS4wXFxcIixcXFwiYnVpbGRfYWZmY29kZVxcXCI6XFxcImd3XFxcIn0nXFxudmFyIHVybCA9IGdldE15VmFyKCdob3N0JykrJy9hcGkvbXZsaXN0L3VwZXJfbGlzdCc7XFxubGV0IGh0bWwyID0gcG9zdCh1cmwsZGF0YTApOyBcXG5cXG52YXIgbGlzdCA9IEpTT04ucGFyc2UoaHRtbDIpLmRhdGE7XFxubGlzdC5mb3JFYWNoKChkYXRhKSA9PiB7XFxyXFxuICAgICAgICAgICAgZC5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEubmlja25hbWUsXFxuICAgICAgICAgICAgICAgIHBpY191cmw6IGRhdGEudGh1bWJfZnVsbCtsYXp5LFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImljb25fcm91bmRfNFxcXCIsXFxuICAgICAgICAgICAgICAgIHVybCA6ICAnaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIyMnK2RhdGEudWlkKydAcnVsZT1qczokLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9lcmppMlxcXCIpJyxcXG59KVxcbn0pXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLpppbpobVcIixcInBhdGhcIjpcImhvbWVcIixcInJ1bGVcIjpcImpzOlxcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgZC5wdXNoKHvCoMKgwqBcXG4gICAgICAgIHRpdGxlOiBcXFwi5pCc57SiXFxcIixcXG4gICAgICAgIHVybDogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vcGFnZS9zZWFjaD9wYWdlPWZ5cGFnZSZrdz1cXFwiICsgaW5wdXRcXG4gICAgfSksXFxuICAgICAgICDCoMKgwqBkZXNjOiBcXFwi6K+36L6T5YWl5pCc57Si5YWz6ZSu6K+NXFxcIixcXG4gICAgICAgIMKgwqDCoGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICB9KVxcbn07XFxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgXFxudmFyIHBnPSBNWV9VUkwucmVwbGFjZSgnaGlrZXI6Ly9lbXB0eSMjJywgJycpO1xcbmlmKGdldE15VmFyKCdob3N0Jyk9PScnKXtcXG4kLnJlcXVpcmUoXFxcImhvc3RcXFwiKVxcbn1cXG4vKlxcbnZhciBjbGFzczE9IFt7XFxuICAgIHRpdGxlOiAnVGlrdG9rJyxcXG4gICAgdHlwZTogJzEnXFxufSx7XFxuICAgIHRpdGxlOiAn6KeG6aKRJyxcXG4gICAgdHlwZTogJzInXFxufSwge1xcbiAgICB0aXRsZTogJ+aal+e9kScsXFxuICAgIHR5cGU6ICczJ1xcbn0sIHtcXG4gICAgdGl0bGU6ICfmvJTlkZgnLFxcbiAgICB0eXBlOiAnNCdcXG59XTtcXG4qL1xcbi8v5pqX572R5LiN6Ieq5Yqo5byA5ZCvLy9cXG52YXIgY2xhc3MxPSBbe1xcbiAgICB0aXRsZTogJ1Rpa3RvaycsXFxuICAgIHR5cGU6ICcxJ1xcbn0se1xcbiAgICB0aXRsZTogJ+inhumikScsXFxuICAgIHR5cGU6ICcyJ1xcbn0se1xcbiAgICB0aXRsZTogJ+a8lOWRmCcsXFxuICAgIHR5cGU6ICc0J1xcbn1dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJDYXRlZ29yeVxcXCIpLkNhdGVnb3J5MShjbGFzczEsZCk7XFxufVxcbnZhciDliIbnsbs9Z2V0TXlWYXIoJ3R5cGUxJywgJzEnKTtcXG5pZijliIbnsbs9PTEpe1xcbiQucmVxdWlyZShcXFwidGlrdG9rXFxcIilcXG59ZWxzZSBpZigo5YiG57G7PT0yKXwo5YiG57G7PT0zKSl7XFxuJC5yZXF1aXJlKFxcXCJ2aWRlb1xcXCIpXFxufWVsc2UgaWYo5YiG57G7PT00KXtcXG4kLnJlcXVpcmUoXFxcImFjdG9yXFxcIilcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJob3N0XCIsXCJwYXRoXCI6XCJob3N0XCIsXCJydWxlXCI6XCJqczogXFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hZXMnKSkucnVsZSk7XFxudmFyIGRhdGEwPSd7XFxcIm9hdXRoX2lkXFxcIjpcXFwiZGEzOWM2YmNjNmU5MGVkMWJmNmNhNjYwMGRjYWZlMDdcXFwiLFxcXCJidW5kbGVfaWRcXFwiOlxcXCJqcC52emlqeC56a3Z0dGRcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcInRoZW1lXFxcIjpcXFwiXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMi41LjBcXFwiLFxcXCJidWlsZF9hZmZjb2RlXFxcIjpcXFwiZ3dcXFwifSc7XFxuLy9sb2coZGF0YTApXFxudmFyIHVybCA9ICdodHRwczovL2FwaTIuYXdkcXB5eXVxcS5jb20vYXBpLnBocC9hcGkvaG9tZS9nZXRjb25maWcnO1xcbmxldCBodG1sMiA9IHBvc3QodXJsLGRhdGEwKTsgXFxuXFxudmFyIGhvc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmRvbWFpbl9uYW1lLnNwbGl0KCcsJylbMF07XFxucHV0TXlWYXIoJ2hvc3QnLGhvc3QpO1xcbi8vbG9nKGdldE15VmFyKCdob3N0JykpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwidGlrdG9rXCIsXCJwYXRoXCI6XCJ0aWt0b2tcIixcInJ1bGVcIjpcImpzOiBcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG5cXG52YXIgdCA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApOyAvL2xvZyh0KVxcbmxldCBkYXRhMD0ne1xcXCJsaW1pdFxcXCI6XFxcIjMwXFxcIixcXFwicGFnZVxcXCI6XFxcIicrcGcrJ1xcXCIsXFxcIm9hdXRoX2lkXFxcIjpcXFwiZGEzOWM2YmNjNmU5MGVkMWJmNmNhNjYwMGRjYWZlMDdcXFwiLFxcXCJidW5kbGVfaWRcXFwiOlxcXCJqcC52emlqeC56a3Z0dGRcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwiYW5kcm9pZFxcXCIsXFxcInRoZW1lXFxcIjpcXFwiXFxcIixcXFwidG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMi41LjBcXFwiLFxcXCJidWlsZF9hZmZjb2RlXFxcIjpcXFwiZ3dcXFwifSc7XFxuLy9sb2coZGF0YTApXFxudmFyIHVybCA9IGdldE15VmFyKCdob3N0JykrJy9hcGkvcmVjb21tZW5kL2luZGV4JztcXG5sZXQgaHRtbDIgPSBwb3N0KHVybCxkYXRhMCk7IFxcblxcbnZhciBsaXN0ID0gSlNPTi5wYXJzZShodG1sMikuZGF0YS5tdl9saXN0O1xcbi8vbG9nKGxpc3QpO1xcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcXG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6ICBkYXRhLmNyZWF0ZWRfc3RyKydcXFxcdFxcXFx0XFxcXHQnK2RhdGEuZHVyYXRpb25fc3RyLFxcbiAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArIGxhenksXFxuICAgICAgICAgICAgdXJsOiB1cmwucmVwbGFjZSgvXFxcXC9cXFxcLy4qcGxheVxcXFwuLywnLy9sb25nLicpXFxuICAgICAgICB9KVxcbiAgICB9KVwifV0iLCJpY29uIjoiIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment