Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@暗网解密@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5pqX572R6Kej5a+GIiwiYXV0aG9yIjoi5rWB6IuPIiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMje1wibmFnX2lkXCI6XCJmeWNsYXNzXCIsXCJwYWdlXCI6XCJmeXBhZ2VcIixcInNvcnRcIjpcImZ5YXJlYVwiLFwibGltaXRcIjpcIjMwXCIsXCJvYXV0aF9pZFwiOlwiYWFhOTM5ZjI3NDhhMjVlMzhkNDJlN2Q1MDBiMDVjMDFcIixcImJ1bmRsZV9pZFwiOlwiY29tLjdkdS5jbi5vcmdcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJvYXV0aF90eXBlXCI6XCJ3ZWJcIixcImxhbmd1YWdlXCI6XCJ6aFwifSIsInZlcnNpb24iOjEsImNvbF90eXBlIjoibW92aWVfMiIsImNsYXNzX25hbWUiOiLmjqjojZAm5Zu95Lqn57K+5ZOBJuS5sSDkvKbmjaLlprsm5Y6f5Yib5Lyg5aqSJuWKqOa8q+asoeWFgybnvZHpu4TmqKHnibkm5Zu95Lqn55u05pKtJuemj+WIqeWnrCblvILlm73oibLmg4Um5Yi25bqm6K+x5oORJuWym+WbvUFWIiwidHlwZSI6InZpZGVvIiwiY2xhc3NfdXJsIjoiMyY0JjExJjUmOCYxMiYxNCYxMyY5JjEwJjE1IiwiYXJlYV9uYW1lIjoi5pyA54OtJuacgOaWsCIsImFyZWFfdXJsIjoiaG90Jm5ldyIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczogXG52YXIgZCA9IFtdO1xuLy/lj6rlgZrkuobmmI7nvZHlhoXlrrnvvIzmmpfnvZHlpKpCVOS6hi8vXG5pZiAoTVlfUEFHRSA9PSAxKSB7XG4gICAgZC5wdXNoKHvCoMKgwqBcbiAgICAgICAgdGl0bGU6IFwi5pCc57SiXCIsXG4gICAgICAgIMKgwqDCoHVybDogXCInaGlrZXI6Ly9zZWFyY2g/cz0nK2lucHV0KycmcnVsZT0nKyBNWV9SVUxFLnRpdGxlXCIsXG4gICAgICAgIMKgwqDCoGRlc2M6IFwi6K+36L6T5YWl5pCc57Si5YWz6ZSu6K+NKOiHs+WwkeS4pOS4quWtl+espilcIixcbiAgICAgICAgwqDCoMKgY29sX3R5cGU6IFwiaW5wdXRcIixcbiAgICB9KVxufTtcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xuXG4vL+eUn+aIkOaXtumXtOaIs1xuZnVuY3Rpb24gZ2V0Q3VycmVudFRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG59XG4vL21kNeWKoOWvhlxuZnVuY3Rpb24gbWQ1KHN0cikge1xuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xufVxuLy9zaGEyNTbliqDlr4ZcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcbiAgICByZXR1cm4gQ3J5cHRvSlMuU0hBMjU2KHN0cikudG9TdHJpbmcoKTtcbn1cbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IFxudmFyIGRhdGEgPSBFbmNyeXB0KE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJykpOyBcbnZhciBzaWduID0gbWQ1KHNoYTI1NignZGF0YT0nK2RhdGErJyZ0aW1lc3RhbXA9Jyt0KydOUVlUM2VTc1hHNTJXUERTJykpOyAvL2xvZyhzaWduKVxudmFyIGJvZHkgPSAndGltZXN0YW1wPScrdCsnJmRhdGE9JytkYXRhKycmc2lnbj0nK3NpZ247IFxuLy9sb2coYm9keSlcbnZhciB1cmwgPSAnaHR0cHM6Ly9sb3lhcGkwMi54aW5ncXUyMDAuY29tL2FwaS5waHAvYXBpL3RhYm5ldy9saXN0X2NvbnN0cnVjdCc7XG52YXIgaHRtbCA9IGZldGNoKHVybCwge1xuICAgIGhlYWRlcnM6IHtcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbiAgICB9LFxuICAgIGJvZHk6IGJvZHksXG4gICAgbWV0aG9kOiAnUE9TVCdcbn0pOyBcbi8vbG9nKGh0bWwpXG5cbmxldCBodG1sMSA9IEpTT04ucGFyc2UoaHRtbCkuZGF0YTsgXG4vL2xvZyhodG1sMSlcbmxldCBodG1sMiA9IERlY3J5cHQoaHRtbDEpOyBcbi8vbG9nKGh0bWwyKVxuXG52YXIgTGFiZWwgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLm1pZF9zdHlsZV9jYXRlZ29yeTtcbnZhciBMYWJlbGIgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmJvdF9zdHlsZV9vbmU7XG4vL2xvZyhMYWJlbClcbmlmKExhYmVsIT1udWxsKXtcbkxhYmVsLmZvckVhY2goKGRhdGEpID0+IHtcbmxldCBhcmVhPSBNWV9BUkVBX1VSTFxyXG4gICAgICAgICAgICBkLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGFiX25hbWUsXG4gICAgICAgICAgICAgICAgcGljX3VybDogZGF0YS5pY29uKyBsYXp5LFxyXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwiaWNvbl8yX3JvdW5kXCIsXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrYXJlYSsnIyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9lcmppXCIpJyxcbn0pXG59KVxufTtcbmlmKExhYmVsYiE9bnVsbCl7XG5MYWJlbGIuZm9yRWFjaCgoZGF0YSkgPT4ge1xubGV0IGFyZWE9IE1ZX0FSRUFfVVJMO1xyXG4gICAgICAgICAgICBkLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXG4gICAgICAgICAgICAgICAgcGljX3VybDogZGF0YS5pY29uKyBsYXp5LFxyXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFwiYXZhdGFyXCIsXG4gICAgICAgICAgICAgICAgdXJsIDogICdoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIycrYXJlYSsnIyMnK2RhdGEuaWQrJ0BydWxlPWpzOiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9lcmppXCIpJyxcbn0pXG5sZXQgbGlzdGE9IGRhdGEubGlzdFxuIGxpc3RhLmZvckVhY2goKGRhdGEpID0+IHtcblxudmFyIHVybCA9IGRhdGEucGxheV91cmw7XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL+aXtumXtOaIs+i9rOaNoicpKS5ydWxlKTtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxuICAgICAgICAgICAgZGVzYzogIHRpbWVzdGFtcFRvVGltZShkYXRhLnJlZnJlc2hfYXQsMSkrJ1xcdFxcdFxcdFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgbGF6eSxcbiAgICAgICAgICAgLy8gaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArICsgJ0Bqcz0nICsgaW1nRGVjKGtleSwgaXYsICdBRVMnKSwsXG4gICAgICAgICAgICB1cmw6IHVybC5yZXBsYWNlKC9cXC9cXC8uKnBsYXlcXC4vLCcvL2xvbmcuJylcbiAgICAgICAgfSlcblxuXG59KVxuXG5cbn0pXG59O1xudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmJvdF9zdHlsZV90d287XG4vL2xvZyhsaXN0KTtcbmxpc3QuZm9yRWFjaChkYXRhID0+IHtcbiAgICB2YXIgdXJsID0gZGF0YS5wbGF5X3VybDtcbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2Uv5pe26Ze05oiz6L2s5o2iJykpLnJ1bGUpO1xuICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXG4gICAgICAgICAgICBkZXNjOiAgdGltZXN0YW1wVG9UaW1lKGRhdGEucmVmcmVzaF9hdCwxKSsnXFx0XFx0XFx0XFx0JytwYXJzZUludChkYXRhLmR1cmF0aW9uLzYwKSsnOicrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbiU2MCksXG4gICAgICAgICAgIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyBsYXp5LFxuICAgICAgICAgICAvLyBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgKyAnQGpzPScgKyBpbWdEZWMoa2V5LCBpdiwgJ0FFUycpLCxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcL1xcLy4qcGxheVxcLi8sJy8vbG9uZy4nKVxuICAgICAgICB9KVxuICAgIH0pXG5zZXRSZXN1bHQoZCkiLCJzZWFyY2hfdXJsIjoiaGlrZXI6Ly9lbXB0eSMje1wicGFnZVwiOlwiZnlwYWdlXCIsXCJsaW1pdFwiOlwiMzBcIixcInN0eWxlXCI6XCIwXCIsXCJrd3lcIjpcIioqXCIsXCJvYXV0aF9pZFwiOlwiYWFhOTM5ZjI3NDhhMjVlMzhkNDJlN2Q1MDBiMDVjMDFcIixcImJ1bmRsZV9pZFwiOlwiY29tLjdkdS5jbi5vcmdcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJvYXV0aF90eXBlXCI6XCJ3ZWJcIixcImxhbmd1YWdlXCI6XCJ6aFwifSIsImdyb3VwIjoi6Ieq55SxIiwic2VhcmNoRmluZCI6ImpzOiBcbnZhciBkID0gW107XG5cbmV2YWwoSlNPTi5wYXJzZShyZXF1ZXN0KCdoaWtlcjovL3BhZ2UvYWVzJykpLnJ1bGUpO1xuXG4vL+eUn+aIkOaXtumXtOaIs1xuZnVuY3Rpb24gZ2V0Q3VycmVudFRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG59XG4vL21kNeWKoOWvhlxuZnVuY3Rpb24gbWQ1KHN0cikge1xuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xufVxuLy9zaGEyNTbliqDlr4ZcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcbiAgICByZXR1cm4gQ3J5cHRvSlMuU0hBMjU2KHN0cikudG9TdHJpbmcoKTtcbn1cblxudmFyIHQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKTsgLy9sb2codClcbi8vdmFyIHRpbWVzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMDsgLy9sb2codGltZXN0YW1wKVxuLy92YXIgdCA9IHRpbWVzdGFtcC50b1N0cmluZygpLnNwbGl0KCcuJylbMF07IC8vbG9nKHQpXG4vL3ZhciBkYXRhMSA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJyk7IC8vbG9nKGRhdGExKVxudmFyIGRhdGEgPSBFbmNyeXB0KE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovL2VtcHR5IyMnLCAnJykpOyBcbi8vbG9nKGRhdGEpXG52YXIgc2lnbiA9IG1kNShzaGEyNTYoJ2RhdGE9JytkYXRhKycmdGltZXN0YW1wPScrdCsnTlFZVDNlU3NYRzUyV1BEUycpKTsgLy9sb2coc2lnbilcbnZhciBib2R5ID0gJ3RpbWVzdGFtcD0nK3QrJyZkYXRhPScrZGF0YSsnJnNpZ249JytzaWduOyBcbi8vbG9nKGJvZHkpXG52YXIgdXJsID0gJ2h0dHBzOi8vbG95YXBpMDIueGluZ3F1MjAwLmNvbS9hcGkucGhwL2FwaS9zZWFyY2gvbXYnO1xudmFyIGh0bWwgPSBmZXRjaCh1cmwsIHtcbiAgICBoZWFkZXJzOiB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4gICAgfSxcbiAgICBib2R5OiBib2R5LFxuICAgIG1ldGhvZDogJ1BPU1QnXG59KTsgXG4vL2xvZyhodG1sKVxuXG5sZXQgaHRtbDEgPSBKU09OLnBhcnNlKGh0bWwpLmRhdGE7IFxuLy9sb2coaHRtbDEpXG5sZXQgaHRtbDIgPSBEZWNyeXB0KGh0bWwxKTsgXG4vL2xvZyhodG1sMilcblxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XG5cbi8vbG9nKGxpc3QpO1xuaWYobGlzdCE9bnVsbCl7XG5saXN0LmZvckVhY2goZGF0YSA9PiB7XG4gICAgdmFyIHVybCA9IGRhdGEucGxheV91cmw7XG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL+aXtumXtOaIs+i9rOaNoicpKS5ydWxlKTtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLnRpdGxlLFxuICAgICAgICAgICAgZGVzYzogIHRpbWVzdGFtcFRvVGltZShkYXRhLnJlZnJlc2hfYXQsMSkrJ1xcdFxcdFxcdFxcdCcrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbi82MCkrJzonK3BhcnNlSW50KGRhdGEuZHVyYXRpb24lNjApLFxuICAgICAgICAgICAgaW1nOiBkYXRhLmNvdmVyX3RodW1iX3VybCArIGxhenksXG4gICAgICAgICAgIC8vIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyArICdAanM9JyArIGltZ0RlYyhrZXksIGl2LCAnQUVTJyksLFxuICAgICAgICAgICAgdXJsOiB1cmwucmVwbGFjZSgvXFwvXFwvLipwbGF5XFwuLywnLy9sb25nLicpXG4gICAgICAgIH0pXG4gICAgfSlcbn1cbnNldFJlc3VsdChkKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzIiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiIiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiYWVzXCIsXCJwYXRoXCI6XCJhZXNcIixcInJ1bGVcIjpcIi8v5Yqg6L29Q3J5cHRvSlPlupNcXG5ldmFsKGdldENyeXB0b0pTKCkpXFxuXFxuLy8g6Kej5a+G5Ye95pWwXFxuZnVuY3Rpb24gRGVjcnlwdCh3b3JkKSB7XFxuICAgIGNvbnN0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCJOUVlUM2VTc1hHNTJXUERTXFxcIik7XFxuICAgIGNvbnN0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoXFxcImU4OTIyNWNmYmJpbWdrY3VcXFwiKTtcXG4gICAgbGV0IGVuY3J5cHRlZEhleFN0ciA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2Uod29yZCk7XFxuICAgIGxldCBkZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoe1xcbiAgICAgICAgY2lwaGVydGV4dDogZW5jcnlwdGVkSGV4U3RyXFxuICAgIH0sIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5rOo5oSP6L+Z6YeM5bqU6K+l5pivQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcbiAgICB9KTtcXG4gICAgaWYgKGRlY3J5cHQpIHtcXG4gICAgICAgIGxldCBkZWNyeXB0ZWRTdHIgPSBkZWNyeXB0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcXG4gICAgICAgIHJldHVybiBkZWNyeXB0ZWRTdHI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyDop6Plr4blpLHotKXvvIzov5Tlm55udWxs5oiW6ZSZ6K+v5L+h5oGvXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcbn1cXG5cXG4vLyDliqDlr4blh73mlbBcXG5mdW5jdGlvbiBFbmNyeXB0KHBsYWludGV4dCkge1xcbiAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZShcXFwiTlFZVDNlU3NYRzUyV1BEU1xcXCIpO1xcbiAgICBjb25zdCBpdiA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKFxcXCJlODkyMjVjZmJiaW1na2N1XFxcIik7XFxuICAgIHZhciBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFpbnRleHQsIGtleSwge1xcbiAgICAgICAgaXY6IGl2LFxcbiAgICAgICAgbW9kZTogQ3J5cHRvSlMubW9kZS5DQkMsXFxuICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUGtjczcgLy8g5rOo5oSP6L+Z6YeM5bqU6K+l5pivQ3J5cHRvSlMucGFkLk5vUGFkZGluZ1xcbiAgICB9KTtcXG4gICAgdmFyIGNpcGhlcnRleHQgPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KTtcXG4gICAgcmV0dXJuIGNpcGhlcnRleHQ7XFxufVxcblxcbnZhciBsYXp5ID0gJCgnJykuaW1hZ2UoKCkgPT4ge1xcbmNvbnN0IENyeXB0b1V0aWwgPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vYXNzZXRzL2NyeXB0by1qYXZhLmpzXFxcIik7XFxuXFx0bGV0IGtleSA9IENyeXB0b1V0aWwuRGF0YS5wYXJzZVVURjgoXFxcImY1ZDk2NWRmNzUzMzYyNzBcXFwiKTtcXG5cXHRsZXQgaXYgPSBDcnlwdG9VdGlsLkRhdGEucGFyc2VVVEY4KFxcXCI5N2I2MDM5NGFiYzJmYmUxXFxcIik7XFxuXFx0bGV0IHRleHREYXRhID0gQ3J5cHRvVXRpbC5EYXRhLnBhcnNlSW5wdXRTdHJlYW0oaW5wdXQpO1xcblxcdGxldCBlbmNyeXB0ZWQgPSBDcnlwdG9VdGlsLkFFUy5kZWNyeXB0KHRleHREYXRhLCBrZXksIHtcXG4gIFxcdG1vZGU6IFxcXCJBRVMvQ0JDL1BLQ1M3UGFkZGluZ1xcXCIsXFxuXFx0XFx0aXY6IGl2XFxuXFx0fSk7XFxuXFx0cmV0dXJuIGVuY3J5cHRlZC50b0lucHV0U3RyZWFtKCk7XFxufSlcXG5cXG5cXG4vL+WbvueJh+ino+WvhlxcbmtleSA9ICdmNWQ5NjVkZjc1MzM2MjcwJztcXG5pdiA9ICc5N2I2MDM5NGFiYzJmYmUxJztcXG5mdW5jdGlvbiBpbWdEZWMoa2V5LGl2LGEsYil7XFxuXFx0aWYoIWIpe1xcbiBcXHRcXHRiPSdQS0NTNVBhZGRpbmcnO1xcbiBcXHR9XFxuICAgIFxcdHZhciBzc3MgPSBgXFxuICAgICAgICAgICAgZnVuY3Rpb24gaW1nRGVjcnlwdCgpIHtcXG4gICAgICAgICAgICAgICAgdmFyIGphdmFJbXBvcnQgPSBuZXcgSmF2YUltcG9ydGVyKCk7XFxuICAgICAgICAgICAgICAgIGphdmFJbXBvcnQuaW1wb3J0UGFja2FnZShcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmNvbS5leGFtcGxlLmhpa2Vydmlldy51dGlscyxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEubGFuZyxcXG4gICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzLmphdmEuc2VjdXJpdHksXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLnV0aWwsXFxuICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcy5qYXZhLmlvLFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YS50ZXh0LFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YXguY3J5cHRvLFxcbiAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMuamF2YXguY3J5cHRvLnNwZWMsXFxuICAgICAgICAgICAgICAgICk7XFxuICAgICAgICAgICAgICAgIHdpdGgoamF2YUltcG9ydCkge1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gRmlsZVV0aWwudG9CeXRlcyhpbnB1dCk7XFxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkZWNyeXB0RGF0YShiQXJyKSB7XFxuXFx0XFx0ICAgIGlmKC9CQC8udGVzdChcXFwiJHtrZXl9XFxcIikpe1xcbiAgICAgIFxcdFxcdFxcdHZhciBzZWNyZXRLZXlTcGVjID0gbmV3IFNlY3JldEtleVNwZWMoU3RyaW5nKFxcXCIke2tleX1cXFwiKSwgXFxcIiR7YX1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFwiJHtpdn1cXFwiKSk7XFxuXFx0XFx0ICAgIH1lbHNle1xcblxcdFxcdCAgICBcXHR2YXIgc2VjcmV0S2V5U3BlYyA9IG5ldyBTZWNyZXRLZXlTcGVjKFN0cmluZyhcXFwiJHtrZXl9XFxcIikuZ2V0Qnl0ZXMoKSwgXFxcIiR7YX1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBpdlBhcmFtZXRlclNwZWMgPSBuZXcgSXZQYXJhbWV0ZXJTcGVjKFN0cmluZyhcXFwiJHtpdn1cXFwiKS5nZXRCeXRlcygpKTtcXG5cXHRcXHQgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIFxcdHZhciBjaXBoZXIgPSBDaXBoZXIuZ2V0SW5zdGFuY2UoXFxcIiR7YX1cXFwiK1xcXCIvQ0JDL1xcXCIrXFxcIiR7Yn1cXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIFxcdGNpcGhlci5pbml0KDIsIHNlY3JldEtleVNwZWMsIGl2UGFyYW1ldGVyU3BlYyk7XFxuICAgICAgICAgICAgICAgICAgIFxcdCByZXR1cm4gY2lwaGVyLmRvRmluYWwoYkFycik7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICBieXRlcyA9IGRlY3J5cHREYXRhKGJ5dGVzKTtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBGaWxlVXRpbC50b0lucHV0U3RyZWFtKGJ5dGVzKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxcbiAgICAgICAgYDtcXG4gICAgICAgIHB1dFZhcignc3NzJywgc3NzKTtcXG4gICAgICAgIHZhciBpbWdkZWMgPSAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgICAgICAgICBldmFsKGdldFZhcignc3NzJykpO1xcbiAgICAgICAgICAgIHJldHVybiBpbWdEZWNyeXB0KCk7XFxuICAgICAgICB9KTsgICAgICAgIFxcbiAgICAgICAgcHV0VmFyKCdpbWdkZWMnLCBpbWdkZWMpO1xcbiAgICAgICAgcmV0dXJuIGltZ2RlYztcXG59XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLml7bpl7TmiLPovazmjaJcIixcInBhdGhcIjpcIuaXtumXtOaIs+i9rOaNolwiLFwicnVsZVwiOlwiZnVuY3Rpb24gdGltZXN0YW1wVG9UaW1lKHRtLCB0cykge1xcblxcdFxcdHVuZGVmaW5lZFxcblxcdFxcdHZhciBkYXRlID0gbmV3IERhdGUodG0gKiAxMDAwKTsgLy/ml7bpl7TmiLPkuLoxMOS9jemcgCoxMDAw77yM5pe26Ze05oiz5Li6MTPkvY3nmoTor53kuI3pnIDkuZgxMDAwXFxuXFx0XFx0dmFyIFkgPSBkYXRlLmdldEZ1bGxZZWFyKCkgKyAnLSc7XFxuXFx0XFx0dmFyIE0gPSAoZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gJzAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpIDogZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLSc7XFxuXFx0XFx0dmFyIEQgPSBkYXRlLmdldERhdGUoKTtcXG5cXHRcXHR2YXIgaCA9ICcgfCAnICsgZGF0ZS5nZXRIb3VycygpICsgJzonO1xcblxcdFxcdHZhciBtID0gZGF0ZS5nZXRNaW51dGVzKCk7XFxuXFx0XFx0aWYobTwxMCkgbSA9ICcwJyttO1xcblxcdFxcdG0gPSBtICsgJzonXFxuXFx0XFx0dmFyIHMgPSBkYXRlLmdldFNlY29uZHMoKTtcXG5cXHRcXHRpZihzPDEwKSBzID0gJzAnK3M7XFxuXFx0XFx0aWYgKHRzID09IDApIHJldHVybiBZICsgTSArIEQ7XFxuXFx0XFx0aWYgKHRzID09IDEpIHJldHVybiBZICsgTSArIEQgKyBoICsgbSArIHM7XFxuXFx0fVwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5LqM57qnXCIsXCJwYXRoXCI6XCJlcmppXCIsXCJydWxlXCI6XCJqczogXFxudmFyIGQgPSBbXTtcXG5cXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2FlcycpKS5ydWxlKTtcXG5cXG4vL+eUn+aIkOaXtumXtOaIs1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRUaW1lc3RhbXAoKSB7XFxuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcXG59XFxuLy9tZDXliqDlr4ZcXG5mdW5jdGlvbiBtZDUoc3RyKSB7XFxuICAgIHJldHVybiBDcnlwdG9KUy5NRDUoc3RyKS50b1N0cmluZygpO1xcbn1cXG4vL3NoYTI1NuWKoOWvhlxcbmZ1bmN0aW9uIHNoYTI1NihzdHIpIHtcXG4gICAgcmV0dXJuIENyeXB0b0pTLlNIQTI1NihzdHIpLnRvU3RyaW5nKCk7XFxufVxcblxcbnZhciB0ID0gTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCk7IC8vbG9nKHQpXFxubGV0IGlkPU1ZX1VSTC5zcGxpdCgnIyMnKVszXTtcXG5sZXQgcD1NWV9VUkwuc3BsaXQoJyMjJylbMV07XFxubGV0IHogPSBNWV9VUkwuc3BsaXQoJyMjJylbMl07XFxubGV0IGRhdGEwPSd7XFxcInRhYl9pZFxcXCI6XFxcIicraWQrJ1xcXCIsXFxcImxpbWl0XFxcIjpcXFwiMzBcXFwiLFxcXCJwYWdlXFxcIjpcXFwiJytwKydcXFwiLFxcXCJzb3J0XFxcIjpcXFwiJyt6KydcXFwiLFxcXCJvYXV0aF9pZFxcXCI6XFxcImFhYTkzOWYyNzQ4YTI1ZTM4ZDQyZTdkNTAwYjA1YzAxXFxcIixcXFwiYnVuZGxlX2lkXFxcIjpcXFwiY29tLjdkdS5jbi5vcmdcXFwiLFxcXCJ2ZXJzaW9uXFxcIjpcXFwiMi4wLjVcXFwiLFxcXCJvYXV0aF90eXBlXFxcIjpcXFwid2ViXFxcIixcXFwibGFuZ3VhZ2VcXFwiOlxcXCJ6aFxcXCJ9J1xcbi8vbG9nKGRhdGEwKVxcbnZhciBkYXRhID0gRW5jcnlwdChkYXRhMCk7IFxcbi8vbG9nKGRhdGEpXFxudmFyIHNpZ24gPSBtZDUoc2hhMjU2KCdkYXRhPScrZGF0YSsnJnRpbWVzdGFtcD0nK3QrJ05RWVQzZVNzWEc1MldQRFMnKSk7IC8vbG9nKHNpZ24pXFxudmFyIGJvZHkgPSAndGltZXN0YW1wPScrdCsnJmRhdGE9JytkYXRhKycmc2lnbj0nK3NpZ247IFxcbi8vbG9nKGJvZHkpXFxudmFyIHVybCA9ICdodHRwczovL2xveWFwaTAyLnhpbmdxdTIwMC5jb20vYXBpLnBocGFwaS90YWJuZXcvbGlzdF90YWJfbXYnO1xcbnZhciBodG1sID0gZmV0Y2godXJsLCB7XFxuICAgIGhlYWRlcnM6IHtcXG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXFxuICAgIH0sXFxuICAgIGJvZHk6IGJvZHksXFxuICAgIG1ldGhvZDogJ1BPU1QnXFxufSk7IFxcbi8vbG9nKGh0bWwpXFxuXFxubGV0IGh0bWwxID0gSlNPTi5wYXJzZShodG1sKS5kYXRhOyBcXG4vL2xvZyhodG1sMSlcXG5sZXQgaHRtbDIgPSBEZWNyeXB0KGh0bWwxKTsgXFxuLy9sb2coaHRtbDIpXFxuXFxudmFyIGxpc3QgPSBKU09OLnBhcnNlKGh0bWwyKS5kYXRhLmxpc3Q7XFxuLy9sb2cobGlzdCk7XFxubGlzdC5mb3JFYWNoKGRhdGEgPT4ge1xcbiAgICB2YXIgdXJsID0gZGF0YS5wbGF5X3VybDtcXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL+aXtumXtOaIs+i9rOaNoicpKS5ydWxlKTtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGRhdGEudGl0bGUsXFxuICAgICAgICAgICAgZGVzYzogIHRpbWVzdGFtcFRvVGltZShkYXRhLnJlZnJlc2hfYXQsMSkrJ1xcXFx0XFxcXHRcXFxcdFxcXFx0JytwYXJzZUludChkYXRhLmR1cmF0aW9uLzYwKSsnOicrcGFyc2VJbnQoZGF0YS5kdXJhdGlvbiU2MCksXFxuICAgICAgICAgICBpbWc6IGRhdGEuY292ZXJfdGh1bWJfdXJsICsgbGF6eSxcXG4gICAgICAgICAgIC8vIGltZzogZGF0YS5jb3Zlcl90aHVtYl91cmwgKyArICdAanM9JyArIGltZ0RlYyhrZXksIGl2LCAnQUVTJyksLFxcbiAgICAgICAgICAgIHVybDogdXJsLnJlcGxhY2UoL1xcXFwvXFxcXC8uKnBsYXlcXFxcLi8sJy8vbG9uZy4nKVxcbiAgICAgICAgfSlcXG4gICAgfSlcXG5cXG5zZXRSZXN1bHQoZClcIn1dIiwiaWNvbiI6Imh0dHA6Ly9hd2ptLmNjL2Fzc2V0cy9pbWFnZXMvaW1nLTEucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment