xiaomianao666

小程序:摸鱼日报.beta

May 1st, 2024
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@摸鱼日报.beta@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5pG46bG85pel5oqlLmJldGEiLCJhdXRob3IiOiJBcmlzZSIsInVybCI6Imhpa2VyOi8vZW1wdHkjI2Z5cGFnZSIsInZlcnNpb24iOjIwMjQwNTAxLCJjb2xfdHlwZSI6InBpY18xX2NhcmQiLCJjbGFzc19uYW1lIjoiIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG52YXIgZCA9IFtdO1xudmFyIHJyID0ge1xuICAgIFwiY29kZVwiOiBcImluZGV4XCIsXG4gICAgXCJkYXRhXCI6IHt9LFxuICAgIFwibW9kXCI6IFwic3lzdGVtXCIsXG4gICAgXCJvYXV0aF9pZFwiOiBcImt0SmdEWDFJTnVZdVJJc3oxNzA1MzgyOTM1MTEyXCIsXG4gICAgXCJvYXV0aF90eXBlXCI6IFwicHdhXCIsXG4gICAgXCJ0aW1lc3RhbXBcIjogMTcwNTM4NTI4NyxcbiAgICBcInZlcnNpb25cIjogXCI1LjYuMFwiXG59XG52YXIgZW5jcnlwdGRhdGEgPSAkLnJlcXVpcmUoXCJkYXRhXCIpLmVuY3J5cHQocnIpO1xuXG52YXIgdGltZXN0YW1wID0gZW5jcnlwdGRhdGEudGltZXN0YW1wLnRvU3RyaW5nKCk7XG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XG5cbnZhciBEYXRhID0gcG9zdChcImh0dHBzOi8vendzZnh2LmJtYWZkeHQuY29tL3B3YS5waHBcIiwge1xuICAgIGJvZHk6IHtcbiAgICAgICAgXCJjbGllbnRcIjogXCJwd2FcIixcbiAgICAgICAgXCJ0aW1lc3RhbXBcIjogdGltZXN0YW1wLFxuICAgICAgICBcImRhdGFcIjogZGF0YSxcbiAgICAgICAgXCJzaWduXCI6IHNpZ25cbiAgICB9XG59KVxudmFyIGggPSBEYXRhO1xuXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFwiZGF0YT9ydWxlPVwiICsgTVlfVElUTEUpLmRlY3J5cHQoKSk7XG5cbnZhciBkYXRhID0gSlNPTi5wYXJzZShoKS5kYXRhO1xudmFyIHIgPSAkLnJlcXVpcmUoXCJkYXRhXCIpLkRlY3J5cHQoZGF0YSk7XG52YXIg5YiG57G7bGlzdCA9IHIuZGF0YS5uYXZfbGlzdDtcbi8qXG5pZihnZXRNeVZhcignb24tb2ZmJywnb2ZmJyk9PSdvZmYnKXtcbmQucHVzaCh7XG4gICBpbWc6IEpTT04ucGFyc2UoZmV0Y2goJ2h0dHBzOi8vZGF5dS5xcXN1dS5jbi9tb3l1cmliYW8vYXBpcy5waHA/dHlwZT1qc29uJykpLmRhdGEsXG4gICBjb2xfdHlwZTogJ3BpY18xX2NlbnRlcicsXG4gICB1cmw6ICdoaWtlcjovL2VtcHR5J1xufSk7XG5kLnB1c2goe1xuICAgdGl0bGU6ICfwn5SRJyxcbiAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxuICAgdXJsOiAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgIHB1dE15VmFyKCdvbi1vZmYnLCdvbicpXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XG4gICAgfSlcbn0pO1xufVxuKi9cbi8vaWYoZ2V0TXlWYXIoJ29uLW9mZicsJ29mZicpPT0nb24nKXtcbmlmKE1ZX1BBR0U9PTEpe1xuJC5yZXF1aXJlKFwiZGF0YVwiKS5jYXRlZ29yeSjliIbnsbtsaXN0LGQpO1xufVxudmFyIGxpc3QgPSByLmRhdGEucmVjb21tZW5kZWREYXRhO1xuZm9yICh2YXIgaSBpbiBsaXN0KSB7XG4gICAgdmFyIHBsYXl1cmwgPSBsaXN0W2ldLnBsYXlVcmw7XG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcbiAgICB2YXIgdXVpZCA9IGxpc3RbaV0udXVpZDtcbiAgICB2YXIgbmlja05hbWUgPSBsaXN0W2ldLm5pY2tOYW1lO1xuICAgIHZhciBkZXNjID0gJ1xcdPCfhpknICsgbGlzdFtpXS5jcmVhdGVkX2F0ICsgJ1xcdPCflKUnICsgbGlzdFtpXS5wbGF5X2NvdW50ICsgJ1xcdPCfj7fvuI8nICsgbmlja05hbWUgKyAnXFx04o+x77iPJyArIGxpc3RbaV0uZHVyYXRpb25TdHI7XG4gICAgdmFyIGltYWdldXJsID0gbGlzdFtpXS50aHVtYkltZztcbiAgaWYobmlja05hbWUgIT1cIuWumOaWueaOqOiNkFwiKXtcblx0ICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgZGVzYzogZGVzYyxcbiAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxuICAgICAgICBjb2xfdHlwZTogKHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbDAnLCAnJykgPT0gJycpID8gJ21vdmllXzMnIDogc3RvcmFnZTAuZ2V0SXRlbSgnQ29sMCcsICcnKSxcbiAgICAgICAgdXJsOiBwbGF5dXJsLnJlcGxhY2UoJzEwcGxheScsICdsb25nJyksXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBsb25nQ2xpY2s6IFt7XG4gICAgdGl0bGU6ICfmoLflvI8nLFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgdmFyIFR5cGUgPSBbXCJtb3ZpZV8xXCIsIFwibW92aWVfMlwiLCBcIm1vdmllXzNcIiwgXCJtb3ZpZV8xX2xlZnRfcGljXCIsIFwibW92aWVfMV92ZXJ0aWNhbF9waWNcIiwgXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyXCIsIFwicGljXzFcIiwgXCJwaWNfMlwiLCBcInBpY18zXCIsIFwicGljXzFfZnVsbFwiLCBcInBpY18xX2NlbnRlclwiLCBcInBpY18xX2NhcmRcIiwgXCJwaWNfMl9jYXJkXCIsIFwicGljXzNfc3F1YXJlXCIsIFwiY2FyZF9waWNfMVwiLCBcImNhcmRfcGljXzJcIiwgXCJjYXJkX3BpY18zXCIsIFwiY2FyZF9waWNfM19jZW50ZXJcIiwgXCJsb25nX3RleHRcIiwgXCJyaWNoX3RleHRcIiwgXCJzY3JvbGxfYnV0dG9uXCIsIFwiZmxleF9idXR0b25cIl07XG4gICAgICAgIHZhciBUeXBlMSA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpIGluIFR5cGUpIHtcbiAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xuICAgICAgICAgICAgdmFyIENvbCA9IChjb2wuaW5jbHVkZXMoJ/CfkYnwn4+9JykpID8gY29sLnNwbGl0KCfwn5GJ8J+PvScpWzFdIDogY29sO1xuICAgICAgICAgICAgaWYgKFR5cGVbaV0gPT0gQ29sKSB7XG4gICAgICAgICAgICAgICAgVHlwZVtpXSA9ICfwn5GJ8J+PvScgKyBUeXBlW2ldO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBUeXBlW2ldID0gVHlwZVtpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFR5cGUxW2ldID0gVHlwZVtpXTtcbiAgICAgICAgfVxuICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XG4gICAgICAgICAgICB0aXRsZTogXCLpgInmi6nnsbvlnotcIixcbiAgICAgICAgICAgIGNvbDogMixcbiAgICAgICAgICAgIG9wdGlvbnM6IFR5cGUxLFxuICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ3R5cGUnLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgdmFyIGNvbCA9IHN0b3JhZ2UwLmdldEl0ZW0oJ3R5cGUnLCAnJyk7XG4gICAgICAgICAgICAgICAgdmFyIENvbCA9IChjb2wuaW5jbHVkZXMoJ/CfkYnwn4+9JykpID8gY29sLnNwbGl0KCfwn5GJ8J+PvScpWzFdIDogY29sO1xuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ0NvbDAnLCBDb2wpO1xuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgfSksXG59LHtcbiAgICB0aXRsZTogJ+aQnOe0oicsXG4gICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9zZWFyY2gnO1xuICAgIH0pLFxufSx7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfpppbpobUnLFxuICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+esrCcgKyBNWV9QQUdFICsgJ+mhtScsXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBuaWNrTmFtZSxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygodXVpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndXVpZCcsIHV1aWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS91c2VyI2ltbWVyc2l2ZVRoZW1lIyc7XG4gICAgICAgICAgICAgICAgfSwgdXVpZCksXG4gICAgICAgICAgICB9XVxuICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxufVxuLy99XG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6IiIsImdyb3VwIjoi4pGp56eL5ZCN5bGxIiwic2VhcmNoRmluZCI6IiIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLkvp3otZZcIixcInBhdGhcIjpcImRhdGFcIixcInJ1bGVcIjpcImpzOlxcbiQuZXhwb3J0cy5kZWNyeXB0ID0gZnVuY3Rpb24oKSB7XFxuICAgIGNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vYXNzZXRzL2NyeXB0by1qYXZhLmpzXFxcIik7XFxuICAgIGNvbnN0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoJ2Y1ZDk2NWRmNzUzMzYyNzAnKTtcXG4gICAgY29uc3QgaXYgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KCc5N2I2MDM5NGFiYzJmYmUxJyk7XFxuICAgIGNvbnN0IHRleHREYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlSW5wdXRTdHJlYW0oaW5wdXQpLnRvQmFzZTY0KF9iYXNlNjQuTk9fV1JBUCk7XFxuICAgIGNvbnN0IGRlY3J5cHRlZCA9IENyeXB0b1V0aWwuQUVTLmRlY3J5cHQodGV4dERhdGEsIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogXFxcIkFFUy9DQkMvTm9QYWRkaW5nXFxcIlxcbiAgICB9KS50b0Jhc2U2NChfYmFzZTY0Lk5PX1dSQVApO1xcbiAgICBjb25zdCBkZWNyeXB0ZWQwID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlQmFzZTY0KGRlY3J5cHRlZCwgX2Jhc2U2NC5OT19XUkFQKTtcXG4gICAgcmV0dXJuIGRlY3J5cHRlZDAudG9JbnB1dFN0cmVhbSgpO1xcbn1cXG5cXG5mdW5jdGlvbiBEZWNyeXB0KGRhdGEpIHtcXG4gICAgZXZhbChnZXRDcnlwdG9KUygpKTtcXG4gICAgY29uc3QgXzB4NDA5ODJlID0gQ3J5cHRvSlMuZW5jLkhleC5wYXJzZShkYXRhKSxcXG4gICAgICAgIGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKCdjYzg4ZGRjOTM1N2ZmNDYxZTA4ZjA0N2FlZGVlNjkyYicpLFxcbiAgICAgICAgaXYgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSgnZTg5MjI1Y2ZiYmltZ2tjdScpLFxcbiAgICAgICAgXzB4NDM5Y2FlID0gQ3J5cHRvSlMuZW5jLkJhc2U2NC5zdHJpbmdpZnkoXzB4NDA5ODJlKSxcXG4gICAgICAgIF8weDM4NWQzNyA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KF8weDQzOWNhZSwga2V5LCB7XFxuICAgICAgICAgICAgJ2l2JzogaXYsXFxuICAgICAgICAgICAgJ21vZGUnOiBDcnlwdG9KUy5tb2RlLkNGQixcXG4gICAgICAgICAgICAncGFkZGluZyc6IENyeXB0b0pTLnBhZC5Ob1BhZGRpbmdcXG4gICAgICAgIH0pO1xcbiAgICBjb25zdCBfMHgyNzA1NmIgPSBfMHgzODVkMzcudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xcbiAgICByZXR1cm4gSlNPTi5wYXJzZShfMHgyNzA1NmIudG9TdHJpbmcoKSk7XFxufVxcblxcbmZ1bmN0aW9uIGRlY3J5cHRzaWduKGRkKSB7XFxuICAgIGNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vYXNzZXRzL2NyeXB0by1qYXZhLmpzXFxcIik7XFxuICAgIGNvbnN0IERhdGEgPSBcXFwiY2xpZW50PXB3YSZkYXRhPVxcXCIgKyBkZC5kYXRhICsgXFxcIiZ0aW1lc3RhbXA9XFxcIiArIGRkLnRpbWVzdGFtcCArIFxcXCJjYzg4ZGRjOTM1N2ZmNDYxZTA4ZjA0N2FlZGVlNjkyYlxcXCI7XFxuICAgIGNvbnN0IHV0dDhEYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlVVRGOChEYXRhKTtcXG4gICAgY29uc3Qgc2hhMjU2ID0gdXR0OERhdGEudG9EaWdlc3QoKS5zaGEyNTYoKTtcXG4gICAgY29uc3Qgc2lnbiA9IG1kNShzaGEyNTYpO1xcbiAgICByZXR1cm4gc2lnbjtcXG59XFxuXFxuZnVuY3Rpb24gZW5jcnlwdChfMHgzYWU5YWMpIHtcXG4gICAgZXZhbChnZXRDcnlwdG9KUygpKTtcXG4gICAgY29uc3Qga2V5ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoJ2NjODhkZGM5MzU3ZmY0NjFlMDhmMDQ3YWVkZWU2OTJiJyk7XFxuICAgIGNvbnN0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoJ2U4OTIyNWNmYmJpbWdrY3UnKTtcXG4gICAgXzB4M2FlOWFjID0gXFxcIm9iamVjdFxcXCIgPT0gdHlwZW9mIF8weDNhZTlhYyA/IEpTT04uc3RyaW5naWZ5KF8weDNhZTlhYykgOiBfMHgzYWU5YWM7XFxuICAgIGxldCBfMHg3OTI3YWUgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShfMHgzYWU5YWMpLFxcbiAgICAgICAgXzB4MmUyOTEwID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQoXzB4NzkyN2FlLCBrZXksIHtcXG4gICAgICAgICAgICAnaXYnOiBpdixcXG4gICAgICAgICAgICAnbW9kZSc6IENyeXB0b0pTLm1vZGUuQ0ZCLFxcbiAgICAgICAgICAgICdwYWRkaW5nJzogQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcbiAgICAgICAgfSk7XFxuICAgIGNvbnN0IGRhdGEgPSBfMHgyZTI5MTAuY2lwaGVydGV4dC50b1N0cmluZygpLnRvVXBwZXJDYXNlKCksXFxuICAgICAgICBfMHg0OWNiNTIgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDAsXFxuICAgICAgICB0aW1lc3RhbXAgPSBwYXJzZUludChfMHg0OWNiNTIudG9TdHJpbmcoKSksXFxuICAgICAgICBzaWduID0gZGVjcnlwdHNpZ24oe1xcbiAgICAgICAgICAgICdjbGllbnQnOiBcXFwicHdhXFxcIixcXG4gICAgICAgICAgICAnZGF0YSc6IGRhdGEsXFxuICAgICAgICAgICAgJ3RpbWVzdGFtcCc6IHRpbWVzdGFtcFxcbiAgICAgICAgfSk7XFxuICAgIHJldHVybiB7XFxuICAgICAgICAnY2xpZW50JzogXFxcInB3YVxcXCIsXFxuICAgICAgICAnc2lnbic6IHNpZ24sXFxuICAgICAgICAndGltZXN0YW1wJzogdGltZXN0YW1wLFxcbiAgICAgICAgJ2RhdGEnOiBkYXRhXFxuICAgIH07XFxufVxcblxcbmZ1bmN0aW9uIHN0cm9uZyhkLCBjKSB7XFxuICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHN0cm9uZz48Zm9udCBjb2xvcj0jJyArIChjIHx8ICcwMDAwMDAnKSArICc+JyArIGQgKyAnPC9mb250Pjwvc3Ryb25nPic7XFxufVxcblxcbmZ1bmN0aW9uIHN0cm9uZ1IoZCwgYykge1xcbiAgICByZXR1cm4gJzxzdHJvbmc+PGZvbnQgY29sb3I9IycgKyAoYyB8fCAnMDAwMDAwJykgKyAnPicgKyBkICsgJzwvZm9udD48L3N0cm9uZz4nO1xcbn1cXG5cXG5mdW5jdGlvbiBDYXRlZ29yeShsaXN0LCBtb2RlLCBkKSB7XFxuICAgIGZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICAgICAgdmFyIExpc3QgPSBsaXN0W2ldO1xcbiAgICAgICAgdmFyIHRpdGxlID0gTGlzdC50aXRsZTtcXG4gICAgICAgIHZhciBUaXRsZSA9IChnZXRNeVZhcignY29sb3InLCAnLTEnKSA9PSBpKSA/IHN0cm9uZyh0aXRsZSwgJ0ZGNjY5OScpIDogdGl0bGU7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBUaXRsZSxcXG4gICAgICAgICAgICB1cmw6ICQoTGlzdC50eXBlKS5sYXp5UnVsZSgoaSwgbW9kZSwgTGlzdCkgPT4ge1xcbiAgICAgICAgICAgICAgICBpZiAobW9kZSA9PSAwKSB7XFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigndHlwZScsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09IDEpIHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCd0eXBlUycsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb2RlID09IDIpIHtcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCd0eXBlU1MnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2NvbG9yJywgaSk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgICAgICAgICAgfSwgaSwgbW9kZSwgTGlzdCksXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgICAgIH0pO1xcbiAgICB9XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXG4gICAgfSk7XFxuICAgIHJldHVybiBkO1xcbn1cXG5cXG5mdW5jdGlvbiBjYXRlZ29yeShsaXN0LCBkKSB7XFxuICAgIGlmIChnZXRJdGVtKCdzd2l0Y2gnLCAnb2ZmJykgPT0gJ29uJykge1xcbiAgICAgICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICAgICAgdmFyIExpc3QgPSBsaXN0W2ldO1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IExpc3QubmFtZTtcXG4gICAgICAgICAgICB2YXIgVGl0bGUgPSAoZ2V0TXlWYXIoJ0NvbG9yJywgJy0xJykgPT0gaSkgPyBzdHJvbmcodGl0bGUsICdGRjY2OTknKSA6IHRpdGxlO1xcbiAgICAgICAgICAgIGlmIChMaXN0LmlkID09ICc2JyB8fCBMaXN0LmlkID09ICcyJykge1xcblxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoTGlzdC5pZCA9PSAnNCcgfHwgTGlzdC5pZCA9PSAnNycpIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBUaXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChMaXN0LmlkKS5sYXp5UnVsZSgoaSwgTGlzdCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdpZCcsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignQ29sb3InLCBpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3R5cGUxP2Z5cGFnZSc7XFxuICAgICAgICAgICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBUaXRsZSxcXG4gICAgICAgICAgICAgICAgICAgIHVybDogJChMaXN0LmlkKS5sYXp5UnVsZSgoaSwgTGlzdCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdpZCcsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignQ29sb3InLCBpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3R5cGUyP2Z5cGFnZSc7XFxuICAgICAgICAgICAgICAgICAgICB9LCBpLCBMaXN0KSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbidcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxuICAgIC8qZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn8J+UkicsXFxuICAgICAgICB1cmw6ICQoJycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgICAgICBwdXRNeVZhcignb24tb2ZmJywgJ29mZicpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICAgICAgfSksXFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICB9KTsqL1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IChnZXRJdGVtKCdzd2l0Y2gnLCAnb2ZmJykgPT0gJ29mZicpID8gJ/Cfk4EnIDogJ/Cfk4InLFxcbiAgICAgICAgdXJsOiAkKCcnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgaWYgKGdldEl0ZW0oJ3N3aXRjaCcsICdvZmYnKSA9PSAnb2ZmJykge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKCdzd2l0Y2gnLCAnb24nKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBzZXRJdGVtKCdzd2l0Y2gnLCAnb2ZmJyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgICAgIH0pLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbidcXG4gICAgfSk7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogJ/CflI0nLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3NlYXJjaCcsXFxuICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJ1xcbiAgICB9KTtcXG4gICAgcmV0dXJuIGQ7XFxufVxcblxcbiQuZXhwb3J0cy5DYXRlZ29yeSA9IENhdGVnb3J5O1xcbiQuZXhwb3J0cy5jYXRlZ29yeSA9IGNhdGVnb3J5O1xcbiQuZXhwb3J0cy5zdHJvbmdSID0gc3Ryb25nUjtcXG4kLmV4cG9ydHMuc3Ryb25nID0gc3Ryb25nO1xcbiQuZXhwb3J0cy5lbmNyeXB0ID0gZW5jcnlwdDtcXG4kLmV4cG9ydHMuRGVjcnlwdCA9IERlY3J5cHQ7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLikaDpobXpnaIt57G75Z6L5LiAXCIsXCJwYXRoXCI6XCJ0eXBlMVwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgcGFnZSA9IE1ZX1BBR0U7XFxudmFyIFBhZ2UgPSBnZXRNeVZhcigncGFnZScsICcwJyk7XFxuLy92YXIgaWQgPSBNWV9QQVJBTVMuaWQ7XFxuLy92YXIgY29sX3R5cGUgPSBNWV9QQVJBTVMuY29sX3R5cGU7XFxudmFyIGlkID0gZ2V0TXlWYXIoJ2lkJyk7XFxuaWYgKGlkID09ICc3Jykge1xcbiAgICBpZCA9ICcyMic7XFxufSBlbHNlIGlmIChpZCA9PSAnNCcpIHtcXG4gICAgaWQgPSAnMzMnO1xcbn1cXG52YXIgcnIgPSB7XFxuICAgIFxcXCJjb2RlXFxcIjogXFxcImdldEVsZW1lbnRJdGVtYnlJZFxcXCIsXFxuICAgIFxcXCJpZFxcXCI6IGlkLFxcbiAgICBcXFwibGltaXRcXFwiOiAxMixcXG4gICAgXFxcIm1vZFxcXCI6IFxcXCJlbGVtZW50XFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcInBhZ2VcXFwiOiAoUGFnZSA9PSAwKSA/IHBhZ2UgOiBQYWdlLFxcbiAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTIsXFxuICAgIFxcXCJ2ZXJzaW9uXFxcIjogXFxcIjQuNS4wXFxcIlxcbn1cXG5jbGVhck15VmFyKCdwYWdlJyk7XFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxubG9nKGVuY3J5cHRkYXRhKVxcbnZhciB0aW1lc3RhbXAgPSBlbmNyeXB0ZGF0YS50aW1lc3RhbXAudG9TdHJpbmcoKTtcXG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxudmFyIHNpZ24gPSBlbmNyeXB0ZGF0YS5zaWduO1xcblxcbnZhciBEYXRhID0gcG9zdChcXFwiaHR0cHM6Ly96d3NmeHYuYm1hZmR4dC5jb20vcHdhLnBocFxcXCIsIHtcXG4gICAgYm9keToge1xcbiAgICAgICAgXFxcImNsaWVudFxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICAgICAgXFxcInRpbWVzdGFtcFxcXCI6IHRpbWVzdGFtcCxcXG4gICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgIFxcXCJzaWduXFxcIjogc2lnblxcbiAgICB9XFxufSlcXG52YXIgaCA9IERhdGE7XFxuXFxubGV0IGltYWdlID0gJCgpLmltYWdlKCgpID0+ICQucmVxdWlyZShcXFwiZGF0YT9ydWxlPVxcXCIgKyBNWV9USVRMRSkuZGVjcnlwdCgpKTtcXG5cXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxuXFxudmFyIGxpc3QgPSByLmRhdGEubGlzdDtcXG5mb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgdmFyIHBsYXl1cmwgPSBsaXN0W2ldLnBsYXlVcmw7XFxuICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgIHZhciBuaWNrTmFtZSA9IGxpc3RbaV0ubmlja05hbWU7XFxuICAgIHZhciB1dWlkID0gbGlzdFtpXS51dWlkO1xcbiAgICB2YXIgZGVzYyA9ICdcXFxcdPCfhpknICsgbGlzdFtpXS5jcmVhdGVkX2F0ICsgJ1xcXFx08J+UpScgKyBsaXN0W2ldLnBsYXlfY291bnQgKyAnXFxcXHTwn4+377iPJyArIG5pY2tOYW1lICsgJ1xcXFx04o+x77iPJyArIGxpc3RbaV0uZHVyYXRpb25TdHI7XFxuICAgIHZhciBpbWFnZXVybCA9IGxpc3RbaV0udGh1bWJJbWc7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgY29sX3R5cGU6IChzdG9yYWdlMC5nZXRJdGVtKCdDb2wxJywgJycpID09ICcnKSA/ICdwaWNfMV9jYXJkJyA6IHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbDEnLCAnJyksXFxuICAgICAgICB1cmw6IHBsYXl1cmwucmVwbGFjZSgnMTBwbGF5JywgJ2xvbmcnKSxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgbG9uZ0NsaWNrOiBldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2xvbmdDbGljazEnKSkucnVsZSlcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuKRoemhtemdoi3nlKjmiLct5YWo6YOo6aG1XCIsXCJwYXRoXCI6XCJ1c2VybGlzdFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgcGFnZSA9IE1ZX1BBR0U7XFxudmFyIG1vZCA9IE1ZX1BBUkFNUy5tb2Q7XFxudmFyIGNvZGUgPSBNWV9QQVJBTVMuY29kZTtcXG52YXIgY29sX3R5cGUgPSBNWV9QQVJBTVMuY29sX3R5cGU7XFxudmFyIHJyID0ge1xcbiAgICBcXFwib2F1dGhfdHlwZVxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICBcXFwib2F1dGhfaWRcXFwiOiBcXFwiZ3luVUd0THZTRGhrS0FzZzE3MDQ1MTM3ODkyODZcXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IFxcXCI0LjUuMFxcXCIsXFxuICAgIFxcXCJtb2RcXFwiOiBtb2QsXFxuICAgIFxcXCJjb2RlXFxcIjogY29kZSxcXG4gICAgXFxcInBhZ2VcXFwiOiBwYWdlLFxcbiAgICBcXFwibGltaXRcXFwiOiAyMSxcXG4gICAgXFxcInV1aWRcXFwiOiBnZXRNeVZhcigndXVpZCcsICcnKSxcXG4gICAgXFxcInRpbWVzdGFtcFxcXCI6IDEuNzA0NTQ2NjY3ODA2RTEyXFxufVxcblxcbnZhciBlbmNyeXB0ZGF0YSA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLmVuY3J5cHQocnIpO1xcblxcbnZhciB0aW1lc3RhbXAgPSBlbmNyeXB0ZGF0YS50aW1lc3RhbXAudG9TdHJpbmcoKTtcXG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxudmFyIHNpZ24gPSBlbmNyeXB0ZGF0YS5zaWduO1xcblxcbnZhciBEYXRhID0gcG9zdChcXFwiaHR0cHM6Ly96d3NmeHYuYm1hZmR4dC5jb20vcHdhLnBocFxcXCIsIHtcXG4gICAgYm9keToge1xcbiAgICAgICAgXFxcImNsaWVudFxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICAgICAgXFxcInRpbWVzdGFtcFxcXCI6IHRpbWVzdGFtcCxcXG4gICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgIFxcXCJzaWduXFxcIjogc2lnblxcbiAgICB9XFxufSlcXG52YXIgaCA9IERhdGE7XFxuXFxubGV0IGltYWdlID0gJCgpLmltYWdlKCgpID0+ICQucmVxdWlyZShcXFwiZGF0YT9ydWxlPVxcXCIgKyBNWV9USVRMRSkuZGVjcnlwdCgpKTtcXG5cXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxuaWYgKG1vZCA9PSBcXFwiY2x1YlxcXCIpIHtcXG4gICAgdmFyIGxpc3QgPSByLmRhdGEuaXRlbTtcXG59IGVsc2UgaWYgKG1vZCA9PSBcXFwidXNlclxcXCIpIHtcXG4gICAgdmFyIGxpc3QgPSByLmRhdGE7XFxufVxcbmZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICB2YXIgcGxheXVybCA9IGxpc3RbaV0ucGxheVVybDtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcXG4gICAgdmFyIGRlc2MgPSAnXFxcXHTwn5SlJyArIGxpc3RbaV0ucGxheV9jb3VudDtcXG4gICAgdmFyIGltYWdldXJsID0gbGlzdFtpXS50aHVtYkltZztcXG4gICAgdmFyIG5pY2tOYW1lID0gbGlzdFtpXS5uaWNrTmFtZTtcXG4gICAgdmFyIHV1aWQgPSBsaXN0W2ldLnV1aWQ7XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9sb25nQ2xpY2snKSkucnVsZSlcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICBpbWc6IGltYWdldXJsICsgaW1hZ2UsXFxuICAgICAgICBjb2xfdHlwZTogKHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbF9tZWRpYScsICcnKSA9PSAnJykgPyBjb2xfdHlwZSA6IHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbF9tZWRpYScsICcnKSxcXG4gICAgICAgIHVybDogcGxheXVybC5yZXBsYWNlKCcxMHBsYXknLCAnbG9uZycpLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBsb25nQ2xpY2s6IGxvbmdDbGljazFcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuKRoemhtemdoi3nlKjmiLct6aKE6KeI6aG1XCIsXCJwYXRoXCI6XCJ1c2VyXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnNldFBhZ2VUaXRsZSgnVVDkuLvpobUnKTtcXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFxcXCJkYXRhP3J1bGU9XFxcIiArIE1ZX1RJVExFKS5kZWNyeXB0KCkpO1xcbnZhciBjb2xfdHlwZSA9IE1ZX1BBUkFNUy5jb2xfdHlwZTtcXG5cXG4vL+eUqOaIt+aVsOaNrivluJblrZDmnb/lnZdcXG52YXIgcnIgPSB7XFxuICAgIFxcXCJvYXV0aF90eXBlXFxcIjogXFxcInB3YVxcXCIsXFxuICAgIFxcXCJvYXV0aF9pZFxcXCI6IFxcXCJneW5VR3RMdlNEaGtLQXNnMTcwNDUxMzc4OTI4NlxcXCIsXFxuICAgIFxcXCJ2ZXJzaW9uXFxcIjogXFxcIjQuNS4wXFxcIixcXG4gICAgXFxcIm1vZFxcXCI6IFxcXCJ1c2VyXFxcIixcXG4gICAgXFxcImNvZGVcXFwiOiBcXFwib3RoZXJcXFwiLFxcbiAgICBcXFwidXVpZFxcXCI6IGdldE15VmFyKCd1dWlkJywgJycpLFxcbiAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTJcXG59XFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxudmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbnZhciBkYXRhID0gZW5jcnlwdGRhdGEuZGF0YTtcXG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XFxudmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICBib2R5OiB7XFxuICAgICAgICBcXFwiY2xpZW50XFxcIjogXFxcInB3YVxcXCIsXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgXFxcImRhdGFcXFwiOiBkYXRhLFxcbiAgICAgICAgXFxcInNpZ25cXFwiOiBzaWduXFxuICAgIH1cXG59KVxcbnZhciBoID0gRGF0YTtcXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxudmFyIGxpc3QgPSByLmRhdGE7XFxuXFxudmFyIGNsdWJfdmlkZW9fY291bnQgPSBsaXN0LmNsdWJfdmlkZW9fY291bnQ7XFxudmFyIHZpZGVvc0NvdW50ID0gbGlzdC52aWRlb3NDb3VudDtcXG52YXIgbGlrZXNDb3VudCA9IGxpc3QubGlrZXNDb3VudDtcXG5cXG5pZiAobGlzdCAhPSAnJyAmJiBsaXN0ICE9IG51bGwgJiYgTVlfUEFHRSA9PSAxKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcbiAgICAgICAgdGl0bGU6ICfwn5Gp8J+Pv+KAjfCfprInICsgbGlzdC5uaWNrbmFtZSxcXG4gICAgICAgIGRlc2M6IGxpc3QuZmFucyArICfnsonkuJ1cXFxcdFxcXFx0JyArIGxpc3QuZm9sbG93ZWQgKyAn5YWz5rOoXFxcXHRcXFxcdCcgKyBsaXN0LmZhYnVsb3VzICsgJ+iiq+i1nlxcXFxuJyArICdcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0JyArIGxpc3QubmV3c19udW0gKyAn5biW5a2QXFxcXG4nICsgJ1xcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHTngrnlh7vwn5GG8J+Pv+WJjeW+gCcsXFxuICAgICAgICBpbWc6IGxpc3QudGh1bWIgKyBpbWFnZSxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9uZXdzP2Z5cGFnZScsXFxuICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgIG1vZDogXFxcIm5ld3NcXFwiLFxcbiAgICAgICAgICAgIGNvZGU6IFxcXCJ0YXJnZXRfbmV3c1xcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzFcXFwiLFxcbiAgICAgICAgICAgIHBhZ2VUaXRsZTogJ+W4luWtkCdcXG4gICAgICAgIH1cXG4gICAgfSk7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogJ2JpZ19ibGFua19ibG9jaycsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5J1xcbiAgICB9KTtcXG59XFxuXFxuLy/ku5bkurrkuLvpobXlrZDmnb/lnZdcXG52YXIgVHlwZWxpc3QgPSBbXFxue3RpdGxlOiAn57KJ5Lid5Zui5LiT5bGeJywgY291bnQ6IGNsdWJfdmlkZW9fY291bnQgLCBjb2xfdHlwZTogICd0ZXh0X2ljb24nLCBtb2Q6ICdjbHViJyxjb2RlOiAndmlkZW9zJ30sXFxue3RpdGxlOiAnVGHnmoTkvZzlk4EnLCBjb3VudDogdmlkZW9zQ291bnQgLCBjb2xfdHlwZTogICd0ZXh0X2ljb24nLCBtb2Q6ICd1c2VyJywgY29kZTogJ3ZpZGVvcyd9LFxcbnt0aXRsZTogJ1Rh55qE5Zac5qyiJywgY291bnQ6IGxpa2VzQ291bnQgLCBjb2xfdHlwZTogICd0ZXh0X2ljb24nLCBtb2Q6ICd1c2VyJywgY29kZTogJ2xpa2VzJ31cXG5dO1xcbmZvciAodmFyIGkgaW4gVHlwZWxpc3QpIHtcXG4gICAgdmFyIHJyID0ge1xcbiAgICAgICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgICAgIFxcXCJvYXV0aF9pZFxcXCI6IFxcXCJneW5VR3RMdlNEaGtLQXNnMTcwNDUxMzc4OTI4NlxcXCIsXFxuICAgICAgICBcXFwidmVyc2lvblxcXCI6IFxcXCI0LjUuMFxcXCIsXFxuICAgICAgICBcXFwibW9kXFxcIjogVHlwZWxpc3RbaV0ubW9kLFxcbiAgICAgICAgXFxcImNvZGVcXFwiOiBUeXBlbGlzdFtpXS5jb2RlLFxcbiAgICAgICAgXFxcInBhZ2VcXFwiOiAxLFxcbiAgICAgICAgXFxcImxpbWl0XFxcIjogMyxcXG4gICAgICAgIFxcXCJ1dWlkXFxcIjogZ2V0TXlWYXIoJ3V1aWQnLCAnJyksXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTJcXG4gICAgfVxcbiAgICB2YXIgZW5jcnlwdGRhdGEgPSAkLnJlcXVpcmUoXFxcImRhdGFcXFwiKS5lbmNyeXB0KHJyKTtcXG4gICAgdmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbiAgICB2YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxuICAgIHZhciBzaWduID0gZW5jcnlwdGRhdGEuc2lnbjtcXG4gICAgdmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICAgICAgYm9keToge1xcbiAgICAgICAgICAgIFxcXCJjbGllbnRcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgICAgICBcXFwic2lnblxcXCI6IHNpZ25cXG4gICAgICAgIH1cXG4gICAgfSlcXG4gICAgdmFyIGggPSBEYXRhO1xcbiAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG4gICAgdmFyIHIgPSAkLnJlcXVpcmUoXFxcImRhdGFcXFwiKS5EZWNyeXB0KGRhdGEpO1xcbiAgICBpZiAoVHlwZWxpc3RbaV0ubW9kID09IFxcXCJjbHViXFxcIikge1xcbiAgICAgICAgdmFyIGxpc3QgPSByLmRhdGEuaXRlbTtcXG4gICAgfSBlbHNlIGlmIChUeXBlbGlzdFtpXS5tb2QgPT0gXFxcInVzZXJcXFwiKSB7XFxuICAgICAgICB2YXIgbGlzdCA9IHIuZGF0YTtcXG4gICAgfVxcbiAgICBpZiAobGlzdCAhPSAnJyAmJiBsaXN0ICE9IG51bGwgJiYgTVlfUEFHRSA9PSAxKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiBUeXBlbGlzdFtpXS5jb2xfdHlwZSxcXG4gICAgICAgICAgICB0aXRsZTogJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuc3Ryb25nUihUeXBlbGlzdFtpXS50aXRsZSArIFR5cGVsaXN0W2ldLmNvdW50ICsgJ+mDqCcsICdGRjY2OTknKSxcXG4gICAgICAgICAgICBpbWc6ICdoaWtlcjovL2ltYWdlcy9pY29uX3JpZ2h0NScsXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3VzZXJsaXN0P2Z5cGFnZScsXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgbW9kOiBUeXBlbGlzdFtpXS5tb2QsXFxuICAgICAgICAgICAgICAgIGNvZGU6IFR5cGVsaXN0W2ldLmNvZGUsXFxuICAgICAgICAgICAgICAgIHBhZ2VUaXRsZTogVHlwZWxpc3RbaV0udGl0bGVcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICAgIGZvciAodmFyIGogaW4gbGlzdCkge1xcbiAgICAgICAgICAgIHZhciBwbGF5dXJsID0gbGlzdFtqXS5wbGF5VXJsO1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3Rbal0udGl0bGU7XFxuICAgICAgICAgICAgdmFyIGRlc2MgPSAnXFxcXHTwn5SlJyArIGxpc3Rbal0ucGxheV9jb3VudDtcXG4gICAgICAgICAgICB2YXIgaW1hZ2V1cmwgPSBsaXN0W2pdLnRodW1iSW1nO1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgZGVzYzogZGVzYyxcXG4gICAgICAgICAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogY29sX3R5cGUsXFxuICAgICAgICAgICAgICAgIHVybDogcGxheXVybC5yZXBsYWNlKCcxMHBsYXknLCAnbG9uZycpXFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiAnYmlnX2JsYW5rX2Jsb2NrJyxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG59XFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGh6aG16Z2iLeeUqOaIty3luJblrZDliJfooahcIixcInBhdGhcIjpcIm5ld3NcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIHBhZ2UgPSBNWV9QQUdFO1xcbnZhciBtb2QgPSBNWV9QQVJBTVMubW9kO1xcbnZhciBjb2RlID0gTVlfUEFSQU1TLmNvZGU7XFxudmFyIGNvbF90eXBlID0gTVlfUEFSQU1TLmNvbF90eXBlO1xcbnZhciByciA9IHtcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcInZlcnNpb25cXFwiOiBcXFwiNC41LjBcXFwiLFxcbiAgICBcXFwibW9kXFxcIjogbW9kLFxcbiAgICBcXFwiY29kZVxcXCI6IGNvZGUsXFxuICAgIFxcXCJwYWdlXFxcIjogcGFnZSxcXG4gICAgXFxcImxpbWl0XFxcIjogMTUsXFxuICAgIFxcXCJ0YXJnZXRfdXVpZFxcXCI6IGdldE15VmFyKCd1dWlkJywgJycpLFxcbiAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTJcXG59XFxuXFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxuXFxudmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbnZhciBkYXRhID0gZW5jcnlwdGRhdGEuZGF0YTtcXG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XFxuXFxudmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICBib2R5OiB7XFxuICAgICAgICBcXFwiY2xpZW50XFxcIjogXFxcInB3YVxcXCIsXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgXFxcImRhdGFcXFwiOiBkYXRhLFxcbiAgICAgICAgXFxcInNpZ25cXFwiOiBzaWduXFxuICAgIH1cXG59KVxcbnZhciBoID0gRGF0YTtcXG5cXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFxcXCJkYXRhP3J1bGU9XFxcIiArIE1ZX1RJVExFKS5kZWNyeXB0KCkpO1xcblxcbnZhciBkYXRhID0gSlNPTi5wYXJzZShoKS5kYXRhO1xcbnZhciByID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuRGVjcnlwdChkYXRhKTtcXG52YXIgbGlzdCA9IHIuZGF0YTtcXG5mb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgdmFyIGlkID0gbGlzdFtpXS5pZDtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS5jb250ZW50O1xcbiAgICB2YXIgZGVzYyA9IGxpc3RbaV0uY3JlYXRlZF9hdCArICflj5HluINcXFxcdFxcXFx0JyArIGxpc3RbaV0udmlld19udW0gKyAn5rWP6KeIXFxcXHRcXFxcdCcgKyBsaXN0W2ldLmxpa2VfbnVtICsgJ+eCuei1nic7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgY29sX3R5cGU6IGNvbF90eXBlLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL25ld3NkZXRhaWwnLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBuZXdzX2lkOiBpZCxcXG4gICAgICAgICAgICBtb2Q6IFxcXCJuZXdzXFxcIixcXG4gICAgICAgICAgICBjb2RlOiBcXFwiZGV0YWlsX3YxXFxcIixcXG4gICAgICAgICAgICBwYWdlVGl0bGU6IFxcXCLluJblrZDor6bmg4VcXFwiXFxuICAgICAgICB9XFxuICAgIH0pO1xcbn1cXG5cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLikaHpobXpnaIt55So5oi3LeW4luWtkOivpuaDhVwiLFwicGF0aFwiOlwibmV3c2RldGFpbFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG52YXIgcGFnZSA9IE1ZX1BBR0U7XFxudmFyIG1vZCA9IE1ZX1BBUkFNUy5tb2Q7XFxudmFyIGNvZGUgPSBNWV9QQVJBTVMuY29kZTtcXG52YXIgbmV3c19pZCA9IE1ZX1BBUkFNUy5uZXdzX2lkO1xcbnZhciByciA9IHtcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcInZlcnNpb25cXFwiOiBcXFwiNC41LjBcXFwiLFxcbiAgICBcXFwibW9kXFxcIjogbW9kLFxcbiAgICBcXFwiY29kZVxcXCI6IGNvZGUsXFxuICAgIFxcXCJuZXdzX2lkXFxcIjogbmV3c19pZCxcXG4gICAgXFxcInRpbWVzdGFtcFxcXCI6IDEuNzA0NTQ2NjY3ODA2RTEyXFxufVxcblxcbnZhciBlbmNyeXB0ZGF0YSA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLmVuY3J5cHQocnIpO1xcblxcbnZhciB0aW1lc3RhbXAgPSBlbmNyeXB0ZGF0YS50aW1lc3RhbXAudG9TdHJpbmcoKTtcXG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxudmFyIHNpZ24gPSBlbmNyeXB0ZGF0YS5zaWduO1xcblxcbnZhciBEYXRhID0gcG9zdChcXFwiaHR0cHM6Ly96d3NmeHYuYm1hZmR4dC5jb20vcHdhLnBocFxcXCIsIHtcXG4gICAgYm9keToge1xcbiAgICAgICAgXFxcImNsaWVudFxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICAgICAgXFxcInRpbWVzdGFtcFxcXCI6IHRpbWVzdGFtcCxcXG4gICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgIFxcXCJzaWduXFxcIjogc2lnblxcbiAgICB9XFxufSlcXG52YXIgaCA9IERhdGE7XFxuXFxubGV0IGltYWdlID0gJCgpLmltYWdlKCgpID0+ICQucmVxdWlyZShcXFwiZGF0YT9ydWxlPVxcXCIgKyBNWV9USVRMRSkuZGVjcnlwdCgpKTtcXG5cXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxudmFyIGRldGFpbCA9IHIuZGF0YS5kZXRhaWw7XFxudmFyIGNvbW1lbnRfbGlzdCA9IHIuZGF0YS5jb21tZW50X2xpc3Q7XFxudmFyIHRpdGxlID0gZGV0YWlsLnRpdGxlO1xcbnZhciBjcmVhdGVkX2F0ID0gZGV0YWlsLmNyZWF0ZWRfYXQ7XFxudmFyIGNvbnRlbnQgPSBkZXRhaWwuY29udGVudDtcXG52YXIgbWVkaWFsaXN0ID0gZGV0YWlsLm1lZGlhcztcXG52YXIgY29tbWVudF9udW0gPSBkZXRhaWwuY29tbWVudF9udW07XFxudmFyIG5pY2tOYW1lID0gZGV0YWlsLm5pY2tuYW1lO1xcbnZhciB1dWlkID0gZGV0YWlsLnV1aWQ7XFxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9sb25nQ2xpY2snKSkucnVsZSlcXG4vL+agh+mimFxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5Y+R5biD5LqOOicgKyBjcmVhdGVkX2F0ICsgJ1xcXFx04pyN8J+Pve+4jycgKyB0aXRsZSxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgIGNvbF90eXBlOiAncmljaF90ZXh0JyxcXG59KTtcXG5cXG4vL+ato+aWh1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBjb250ZW50LFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgY29sX3R5cGU6ICdyaWNoX3RleHQnLFxcbn0pO1xcblxcbi8v6KeG6aKRXFxuZm9yICh2YXIgaSBpbiBtZWRpYWxpc3QpIHtcXG4gICAgdmFyIGltYWdldXJsID0gbWVkaWFsaXN0W2ldLm1lZGlhX3VybDtcXG4gICAgaWYgKGltYWdldXJsLmluY2x1ZGVzKCdtM3U4JykpIHtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6ICfop4bpopHilrbvuI8nICsgaSxcXG4gICAgICAgICAgICB1cmw6IGltYWdldXJsLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8zJyxcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufVxcblxcbi8v5Zu+54mHXFxuZm9yICh2YXIgaSBpbiBtZWRpYWxpc3QpIHtcXG4gICAgdmFyIGltYWdldXJsID0gbWVkaWFsaXN0W2ldLm1lZGlhX3VybDtcXG4gICAgaWYgKCFpbWFnZXVybC5pbmNsdWRlcygnbTN1OCcpKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGltZzogaW1hZ2V1cmwgKyBpbWFnZSxcXG4gICAgICAgICAgICB1cmw6IGltYWdldXJsICsgaW1hZ2UsXFxuICAgICAgICAgICAgY29sX3R5cGU6IChzdG9yYWdlMC5nZXRJdGVtKCdDb2xfdGV4dCcsICcnKSA9PSAnJykgPyAncGljXzFfZnVsbCcgOiBzdG9yYWdlMC5nZXRJdGVtKCdDb2xfdGV4dCcsICcnKSxcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IGxvbmdDbGljazJcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn1cXG5cXG4vL+ivhOiuuuWMulxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5YWo6YOo6K+E6K66XFxcXHQoJyArIGNvbW1lbnRfbnVtICsgJyknLFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbn0pO1xcbmZvciAodmFyIGkgaW4gY29tbWVudF9saXN0KSB7XFxuICAgIHZhciBuaWNrbmFtZSA9IGNvbW1lbnRfbGlzdFtpXS5uaWNrbmFtZTtcXG4gICAgdmFyIHNleFR5cGUgPSBjb21tZW50X2xpc3RbaV0uc2V4VHlwZTtcXG4gICAgdmFyIHNleCA9IChzZXhUeXBlID09ICcwJykgPyAnXFxcXHTwn5Gp8J+PvVxcXFx0JyA6ICdcXFxcdPCfkajwn4+9XFxcXHQnO1xcbiAgICB2YXIgY2l0eW5hbWUgPSBjb21tZW50X2xpc3RbaV0uY2l0eW5hbWU7XFxuICAgIHZhciBjcmVhdGVkX2F0ID0gY29tbWVudF9saXN0W2ldLmNyZWF0ZWRfYXQ7XFxuICAgIHZhciBjb21tZW50ID0gY29tbWVudF9saXN0W2ldLmNvbW1lbnQ7XFxuICAgIHZhciB0aHVtYiA9IGNvbW1lbnRfbGlzdFtpXS50aHVtYjtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBuaWNrbmFtZSArIHNleCxcXG4gICAgICAgIGRlc2M6IGNpdHluYW1lICsgJ8K3XFxcXHQnICsgY3JlYXRlZF9hdCxcXG4gICAgICAgIGltZzogdGh1bWIgKyBpbWFnZSxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcbiAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInXFxuICAgIH0pO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGNvbW1lbnQsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJ1xcbiAgICB9KTtcXG59XFxuXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGg6aG16Z2iLeexu+Wei+S6jFwiLFwicGF0aFwiOlwidHlwZTJcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIHBhZ2UgPSBNWV9QQUdFO1xcbnZhciBQYWdlID0gZ2V0TXlWYXIoJ3BhZ2UnLCAnMCcpO1xcbnZhciBpZCA9IGdldE15VmFyKCdpZCcpO1xcbnZhciByciA9IHtcXG4gICAgXFxcImNvZGVcXFwiOiBcXFwiZ2V0Q29uc3RydWN0QnlJZFxcXCIsXFxuICAgIFxcXCJpZFxcXCI6IGlkLFxcbiAgICBcXFwibGltaXRcXFwiOiAxMixcXG4gICAgXFxcIm1vZFxcXCI6IFxcXCJlbGVtZW50XFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcInBhZ2VcXFwiOiAoUGFnZSA9PSAwKSA/IHBhZ2UgOiBQYWdlLFxcbiAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTIsXFxuICAgIFxcXCJ2ZXJzaW9uXFxcIjogXFxcIjQuNS4wXFxcIlxcbn1cXG5jbGVhck15VmFyKCdwYWdlJyk7XFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxuXFxudmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbnZhciBkYXRhID0gZW5jcnlwdGRhdGEuZGF0YTtcXG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XFxuXFxudmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICBib2R5OiB7XFxuICAgICAgICBcXFwiY2xpZW50XFxcIjogXFxcInB3YVxcXCIsXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgXFxcImRhdGFcXFwiOiBkYXRhLFxcbiAgICAgICAgXFxcInNpZ25cXFwiOiBzaWduXFxuICAgIH1cXG59KVxcbnZhciBoID0gRGF0YTtcXG5cXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFxcXCJkYXRhP3J1bGU9XFxcIiArIE1ZX1RJVExFKS5kZWNyeXB0KCkpO1xcblxcbnZhciBkYXRhID0gSlNPTi5wYXJzZShoKS5kYXRhO1xcbnZhciByID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuRGVjcnlwdChkYXRhKTtcXG52YXIgTGlzdCA9IHIuZGF0YTtcXG5mb3IgKHZhciBpIGluIExpc3QpIHtcXG4gICAgdmFyIHRpdGxlID0gTGlzdFtpXS50aXRsZTtcXG4gICAgdmFyIGlkID0gTGlzdFtpXS5pZDtcXG4gICAgdmFyIGxpc3QgPSBMaXN0W2ldLmxpc3Q7XFxuICAgIGlmICghdGl0bGUuaW5jbHVkZXMoJ2Jhbm5lcicpKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF9pY29uJyxcXG4gICAgICAgICAgICB0aXRsZTogJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuc3Ryb25nUih0aXRsZSwgJ0ZGNjY5OScpLFxcbiAgICAgICAgICAgIGltZzogJ2hpa2VyOi8vaW1hZ2VzL2ljb25fcmlnaHQ1JyxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvcGxheWxpc3Q/ZnlwYWdlJyxcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBpZDogaWQsXFxuICAgICAgICAgICAgICAgIHBhZ2VUaXRsZTogdGl0bGVcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICAgIGZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICAgICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgICAgICAgICAgdmFyIHBsYXlVcmwgPSBsaXN0W2ldLnBsYXlVcmw7XFxuICAgICAgICAgICAgdmFyIG5pY2tOYW1lID0gbGlzdFtpXS5uaWNrTmFtZTtcXG4gICAgICAgICAgICB2YXIgdXVpZCA9IGxpc3RbaV0udXVpZDtcXG4gICAgICAgICAgICB2YXIgZGVzYyA9ICfwn5SlJyArIGxpc3RbaV0ucGxheV9jb3VudCArICdcXFxcdFxcXFx0XFxcXHRcXFxcdFxcXFx0XFxcXHTij7HvuI8nICsgbGlzdFtpXS5kdXJhdGlvblN0cjtcXG4gICAgICAgICAgICB2YXIgaW1hZ2V1cmwgPSBsaXN0W2ldLnRodW1iSW1nO1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgICAgICAgICAgZGVzYzogZGVzYyxcXG4gICAgICAgICAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogKHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbDInLCAnJykgPT0gJycpID8gJ21vdmllXzInIDogc3RvcmFnZTAuZ2V0SXRlbSgnQ29sMicsICcnKSxcXG4gICAgICAgICAgICAgICAgdXJsOiBwbGF5VXJsLnJlcGxhY2UoJzEwcGxheScsICdsb25nJyksXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvbG9uZ0NsaWNrMicpKS5ydWxlKVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiAnYmlnX2JsYW5rX2Jsb2NrJyxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG59XFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGg6aG16Z2iLeexu+Wei+S6jF/kuoznuqdcIixcInBhdGhcIjpcInBsYXlsaXN0XCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnZhciBwYWdlID0gTVlfUEFHRTtcXG52YXIgUGFnZSA9IGdldE15VmFyKCdwYWdlJywgJzAnKTtcXG52YXIgaWQgPSBNWV9QQVJBTVMuaWQ7XFxudmFyIHR5cGVsaXN0ID0gW3tcXG4gICAgdGl0bGU6ICfmnIDmlrAnLFxcbiAgICB0eXBlOiAnbmV3J1xcbn0sIHtcXG4gICAgdGl0bGU6ICfmnIDng60nLFxcbiAgICB0eXBlOiAnaG90J1xcbn1dO1xcblxcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuQ2F0ZWdvcnkodHlwZWxpc3QsMCxkKTtcXG59XFxudmFyIHJyID0ge1xcbiAgICBcXFwiY29kZVxcXCI6IFxcXCJnZXRFbGVtZW50SXRlbWJ5SWRcXFwiLFxcbiAgICBcXFwiaWRcXFwiOiBpZCxcXG4gICAgXFxcImxpbWl0XFxcIjogMTIsXFxuICAgIFxcXCJtb2RcXFwiOiBcXFwiZWxlbWVudFxcXCIsXFxuICAgIFxcXCJ0eXBlXFxcIjogZ2V0TXlWYXIoJ3R5cGUnLCAnbmV3JyksXFxuICAgIFxcXCJvYXV0aF9pZFxcXCI6IFxcXCJneW5VR3RMdlNEaGtLQXNnMTcwNDUxMzc4OTI4NlxcXCIsXFxuICAgIFxcXCJvYXV0aF90eXBlXFxcIjogXFxcInB3YVxcXCIsXFxuICAgIFxcXCJwYWdlXFxcIjogKFBhZ2UgPT0gMCkgPyBwYWdlIDogUGFnZSxcXG4gICAgXFxcInRpbWVzdGFtcFxcXCI6IDEuNzA0NTQ2NjY3ODA2RTEyLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IFxcXCI0LjUuMFxcXCJcXG59XFxuY2xlYXJNeVZhcigncGFnZScpO1xcbnZhciBlbmNyeXB0ZGF0YSA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLmVuY3J5cHQocnIpO1xcblxcbnZhciB0aW1lc3RhbXAgPSBlbmNyeXB0ZGF0YS50aW1lc3RhbXAudG9TdHJpbmcoKTtcXG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxudmFyIHNpZ24gPSBlbmNyeXB0ZGF0YS5zaWduO1xcblxcbnZhciBEYXRhID0gcG9zdChcXFwiaHR0cHM6Ly96d3NmeHYuYm1hZmR4dC5jb20vcHdhLnBocFxcXCIsIHtcXG4gICAgYm9keToge1xcbiAgICAgICAgXFxcImNsaWVudFxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICAgICAgXFxcInRpbWVzdGFtcFxcXCI6IHRpbWVzdGFtcCxcXG4gICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgIFxcXCJzaWduXFxcIjogc2lnblxcbiAgICB9XFxufSlcXG52YXIgaCA9IERhdGE7XFxuXFxubGV0IGltYWdlID0gJCgpLmltYWdlKCgpID0+ICQucmVxdWlyZShcXFwiZGF0YT9ydWxlPVxcXCIgKyBNWV9USVRMRSkuZGVjcnlwdCgpKTtcXG5cXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxuXFxudmFyIGxpc3QgPSByLmRhdGEubGlzdDtcXG5mb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgdmFyIHBsYXl1cmwgPSBsaXN0W2ldLnBsYXlVcmw7XFxuICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgIHZhciBuaWNrTmFtZSA9IGxpc3RbaV0ubmlja05hbWU7XFxuICAgIHZhciB1dWlkID0gbGlzdFtpXS51dWlkO1xcbiAgICB2YXIgZGVzYyA9ICdcXFxcdPCflKUnICsgbGlzdFtpXS5wbGF5X2NvdW50ICsgJ1xcXFx04o+x77iPJyArIGxpc3RbaV0uZHVyYXRpb25TdHI7XFxuICAgIHZhciBpbWFnZXVybCA9IGxpc3RbaV0udGh1bWJJbWc7IGV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvbG9uZ0NsaWNrJykpLnJ1bGUpXFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgY29sX3R5cGU6IChzdG9yYWdlMC5nZXRJdGVtKCdDb2xfbWVkaWEnLCAnJykgPT0gJycpID8gJ21vdmllXzInIDogc3RvcmFnZTAuZ2V0SXRlbSgnQ29sX21lZGlhJywgJycpLFxcbiAgICAgICAgdXJsOiBwbGF5dXJsLnJlcGxhY2UoJzEwcGxheScsICdsb25nJyksXFxuICAgICAgICBleHRyYTogeyBcXG4gICAgICAgICAgICBsb25nQ2xpY2s6IGxvbmdDbGljazFcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcblxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuKRqOWFqOmDqOmhtV9sb25nQ2xpY2tcIixcInBhdGhcIjpcImxvbmdDbGlja1wiLFwicnVsZVwiOlwiLy9jb2xfdHlwZeWqkuS9k+aYvuekuuagt+W8j1xcbnZhciBsb25nQ2xpY2sxID0gW3tcXG4gICAgdGl0bGU6ICfmoLflvI8nLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICB2YXIgVHlwZSA9IFtcXFwibW92aWVfMVxcXCIsIFxcXCJtb3ZpZV8yXFxcIiwgXFxcIm1vdmllXzNcXFwiLCBcXFwibW92aWVfMV9sZWZ0X3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyXFxcIiwgXFxcInBpY18xXFxcIiwgXFxcInBpY18yXFxcIiwgXFxcInBpY18zXFxcIiwgXFxcInBpY18xX2Z1bGxcXFwiLCBcXFwicGljXzFfY2VudGVyXFxcIiwgXFxcInBpY18xX2NhcmRcXFwiLCBcXFwicGljXzJfY2FyZFxcXCIsIFxcXCJwaWNfM19zcXVhcmVcXFwiLCBcXFwiY2FyZF9waWNfMVxcXCIsIFxcXCJjYXJkX3BpY18yXFxcIiwgXFxcImNhcmRfcGljXzNcXFwiLCBcXFwiY2FyZF9waWNfM19jZW50ZXJcXFwiLCBcXFwibG9uZ190ZXh0XFxcIiwgXFxcInJpY2hfdGV4dFxcXCIsIFxcXCJzY3JvbGxfYnV0dG9uXFxcIiwgXFxcImZsZXhfYnV0dG9uXFxcIl07XFxuICAgICAgICB2YXIgVHlwZTEgPSBbXTtcXG4gICAgICAgIGZvciAodmFyIGkgaW4gVHlwZSkge1xcbiAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgIHZhciBDb2wgPSAoY29sLmluY2x1ZGVzKCfwn5GJ8J+PvScpKSA/IGNvbC5zcGxpdCgn8J+RifCfj70nKVsxXSA6IGNvbDtcXG4gICAgICAgICAgICBpZiAoVHlwZVtpXSA9PSBDb2wpIHtcXG4gICAgICAgICAgICAgICAgVHlwZVtpXSA9ICfwn5GJ8J+PvScgKyBUeXBlW2ldO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIFR5cGVbaV0gPSBUeXBlW2ldO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBUeXBlMVtpXSA9IFR5cGVbaV07XFxuICAgICAgICB9XFxuICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLpgInmi6nnsbvlnotcXFwiLFxcbiAgICAgICAgICAgIGNvbDogMixcXG4gICAgICAgICAgICBvcHRpb25zOiBUeXBlMSxcXG4gICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ3R5cGUnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgICAgICB2YXIgQ29sID0gKGNvbC5pbmNsdWRlcygn8J+RifCfj70nKSkgPyBjb2wuc3BsaXQoJ/CfkYnwn4+9JylbMV0gOiBjb2w7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ0NvbF9tZWRpYScsIENvbCk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH0pO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9KX0se1xcbiAgICB0aXRsZTogJ+aQnOe0oicsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3NlYXJjaCc7XFxuICAgIH0pLFxcbn0se1xcbiAgICB0aXRsZTogJ+mmlumhtScsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KSxcXG59LCB7XFxuICAgIHRpdGxlOiAn56ysJyArIE1ZX1BBR0UgKyAn6aG1JyxcXG4gICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSksXFxufSwge1xcbiAgICB0aXRsZTogJ+i3s+i9rCcsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiAkKCcnKS5pbnB1dCgoKSA9PiB7XFxuICAgICAgICAgICAgaW5wdXQgPSBpbnB1dDtcXG4gICAgICAgICAgICBwdXRNeVZhcigncGFnZScsIGlucHV0KTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgfSk7XFxuICAgIH0pLFxcbn0sIHtcXG4gICAgdGl0bGU6IG5pY2tOYW1lLFxcbiAgICBqczogJC50b1N0cmluZygodXVpZCkgPT4ge1xcbiAgICAgICAgcHV0TXlWYXIoJ3V1aWQnLCB1dWlkKTtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3VzZXIjaW1tZXJzaXZlVGhlbWUjJztcXG4gICAgfSwgdXVpZCksXFxufV1cXG5zdG9yYWdlMC5nZXRJdGVtKCdsb25nQ2xpY2sxJywgbG9uZ0NsaWNrMSk7XFxuXFxuLy9jb2xfdHlwZeaWh+acrOaYvuekuuagt+W8j1xcbnZhciBsb25nQ2xpY2syID0gW3tcXG4gICAgdGl0bGU6ICfmoLflvI8nLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICB2YXIgVHlwZSA9IFtcXFwibW92aWVfMVxcXCIsIFxcXCJtb3ZpZV8yXFxcIiwgXFxcIm1vdmllXzNcXFwiLCBcXFwibW92aWVfMV9sZWZ0X3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyXFxcIiwgXFxcInBpY18xXFxcIiwgXFxcInBpY18yXFxcIiwgXFxcInBpY18zXFxcIiwgXFxcInBpY18xX2Z1bGxcXFwiLCBcXFwicGljXzFfY2VudGVyXFxcIiwgXFxcInBpY18xX2NhcmRcXFwiLCBcXFwicGljXzJfY2FyZFxcXCIsIFxcXCJwaWNfM19zcXVhcmVcXFwiLCBcXFwiY2FyZF9waWNfMVxcXCIsIFxcXCJjYXJkX3BpY18yXFxcIiwgXFxcImNhcmRfcGljXzNcXFwiLCBcXFwiY2FyZF9waWNfM19jZW50ZXJcXFwiLCBcXFwibG9uZ190ZXh0XFxcIiwgXFxcInJpY2hfdGV4dFxcXCIsIFxcXCJzY3JvbGxfYnV0dG9uXFxcIiwgXFxcImZsZXhfYnV0dG9uXFxcIl07XFxuICAgICAgICB2YXIgVHlwZTEgPSBbXTtcXG4gICAgICAgIGZvciAodmFyIGkgaW4gVHlwZSkge1xcbiAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgIHZhciBDb2wgPSAoY29sLmluY2x1ZGVzKCfwn5GJ8J+PvScpKSA/IGNvbC5zcGxpdCgn8J+RifCfj70nKVsxXSA6IGNvbDtcXG4gICAgICAgICAgICBpZiAoVHlwZVtpXSA9PSBDb2wpIHtcXG4gICAgICAgICAgICAgICAgVHlwZVtpXSA9ICfwn5GJ8J+PvScgKyBUeXBlW2ldO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIFR5cGVbaV0gPSBUeXBlW2ldO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBUeXBlMVtpXSA9IFR5cGVbaV07XFxuICAgICAgICB9XFxuICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLpgInmi6nnsbvlnotcXFwiLFxcbiAgICAgICAgICAgIGNvbDogMixcXG4gICAgICAgICAgICBvcHRpb25zOiBUeXBlMSxcXG4gICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ3R5cGUnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgICAgICB2YXIgQ29sID0gKGNvbC5pbmNsdWRlcygn8J+RifCfj70nKSkgPyBjb2wuc3BsaXQoJ/CfkYnwn4+9JylbMV0gOiBjb2w7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ0NvbF90ZXh0JywgQ29sKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0pXFxufSx7XFxuICAgIHRpdGxlOiBuaWNrTmFtZSxcXG4gICAganM6ICQudG9TdHJpbmcoKHV1aWQpID0+IHtcXG4gICAgICAgIHB1dE15VmFyKCd1dWlkJywgdXVpZCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS91c2VyI2ltbWVyc2l2ZVRoZW1lIyc7XFxuICAgIH0sIHV1aWQpLFxcbn1dXFxuc3RvcmFnZTAuc2V0SXRlbSgnbG9uZ0NsaWNrMicsIGxvbmdDbGljazIpO1xcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGo57G75Z6L5LqMX2xvbmdDbGlja1wiLFwicGF0aFwiOlwibG9uZ0NsaWNrMlwiLFwicnVsZVwiOlwiLy9jb2xfdHlwZeaYvuekuuagt+W8j1xcblt7XFxuICAgIHRpdGxlOiAn5qC35byPJyxcXG4gICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgdmFyIFR5cGUgPSBbXFxcIm1vdmllXzFcXFwiLCBcXFwibW92aWVfMlxcXCIsIFxcXCJtb3ZpZV8zXFxcIiwgXFxcIm1vdmllXzFfbGVmdF9waWNcXFwiLCBcXFwibW92aWVfMV92ZXJ0aWNhbF9waWNcXFwiLCBcXFwibW92aWVfMV92ZXJ0aWNhbF9waWNfYmx1clxcXCIsIFxcXCJwaWNfMVxcXCIsIFxcXCJwaWNfMlxcXCIsIFxcXCJwaWNfM1xcXCIsIFxcXCJwaWNfMV9mdWxsXFxcIiwgXFxcInBpY18xX2NlbnRlclxcXCIsIFxcXCJwaWNfMV9jYXJkXFxcIiwgXFxcInBpY18yX2NhcmRcXFwiLCBcXFwicGljXzNfc3F1YXJlXFxcIiwgXFxcImNhcmRfcGljXzFcXFwiLCBcXFwiY2FyZF9waWNfMlxcXCIsIFxcXCJjYXJkX3BpY18zXFxcIiwgXFxcImNhcmRfcGljXzNfY2VudGVyXFxcIiwgXFxcImxvbmdfdGV4dFxcXCIsIFxcXCJyaWNoX3RleHRcXFwiLCBcXFwic2Nyb2xsX2J1dHRvblxcXCIsIFxcXCJmbGV4X2J1dHRvblxcXCJdO1xcbiAgICAgICAgdmFyIFR5cGUxID0gW107XFxuICAgICAgICBmb3IgKHZhciBpIGluIFR5cGUpIHtcXG4gICAgICAgICAgICB2YXIgY29sID0gc3RvcmFnZTAuZ2V0SXRlbSgndHlwZScsICcnKTtcXG4gICAgICAgICAgICB2YXIgQ29sID0gKGNvbC5pbmNsdWRlcygn8J+RifCfj70nKSkgPyBjb2wuc3BsaXQoJ/CfkYnwn4+9JylbMV0gOiBjb2w7XFxuICAgICAgICAgICAgaWYgKFR5cGVbaV0gPT0gQ29sKSB7XFxuICAgICAgICAgICAgICAgIFR5cGVbaV0gPSAn8J+RifCfj70nICsgVHlwZVtpXTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBUeXBlW2ldID0gVHlwZVtpXTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgVHlwZTFbaV0gPSBUeXBlW2ldO1xcbiAgICAgICAgfVxcbiAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwi6YCJ5oup57G75Z6LXFxcIixcXG4gICAgICAgICAgICBjb2w6IDIsXFxuICAgICAgICAgICAgb3B0aW9uczogVHlwZTEsXFxuICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgICAgICAgICBzdG9yYWdlMC5zZXRJdGVtKCd0eXBlJywgaW5wdXQpO1xcbiAgICAgICAgICAgICAgICB2YXIgY29sID0gc3RvcmFnZTAuZ2V0SXRlbSgndHlwZScsICcnKTtcXG4gICAgICAgICAgICAgICAgdmFyIENvbCA9IChjb2wuaW5jbHVkZXMoJ/CfkYnwn4+9JykpID8gY29sLnNwbGl0KCfwn5GJ8J+PvScpWzFdIDogY29sO1xcbiAgICAgICAgICAgICAgICBzdG9yYWdlMC5zZXRJdGVtKCdDb2wyJywgQ29sKTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0pLFxcbn0sIHtcXG4gICAgdGl0bGU6ICfmkJzntKInLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS9zZWFyY2gnO1xcbiAgICB9KSxcXG59LHtcXG4gICAgdGl0bGU6ICfpppbpobUnLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSksXFxufSwge1xcbiAgICB0aXRsZTogJ+esrCcgKyBNWV9QQUdFICsgJ+mhtScsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgIH0pLFxcbn0sIHtcXG4gICAgdGl0bGU6ICfot7PovawnLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICByZXR1cm4gJCgnJykuaW5wdXQoKCkgPT4ge1xcbiAgICAgICAgICAgIGlucHV0ID0gaW5wdXQ7XFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3BhZ2UnLCBpbnB1dCk7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgIH0pO1xcbiAgICB9KSxcXG59LCB7XFxuICAgIHRpdGxlOiBuaWNrTmFtZSxcXG4gICAganM6ICQudG9TdHJpbmcoKHV1aWQpID0+IHtcXG4gICAgICAgIHB1dE15VmFyKCd1dWlkJywgdXVpZCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vcGFnZS91c2VyI2ltbWVyc2l2ZVRoZW1lIyc7XFxuICAgIH0sIHV1aWQpLFxcbn1dXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLikajnsbvlnovkuIBfbG9uZ0NsaWNrXCIsXCJwYXRoXCI6XCJsb25nQ2xpY2sxXCIsXCJydWxlXCI6XCIvL2NvbF90eXBl5pi+56S65qC35byPXFxuW3tcXG4gICAgdGl0bGU6ICfmoLflvI8nLFxcbiAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICB2YXIgVHlwZSA9IFtcXFwibW92aWVfMVxcXCIsIFxcXCJtb3ZpZV8yXFxcIiwgXFxcIm1vdmllXzNcXFwiLCBcXFwibW92aWVfMV9sZWZ0X3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1xcXCIsIFxcXCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyXFxcIiwgXFxcInBpY18xXFxcIiwgXFxcInBpY18yXFxcIiwgXFxcInBpY18zXFxcIiwgXFxcInBpY18xX2Z1bGxcXFwiLCBcXFwicGljXzFfY2VudGVyXFxcIiwgXFxcInBpY18xX2NhcmRcXFwiLCBcXFwicGljXzJfY2FyZFxcXCIsIFxcXCJwaWNfM19zcXVhcmVcXFwiLCBcXFwiY2FyZF9waWNfMVxcXCIsIFxcXCJjYXJkX3BpY18yXFxcIiwgXFxcImNhcmRfcGljXzNcXFwiLCBcXFwiY2FyZF9waWNfM19jZW50ZXJcXFwiLCBcXFwibG9uZ190ZXh0XFxcIiwgXFxcInJpY2hfdGV4dFxcXCIsIFxcXCJzY3JvbGxfYnV0dG9uXFxcIiwgXFxcImZsZXhfYnV0dG9uXFxcIl07XFxuICAgICAgICB2YXIgVHlwZTEgPSBbXTtcXG4gICAgICAgIGZvciAodmFyIGkgaW4gVHlwZSkge1xcbiAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgIHZhciBDb2wgPSAoY29sLmluY2x1ZGVzKCfwn5GJ8J+PvScpKSA/IGNvbC5zcGxpdCgn8J+RifCfj70nKVsxXSA6IGNvbDtcXG4gICAgICAgICAgICBpZiAoVHlwZVtpXSA9PSBDb2wpIHtcXG4gICAgICAgICAgICAgICAgVHlwZVtpXSA9ICfwn5GJ8J+PvScgKyBUeXBlW2ldO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIFR5cGVbaV0gPSBUeXBlW2ldO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBUeXBlMVtpXSA9IFR5cGVbaV07XFxuICAgICAgICB9XFxuICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxuICAgICAgICAgICAgdGl0bGU6IFxcXCLpgInmi6nnsbvlnotcXFwiLFxcbiAgICAgICAgICAgIGNvbDogMixcXG4gICAgICAgICAgICBvcHRpb25zOiBUeXBlMSxcXG4gICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ3R5cGUnLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgIHZhciBjb2wgPSBzdG9yYWdlMC5nZXRJdGVtKCd0eXBlJywgJycpO1xcbiAgICAgICAgICAgICAgICB2YXIgQ29sID0gKGNvbC5pbmNsdWRlcygn8J+RifCfj70nKSkgPyBjb2wuc3BsaXQoJ/CfkYnwn4+9JylbMV0gOiBjb2w7XFxuICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ0NvbDEnLCBDb2wpO1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSksXFxufSwge1xcbiAgICB0aXRsZTogJ+aQnOe0oicsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3NlYXJjaCc7XFxuICAgIH0pLFxcbn0se1xcbiAgICB0aXRsZTogJ+mmlumhtScsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xcbiAgICB9KSxcXG59LCB7XFxuICAgIHRpdGxlOiAn56ysJyArIE1ZX1BBR0UgKyAn6aG1JyxcXG4gICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5JztcXG4gICAgfSksXFxufSwge1xcbiAgICB0aXRsZTogJ+i3s+i9rCcsXFxuICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHJldHVybiAkKCcnKS5pbnB1dCgoKSA9PiB7XFxuICAgICAgICAgICAgaW5wdXQgPSBpbnB1dDtcXG4gICAgICAgICAgICBwdXRNeVZhcigncGFnZScsIGlucHV0KTtcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgfSk7XFxuICAgIH0pLFxcbn0sIHtcXG4gICAgdGl0bGU6IG5pY2tOYW1lLFxcbiAgICBqczogJC50b1N0cmluZygodXVpZCkgPT4ge1xcbiAgICAgICAgcHV0TXlWYXIoJ3V1aWQnLCB1dWlkKTtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3VzZXIjaW1tZXJzaXZlVGhlbWUjJztcXG4gICAgfSwgdXVpZCksXFxufV1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuKRoumhtemdoi3mkJzntKJcIixcInBhdGhcIjpcInNlYXJjaFwiLFwicnVsZVwiOlwianM6XFxudmFyIGQgPSBbXTtcXG5zZXRQYWdlVGl0bGUoJ+aQnOe0oumhtScpO1xcbnZhciByciA9IHtcXG4gICAgXFxcImNvZGVcXFwiOiBcXFwic2VhcmNoSW5kZXhcXFwiLFxcbiAgICBcXFwibW9kXFxcIjogXFxcImluZGV4XFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcInRpbWVzdGFtcFxcXCI6IDEuNzA0NTQ2NjY3ODA2RTEyLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IFxcXCI0LjUuMFxcXCJcXG59XFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxuXFxudmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbnZhciBkYXRhID0gZW5jcnlwdGRhdGEuZGF0YTtcXG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XFxuXFxudmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICBib2R5OiB7XFxuICAgICAgICBcXFwiY2xpZW50XFxcIjogXFxcInB3YVxcXCIsXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgXFxcImRhdGFcXFwiOiBkYXRhLFxcbiAgICAgICAgXFxcInNpZ25cXFwiOiBzaWduXFxuICAgIH1cXG59KVxcbnZhciBoID0gRGF0YTtcXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFxcXCJkYXRhP3J1bGU9XFxcIiArIE1ZX1RJVExFKS5kZWNyeXB0KCkpO1xcbnZhciBkYXRhID0gSlNPTi5wYXJzZShoKS5kYXRhO1xcbnZhciByID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuRGVjcnlwdChkYXRhKTtcXG52YXIgbGlzdCA9IHIuZGF0YS5ob3RTZWFyY2g7XFxudmFyIGxpc3QxID0gci5kYXRhLmhvdFRvcGljO1xcbnZhciBsaXN0MiA9IHIuZGF0YS5jYXRlZ29yeVswXS5tdmxpc3Q7XFxudmFyIHRpdGxlMiA9IHIuZGF0YS5jYXRlZ29yeVswXS5uYW1lO1xcbnZhciBkZXNjMiA9IHIuZGF0YS5jYXRlZ29yeVswXS5kZXNjO1xcblxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiAn5pCc57SiJyxcXG4gICAgdXJsOiAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgIHB1dFZhcigna2V5d29yZCcsIGlucHV0KTtcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL3NlYXJjaF9yZXN1bHQ/ZnlwYWdlJztcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRWYXIoJ2tleXdvcmQnLCAnJyksXFxuICAgICAgICBwYWdlVGl0bGU6ICfmkJzntKLnu5PmnpwnXFxuICAgIH1cXG59KTtcXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2JpZ19ibGFua19ibG9jaycsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLnN0cm9uZ1IoJ+eDreaQnOamnCcsICdGRjY2OTknKSxcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2ljb24nLFxcbiAgICB1cmw6ICdoaWtlcjovL2VtcHR5J1xcbn0pO1xcbmZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICB2YXIgdGl0bGUgPSBsaXN0W2ldO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxuICAgICAgICB1cmw6IFxcXCJjb3B5Oi8vXFxcIiArIHRpdGxlXFxuICAgIH0pO1xcbn1cXG5kLnB1c2goe1xcbiAgICBjb2xfdHlwZTogJ2JpZ19ibGFua19ibG9jaycsXFxuICAgIHVybDogJ2hpa2VyOi8vZW1wdHknXFxufSk7XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLnN0cm9uZ1IoJzkx54Ot54K5JywgJ0ZGNjY5OScpLFxcbiAgICBpbWc6ICdoaWtlcjovL2ltYWdlcy9pY29uX3JpZ2h0NScsXFxuICAgIGNvbF90eXBlOiAndGV4dF9pY29uJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3NlYXJjaF9ob3RUb3BpY3MnXFxufSk7XFxuZm9yICh2YXIgaSBpbiBsaXN0MSkge1xcbiAgICB2YXIgdGl0bGUgPSBsaXN0MVtpXS50aXRsZTtcXG4gICAgdmFyIGlkID0gbGlzdDFbaV0udmFsdWU7XFxuICAgIHZhciBudW0gPSBOdW1iZXIoaSkgKyAxO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IG51bSArICcuXFxcXHQnICsgdGl0bGUsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2Uvc2VhcmNoX2hvdFRvcGljc19kZXRhaWwnLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBpZDogaWQsXFxuICAgICAgICAgICAgcGFnZVRpdGxlOiAn6K+m5oOFJ1xcbiAgICAgIH1cXG4gICAgfSk7XFxufVxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiAnYmlnX2JsYW5rX2Jsb2NrJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSdcXG59KTtcXG5cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogZGVzYzIgKyB0aXRsZTIsXFxuICAgIGNvbF90eXBlOiAndGV4dF9pY29uJyxcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eSdcXG59KTtcXG5mb3IgKHZhciBpIGluIGxpc3QyKSB7XFxuICAgIHZhciB0aXRsZSA9IGxpc3QyW2ldLnRpdGxlO1xcbiAgICB2YXIgcGxheVVybCA9IGxpc3QyW2ldLnBsYXlVcmw7XFxuICAgIHZhciBuaWNrTmFtZSA9IGxpc3QyW2ldLm5pY2tOYW1lO1xcbiAgICB2YXIgdXVpZCA9IGxpc3QyW2ldLnV1aWQ7XFxuICAgIHZhciBkZXNjID0gJ/CflKUnICsgbGlzdDJbaV0ucGxheV9jb3VudCArICdcXFxcdCcgKyBsaXN0MltpXS5kdXJhdGlvblN0cjtcXG4gICAgdmFyIGltYWdldXJsID0gbGlzdDJbaV0udGh1bWJJbWc7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgY29sX3R5cGU6ICdtb3ZpZV8zJyxcXG4gICAgICAgIHVybDogcGxheVVybC5yZXBsYWNlKCcxMHBsYXknLCAnbG9uZycpLFxcbiAgICB9KTtcXG59XFxuXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGi6aG16Z2iLeaQnOe0ol/nu5PmnpxcIixcInBhdGhcIjpcInNlYXJjaF9yZXN1bHRcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxudmFyIHBhZ2UgPSBNWV9QQUdFO1xcbnZhciBQYWdlID0gZ2V0TXlWYXIoJ3BhZ2UnLCAnMCcpO1xcbnZhciB0eXBlU2xpc3QgPSBbe1xcbiAgICB0aXRsZTogJ+efreinhumikScsXFxuICAgIHR5cGU6ICcxJ1xcbn0sIHtcXG4gICAgdGl0bGU6ICflkIjpm4YnLFxcbiAgICB0eXBlOiAnNSdcXG59LCB7XFxuICAgIHRpdGxlOiAn5biW5a2QJyxcXG4gICAgdHlwZTogJzMnXFxufV07XFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICAkLnJlcXVpcmUoXFxcImRhdGFcXFwiKS5DYXRlZ29yeSh0eXBlU2xpc3QsMSxkKTtcXG59XFxudmFyIHJyID0ge1xcbiAgICBcXFwiY29kZVxcXCI6IFxcXCJzZWFyY2hcXFwiLFxcbiAgICBcXFwidHlwZVxcXCI6IGdldE15VmFyKCd0eXBlUycsICcxJyksXFxuICAgIFxcXCJrZXlcXFwiOiBnZXRWYXIoJ2tleXdvcmQnLCAnJyksXFxuICAgIFxcXCJtb2RcXFwiOiBcXFwiaW5kZXhcXFwiLFxcbiAgICBcXFwib2F1dGhfaWRcXFwiOiBcXFwiZ3luVUd0THZTRGhrS0FzZzE3MDQ1MTM3ODkyODZcXFwiLFxcbiAgICBcXFwib2F1dGhfdHlwZVxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICBcXFwicGFnZVxcXCI6IChQYWdlID09IDApID8gcGFnZSA6IFBhZ2UsXFxuICAgIFxcXCJ0aW1lc3RhbXBcXFwiOiAxLjcwNDU0NjY2NzgwNkUxMixcXG4gICAgXFxcInZlcnNpb25cXFwiOiBcXFwiNC41LjBcXFwiXFxufVxcbmNsZWFyTXlWYXIoJ3BhZ2UnKTtcXG52YXIgZW5jcnlwdGRhdGEgPSAkLnJlcXVpcmUoXFxcImRhdGFcXFwiKS5lbmNyeXB0KHJyKTtcXG5cXG52YXIgdGltZXN0YW1wID0gZW5jcnlwdGRhdGEudGltZXN0YW1wLnRvU3RyaW5nKCk7XFxudmFyIGRhdGEgPSBlbmNyeXB0ZGF0YS5kYXRhO1xcbnZhciBzaWduID0gZW5jcnlwdGRhdGEuc2lnbjtcXG5cXG52YXIgRGF0YSA9IHBvc3QoXFxcImh0dHBzOi8vendzZnh2LmJtYWZkeHQuY29tL3B3YS5waHBcXFwiLCB7XFxuICAgIGJvZHk6IHtcXG4gICAgICAgIFxcXCJjbGllbnRcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgICAgIFxcXCJ0aW1lc3RhbXBcXFwiOiB0aW1lc3RhbXAsXFxuICAgICAgICBcXFwiZGF0YVxcXCI6IGRhdGEsXFxuICAgICAgICBcXFwic2lnblxcXCI6IHNpZ25cXG4gICAgfVxcbn0pXFxudmFyIGggPSBEYXRhO1xcblxcbmxldCBpbWFnZSA9ICQoKS5pbWFnZSgoKSA9PiAkLnJlcXVpcmUoXFxcImRhdGE/cnVsZT1cXFwiICsgTVlfVElUTEUpLmRlY3J5cHQoKSk7XFxuXFxudmFyIGRhdGEgPSBKU09OLnBhcnNlKGgpLmRhdGE7XFxudmFyIHIgPSAkLnJlcXVpcmUoXFxcImRhdGFcXFwiKS5EZWNyeXB0KGRhdGEpO1xcbnZhciBsaXN0ID0gci5kYXRhO1xcbmlmIChyLnN0YXR1cyA9PSAwKSB7XFxuICAgIHRvYXN0KHIubXNnKTtcXG4gICAgYmFjaygpO1xcbn0gZWxzZSBpZiAobGlzdCA9PSAnJykge1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmsqHmnInmm7TlpJrlhoXlrrkhJyxcXG4gICAgICAgIHVybDogJ3RvYXN0Oi8v8J+PgOS9oOW5suWYm34nLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxuICAgIH0pO1xcblxcbn0gZWxzZSBpZihnZXRNeVZhcigndHlwZVMnLCAnMScpPT0xKXtcXG4gICAgZm9yICh2YXIgaSBpbiBsaXN0KSB7XFxuICAgICAgICB2YXIgcGxheXVybCA9IGxpc3RbaV0ucGxheVVybDtcXG4gICAgICAgIHZhciB0aXRsZSA9IGxpc3RbaV0udGl0bGU7XFxuICAgICAgICB2YXIgbmlja05hbWUgPSBsaXN0W2ldLm5pY2tOYW1lO1xcbiAgICAgICAgdmFyIHV1aWQgPSBsaXN0W2ldLnV1aWQ7XFxuICAgICAgICB2YXIgZGVzYyA9ICdcXFxcdPCflKUnICsgbGlzdFtpXS5wbGF5X2NvdW50ICsgJ1xcXFx04o+x77iPJyArIGxpc3RbaV0uZHVyYXRpb25TdHI7XFxuICAgICAgICB2YXIgaW1hZ2V1cmwgPSBsaXN0W2ldLnRodW1iSW1nO1xcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9sb25nQ2xpY2snKSkucnVsZSlcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgICAgIGRlc2M6IGRlc2MsXFxuICAgICAgICAgICAgaW1nOiBpbWFnZXVybCArIGltYWdlLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAoc3RvcmFnZTAuZ2V0SXRlbSgnQ29sX21lZGlhJywgJycpID09ICcnKSA/ICdtb3ZpZV8yJyA6IHN0b3JhZ2UwLmdldEl0ZW0oJ0NvbF9tZWRpYScsICcnKSxcXG4gICAgICAgICAgICB1cmw6IHBsYXl1cmwucmVwbGFjZSgnMTBwbGF5JywgJ2xvbmcnKSxcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBsb25nQ2xpY2s6IGxvbmdDbGljazFcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgfVxcbn0gZWxzZSBpZihnZXRNeVZhcigndHlwZVMnLCAnMycpPT0zKXtcXG5mb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgdmFyIGlkID0gbGlzdFtpXS5pZDtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS5jb250ZW50O1xcbiAgICB2YXIgZGVzYyA9IGxpc3RbaV0uY3JlYXRlZF9hdCArICflj5HluINcXFxcdFxcXFx0JyArIGxpc3RbaV0udmlld19udW0gKyAn5rWP6KeIXFxcXHRcXFxcdCcgKyBsaXN0W2ldLmxpa2VfbnVtICsgJ+eCuei1nic7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiBkZXNjLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL25ld3NkZXRhaWwnLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBuZXdzX2lkOiBpZCxcXG4gICAgICAgICAgICBtb2Q6IFxcXCJuZXdzXFxcIixcXG4gICAgICAgICAgICBjb2RlOiBcXFwiZGV0YWlsX3YxXFxcIixcXG4gICAgICAgICAgICBwYWdlVGl0bGU6IFxcXCLluJblrZDor6bmg4VcXFwiXFxuICAgICAgICB9XFxuICAgIH0pO1xcbn1cXG59IGVsc2V7XFxuICAgICAgdG9hc3QoJ+WinuWKoOWKn+iDveeahOacuuS8muadpeS6hu+8gScpO1xcbn1cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLikaLpobXpnaIt5pCc57SiXzkx54Ot54K5XCIsXCJwYXRoXCI6XCJzZWFyY2hfaG90VG9waWNzXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnZhciByciA9IHtcXG4gICAgXFxcIm9hdXRoX3R5cGVcXFwiOiBcXFwicHdhXFxcIixcXG4gICAgXFxcIm9hdXRoX2lkXFxcIjogXFxcImd5blVHdEx2U0Roa0tBc2cxNzA0NTEzNzg5Mjg2XFxcIixcXG4gICAgXFxcInZlcnNpb25cXFwiOiBcXFwiNC41LjBcXFwiLFxcbiAgICBcXFwibW9kXFxcIjogXFxcImNhdGVnb3J5XFxcIixcXG4gICAgXFxcImNvZGVcXFwiOiBcXFwiaG90VG9waWNzXFxcIixcXG4gICAgXFxcInRpbWVzdGFtcFxcXCI6IDEuNzA0NTQ2NjY3ODA2RTEyXFxufVxcblxcbnZhciBlbmNyeXB0ZGF0YSA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLmVuY3J5cHQocnIpO1xcblxcbnZhciB0aW1lc3RhbXAgPSBlbmNyeXB0ZGF0YS50aW1lc3RhbXAudG9TdHJpbmcoKTtcXG52YXIgZGF0YSA9IGVuY3J5cHRkYXRhLmRhdGE7XFxudmFyIHNpZ24gPSBlbmNyeXB0ZGF0YS5zaWduO1xcblxcbnZhciBEYXRhID0gcG9zdChcXFwiaHR0cHM6Ly96d3NmeHYuYm1hZmR4dC5jb20vcHdhLnBocFxcXCIsIHtcXG4gICAgYm9keToge1xcbiAgICAgICAgXFxcImNsaWVudFxcXCI6IFxcXCJwd2FcXFwiLFxcbiAgICAgICAgXFxcInRpbWVzdGFtcFxcXCI6IHRpbWVzdGFtcCxcXG4gICAgICAgIFxcXCJkYXRhXFxcIjogZGF0YSxcXG4gICAgICAgIFxcXCJzaWduXFxcIjogc2lnblxcbiAgICB9XFxufSlcXG52YXIgaCA9IERhdGE7XFxuXFxubGV0IGltYWdlID0gJCgpLmltYWdlKCgpID0+ICQucmVxdWlyZShcXFwiZGF0YT9ydWxlPVxcXCIgKyBNWV9USVRMRSkuZGVjcnlwdCgpKTtcXG5cXG52YXIgZGF0YSA9IEpTT04ucGFyc2UoaCkuZGF0YTtcXG52YXIgciA9ICQucmVxdWlyZShcXFwiZGF0YVxcXCIpLkRlY3J5cHQoZGF0YSk7XFxudmFyIGxpc3QgPSByLmRhdGEubGlzdDtcXG5mb3IgKHZhciBpIGluIGxpc3QpIHtcXG4gICAgdmFyIGlkID0gbGlzdFtpXS52YWx1ZTtcXG4gICAgdmFyIHRpdGxlID0gbGlzdFtpXS50aXRsZTtcXG4gICAgdmFyIGltZyA9IGxpc3RbaV0uaW1nX3VybDtcXG4gICAgdmFyIGRlc2MgPSBsaXN0W2ldLnVwZGF0ZWRfYXQgKyAn8J+UpVxcXFx0XFxcXHQnK1tpXS5ob3RfbnVtICArICfwn4+377iPXFxcXHRcXFxcdCcrIGxpc3RbaV0udGFnc19uYW1lO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxcbiAgICAgICAgZGVzYzogJzAnLFxcbiAgICAgICAgaW1nOiBpbWcgKyBpbWFnZSxcXG4gICAgICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMScsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2Uvc2VhcmNoX2hvdFRvcGljc19kZXRhaWwnLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBpZDogaWQsXFxuICAgICAgICAgICAgcGFnZVRpdGxlOiBcXFwi6K+m5oOFXFxcIlxcbiAgICAgICAgfVxcbiAgICB9KTtcXG59XFxuXFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi4pGi6aG16Z2iLeaQnOe0ol85MeeDreeCuV/kuoznuqdcIixcInBhdGhcIjpcInNlYXJjaF9ob3RUb3BpY3NfZGV0YWlsXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbnZhciBpZCA9IE1ZX1BBUkFNUy5pZDtcXG52YXIgcnIgPSB7XFxuICAgIFxcXCJvYXV0aF90eXBlXFxcIjogXFxcInB3YVxcXCIsXFxuICAgIFxcXCJpZFxcXCI6IGlkLFxcbiAgICBcXFwib2F1dGhfaWRcXFwiOiBcXFwiZ3luVUd0THZTRGhrS0FzZzE3MDQ1MTM3ODkyODZcXFwiLFxcbiAgICBcXFwidmVyc2lvblxcXCI6IFxcXCI0LjUuMFxcXCIsXFxuICAgIFxcXCJtb2RcXFwiOiBcXFwiaW5kZXhcXFwiLFxcbiAgICBcXFwiY29kZVxcXCI6IFxcXCJkZXRhaWxfdjFcXFwiLFxcbiAgICBcXFwidGltZXN0YW1wXFxcIjogMS43MDQ1NDY2Njc4MDZFMTJcXG59XFxuXFxudmFyIGVuY3J5cHRkYXRhID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuZW5jcnlwdChycik7XFxuXFxudmFyIHRpbWVzdGFtcCA9IGVuY3J5cHRkYXRhLnRpbWVzdGFtcC50b1N0cmluZygpO1xcbnZhciBkYXRhID0gZW5jcnlwdGRhdGEuZGF0YTtcXG52YXIgc2lnbiA9IGVuY3J5cHRkYXRhLnNpZ247XFxuXFxudmFyIERhdGEgPSBwb3N0KFxcXCJodHRwczovL3p3c2Z4di5ibWFmZHh0LmNvbS9wd2EucGhwXFxcIiwge1xcbiAgICBib2R5OiB7XFxuICAgICAgICBcXFwiY2xpZW50XFxcIjogXFxcInB3YVxcXCIsXFxuICAgICAgICBcXFwidGltZXN0YW1wXFxcIjogdGltZXN0YW1wLFxcbiAgICAgICAgXFxcImRhdGFcXFwiOiBkYXRhLFxcbiAgICAgICAgXFxcInNpZ25cXFwiOiBzaWduXFxuICAgIH1cXG59KVxcbnZhciBoID0gRGF0YTtcXG5cXG5sZXQgaW1hZ2UgPSAkKCkuaW1hZ2UoKCkgPT4gJC5yZXF1aXJlKFxcXCJkYXRhP3J1bGU9XFxcIiArIE1ZX1RJVExFKS5kZWNyeXB0KCkpO1xcblxcbnZhciBkYXRhID0gSlNPTi5wYXJzZShoKS5kYXRhO1xcbnZhciByID0gJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuRGVjcnlwdChkYXRhKTtcXG52YXIgZGF0YSA9IHIuZGF0YTtcXG52YXIgdGl0bGUgPSBkYXRhLnRpdGxlO1xcbnZhciBwbGF5VXJsID0gZGF0YS5wbGF5VXJsO1xcbnZhciBwcmV2aWV3VXJsID0gZGF0YS5wcmV2aWV3VXJsO1xcbnZhciBwbGF5dXJsID0gKHBsYXlVcmwhPScnKT9wbGF5VXJsOnByZXZpZXdVcmw7XFxudmFyIHRodW1iSW1nID0gZGF0YS50aHVtYkltZztcXG52YXIgdGFncyA9IGRhdGEudGFncztcXG52YXIgY3JlYXRlZF9hdCA9IGRhdGEuY3JlYXRlZF9hdDtcXG52YXIgcGxheV9jb3VudCA9IGRhdGEucGxheV9jb3VudDtcXG52YXIgbGlrZSA9IGRhdGEubGlrZTt2YXIgbGlrZSA9IGRhdGEubGlrZTtcXG52YXIgY29tbWVudCA9IGRhdGEuY29tbWVudDtcXG52YXIgZHVyYXRpb25TdHIgPSBkYXRhLmR1cmF0aW9uU3RyO1xcbnZhciBuaWNrTmFtZSA9IGRhdGEubmlja05hbWU7XFxudmFyIHV1aWQgPSBkYXRhLnV1aWQ7XFxudmFyIG1lZGlhbGlzdCA9IGRhdGEucmVjb21tZW5kOyAvL+eyvuW9qeinhumikVxcbnZhciBjb21tZW50X2xpc3QgPSBkYXRhLmNvbW1lbnRMaXN0OyAvL+ivhOiuulxcblxcbmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogdGl0bGUsXFxuICAgICAgICBkZXNjOiAnMCcsXFxuICAgICAgICBpbWc6IHRodW1iSW1nICsgaW1hZ2UsXFxuICAgICAgICB1cmw6IHBsYXl1cmwucmVwbGFjZSgnMTBwbGF5JywgJ2xvbmcnKSxcXG4gICAgICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfigJjigJjigJnigJk8c21hbGw+JyArJ+WPkeW4g+aXtumXtDonK2NyZWF0ZWRfYXQrJ1xcXFx0XFxcXHRVUOS4uzonK25pY2tOYW1lKydcXFxcbvCfj7fvuI8nK3RhZ3MrJ1xcXFx0XFxcXHTml7bplb8nK2R1cmF0aW9uU3RyKydcXFxcbvCflKUnK3BsYXlfY291bnQrJ1xcXFx0XFxcXHTinaTvuI8nK2xpa2UrJ1xcXFx0XFxcXHTinI3wn4+977iPJytjb21tZW50Kyc8L3NtYWxsPicsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMSdcXG59KTtcXG5kLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiAnYmlnX2JsYW5rX2Jsb2NrJyxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5J1xcbiAgICAgICAgfSk7XFxudmFyIHR5cGVTU2xpc3QgPSBbe1xcbiAgICB0aXRsZTogJ+eyvuW9qeinhumikScsXFxuICAgIHR5cGU6ICcxJ1xcbn0sIHtcXG4gICAgdGl0bGU6ICfor4TorronK2NvbW1lbnQsXFxuICAgIHR5cGU6ICcwJ1xcbn1dO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgJC5yZXF1aXJlKFxcXCJkYXRhXFxcIikuQ2F0ZWdvcnkodHlwZVNTbGlzdCwyLGQpO1xcbn1cXG5pZihnZXRNeVZhcigndHlwZVNTJywgJzEnKT09MCl7XFxuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiAn5YWo6YOo6K+E6K66XFxcXHQoJytjb21tZW50KycpJyxcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnXFxufSk7XFxuZm9yICh2YXIgaSBpbiBjb21tZW50X2xpc3QpIHtcXG4gICAgdmFyIG5pY2tuYW1lID0gY29tbWVudF9saXN0W2ldLm5pY2tOYW1lO1xcbiAgICB2YXIgc2V4VHlwZSA9IGNvbW1lbnRfbGlzdFtpXS5zZXhUeXBlO1xcbiAgICB2YXIgc2V4ID0gKHNleFR5cGUgPT0gJzAnKSA/ICdcXFxcdPCfkanwn4+9XFxcXHQnIDogJ1xcXFx08J+RqPCfj71cXFxcdCc7XFxuICAgIHZhciBjcmVhdGVkX2F0ID0gY29tbWVudF9saXN0W2ldLmNyZWF0ZWRfYXQ7XFxuICAgIHZhciBjb21tZW50ID0gY29tbWVudF9saXN0W2ldLmNvbW1lbnQ7XFxuICAgIHZhciB0aHVtYiA9IGNvbW1lbnRfbGlzdFtpXS50aHVtYjtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBuaWNrbmFtZSArIHNleCxcXG4gICAgICAgIGRlc2M6IGNyZWF0ZWRfYXQsXFxuICAgICAgICBpbWc6IHRodW1iICsgaW1hZ2UsXFxuICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgIGNvbF90eXBlOiAnYXZhdGFyJ1xcbiAgICB9KTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBjb21tZW50LFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfMSdcXG4gICAgfSk7XFxufVxcbn0gZWxzZSB7XFxuZm9yICh2YXIgaSBpbiBtZWRpYWxpc3QpIHtcXG4gICAgdmFyIGlkID0gbWVkaWFsaXN0W2ldLmlkO1xcbiAgICB2YXIgdGl0bGUgPSBtZWRpYWxpc3RbaV0udGl0bGU7XFxuICAgIHZhciBpbWcgPSBtZWRpYWxpc3RbaV0udGh1bWJJbWc7XFxuICAgIC8vdmFyIHBsYXlVcmwgPSBtZWRpYWxpc3RbaV0ucGxheVVybDtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcXG4gICAgICAgIGltZzogaW1nICsgaW1hZ2UsXFxuICAgICAgICBjb2xfdHlwZTogJ21vdmllXzInLFxcbiAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL3NlYXJjaF9ob3RUb3BpY3NfZGV0YWlsJyxcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgaWQ6IGlkLFxcbiAgICAgICAgICAgIHBhZ2VUaXRsZTogXFxcIuivpuaDhVxcXCJcXG4gICAgICAgIH1cXG4gICAgfSk7XFxufVxcbn1cXG5zZXRSZXN1bHQoZCk7XCJ9XSIsImljb24iOiJodHRwczovL2ltZy52aW51YS5jbi9pbWFnZXMvelZhelUucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment