Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@mx动漫@eyJmaXJzdEhlYWRlciI6ImNsYXNzIiwibGFzdF9jaGFwdGVyX3J1bGUiOiIiLCJ0aXRsZSI6Im145Yqo5ryrIiwiYXV0aG9yIjoiemV0YWxwaGEiLCJ1cmwiOiJoaWtlcjovL2VtcHR5IyNodHRwczovL3d3dy5teGRtcC5jb20vdHlwZS9ndW9tYW4vZnlwYWdlLyIsInZlcnNpb24iOjAsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidG9vbCIsImNsYXNzX3VybCI6IiIsImFyZWFfbmFtZSI6IiIsImFyZWFfdXJsIjoiIiwic29ydF9uYW1lIjoiIiwieWVhcl9uYW1lIjoiIiwic29ydF91cmwiOiIiLCJ5ZWFyX3VybCI6IiIsImZpbmRfcnVsZSI6ImpzOlxuXG52YXIgZCA9IFtdO1xuXG52YXIgZ2V0UmFuZ2VDb2xvcnMgPSBmdW5jdGlvbigpIHtcblxuICByZXR1cm4gJyMnICsgKCcwMDAwMCcgKyAoTWF0aC5yYW5kb20oKSAqIDB4MTAwMDAwMCA8PCAwKS50b1N0cmluZygxNikpLnN1YnN0cigtNik7XG5cbn1cblxuY29uc3QgcGFnZSA9IE1ZX1BBR0U7XG5cbmNvbnN0IOWIhuexu+minOiJsiA9IFwicmVkXCI7XG5cbmNvbnN0IOWkp+exu+WumuS9jSA9IFwiYm9keSYmLmhsLW1lbnVzLmNsZWFyZml4XCI7XG5cbmNvbnN0IOaLvOaOpeWIhuexuyA9IFwiXCI7XG5cbmNvbnN0IOWwj+exu+WumuS9jSA9IFwiYm9keSYmYTpub3QoOm1hdGNoZXMo6aaW6aG1KSlcIjtcblxuY29uc3Qg5YiG57G75qCH6aKYID0gXCJhJiZUZXh0XCI7XG5cbmNvbnN0IOWIhuexu+mTvuaOpSA9IFwiYSYmaHJlZlwiO1xuXG5jb25zdCDkuIDnuqfliIbnsbvlpITnkIYgPSAkLnRvU3RyaW5nKCgpID0+IHtcbiAgICBsZXQgdSA9IGlucHV0O1xuICAgIHJldHVybiB1O1xufSk7XG5cbmNvbnN0IOS4i+S4gOmhtT0ncGQoaHRtbCxcImE6bWF0Y2hlcyjkuItb5LiAXT/pobUpJiZocmVmXCIpJztcblxuTVlfVVJMID0gTVlfVVJMLnJlcGxhY2UoJ2hpa2VyOi8vZW1wdHkjIycsICcnKTtcblxuZXZhbChKU09OLnBhcnNlKHJlcXVlc3QoJ2hpa2VyOi8vcGFnZS9hdXRvUGFnZScpKS5ydWxlKTsgXG5cbmxldCB0cnVlX3VybCA9IGdldFRydWVsaW5rKE1ZX1JVTEUudXJsLCBNWV9VUkwscGFnZSk7XG5cbmxvZyh0cnVlX3VybCk7XG5cbnZhciBodG1sPWZldGNoKHRydWVfdXJsKTtcblxuTVlfVVJMPXRydWVfdXJsO1xuXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2R0ZmwnKSkucnVsZSk7XG5cblxuXG52YXIgbGlzdCA9IHBkZmEoaHRtbCxcImJvZHkmJi5obC1saXN0LWl0ZW1cIik7XG5cbmZvciAodmFyIGkgaW4gbGlzdCkge1xuXG4gIHZhciBpbWcgPSBwZChsaXN0W2ldLCBcIi5obC1sYXp5JiZkYXRhLW9yaWdpbmFsXCIpICsgXCJAUmVmZXJlcj1cIjtcblxuICBkLnB1c2goe1xuXG4gICAgICB0aXRsZTogcGRmaChsaXN0W2ldLCBcImEmJnRpdGxlXCIpLFxuXG4gICAgICBpbWc6IGltZyxcblxuICAgICAgZGVzYzogcGRmaChsaXN0W2ldLCBcIi5obC10ZXh0LW11dGVkJiZ0aXRsZVwiKSxcblxuICAgICAgdXJsOiBwZChsaXN0W2ldLCBcImEmJmhyZWZcIiksXG5cbiAgICAgIGV4dHJhOiB7XG5cbiAgICAgICAgaW1nOiBpbWdcblxuICAgICAgfVxuXG4gICAgfSlcblxuICB9XG5cbmF1dG9QYWdlKCk7XG5cbnNldFJlc3VsdChkKTsiLCJzZWFyY2hfdXJsIjoiaHR0cHM6Ly93d3cubXhkbXAuY29tL3NlYXJjaC8qKi0tLS0tLS0tLS1meXBhZ2UtLS0vIiwiZ3JvdXAiOiLlvbHop4YiLCJzZWFyY2hGaW5kIjoianM6XG52YXIgZCA9IFtdO1xudmFyIGh0bWwgPSBnZXRSZXNDb2RlKClcclxudmFyIGxpc3QgPSBwZGZhKGh0bWwsICdib2R5JiYuaGwtb25lLWxpc3QuY2xlYXJmaXgmJmEnKTtcbmZvciAodmFyIGogaW4gbGlzdCkge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBwZGZoKGxpc3Rbal0sICdhJiZ0aXRsZScpLFxuICAgICAgICBkZXNjOiBwZGZoKGxpc3Rbal0sICcuaGwtdGV4dC1tdXRlZCYmVGV4dCcpLFxuICAgICAgICBpbWc6IHBkKGxpc3Rbal0sICcuaGwtbGF6eSYmZGF0YS1vcmlnaW5hbCcpKydAUmVmZXJlcj0nLFxuICAgICAgICBjb250ZW50OnBkZmgobGlzdFtqXSwgJy5obC1pdGVtLXN1YiYmVGV4dCcpKydcXG4nK3BkZmgobGlzdFtqXSwnLmhsLWl0ZW0tc3ViJiZUZXh0JyksXG4gICAgICAgIHVybDogcGQobGlzdFtqXSwgJ2EmJmhyZWYnKSArIFwiI2ltbWVyc2l2ZVRoZW1lI1wiXG4gICAgfSk7XG59XHJcbnNldFJlc3VsdChkKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoianM6XG52YXLCoGTCoD3CoFtdO1xudmFywqBodG1swqA9wqBnZXRSZXNDb2RlKCk7XG52YXIgbGF6eSA9ICQoJycpLmxhenlSdWxlKCgpID0+IHtcbiAgICAgICAgcmV0dXJuICd2aWRlbzovLycraW5wdXRcbn0pXG50cnnCoHtcbsKgwqDCoMKgdmFywqBmbcKgPcKgc2V0X3N3aXRjaFxufcKgY2F0Y2jCoChlKcKge1xuwqDCoMKgwqBmbcKgPcKgTVlfVVJMXG59XG5kLnB1c2goe1xuwqDCoMKgwqB0aXRsZTrCoHBkZmgoaHRtbCzCoCcuaGwtY29sLXhzLTEyOm1hdGNoZXMo54q25oCBKSYmVGV4dCcpKydcXG4nK3BkZmgoaHRtbCwnLmhsLWNvbC14cy0xMjptYXRjaGVzKOS4u+a8lCkmJlRleHQnKSxcbsKgwqDCoMKgZGVzYzrCoHBkZmgoaHRtbCzCoCcuaGwtY29sLXhzLTEyJiZUZXh0JyksXG7CoMKgwqDCoHBpY191cmw6wqBwZChodG1sLMKgJy5obC1sYXp5JiZkYXRhLW9yaWdpbmFsJyksXG7CoMKgwqDCoHVybDrCoGZtLFxuwqDCoMKgwqBjb2xfdHlwZTrCoCdtb3ZpZV8xX3ZlcnRpY2FsX3BpY19ibHVyJ1xufSk7XG52YXLCoOe6v+i3r8KgPcKgJ2JvZHkmJi5obC10YWJzJiZhJ1xudmFywqDpgInpm4bCoD3CoCdib2R5JiYuaGwtcGxheXMtbGlzdCdcbnZhcsKg57q/6Lev5ZCNwqA9wqAnVGV4dCdcbnZhcsKg6YCJ6ZuG5YiX6KGowqA9wqAnYm9keSYmYTpub3QoOm1hdGNoZXMo5bGVKSknXG5ldmFsKEpTT04ucGFyc2UocmVxdWVzdCgnaGlrZXI6Ly9wYWdlL2Vyamk/cnVsZT3mqKHmnb/Ct1EnKSkucnVsZSlcbnNldFJlc3VsdChkKTsiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuWKqOaAgeWIhuexu+aUuVwiLFwicGF0aFwiOlwiZHRmbFwiLFwicnVsZVwiOlwianM6XFxuLypcXG5WZXIgMjAyMy0xMC0yOCAxLjBcXG7lpIfms6jvvJrkuI3opoHnlKjmtbfpmJTku6PnoIHmoLzlvI/ljJYg5YaF5a655Lya5Ye66ZSZXFxu5b+F6aG75Y+C5pWw77yaXFxu5YiG57G76aKc6ImyIOWkp+exu+WumuS9jSBcXG7lsI/nsbvlrprkvY0g5YiG57G75qCH6aKYIOWIhuexu+mTvuaOpVxcbmh0bWwgPT7mupDnoIEgcGFnZSA9PumhteeggVxcbuWPr+mAieWPguaVsO+8mlxcbuaLvOaOpeWIhuexuyDmipjlj6DmoIforrAg5bGV5byA5qCH6K6wIOaOkumZpFxcbuWkp+exu+mTvuaOpSDlpKfnsbvmoIfpopgg5riF6Zmk6ZSuIOW8gOWQr+aKmOWPoFxcbumZhOWKoOWumuS9jVxcbuivtOaYju+8mlxcbuWklumdoueUqGdldE15VmFyKE1ZX1JVTEUudXJsKSDmiJbogIUg54q25oCBIOWPlumTvuaOpVxcbumtlOaUuTrOsVxcbiovXFxuXFxubGV0IGVtcHR5ID0gXFxcImhpa2VyOi8vZW1wdHlcXFwiO1xcbmxldCBjYXRlZ29yaWVzID0gW107XFxuaWYgKHR5cGVvZiAo5ou85o6l5YiG57G7KSAhPSAndW5kZWZpbmVkJyAmJiDmi7zmjqXliIbnsbsgIT0gJycpIHtcXG4gICAgY2F0ZWdvcmllcyA9IFtwZGZhKGh0bWwsIOWkp+exu+WumuS9jSkuam9pbignXFxcXG4nKV07XFxuICAgIGlmICjmi7zmjqXliIbnsbsuaW5jbHVkZXMoJzsnKSkge1xcbiAgICAgICAg5ou85o6l5YiG57G7ID0g5ou85o6l5YiG57G7LnNwbGl0KCc7Jyk7XFxuICAgIH1cXG4gICAgaWYgKOaLvOaOpeWIhuexuy5jb25zdHJ1Y3RvciA9PSBBcnJheSkge1xcbiAgICAgICAg5ou85o6l5YiG57G7LmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgY2F0ZWdvcmllcyA9IGNhdGVnb3JpZXMuY29uY2F0KHBkZmEoaHRtbCwgaXRlbSkpO1xcbiAgICAgICAgfSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGNhdGVnb3JpZXMgPSBbcGRmYShodG1sLCDlpKfnsbvlrprkvY0pLmpvaW4oJ1xcXFxuJyldLmNvbmNhdChwZGZhKGh0bWwsIOaLvOaOpeWIhuexuykpO1xcbiAgICB9XFxuICAgIGlmICh0eXBlb2YgKOmZhOWKoOWumuS9jSkgIT0gJ3VuZGVmaW5lZCcgJiYg6ZmE5Yqg5a6a5L2NLmxlbmd0aCA+IDApIHtcXG4gICAgICAgIOmZhOWKoOWumuS9jS5mb3JFYWNoKHggPT4ge1xcbiAgICAgICAgICAgIHZhciDkuIDnuqcgPSBwZGZhKGh0bWwsIHgu5LiA57qn5a6a5L2NKS5tYXAocyA9PiB7XFxuICAgICAgICAgICAgICAgIHZhciDlrprkvY0gPSBwZGZhKHMsIHgu5bCP57G7KS5tYXAocSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBwZGZoKHEsIHgu5qCH6aKYKTtcXG4gICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSAnYSdcXG4gICAgICAgICAgICAgICAgICAgIGlmICh4LumTvuaOpS5pbmNsdWRlcygnQEAnKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlID0geC7pk77mjqUuc3BsaXQoJ0BAJylbMF1cXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHBkZmgocSwgeC7pk77mjqUuc3BsaXQoJ0BAJylbMV0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4Lui9rOaNoiA9PSB0cnVlKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgPGxpIGRhdGEtdHlwZT1cXFwiJHtzdGF0ZX1cXFwiIGRhdGEtdmFsPVxcXCIke3ZhbHVlfVxcXCI+PGEgaHJlZj1cXFwiXFxcIj4ke3RpdGxlfTwvYT48L2xpPmBcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDxhIHR5cGU9XFxcIkBleHRyYVxcXCIgc3RhdGU9XFxcIiR7c3RhdGV9XFxcIiB2YWx1ZT1cXFwiJHt2YWx1ZX1cXFwiPiR7dGl0bGV9PC9hPmA7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmID0gcGQocSwgeC7pk77mjqUpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgPGEgaHJlZj1cXFwiJHtocmVmfVxcXCI+JHt0aXRsZX08L2E+YDtcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgIHJldHVybiDlrprkvY07XFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgY2F0ZWdvcmllcy5wdXNoKOS4gOe6py5qb2luKCdcXFxcbicpKTtcXG4gICAgICAgIH0pO1xcbiAgICB9XFxufSBlbHNlIHtcXG4gICAgY2F0ZWdvcmllcyA9IFtwZGZhKGh0bWwsIOWkp+exu+WumuS9jSkuam9pbignXFxcXG4nKV07XFxufVxcblxcbmxldCBpdGVtcyA9IFtdO1xcbmxldCBjYXRlcyA9IFtdO1xcbmxldCBpbml0X2NhdGUgPSBuZXcgQXJyYXkoMjApLmZpbGwoXFxcIjBcXFwiKTtcXG5jb25zdCBmb2xkID0gZ2V0TXlWYXIoTVlfUlVMRS5ncm91cCwgXFxcIjBcXFwiKTtcXG5jb25zdCBjYXRlX3RlbXAgPSBKU09OLnBhcnNlKGdldE15VmFyKFxcXCJoZWFkLmNhdGVcXFwiLCBKU09OLnN0cmluZ2lmeShpbml0X2NhdGUpKSk7XFxudmFyIOaKmOWPoOeKtuaAgSA9ICh0eXBlb2YgKOW8gOWQr+aKmOWPoCkgIT0gJ3VuZGVmaW5lZCcpID8g5byA5ZCv5oqY5Y+gIDogdHJ1ZTtcXG52YXIg5oqY5Y+gID0gKHR5cGVvZiAo5oqY5Y+g5qCH6K6wKSAhPSAndW5kZWZpbmVkJyAmJiDmipjlj6DmoIforrAgIT0gJycpID8g5oqY5Y+g5qCH6K6wIDogJ+KAnOKAnOKAneKAnScgKyAn4oioJy5mb250Y29sb3IoXFxcIiNGRjAwMDBcXFwiKTtcXG52YXIg5bGV5byAID0gKHR5cGVvZiAo5bGV5byA5qCH6K6wKSAhPSAndW5kZWZpbmVkJyAmJiDlsZXlvIDmoIforrAgIT0gJycpID8g5bGV5byA5qCH6K6wIDogJ+KAnOKAnOKAneKAnScgKyAn4oinJy5mb250Y29sb3IoXFxcIiMxYWFkMTlcXFwiKTtcXG52YXIg5riF6ZmkID0gKHR5cGVvZiAo5riF6Zmk6ZSuKSAhPSAndW5kZWZpbmVkJyAmJiDmuIXpmaTplK4gIT0gJycpID8g5riF6Zmk6ZSuIDogW107XFxudmFyIOeKtuaAgSA9ICh0eXBlb2YgKOeKtuaAgeagh+iusCkgIT0gJ3VuZGVmaW5lZCcgJiYg54q25oCB5qCH6K6wICE9ICcnKSA/IOeKtuaAgeagh+iusCA6IE1ZX1JVTEUudXJsO1xcbnZhciDlpKfnsbvlpITnkIYgPSB0eXBlb2YgKOS4gOe6p+WIhuexu+WkhOeQhikgIT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogZmFsc2U7XFxuXFxudmFyIF/liqjmgIHov5Tlm549dHJ1ZTtcXG5pZih0eXBlb2Yg5Yqo5oCB6L+U5ZueIT0ndW5kZWZpbmVkJyYmdHlwZW9mIOWKqOaAgei/lOWbniA9PT0gXFxcImJvb2xlYW5cXFwiKXtcXG4gICAgX+WKqOaAgei/lOWbnj3liqjmgIHov5Tlm547XFxufVxcblxcbnZhciDmkJzntKIgPSB0eXBlb2YgKOW8gOWQr+aQnOe0oikgIT0gJ3VuZGVmaW5lZCcgPyDlvIDlkK/mkJzntKIgOiBmYWxzZTtcXG52YXIg5YWo5riFID0gKHR5cGVvZiAo5YWo5riF6ZSuKSAhPSAndW5kZWZpbmVkJyAmJiDlhajmuIXplK4gIT0gJycpID8g5YWo5riF6ZSuIDogW107XFxu5YWo5riFLnVuc2hpZnQoJ3lpX2ZpcnN0cGFnZScpO1xcblxcblxcbmlmIChwYXJzZUludChwYWdlKSA9PT0gMSkge1xcbiAgICBpZiAo5pCc57SiKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgICAgICAgICB1cmw6IFxcXCInaGlrZXI6Ly9zZWFyY2g/cnVsZT1cXFwiICsgTVlfUlVMRS50aXRsZSArIFxcXCImcz0nK2lucHV0XFxcIixcXG4gICAgICAgICAgICBkZXNjOiBcXFwi5pCc57Si5YWz6ZSu6K+NXFxcIixcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKCdrZXl3b3JkJywgJycpLFxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcigna2V5d29yZCcsIGlucHV0KTtcXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9XFxuICAgIGlmIChwYWdlID09IDEgKSB7XFxuICAgIGlmICjmipjlj6DnirbmgIEpIHtcXG4gICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBmb2xkID09PSAnMScgPyDmipjlj6AgOiDlsZXlvIAsXFxuICAgICAgICAgICAgICAgIHVybDogJChcXFwiI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgodGl0bGUsIGZvbGQsIHUsIGFsbCwgZXhwcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgdmFyIGZvbGQgPSBnZXRNeVZhcihNWV9SVUxFLmdyb3VwLCBmb2xkKTtcXG4gICAgICAgICAgICAgICAgICAgIGlmKGdldE15VmFyKCdjYXRlX2VtcHR5JywnZW1wdHknKT09J2VtcHR5Jyl7XFxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mi7zmjqXpg6jliIbkuLrnqbonO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgXFxuICAgICAgICAgICAgICAgICAgICB2YXIgW+WxleW8gCwg5oqY5Y+gXSA9IGV4cHM7XFxuICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZCA9PSAxKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGN4ID0gZmluZEl0ZW1zQnlDbHModGl0bGUgKyAnY2F0ZV9idXR0b24nKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignY2F0ZV9idXR0b24nLCBjeCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlSXRlbUJ5Q2xzKHRpdGxlICsgJ2NhdGVfYnV0dG9uJyk7XFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjeCA9IHN0b3JhZ2UwLmdldE15VmFyKCdjYXRlX2J1dHRvbicsIFtdKS5tYXAoeCA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhbJ2NvbF90eXBlJ10gPSB4Wydjb2xfdHlwZSddID8geFsnY29sX3R5cGUnXSA6IHhbJ3R5cGUnXTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHg7XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgYWRkSXRlbUFmdGVyKHRpdGxlICsgJ2NhdGVfbGluZScsIGN4KVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgLyphbGwuZm9yRWFjaCgoaXRlbSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKGl0ZW0pO1xcbiAgICAgICAgICAgICAgICAgICAgfSk7Ki9cXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUl0ZW0odGl0bGUgKyAnY2F0ZV9leHAnLCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGZvbGQgPT0gMSA/IOWxleW8gCA6IOaKmOWPoCxcXG4gICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcihNWV9SVUxFLmdyb3VwLCBmb2xkID09PSBcXFwiMVxcXCIgPyBcXFwiMFxcXCIgOiBcXFwiMVxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIjtcXG4gICAgICAgICAgICAgICAgfSwgTVlfUlVMRS50aXRsZSwgZm9sZCwg54q25oCBLCDlhajmuIUsIFvlsZXlvIAsIOaKmOWPoF0pLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgaWQ6IE1ZX1JVTEUudGl0bGUgKyAnY2F0ZV9leHAnLFxcbiAgICAgICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5riF6Zmk54q25oCBJyxcXG4gICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoeCwgYWxsLCBjbCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKHgpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKCdoZWFkLmNhdGUnKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2wuZm9yRWFjaCgoaXRlbSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIOeKtuaAgSwg5YWo5riFLCDmuIXpmaQpXFxuICAgICAgICAgICAgICAgICAgICB9XVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSlcXG4gICAgfWVsc2V7XFxuICAgICAgIHZhciBibz1KU09OLnBhcnNlKGdldE15VmFyKCdoZWFkLmNhdGUnLCdbXScpKS5ldmVyeSh4PT54PT09XFxcIjBcXFwiKTtcXG4gICAgICAgaWYoIWJvKXtcXG4gICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgdGl0bGU6J+KAnOKAnOKAneKAnScrJ+KZuycuZm9udGNvbG9yKCcjM0NCMzcxJyksXFxuICAgICAgICAgY29sX3R5cGU6J3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgIHVybDokKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCh4LCBhbGwsIGNsKT0+e1xcbiAgICAgICAgICAgY2xlYXJNeVZhcih4KTtcXG4gICAgICAgICAgIGNsZWFyTXlWYXIoJ2hlYWQuY2F0ZScpO1xcbiAgICAgICAgICAgYWxsLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICB9KVxcbiAgICAgICAgICAgIGNsLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICAgfSlcXG4gICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XFxuICAgICAgICAgfSwg54q25oCBLCDlhajmuIUsIOa4hemZpCksXFxuICAgICAgIH0pXFxuICAgICAgfX1cXG4gICAgfVxcbiAgICBsZXQgc2V0VGl0bGUgPSAoaywgaSwgdCkgPT4ge1xcbiAgICAgICAgcmV0dXJuIGsgPT0gaSA/IFxcXCLigJzigJzigJ3igJ1cXFwiICsgdC5mb250Y29sb3Io5YiG57G76aKc6ImyKSA6IHRcXG4gICAgfVxcbiAgICBjYXRlZ29yaWVzLmZvckVhY2goKGNhdGVnb3J5LCBpbmRleCkgPT4ge1xcbiAgICAgICAgbGV0IHN1Yl9jYXRlZ29yaWVzID0gW107XFxuICAgICAgICBpZiAo5bCP57G75a6a5L2NLmluY2x1ZGVzKCc7JykpIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcyA9IHBkZmEoY2F0ZWdvcnksIOWwj+exu+WumuS9jS5zcGxpdCgnOycpWzBdKTtcXG4gICAgICAgICAgICBpZiAoc3ViX2NhdGVnb3JpZXMubGVuZ3RoID09IDApIHtcXG4gICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXMgPSBwZGZhKGNhdGVnb3J5LCDlsI/nsbvlrprkvY0uc3BsaXQoJzsnKVsxXSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcyA9IHBkZmEoY2F0ZWdvcnksIOWwj+exu+WumuS9jSk7XFxuICAgICAgICB9XFxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllcy5mb3JFYWNoKChpdGVtLCBrZXkpID0+IHtcXG4gICAgICAgICAgICAgICAgbGV0IF/lpKfnsbvpk77mjqUgPSAodHlwZW9mICjlpKfnsbvpk77mjqUpICE9ICd1bmRlZmluZWQnICYmIOWkp+exu+mTvuaOpSAhPSAnJykgPyDlpKfnsbvpk77mjqUgOiDliIbnsbvpk77mjqU7XFxuXFxuICAgICAgICAgICAgICAgIGxldCBf5aSn57G75qCH6aKYID0gKHR5cGVvZiAo5aSn57G75qCH6aKYKSAhPSAndW5kZWZpbmVkJyAmJiDlpKfnsbvmoIfpopggIT0gJycpID8g5aSn57G75qCH6aKYIDog5YiG57G75qCH6aKYO1xcblxcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBwZGZoKGl0ZW0sIF/lpKfnsbvmoIfpopgpO1xcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICjmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIik7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHtcXG4gICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLCBrZXk6IGtleSwgcGFnZTogcGFnZSwgY2xlYXJzOiDmuIXpmaQsIHN0YXRlOiDnirbmgIEsIGFsbGNsZWFyczog5YWo5riFXFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgbGV0IHVybCA9IHBkKGl0ZW0sIF/lpKfnsbvpk77mjqUpO1xcbiAgICAgICAgICAgICAgICBpZiAo5aSn57G75aSE55CGKSB7XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyjkuIDnuqfliIbnsbvlpITnkIYpXFxuICAgICAgICAgICAgICAgICAgICAvL2xvZygkLnN0cmluZ2lmeSjkuIDnuqfliIbnsbvlpITnkIYpKVxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0ID0gdXJsO1xcbiAgICAgICAgICAgICAgICAgICAgZXZhbChcXFwicmVzdWx0ID0gXFxcIiArIOS4gOe6p+WIhuexu+WkhOeQhik7XFxuICAgICAgICAgICAgICAgICAgICAvL2xvZyhyZXN1bHQpXFxuICAgICAgICAgICAgICAgICAgICB1cmwgPSByZXN1bHQ7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogc2V0VGl0bGUoa2V5LnRvU3RyaW5nKCksIGNhdGVfdGVtcFtpbmRleF0sIHRpdGxlKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQodXJsICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZXdfY2F0ZSA9IFtdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5jbGVhcnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKGl0ZW0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuYWxsY2xlYXJzLmZvckVhY2goKGl0ZW0pID0+IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJNeVZhcihpdGVtKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmNhdGVfdGVtcC5mb3JFYWNoKChjYXRlLCBpbmRleCkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfY2F0ZS5wdXNoKGluZGV4ID09PSAwID8gcGFyYW1zLmtleS50b1N0cmluZygpIDogXFxcIjBcXFwiKVxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcImhlYWQuY2F0ZVxcXCIsIEpTT04uc3RyaW5naWZ5KG5ld19jYXRlKSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIocGFyYW1zLnN0YXRlLCBpbnB1dCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIjtcXG4gICAgICAgICAgICAgICAgICAgIH0sIHBhcmFtcylcXG4gICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgaXRlbXMucHVzaCh7XFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgaWQ6IE1ZX1JVTEUudGl0bGUgKyAnY2F0ZV9saW5lJyxcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzLmZvckVhY2goKGl0ZW0sIGtleSkgPT4ge1xcbiAgICAgICAgICAgICAgICB2YXIgZXh0cmFwb3MgPSBmYWxzZTtcXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaW5jbHVkZXMoJ3R5cGU9XFxcIkBleHRyYVxcXCInKSkge1xcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFwb3MgPSB0cnVlO1xcbiAgICAgICAgICAgICAgICAgICAgLy9sb2coJ+mZhOWKoOWumuS9jScpXFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGV4dHJhcG9zKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBwZGZoKGl0ZW0sICdhJiZUZXh0Jyk7XFxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mICjmjpLpmaQpICE9ICd1bmRlZmluZWQnICYmIOaOkumZpCAhPSAnJykge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUucmVwbGFjZShuZXcgUmVnRXhwKOaOkumZpCwgXFxcImdcXFwiKSwgXFxcIlxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgdmFyIGpzb24gPSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogcGRmaChpdGVtLCAnYSYmc3RhdGUnKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcGRmaChpdGVtLCAnYSYmdmFsdWUnKSxcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG5cXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aXRsZSA9IHBkZmgoaXRlbSwg5YiG57G75qCH6aKYKTtcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgKOaOkumZpCkgIT0gJ3VuZGVmaW5lZCcgJiYg5o6S6ZmkICE9ICcnKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB0aXRsZS5yZXBsYWNlKG5ldyBSZWdFeHAo5o6S6ZmkLCBcXFwiZ1xcXCIpLCBcXFwiXFxcIik7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgICAgICB2YXIganNvbiA9ICcnO1xcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh0cnVlKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSDliIbnsbvpk77mjqUuaW5jbHVkZXMoJ0BAQCcpOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uID0ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogcGRmaChpdGVtLCDliIbnsbvpk77mjqUuc3BsaXQoJ0BAQCcpWzBdKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwZGZoKGl0ZW0sIOWIhuexu+mTvuaOpS5zcGxpdCgnQEBAJylbMV0pLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2Ug5YiG57G76ZO+5o6lLmluY2x1ZGVzKCdAQCcpOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uID0ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTog5YiG57G76ZO+5o6lLnNwbGl0KCdAQCcpWzBdLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHBkZmgoaXRlbSwg5YiG57G76ZO+5o6lLnNwbGl0KCdAQCcpWzFdKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uID0gcGQoaXRlbSwg5YiG57G76ZO+5o6lKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAvKnZhciBqc29uPeWIhuexu+mTvuaOpS5pbmNsdWRlcygnQEBAJyk/e1xcbiAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOnBkZmgoaXRlbSzliIbnsbvpk77mjqUuc3BsaXQoJ0BAQCcpWzBdKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6cGRmaChpdGVtLOWIhuexu+mTvuaOpS5zcGxpdCgnQEBAJylbMV0pLFxcbiAgICAgICAgICAgICAgICAgICAgIH06cGQoaXRlbSzliIbnsbvpk77mjqUpO1xcbiAgICAgICAgICAgICAgICAgICAgIFxcbiAgICAgICAgICAgICAgICAgICAgIGpzb2495YiG57G76ZO+5o6lLmluY2x1ZGVzKCdAQCcpP3tcXG4gICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTrliIbnsbvpk77mjqUuc3BsaXQoJ0BAJylbMF0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOnBkZmgoaXRlbSzliIbnsbvpk77mjqUuc3BsaXQoJ0BAJylbMV0pLFxcbiAgICAgICAgICAgICAgICAgICAgIH06cGQoaXRlbSzliIbnsbvpk77mjqUpOyovXFxuXFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgbGV0IHBhcmFtcyA9IHtcXG4gICAgICAgICAgICAgICAgICAgIGNhdGVfdGVtcDogY2F0ZV90ZW1wLCBpbmRleDogaW5kZXgsIGtleToga2V5LCBwYWdlOiBwYWdlLCBqc29uOiBqc29uLCBzdGF0ZTog54q25oCBLCBhbGxjbGVhcnM6IOWFqOa4hVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIGNhdGVzLnB1c2goe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHNldFRpdGxlKGtleS50b1N0cmluZygpLCBjYXRlX3RlbXBbaW5kZXhdLCB0aXRsZSksXFxuICAgICAgICAgICAgICAgICAgICB1cmw6ICQoJ2hpa2VyOi8vZW1wdHknICsgJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHBhcmFtcykgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcy5hbGxjbGVhcnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKGl0ZW0pXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMuY2F0ZV90ZW1wW3BhcmFtcy5pbmRleF0gPSBwYXJhbXMua2V5LnRvU3RyaW5nKCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcImhlYWQuY2F0ZVxcXCIsIEpTT04uc3RyaW5naWZ5KHBhcmFtcy5jYXRlX3RlbXApKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1zLmpzb24uY29uc3RydWN0b3IgPT09IE9iamVjdCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignZHRfJyArIHBhcmFtcy5qc29uLnR5cGUsIHBhcmFtcy5qc29uLnZhbHVlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcihwYXJhbXMuc3RhdGUsIHBhcmFtcy5qc29uKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIjtcXG4gICAgICAgICAgICAgICAgICAgIH0sIHBhcmFtcyksXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3Njcm9sbF9idXR0b24nLFxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICBjbHM6IE1ZX1JVTEUudGl0bGUgKyAnY2F0ZV9idXR0b24nLFxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICBjYXRlcy5wdXNoKHtcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJibGFua19ibG9ja1xcXCIsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBjbHM6IE1ZX1JVTEUudGl0bGUgKyAnY2F0ZV9idXR0b24nLFxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSk7XFxuICAgICAgICB9XFxuICAgIH0pXFxufVxcblxcblxcbmlmIChmb2xkID09PSBcXFwiMVxcXCIgfHwg5oqY5Y+g54q25oCBID09IGZhbHNlKSB7XFxuICAgIGl0ZW1zID0gaXRlbXMuY29uY2F0KGNhdGVzKTtcXG59XFxuaWYgKGZvbGQgPT09IFxcXCIwXFxcIikge1xcbiAgICBzdG9yYWdlMC5wdXRNeVZhcignY2F0ZV9idXR0b24nLCBjYXRlcylcXG59XFxuaWYoY2F0ZXMubGVuZ3RoPT0wKXtcXG4gICAgIHB1dE15VmFyKCdjYXRlX2VtcHR5JywnZW1wdHknKTtcXG59ZWxzZXtcXG4gICAgIHB1dE15VmFyKCdjYXRlX2VtcHR5Jywnbm9lbXB0eScpO1xcbn1cXG5cXG5pZiAodHlwZW9mIHNldFByZVJlc3VsdCAhPSAndW5kZWZpbmVkJyYmX+WKqOaAgei/lOWbnikge1xcbiAgICBpdGVtcyA9IGQuY29uY2F0KGl0ZW1zKTtcXG4gICAgLy/muIXnqbrnu6fmib/mlbDnu4RcXG4gICAgZC5sZW5ndGggPSAwO1xcbiAgICBzZXRQcmVSZXN1bHQoaXRlbXMpO1xcbn0gZWxzZSB7XFxuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICBkLnB1c2goaXRlbSk7XFxuICAgIH0pXFxufVxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi6Ieq5Yqo5LiL5LiA6aG1XCIsXCJwYXRoXCI6XCJhdXRvUGFnZVwiLFwicnVsZVwiOlwianM6XFxudmFyIOeKtuaAgSA9XFxyXFxudHlwZW9mIOeKtuaAgeagh+iusCAhPSBcXFwidW5kZWZpbmVkXFxcIiAmJiDnirbmgIHmoIforrAgIT0gXFxcIlxcXCIgPyDnirbmgIHmoIforrA6IE1ZX1JVTEUudXJsO1xcblxcbmZ1bmN0aW9uIGdldFRydWVsaW5rKG1hcmssIHVybCwgcGFnZSkge1xcclxcbiAgdmFyIHAgPSBnZXRNeVZhcihtYXJrLCB1cmwpLnJlcGxhY2UoXFxcImZ5cGFnZVxcXCIsIHBhZ2UpO1xcclxcbiAgaWYgKHBhZ2UgPT0gMSkge1xcclxcbiAgICByZXR1cm4gZ2V0TXlWYXIoXFxcInlpX2ZpcnN0cGFnZVxcXCIsIHApO1xcclxcbiAgfSBlbHNlIGlmIChwICE9IFxcXCJcXFwiKSB7XFxyXFxuICAgIHJldHVybiBwO1xcclxcbiAgfSBlbHNlIHtcXHJcXG4gICAgcmV0dXJuIHVybDtcXHJcXG4gIH1cXHJcXG59XFxuXFxuZnVuY3Rpb24gYXV0b1BhZ2UoKSB7XFxyXFxuICBpZiAocGFnZSA9PSAxKSB7XFxyXFxuICAgIHB1dE15VmFyKFxcXCJ5aV9maXJzdHBhZ2VcXFwiLCB0cnVlX3VybCk7XFxyXFxuICB9XFxyXFxuICB0cnkge1xcclxcbiAgICB2YXIgbmV4dCA9IGV2YWwo5LiL5LiA6aG1KTtcXHJcXG4gICAgLy9sb2coXFxcIm5leHRcXFwiKTtcXHJcXG4gICAgLy9sb2coJ25leHQ6JytuZXh0KTtcXHJcXG4gIH0gY2F0Y2gge1xcclxcbiAgICBsb2coXFxcIuWPr+iDveS4jeWtmOWcqOS4i+S4gOmhteaIluiAheS4i+S4gOmhteWumuS9jeaciemXrumimFxcXCIpO1xcclxcbiAgICBuZXh0ID0gXFxcIlxcXCI7XFxyXFxuICB9XFxyXFxuICBpZiAobmV4dCAhPSBcXFwiXFxcIikge1xcclxcbiAgICBwdXRNeVZhcijnirbmgIEsIG5leHQpO1xcclxcbiAgfVxcclxcbn1cIn1dIiwiaWNvbiI6IiIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment