xiaomianao666

小程序:JustLive

Oct 22nd, 2023
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@JustLive@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoiSnVzdExpdmUiLCJhdXRob3IiOiJKb2UmJumaj+mjjiYm5Y+R57Kq5raC5aKZJiZSeCYmWnJ1aXJ5IiwidXJsIjoiaGlrZXI6Ly9lbXB0eSMjZnlwYWdlIiwidmVyc2lvbiI6MjAyMzEwMjIsImNvbF90eXBlIjoibW92aWVfMiIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbmxldCBkID0gW107XG5sZXQgYXBpID0gXCJodHRwOi8veWoxMjExLndvcms6ODAxMy9hcGkvbGl2ZS9cIjtcbmxldCB1aWQgPSBnZXRJdGVtKFwidWlkXCIsIFwiXCIpO1xuaWYgKE1ZX1BBR0UgPT0gMSkge1xuICAgIGQudW5zaGlmdCh7XG4gICAgICAgIHRpdGxlOiBnZXRJdGVtKFwibmlja25hbWVcIiwgXCLms6jlhowgLyDnmbvlvZVcIiksXG4gICAgICAgIGRlc2M6IGdldEl0ZW0oXCJ1c2VybmFtZVwiLCBcIlwiKSArIFwiXFx0XFx0XCIsXG4gICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICBwdXRNeVZhcihcInNUeXBlXCIsICdsaXZpbmcnKTtcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL2hpc3Rvcnkjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJztcbiAgICAgICAgfSksXG4gICAgICAgIGltZzogXCJodHRwczovL2hpa2VyZmFucy5jb20vdHViaWFvL2tlLzczLnBuZ1wiLFxuICAgICAgICBjb2xfdHlwZTogXCJhdmF0YXJcIlxuICAgIH0pO1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBcIuaQnOe0olwiLFxuICAgICAgICBkZXNjOiBcIuaQnOe0oumcgOWFiOeZu+W9lVwiLFxuICAgICAgICB1cmw6ICQudG9TdHJpbmcoKCkgPT4ge1xuICAgICAgICAgICAgcHV0TXlWYXIoXCJNeWtleVwiLCBpbnB1dCk7XG4gICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxuICAgICAgICB9KSxcbiAgICAgICAgY29sX3R5cGU6IFwiaW5wdXRcIixcbiAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0TXlWYXIoXCJNeWtleVwiKVxuICAgICAgICB9XG4gICAgfSwge1xuICAgICAgICBjb2xfdHlwZTogXCJiaWdfYmxhbmtfYmxvY2tcIlxuICAgIH0sIHtcbiAgICAgICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbiAgICB9LCB7XG4gICAgICAgIGNvbF90eXBlOiBcImxpbmVfYmxhbmtcIlxuICAgIH0pO1xuXG4gICAgLy/ng63pl6jnm7Tmkq1cbiAgICBkLnB1c2goe1xuICAgICAgICB0aXRsZTogJzxmb250IGNvbG9yPVwiIzBhYTM0NFwiPueDremXqOebtOaSrTwvZm9udD4nLFxuICAgICAgICBkZXNjOiAnPGZvbnQgY29sb3I9XCIjMGFhMzQ0XCI+4p6uXFx0XFx0PC9mb250PicsXG4gICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICBwdXRNeVZhcihcInR5cGVOYW1lVmFyXCIsICflhajpg6gnKTtcbiAgICAgICAgICAgIHJldHVybiBcImhpa2VyOi8vcGFnZS9uZXdDbGFzc1wiICsgJyNub0hpc3RvcnkjJ1xuICAgICAgICB9KSxcbiAgICAgICAgaW1nOiBcImh0dHBzOi8vaW1nMS5iYWlkdS5jb20vaXQvdT0xMTMxMzMxNDE2LDI2NjY0NjczNTQmZm09MjUzJmZtdD1hdXRvJmFwcD0xMjAmZj1QTkc/dz01MDAmaD01MDBAUmVmZXJlcj1cIixcbiAgICAgICAgY29sX3R5cGU6IFwiYXZhdGFyXCJcbiAgICB9KTtcblxuICAgIGxldCB0aXQgPSBbXCLmsLjliqvml6Dpl7RcIiwgXCLnjovogIXojaPogIBcIiwgXCLoi7Hpm4TogZTnm59cIiwgXCLltKnlnY/vvJrmmJ/nqbnpk4HpgZNcIiwgXCJMT0zmiYvmuLhcIiwgXCLljp/npZ5cIiwgXCLlkozlubPnsr7oi7FcIiwgXCLom4vku5TmtL7lr7lcIl07XG4gICAgbGV0IHBpYyA9IFtcImxpdmUvM2YxMTI1MmM4NWVmNDA0YTQyY2Q4ZjBiYWUyZjg1NDdiNWY1N2M3Yy5wbmdcIiwgXCJ2Yy8wZmVmYTkyNDc2MGIyZGQ0OTJhMTJkZGRhZmUxNzliZmExMjE2OTE4LnBuZ1wiLCBcInZjLzBlODA4MTY3ODg2YWQyMjk5OTcxZWE0OWFhZGU2OWIzNjYzZGI5YjkucG5nXCIsIFwibGl2ZS81MjZiMGI4ODdiMjc3ODZhMTljN2FkNzI4M2M2YWZhM2ZkOTJmMzQ4LmpwZ1wiLCBcImxpdmUvMzA1ODQ4ZmYxYjY0NGI4MjBjMGM2YzE4YzgzYzQ4MDhlNGNkZTBjNy5wbmdcIiwgXCJsaXZlL2E3YzBiNTgzNGM5ODYxYTRlNWNkNThmODRlOGIxMjVmYTk3NjA4NzYucG5nXCIsIFwiaW0vMDAwNTBjODk2ZDI5YzVhZTg1ZWNhZGI1NDEzMDJmNDFmZjM1ZWE0OC5qcGdcIiwgXCJpbS84NTZhZTI3MjA1ODZlODBiOTM5YTA2MmEwYjVhZmNlZTM0OWVlNzgzLnBuZ1wiXTtcbiAgICBsZXQgcGljMSA9IFwiaHR0cDovL2kwLmhkc2xiLmNvbS9iZnMvXCI7XG4gICAgbGV0IHBpYzIgPSBcImh0dHA6Ly9tZXNzYWdlLmJpbGlpbWcuY29tL2Jmcy9cIjtcblxuICAgIGZvciAobGV0IGkgaW4gdGl0KSB7XG4gICAgICAgIGxldCBpbWcgPSAvNy8udGVzdChpKSA/IHBpYzIgOiBwaWMxO1xuICAgICAgICBsZXQgdHlwZSA9IC8wfDIvLnRlc3QoaSkgPyBcIue9kea4uFwiIDogXCLmiYvmuLhcIjtcbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiB0aXRbaV0sXG4gICAgICAgICAgICBpbWc6IGltZyArIHBpY1tpXSArIFwiQFJlZmVyZXI9XCIsXG4gICAgICAgICAgICBjb2xfdHlwZTogXCJpY29uX3JvdW5kX3NtYWxsXzRcIixcbiAgICAgICAgICAgIHVybDogXCJoaWtlcjovL3BhZ2UvbmV3Q2xhc3NMaXN0P3R5cGVOYW1lPVwiICsgdHlwZSArIFwiJmFyZWFOYW1lPVwiICsgdGl0W2ldICsgXCImcGFnZT1meXBhZ2Ujbm9IaXN0b3J5I1wiLFxuICAgICAgICB9KVxuICAgIH07XG5cbiAgICBkLnB1c2goe1xuICAgICAgICBjb2xfdHlwZTogXCJiaWdfYmxhbmtfYmxvY2tcIlxuICAgIH0sIHtcbiAgICAgICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbiAgICB9LCB7XG4gICAgICAgIGNvbF90eXBlOiBcImxpbmVfYmxhbmtcIlxuICAgIH0sIHtcbiAgICAgICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbiAgICB9LCB7XG4gICAgICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG4gICAgfSk7XG5cbiAgICAvL+WFqOmDqOWIhuexu1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBnZXRNeVZhcihcIk15a2V5XCIpID8gJ+aQnOe0ouebtOaSrScgOiBcIuWFqOmDqOebtOaSrVwiLFxuICAgICAgICBkZXNjOiBnZXRNeVZhcihcIk15a2V5XCIpID8gJzxmb250IGNvbG9yPVwiIzBhYTM0NFwiPui/lOWbnlxcdDwvZm9udD4nIDogXCJcIixcbiAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChnZXRNeVZhcihcIk15a2V5XCIsIFwiXCIpID09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKTtcbiAgICAgICAgICAgICAgICBjbGVhck15VmFyKFwiTXlrZXlcIik7XG4gICAgICAgICAgICAgICAgY2xlYXJNeVZhcihcImNsYXNzXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSc7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICAgaW1nOiBnZXRNeVZhcihcIk15a2V5XCIpID8gXCJodHRwczovL2hpa2VyZmFucy5jb20vdHViaWFvL21lc3N5LzI1LnN2Z0BSZWZlcmVyPVwiIDogXCJodHRwczovL2ltZzIuYmFpZHUuY29tL2l0L3U9NTE3ODkzMDI3LDI0NzQ1OTY2OTcmZm09MjUzJmZtdD1hdXRvJmFwcD0xMzgmZj1KUEVHP3c9NTAwJmg9NTk0QFJlZmVyZXI9XCIsXG4gICAgICAgIGNvbF90eXBlOiBcImF2YXRhclwiXG4gICAgfSwge1xuICAgICAgICBjb2xfdHlwZTogXCJiaWdfYmxhbmtfYmxvY2tcIlxuICAgIH0sIHtcbiAgICAgICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbiAgICB9KTtcblxuICAgIGxldCBsZWkgPSBbXCLlhajpg6hcIiwgXCLomY7niZlcIiwgXCLmlpfpsbxcIiwgXCLlk5Tlk6lcIiwgXCLmipbpn7NcIiwgXCLnvZHmmJNcIl07XG4gICAgbGV0IGx1cmwgPSBbXCJhbGxcIiwgXCJodXlhXCIsIFwiZG91eXVcIiwgXCJiaWxpYmlsaVwiLCBcImRvdXlpblwiLCBcImNjXCJdO1xuICAgIGZvciAobGV0IGkgaW4gbGVpKSB7XG4gICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogbHVybFtpXSA9PSBnZXRNeVZhcihcImNsYXNzXCIsIFwiYWxsXCIpID8gXCLigJjigJjigJnigJk8Yj5cIiArIGxlaVtpXS5mb250Y29sb3IoXCIjRkE3Mjk4XCIpICsgXCI8L2I+XCIgOiBsZWlbaV0sXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHVybCkgPT4ge1xuICAgICAgICAgICAgICAgIHB1dE15VmFyKFwiY2xhc3NcIiwgdXJsKTtcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiaGlrZXI6Ly9lbXB0eVwiXG4gICAgICAgICAgICB9LCBsdXJsW2ldKSxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcInNjcm9sbF9idXR0b25cIlxuICAgICAgICB9KVxuICAgIH07XG4gICAgZC5wdXNoKHtcbiAgICAgICAgY29sX3R5cGU6IFwiYmlnX2JsYW5rX2Jsb2NrXCJcbiAgICB9LCB7XG4gICAgICAgIGNvbF90eXBlOiBcImJpZ19ibGFua19ibG9ja1wiXG4gICAgfSlcbn07XG5cbi8v5pCc57Si5YiX6KGoXG5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvbGF6eScpO1xuaWYgKGdldE15VmFyKFwiTXlrZXlcIikpIHtcbiAgICBmdW5jdGlvbiBzbyhhcGksIHVpZCwgZCkge1xuICAgICAgICBpZiAoTVlfUEFHRSA9PSAnMScpIHtcbiAgICAgICAgICAgIGlmICh1aWQgPT0gXCJcIikge1xuICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIueZu+W9leWQjue7p+e7reaQnOe0olwiLFxuICAgICAgICAgICAgICAgICAgICBkZXNjOiBcIueCueWHu+eZu+W9lVwiLFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogXCJ0ZXh0X2NlbnRlcl8xXCIsXG4gICAgICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcihcInNUeXBlXCIsICdsaXZpbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL2hpc3Rvcnkjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJ1xuXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNzX3VybCA9IGFwaSArIFwic2VhcmNoP3BsYXRmb3JtPVwiICsgZ2V0TXlWYXIoXCJjbGFzc1wiLCBcImFsbFwiKSArIFwiJmtleVdvcmRzPVwiICsgZ2V0TXlWYXIoXCJNeWtleVwiKSArIFwiJnVpZD1cIiArIHVpZDtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGZldGNoKHNzX3VybCkpLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoZGF0YSBvZiBqc29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBkYXRhLm5pY2tOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6IGRhdGEucGxhdGZvcm0ucmVwbGFjZSgnaHV5YScsICfomY7niZknKS5yZXBsYWNlKCdkb3V5dScsICfmlpfpsbwnKS5yZXBsYWNlKCdjYycsICfnvZHmmJNDQycpLnJlcGxhY2UoXCJiaWxpYmlsaVwiLCBcIuWTlOWTqVwiKS5yZXBsYWNlKFwiZG91eWluXCIsIFwi5oqW6Z+zXCIpICsgJ8K3JyArIGRhdGEuY2F0ZU5hbWUgKyAnwrcnICsgKGRhdGEuaXNMaXZlID09ICcwJyA/ICcgIOacquW8gOaSrScgOiAnICDnm7Tmkq3kuK0nKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWc6IChkYXRhLmhlYWRQaWMgIT09IG51bGwgJiYgZGF0YS5oZWFkUGljLnN0YXJ0c1dpdGgoJy8nKSA/ICdodHRwczonICsgZGF0YS5oZWFkUGljIDogZGF0YS5oZWFkUGljKSArICdAUmVmZXJlcj0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZGF0YS5pc0xpdmUgPT0gJzEnICYmIGdldEl0ZW0oJ211bHRpbGluZScsICcxJykgIT09IFwiMVwiID8gYXBpICsgJ2dldFJlYWxVcmw/cGxhdGZvcm09JyArIGRhdGEucGxhdGZvcm0gKyAnJnJvb21JZD0nICsgZGF0YS5yb29tSWQgKyBsYXp5IDogXCJoaWtlcjovL3BhZ2UvZGV0YWlsPyNpbW1lcnNpdmVUaGVtZSMmcm9vbWlkPVwiICsgZGF0YS5yb29tSWQgKyBcIiZwbGF0Zm9ybT1cIiArIGRhdGEucGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFwibW92aWVfMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLigJzigJzliLDlupXkuoblkaLigJ3igJ1cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2M6ICfngrnlh7vov5Tlm57pppbpobUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSh0cnVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoXCJNeWtleVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFwidGV4dF9jZW50ZXJfMVwiXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi4oCc4oCc5pCc57Si5pyq55+l6ZSZ6K+v4oCd4oCdXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiAn54K55Ye76L+U5Zue6aaW6aG1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhck15VmFyKFwiTXlrZXlcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcInRleHRfY2VudGVyXzFcIlxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB0b2FzdChcIuaQnOe0ouWHuueOsOmUmeivr1wiKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHNvKGFwaSwgdWlkLCBkKTtcbn0gZWxzZSB7XG4gICAgLy/kuLvpobXliJfooahcbiAgICBsZXQgaG9tZSA9IGFwaSArIFwiZ2V0UmVjb21tZW5kP3BhZ2U9XCIgKyBNWV9QQUdFICsgXCImc2l6ZT0yMFwiO1xuICAgIGxldCBmZW4gPSBhcGkgKyBcImdldFJlY29tbWVuZEJ5UGxhdGZvcm0/cGxhdGZvcm09XCIgKyBnZXRNeVZhcihcImNsYXNzXCIpICsgXCImcGFnZT1cIiArIE1ZX1BBR0UgKyBcIiZzaXplPTIwXCI7XG4gICAgaWYgKGdldE15VmFyKFwiY2xhc3NcIiwgXCJhbGxcIikgPT0gXCJhbGxcIikge1xuICAgICAgICB2YXIgdXJsID0gaG9tZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgdXJsID0gZmVuO1xuICAgIH1cbiAgICB2YXIgcmVzID0gSlNPTi5wYXJzZShyZXF1ZXN0KHVybCkpLmRhdGE7XG4gICAgZm9yIChkYXRhIG9mIHJlcykge1xuICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGRhdGEuY2F0ZWdvcnlOYW1lICsgJ8K3JyArIGRhdGEucm9vbU5hbWUsXG4gICAgICAgICAgICBkZXNjOiBkYXRhLnBsYXRGb3JtLnJlcGxhY2UoJ2h1eWEnLCAn6JmO54mZJykucmVwbGFjZSgnZG91eXUnLCAn5paX6bG8JykucmVwbGFjZSgnY2MnLCAn572R5piTQ0MnKS5yZXBsYWNlKFwiYmlsaWJpbGlcIiwgXCLlk5Tlk6lcIikucmVwbGFjZShcImRvdXlpblwiLCBcIuaKlumfs1wiKSArICfCtycgKyBkYXRhLm93bmVyTmFtZSxcbiAgICAgICAgICAgIGltZzogKGRhdGEucm9vbVBpYyAhPT0gbnVsbCAmJiBkYXRhLnJvb21QaWMuc3RhcnRzV2l0aCgnLycpID8gJ2h0dHBzOicgKyBkYXRhLnJvb21QaWMgOiBkYXRhLnJvb21QaWMpICsgJ0BSZWZlcmVyPScsXG4gICAgICAgICAgICB1cmw6IGdldEl0ZW0oJ211bHRpbGluZScsICcxJykgIT09IFwiMVwiID8gYXBpICsgXCJnZXRSZWFsVXJsP3BsYXRmb3JtPVwiICsgZGF0YS5wbGF0Rm9ybSArIFwiJnJvb21JZD1cIiArIGRhdGEucm9vbUlkICsgbGF6eSA6IFwiaGlrZXI6Ly9wYWdlL2RldGFpbD8jaW1tZXJzaXZlVGhlbWUjJnJvb21pZD1cIiArIGRhdGEucm9vbUlkICsgXCImcGxhdGZvcm09XCIgKyBkYXRhLnBsYXRGb3JtLFxuICAgICAgICAgICAgZXh0cmE6IHtcbiAgICAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ2V0SXRlbShkYXRhLnBsYXRGb3JtICsgZGF0YS5yb29tSWQsIFwiMFwiKSA9PSAxID8gXCLlt7LlhbPms6hcIiA6IFwi5pyq5YWz5rOoXCIsXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCh1aWQsIHJvb21pZCwgcGxhdGZvcm0sIGFwaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEl0ZW0ocGxhdGZvcm0gKyByb29taWQsIFwiMFwiKSA9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocmVxdWVzdChhcGkgKyBcImZvbGxvdz9wbGF0Zm9ybT1cIiArIHBsYXRmb3JtICsgXCImcm9vbUlkPVwiICsgcm9vbWlkICsgXCImdWlkPVwiICsgdWlkKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldEl0ZW0ocGxhdGZvcm0gKyByb29taWQsIFwiMVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJ0b2FzdDovL1wiICsgcmVzLmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocmVxdWVzdChhcGkgKyBcInVuRm9sbG93P3BsYXRmb3JtPVwiICsgcGxhdGZvcm0gKyBcIiZyb29tSWQ9XCIgKyByb29taWQgKyBcIiZ1aWQ9XCIgKyB1aWQpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckl0ZW0ocGxhdGZvcm0gKyByb29taWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcInRvYXN0Oi8vXCIgKyByZXMuZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCB1aWQsIGRhdGEucm9vbUlkLCBkYXRhLnBsYXRGb3JtLCBhcGkpXG4gICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLlrpjnvZHpk77mjqVcIixcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHJvb21pZCwgcGxhdGZvcm0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocGxhdGZvcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZG91eXVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFwiaHR0cHM6Ly9tLmRvdXl1LmNvbS9cIiArIHJvb21pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJiaWxpYmlsaVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXCJodHRwczovL2xpdmUuYmlsaWJpbGkuY29tL2g1L1wiICsgcm9vbWlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcImh1eWFcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFwiaHR0cHM6Ly9tLmh1eWEuY29tL1wiICsgcm9vbWlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcImRvdXlpblwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXCJodHRwczovL2xpdmUuZG91eWluLmNvbS9cIiArIHJvb21pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJjY1wiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXCJodHRwczovL2g1LmNjLjE2My5jb20vY2MvXCIgKyByb29taWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgICAgICAgICAgICAgfSwgZGF0YS5yb29tSWQsIGRhdGEucGxhdEZvcm0pXG4gICAgICAgICAgICAgICAgfV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59XG5zZXRSZXN1bHQoZCk7Iiwic2VhcmNoX3VybCI6Imhpa2VyOi8vZW1wdHk/a3c9KioiLCJncm91cCI6IuKRpuebtOaSrSIsInNlYXJjaEZpbmQiOiJqczpcbmlmIChnZXRJdGVtKFwidWlkXCIsIFwiXCIpID09IFwiXCIpIHtcbiAgICB2YXIgZCA9IFtdXG4gICAgZC5wdXNoKHtcbiAgICAgICAgdGl0bGU6IFwi6K+35YWI55m76ZmGXCIsXG4gICAgICAgIHVybDogXCJoaWtlcjovL3BhZ2UvaGlzdG9yeVwiXG4gICAgfSlcbn0gZWxzZSB7XG4gICAgc2V0UmVzdWx0KFt7XG4gICAgICAgIHVybDogJ2hpa2VyOi8vc2VhcmNoP3M9JyArIGdldFBhcmFtKFwia3dcIiksXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBydWxlczogJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSBbXTtcbiAgICAgICAgICAgICAgICAkLnJlcXVpcmUoXCJzZWFyY2hcIikuZW5naW5lcy5mb3JFYWNoKChNYXAsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidGl0bGVcIjogTWFwLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzZWFyY2hfdXJsXCI6IGJ1aWxkVXJsKFwiaGlrZXI6Ly9lbXB0eVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga3c6IFwiKipcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiBcImZ5cGFnZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZTogTWFwXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2VhcmNoRmluZFwiOiBcImpzOiQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL3NlYXJjaD9ydWxlPUp1c3RMaXZlJykuc2VhcmNoKClcIlxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiBcIuaQnOe0ou+8mlwiICsgZ2V0UGFyYW0oXCJrd1wiKVxuICAgIH1dKVxufVxuc2V0UmVzdWx0KGQpIiwiZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsImRldGFpbF9maW5kX3J1bGUiOiIiLCJzZGV0YWlsX2NvbF90eXBlIjoibW92aWVfMSIsInNkZXRhaWxfZmluZF9ydWxlIjoiIiwidWEiOiJtb2JpbGUiLCJwcmVSdWxlIjoiIiwicGFnZXMiOiJbe1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuS6jOe6p1wiLFwicGF0aFwiOlwiZGV0YWlsXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbmxldCBhcGkgPSBcXFwiaHR0cDovL3lqMTIxMS53b3JrOjgwMTMvYXBpL2xpdmUvXFxcIjtcXG5sZXQgbXVsdGlsaW5lID0gZ2V0SXRlbSgnbXVsdGlsaW5lJywgJzEnKSA9PSBcXFwiMVxcXCIgPyBcXFwiZ2V0UmVhbFVybE11bHRpU291cmNlXFxcIiA6IFxcXCJnZXRSZWFsVXJsXFxcIjtcXG5sZXQgdWlkID0gZ2V0SXRlbShcXFwidWlkXFxcIiwgXFxcIlxcXCIpO1xcbmxldCBwbGF0Zm9ybSA9IGdldFBhcmFtKFxcXCJwbGF0Zm9ybVxcXCIpO1xcbnZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcImdldFJvb21JbmZvP3VpZD1cXFwiICsgdWlkICsgXFxcIiZwbGF0Zm9ybT1cXFwiICsgcGxhdGZvcm0gKyBcXFwiJnJvb21JZD1cXFwiICsgZ2V0UGFyYW0oXFxcInJvb21pZFxcXCIpKSk7XFxuLy/ov5nkuKTkuKrpk77mjqXkuI3lkIxcXG52YXIgcGxheXVybCA9IEpTT04ucGFyc2UocmVxdWVzdChhcGkgKyBtdWx0aWxpbmUgKyBcXFwiP3BsYXRmb3JtPVxcXCIgKyBwbGF0Zm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyBnZXRQYXJhbShcXFwicm9vbWlkXFxcIikpKS5kYXRhO1xcblxcbnZhciBmb2xsb3cgPSByZXMuZGF0YS5pc0ZvbGxvd2VkO1xcbnZhciByb29taWQgPSByZXMuZGF0YS5yb29tSWQ7XFxuaWYgKHBsYXRmb3JtID09IFxcXCJkb3V5dVxcXCIpIHtcXG4gICAgdmFyIHVybCA9IFxcXCJodHRwczovL20uZG91eXUuY29tL1xcXCIgKyByb29taWQ7XFxufSBlbHNlIGlmIChwbGF0Zm9ybSA9PSBcXFwiaHV5YVxcXCIpIHtcXG4gICAgdmFyIHVybCA9IFxcXCJodHRwczovL20uaHV5YS5jb20vXFxcIiArIHJvb21pZDtcXG59IGVsc2UgaWYgKHBsYXRmb3JtID09IFxcXCJiaWxpYmlsaVxcXCIpIHtcXG4gICAgdmFyIHVybCA9IFxcXCJodHRwczovL2xpdmUuYmlsaWJpbGkuY29tL2g1L1xcXCIgKyByb29taWQ7XFxufSBlbHNlIGlmIChwbGF0Zm9ybSA9PSBcXFwiZG91eWluXFxcIikge1xcbiAgICB2YXIgdXJsID0gXFxcImh0dHBzOi8vbGl2ZS5kb3V5aW4uY29tL1xcXCIgKyByb29taWQ7XFxufSBlbHNlIHtcXG4gICAgdmFyIHVybCA9IFxcXCJodHRwczovL2g1LmNjLjE2My5jb20vY2MvXFxcIiArIHJvb21pZDtcXG59O1xcbnRyeSB7XFxuICAgIHZhciDlubPlj7AgPSByZXMuZGF0YS5wbGF0Rm9ybS5yZXBsYWNlKCdodXlhJywgJ+iZjueJmScpLnJlcGxhY2UoJ2RvdXl1JywgJ+aWl+mxvCcpLnJlcGxhY2UoJ2NjJywgJ+e9keaYk0NDJykucmVwbGFjZShcXFwiYmlsaWJpbGlcXFwiLCBcXFwi5ZOU5ZOp5ZOU5ZOpXFxcIikucmVwbGFjZShcXFwiZG91eWluXFxcIiwgXFxcIuaKlumfs1xcXCIpO1xcbn0gY2F0Y2ggKGUpIHt9O1xcbmQucHVzaCh7XFxuICAgIHRpdGxlOiByZXMuZGF0YS5pc0xpdmUgPT0gMSA/IHJlcy5kYXRhLnJvb21OYW1lIDogcmVzLmRhdGEub3duZXJOYW1lLFxcbiAgICBpbWc6IHJlcy5kYXRhLmlzTGl2ZSA9PSAxID8gcmVzLmRhdGEucm9vbVBpYyArIFxcXCJAUmVmZXJlcj1cXFwiIDogcmVzLmRhdGEub3duZXJIZWFkUGljICsgXFxcIkBSZWZlcmVyPVxcXCIsXFxuICAgIGRlc2M6IFxcXCLliIbljLrvvJpcXFwiICsg5bmz5Y+wICsgJ8K3JyArIHJlcy5kYXRhLmNhdGVnb3J5TmFtZSArIChyZXMuZGF0YS5pc0xpdmUgPT0gMSA/IFxcXCJcXFxcbueKtuaAge+8muato+WcqOebtOaSrVxcXCIgOiBcXFwiXFxcXG7nirbmgIHvvJrmnKrlvIDmkq1cXFwiKSArIFxcXCJcXFxcbueCueWHu+S4i+aWueS4u+aSreWktOWDj+i/m+WFpeWumOe9kVxcXCIsXFxuICAgIHVybDogcmVzLmRhdGEuaXNMaXZlID09IDEgPyByZXMuZGF0YS5yb29tUGljIDogcmVzLmRhdGEub3duZXJIZWFkUGljLFxcbiAgICBjb2xfdHlwZTogJ21vdmllXzFfdmVydGljYWxfcGljX2JsdXInLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgZ3JhZGllbnQ6IHRydWVcXG4gICAgfVxcbn0sIHtcXG4gICAgdGl0bGU6IHJlcy5kYXRhLm93bmVyTmFtZSxcXG4gICAgaW1nOiByZXMuZGF0YS5vd25lckhlYWRQaWMgKyBcXFwiQFJlZmVyZXI9XFxcIixcXG4gICAgdXJsOiB1cmwsXFxuICAgIGNvbF90eXBlOiBcXFwiaWNvbl8yX3JvdW5kXFxcIlxcbn0sIHtcXG4gICAgdGl0bGU6IHJlcy5kYXRhLmlzRm9sbG93ZWQgPT0gMSA/IFxcXCLlt7LlhbPms6hcXFwiIDogXFxcIuacquWFs+azqFxcXCIsXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodWlkLCByb29taWQsIHBsYXRmb3JtLCBmb2xsb3csIGFwaSkgPT4ge1xcbiAgICAgICAgaWYgKGZvbGxvdyA9PSAwKSB7XFxuICAgICAgICAgICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocmVxdWVzdChhcGkgKyBcXFwiZm9sbG93P3BsYXRmb3JtPVxcXCIgKyBwbGF0Zm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyByb29taWQgKyBcXFwiJnVpZD1cXFwiICsgdWlkKSlcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL1xcXCIgKyByZXMuZGF0YVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB2YXIgcmVzID0gSlNPTi5wYXJzZShyZXF1ZXN0KGFwaSArIFxcXCJ1bkZvbGxvdz9wbGF0Zm9ybT1cXFwiICsgcGxhdGZvcm0gKyBcXFwiJnJvb21JZD1cXFwiICsgcm9vbWlkICsgXFxcIiZ1aWQ9XFxcIiArIHVpZCkpXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcbiAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly9cXFwiICsgcmVzLmRhdGFcXG4gICAgICAgIH1cXG4gICAgfSwgdWlkLCByb29taWQsIHBsYXRmb3JtLCBmb2xsb3csIGFwaSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pO1xcblxcbmZ1bmN0aW9uIGxhenkxKGpzb24pIHtcXG4gICAgbGV0IG5hbWUgPSB7XFxuICAgICAgICBcXFwiT0RcXFwiOiBcXFwi5Y6f55S7XFxcIixcXG4gICAgICAgIFxcXCJGRFxcXCI6IFxcXCLmtYHnlYVcXFwiLFxcbiAgICAgICAgXFxcIkxEXFxcIjogXFxcIuagh+a4hVxcXCIsXFxuICAgICAgICBcXFwiU0RcXFwiOiBcXFwi6auY5riFXFxcIixcXG4gICAgICAgIFxcXCJIRFxcXCI6IFxcXCLotoXmuIVcXFwiLFxcbiAgICAgICAgXFxcIjJLXFxcIjogXFxcIjJLXFxcIixcXG4gICAgICAgIFxcXCI0S1xcXCI6IFxcXCI0S1xcXCIsXFxuICAgICAgICBcXFwiRkhEXFxcIjogXFxcIuWFqOmrmOa4hVxcXCIsXFxuICAgICAgICBcXFwiWExEXFxcIjogXFxcIuaegemAn1xcXCIsXFxuICAgICAgICBcXFwiU1FcXFwiOiBcXFwi5pmu6YCa6Z+z6LSoXFxcIixcXG4gICAgICAgIFxcXCJIUVxcXCI6IFxcXCLpq5jpn7PotKhcXFwiXFxuICAgIH07XFxuICAgIGxldCB1cmxzID0gW107XFxuICAgIGxldCBuYW1lcyA9IFtdO1xcbiAgICBmb3IgKHZhciBrZXkgaW4ganNvbikge1xcbiAgICAgICAgaWYgKCEvYXl5dWlkfHRvLy50ZXN0KGtleSkpIHtcXG4gICAgICAgICAgICB1cmxzLnB1c2goanNvbltrZXldKVxcbiAgICAgICAgICAgIG5hbWVzLnB1c2gobmFtZVtrZXldKVxcbiAgICAgICAgfTtcXG4gICAgfTtcXG4gICAgZm9yICh2YXIgaSBpbiBuYW1lcykge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogbmFtZXNbaV0sXFxuICAgICAgICAgICAgdXJsOiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICAgICAgICAgIG5hbWVzOiBuYW1lcyxcXG4gICAgICAgICAgICAgICAgdXJsczogdXJsc1xcbiAgICAgICAgICAgIH0pLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbiAgICAgICAgfSlcXG4gICAgfTtcXG59O1xcblxcbmZ1bmN0aW9uIGxhenkyKGpzb24pIHtcXG4gICAgZm9yIChsZXQgeGwgaW4ganNvbikge1xcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogeGwsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiLFxcbiAgICAgICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgobGlzdCkgPT4ge1xcbiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IFtdO1xcbiAgICAgICAgICAgICAgICBsZXQgdXJscyA9IFtdXFxuICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gbGlzdCkge1xcbiAgICAgICAgICAgICAgICAgICAgbGV0IGxpID0gbGlzdFtpXTtcXG4gICAgICAgICAgICAgICAgICAgIG5hbWUucHVzaChsaS5xdWFsaXR5TmFtZSlcXG4gICAgICAgICAgICAgICAgICAgIHVybHMucHVzaChsaS5wbGF5VXJsKVxcbiAgICAgICAgICAgICAgICB9O1xcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICAgICAgbmFtZXM6IG5hbWUsXFxuICAgICAgICAgICAgICAgICAgICB1cmxzOiB1cmxzLFxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH0sIGpzb25beGxdKVxcbiAgICAgICAgfSlcXG4gICAgfVxcbn07XFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJsaW5lX2JsYW5rXFxcIlxcbn0sIHtcXG4gICAgdGl0bGU6IGdldEl0ZW0oJ211bHRpbGluZScsICcxJykgPT0gXFxcIjFcXFwiID8gXFxcIumAieaLqee6v+i3r1xcXCIgOiBcXFwi6YCJ5oup55S76LSoXFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG59KTtcXG5nZXRJdGVtKCdtdWx0aWxpbmUnLCAnMScpID09IFxcXCIxXFxcIiA/IGxhenkyKHBsYXl1cmwpIDogbGF6eTEocGxheXVybClcXG5cXG5zZXRSZXN1bHQoZCk7XCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8yXCIsXCJuYW1lXCI6XCLlhbPms6jliJfooahcIixcInBhdGhcIjpcImhpc3RvcnlcIixcInJ1bGVcIjpcImpzOlxcbnZhciBkID0gW107XFxuc2V0UGFnZVRpdGxlKFxcXCLlhbPms6hcXFwiKTtcXG5sZXQgYXBpID0gXFxcImh0dHA6Ly95ajEyMTEud29yazo4MDEzL2FwaS9saXZlL1xcXCI7XFxubGV0IHVpZCA9IGdldEl0ZW0oXFxcInVpZFxcXCIsIFxcXCJcXFwiKTtcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogZ2V0SXRlbShcXFwibmlja25hbWVcXFwiLCBcXFwi5rOoIOWGjFxcXCIpLFxcbiAgICBkZXNjOiBnZXRJdGVtKFxcXCJ1c2VybmFtZVxcXCIsIFxcXCJcXFwiKSArIFxcXCJcXFxcdFxcXFx0XFxcIixcXG4gICAgdXJsOiB1aWQgPT0gXFxcIlxcXCIgPyBcXFwiaHR0cDovL2xpdmUueWoxMjExLndvcmsvbW9iaWxlL2luZGV4L2hvbWUvcmVjb21tZW5kI1xcXCIgOiAkKFxcXCLmmK/lkKbms6jplIDvvJ9cXFwiKS5jb25maXJtKCgpID0+IHtcXG4gICAgICAgIGNsZWFySXRlbShcXFwidWlkXFxcIik7XFxuICAgICAgICBjbGVhckl0ZW0oXFxcImFjY291bnRcXFwiKTtcXG4gICAgICAgIGNsZWFySXRlbShcXFwicGFzc3dvcmRcXFwiKTtcXG4gICAgICAgIGNsZWFySXRlbShcXFwibmlja25hbWVcXFwiKTtcXG4gICAgICAgIGNsZWFySXRlbShcXFwidXNlcm5hbWVcXFwiKTtcXG4gICAgICAgIGJhY2sodHJ1ZSk7XFxuICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5rOo6ZSA5oiQ5YqfXFxcIjtcXG4gICAgfSksXFxuICAgIGltZzogXFxcImh0dHBzOi8vaGlrZXJmYW5zLmNvbS90dWJpYW8va2UvNzMucG5nXFxcIixcXG4gICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiXFxufSlcXG5pZiAodWlkID09IFxcXCJcXFwiKSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBkZXNjOiBcXFwi6LSm5Y+3XFxcIixcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJzZXRJdGVtKCdhY2NvdW50JyxpbnB1dClcXFwiLFxcbiAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2VcXG4gICAgICAgIH0sXFxuICAgICAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIlxcbiAgICB9LCB7XFxuICAgICAgICBkZXNjOiBcXFwi5a+G56CBXFxcIixcXG4gICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJzZXRJdGVtKCdwYXNzd29yZCcsaW5wdXQpXFxcIixcXG4gICAgICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlXFxuICAgICAgICB9LFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJpbnB1dFxcXCJcXG4gICAgfSwge1xcbiAgICAgICAgdGl0bGU6IFxcXCLnmbsgIOW9lVxcXCIsXFxuICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIGxldCBhY2NvdW50ID0gZ2V0SXRlbShcXFwiYWNjb3VudFxcXCIsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICBsZXQgcGFzc3dvcmQgPSBnZXRJdGVtKFxcXCJwYXNzd29yZFxcXCIsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICBpZiAoYWNjb3VudCA9PSBcXFwiXFxcIiB8fCBwYXNzd29yZCA9PSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v5biQ5Y+35oiW5a+G56CB5LiN6IO95Li656m677yBXFxcIjtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICBsZXQgY29va2llcyA9IEpTT04ucGFyc2UocmVxdWVzdCgnaHR0cDovL3lqMTIxMS53b3JrOjgwMTMvYXBpL2xvZ2luPycsIHtcXG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAnVXNlci1BZ2VudCc6IFxcXCJva2h0dHAvMy4xMi4xM1xcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgICAgICAgICBib2R5OiBcXFwidXNlcm5hbWU9XFxcIiArIGFjY291bnQgKyBcXFwiJnBhc3N3b3JkPVxcXCIgKyBtZDUocGFzc3dvcmQpLFxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCdcXG4gICAgICAgICAgICAgICAgfSkpXFxuICAgICAgICAgICAgICAgIC8vbG9nKGNvb2tpZXMpXFxuICAgICAgICAgICAgICAgIGlmIChjb29raWVzLmNvZGUgPT0gMjAwKSB7XFxuICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKFxcXCJ1aWRcXFwiLCBjb29raWVzLmRhdGEudWlkKVxcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShcXFwibmlja25hbWVcXFwiLCBjb29raWVzLmRhdGEubmlja05hbWUpO1xcbiAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShcXFwidXNlcm5hbWVcXFwiLCBjb29raWVzLmRhdGEudXNlck5hbWUpO1xcbiAgICAgICAgICAgICAgICAgICAgYmFjaygpXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v55m75b2V5oiQ5YqfXFxcIjtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShcXFwibmlja25hbWVcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShcXFwidXNlcm5hbWVcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShcXFwidWlkXFxcIik7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8v55m76ZmG5aSx6LSl77yM5Y+v6IO95piv55So5oi35ZCN5oiW5a+G56CB5pyJ6K+vXFxcIjtcXG4gICAgICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICB9O1xcbiAgICAgICAgfSksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiXFxuICAgIH0pXFxufTtcXG5sZXQgb2ZmID0gXFxcImh0dHBzOi8vaGlrZXJmYW5zLmNvbS90dWJpYW8vbWVzc3kvNjMuc3ZnXFxcIjtcXG5sZXQgb24gPSBcXFwiaHR0cHM6Ly9oaWtlcmZhbnMuY29tL3R1Ymlhby9tZXNzeS81NS5zdmdcXFwiO1xcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwibGluZV9ibGFua1xcXCJcXG59LCB7XFxuICAgIHRpdGxlOiBcXFwi5aSa57q/6LevXFxcIixcXG4gICAgaW1nOiBnZXRJdGVtKFxcXCJtdWx0aWxpbmVcXFwiLCBcXFwiMVxcXCIpID09IFxcXCIxXFxcIiA/IG9uIDogb2ZmLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfaWNvblxcXCIsXFxuICAgIHVybDogJChcXFwiI25vTG9hZGluZyNcXFwiKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBpZiAoZ2V0SXRlbShcXFwibXVsdGlsaW5lXFxcIiwgXFxcIjFcXFwiKSA9PSBcXFwiMVxcXCIpIHtcXG4gICAgICAgICAgICBzZXRJdGVtKFxcXCJtdWx0aWxpbmVcXFwiLCBcXFwiMFxcXCIpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBjbGVhckl0ZW0oXFxcIm11bHRpbGluZVxcXCIpO1xcbiAgICAgICAgfTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCI7XFxuICAgIH0pXFxufSwge1xcbiAgICBjb2xfdHlwZTogXFxcImxpbmVfYmxhbmtcXFwiXFxufSwge1xcbiAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG59KTtcXG52YXIgcmVzID0gSlNPTi5wYXJzZShyZXF1ZXN0KGFwaSArIFxcXCJnZXRSb29tc09uP3VpZD1cXFwiICsgdWlkKSk7XFxudmFyIHJlcyA9IHJlcy5kYXRhO1xcbi8vbG9nKHJlcylcXG52YXIgc1R5cGUgPSBnZXRNeVZhcihcXFwic1R5cGVcXFwiKSA/IGdldE15VmFyKFxcXCJzVHlwZVxcXCIpIDogXFxcImxpdmluZ1xcXCI7XFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IHNUeXBlID09IFxcXCJsaXZpbmdcXFwiID8gJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XFxcIiNGQTcyOThcXFwiPuato+WcqOebtOaSrTwvZnJvbnQ+PC9zdHJvbmc+JyA6IFxcXCLmraPlnKjnm7Tmkq1cXFwiLFxcbiAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHNUeXBlKSA9PiB7XFxuICAgICAgICBwdXRNeVZhcihcXFwic1R5cGVcXFwiLCBzVHlwZSA9PSAnbGl2aW5nJyA/ICdvdXRsaW5lJyA6ICdsaXZpbmcnKTtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgIH0sIHNUeXBlKSxcXG4gICAgY29sX3R5cGU6IFxcXCJ0ZXh0XzJcXFwiXFxufSwge1xcbiAgICB0aXRsZTogc1R5cGUgPT0gXFxcIm91dGxpbmVcXFwiID8gJ+KAmOKAmOKAmeKAmTxzdHJvbmc+PGZvbnQgY29sb3I9XFxcIiNGQTcyOThcXFwiPuacquebtOaSrTwvZnJvbnQ+PC9zdHJvbmc+JyA6IFxcXCLmnKrnm7Tmkq1cXFwiLFxcbiAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHNUeXBlKSA9PiB7XFxuICAgICAgICBwdXRNeVZhcihcXFwic1R5cGVcXFwiLCBzVHlwZSA9PSAnb3V0bGluZScgPyAnbGl2aW5nJyA6ICdvdXRsaW5lJyk7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9LCBzVHlwZSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF8yXFxcIlxcbn0pXFxucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL2xhenknKTtcXG5pZiAoc1R5cGUgPT0gXFxcImxpdmluZ1xcXCIpIHtcXG4gICAgZm9yICh2YXIgaSBpbiByZXMpIHtcXG4gICAgICAgIHZhciB0ZW1wID0gcmVzW2ldXFxuICAgICAgICBpZiAodGVtcC5pc0xpdmUgPT0gMSkge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0ZW1wLmNhdGVnb3J5TmFtZSArICfCtycgKyB0ZW1wLnJvb21OYW1lLFxcbiAgICAgICAgICAgICAgICBkZXNjOiB0ZW1wLnBsYXRGb3JtLnJlcGxhY2UoJ2h1eWEnLCAn6JmO54mZJykucmVwbGFjZSgnZG91eXUnLCAn5paX6bG8JykucmVwbGFjZSgnY2MnLCAn572R5piTQ0MnKS5yZXBsYWNlKFxcXCJiaWxpYmlsaVxcXCIsIFxcXCLlk5Tlk6nlk5Tlk6lcXFwiKS5yZXBsYWNlKFxcXCJkb3V5aW5cXFwiLCBcXFwi5oqW6Z+zXFxcIikgKyAnwrcnICsgdGVtcC5vd25lck5hbWUsXFxuICAgICAgICAgICAgICAgIGltZzogdGVtcC5yb29tUGljICsgXFxcIkBSZWZlcmVyPVxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogZ2V0SXRlbSgnbXVsdGlsaW5lJywgJzEnKSAhPT0gXFxcIjFcXFwiID8gYXBpICsgXFxcImdldFJlYWxVcmw/cGxhdGZvcm09XFxcIiArIHRlbXAucGxhdEZvcm0gKyBcXFwiJnJvb21JZD1cXFwiICsgdGVtcC5yb29tSWQgKyBsYXp5IDogXFxcImhpa2VyOi8vcGFnZS9kZXRhaWw/I2ltbWVyc2l2ZVRoZW1lIyZyb29taWQ9XFxcIiArIHRlbXAucm9vbUlkICsgXFxcIiZwbGF0Zm9ybT1cXFwiICsgdGVtcC5wbGF0Rm9ybSxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgIGxvbmdDbGljazogW3tcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ2V0SXRlbSh0ZW1wLnBsYXRGb3JtICsgdGVtcC5yb29tSWQsIFxcXCIwXFxcIikgPT0gMSA/IFxcXCLlt7LlhbPms6hcXFwiIDogXFxcIuacquWFs+azqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHVpZCwgcm9vbWlkLCBwbGF0Zm9ybSwgYXBpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRJdGVtKHBsYXRmb3JtICsgcm9vbWlkLCBcXFwiMFxcXCIpID09IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcImZvbGxvdz9wbGF0Zm9ybT1cXFwiICsgcGxhdGZvcm0gKyBcXFwiJnJvb21JZD1cXFwiICsgcm9vbWlkICsgXFxcIiZ1aWQ9XFxcIiArIHVpZCkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShwbGF0Zm9ybSArIHJvb21pZCwgXFxcIjFcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly9cXFwiICsgcmVzLmRhdGFcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcInVuRm9sbG93P3BsYXRmb3JtPVxcXCIgKyBwbGF0Zm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyByb29taWQgKyBcXFwiJnVpZD1cXFwiICsgdWlkKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShwbGF0Zm9ybSArIHJvb21pZCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8vXFxcIiArIHJlcy5kYXRhXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB1aWQsIHRlbXAucm9vbUlkLCB0ZW1wLnBsYXRGb3JtLCBhcGkpXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlrpjnvZHpk77mjqVcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChyb29taWQsIHBsYXRmb3JtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocGxhdGZvcm0pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXFxcImRvdXl1XFxcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXFxcImh0dHBzOi8vbS5kb3V5dS5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJiaWxpYmlsaVxcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL2xpdmUuYmlsaWJpbGkuY29tL2g1L1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcXFwiaHV5YVxcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL20uaHV5YS5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJkb3V5aW5cXFwiOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9saXZlLmRvdXlpbi5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJjY1xcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL2g1LmNjLjE2My5jb20vY2MvXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRlbXAucm9vbUlkLCB0ZW1wLnBsYXRGb3JtKVxcbiAgICAgICAgICAgICAgICAgICAgfV1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgIH1cXG59IGVsc2Uge1xcbiAgICBmb3IgKHZhciBpIGluIHJlcykge1xcbiAgICAgICAgdmFyIHRlbXAgPSByZXNbaV1cXG4gICAgICAgIGlmICh0ZW1wLmlzTGl2ZSA9PSAwKSB7XFxuICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRlbXAub3duZXJOYW1lLFxcbiAgICAgICAgICAgICAgICBpbWc6IHRlbXAub3duZXJIZWFkUGljICsgXFxcIkBSZWZlcmVyPVxcXCIsXFxuICAgICAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9kZXRhaWw/I2ltbWVyc2l2ZVRoZW1lIyZyb29taWQ9XFxcIiArIHRlbXAucm9vbUlkICsgXFxcIiZwbGF0Zm9ybT1cXFwiICsgdGVtcC5wbGF0Rm9ybSxcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgICAgIGxvbmdDbGljazogW3tcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ2V0SXRlbSh0ZW1wLnBsYXRGb3JtICsgdGVtcC5yb29tSWQsIFxcXCIwXFxcIikgPT0gMSA/IFxcXCLlt7LlhbPms6hcXFwiIDogXFxcIuacquWFs+azqFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHVpZCwgcm9vbWlkLCBwbGF0Zm9ybSwgYXBpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRJdGVtKHBsYXRmb3JtICsgcm9vbWlkLCBcXFwiMFxcXCIpID09IDApIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcImZvbGxvdz9wbGF0Zm9ybT1cXFwiICsgcGxhdGZvcm0gKyBcXFwiJnJvb21JZD1cXFwiICsgcm9vbWlkICsgXFxcIiZ1aWQ9XFxcIiArIHVpZCkpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXRlbShwbGF0Zm9ybSArIHJvb21pZCwgXFxcIjFcXFwiKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwidG9hc3Q6Ly9cXFwiICsgcmVzLmRhdGFcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcInVuRm9sbG93P3BsYXRmb3JtPVxcXCIgKyBwbGF0Zm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyByb29taWQgKyBcXFwiJnVpZD1cXFwiICsgdWlkKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShwbGF0Zm9ybSArIHJvb21pZCk7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8vXFxcIiArIHJlcy5kYXRhXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCB1aWQsIHRlbXAucm9vbUlkLCB0ZW1wLnBsYXRGb3JtLCBhcGkpXFxuICAgICAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFxcXCLlrpjnvZHpk77mjqVcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChyb29taWQsIHBsYXRmb3JtKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocGxhdGZvcm0pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXFxcImRvdXl1XFxcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXFxcImh0dHBzOi8vbS5kb3V5dS5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJiaWxpYmlsaVxcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL2xpdmUuYmlsaWJpbGkuY29tL2g1L1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcXFwiaHV5YVxcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL20uaHV5YS5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJkb3V5aW5cXFwiOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9saXZlLmRvdXlpbi5jb20vXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJjY1xcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL2g1LmNjLjE2My5jb20vY2MvXFxcIiArIHJvb21pZFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybFxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHRlbXAucm9vbUlkLCB0ZW1wLnBsYXRGb3JtKVxcbiAgICAgICAgICAgICAgICAgICAgfV1cXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9XFxuICAgIH1cXG59XFxuc2V0UmVzdWx0KGQpO1wifSx7XCJjb2xfdHlwZVwiOlwidGV4dF8zXCIsXCJuYW1lXCI6XCLmgLvliIbnsbtcIixcInBhdGhcIjpcIm5ld0NsYXNzXCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbi8qYWRkTGlzdGVuZXIoJ29uQ2xvc2UnLCAkLnRvU3RyaW5nKCgpID0+IHtcXG4gICAgY2xlYXJNeVZhcignTXlmbCcpXFxuICAgIGNsZWFyTXlWYXIoJ015cHQnKSAgXFxuICAgIH0pKSovXFxubGV0IGFwaSA9IFxcXCJodHRwOi8veWoxMjExLndvcms6ODAxMy9hcGkvbGl2ZS9cXFwiO1xcbmxldCBpbWfpgInkuK0gPSBcXFwiaHR0cHM6Ly9pbWcyLmJhaWR1LmNvbS9pdC91PTYwMjM4NTAyLDkzNjA4ODAyNSZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRUc/dz01MDAmaD01ODJAUmVmZXJlcj1cXFwiXFxubGV0IGltZ+acqumAiSA9IFxcXCJodHRwczovL2ltZzAuYmFpZHUuY29tL2l0L3U9OTYwNTQ5MDg0LDMyNDI2OTI4MTcmZm09MjUzJmZtdD1hdXRvJmFwcD0xMzgmZj1KUEVHP3c9NTAwJmg9NTAwQFJlZmVyZXI9XFxcIlxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi54mI5Z2X5YiG57G7XFxcIixcXG4gICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHJlZnJlc2hQYWdlKCk7XFxuICAgICAgICBjbGVhck15VmFyKCdNeWZsJylcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSksXFxuICAgIGltZzogZ2V0TXlWYXIoXFxcIk15ZmxcXFwiKSA9PSAnJyA/IGltZ+mAieS4rSA6IGltZ+acqumAiSxcXG4gICAgY29sX3R5cGU6IFxcXCJpY29uXzJcXFwiXFxufSwge1xcbiAgICB0aXRsZTogXFxcIuW5s+WPsOWIhuexu1xcXCIsXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgcHV0TXlWYXIoXFxcIk15ZmxcXFwiLCAncHQnKVxcbiAgICAgICAgLypjbGVhck15VmFyKCdNeXB0JykqL1xcbiAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICB9KSxcXG4gICAgaW1nOiBnZXRNeVZhcihcXFwiTXlmbFxcXCIpID09ICcnID8gaW1n5pyq6YCJIDogaW1n6YCJ5LitLFxcbiAgICBjb2xfdHlwZTogXFxcImljb25fMlxcXCJcXG59KVxcblxcbi8v5bmz5Y+w5YiG57G7XFxuaWYgKGdldE15VmFyKFxcXCJNeWZsXFxcIikpIHtcXG4gICAgbGV0IHRpdCA9IFtcXFwi6JmO54mZXFxcIiwgXFxcIuaWl+mxvFxcXCIsIFxcXCLlk5Tlk6lcXFwiLCBcXFwi5oqW6Z+zXFxcIiwgXFxcIue9keaYk1xcXCJdO1xcbiAgICBsZXQgZnVybCA9IFtcXFwiaHV5YVxcXCIsIFxcXCJkb3V5dVxcXCIsIFxcXCJiaWxpYmlsaVxcXCIsIFxcXCJkb3V5aW5cXFwiLCBcXFwiY2NcXFwiXTtcXG4gICAgbGV0IHBpYyA9IFtcXFwiaHR0cHM6Ly9tYnMxLmJkc3RhdGljLmNvbS9zZWFyY2hib3gvbWFwcGNvbnNvbGUvaW1hZ2UvMjAyMDA5MTUvNThkM2UzODAtODE4Yi00OTFhLWE5NzMtMWVmNDdhYTVlODdmLmpwZ1xcXCIsIFxcXCJodHRwczovL2IuYmRzdGF0aWMuY29tL3NlYXJjaGJveC9tYXBwY29uc29sZS9pbWFnZS8yMDE4MDgwOC8xNTMzNjk4MDQ1MTA1Mjc2LnBuZ1xcXCIsIFxcXCJodHRwczovL2IuYmRzdGF0aWMuY29tL3NlYXJjaGJveC9tYXBwY29uc29sZS9pbWFnZS8yMDE4MTAzMC8xNTQwODg5MDM4MTU5ODYyLnBuZ1xcXCIsIFxcXCJodHRwczovL3d3dy5kb3V5aW4uY29tL2Zhdmljb24uaWNvXFxcIiwgXFxcImh0dHBzOi8vY2MuZnAucHMubmV0ZWFzZS5jb20vZmlsZS82MGEzMWQzZTdmOWQyYTM5MTIwYmVhMDE2THA3WkVlMTAzXFxcIl07XFxuICAgIGZvciAobGV0IGkgaW4gdGl0KSB7XFxuICAgICAgICBsZXQgdGkgPSB0aXRbaV07XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBmdXJsW2ldID09IGdldE15VmFyKFxcXCJNeXB0XFxcIiwgXFxcImh1eWFcXFwiKSA/IFxcXCLigJjigJjigJnigJk8Yj5cXFwiICsgdGkuZm9udGNvbG9yKFxcXCIjRkE3Mjk4XFxcIikgKyBcXFwiPC9iPlxcXCIgOiB0aSxcXG4gICAgICAgICAgICB1cmw6ICQoJyNub0xvYWRpbmcjJykubGF6eVJ1bGUoKHVybCkgPT4ge1xcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICBwdXRNeVZhcihcXFwiTXlwdFxcXCIsIHVybCk7XFxuICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICB9LCBmdXJsW2ldKSxcXG4gICAgICAgICAgICBpbWc6IHBpY1tpXSArIFxcXCJAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiaWNvbl81XFxcIlxcbiAgICAgICAgfSlcXG4gICAgfVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxuICAgIH0sIHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbiAgICB9LCB7XFxuICAgICAgICBjb2xfdHlwZTogXFxcImxpbmVfYmxhbmtcXFwiXFxuICAgIH0sIHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbiAgICB9LCB7XFxuICAgICAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG4gICAgfSlcXG5cXG4gICAgLy/lubPlj7DliJfooahcXG4gICAgbGV0IHB0X3VybCA9IGFwaSArIFxcXCJnZXRBcmVhcz9wbGF0Zm9ybT1cXFwiICsgZ2V0TXlWYXIoXFxcIk15cHRcXFwiLCBcXFwiaHV5YVxcXCIpO1xcbiAgICB2YXIgcmVzID0gSlNPTi5wYXJzZShyZXF1ZXN0KHB0X3VybCkpLmRhdGE7XFxuICAgIC8vbG9nKHJlcylcXG4gICAgZm9yIChsZXQgaiBpbiByZXMpIHtcXG4gICAgICAgIHZhciB0ZW1wID0gcmVzW2pdXFxuICAgICAgICBmb3IgKGRhdGEgb2YgdGVtcClcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogZGF0YS5hcmVhTmFtZSxcXG4gICAgICAgICAgICAgICAgaW1nOiAoZGF0YS5hcmVhUGljICE9PSBcXFwiXFxcIiA/IGRhdGEuYXJlYVBpYyA6IFxcXCJodHRwczovL3d3dy5kb3V5aW4uY29tL2Zhdmljb24uaWNvXFxcIikgKyBcXFwiQFJlZmVyZXI9XFxcIixcXG4gICAgICAgICAgICAgICAgdXJsOiBcXFwiaGlrZXI6Ly9wYWdlL25ld0NsYXNzTGlzdD9wYWdlPWZ5cGFnZSZwbGF0Zm9ybT1cXFwiICsgZGF0YS5wbGF0Zm9ybSArIFxcXCImYXJlYT1cXFwiICsgZGF0YS5hcmVhTmFtZSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uXzVcXFwiXFxuICAgICAgICAgICAgfSlcXG4gICAgfVxcbn0gZWxzZSB7XFxuICAgIGQucHVzaCh7XFxuICAgICAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG4gICAgfSwge1xcbiAgICAgICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxuICAgIH0sIHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwibGluZVxcXCJcXG4gICAgfSwge1xcbiAgICAgICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxuICAgIH0sIHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbiAgICB9KVxcblxcbiAgICAvL+eJiOWdl+WIhuexu1xcbiAgICB2YXIgdXJsID0gYXBpICsgJ2dldEFsbEFyZWFzJztcXG4gICAgdmFyIHJlcyA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwpKS5kYXRhO1xcbiAgICAvL2xvZyhyZXMpXFxuXFxuICAgIHZhciB0eXBlTmFtZXMgPSBbXTtcXG4gICAgdmFyIGJpZ0xpc3QgPSBbXTtcXG4gICAgdmFyIHNtYWxsTGlzdCA9IFtdO1xcbiAgICBwdXRNeVZhcihcXFwidHlwZU5hbWVWYXJcXFwiLCAhZ2V0TXlWYXIoJ3R5cGVOYW1lVmFyJykgPyAn5YWo6YOoJyA6IGdldE15VmFyKCd0eXBlTmFtZVZhcicpKTtcXG4gICAgcHV0TXlWYXIoJ2FyZWEnLCAnYXJlYU5hbWUnKVxcbiAgICBmb3IgKGxldCByIG9mIHJlcykge1xcbiAgICAgICAgZm9yIChsZXQgeCBvZiByKSB7XFxuICAgICAgICAgICAgaWYgKCF0eXBlTmFtZXMuaW5jbHVkZXMoeC50eXBlTmFtZSkpIHtcXG4gICAgICAgICAgICAgICAgdHlwZU5hbWVzLnB1c2goeC50eXBlTmFtZSk7XFxuICAgICAgICAgICAgICAgIGJpZ0xpc3QucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogZ2V0TXlWYXIoXFxcInR5cGVOYW1lVmFyXFxcIikgPT0geC50eXBlTmFtZSA/ICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCIjRkE3Mjk4XFxcIj4nICsgeC50eXBlTmFtZSArICc8L2Zyb250Pjwvc3Ryb25nPicgOiB4LnR5cGVOYW1lLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCh0eXBlTmFtZVZhcikgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKFxcXCJ0eXBlTmFtZVZhclxcXCIsIHR5cGVOYW1lVmFyKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgICAgICAgICAgICAgICAgIH0sIHgudHlwZU5hbWUpLFxcbiAgICAgICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJzY3JvbGxfYnV0dG9uXFxcIlxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBzbWFsbExpc3QucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiB4LmFyZWFOYW1lLFxcbiAgICAgICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvbmV3Q2xhc3NMaXN0P3R5cGVOYW1lPScgKyB4LnR5cGVOYW1lICsgJyZhcmVhTmFtZT0nICsgeC5hcmVhTmFtZSArIFxcXCImcGFnZT1meXBhZ2VcXFwiLFxcbiAgICAgICAgICAgICAgICBpbWc6IHguYXJlYVBpYyArIFxcXCJAUmVmZXJlcj1cXFwiLFxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImljb25fNVxcXCIsXFxuICAgICAgICAgICAgICAgIHR5cGVOYW1lOiB4LnR5cGVOYW1lXFxuICAgICAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgfTtcXG5cXG4gICAgYmlnTGlzdC51bnNoaWZ0KHtcXG4gICAgICAgIHRpdGxlOiBnZXRNeVZhcihcXFwidHlwZU5hbWVWYXJcXFwiKSA9PSAn5YWo6YOoJyA/ICfigJjigJjigJnigJk8c3Ryb25nPjxmb250IGNvbG9yPVxcXCIjRkE3Mjk4XFxcIj7lhajpg6g8L2Zyb250Pjwvc3Ryb25nPicgOiAn5YWo6YOoJyxcXG4gICAgICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgodHlwZU5hbWVWYXIpID0+IHtcXG4gICAgICAgICAgICBwdXRNeVZhcihcXFwidHlwZU5hbWVWYXJcXFwiLCB0eXBlTmFtZVZhcik7XFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICB9LCAn5YWo6YOoJyksXFxuICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiXFxuICAgIH0pXFxuICAgIGQgPSBkLmNvbmNhdChiaWdMaXN0KTtcXG5cXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIGNvbF90eXBlOiBcXFwiYmlnX2JsYW5rX2Jsb2NrXFxcIlxcbiAgICB9KVxcblxcbiAgICAvL2xvZyhnZXRNeVZhcigndHlwZU5hbWVWYXInKSlcXG4gICAgaWYgKGdldE15VmFyKCd0eXBlTmFtZVZhcicpID09ICflhajpg6gnKSB7XFxuICAgICAgICBkID0gZC5jb25jYXQoc21hbGxMaXN0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGQgPSBkLmNvbmNhdChzbWFsbExpc3QuZmlsdGVyKHMgPT4gcy50eXBlTmFtZSA9PSBnZXRNeVZhcigndHlwZU5hbWVWYXInKSkpO1xcbiAgICB9XFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzJcIixcIm5hbWVcIjpcIuaAu+WIl+ihqFwiLFwicGF0aFwiOlwibmV3Q2xhc3NMaXN0XCIsXCJydWxlXCI6XCJqczpcXG52YXIgZCA9IFtdO1xcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxuICAgIGNsZWFyTXlWYXIoJ015ZnJvJylcXG59KSk7XFxubGV0IGFwaSA9IFxcXCJodHRwOi8veWoxMjExLndvcms6ODAxMy9hcGkvbGl2ZS9cXFwiO1xcbi8v5YiH5o2i5bmz5Y+wXFxuaWYgKE1ZX1BBR0UgPT0gMSkge1xcbiAgICBsZXQgdGl0ID0gW1xcXCLomY7niZlcXFwiLCBcXFwi5paX6bG8XFxcIiwgXFxcIuWTlOWTqVxcXCIsIFxcXCLmipbpn7NcXFwiLCBcXFwi572R5piTXFxcIl07XFxuICAgIGxldCBmdXJsID0gW1xcXCJodXlhXFxcIiwgXFxcImRvdXl1XFxcIiwgXFxcImJpbGliaWxpXFxcIiwgXFxcImRvdXlpblxcXCIsIFxcXCJjY1xcXCJdO1xcbiAgICBsZXQgcGljID0gW1xcXCJodHRwczovL21iczEuYmRzdGF0aWMuY29tL3NlYXJjaGJveC9tYXBwY29uc29sZS9pbWFnZS8yMDIwMDkxNS81OGQzZTM4MC04MThiLTQ5MWEtYTk3My0xZWY0N2FhNWU4N2YuanBnXFxcIiwgXFxcImh0dHBzOi8vYi5iZHN0YXRpYy5jb20vc2VhcmNoYm94L21hcHBjb25zb2xlL2ltYWdlLzIwMTgwODA4LzE1MzM2OTgwNDUxMDUyNzYucG5nXFxcIiwgXFxcImh0dHBzOi8vYi5iZHN0YXRpYy5jb20vc2VhcmNoYm94L21hcHBjb25zb2xlL2ltYWdlLzIwMTgxMDMwLzE1NDA4ODkwMzgxNTk4NjIucG5nXFxcIiwgXFxcImh0dHBzOi8vd3d3LmRvdXlpbi5jb20vZmF2aWNvbi5pY29cXFwiLCBcXFwiaHR0cHM6Ly9jYy5mcC5wcy5uZXRlYXNlLmNvbS9maWxlLzYwYTMxZDNlN2Y5ZDJhMzkxMjBiZWEwMTZMcDdaRWUxMDNcXFwiXTtcXG4gICAgZm9yIChsZXQgaSBpbiB0aXQpIHtcXG4gICAgICAgIGxldCB0aSA9IHRpdFtpXTtcXG4gICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgdGl0bGU6IGZ1cmxbaV0gPT0gZ2V0TXlWYXIoXFxcIk15ZnJvXFxcIikgPyBcXFwi4oCY4oCY4oCZ4oCZPGI+XFxcIiArIHRpLmZvbnRjb2xvcihcXFwiI0ZBNzI5OFxcXCIpICsgXFxcIjwvYj5cXFwiIDogdGksXFxuICAgICAgICAgICAgdXJsOiAkKCcjbm9Mb2FkaW5nIycpLmxhenlSdWxlKCh1cmwpID0+IHtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcIk15ZnJvXFxcIiwgdXJsKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgIH0sIGZ1cmxbaV0pLFxcbiAgICAgICAgICAgIGltZzogcGljW2ldICsgXFxcIkBSZWZlcmVyPVxcXCIsXFxuICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJpY29uXzVcXFwiXFxuICAgICAgICB9KVxcbiAgICB9O1xcbn07XFxuXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6IFxcXCJsaW5lXFxcIlxcbn0sIHtcXG4gICAgY29sX3R5cGU6IFxcXCJiaWdfYmxhbmtfYmxvY2tcXFwiXFxufSwge1xcbiAgICBjb2xfdHlwZTogXFxcImJpZ19ibGFua19ibG9ja1xcXCJcXG59KVxcblxcbi8v5YiX6KGoXFxubGV0IHpvbmcgPSBhcGkgKyAnZ2V0UmVjb21tZW5kQnlBcmVhQWxsP2FyZWFUeXBlPScgKyBnZXRQYXJhbShcXFwidHlwZU5hbWVcXFwiKSArICcmYXJlYT0nICsgZ2V0UGFyYW0oXFxcImFyZWFOYW1lXFxcIikgKyAnJnBhZ2U9JyArIGdldFBhcmFtKFxcXCJwYWdlXFxcIik7XFxuXFxubGV0IHpmID0gYXBpICsgXFxcImdldFJlY29tbWVuZEJ5UGxhdGZvcm1BcmVhP3BsYXRmb3JtPVxcXCIgKyBnZXRNeVZhcihcXFwiTXlmcm9cXFwiKSArIFxcXCImYXJlYT1cXFwiICsgZ2V0UGFyYW0oXFxcImFyZWFOYW1lXFxcIikgKyBcXFwiJnBhZ2U9XFxcIiArIGdldFBhcmFtKFxcXCJwYWdlXFxcIikgKyBcXFwiJnNpemU9MjBcXFwiO1xcblxcbmxldCBwaW4gPSBhcGkgKyBcXFwiZ2V0UmVjb21tZW5kQnlQbGF0Zm9ybUFyZWFcXFwiICsgTVlfVVJMLnJlcGxhY2UoXFxcImhpa2VyOi8vcGFnZS9uZXdDbGFzc0xpc3RcXFwiLCBcXFwiXFxcIikgKyBcXFwiJnBhZ2U9XFxcIiArIGdldFBhcmFtKFxcXCJwYWdlXFxcIikgKyBcXFwiJnNpemU9MjBcXFwiO1xcbi8vbG9nKHBpbilcXG5cXG5sZXQgcGYgPSBhcGkgKyBcXFwiZ2V0UmVjb21tZW5kQnlQbGF0Zm9ybUFyZWE/cGxhdGZvcm09XFxcIiArIGdldE15VmFyKFxcXCJNeWZyb1xcXCIpICsgXFxcIiZhcmVhPVxcXCIgKyBnZXRNeVZhcihcXFwiYXJlYVxcXCIpICsgXFxcIiZwYWdlPVxcXCIgKyBnZXRQYXJhbShcXFwicGFnZVxcXCIpICsgXFxcIiZzaXplPTIwXFxcIjtcXG5cXG50cnkge1xcbiAgICBsZXQgYXJlYSA9IHBpbi5tYXRjaCgvYXJlYT0oLio/KSYvKVsxXTtcXG4gICAgLy9sb2coYXJlYSlcXG4gICAgcHV0TXlWYXIoXFxcImFyZWFcXFwiLCBhcmVhKTtcXG59IGNhdGNoIChlKSB7XFxuICAgIHZhciBhcmVhID0gJyc7XFxufVxcbmlmIChhcmVhID09ICcnKSB7XFxuICAgIGlmIChnZXRNeVZhcihcXFwiTXlmcm9cXFwiKSkge1xcbiAgICAgICAgdmFyIHVybCA9IHpmO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIHVybCA9IHpvbmc7XFxuICAgIH07XFxufSBlbHNlIHtcXG4gICAgaWYgKGdldE15VmFyKFxcXCJNeWZyb1xcXCIpKSB7XFxuICAgICAgICB2YXIgdXJsID0gcGY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICB2YXIgdXJsID0gcGluO1xcbiAgICB9O1xcbn07XFxuXFxudHJ5IHtcXG4gICAgdmFyIHJlcyA9IChKU09OLnBhcnNlKHJlcXVlc3QodXJsKSkuZGF0YSB8fCBbXSk7XFxuICAgIGlmIChyZXMgPT0gKG51bGwgfHwgXFxcIlxcXCIpKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiAnPGJyPjxicj4nLFxcbiAgICAgICAgICAgIGNvbF90eXBlOiAncmljaF90ZXh0J1xcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGRlc2M6ICfmmoLml6DmiL/pl7RcXFxcblxcXFxu6K+35YiH5o2i5bmz5Y+w6KeC55yLJyxcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICB9O1xcbiAgICByZXF1aXJlKCdoaWtlcjovL3BhZ2UvbGF6eScpO1xcblxcbiAgICBmb3IgKGRhdGEgb2YgcmVzKSB7XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLmNhdGVnb3J5TmFtZSArICfCtycgKyBkYXRhLnJvb21OYW1lLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEucGxhdEZvcm0ucmVwbGFjZSgnaHV5YScsICfomY7niZknKS5yZXBsYWNlKCdkb3V5dScsICfmlpfpsbwnKS5yZXBsYWNlKCdjYycsICfnvZHmmJNDQycpLnJlcGxhY2UoXFxcImJpbGliaWxpXFxcIiwgXFxcIuWTlOWTqVxcXCIpLnJlcGxhY2UoXFxcImRvdXlpblxcXCIsIFxcXCLmipbpn7NcXFwiKSArICfCtycgKyBkYXRhLm93bmVyTmFtZSxcXG4gICAgICAgICAgICBpbWc6IChkYXRhLnJvb21QaWMgIT09IG51bGwgJiYgZGF0YS5yb29tUGljLnN0YXJ0c1dpdGgoJy8nKSA/ICdodHRwczonICsgZGF0YS5yb29tUGljIDogZGF0YS5yb29tUGljKSArICdAUmVmZXJlcj0nLFxcbiAgICAgICAgICAgIHVybDogZ2V0SXRlbSgnbXVsdGlsaW5lJywgJzEnKSAhPT0gXFxcIjFcXFwiID8gYXBpICsgbXVsdGlsaW5lICsgXFxcIj9wbGF0Zm9ybT1cXFwiICsgZGF0YS5wbGF0Rm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyBkYXRhLnJvb21JZCArIGxhenkgOiBcXFwiaGlrZXI6Ly9wYWdlL2RldGFpbD8jaW1tZXJzaXZlVGhlbWUjJnJvb21pZD1cXFwiICsgZGF0YS5yb29tSWQgKyBcXFwiJnBsYXRmb3JtPVxcXCIgKyBkYXRhLnBsYXRGb3JtLFxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgIGxpbmVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBbe1xcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGdldEl0ZW0oZGF0YS5wbGF0Rm9ybSArIGRhdGEucm9vbUlkLCBcXFwiMFxcXCIpID09IDEgPyBcXFwi5bey5YWz5rOoXFxcIiA6IFxcXCLmnKrlhbPms6hcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKHVpZCwgcm9vbWlkLCBwbGF0Zm9ybSwgYXBpKSA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdldEl0ZW0ocGxhdGZvcm0gKyByb29taWQsIFxcXCIwXFxcIikgPT0gMCkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzID0gSlNPTi5wYXJzZShyZXF1ZXN0KGFwaSArIFxcXCJmb2xsb3c/cGxhdGZvcm09XFxcIiArIHBsYXRmb3JtICsgXFxcIiZyb29tSWQ9XFxcIiArIHJvb21pZCArIFxcXCImdWlkPVxcXCIgKyB1aWQpKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKHBsYXRmb3JtICsgcm9vbWlkLCBcXFwiMVxcXCIpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8vXFxcIiArIHJlcy5kYXRhO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKHJlcXVlc3QoYXBpICsgXFxcInVuRm9sbG93P3BsYXRmb3JtPVxcXCIgKyBwbGF0Zm9ybSArIFxcXCImcm9vbUlkPVxcXCIgKyByb29taWQgKyBcXFwiJnVpZD1cXFwiICsgdWlkKSlcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckl0ZW0ocGxhdGZvcm0gKyByb29taWQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXFxcInRvYXN0Oi8vXFxcIiArIHJlcy5kYXRhO1xcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0sIGdldEl0ZW0oXFxcInVpZFxcXCIpLCBkYXRhLnJvb21JZCwgZGF0YS5wbGF0Rm9ybSwgYXBpKVxcbiAgICAgICAgICAgICAgICB9LCB7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXFxcIuWumOe9kemTvuaOpVxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygocm9vbWlkLCBwbGF0Zm9ybSkgPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocGxhdGZvcm0pIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcXFwiZG91eXVcXFwiOlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFxcXCJodHRwczovL20uZG91eXUuY29tL1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXFxcImJpbGliaWxpXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9saXZlLmJpbGliaWxpLmNvbS9oNS9cXFwiICsgcm9vbWlkXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFxcXCJodXlhXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9tLmh1eWEuY29tL1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXFxcImRvdXlpblxcXCI6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gXFxcImh0dHBzOi8vbGl2ZS5kb3V5aW4uY29tL1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXFxcImNjXFxcIjpcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBcXFwiaHR0cHM6Ly9oNS5jYy4xNjMuY29tL2NjL1xcXCIgKyByb29taWRcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7XFxuICAgICAgICAgICAgICAgICAgICB9LCBkYXRhLnJvb21JZCwgZGF0YS5wbGF0Rm9ybSlcXG4gICAgICAgICAgICAgICAgfV1cXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KVxcbiAgICB9XFxufSBjYXRjaCAoZSkge1xcbiAgICAgZC5wdXNoKHtcXG4gICAgICAgICB0aXRsZTogJzxicj48YnI+JyxcXG4gICAgICAgICBjb2xfdHlwZTogJ3JpY2hfdGV4dCdcXG4gICAgIH0sIHtcXG4gICAgICAgICBkZXNjOiAn5pqC5peg5oi/6Ze0XFxcXG5cXFxcbuivt+WIh+aNouW5s+WPsOingueciycsXFxuICAgICAgICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxuICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXG4gICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgICB9XFxuICAgICB9KTtcXG59O1xcbnNldFJlc3VsdChkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcImxhenlcIixcInBhdGhcIjpcImxhenlcIixcInJ1bGVcIjpcInZhciBsYXp5ID0gJCgnJykubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICBsZXQganNvbiA9IEpTT04ucGFyc2UocmVxdWVzdChpbnB1dCkpLmRhdGE7XFxuICAgIGxldCBuYW1lID0ge1xcbiAgICAgICAgXFxcIk9EXFxcIjogXFxcIuWOn+eUu1xcXCIsXFxuICAgICAgICBcXFwiRkRcXFwiOiBcXFwi5rWB55WFXFxcIixcXG4gICAgICAgIFxcXCJMRFxcXCI6IFxcXCLmoIfmuIVcXFwiLFxcbiAgICAgICAgXFxcIlNEXFxcIjogXFxcIumrmOa4hVxcXCIsXFxuICAgICAgICBcXFwiSERcXFwiOiBcXFwi6LaF5riFXFxcIixcXG4gICAgICAgIFxcXCIyS1xcXCI6IFxcXCIyS1xcXCIsXFxuICAgICAgICBcXFwiNEtcXFwiOiBcXFwiNEtcXFwiLFxcbiAgICAgICAgXFxcIkZIRFxcXCI6IFxcXCLlhajpq5jmuIVcXFwiLFxcbiAgICAgICAgXFxcIlhMRFxcXCI6IFxcXCLmnoHpgJ9cXFwiLFxcbiAgICAgICAgXFxcIlNRXFxcIjogXFxcIuaZrumAmumfs+i0qFxcXCIsXFxuICAgICAgICBcXFwiSFFcXFwiOiBcXFwi6auY6Z+z6LSoXFxcIlxcbiAgICB9O1xcbiAgICBsZXQgdXJscyA9IFtdO1xcbiAgICBsZXQgbmFtZXMgPSBbXTtcXG4gICAgZm9yICh2YXIga2V5IGluIGpzb24pIHtcXG4gICAgICAgIGlmICghL2F5eXVpZHx0by8udGVzdChrZXkpKSB7XFxuICAgICAgICAgICAgdXJscy5wdXNoKGpzb25ba2V5XSlcXG4gICAgICAgICAgICBuYW1lcy5wdXNoKG5hbWVba2V5XSlcXG4gICAgICAgIH07XFxuICAgIH07XFxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XFxuICAgICAgICBuYW1lczogbmFtZXMsXFxuICAgICAgICB1cmxzOiB1cmxzLFxcbiAgICB9KTtcXG59KTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaQnOe0oumhtemdolwiLFwicGF0aFwiOlwic2VhcmNoXCIsXCJydWxlXCI6XCIkLmV4cG9ydHMgPSB7XFxuICAgIGVuZ2luZXM6IFtcXFwi5omA5pyJ5bmz5Y+wXFxcIiwgXFxcIuiZjueJmeebtOaSrVxcXCIsIFxcXCLmlpfpsbznm7Tmkq1cXFwiLCBcXFwi5ZOU5ZOp5ZOU5ZOpXFxcIiwgXFxcIue9keaYk0NDXFxcIl0sXFxuICAgIHNlYXJjaDogZnVuY3Rpb24oKSB7XFxuICAgICAgICAvL2xvZyhnZXRQYXJhbShcXFwiZW5naW5lXFxcIikpXFxuICAgICAgICB2YXIgdXJsID0gXFxcImh0dHA6Ly9saXZlLnlqMTIxMS53b3JrL2FwaS9saXZlL3NlYXJjaD9rZXlXb3Jkcz1cXFwiICsgZ2V0UGFyYW0oXFxcImt3XFxcIikgKyBcXFwiJmlzTGl2ZT0wJnVpZD1cXFwiICsgZ2V0SXRlbShcXFwidWlkXFxcIiwgXFxcIlxcXCIpICsgXFxcIiZwbGF0Zm9ybT1cXFwiICsgW1xcXCJhbGxcXFwiLCBcXFwiaHV5YVxcXCIsIFxcXCJkb3V5dVxcXCIsIFxcXCJiaWxpYmlsaVxcXCIsIFxcXCJjY1xcXCJdW1xcbiAgICAgICAgICAgIFtcXFwi5omA5pyJ5bmz5Y+wXFxcIiwgXFxcIuiZjueJmeebtOaSrVxcXCIsIFxcXCLmlpfpsbznm7Tmkq1cXFwiLCBcXFwi5ZOU5ZOp5ZOU5ZOpXFxcIiwgXFxcIue9keaYk0NDXFxcIl0uaW5kZXhPZihnZXRQYXJhbShcXFwiZW5naW5lXFxcIikpXFxuICAgICAgICBdXFxuICAgICAgICB2YXIganNvbiA9IEpTT04ucGFyc2UocmVxdWVzdCh1cmwpKS5kYXRhXFxuICAgICAgICBkID0ganNvbi5tYXAoZGF0YSA9PiAoe1xcbiAgICAgICAgICAgIHRpdGxlOiBkYXRhLm5pY2tOYW1lLFxcbiAgICAgICAgICAgIGRlc2M6IGRhdGEucGxhdGZvcm0ucmVwbGFjZSgnaHV5YScsICfomY7niZknKS5yZXBsYWNlKCdkb3V5dScsICfmlpfpsbwnKS5yZXBsYWNlKCdjYycsICfnvZHmmJNDQycpLnJlcGxhY2UoXFxcImJpbGliaWxpXFxcIiwgXFxcIuWTlOWTqeWTlOWTqVxcXCIpLFxcbiAgICAgICAgICAgIGltZzogKGRhdGEuaGVhZFBpYyAhPT0gbnVsbCAmJiBkYXRhLmhlYWRQaWMuc3RhcnRzV2l0aCgnLycpID8gJ2h0dHBzOicgKyBkYXRhLmhlYWRQaWMgOiBkYXRhLmhlYWRQaWMpICsgJ0BSZWZlcmVyPScsXFxuICAgICAgICAgICAgY29udGVudDogZGF0YS5pc0xpdmUgPT0gJzAnID8gJ+acquW8gOaSrScgOiAn55u05pKt5LitJyxcXG4gICAgICAgICAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2UvZGV0YWlsPyNpbW1lcnNpdmVUaGVtZSMmcnVsZT1KdXN0TGl2ZSZyb29taWQ9XFxcIiArIGRhdGEucm9vbUlkICsgXFxcIiZwbGF0Zm9ybT1cXFwiICsgZGF0YS5wbGF0Zm9ybVxcbiAgICAgICAgfSkpXFxuICAgICAgICBzZXRSZXN1bHQoZClcXG4gICAgfVxcbn1cIn1dIiwiaWNvbiI6Imh0dHBzOi8vczEuYXgxeC5jb20vMjAyMi8xMC8yNC94UlFaVWYuanBnIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment