Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@少数派@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi5bCR5pWw5rS+IiwiYXV0aG9yIjoiZ3VhbmVyJnh4cyIsInVybCI6Imhpa2VyOi8vZW1wdHk/Zj1meWNsYXNzJnA9ZnlwYWdlIiwidmVyc2lvbiI6NSwiY29sX3R5cGUiOiJtb3ZpZV8xX3ZlcnRpY2FsX3BpYyIsImNsYXNzX25hbWUiOiLmtL7mkJwm5rS+5o6oIiwidHlwZSI6Im5ld3MiLCJjbGFzc191cmwiOiLmtL7mkJwm5rS+5o6oIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5kID0gW107XG5zd2l0Y2ggKE1ZX1VSTC5tYXRjaCgvZj0oLio/KSYvKVsxXSkge1xuICAgIGNhc2UgXCLmtL7mjqhcIjpcbiAgICAgICAgZXZhbChKU09OLnBhcnNlKGZldGNoKFwiaGlrZXI6Ly9wYWdlL2NsYXNzLmh0bWxcIikpLnJ1bGUpXG4gICAgICAgIGJyZWFrXG4gICAgY2FzZSBcIua0vuaQnFwiOlxuICAgICAgICBldmFsKEpTT04ucGFyc2UoZmV0Y2goXCJoaWtlcjovL3BhZ2Uvc2VhcmNoLmh0bWxcIikpLnJ1bGUpXG59XG5cbnNldFJlc3VsdChkKSIsInNlYXJjaF91cmwiOiJoaWtlcjovL2VtcHR5IyNmeXBhZ2UjIyoqIiwiZ3JvdXAiOiLikaPljqjoiboiLCJzZWFyY2hGaW5kIjoianM6XG52YXIgZCA9IFtdO1xuLy/ml7bpl7Tlh73mlbBcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcImhpa2VyOi8vcGFnZS90aW1lLmh0bWxcIikpLnJ1bGUpXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXCJoaWtlcjovL3BhZ2UvdGltZT9ydWxlPeiZjuWXhVwiKSkucnVsZSlcbmxldCB7XG4gICAgY3VycmVudFJhbmdlLFxuICAgIHJhbmdlXG59ID0gJC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL2NvbnN0YW50Lmh0bWxcIik7XG5jb25zdCBwYWdlID0gTVlfVVJMLnNwbGl0KFwiIyNcIilbMV07XG5jb25zdCBzZWFyY2huID0gTVlfVVJMLnNwbGl0KFwiIyNcIilbMl07XG5sZXQgc3RpbWUgPSBnZXRUaW1lKDUpO1xuICAgICAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICAgICAgaWYgKE51bWJlcihNWV9QQUdFKSA+IDEpIHtcbiAgICAgICAgICAgIG9mZnNldCA9IChOdW1iZXIoTVlfUEFHRSkgLSAxKSAqIDEwO1xuICAgICAgICB9XG4gICAgICAgIHVybCA9IFwiaHR0cHM6Ly9zc3BhaS5jb20vYXBpL3YxL3NlYXJjaC9hcnRpY2xlL3BhZ2UvZ2V0P3RpdGxlPVwiICsgc2VhcmNobiArIFwiJmZyZWU9MSZzdGltZT1cIiArIHN0aW1lICsgXCImbGltaXQ9MTAmb2Zmc2V0PVwiICsgb2Zmc2V0O1xuICAgICAgICBodG1sID0gZmV0Y2hQQyh1cmwsIHt9KTtcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGh0bWwpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwganNvbi5kYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBqID0ganNvbi5kYXRhW2ldO1xuICAgICAgICBkLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGouYXV0aG9yLm5pY2tuYW1lLFxuICAgICAgICAgICAgaW1nOiAvaHR0cC8udGVzdChqLmF1dGhvci5hdmF0YXIpID8gai5hdXRob3IuYXZhdGFyIDogJ2h0dHBzOi8vY2RuLnNzcGFpLmNvbS8nICsgai5hdXRob3IuYXZhdGFyLFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxuICAgICAgICAgICAgdXJsOiBcImhpa2VyOi8vcGFnZS9hdWh0b3IuaHRtbD9wYWdlPWZ5cGFnZVwiLFxuICAgICAgICAgICAgZGVzYzogJzxzbWFsbD48Zm9udCBjb2xvcj1cInJlZFwiPicgKyBnZXREYXRlRGlmZihuZXcgRGF0ZShOdW1iZXIoai5tb2RpZnlfdGltZSkgKiAxMDAwKS5Gb3JtYXQoXCJ5eXl5LU1NLWRkIGhoOm1tOnNzXCIpKSArICc8L2ZvbnQ+PC9zbWFsbD4nICsgKGouZnJlZSA9PSB0cnVlID8gXCIgXCIgOiBcIjxmb250IGNvbG9yPScjRkY5OTAwJz4gwrcg5LuY6LS5PC9mb250PlwiKSxcbiAgICAgICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICAgICAgdUlkOiBqLmF1dGhvci5zbHVnLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBqLmF1dGhvci5uaWNrbmFtZSxcbiAgICAgICAgICAgICAgICBpbWc6ICdodHRwczovL2Nkbi5zc3BhaS5jb20vJyArIGouYXV0aG9yLmF2YXRhcixcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZC5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiAn4oCc4oCc4oCd4oCdJyArIGoudGl0bGUsXG4gICAgICAgICAgICBwaWNfdXJsOiAnaHR0cHM6Ly9jZG4uc3NwYWkuY29tLycgKyBqLmJhbm5lcixcbiAgICAgICAgICAgIGRlc2M6ICfigJzigJzigJ3igJ0nICsgJzxzbWFsbD4nICsgai52aWV3X2NvdW50ICsgJ/CfkYFcXHRcXHQnICsgai5saWtlX2NvdW50ICsgJ/CfkY3wn4+7XFx0XFx0JyArIGouY29tbWVudF9jb3VudCArICfwn5OpXFx0XFx0JyArICc8YnI+PHNwYW4gc3R5bGU9XCJjb2xvcjpibGFjaztcIj4nICsgai5zdW1tYXJ5ICsgJzwvc3Bhbj48L3NtYWxsPicsXG4gICAgICAgICAgICB1cmw6IFwiaHR0cHM6Ly9zc3BhaS5jb20vcG9zdC9cIiArIGouaWQgKyAnLycgKyBcIiNnYW1lVGhlbWUjXCIsXG5cbiAgICAgICAgfSk7XG4gICAgfVxuc2V0UmVzdWx0KGQpXG4iLCJkZXRhaWxfY29sX3R5cGUiOiJtb3ZpZV8xIiwiZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxubGV0IGQgPSBbXTtcbmQucHVzaCh7XG4gICAgY29sX3R5cGU6IFwieDVfd2Vidmlld19zaW5nbGVcIixcbiAgICB1cmw6IE1ZX1VSTCxcbiAgICBkZXNjOiBcImZsb2F0JiYxMDAlXCIsXG4gICAgZXh0cmE6IHtcbiAgICAgICAgY2FuQmFjazogdHJ1ZVxuICAgIH1cbn0pO1xuc2V0UmVzdWx0KGQpIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IioiLCJ1YSI6Im1vYmlsZSIsInByZVJ1bGUiOiIiLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwi5YiG57G7XCIsXCJwYXRoXCI6XCJjbGFzcy5odG1sXCIsXCJydWxlXCI6XCIvL+aXtumXtOWHveaVsFxcbmV2YWwoSlNPTi5wYXJzZShmZXRjaChcXFwiaGlrZXI6Ly9wYWdlL3RpbWUuaHRtbFxcXCIpKS5ydWxlKVxcbi8v5pCc57Si55So5oi35YiX6KGo5byA5aeLXFxuZnVuY3Rpb24gc2VhcmNoKGh0bWwsIGQpIHtcXG4gICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGh0bWwpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGpzb24uZGF0YS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIGogPSBqc29uLmRhdGFbaV07XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBqLmF1dGhvci5uaWNrbmFtZSxcXG4gICAgICAgICAgICBpbWc6IC9odHRwLy50ZXN0KGouYXV0aG9yLmF2YXRhcikgPyBqLmF1dGhvci5hdmF0YXIgOiAnaHR0cHM6Ly9jZG4uc3NwYWkuY29tLycgKyBqLmF1dGhvci5hdmF0YXIsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcbiAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9hdWh0b3IuaHRtbD9wYWdlPWZ5cGFnZVxcXCIsXFxuICAgICAgICAgICAgZGVzYzogJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj4nICsgZ2V0RGF0ZURpZmYobmV3IERhdGUoTnVtYmVyKGoubW9kaWZ5X3RpbWUpICogMTAwMCkuRm9ybWF0KFxcXCJ5eXl5LU1NLWRkIGhoOm1tOnNzXFxcIikpICsgJzwvZm9udD48L3NtYWxsPicgKyAoai5mcmVlID09IHRydWUgPyBcXFwiIFxcXCIgOiBcXFwiPGZvbnQgY29sb3I9JyNGRjk5MDAnPiDCtyDku5jotLk8L2ZvbnQ+XFxcIiksXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgdUlkOiBqLmF1dGhvci5zbHVnLFxcbiAgICAgICAgICAgICAgICB0aXRsZTogai5hdXRob3Iubmlja25hbWUsXFxuICAgICAgICAgICAgICAgIGltZzogJ2h0dHBzOi8vY2RuLnNzcGFpLmNvbS8nICsgai5hdXRob3IuYXZhdGFyLFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcblxcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogai50aXRsZSxcXG4gICAgICAgICAgICBwaWNfdXJsOiAnaHR0cHM6Ly9jZG4uc3NwYWkuY29tLycgKyBqLmJhbm5lcixcXG4gICAgICAgICAgICBkZXNjOiAn4oCc4oCc4oCd4oCdJyArICc8c21hbGw+JyArIGoudmlld19jb3VudCArICfwn5GBXFxcXHRcXFxcdCcgKyBqLmxpa2VfY291bnQgKyAn8J+RjfCfj7tcXFxcdFxcXFx0JyArIGouY29tbWVudF9jb3VudCArICfwn5OpXFxcXHRcXFxcdCcgKyAnPGJyPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjpibGFjaztcXFwiPicgKyBqLnN1bW1hcnkgKyAnPC9zcGFuPjwvc21hbGw+JyxcXG4gICAgICAgICAgICB1cmw6IFxcXCJodHRwczovL3NzcGFpLmNvbS9wb3N0L1xcXCIgKyBqLmlkICsgJy8nICsgXFxcIiNnYW1lVGhlbWUjXFxcIixcXG5cXG4gICAgICAgIH0pO1xcbiAgICB9XFxuICAgIHJldHVybiBkO1xcbn1cXG5cXG5cXG5cXG4vL+aQnOe0oumAieaLqeW8gOWni1xcbm1vZGUgPSBnZXRNeVZhcihcXFwibW9kZVxcXCIsIFxcXCLmjqjojZBcXFwiKVxcbmlmIChNWV9QQUdFID09IDEpIHtcXG5cXG4gICAgc2xpc3QgPSBbXFxcIuaOqOiNkFxcXCIsIFxcXCLmnIDng61cXFwiLCBcXFwi5bqU55So5o6o6I2QXFxcIiwgXFxcIueUn+a0u+aWueW8j1xcXCIsIFxcXCLmlYjnjofmioDlt6dcXFwiLCBcXFwi5pKt5a6iXFxcIiwgXFxcIuinhumikVxcXCJdXFxuICAgIHNsaXN0LmZvckVhY2goKHgpID0+IHtcXG4gICAgICAgIGNsZWFyVmFyKFxcXCJzZWFyY2hcXFwiKVxcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICBjb2xfdHlwZTogXFxcInNjcm9sbF9idXR0b25cXFwiLFxcbiAgICAgICAgICAgIHRpdGxlOiB4ID09IG1vZGUgPyAn4oCc4oCc4oCd4oCdJyArIHguYm9sZCgpLmZvbnRjb2xvcignI0ZGMDAwMCcpIDogeCxcXG4gICAgICAgICAgICB1cmw6ICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHgpID0+IHtcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcIm1vZGVcXFwiLCB4KTtcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoZmFsc2UpO1xcbiAgICAgICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vZW1wdHlcXFwiXFxuICAgICAgICAgICAgfSwgeClcXG4gICAgICAgIH0pXFxuICAgIH0pXFxufVxcbi8v5pCc57Si6YCJ5oup57uT5p2fXFxuXFxuLy/liKTmlq3mkJzntKLlhoXlrrlcXG5sZXQgcGFnZSA9IE1ZX1BBR0UgPT0gMSA/IDAgOiAoTVlfUEFHRSAtIDEpICogMTA7XFxubG9nKHBhZ2UpXFxuc3dpdGNoIChtb2RlKSB7XFxuICAgIGNhc2UgXFxcIuaOqOiNkFxcXCI6XFxuICAgICAgICB1cmwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vYXBpL3YxL2FydGljbGUvaW5kZXgvcGFnZS9nZXQ/bGltaXQ9MTAmb2Zmc2V0PVxcXCIgKyBwYWdlICsgXFxcIiZjcmVhdGVkX2F0PVxcXCIgKyB0b29sTnVtYmVyKChEYXRlLnBhcnNlKG5ldyBEYXRlKCkpIC8gMTAwMCkpO1xcbiAgICAgICAgYnJlYWtcXG4gICAgY2FzZSBcXFwi5pyA54OtXFxcIjpcXG4gICAgICAgIHVybCA9IFxcXCJodHRwczovL3NzcGFpLmNvbS9hcGkvdjEvYXJ0aWNsZS90YWcvcGFnZS9nZXQ/bGltaXQ9MTAmb2Zmc2V0PVxcXCIgKyBwYWdlICsgXFxcIiZjcmVhdGVkX2F0PVxcXCIgKyB0b29sTnVtYmVyKChEYXRlLnBhcnNlKG5ldyBEYXRlKCkpIC8gMTAwMCkpICsgXFxcIiZ0YWc954Ot6Zeo5paH56ugXFxcIjtcXG4gICAgICAgIGJyZWFrXFxuICAgIGNhc2UgXFxcIuW6lOeUqOaOqOiNkFxcXCI6XFxuICAgICAgICB1cmwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vYXBpL3YxL2FydGljbGUvdGFnL3BhZ2UvZ2V0P2xpbWl0PTEwJm9mZnNldD1cXFwiICsgcGFnZSArIFxcXCImY3JlYXRlZF9hdD1cXFwiICsgdG9vbE51bWJlcigoRGF0ZS5wYXJzZShuZXcgRGF0ZSgpKSAvIDEwMDApKSArIFxcXCImdGFnPeW6lOeUqOaOqOiNkFxcXCI7XFxuICAgICAgICBicmVha1xcbiAgICBjYXNlIFxcXCLnlJ/mtLvmlrnlvI9cXFwiOlxcbiAgICAgICAgdXJsID0gXFxcImh0dHBzOi8vc3NwYWkuY29tL2FwaS92MS9hcnRpY2xlL3RhZy9wYWdlL2dldD9saW1pdD0xMCZvZmZzZXQ9XFxcIiArIHBhZ2UgKyBcXFwiJmNyZWF0ZWRfYXQ9XFxcIiArIHRvb2xOdW1iZXIoKERhdGUucGFyc2UobmV3IERhdGUoKSkgLyAxMDAwKSkgKyBcXFwiJnRhZz3nlJ/mtLvmlrnlvI8mc2VhcmNoX3R5cGU9MVxcXCI7XFxuICAgICAgICBicmVha1xcbiAgICBjYXNlIFxcXCLmlYjnjofmioDlt6dcXFwiOlxcbiAgICAgICAgdXJsID0gXFxcIiBodHRwczovL3NzcGFpLmNvbS9hcGkvdjEvYXJ0aWNsZS90YWcvc3BlY2lhbC9wYWdlL2dldD9saW1pdD0xMCZvZmZzZXQ9XFxcIiArIHBhZ2UgKyBcXFwiJmNyZWF0ZWRfYXQ9XFxcIiArIHRvb2xOdW1iZXIoKERhdGUucGFyc2UobmV3IERhdGUoKSkgLyAxMDAwKSkgKyBcXFwiJnRhZz3mlYjnjofmioDlt6cmc2VhcmNoX3R5cGU9MVxcXCI7XFxuICAgICAgICBicmVha1xcbiAgICBjYXNlIFxcXCLmkq3lrqJcXFwiOlxcbiAgICAgICAgdXJsID0gXFxcImh0dHBzOi8vc3NwYWkuY29tL2FwaS92MS9hcnRpY2xlL3RhZy9wYWdlL2dldD9saW1pdD0xMCZvZmZzZXQ9XFxcIiArIHBhZ2UgKyBcXFwiJmNyZWF0ZWRfYXQ9XFxcIiArIHRvb2xOdW1iZXIoKERhdGUucGFyc2UobmV3IERhdGUoKSkgLyAxMDAwKSkgKyBcXFwiJnRhZz3lsJHmlbDmtL7mkq3lrqImc2VhcmNoX3R5cGU9MVxcXCI7XFxuICAgICAgICBicmVha1xcbiAgICBjYXNlIFxcXCLop4bpopFcXFwiOlxcbiAgICAgICAgdXJsID0gXFxcImh0dHBzOi8vc3NwYWkuY29tL2FwaS92MS9hcnRpY2xlL3Bvc3RfdHlwZS9wYWdlL2dldD9saW1pdD0xMCZvZmZzZXQ9XFxcIiArIHBhZ2UgKyBcXFwiJmNyZWF0ZWRfYXQ9XFxcIiArIHRvb2xOdW1iZXIoKERhdGUucGFyc2UobmV3IERhdGUoKSkgLyAxMDAwKSkgKyBcXFwiJnBvc3RfdHlwZT0yXFxcIjtcXG4gICAgICAgIGJyZWFrXFxufVxcbmh0bWwgPSBmZXRjaCh1cmwpO1xcbnNlYXJjaChodG1sLCBkKTtcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaQnOe0olwiLFwicGF0aFwiOlwic2VhcmNoLmh0bWxcIixcInJ1bGVcIjpcImpzOlxcbmQgPSBbXTtcXG5NWV9VUkwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb21cXFwiO1xcbmFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKSA9PiB7XFxuICAgICAgICBjbGVhck15VmFyKFxcXCJzZWFyY2hcXFwiKVxcbiAgICB9KSk7XFxuLy/ml7bpl7Tlh73mlbBcXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS90aW1lLmh0bWxcXFwiKSkucnVsZSlcXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS90aW1lP3J1bGU96JmO5ZeFXFxcIikpLnJ1bGUpXFxubGV0IHtcXG4gICAgY3VycmVudFJhbmdlLFxcbiAgICByYW5nZVxcbn0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9jb25zdGFudC5odG1sXFxcIik7XFxubGV0IHNlYXJjaCA9IGdldE15VmFyKFxcXCJteS1zZWFyY2hcXFwiKTtcXG4vL+aQnOe0oumAieaLqeW8gOWni1xcbm1vZGVfc2VhcmNoID0gZ2V0TXlWYXIoXFxcIm1vZGVfc2VhcmNoXFxcIiwgXFxcIuaWh+eroFxcXCIpO1xcbmlmIChNWV9QQUdFID09IDEpIHtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHVybDogXFxcIid0b2FzdDovL+aQnOe0ouaIkOWKnyc7cmVmcmVzaFBhZ2UoKVxcXCIsXFxuICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXG4gICAgICAgIHRpdGxlOiAn5pCc57SiJyxcXG4gICAgICAgIGRlc2M6IFxcXCLmkJzntKJcXFwiLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCdteS1zZWFyY2gnLGlucHV0KVxcXCIsXFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBnZXRNeVZhcihcXFwibXktc2VhcmNoXFxcIiksXFxuICAgICAgICB9XFxuICAgIH0pXFxuXFxuICAgIHNsaXN0ID0gW1xcXCLmlofnq6BcXFwiLCBcXFwi55So5oi3XFxcIiwgXFxcIuW6lOeUqFxcXCIsIFxcXCLku5jotLnmoI/nm65cXFwiLCBcXFwi5q2j54mI6L2v5Lu2XFxcIl1cXG4gICAgc2xpc3QuZm9yRWFjaCgoeCkgPT4ge1xcbiAgICAgICAgY2xlYXJWYXIoXFxcInNlYXJjaFxcXCIpXFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIGNvbF90eXBlOiBcXFwic2Nyb2xsX2J1dHRvblxcXCIsXFxuICAgICAgICAgICAgdGl0bGU6IHggPT0gbW9kZV9zZWFyY2ggPyAn4oCc4oCc4oCd4oCdJyArIHguYm9sZCgpLmZvbnRjb2xvcignI0ZGMDAwMCcpIDogeCxcXG4gICAgICAgICAgICB1cmw6ICQoXFxcIiNub0xvYWRpbmcjXFxcIikubGF6eVJ1bGUoKHgpID0+IHtcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoXFxcIm1vZGVfc2VhcmNoXFxcIiwgeCk7XFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKGZhbHNlKTtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgIH0sIHgpLFxcblxcbiAgICAgICAgfSlcXG4gICAgfSlcXG59XFxuLy/mkJzntKLpgInmi6nnu5PmnZ9cXG5cXG5cXG5pZiAoc2VhcmNoKSB7XFxuICAgIHB1dE15VmFyKFxcXCJzZWFyY2hcXFwiLCBzZWFyY2gpXFxufVxcbnNlYXJjaG4gPSBnZXRNeVZhcihcXFwic2VhcmNoXFxcIik7XFxuLy/liKTmlq3mkJzntKLlhoXlrrlcXG5zd2l0Y2ggKG1vZGVfc2VhcmNoKSB7XFxuY2FzZSBcXFwi5paH56ugXFxcIjpcXG4gICAgaWYgKHNlYXJjaG4pIHtcXG4gICAgICAgIGxldCBzdGltZSA9IGdldFRpbWUoNSk7XFxuICAgICAgICBsZXQgb2Zmc2V0ID0gMDtcXG4gICAgICAgIGlmIChOdW1iZXIoTVlfUEFHRSkgPiAxKSB7XFxuICAgICAgICAgICAgb2Zmc2V0ID0gKE51bWJlcihNWV9QQUdFKSAtIDEpICogMTA7XFxuICAgICAgICB9XFxuICAgICAgICB1cmwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vYXBpL3YxL3NlYXJjaC9hcnRpY2xlL3BhZ2UvZ2V0P3RpdGxlPVxcXCIgKyBzZWFyY2huICsgXFxcIiZmcmVlPTEmc3RpbWU9XFxcIiArIHN0aW1lICsgXFxcIiZsaW1pdD0xMCZvZmZzZXQ9XFxcIiArIG9mZnNldDtcXG4gICAgICAgIGh0bWwgPSBmZXRjaFBDKHVybCwge30pO1xcbiAgICAgICAgdmFyIGpzb24gPSBKU09OLnBhcnNlKGh0bWwpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGpzb24uZGF0YS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIGogPSBqc29uLmRhdGFbaV07XFxuICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgIHRpdGxlOiBqLmF1dGhvci5uaWNrbmFtZSxcXG4gICAgICAgICAgICBpbWc6IC9odHRwLy50ZXN0KGouYXV0aG9yLmF2YXRhcikgPyBqLmF1dGhvci5hdmF0YXIgOiAnaHR0cHM6Ly9jZG4uc3NwYWkuY29tLycgKyBqLmF1dGhvci5hdmF0YXIsXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcbiAgICAgICAgICAgIHVybDogXFxcImhpa2VyOi8vcGFnZS9hdWh0b3IuaHRtbD9wYWdlPWZ5cGFnZVxcXCIsXFxuICAgICAgICAgICAgZGVzYzogJzxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj4nICsgZ2V0RGF0ZURpZmYobmV3IERhdGUoTnVtYmVyKGoubW9kaWZ5X3RpbWUpICogMTAwMCkuRm9ybWF0KFxcXCJ5eXl5LU1NLWRkIGhoOm1tOnNzXFxcIikpICsgJzwvZm9udD48L3NtYWxsPicgKyAoai5mcmVlID09IHRydWUgPyBcXFwiIFxcXCIgOiBcXFwiPGZvbnQgY29sb3I9JyNGRjk5MDAnPiDCtyDku5jotLk8L2ZvbnQ+XFxcIiksXFxuICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgdUlkOiBqLmF1dGhvci5zbHVnLFxcbiAgICAgICAgICAgICAgICB0aXRsZTogai5hdXRob3Iubmlja25hbWUsXFxuICAgICAgICAgICAgICAgIGltZzogJ2h0dHBzOi8vY2RuLnNzcGFpLmNvbS8nICsgai5hdXRob3IuYXZhdGFyLFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcblxcbiAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICB0aXRsZTogJ+KAnOKAnOKAneKAnScgKyBqLnRpdGxlLFxcbiAgICAgICAgICAgIHBpY191cmw6ICdodHRwczovL2Nkbi5zc3BhaS5jb20vJyArIGouYmFubmVyLFxcbiAgICAgICAgICAgIGRlc2M6ICfigJzigJzigJ3igJ0nICsgJzxzbWFsbD4nICsgai52aWV3X2NvdW50ICsgJ/CfkYFcXFxcdFxcXFx0JyArIGoubGlrZV9jb3VudCArICfwn5GN8J+Pu1xcXFx0XFxcXHQnICsgai5jb21tZW50X2NvdW50ICsgJ/Cfk6lcXFxcdFxcXFx0JyArICc8YnI+PHNwYW4gc3R5bGU9XFxcImNvbG9yOmJsYWNrO1xcXCI+JyArIGouc3VtbWFyeSArICc8L3NwYW4+PC9zbWFsbD4nLFxcbiAgICAgICAgICAgIHVybDogXFxcImh0dHBzOi8vc3NwYWkuY29tL3Bvc3QvXFxcIiArIGouaWQgKyAnLycgKyBcXFwiI2dhbWVUaGVtZSNcXFwiLFxcblxcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgfVxcbiAgICBicmVha1xcbmNhc2UgXFxcIueUqOaIt1xcXCI6XFxuICAgIHVybCA9IFxcXCJodHRwczovL3NzcGFpLmNvbS9zZWFyY2gvdXNlci9cXFwiICsgc2VhcmNobiArIFxcXCIvXFxcIjtcXG5cXG4gICAgLyoqaWYgKHNlYXJjaG4pIHtcXG4gICAgaHRtbCA9IGZldGNoQ29kZUJ5V2ViVmlldyh1cmwpO1xcbiAgICBzZWFyY2h1c2VyKGh0bWwsIGQpO1xcbiAgICB9KiovXFxuICAgIHRvYXN0KCfkuIvmrKHkuIDlrponKVxcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmsqHlvITvvIzkuIvmrKEnLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICBicmVha1xcblxcbmNhc2UgXFxcIuW6lOeUqFxcXCI6XFxuICAgIHVybCA9IFxcXCJodHRwczovL3NzcGFpLmNvbS9zZWFyY2gvYXBwL1xcXCIgKyBzZWFyY2huICsgXFxcIi9cXFwiO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmsqHlvITvvIzkuIvmrKEnLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICAvKippZiAoc2VhcmNobikge1xcbiAgICBodG1sID0gZmV0Y2hDb2RlQnlXZWJWaWV3KHVybCk7XFxuICAgIHNlYXJjaDEoaHRtbCwgZCk7XFxuICAgIH0qKi9cXG4gICAgdG9hc3QoJ+S4i+asoeS4gOWumicpXFxuICAgIGJyZWFrXFxuY2FzZSBcXFwi5LuY6LS55qCP55uuXFxcIjpcXG4gICAgLy91cmwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vc2VhcmNoL3Nlcmllcy9cXFwiICsgc2VhcmNobiArIFxcXCIvXFxcIjtcXG5cXG4gICAgdG9hc3QoJ+mDveS7mOi0ueS6hu+8jOi/mOaDs+eci+WVpScpXFxuICAgIC8qKmlmIChzZWFyY2huKSB7XFxuICAgIGh0bWwgPSBmZXRjaENvZGVCeVdlYlZpZXcodXJsKTtcXG4gICAgc2VhcmNoMShodG1sLCBkKTtcXG4gICAgfSoqL1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmsqHlvITvvIzkuIvmrKEnLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICBicmVha1xcbmNhc2UgXFxcIuato+eJiOi9r+S7tlxcXCI6XFxuICAgIC8vICB1cmwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vc2VhcmNoL2FwcC9cXFwiICsgc2VhcmNobiArIFxcXCIvXFxcIjtcXG4gICAgdG9hc3QoJ+mDveato+eJiOS6hu+8jOi/mOaDs+aQnOWVpScpXFxuICAgIC8qKmlmIChzZWFyY2huKSB7XFxuICAgIGh0bWwgPSBmZXRjaENvZGVCeVdlYlZpZXcodXJsKTtcXG4gICAgc2VhcmNoMShodG1sLCBkKTtcXG4gICAgfSoqL1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6ICfmsqHlvITvvIzkuIvmrKEnLFxcbiAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJ1xcbiAgICB9KVxcbiAgICBicmVha1xcbn1cXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuaXtumXtOi9rOaNouWHveaVsFwiLFwicGF0aFwiOlwidGltZS5odG1sXCIsXCJydWxlXCI6XCJmdW5jdGlvbiBnZXREYXRlRGlmZihkYXRlU3RyKSB7XFxuICAgIHZhciBwdWJsaXNoVGltZSA9IGdldERhdGVUaW1lU3RhbXAoZGF0ZVN0cikgLyAxMDAwLFxcbiAgICBkX3NlY29uZHMsXFxuICAgIGRfbWludXRlcyxcXG4gICAgZF9ob3VycyxcXG4gICAgZF9kYXlzLFxcbiAgICB0aW1lTm93ID0gcGFyc2VJbnQobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKSxcXG4gICAgZCxcXG5cXG4gICAgZGF0ZSA9IG5ldyBEYXRlKHB1Ymxpc2hUaW1lICogMTAwMCksXFxuICAgIFkgPSBkYXRlLmdldEZ1bGxZZWFyKCksXFxuICAgIE0gPSBkYXRlLmdldE1vbnRoKCkgKyAxLFxcbiAgICBEID0gZGF0ZS5nZXREYXRlKCksXFxuICAgIEggPSBkYXRlLmdldEhvdXJzKCksXFxuICAgIG0gPSBkYXRlLmdldE1pbnV0ZXMoKSxcXG4gICAgcyA9IGRhdGUuZ2V0U2Vjb25kcygpO1xcbiAgICAvL+Wwj+S6jjEw55qE5Zyo5YmN6Z2i6KGlMFxcbiAgICBpZiAoTSA8IDEwKSB7XFxuICAgICAgICBNID0gJzAnICsgTTtcXG4gICAgfVxcbiAgICBpZiAoRCA8IDEwKSB7XFxuICAgICAgICBEID0gJzAnICsgRDtcXG4gICAgfVxcbiAgICBpZiAoSCA8IDEwKSB7XFxuICAgICAgICBIID0gJzAnICsgSDtcXG4gICAgfVxcbiAgICBpZiAobSA8IDEwKSB7XFxuICAgICAgICBtID0gJzAnICsgbTtcXG4gICAgfVxcbiAgICBpZiAocyA8IDEwKSB7XFxuICAgICAgICBzID0gJzAnICsgcztcXG4gICAgfVxcblxcbiAgICBkID0gdGltZU5vdyAtIHB1Ymxpc2hUaW1lO1xcbiAgICBkX2RheXMgPSBwYXJzZUludChkIC8gODY0MDApO1xcbiAgICBkX2hvdXJzID0gcGFyc2VJbnQoZCAvIDM2MDApO1xcbiAgICBkX21pbnV0ZXMgPSBwYXJzZUludChkIC8gNjApO1xcbiAgICBkX3NlY29uZHMgPSBwYXJzZUludChkKTtcXG5cXG4gICAgaWYgKGRfZGF5cyA+IDAgJiYgZF9kYXlzIDwgMykge1xcbiAgICAgICAgcmV0dXJuIGRfZGF5cyArICflpKnliY0nO1xcbiAgICB9IGVsc2UgaWYgKGRfZGF5cyA8PSAwICYmIGRfaG91cnMgPiAwKSB7XFxuICAgICAgICByZXR1cm4gZF9ob3VycyArICflsI/ml7bliY0nO1xcbiAgICB9IGVsc2UgaWYgKGRfaG91cnMgPD0gMCAmJiBkX21pbnV0ZXMgPiAwKSB7XFxuICAgICAgICByZXR1cm4gZF9taW51dGVzICsgJ+WIhumSn+WJjSc7XFxuICAgIH0gZWxzZSBpZiAoZF9zZWNvbmRzIDwgNjApIHtcXG4gICAgICAgIGlmIChkX3NlY29uZHMgPD0gMCkge1xcbiAgICAgICAgICAgIHJldHVybiAn5Yia5YiaJztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuIGRfc2Vjb25kcyArICfnp5LliY0nO1xcbiAgICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKGRfZGF5cyA+PSAzICYmIGRfZGF5cyA8IDMwKSB7XFxuICAgICAgICByZXR1cm4gTSArICctJyArIEQgKyAnICcgKyBIICsgJzonICsgbTtcXG4gICAgfSBlbHNlIGlmIChkX2RheXMgPj0gMzApIHtcXG4gICAgICAgIHJldHVybiBZICsgJy0nICsgTSArICctJyArIEQgKyAnICcgKyBIICsgJzonICsgbTtcXG4gICAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXREYXRlVGltZVN0YW1wKGRhdGVTdHIpIHtcXG4gICAgLy8g5aaC5p6c5pe26Ze05qC85byP5Li6MjAyMC8wNy8wOSAyMTo0MzoxOS4wMDAgIOmcgOimgeWOu+aOiS4wMDAg5LiN54S2aW9z5ZKMZmlyZWZveOS8muaciemXrumimFxcbiAgICByZXR1cm4gRGF0ZS5wYXJzZShkYXRlU3RyLnJlcGxhY2UoLy0vZ2ksIFxcXCIvXFxcIikpO1xcbn1cXG7jgIDjgIBcXG5cXG4vL2NvbnNvbGUubG9nKHRoaXMuZ2V0RGF0ZURpZmYoXFxcIjIwMjAtMDctMDMgMTA6MDM6MTkuMDAwXFxcIikpO1xcblxcbkRhdGUucHJvdG90eXBlLkZvcm1hdCA9IGZ1bmN0aW9uIChmbXQpIHsgLy9hdXRob3I6IG1laXp6XFxuICAgIHZhciBvID0ge1xcbiAgICAgICAgXFxcIk0rXFxcIjogdGhpcy5nZXRNb250aCgpICsgMSwgLy/mnIjku71cXG4gICAgICAgIFxcXCJkK1xcXCI6IHRoaXMuZ2V0RGF0ZSgpLCAvL+aXpVxcbiAgICAgICAgXFxcImgrXFxcIjogdGhpcy5nZXRIb3VycygpLCAvL+Wwj+aXtlxcbiAgICAgICAgXFxcIm0rXFxcIjogdGhpcy5nZXRNaW51dGVzKCksIC8v5YiGXFxuICAgICAgICBcXFwicytcXFwiOiB0aGlzLmdldFNlY29uZHMoKSwgLy/np5JcXG4gICAgICAgIFxcXCJxK1xcXCI6IE1hdGguZmxvb3IoKHRoaXMuZ2V0TW9udGgoKSArIDMpIC8gMyksIC8v5a2j5bqmXFxuICAgICAgICBcXFwiU1xcXCI6IHRoaXMuZ2V0TWlsbGlzZWNvbmRzKCkgLy/mr6vnp5JcXG4gICAgfTtcXG4gICAgaWYgKC8oeSspLy50ZXN0KGZtdCkpXFxuICAgICAgICBmbXQgPSBmbXQucmVwbGFjZShSZWdFeHAuJDEsICh0aGlzLmdldEZ1bGxZZWFyKCkgKyBcXFwiXFxcIikuc3Vic3RyKDQgLSBSZWdFeHAuJDEubGVuZ3RoKSk7XFxuICAgIGZvciAodmFyIGsgaW4gbylcXG4gICAgICAgIGlmIChuZXcgUmVnRXhwKFxcXCIoXFxcIiArIGsgKyBcXFwiKVxcXCIpLnRlc3QoZm10KSlcXG4gICAgICAgICAgICBmbXQgPSBmbXQucmVwbGFjZShSZWdFeHAuJDEsIChSZWdFeHAuJDEubGVuZ3RoID09IDEpID8gKG9ba10pIDogKChcXFwiMDBcXFwiICsgb1trXSkuc3Vic3RyKChcXFwiXFxcIiArIG9ba10pLmxlbmd0aCkpKTtcXG4gICAgcmV0dXJuIGZtdDtcXG59XFxuXFxuLy8g5bCG56eR5a2m6K6h5pWw5rOV5pi+56S655qE5pWw5a2X77yM6L2s5o2i5Li65YW35L2T57K+5bqm55qE5pWw5a2X5a6M5pW05pi+56S6XFxuZnVuY3Rpb24gY29udmVyKHJhdGUpIHtcXG4gICAgdmFyIHJhdGVfdGVtcCA9IHBhcnNlRmxvYXQocmF0ZSArICcnKS50b0ZpeGVkKDgpO1xcbiAgICByZXR1cm4gcmF0ZV90ZW1wO1xcbn1cXG5mdW5jdGlvbiB0b29sTnVtYmVyKG51bV9zdHIpIHtcXG4gICAgbnVtX3N0ciA9IG51bV9zdHIudG9TdHJpbmcoKTtcXG4gICAgaWYgKG51bV9zdHIuaW5kZXhPZihcXFwiK1xcXCIpICE9IC0xKSB7XFxuICAgICAgICBudW1fc3RyID0gbnVtX3N0ci5yZXBsYWNlKFxcXCIrXFxcIiwgXFxcIlxcXCIpO1xcbiAgICB9XFxuICAgIGlmIChudW1fc3RyLmluZGV4T2YoXFxcIkVcXFwiKSAhPSAtMSB8fCBudW1fc3RyLmluZGV4T2YoXFxcImVcXFwiKSAhPSAtMSkge1xcbiAgICAgICAgdmFyIHJlc1ZhbHVlID0gXFxcIlxcXCIsXFxuICAgICAgICBwb3dlciA9IFxcXCJcXFwiLFxcbiAgICAgICAgcmVzdWx0ID0gbnVsbCxcXG4gICAgICAgIGRvdEluZGV4ID0gMCxcXG4gICAgICAgIHJlc0FyciA9IFtdLFxcbiAgICAgICAgc3ltID0gXFxcIlxcXCI7XFxuICAgICAgICB2YXIgbnVtU3RyID0gbnVtX3N0ci50b1N0cmluZygpO1xcbiAgICAgICAgaWYgKG51bVN0clswXSA9PSBcXFwiLVxcXCIpIHtcXG4gICAgICAgICAgICAvLyDlpoLmnpzkuLrotJ/mlbDvvIzovazmiJDmraPmlbDlpITnkIbvvIzlhYjljrvmjonigJgt4oCZ5Y+377yM5bm25L+d5a2Y4oCYLeKAmS5cXG4gICAgICAgICAgICBudW1TdHIgPSBudW1TdHIuc3Vic3RyKDEpO1xcbiAgICAgICAgICAgIHN5bSA9IFxcXCItXFxcIjtcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChudW1TdHIuaW5kZXhPZihcXFwiRVxcXCIpICE9IC0xIHx8IG51bVN0ci5pbmRleE9mKFxcXCJlXFxcIikgIT0gLTEpIHtcXG4gICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cChcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJeKCgoXFxcXFxcXFxkKy4/XFxcXFxcXFxkKyl8KFxcXFxcXFxcZCspKVtFZV17MX0oKC0oXFxcXFxcXFxkKykpfChcXFxcXFxcXGQrKSkpJFxcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiaWdcXFwiKTtcXG4gICAgICAgICAgICByZXN1bHQgPSByZWdFeHAuZXhlYyhudW1TdHIpO1xcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICByZXNWYWx1ZSA9IHJlc3VsdFsyXTtcXG4gICAgICAgICAgICAgICAgcG93ZXIgPSByZXN1bHRbNV07XFxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IG51bGw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIGlmICghcmVzVmFsdWUgJiYgIXBvd2VyKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgZG90SW5kZXggPSByZXNWYWx1ZS5pbmRleE9mKFxcXCIuXFxcIikgPT0gLTEgPyAwIDogcmVzVmFsdWUuaW5kZXhPZihcXFwiLlxcXCIpO1xcbiAgICAgICAgICAgIHJlc1ZhbHVlID0gcmVzVmFsdWUucmVwbGFjZShcXFwiLlxcXCIsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICByZXNBcnIgPSByZXNWYWx1ZS5zcGxpdChcXFwiXFxcIik7XFxuICAgICAgICAgICAgaWYgKE51bWJlcihwb3dlcikgPj0gMCkge1xcbiAgICAgICAgICAgICAgICB2YXIgc3VicmVzID0gcmVzVmFsdWUuc3Vic3RyKGRvdEluZGV4KTtcXG4gICAgICAgICAgICAgICAgcG93ZXIgPSBOdW1iZXIocG93ZXIpO1xcbiAgICAgICAgICAgICAgICAvL+W5guaVsOWkp+S6juWwj+aVsOeCueWQjumdoueahOaVsOWtl+S9jeaVsOaXtu+8jOWQjumdouWKoDBcXG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gcG93ZXIgLSBzdWJyZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgICAgICAgICAgIHJlc0Fyci5wdXNoKFxcXCIwXFxcIik7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgaWYgKHBvd2VyIC0gc3VicmVzLmxlbmd0aCA8IDApIHtcXG4gICAgICAgICAgICAgICAgICAgIHJlc0Fyci5zcGxpY2UoZG90SW5kZXggKyBwb3dlciwgMCwgXFxcIi5cXFwiKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHBvd2VyID0gcG93ZXIucmVwbGFjZShcXFwiLVxcXCIsIFxcXCJcXFwiKTtcXG4gICAgICAgICAgICAgICAgcG93ZXIgPSBOdW1iZXIocG93ZXIpO1xcbiAgICAgICAgICAgICAgICAvL+W5guaVsOWkp+S6juetieS6jiDlsI/mlbDngrnnmoRpbmRleOS9jee9riwg5YmN6Z2i5YqgMFxcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBvd2VyIC0gZG90SW5kZXg7IGkrKykge1xcbiAgICAgICAgICAgICAgICAgICAgcmVzQXJyLnVuc2hpZnQoXFxcIjBcXFwiKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB2YXIgbiA9IHBvd2VyIC0gZG90SW5kZXggPj0gMCA/IDEgOiAgLSAocG93ZXIgLSBkb3RJbmRleCk7XFxuICAgICAgICAgICAgICAgIHJlc0Fyci5zcGxpY2UobiwgMCwgXFxcIi5cXFwiKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgICByZXNWYWx1ZSA9IHJlc0Fyci5qb2luKFxcXCJcXFwiKTtcXG5cXG4gICAgICAgIHJldHVybiBzeW0gKyByZXNWYWx1ZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHJldHVybiBudW1fc3RyO1xcbiAgICB9XFxufVxcblxcbi8qKuS7jue9keermeebtOaOpeaJkueahGpz5Luj56CBXFxu5p2l6Ieq5bCR5pWw5rS+XFxuKiovXFxuZnVuY3Rpb24gZ2V0VGltZSh0KSB7XFxuICAgIHZhciBlID0gbnVsbCxcXG4gICAgciA9IG51bGw7XFxuICAgIGlmICgwID09PSB0ICYmIChlID0gMCwgciA9IHZvaWQgMCksIDEgPT09IHQpIHtcXG4gICAgICAgIHZhciBuID0gcGFyc2VJbnQoKERhdGUubm93KCkgLSA4NjRlNSkgLyAxZTMpO1xcbiAgICAgICAgZSA9IG4sXFxuICAgICAgICByID0gdm9pZCAwXFxuICAgIH1cXG4gICAgaWYgKDIgPT09IHQpIHtcXG4gICAgICAgIHZhciBhID0gcGFyc2VJbnQoKERhdGUubm93KCkgLSA2MDQ4ZTUpIC8gMWUzKTtcXG4gICAgICAgIGUgPSBhLFxcbiAgICAgICAgciA9IHZvaWQgMFxcbiAgICB9XFxuICAgIGlmICgzID09PSB0KSB7XFxuICAgICAgICB2YXIgaSA9IHBhcnNlSW50KChEYXRlLm5vdygpIC0gMjU5MmU2KSAvIDFlMyk7XFxuICAgICAgICBlID0gaSxcXG4gICAgICAgIHIgPSB2b2lkIDBcXG4gICAgfVxcbiAgICBpZiAoNCA9PT0gdCkge1xcbiAgICAgICAgLy806KGo56S66Ieq5a6a5LmJ5LqL5Lu277yM5rKh6YKj5LmI6Zey77yM5LiN5YaZXFxuICAgICAgICAvKip2YXIgcyA9IHBhcnNlSW50KG5ldyBEYXRlKHRoaXMuY3VzdG9tUmFuZ2VbMF0pLmdldFRpbWUoKSAvIDFlMyksXFxuICAgICAgICBvID0gcGFyc2VJbnQobmV3IERhdGUodGhpcy5jdXN0b21SYW5nZVsxXSkuZ2V0VGltZSgpIC8gMWUzKTtcXG4gICAgICAgIGUgPSBzLFxcbiAgICAgICAgciA9IG8qKi9cXG4gICAgfVxcbiAgICBpZiAoNSA9PT0gdCkge1xcbiAgICAgICAgdmFyIGMgPSBwYXJzZUludCgoRGF0ZS5ub3coKSAtIDMxNTM2ZTYpIC8gMWUzKTtcXG4gICAgICAgIGUgPSBjLFxcbiAgICAgICAgciA9IHZvaWQgMFxcbiAgICB9XFxuICAgIHJldHVybiB7XFxuICAgICAgICBzdGltZTogZSxcXG4gICAgICAgIGV0aW1lOiByXFxuICAgIH1cXG59XFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8xX3ZlcnRpY2FsX3BpY1wiLFwibmFtZVwiOlwi5Yib5L2c6ICFXCIsXCJwYXRoXCI6XCJhdWh0b3IuaHRtbFwiLFwicnVsZVwiOlwianM6XFxuYXV0aG9yTmFtZSA9IE1ZX1BBUkFNUy50aXRsZTtcXG5hdXRob3JBdmF0YXIgPSBNWV9QQVJBTVMuaW1nO1xcbnVJZCA9IE1ZX1BBUkFNUy51SWQ7XFxuc2V0UGFnZVRpdGxlKGF1dGhvck5hbWUpO1xcbmxldCBwYWdlID0gTVlfUEFHRSA9PSAxID8gMCA6IChNWV9QQUdFIC0gMSkgKiAxMDtcXG5ldmFsKEpTT04ucGFyc2UoZmV0Y2goXFxcImhpa2VyOi8vcGFnZS90aW1lLmh0bWxcXFwiKSkucnVsZSlcXG5NWV9VUkwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vYXBpL3YxL2FydGljbGUvdXNlci9wdWJsaWMvcGFnZS9nZXQ/bGltaXQ9MTAmb2Zmc2V0PVxcXCIgKyBwYWdlICsgXFxcIiZjcmVhdGVkX2F0PVxcXCIgKyB0b29sTnVtYmVyKChEYXRlLnBhcnNlKG5ldyBEYXRlKCkpIC8gMTAwMCkpICsgXFxcIiZzbHVnPVxcXCIgKyB1SWQ7XFxubGV0IGh0bWwgPSBmZXRjaChNWV9VUkwsIHt9KTtcXG52YXIgZCA9IFtdO1xcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiAnY2FyZF9waWNfMydcXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBhdXRob3JOYW1lLFxcbiAgICBpbWc6IGF1dGhvckF2YXRhcixcXG4gICAgY29sX3R5cGU6ICdjYXJkX3BpY18zJ1xcbn0pXFxuZC5wdXNoKHtcXG4gICAgY29sX3R5cGU6ICdjYXJkX3BpY18zJ1xcbn0pXFxudmFyIGpzb24gPSBKU09OLnBhcnNlKGh0bWwpO1xcbmZvciAodmFyIGkgPSAwOyBpIDwganNvbi5kYXRhLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBqID0ganNvbi5kYXRhW2ldO1xcbiAgICBkLnB1c2goe1xcbiAgICAgICAgdGl0bGU6IGouYXV0aG9yLm5pY2tuYW1lICsgJyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxzbWFsbD48Zm9udCBjb2xvcj1cXFwicmVkXFxcIj4nICsgZ2V0RGF0ZURpZmYobmV3IERhdGUoTnVtYmVyKGoubW9kaWZ5X3RpbWUpICogMTAwMCkuRm9ybWF0KFxcXCJ5eXl5LU1NLWRkIGhoOm1tOnNzXFxcIikpICsgJzwvZm9udD48L3NtYWxsPicgKyAoai5mcmVlID09IHRydWUgPyBcXFwiIFxcXCIgOiBcXFwiPGZvbnQgY29sb3I9JyNGRjk5MDAnPiDCtyDku5jotLk8L2ZvbnQ+XFxcIiksXFxuICAgICAgICBpbWc6IC9odHRwLy50ZXN0KGouYXV0aG9yLmF2YXRhcikgPyBqLmF1dGhvci5hdmF0YXIgOiAnaHR0cHM6Ly9jZG4uc3NwYWkuY29tLycgKyBqLmF1dGhvci5hdmF0YXIsXFxuICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxuICAgICAgICB1cmw6IFxcXCJoaWtlcjovL3BhZ2UvYXVodG9yLmh0bWw/cGFnZT1meXBhZ2VcXFwiLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICB1SWQ6IGouYXV0aG9yLnNsdWcsXFxuICAgICAgICAgICAgdGl0bGU6IGouYXV0aG9yLm5pY2tuYW1lLFxcbiAgICAgICAgICAgIGltZzogJ2h0dHBzOi8vY2RuLnNzcGFpLmNvbS8nICsgai5hdXRob3IuYXZhdGFyLFxcbiAgICAgICAgfVxcbiAgICB9KTtcXG4gICAgZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBqLnRpdGxlLFxcbiAgICAgICAgcGljX3VybDogJ2h0dHBzOi8vY2RuLnNzcGFpLmNvbS8nICsgai5iYW5uZXIsXFxuICAgICAgICBkZXNjOiAn4oCc4oCc4oCd4oCdJyArICc8c21hbGw+JyArIGoudmlld19jb3VudCArICfwn5GBXFxcXHRcXFxcdCcgKyBqLmxpa2VfY291bnQgKyAn8J+RjfCfj7tcXFxcdFxcXFx0JyArIGouY29tbWVudF9jb3VudCArICfwn5OpXFxcXHRcXFxcdCcgKyAnPGJyPjxzcGFuIHN0eWxlPVxcXCJjb2xvcjpibGFjaztcXFwiPicgKyBqLnN1bW1hcnkgKyAnPC9zcGFuPjwvc21hbGw+JyxcXG4gICAgICAgIHVybDogJChcXFwiaHR0cHM6Ly9zc3BhaS5jb20vcG9zdC9cXFwiICsgai5pZCArICcvJyArIFxcXCIjZ2FtZVRoZW1lI1xcXCIpLnJ1bGUoKCkgPT4ge1xcbiAgICAgICAgICAgIHNldFJlc3VsdChbe1xcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcIng1X3dlYnZpZXdfc2luZ2xlXFxcIixcXG4gICAgICAgICAgICAgICAgdXJsOiBNWV9VUkwsXFxuICAgICAgICAgICAgICAgIGRlc2M6IFxcXCJmbG9hdCYmMTAwJVxcXCIsXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICBjYW5CYWNrOiB0cnVlXFxuICAgICAgICAgICAgICAgIH0sXFxuICAgICAgICAgICAgfV0pXFxuICAgICAgICB9KSxcXG5cXG4gICAgfSk7XFxufVxcbnNldFJlc3VsdChkKTtcIn0se1wibmFtZVwiOlwi5Z6D5Zy+XCIsXCJwYXRoXCI6XCJsYWppXCIsXCJydWxlXCI6XCJNWV9VUkwgPSBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vc2VhcmNoL3Bvc3QvXFxcIiArIHNlYXJjaG47XFxuaHRtbCA9IGZldGNoUEMoTVlfVVJMLCB7fSk7XFxubGV0IFhfS2FsYXNlYXJjaF9LZXkgPSAnJztcXG5sZXQgWF9LYWxhc2VhcmNoX0lkID0gJyc7XFxuaWYgKGh0bWwgIT0gJycgJiYgIS88aDE+NDAzIEZvcmJpZGRlbjxcXFxcL2gxPi8udGVzdChodG1sKSkge1xcbiAgICBsZXQgc3RhdGljX2pzX2FwcF9qc191cmwgPSBcXFwiXFxcIjtcXG4gICAgdHJ5IHtcXG4gICAgICAgIHN0YXRpY19qc19hcHBfanNfdXJsID0gaHRtbC5tYXRjaCgvKGh0dHBzOlxcXFwvXFxcXC9zdGF0aWNcXFxcLnNzcGFpXFxcXC5jb21cXFxcL3N0YXRpY1xcXFwvanNcXFxcL2FwcC4qP1xcXFwuanMpLylbMV07XFxuICAgIH0gY2F0Y2ggKGUpIHt9XFxuICAgIGlmIChzdGF0aWNfanNfYXBwX2pzX3VybCAhPSAnJykge1xcbiAgICAgICAgbG9nKHN0YXRpY19qc19hcHBfanNfdXJsKTtcXG4gICAgICAgIHN0YXRpY19qc19hcHBfanNfaHRtbCA9IGZldGNoKHN0YXRpY19qc19hcHBfanNfdXJsLCB7XFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJSZWZlcmVyXFxcIjogXFxcImh0dHBzOi8vc3NwYWkuY29tL1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICBcXFwiQ29va2llXFxcIjogXFxcInNzcGFpX2Nyb3NzX3Rva2VuPWxvZ291dFxcXCIsXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgIGlmIChzdGF0aWNfanNfYXBwX2pzX2h0bWwgIT0gJycgJiYgIS88aDE+NDAzIEZvcmJpZGRlbjxcXFxcL2gxPi8udGVzdChzdGF0aWNfanNfYXBwX2pzX2h0bWwpKSB7XFxuICAgICAgICAgICAgbGV0IGpzX3NlYXJjaF9wb3N0X3ZpZXdfdXJsID0gXFxcIlxcXCI7XFxuICAgICAgICAgICAgbGV0IGpzX3NlYXJjaF9wb3N0X3ZpZXdfdXJsX2xpc3QgPSBbXTtcXG4gICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICBqc19zZWFyY2hfcG9zdF92aWV3X3VybF9saXN0ID0gc3RhdGljX2pzX2FwcF9qc19odG1sLm1hdGNoKC9cXFwic2VhcmNoLXBvc3Qtdmlld1xcXCI6XFxcIigoPyFzZWFyY2gtcG9zdC12aWV3KS4qPylcXFwiLC9nKS5maWx0ZXIoZnVuY3Rpb24gKGN1cnJlbnRWYWx1ZSwgaW5kZXgsIGFycmF5KSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKC9zZWFyY2gtcG9zdC12aWV3Ly50ZXN0KGN1cnJlbnRWYWx1ZSkpIHsgLy8ubWF0Y2goL1xcXCJzZWFyY2gtcG9zdC12aWV3XFxcIjpcXFwiKC4qPylcXFwiLC8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgICAgIGlmIChqc19zZWFyY2hfcG9zdF92aWV3X3VybF9saXN0Lmxlbmd0aCAhPT0gMCkge1xcbiAgICAgICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgICAgICAganNfc2VhcmNoX3Bvc3Rfdmlld191cmxfbGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzX3NlYXJjaF9wb3N0X3ZpZXdfdXJsID0gaXRlbS5tYXRjaCgvXFxcInNlYXJjaC1wb3N0LXZpZXdcXFwiOlxcXCIoLio/KVxcXCIsLylbMV07XFxuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNfc2VhcmNoX3Bvc3Rfdmlld191cmwgIT09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzX3NlYXJjaF9wb3N0X3ZpZXdfdXJsID0gXFxcImh0dHBzOi8vc3RhdGljLnNzcGFpLmNvbS9zdGF0aWMvanMvc2VhcmNoLXBvc3Qtdmlldy5cXFwiICsganNfc2VhcmNoX3Bvc3Rfdmlld191cmwgKyBcXFwiLmpzXFxcIjtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganNfc2VhcmNoX3Bvc3Rfdmlld19odG1sID0gZmV0Y2hQQyhqc19zZWFyY2hfcG9zdF92aWV3X3VybCwge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlJlZmVyZXJcXFwiOiBcXFwiaHR0cHM6Ly9zc3BhaS5jb20vXFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIkNvb2tpZVxcXCI6IFxcXCJzc3BhaV9jcm9zc190b2tlbj1sb2dvdXRcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNfc2VhcmNoX3Bvc3Rfdmlld19odG1sICE9IFxcXCJcXFwiICYmICEvPGgxPjQwMyBGb3JiaWRkZW48XFxcXC9oMT4vLnRlc3QoanNfc2VhcmNoX3Bvc3Rfdmlld19odG1sKSkge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYX0thbGFzZWFyY2hfS2V5ID0ganNfc2VhcmNoX3Bvc3Rfdmlld19odG1sLm1hdGNoKC9cXFwiWC1LYWxhc2VhcmNoLUtleVxcXCI6XFxcIiguKj8pXFxcIi8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhfS2FsYXNlYXJjaF9JZCA9IGpzX3NlYXJjaF9wb3N0X3ZpZXdfaHRtbC5tYXRjaCgvXFxcIlgtS2FsYXNlYXJjaC1JZFxcXCI6XFxcIiguKj8pXFxcIi8pWzFdO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhYX0thbGFzZWFyY2hfS2V5KTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZyhYX0thbGFzZWFyY2hfSWQpO1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFhfS2FsYXNlYXJjaF9LZXkgIT0gJycgJiYgWF9LYWxhc2VhcmNoX0lkICE9IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgICAgIH0pO1xcblxcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgICAgICAgICAgICAgICAgLy8g6Lez5Ye65b6q546v5ZCO6KaB5YGa55qE5pON5L2cXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgaWYgKFhfS2FsYXNlYXJjaF9LZXkgIT0gJycgJiYgWF9LYWxhc2VhcmNoX0lkICE9IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgICAgICAgICBodG1sID0gZmV0Y2hQQygnaHR0cHM6Ly9zc3BhaS5jb20va2FsYXNlYXJjaC92MS9pbmRleGVzL2M2YzI2ODcxLTg4MTctNGZmYS04NTQwLWM0N2ZlYmM2MjRlMi9xdWVyeScsIHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIkNvbnRlbnQtVHlwZVxcXCI6IFxcXCJhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLThcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlgtS2FsYXNlYXJjaC1JZFxcXCI6IFxcXCI2NDA3MDQ0Mi0yNzE1LTQ2M2YtODAzZi05ZDhiNzI3ODY1YzRcXFwiLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIlgtS2FsYXNlYXJjaC1LZXlcXFwiOiBcXFwiMGI4OTg0YWEtODIzMC00MGE4LWI0NTYtNzAxOGE1ZTc4ODg4XFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcIm1ldGhvZFxcXCI6IFxcXCJQT1NUXFxcIixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImJvZHlcXFwiOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwicXVlcnlcXFwiOiBzZWFyY2huLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcInBhZ2VcXFwiOiBNWV9QQUdFLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFxcImhpdHNQZXJQYWdlXFxcIjogMTAsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwic2VhcmNoYWJsZUZpZWxkc1xcXCI6IFtcXFwidGl0bGVcXFwiLCBcXFwiYm9keVxcXCIsIFxcXCJzdW1tYXJ5XFxcIiwgXFxcImFydGljbGVzXFxcIiwgXFxcImtleXdvcmRzXFxcIl0sXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFwiaGlnaGxpZ2h0RmllbGRzXFxcIjogW1xcXCJ0aXRsZVxcXCIsIFxcXCJib2R5XFxcIiwgXFxcInN1bW1hcnlcXFwiLCBcXFwiYXJ0aWNsZXNcXFwiXSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXCJmaWx0ZXJzXFxcIjogXFxcImZyZWU9MVxcXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICAgICAgICAgIGpzb24gPSB7fTtcXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IEpTT04ucGFyc2UoaHRtbCk7XFxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcbiAgICAgICAgICAgICAgICAgICAganNvbi5oaXRzLmZvckVhY2goaiA9PiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgZC5wdXNoKHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGouc291cmNlLnRpdGxlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWNfdXJsOiBcXFwiaHR0cHM6Ly9jZG4uc3NwYWkuY29tL1xcXCIgKyBqLnNvdXJjZS5iYW5uZXIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZGVzYzogZ2V0RGF0ZURpZmYobmV3IERhdGUoTnVtYmVyKGouc291cmNlLmRhdGUpICogMTAwMCkuRm9ybWF0KFxcXCJ5eXl5LU1NLWRkIGhoOm1tOnNzXFxcIikpLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiAnPHNtYWxsPicgKyBnZXREYXRlRGlmZihuZXcgRGF0ZShOdW1iZXIoai5zb3VyY2UuZGF0ZSkgKiAxMDAwKS5Gb3JtYXQoXFxcInl5eXktTU0tZGQgaGg6bW06c3NcXFwiKSkgKyAnPC9zbWFsbD4nICsgJ+KAnOKAnOKAneKAnScgKyAnXFxcXG48c21hbGw+JyArIGouc291cmNlLnN1bW1hcnkgKyAnPC9zbWFsbD4nLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IFxcXCJodHRwczovL3NzcGFpLmNvbS9wb3N0L1xcXCIgKyBqLnNvdXJjZS5pZCArIFxcXCIjZ2FtZVRoZW1lI1xcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XFxuICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwifSx7XCJuYW1lXCI6XCJKU+W4uOmHj1wiLFwicGF0aFwiOlwiY29uc3RhbnQuaHRtbFwiLFwicnVsZVwiOlwiJC5leHBvcnRzID0ge1xcbiAgICBjdXJyZW50UmFuZ2U6IHtcXG4gICAgICAgIGxhYmVsOiBcXFwi5LiA5bm05YaFXFxcIixcXG4gICAgICAgIHZhbHVlOiA1XFxuICAgIH0sXFxuICAgIHJhbmdlOiBbe1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi5LiA5bm05YaFXFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogNVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi5LiN6ZmQ5pe26Ze0XFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogMFxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi5LiA5aSp5YaFXFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogMVxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi5LiA5ZGo5YaFXFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogMlxcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi5LiA5Liq5pyI5YaFXFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogM1xcbiAgICAgICAgfSwge1xcbiAgICAgICAgICAgIGxhYmVsOiBcXFwi6Ieq5a6a5LmJ5pe26Ze0Li4uXFxcIixcXG4gICAgICAgICAgICB2YWx1ZTogNFxcbiAgICAgICAgfVxcbiAgICBdLFxcbn1cIn1dIiwiaWNvbiI6Imh0dHBzOi8vaW1nMi5iYWlkdS5jb20vaXQvdT03Nzc1ODAxMTUsMTg4Mjg4ODY5MCZmbT0yNTMmZm10PWF1dG8mYXBwPTEzOCZmPUpQRz93PTUwMCZoPTUwMCIsInByb3h5IjoiIn0=
Add Comment
Please, Sign In to add comment