Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@迅雷@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi6L+F6Zu3IiwiYXV0aG9yIjoiemhhbyIsInVybCI6Imhpa2VyOi8vZW1wdHkjIyIsInZlcnNpb24iOjEsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoiYWxsIiwiY2xhc3NfdXJsIjoiIiwiYXJlYV9uYW1lIjoiIiwiYXJlYV91cmwiOiIiLCJzb3J0X25hbWUiOiIiLCJ5ZWFyX25hbWUiOiIiLCJzb3J0X3VybCI6IiIsInllYXJfdXJsIjoiIiwiZmluZF9ydWxlIjoianM6XG5cbmNvbnN0IHtcbiAgICByZXExLFxuICAgIHl1bnBhbjEsXG4gICAgYnl0ZXNUb1NpemVcbn0gPSAkLnJlcXVpcmUoXCJoYW5zaHVcIilcbmNvbnN0IGQgPSBbXTtcbmxldCBkZXNjMTtcblxuaWYgKGdldEl0ZW0oXCJtb2JpbGVcIikgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGxldCBodG1sMTtcbiAgICBodG1sMSA9IHJlcTEoXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9hYm91dD93aXRoX3F1b3Rhcz1DUkVBVEVfT0ZGTElORV9UQVNLX0xJTUlUXCIsIFwidW5kZWZpbmVkXCIpO1xuICAgIGlmIChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbiA9PSBcIuW4kOWPt+iupOivgeWksei0pe+8jOivt+mHjeaWsOeZu+W9lVwiKSBodG1sMSA9IHJlcTEoXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9hYm91dD93aXRoX3F1b3Rhcz1DUkVBVEVfT0ZGTElORV9UQVNLX0xJTUlUXCIsIFwidW5kZWZpbmVkXCIpO1xuICAgIGlmICghaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24pIGRlc2MxID0gXCLlt7Lkvb/nlKhcIitieXRlc1RvU2l6ZShodG1sMS5xdW90YS51c2FnZSkrXCIvXCIrXCLlhbFcIitieXRlc1RvU2l6ZShodG1sMS5xdW90YS5saW1pdCk7XG59XG5cbmQucHVzaCh7XG4gICAgdGl0bGU6IFwi6LSm5Y+3566h55CGXCIsXG4gICAgZGVzYzogZGVzYzEgfHwgXCLmnKrnmbvlvZVcIixcbiAgICBpbWc6IFwiaHR0cHM6Ly9pY2RuLmJpbm10LmNjLzI1MDUvNjgxOTZkMWM4ZTk5My5wbmdcIixcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XG4gICAgICAgIHJldHVybiAkKFtcIueZu+W9lVwiLCBcIumAgOWHulwiXSkuc2VsZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbnB1dCA9PT0gXCLnmbvlvZVcIikgcmV0dXJuIFwiaGlrZXI6Ly9wYWdlL2RlbmdsdSNub1JlY29yZEhpc3RvcnkjI25vSGlzdG9yeSNcIjtcbiAgICAgICAgICAgIGlmIChpbnB1dCA9PT0gXCLpgIDlh7pcIikge1xuICAgICAgICAgICAgICAgIGxldCBrZXlzID0gW1wibW9iaWxlXCIsIFwicGFzc1dvcmRcIiwgXCJzZXNzaW9uSURcIiwgXCJ1c2VyX2lkXCIsIFwiYXV0aG9yaXphdGlvblwiLCBcInJlZnJlc2hfdG9rZW5cIl07XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaXQgb2Yga2V5cykge1xuICAgICAgICAgICAgICAgICAgICBjbGVhckl0ZW0oaXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KSxcbiAgICBjb2xfdHlwZTogXCJhdmF0YXJcIlxufSk7XG5kLnB1c2goe1xuICAgIGNvbF90eXBlOiBcImxpbmVfYmxhbmtcIlxufSlcblxuaWYgKGdldEl0ZW0oXCJtb2JpbGVcIikgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGQucHVzaCh7XG4gICAgICAgIHRpdGxlOiBcIvCflI1cIixcbiAgICAgICAgZGVzYzogXCLor7fovpPlhaXpk77mjqUv56OB5YqbXCIsXG4gICAgICAgIHVybDogJC50b1N0cmluZygoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gJC5yZXF1aXJlKFwiaGFuc2h1XCIpLnJ1bGUyKGlucHV0KTtcbiAgICAgICAgfSksXG4gICAgICAgIGNvbF90eXBlOiBcImlucHV0XCIsXG4gICAgICAgIGV4dHJhOiB7XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKFwic2VhcmNoX3dvcmRcIilcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHl1bnBhbjEoZCk7XG59XG5cbnNldFJlc3VsdChkKTsiLCJzZWFyY2hfdXJsIjoiIiwiZ3JvdXAiOiIjIiwic2VhcmNoRmluZCI6IiIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6IiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6IiIsInBhZ2VzIjoiW3tcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCLlh73mlbBcIixcInBhdGhcIjpcImhhbnNodVwiLFwicnVsZVwiOlwiY29uc3QgaGVhZGVyMSA9IHtcXG4gICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiQW5kcm9pZFxcXCIsXFxuICAgIFxcXCJ4LWRldmljZS1pZFxcXCI6IFxcXCJiNzFhOTIzZWIwZTIyMzk4NDI1OTlhM2MwMTZiNDA5OFxcXCJcXG59XFxuXFxuLy8gR0VU6K+35rGCXFxuZnVuY3Rpb24gcmVxMSh1cmwxLCBoZWFkZXIxKSB7XFxuICAgIGxldCBoZWFkZXJcXG4gICAgaWYgKGhlYWRlcjEgPT0gXFxcInVuZGVmaW5lZFxcXCIpIHtcXG4gICAgICAgIGhlYWRlciA9IHtcXG4gICAgICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IFxcXCJBbmRyb2lkXFxcIixcXG4gICAgICAgICAgICBcXFwieC1kZXZpY2UtaWRcXFwiOiBcXFwiYjcxYTkyM2ViMGUyMjM5ODQyNTk5YTNjMDE2YjQwOThcXFwiLFxcbiAgICAgICAgICAgIFxcXCJhdXRob3JpemF0aW9uXFxcIjogZ2V0SXRlbShcXFwiYXV0aG9yaXphdGlvblxcXCIsIFxcXCJcXFwiKSxcXG4gICAgICAgICAgICBcXFwieC1jYXB0Y2hhLXRva2VuXFxcIjogZ2V0TXlWYXIoXFxcImNhcHRjaGFfdG9rZW5cXFwiLCBcXFwiXFxcIilcXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIGhlYWRlciA9IGhlYWRlcjFcXG4gICAgfVxcbiAgICBsZXQgaHRtbDEgPSBKU09OLnBhcnNlKHJlcXVlc3QodXJsMSwge1xcbiAgICAgICAgaGVhZGVyczogaGVhZGVyLFxcbiAgICAgICAgbWV0aG9kOiBcXFwiR0VUXFxcIlxcbiAgICB9KSk7IC8vbG9nKGh0bWwxKVxcbiAgICBpZiAoZ2V0SXRlbShcXFwiYXV0aG9yaXphdGlvblxcXCIpID09IFxcXCJ1bmRlZmluZWRcXFwiKSBzaWduaW4oKVxcbiAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24gPT0gXFxcIuW4kOWPt+iupOivgeWksei0pe+8jOivt+mHjeaWsOeZu+W9lVxcXCIpIHNpZ25pbigpXFxuICAgIGlmIChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbiA9PSBcXFwi6aqM6K+B56CB5peg5pWIXFxcIikgY2FwdGNoYSgpXFxuICAgIHJldHVybiBodG1sMVxcbn1cXG5cXG4vLyBQT1NU6K+35rGCXFxuZnVuY3Rpb24gcmVxMih1cmwxLCBoZWFkZXIxLCBib2R5MSkge1xcbiAgICBsZXQgaGVhZGVyXFxuICAgIGlmIChoZWFkZXIxID09IFxcXCJ1bmRlZmluZWRcXFwiKSB7XFxuICAgICAgICBoZWFkZXIgPSB7XFxuICAgICAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiQW5kcm9pZFxcXCIsXFxuICAgICAgICAgICAgXFxcIngtZGV2aWNlLWlkXFxcIjogXFxcImI3MWE5MjNlYjBlMjIzOTg0MjU5OWEzYzAxNmI0MDk4XFxcIixcXG4gICAgICAgICAgICBcXFwiYXV0aG9yaXphdGlvblxcXCI6IGdldEl0ZW0oXFxcImF1dGhvcml6YXRpb25cXFwiLCBcXFwiXFxcIiksXFxuICAgICAgICAgICAgXFxcIngtY2FwdGNoYS10b2tlblxcXCI6IGdldE15VmFyKFxcXCJjYXB0Y2hhX3Rva2VuXFxcIiwgXFxcIlxcXCIpXFxuICAgICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBoZWFkZXIgPSBoZWFkZXIxXFxuICAgIH1cXG4gICAgbGV0IGh0bWwxID0gSlNPTi5wYXJzZShyZXF1ZXN0KHVybDEsIHtcXG4gICAgICAgIGhlYWRlcnM6IGhlYWRlcixcXG4gICAgICAgIGJvZHk6IGJvZHkxLFxcbiAgICAgICAgbWV0aG9kOiBcXFwiUE9TVFxcXCJcXG4gICAgfSkpOyAvL2xvZyhodG1sMSlcXG4gICAgaWYgKGh0bWwxLmVycm9yID09IFxcXCJjYXB0Y2hhX2ludmFsaWRcXFwiKSBjYXB0Y2hhKClcXG4gICAgcmV0dXJuIGh0bWwxXFxufVxcblxcbi8vIOiOt+WPluefreS/oemqjOivgeeggeivt+axglxcbmZ1bmN0aW9uIHNlbmRzbXMoKSB7XFxuICAgIGxldCBib2R5MSA9IEpTT04uc3RyaW5naWZ5KHtcXFwicHJvdG9jb2xWZXJzaW9uXFxcIjpcXFwiMzAxXFxcIixcXFwic2VxdWVuY2VOb1xcXCI6XFxcIjEwMDAwMDFcXFwiLFxcXCJwbGF0Zm9ybVZlcnNpb25cXFwiOlxcXCIxMFxcXCIsXFxcImlzQ29tcHJlc3NlZFxcXCI6XFxcIjBcXFwiLFxcXCJhcHBpZFxcXCI6XFxcIjQwXFxcIixcXFwiY2xpZW50VmVyc2lvblxcXCI6XFxcIjguMDMuMC45MDY3XFxcIixcXFwicGVlcklEXFxcIjpcXFwiYzliMDc2YTQ0NjUxNzk2OWRmZjYzOGNkMzdmYTlmZjFcXFwiLFxcXCJhcHBOYW1lXFxcIjpcXFwiQU5EUk9JRC1jb20ueHVubGVpLmRvd25sb2FkcHJvdmlkZXJcXFwiLFxcXCJzZGtWZXJzaW9uXFxcIjpcXFwiMjMxNTAwXFxcIixcXFwiZGV2aWNlc2lnblxcXCI6XFxcImRpdjEwMS5iNzFhOTIzZWIwZTIyMzk4NDI1OTlhM2MwMTZiNDA5ODYxMmY2Y2Y2ZDZlOWZkMTkyNTg0NWVjNTkyODU3MTZjXFxcIixcXFwibmV0V29ya1R5cGVcXFwiOlxcXCIyR1xcXCIsXFxcInByb3ZpZGVyTmFtZVxcXCI6XFxcIk5PTkVcXFwiLFxcXCJkZXZpY2VNb2RlbFxcXCI6XFxcIjIyMDIxMjExUkNcXFwiLFxcXCJkZXZpY2VOYW1lXFxcIjpcXFwiWGlhb21pXzIyMDIxMjExUmNcXFwiLFxcXCJPU1ZlcnNpb25cXFwiOlxcXCIxMlxcXCIsXFxcImNyZWRpdGtleVxcXCI6XFxcIlxcXCIsXFxcImhsXFxcIjpcXFwiemgtQ05cXFwiLFxcXCJtb2JpbGVcXFwiOmdldEl0ZW0oXFxcIm1vYmlsZVxcXCIpLFxcXCJyZWdpc3RlclxcXCI6XFxcIjBcXFwifSlcXG4gICAgbGV0IGh0bWwxID0gcmVxMihcXFwiaHR0cHM6Ly94bHVzZXItc3NsLnh1bmxlaS5jb20veGx1c2VyLmNvcmUubG9naW4vdjMvc2VuZHNtc1xcXCIsIHt9LCBib2R5MSk7IC8vbG9nKGh0bWwxKVxcbiAgICBpZiAoaHRtbDEuZXJyb3JDb2RlID09IFxcXCIwXFxcIikge1xcbiAgICAgICAgdG9hc3QoXFxcIumqjOivgeeggeWPkemAgeaIkOWKn1xcXCIpXFxuICAgICAgICBwdXRNeVZhcihcXFwiY3JlZGl0a2V5XFxcIiwgaHRtbDEuY3JlZGl0a2V5KVxcbiAgICAgICAgcHV0TXlWYXIoXFxcImRldmljZWlkXFxcIiwgaHRtbDEuZGV2aWNlaWQpXFxuICAgICAgICBwdXRNeVZhcihcXFwidG9rZW5cXFwiLCBodG1sMS50b2tlbilcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRvYXN0KGh0bWwxLmVycm9yRGVzYylcXG4gICAgfVxcbn1cXG5cXG4vLyDlj5HpgIHpqozor4HnoIHnmbvlvZXor7fmsYJcXG5mdW5jdGlvbiBzbXNsb2dpbigpIHtcXG4gICAgbGV0IGJvZHkxID0gSlNPTi5zdHJpbmdpZnkoe1xcXCJwcm90b2NvbFZlcnNpb25cXFwiOlxcXCIzMDFcXFwiLFxcXCJzZXF1ZW5jZU5vXFxcIjpcXFwiMTAwMDAwMlxcXCIsXFxcInBsYXRmb3JtVmVyc2lvblxcXCI6XFxcIjEwXFxcIixcXFwiaXNDb21wcmVzc2VkXFxcIjpcXFwiMFxcXCIsXFxcImFwcGlkXFxcIjpcXFwiNDBcXFwiLFxcXCJjbGllbnRWZXJzaW9uXFxcIjpcXFwiOC4wMy4wLjkwNjdcXFwiLFxcXCJwZWVySURcXFwiOlxcXCJjOWIwNzZhNDQ2NTE3OTY5ZGZmNjM4Y2QzN2ZhOWZmMVxcXCIsXFxcImFwcE5hbWVcXFwiOlxcXCJBTkRST0lELWNvbS54dW5sZWkuZG93bmxvYWRwcm92aWRlclxcXCIsXFxcInNka1ZlcnNpb25cXFwiOlxcXCIyMzE1MDBcXFwiLFxcXCJkZXZpY2VzaWduXFxcIjpnZXRNeVZhcihcXFwiZGV2aWNlaWRcXFwiKSxcXFwibmV0V29ya1R5cGVcXFwiOlxcXCIyR1xcXCIsXFxcInByb3ZpZGVyTmFtZVxcXCI6XFxcIk5PTkVcXFwiLFxcXCJkZXZpY2VNb2RlbFxcXCI6XFxcIjIyMDIxMjExUkNcXFwiLFxcXCJkZXZpY2VOYW1lXFxcIjpcXFwiWGlhb21pXzIyMDIxMjExUmNcXFwiLFxcXCJPU1ZlcnNpb25cXFwiOlxcXCIxMlxcXCIsXFxcImNyZWRpdGtleVxcXCI6Z2V0TXlWYXIoXFxcImNyZWRpdGtleVxcXCIpLFxcXCJobFxcXCI6XFxcInpoLUNOXFxcIixcXFwibW9iaWxlXFxcIjpnZXRJdGVtKFxcXCJtb2JpbGVcXFwiKSxcXFwic21zQ29kZVxcXCI6Z2V0TXlWYXIoXFxcInNtc0NvZGVcXFwiKSxcXFwidG9rZW5cXFwiOmdldE15VmFyKFxcXCJ0b2tlblxcXCIpLFxcXCJyZWdpc3RlclxcXCI6XFxcIjBcXFwifSlcXG4gICAgbGV0IGh0bWwxID0gcmVxMihcXFwiaHR0cHM6Ly94bHVzZXItc3NsLnh1bmxlaS5jb20veGx1c2VyLmNvcmUubG9naW4vdjMvc21zbG9naW5cXFwiLCB7fSwgYm9keTEpOyAvL2xvZyhodG1sMSlcXG4gICAgaWYgKGh0bWwxLmVycm9yQ29kZSA9PSBcXFwiMFxcXCIpIHtcXG4gICAgICAgIHRvYXN0KFxcXCLnmbvlvZXmiJDlip9cXFwiKVxcbiAgICAgICAgc2V0SXRlbShcXFwic2Vzc2lvbklEXFxcIiwgaHRtbDEuc2Vzc2lvbklEKVxcbiAgICAgICAgc2V0SXRlbShcXFwidXNlcl9pZFxcXCIsIGh0bWwxLnVzZXJJRClcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRvYXN0KGh0bWwxLmVycm9yRGVzYylcXG4gICAgfVxcbn1cXG5cXG4vLyDlj5HpgIHmiYvmnLrlj7flr4bnoIHnmbvlvZXor7fmsYJcXG5mdW5jdGlvbiBsb2dpbigpIHtcXG4gICAgbGV0IGJvZHkxID0gSlNPTi5zdHJpbmdpZnkoe1xcXCJwcm90b2NvbFZlcnNpb25cXFwiOlxcXCIzMDFcXFwiLFxcXCJzZXF1ZW5jZU5vXFxcIjpcXFwiMTAwMDAwMVxcXCIsXFxcInBsYXRmb3JtVmVyc2lvblxcXCI6XFxcIjEwXFxcIixcXFwiaXNDb21wcmVzc2VkXFxcIjpcXFwiMFxcXCIsXFxcImFwcGlkXFxcIjpcXFwiNDBcXFwiLFxcXCJjbGllbnRWZXJzaW9uXFxcIjpcXFwiOC4wMy4wLjkwNjdcXFwiLFxcXCJwZWVySURcXFwiOlxcXCJjOWIwNzZhNDQ2NTE3OTY5ZGZmNjM4Y2QzN2ZhOWZmMVxcXCIsXFxcImFwcE5hbWVcXFwiOlxcXCJBTkRST0lELWNvbS54dW5sZWkuZG93bmxvYWRwcm92aWRlclxcXCIsXFxcInNka1ZlcnNpb25cXFwiOlxcXCIyMzE1MDBcXFwiLFxcXCJkZXZpY2VzaWduXFxcIjpcXFwiZGl2MTAxLmI3MWE5MjNlYjBlMjIzOTg0MjU5OWEzYzAxNmI0MDk4NjEyZjZjZjZkNmU5ZmQxOTI1ODQ1ZWM1OTI4NTcxNmNcXFwiLFxcXCJuZXRXb3JrVHlwZVxcXCI6XFxcIjJHXFxcIixcXFwicHJvdmlkZXJOYW1lXFxcIjpcXFwiTk9ORVxcXCIsXFxcImRldmljZU1vZGVsXFxcIjpcXFwiMjIwMjEyMTFSQ1xcXCIsXFxcImRldmljZU5hbWVcXFwiOlxcXCJYaWFvbWlfMjIwMjEyMTFSY1xcXCIsXFxcIk9TVmVyc2lvblxcXCI6XFxcIjEyXFxcIixcXFwiY3JlZGl0a2V5XFxcIjpcXFwiXFxcIixcXFwiaGxcXFwiOlxcXCJ6aC1DTlxcXCIsXFxcInVzZXJOYW1lXFxcIjpnZXRJdGVtKFxcXCJtb2JpbGVcXFwiKSxcXFwicGFzc1dvcmRcXFwiOmdldEl0ZW0oXFxcInBhc3NXb3JkXFxcIiksXFxcInZlcmlmeUtleVxcXCI6XFxcIlxcXCIsXFxcInZlcmlmeUNvZGVcXFwiOlxcXCJcXFwiLFxcXCJpc01kNVB3ZFxcXCI6XFxcIjBcXFwifSlcXG4gICAgbGV0IGh0bWwxID0gcmVxMihcXFwiaHR0cHM6Ly94bHVzZXItc3NsLnh1bmxlaS5jb20veGx1c2VyLmNvcmUubG9naW4vdjMvbG9naW5cXFwiLCB7fSwgYm9keTEpOyAvL2xvZyhodG1sMSlcXG4gICAgaWYgKGh0bWwxLmVycm9yQ29kZSA9PSBcXFwiMFxcXCIpIHtcXG4gICAgICAgIHRvYXN0KFxcXCLnmbvlvZXmiJDlip9cXFwiKVxcbiAgICAgICAgc2V0SXRlbShcXFwic2Vzc2lvbklEXFxcIiwgaHRtbDEuc2Vzc2lvbklEKVxcbiAgICAgICAgc2V0SXRlbShcXFwidXNlcl9pZFxcXCIsIGh0bWwxLnVzZXJJRClcXG4gICAgfSBlbHNlIHtcXG4gICAgICAgIHRvYXN0KGh0bWwxLmVycm9yRGVzYylcXG4gICAgfVxcbn1cXG5cXG4vLyDojrflj5bor7fmsYLlpLRhdXRob3JpemF0aW9uXFxuZnVuY3Rpb24gc2lnbmluKCkge1xcbiAgICBsZXQgYm9keTEgPSBKU09OLnN0cmluZ2lmeSh7XFxcImNsaWVudF9pZFxcXCI6XFxcIlhwNnZzeHpfN0lZVncyQkJcXFwiLFxcXCJjbGllbnRfc2VjcmV0XFxcIjpcXFwiWHA2dnN5NHROOXRvVFZkTVNwb21WZFhwUm1FU1xcXCIsXFxcInByb3ZpZGVyXFxcIjpcXFwiYWNjZXNzX2VuZF9wb2ludF90b2tlblxcXCIsXFxcInNpZ25pbl90b2tlblxcXCI6Z2V0SXRlbShcXFwic2Vzc2lvbklEXFxcIil9KVxcbiAgICBsZXQgaHRtbDEgPSByZXEyKFxcXCJodHRwczovL3hsdXNlci1zc2wueHVubGVpLmNvbS92MS9hdXRoL3NpZ25pbi90b2tlbj9jbGllbnRfaWQ9WHA2dnN4el83SVlWdzJCQlxcXCIsIGhlYWRlcjEsIGJvZHkxKTsgLy9sb2coaHRtbDEpXFxuICAgIHNldEl0ZW0oXFxcImF1dGhvcml6YXRpb25cXFwiLCBodG1sMS50b2tlbl90eXBlK1xcXCIgXFxcIitodG1sMS5hY2Nlc3NfdG9rZW4pXFxuICAgIHNldEl0ZW0oXFxcInJlZnJlc2hfdG9rZW5cXFwiLCBodG1sMS5yZWZyZXNoX3Rva2VuKVxcbiAgICBzZXRJdGVtKFxcXCJ1c2VyX2lkXFxcIiwgaHRtbDEudXNlcl9pZClcXG59XFxuXFxuLy8g5Yi35paw6K+35rGC5aS0YXV0aG9yaXphdGlvblxcbmZ1bmN0aW9uIGFjY2Vzc190b2tlbigpIHtcXG4gICAgbGV0IGJvZHkxID0gSlNPTi5zdHJpbmdpZnkoe1xcXCJjbGllbnRfaWRcXFwiOlxcXCJYcDZ2c3h6XzdJWVZ3MkJCXFxcIixcXFwiY2xpZW50X3NlY3JldFxcXCI6XFxcIlhwNnZzeTR0Tjl0b1RWZE1TcG9tVmRYcFJtRVNcXFwiLFxcXCJncmFudF90eXBlXFxcIjpcXFwicmVmcmVzaF90b2tlblxcXCIsXFxcInJlZnJlc2hfdG9rZW5cXFwiOmdldEl0ZW0oXFxcInJlZnJlc2hfdG9rZW5cXFwiKX0pXFxuICAgIGxldCBodG1sMSA9IHJlcTIoXFxcImh0dHBzOi8veGx1c2VyLXNzbC54dW5sZWkuY29tL3YxL2F1dGgvdG9rZW4/Y2xpZW50X2lkPVhwNnZzeHpfN0lZVncyQkJcXFwiLCBoZWFkZXIxLCBib2R5MSk7IC8vbG9nKGh0bWwxKVxcbiAgICBzZXRJdGVtKFxcXCJhdXRob3JpemF0aW9uXFxcIiwgaHRtbDEudG9rZW5fdHlwZStcXFwiIFxcXCIraHRtbDEuYWNjZXNzX3Rva2VuKVxcbiAgICBzZXRJdGVtKFxcXCJ1c2VyX2lkXFxcIiwgaHRtbDEudXNlcl9pZClcXG59XFxuXFxuLy8g6I635Y+W6K+35rGC5aS0Y2FwdGNoYV90b2tlblxcbmZ1bmN0aW9uIGNhcHRjaGEoKSB7XFxuICAgIGxldCBib2R5MSA9IEpTT04uc3RyaW5naWZ5KHtcXFwiYWN0aW9uXFxcIjpcXFwiR0VUOi9kcml2ZS92MS9wcml2aWxlZ2UvVVNFUl9TRUNVUklUWV9UT0tFTlxcXCIsXFxcImNhcHRjaGFfdG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjbGllbnRfaWRcXFwiOlxcXCJYcDZ2c3h6XzdJWVZ3MkJCXFxcIixcXFwiZGV2aWNlX2lkXFxcIjpcXFwiYjcxYTkyM2ViMGUyMjM5ODQyNTk5YTNjMDE2YjQwOThcXFwiLFxcXCJtZXRhXFxcIjp7XFxcImNhcHRjaGFfc2lnblxcXCI6XFxcIjEuMWQ4YzJhNzgzNjAxZTQ1Mjc3YjNiNjUxNzc5NTgzMjRcXFwiLFxcXCJ1c2VyX2lkXFxcIjpnZXRJdGVtKFxcXCJ1c2VyX2lkXFxcIiksXFxcInBhY2thZ2VfbmFtZVxcXCI6XFxcImNvbS54dW5sZWkuZG93bmxvYWRwcm92aWRlclxcXCIsXFxcImNsaWVudF92ZXJzaW9uXFxcIjpcXFwiOC4wMy4wLjkwNjdcXFwiLFxcXCJ0aW1lc3RhbXBcXFwiOlxcXCIxNzQ1NTA3MDQ5MjYwXFxcIn0sXFxcInJlZGlyZWN0X3VyaVxcXCI6XFxcInhsYWNjc2RrMDE6Ly94dW5sZWkuY29tL2NhbGxiYWNrP3N0YXRlXFxcXHUwMDNkaGFyYm9yXFxcIn0pXFxuICAgIGxldCBodG1sMSA9IHJlcTIoXFxcImh0dHBzOi8veGx1c2VyLXNzbC54dW5sZWkuY29tL3YxL3NoaWVsZC9jYXB0Y2hhL2luaXQ/Y2xpZW50X2lkPVhwNnZzeHpfN0lZVncyQkJcXFwiLCBoZWFkZXIxLCBib2R5MSk7IC8vbG9nKGh0bWwxKVxcbiAgICBwdXRNeVZhcihcXFwiY2FwdGNoYV90b2tlblxcXCIsIGh0bWwxLmNhcHRjaGFfdG9rZW4pICAgIFxcbn1cXG5cXG5mdW5jdGlvbiBhY3Rpdml0eSgpIHtcXG4gICAgbGV0IGhlYWRlcjEgPSB7XFxuICAgICAgICBcXFwiVXNlci1BZ2VudFxcXCI6IFxcXCJBbmRyb2lkXFxcIixcXG4gICAgICAgIFxcXCJ4LWRldmljZS1pZFxcXCI6IFxcXCI5OWQ4YTMxNjdkZjc5ZDBmNDBmY2RjODYyM2VkMzI2NlxcXCJcXG4gICAgfVxcbiAgICBsZXQgYm9keTEgPSBKU09OLnN0cmluZ2lmeSh7XFxcImFjdGlvblxcXCI6XFxcIlBPU1Q6L2FjdGl2aXR5L3YxL3Jld2FyZFxcXCIsXFxcImNhcHRjaGFfdG9rZW5cXFwiOlxcXCJcXFwiLFxcXCJjbGllbnRfaWRcXFwiOlxcXCJYcDZ2c3h6XzdJWVZ3MkJCXFxcIixcXFwiZGV2aWNlX2lkXFxcIjpcXFwiOTlkOGEzMTY3ZGY3OWQwZjQwZmNkYzg2MjNlZDMyNjZcXFwiLFxcXCJtZXRhXFxcIjp7XFxcImNhcHRjaGFfc2lnblxcXCI6XFxcIjEuZTJlNjBlNWFiYmY2NmY2YjIxY2Q3ODU1ZjEzZDcwYWRcXFwiLFxcXCJ1c2VyX2lkXFxcIjpnZXRJdGVtKFxcXCJ1c2VyX2lkXFxcIiksXFxcInBhY2thZ2VfbmFtZVxcXCI6XFxcImNvbS54dW5sZWkuZG93bmxvYWRwcm92aWRlclxcXCIsXFxcImNsaWVudF92ZXJzaW9uXFxcIjpcXFwiNy40OS4wLjgxMjlcXFwiLFxcXCJ0aW1lc3RhbXBcXFwiOlxcXCIxNzQ2MDA0NjAxNDU1XFxcIn0sXFxcInJlZGlyZWN0X3VyaVxcXCI6XFxcInhsYWNjc2RrMDE6Ly94dW5sZWkuY29tL2NhbGxiYWNrP3N0YXRlXFxcXHUwMDNkaGFyYm9yXFxcIn0pXFxuICAgIGxldCBodG1sMSA9IHJlcTIoXFxcImh0dHBzOi8veGx1c2VyLXNzbC54dW5sZWkuY29tL3YxL3NoaWVsZC9jYXB0Y2hhL2luaXQ/Y2xpZW50X2lkPVhwNnZzeHpfN0lZVncyQkJcXFwiLCBoZWFkZXIxLCBib2R5MSlcXG4gICAgXFxuICAgIGxldCBoZWFkZXIyID0ge1xcbiAgICAgICAgXFxcIlVzZXItQWdlbnRcXFwiOiBcXFwiQW5kcm9pZFxcXCIsXFxuICAgICAgICBcXFwieC1kZXZpY2UtaWRcXFwiOiBcXFwiOTlkOGEzMTY3ZGY3OWQwZjQwZmNkYzg2MjNlZDMyNjZcXFwiLFxcbiAgICAgICAgXFxcImF1dGhvcml6YXRpb25cXFwiOiBnZXRJdGVtKFxcXCJhdXRob3JpemF0aW9uXFxcIiwgXFxcIlxcXCIpLFxcbiAgICAgICAgXFxcIngtY2FwdGNoYS10b2tlblxcXCI6IGh0bWwxLmNhcHRjaGFfdG9rZW5cXG4gICAgfVxcbiAgICBsZXQgYm9keTIgPSBKU09OLnN0cmluZ2lmeSh7XFxcImFjdGl2aXR5X2lkXFxcIjpcXFwiVk1zY3lqVnUtY3BVTmZpcnFYR1c0d2ZhMDBcXFwiLFxcXCJyZXdhcmRfY291bnRcXFwiOjEsXFxcInBhcmFtc1xcXCI6e1xcXCJ1cmNrXFxcIjpcXFwiOTlkOGEzMTY3ZGY3OWQwZjQwZmNkYzg2MjNlZDMyNjZcXFwifX0pXFxuICAgIHJlcTIoXFxcImh0dHBzOi8vYXBpLXNob3VsZWktc3NsLnh1bmxlaS5jb20vYWN0aXZpdHkvdjEvcmV3YXJkXFxcIiwgaGVhZGVyMiwgYm9keTIpXFxufVxcblxcbi8vIOS6kea3u+WKoO+8jOiOt+WPluebmOWGheaWh+S7tmlkXFxuZnVuY3Rpb24geXVuYm8obmFtZSwgdXJsLCBmaWxlX2luZGV4KSB7XFxuICAgIGxldCBib2R5MSA9IEpTT04uc3RyaW5naWZ5KHtcXFwia2luZFxcXCI6XFxcImRyaXZlI2ZpbGVcXFwiLFxcXCJuYW1lXFxcIjpuYW1lLFxcXCJ1cGxvYWRfdHlwZVxcXCI6XFxcIlVQTE9BRF9UWVBFX1VSTFxcXCIsXFxcInVybFxcXCI6e1xcXCJ1cmxcXFwiOnVybCxcXFwiZmlsZXNcXFwiOltmaWxlX2luZGV4XX0sXFxcInBhcmVudF9pZFxcXCI6XFxcIlxcXCJ9KVxcbiAgICBsZXQgaHRtbDFcXG4gICAgaHRtbDEgPSByZXEyKFxcXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9maWxlc1xcXCIsIFxcXCJ1bmRlZmluZWRcXFwiLCBib2R5MSlcXG4gICAgaWYgKGh0bWwxLmVycm9yX2Rlc2NyaXB0aW9uID09IFxcXCLpqozor4HnoIHml6DmlYhcXFwiKSBodG1sMSA9IHJlcTIoXFxcImh0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL2ZpbGVzXFxcIiwgXFxcInVuZGVmaW5lZFxcXCIsIGJvZHkxKVxcbiAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24pIHJldHVybiB0b2FzdChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbilcXG4gICAgamF2YS5sYW5nLlRocmVhZC5zbGVlcCgxMDAwKVxcbiAgICBsZXQgdXJsMiA9ICdodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS90YXNrcz90eXBlPW9mZmxpbmUmcGFnZV90b2tlbj0mZmlsdGVycz17XFxcImlkXFxcIjp7XFxcImluXFxcIjpcXFwiJytodG1sMS50YXNrLmlkKydcXFwifX0md2l0aD1yZWZlcmVuY2VfcmVzb3VyY2UnXFxuICAgIGxldCBodG1sMlxcbiAgICBodG1sMiA9IHJlcTEodXJsMiwgXFxcInVuZGVmaW5lZFxcXCIpLnRhc2tzWzBdXFxuICAgIGlmIChodG1sMi5lcnJvcl9kZXNjcmlwdGlvbiA9PSBcXFwi6aqM6K+B56CB5peg5pWIXFxcIikgaHRtbDIgPSByZXExKHVybDIsIFxcXCJ1bmRlZmluZWRcXFwiKS50YXNrc1swXVxcbiAgICByZXR1cm4gaHRtbDIuZmlsZV9pZFxcbn1cXG5cXG4vLyDnm5jlhoVcXG5mdW5jdGlvbiBsYXp5MShpbnB1dCkge1xcbiAgICByZXR1cm4gJChcXFwiXFxcIikubGF6eVJ1bGUoKGlucHV0KSA9PiB7XFxuICAgICAgICBsZXQgaWQgPSBpbnB1dFswXVxcbiAgICAgICAgbGV0IG1pbWVfdHlwZSA9IGlucHV0WzFdXFxuICAgICAgICBpZiAobWltZV90eXBlID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgcmV0dXJuICQoXFxcImhpa2VyOi8vZW1wdHk/cGFnZT1meXBhZ2UjXFxcIitpZCtcXFwiI25vTG9hZGluZyNcXFwiKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IFtdXFxuICAgICAgICAgICAgICAgICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIikueXVucGFuMShkKVxcbiAgICAgICAgICAgICAgICBzZXRSZXN1bHQoZClcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICAgICAgY29uc3Qge1xcbiAgICAgICAgICAgIHJlcTEsXFxuICAgICAgICAgICAgc2hhbmNodVxcbiAgICAgICAgfSA9ICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIilcXG4gICAgICAgIGxldCB1cmwxID0gXFxcImh0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL2ZpbGVzL1xcXCIraWQrXFxcIj9fbWFnaWM9MjAyMSZ1c2FnZT1QTEFZJnRodW1ibmFpbF9zaXplPVNJWkVfTEFSR0Umd2l0aD1oZHIxMCZ3aXRoPXN1YnRpdGxlX2ZpbGVzJndpdGg9dGFzayZ3aXRoPXB1YmxpY19zaGFyZV90YWdcXFwiXFxuICAgICAgICBsZXQgaHRtbDFcXG4gICAgICAgIGh0bWwxID0gcmVxMSh1cmwxLCBcXFwidW5kZWZpbmVkXFxcIik7IC8vbG9nKGh0bWwxKVxcbiAgICAgICAgaWYgKGh0bWwxLmVycm9yX2Rlc2NyaXB0aW9uID09IFxcXCLpqozor4HnoIHml6DmlYhcXFwiKSBodG1sMSA9IHJlcTEodXJsMSwgXFxcInVuZGVmaW5lZFxcXCIpOyAvL2xvZyhodG1sMSlcXG4gICAgICAgIGlmIChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbikge1xcbiAgICAgICAgICAgIGlmIChpbnB1dFsyXSA9PSBcXFwi5Yig6ZmkXFxcIikgc2hhbmNodShpZClcXG4gICAgICAgICAgICB0b2FzdChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbilcXG4gICAgICAgICAgICBpZiAoLyhtYWduZXQ6fGVkMms6fGJ0OnxmdHA6fFxcXFwudG9ycmVudCkvLnRlc3QoTVlfVVJMKSkgcmV0dXJuIE1ZX1VSTC5zcGxpdChcXFwiI1xcXCIpWzFdXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKGh0bWwxLmF1ZGl0LnRpdGxlID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGh0bWwxLmxpbmtzKSA9PSBcXFwie31cXFwiKSB7XFxuICAgICAgICAgICAgICAgIGlmICgvKG1hZ25ldDp8ZWQyazp8YnQ6fGZ0cDp8XFxcXC50b3JyZW50KS8udGVzdChNWV9VUkwpKSByZXR1cm4gTVlfVVJMLnNwbGl0KFxcXCIjXFxcIilbMV1cXG4gICAgICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBsZXQgcGxheSA9IGh0bWwxLmxpbmtzW1xcXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cXFwiXS51cmxcXG4gICAgICAgICAgICBpZiAoaW5wdXRbMl0gPT0gXFxcIuWIoOmZpFxcXCIpIHNoYW5jaHUoaWQpXFxuICAgICAgICAgICAgaWYgKGh0bWwxLm1pbWVfdHlwZS5pbmNsdWRlcyhcXFwidmlkZW9cXFwiKSkge1xcbiAgICAgICAgICAgICAgICBsZXQgbmFtZTEgPSBbXFxcIuWOn+Wni+eUu+i0qFxcXCJdXFxuICAgICAgICAgICAgICAgIGxldCBwbGF5MSA9IFtwbGF5XVxcbiAgICAgICAgICAgICAgICBodG1sMS5tZWRpYXMubWFwKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0ubGluayAhPSBudWxsKSB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTEucHVzaChpdGVtLm1lZGlhX25hbWUpXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGxheTEucHVzaChpdGVtLmxpbmsudXJsKVxcbiAgICAgICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xcbiAgICAgICAgICAgICAgICAgICAgbmFtZXM6IG5hbWUxLFxcbiAgICAgICAgICAgICAgICAgICAgdXJsczogcGxheTFcXG4gICAgICAgICAgICAgICAgfSkrXFxcIiNpc1ZpZGVvPXRydWUjXFxcIlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICBpZiAoaHRtbDEubWltZV90eXBlLmluY2x1ZGVzKFxcXCJpbWFnZVxcXCIpKSByZXR1cm4gcGxheStcXFwiIy5qcGdcXFwiXFxuICAgICAgICAgICAgaWYgKGh0bWwxLm1pbWVfdHlwZS5pbmNsdWRlcyhcXFwiYXVkaW9cXFwiKSkgcmV0dXJuIHBsYXkrXFxcIiNpc011c2ljPXRydWUjXFxcIlxcbiAgICAgICAgICAgIHJldHVybiBcXFwiZG93bmxvYWQ6Ly9cXFwiK3BsYXlcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdG9hc3QoaHRtbDEuYXVkaXQudGl0bGUpXFxuICAgICAgICAgICAgc2hhbmNodShpZClcXG4gICAgICAgICAgICBpZiAoLyhtYWduZXQ6fGVkMms6fGJ0OnxmdHA6fFxcXFwudG9ycmVudCkvLnRlc3QoTVlfVVJMKSkgcmV0dXJuIE1ZX1VSTC5zcGxpdChcXFwiI1xcXCIpWzFdXFxuICAgICAgICAgICAgcmV0dXJuIFxcXCJoaWtlcjovL2VtcHR5XFxcIlxcbiAgICAgICAgfVxcbiAgICB9LCBpbnB1dC5zcGxpdChcXFwiI1xcXCIpKVxcbn1cXG5cXG4vLyDnm5jlpJZcXG5mdW5jdGlvbiBsYXp5MihpbnB1dCkge1xcbiAgICByZXR1cm4gJChcXFwiXFxcIikubGF6eVJ1bGUoKGlucHV0KSA9PiB7XFxuICAgICAgICBsZXQgaWQgPSBpbnB1dFswXVxcbiAgICAgICAgbGV0IG1pbWVfdHlwZSA9IGlucHV0WzFdXFxuICAgICAgICBpZiAobWltZV90eXBlID09IFxcXCJcXFwiKSB7XFxuICAgICAgICAgICAgaWYgKE1ZX1VSTC5pbmNsdWRlcyhcXFwieHVubGVpXFxcIikpIHB1dE15VmFyKFxcXCJhbmNlc3Rvcl9pZHNcXFwiLCBpZClcXG4gICAgICAgICAgICByZXR1cm4gJChcXFwiaGlrZXI6Ly9lbXB0eT9wYWdlPWZ5cGFnZSNcXFwiK2lkK1xcXCIjbm9Mb2FkaW5nIyNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSNcXFwiKS5ydWxlKCgpID0+IHtcXG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IFtdXFxuICAgICAgICAgICAgICAgICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIikueXVucGFuMihkKVxcbiAgICAgICAgICAgICAgICBzZXRSZXN1bHQoZClcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICAgICAgY29uc3Qge1xcbiAgICAgICAgICAgIHpodWFuY3VuLFxcbiAgICAgICAgICAgIGxhenkxXFxuICAgICAgICB9ID0gJC5yZXF1aXJlKFxcXCJoYW5zaHVcXFwiKVxcbiAgICAgICAgbGV0IGlkMSA9IHpodWFuY3VuKGlkKVxcbiAgICAgICAgcmV0dXJuIGxhenkxKGlkMSlcXG4gICAgfSwgaW5wdXQuc3BsaXQoXFxcIiNcXFwiKSlcXG59XFxuXFxuLy8g56OB5YqbXFxuZnVuY3Rpb24gbGF6eTMoaW5wdXQpIHtcXG4gICAgcmV0dXJuICQoXFxcIlxcXCIpLmxhenlSdWxlKChpbnB1dCkgPT4ge1xcbiAgICAgICAgbGV0IG5hbWUgPSBpbnB1dFswXVxcbiAgICAgICAgbGV0IG1ldGEgPSBKU09OLnBhcnNlKGlucHV0WzFdKVxcbiAgICAgICAgbGV0IGRpciA9IGlucHV0WzJdXFxuICAgICAgICBsZXQgZmlsZV9zaXplID0gaW5wdXRbM11cXG4gICAgICAgIGxldCBmaWxlX2luZGV4ID0gaW5wdXRbNF1cXG4gICAgICAgIGlmIChkaXIgIT0gXFxcIm51bGxcXFwiKSB7XFxuICAgICAgICAgICAgcmV0dXJuICQoXFxcImhpa2VyOi8vZW1wdHk/cGFnZT1meXBhZ2UjXFxcIitNWV9VUkwuc3BsaXQoXFxcIiNcXFwiKVsxXStcXFwiI25vTG9hZGluZyMjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjXFxcIikucnVsZSgoZGlyKSA9PiB7XFxuICAgICAgICAgICAgICAgIGNvbnN0IHtcXG4gICAgICAgICAgICAgICAgICAgIGxhenkzLFxcbiAgICAgICAgICAgICAgICAgICAgYnl0ZXNUb1NpemVcXG4gICAgICAgICAgICAgICAgfSA9ICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIilcXG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IFtdXFxuICAgICAgICAgICAgICAgIGxldCBsaXN0MSA9IEpTT04ucGFyc2UoZGlyKS5yZXNvdXJjZXNcXG4gICAgICAgICAgICAgICAgbGlzdDEuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjOiBieXRlc1RvU2l6ZShpdGVtLmZpbGVfc2l6ZSksXFxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nOiBpdGVtLm1ldGEuaWNvbixcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGxhenkzKGl0ZW0ubmFtZStcXFwiI1xcXCIrSlNPTi5zdHJpbmdpZnkoaXRlbS5tZXRhKStcXFwiI1xcXCIrSlNPTi5zdHJpbmdpZnkoaXRlbS5kaXIpK1xcXCIjXFxcIitpdGVtLmZpbGVfc2l6ZStcXFwiI1xcXCIraXRlbS5maWxlX2luZGV4KSxcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogXFxcImF2YXRhclxcXCIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVRpdGxlOiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICB9KVxcbiAgICAgICAgICAgICAgICBzZXRSZXN1bHQoZClcXG4gICAgICAgICAgICB9LCBkaXIpXFxuICAgICAgICB9XFxuICAgICAgICBjb25zdCB7XFxuICAgICAgICAgICAgcmVxMSxcXG4gICAgICAgICAgICBhY3Rpdml0eSxcXG4gICAgICAgICAgICB5dW5ibyxcXG4gICAgICAgICAgICBsYXp5MVxcbiAgICAgICAgfSA9ICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIilcXG4gICAgICAgIGFjdGl2aXR5KClcXG4gICAgICAgIFxcbiAgICAgICAgbGV0IGlkID0geXVuYm8obmFtZSwgTVlfVVJMLnNwbGl0KFxcXCIjXFxcIilbMV0sIGZpbGVfaW5kZXgpXFxuICAgICAgICByZXR1cm4gbGF6eTEoaWQrXFxcIiNcXFwiK21ldGEubWltZV90eXBlK1xcXCIjXFxcIitcXFwi5Yig6ZmkXFxcIilcXG4gICAgICAgIFxcbiAgICAgICAgLypcXG4gICAgICAgIGxldCBoZWFkZXIxID0ge1xcbiAgICAgICAgICAgIFxcXCJVc2VyLUFnZW50XFxcIjogXFxcIkFuZHJvaWRcXFwiLFxcbiAgICAgICAgICAgIFxcXCJ4LWRldmljZS1pZFxcXCI6IFxcXCJiNzFhOTIzZWIwZTIyMzk4NDI1OTlhM2MwMTZiNDA5OFxcXCIsXFxuICAgICAgICAgICAgXFxcIngtZ3VpZFxcXCI6IFxcXCJjOWIwNzZhNDQ2NTE3OTY5ZGZmNjM4Y2QzN2ZhOWZmMVxcXCJcXG4gICAgICAgIH1cXG4gICAgICAgIGxldCB1cmwxID0gXFxcImh0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL2xpbms/Z2NpZD1cXFwiK21ldGEuaGFzaCtcXFwiJmZpbGVfbmFtZT1cXFwiK25hbWUrXFxcIiZmaWxlX3NpemU9XFxcIitmaWxlX3NpemUrXFxcIiZwYXJhbXNbY2hlY2tfcHJpdmlsZWdlXT1GTFVFTlRfUExBWV9USU1FU19MSU1JVCZwYXJhbXNbdXJsXT1cXFwiK2dldE15VmFyKFxcXCJzZWFyY2hfd29yZFxcXCIpXFxuICAgICAgICBsZXQgaHRtbDFcXG4gICAgICAgIGh0bWwxID0gcmVxMSh1cmwxLCBoZWFkZXIxKTsgLy9sb2coaHRtbDEpXFxuICAgICAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24gPT0gXFxcIumqjOivgeeggeaXoOaViFxcXCIpIGh0bWwxID0gcmVxMSh1cmwxLCBoZWFkZXIxKTsgLy9sb2coaHRtbDEpXFxuICAgICAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24pIHJldHVybiB0b2FzdChodG1sMS5lcnJvcl9kZXNjcmlwdGlvbilcXG4gICAgICAgIGxldCBpZCA9IHl1bmJvKG5hbWUsIGh0bWwxLmxpbmsudXJsLCBmaWxlX2luZGV4KVxcbiAgICAgICAgcmV0dXJuIGxhenkxKGlkK1xcXCIjXFxcIittZXRhLm1pbWVfdHlwZStcXFwiI1xcXCIrXFxcIuWIoOmZpFxcXCIpXFxuICAgICAgICAqL1xcbiAgICAgICAgXFxuICAgIH0sIGlucHV0LnNwbGl0KFxcXCIjXFxcIikpXFxufVxcblxcbi8vIOmVv+aMieaMiemSrlxcbmZ1bmN0aW9uIGxvbmdjbGljayhpdGVtKSB7XFxuICAgIGlmIChNWV9VUkwgPT0gXFxcImhpa2VyOi8vZW1wdHkjI1xcXCIpIHtcXG4gICAgbGV0IGFubml1MSA9IHtcXG4gICAgICAgIHRpdGxlOiBcXFwi5Yig6ZmkXFxcIixcXG4gICAgICAgIGpzOiAkLnRvU3RyaW5nKChpZCkgPT4ge1xcbiAgICAgICAgICAgICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIikuc2hhbmNodShpZClcXG4gICAgICAgICAgICByZXR1cm4gdG9hc3QoXFxcIuW3suWIoOmZpFxcXCIpXFxuICAgICAgICB9LCBpdGVtLmlkKVxcbiAgICB9XFxuICAgIHJldHVybiBbYW5uaXUxXVxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIFxcXCJcXFwiXFxuICAgIH1cXG59XFxuXFxuLy8g55uY5YaFXFxuZnVuY3Rpb24geXVucGFuMShkKSB7XFxuICAgIHRyeXtcXG4gICAgICAgIGFkZExpc3RlbmVyKCdvbkNsb3NlJywgJC50b1N0cmluZygoKT0+e1xcbiAgICAgICAgICAgIGNsZWFyTXlWYXIoXFxcIm5leHRfcGFnZV90b2tlblxcXCIpXFxuICAgICAgICB9KSlcXG4gICAgICAgIGxldCBpZCA9IE1ZX1VSTC5zcGxpdChcXFwiI1xcXCIpWzFdXFxuICAgICAgICBpZiAoZ2V0TXlWYXIoXFxcIm5leHRfcGFnZV90b2tlblxcXCIsIFxcXCIwXFxcIikgIT0gXFxcIlxcXCIpIHtcXG4gICAgICAgICAgICBsZXQgdXJsMSA9ICdodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9maWxlcz9wYXJlbnRfaWQ9JytpZCsnJnBhZ2VfdG9rZW49JytnZXRNeVZhcihcXFwibmV4dF9wYWdlX3Rva2VuXFxcIiwgXFxcIlxcXCIpKycmZmlsdGVycz17XFxcInRyYXNoZWRcXFwiOntcXFwiZXFcXFwiOmZhbHNlfX0md2l0aD1wdWJsaWNfc2hhcmVfdGFnJndpdGg9dGFzayZ3aXRoX2F1ZGl0PXRydWUmdGh1bWJuYWlsX3NpemU9U0laRV9MQVJHRSdcXG4gICAgICAgICAgICBsZXQgaHRtbDFcXG4gICAgICAgICAgICBodG1sMSA9IHJlcTEodXJsMSwgXFxcInVuZGVmaW5lZFxcXCIpXFxuICAgICAgICAgICAgaWYgKGh0bWwxLmVycm9yX2Rlc2NyaXB0aW9uID09IFxcXCLpqozor4HnoIHml6DmlYhcXFwiKSBodG1sMSA9IHJlcTEodXJsMSwgXFxcInVuZGVmaW5lZFxcXCIpXFxuICAgICAgICAgICAgaWYgKGh0bWwxLm5leHRfcGFnZV90b2tlbiAhPSBcXFwiXFxcIikgcHV0TXlWYXIoXFxcIm5leHRfcGFnZV90b2tlblxcXCIsIGh0bWwxLm5leHRfcGFnZV90b2tlbilcXG4gICAgICAgICAgICBsZXQgbGlzdDEgPSBodG1sMS5maWxlc1xcbiAgICAgICAgICAgIGxpc3QxLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogYnl0ZXNUb1NpemUoaXRlbS5zaXplKSxcXG4gICAgICAgICAgICAgICAgICAgIGltZzogaXRlbS5raW5kLmluY2x1ZGVzKFxcXCJmb2xkZXJcXFwiKSA/IFxcXCJoaWtlcjovL2ltYWdlcy9pY29uX2ZvbGRlcjNcXFwiIDogaXRlbS5pY29uX2xpbmssXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IGxhenkxKGl0ZW0uaWQrXFxcIiNcXFwiK2l0ZW0ubWltZV90eXBlKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVRpdGxlOiBpdGVtLm5hbWUsXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBsb25nY2xpY2soaXRlbSlcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9Y2F0Y2goZSl7XFxuICAgICAgICBsb2coZS5tZXNzYWdlKVxcbiAgICB9XFxufVxcblxcbi8vIOebmOWkllxcbmZ1bmN0aW9uIHl1bnBhbjIoZCkge1xcbiAgICB0cnl7XFxuICAgICAgICBsZXQgdXJsMVxcbiAgICAgICAgbGV0IGh0bWwxXFxuICAgICAgICBsZXQgbGlzdDFcXG4gICAgICAgIGxldCBpZCA9IE1ZX1VSTC5zcGxpdChcXFwiI1xcXCIpWzFdXFxuICAgICAgICBhZGRMaXN0ZW5lcignb25DbG9zZScsICQudG9TdHJpbmcoKCk9PntcXG4gICAgICAgICAgICBjbGVhck15VmFyKFxcXCJuZXh0X3BhZ2VfdG9rZW5cXFwiKVxcbiAgICAgICAgICAgIGNsZWFyTXlWYXIoXFxcImFuY2VzdG9yX2lkc1xcXCIpXFxuICAgICAgICB9KSlcXG4gICAgICAgIGlmIChnZXRNeVZhcihcXFwibmV4dF9wYWdlX3Rva2VuXFxcIiwgXFxcIjBcXFwiKSAhPSBcXFwiXFxcIikge1xcbiAgICAgICAgICAgIHVybDEgPSAnaHR0cHM6Ly9hcGktcGFuLnh1bmxlaS5jb20vZHJpdmUvdjEvc2hhcmUvZGV0YWlsP3NoYXJlX2lkPScrZ2V0TXlWYXIoXFxcInNoYXJlX2lkXFxcIikrJyZwYXJlbnRfaWQ9JytpZCsnJnBhc3NfY29kZV90b2tlbj0nK2VuY29kZVVSSUNvbXBvbmVudChnZXRNeVZhcihcXFwicGFzc19jb2RlX3Rva2VuXFxcIikpKycmdGh1bWJuYWlsX3NpemU9U0laRV9TTUFMTCZwYWdlX3Rva2VuPScrZ2V0TXlWYXIoXFxcIm5leHRfcGFnZV90b2tlblxcXCIsIFxcXCJcXFwiKVxcbiAgICAgICAgICAgIGh0bWwxID0gcmVxMSh1cmwxLCBcXFwidW5kZWZpbmVkXFxcIilcXG4gICAgICAgICAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24gPT0gXFxcIumqjOivgeeggeaXoOaViFxcXCIpIGh0bWwxID0gcmVxMSh1cmwxLCBcXFwidW5kZWZpbmVkXFxcIilcXG4gICAgICAgICAgICBpZiAoaHRtbDEubmV4dF9wYWdlX3Rva2VuICE9IFxcXCJcXFwiKSBwdXRNeVZhcihcXFwibmV4dF9wYWdlX3Rva2VuXFxcIiwgaHRtbDEubmV4dF9wYWdlX3Rva2VuKVxcbiAgICAgICAgICAgIGxpc3QxID0gaHRtbDEuZmlsZXM7IC8vbG9nKGxpc3QxKVxcbiAgICAgICAgICAgIGxpc3QxLmZvckVhY2goaXRlbSA9PiB7XFxuICAgICAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogYnl0ZXNUb1NpemUoaXRlbS5zaXplKSxcXG4gICAgICAgICAgICAgICAgICAgIGltZzogaXRlbS5raW5kLmluY2x1ZGVzKFxcXCJmb2xkZXJcXFwiKSA/IFxcXCJoaWtlcjovL2ltYWdlcy9pY29uX2ZvbGRlcjNcXFwiIDogaXRlbS5pY29uX2xpbmssXFxuICAgICAgICAgICAgICAgICAgICB1cmw6IGxhenkyKGl0ZW0uaWQrXFxcIiNcXFwiK2l0ZW0ubWltZV90eXBlKSxcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZVRpdGxlOiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgfSlcXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfVxcbiAgICB9Y2F0Y2goZSl7XFxuICAgICAgICBsb2coZS5tZXNzYWdlKVxcbiAgICB9XFxufVxcblxcbi8vIOejgeWKm1xcbmZ1bmN0aW9uIHl1bnBhbjMoZCkge1xcbiAgICB0cnl7XFxuICAgICAgICBsZXQgdXJsMVxcbiAgICAgICAgbGV0IGh0bWwxXFxuICAgICAgICBsZXQgbGlzdDFcXG4gICAgICAgIGxldCBpZCA9IE1ZX1VSTC5zcGxpdChcXFwiI1xcXCIpWzFdXFxuICAgICAgICBsZXQgYm9keTEgPSBKU09OLnN0cmluZ2lmeSh7XFxcInVybHNcXFwiOmlkfSlcXG4gICAgICAgIGh0bWwxID0gcmVxMihcXFwiaHR0cHM6Ly9hcGktcGFuLnh1bmxlaS5jb20vZHJpdmUvdjEvcmVzb3VyY2UvbGlzdFxcXCIsIFxcXCJ1bmRlZmluZWRcXFwiLCBib2R5MSkubGlzdC5yZXNvdXJjZXM7IC8vbG9nKGh0bWwxKVxcbiAgICAgICAgaWYgKGh0bWwxLmVycm9yX2Rlc2NyaXB0aW9uID09IFxcXCLpqozor4HnoIHml6DmlYhcXFwiKSBodG1sMSA9IHJlcTIoXFxcImh0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL3Jlc291cmNlL2xpc3RcXFwiLCBcXFwidW5kZWZpbmVkXFxcIiwgYm9keTEpLmxpc3QucmVzb3VyY2VzOyAvL2xvZyhodG1sMSlcXG4gICAgICAgIGlmIChodG1sMVswXS5kaXIpIHtcXG4gICAgICAgICAgICBsaXN0MSA9IGh0bWwxWzBdLmRpci5yZXNvdXJjZXM7IC8vbG9nKGxpc3QxKVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBsaXN0MSA9IGh0bWwxOyAvL2xvZyhsaXN0MSlcXG4gICAgICAgIH1cXG4gICAgICAgIHNldFBhZ2VUaXRsZShodG1sMVswXS5uYW1lKVxcbiAgICAgICAgbGlzdDEuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICBkZXNjOiBieXRlc1RvU2l6ZShpdGVtLnNpemUpLFxcbiAgICAgICAgICAgICAgICBpbWc6IGl0ZW0ubWV0YS5pY29uLFxcbiAgICAgICAgICAgICAgICB1cmw6IGxhenkzKGl0ZW0ubmFtZStcXFwiI1xcXCIrSlNPTi5zdHJpbmdpZnkoaXRlbS5tZXRhKStcXFwiI1xcXCIrSlNPTi5zdHJpbmdpZnkoaXRlbS5kaXIpK1xcXCIjXFxcIitpdGVtLmZpbGVfc2l6ZStcXFwiI1xcXCIraXRlbS5maWxlX2luZGV4KSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgcGFnZVRpdGxlOiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICB9Y2F0Y2goZSl7XFxuICAgICAgICBsb2coZS5tZXNzYWdlKVxcbiAgICB9XFxufVxcblxcbi8vIOaQnOe0oueVjOmdolxcbmZ1bmN0aW9uIHJ1bGUxKGQpIHtcXG4gICAgdHJ5e1xcbiAgICAgICAgY29uc3Qge1xcbiAgICAgICAgICAgIHJlcTEsXFxuICAgICAgICAgICAgcmVxMixcXG4gICAgICAgICAgICBsYXp5MixcXG4gICAgICAgICAgICBsYXp5M1xcbiAgICAgICAgfSA9ICQucmVxdWlyZShcXFwiaGFuc2h1XFxcIilcXG4gICAgICAgIGxldCB1cmwxXFxuICAgICAgICBsZXQgdXJsMlxcbiAgICAgICAgbGV0IGh0bWwxXFxuICAgICAgICBsZXQgbGlzdDFcXG4gICAgICAgIGlmIChNWV9VUkwuaW5jbHVkZXMoXFxcInh1bmxlaVxcXCIpKSB7XFxuICAgICAgICB1cmwyID0gTVlfVVJMLnNwbGl0KFxcXCIjXFxcIilbMV0uc3BsaXQoXFxcIi9zL1xcXCIpWzFdLnNwbGl0KFxcXCI/cHdkPVxcXCIpOyBsb2codXJsMilcXG4gICAgICAgIHB1dE15VmFyKFxcXCJzaGFyZV9pZFxcXCIsIHVybDJbMF0pXFxuICAgICAgICB1cmwxID0gJ2h0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL3NoYXJlP3NoYXJlX2lkPScrdXJsMlswXSsnJnBhc3NfY29kZT0nK3VybDJbMV0rJyZ0aHVtYm5haWxfc2l6ZT1TSVpFX1NNQUxMJnBhcmFtcz17XFxcIm9yaWdpblxcXCI6XFxcIlxcXCJ9J1xcbiAgICAgICAgaHRtbDEgPSByZXExKHVybDEsIFxcXCJ1bmRlZmluZWRcXFwiKVxcbiAgICAgICAgaWYgKGh0bWwxLmVycm9yX2Rlc2NyaXB0aW9uID09IFxcXCLpqozor4HnoIHml6DmlYhcXFwiKSBodG1sMSA9IHJlcTEodXJsMSwgXFxcInVuZGVmaW5lZFxcXCIpXFxuICAgICAgICBpZiAoaHRtbDEucGFzc19jb2RlX3Rva2VuICE9IFxcXCJcXFwiKSBwdXRNeVZhcihcXFwicGFzc19jb2RlX3Rva2VuXFxcIiwgaHRtbDEucGFzc19jb2RlX3Rva2VuKVxcbiAgICAgICAgaWYgKGh0bWwxLm5leHRfcGFnZV90b2tlbiAhPSBcXFwiXFxcIikgcHV0TXlWYXIoXFxcIm5leHRfcGFnZV90b2tlblxcXCIsIGh0bWwxLm5leHRfcGFnZV90b2tlbilcXG4gICAgICAgIHNldFBhZ2VUaXRsZShodG1sMS50aXRsZSlcXG4gICAgICAgIGxpc3QxID0gaHRtbDEuZmlsZXM7IC8vbG9nKGxpc3QxKVxcbiAgICAgICAgbGlzdDEuZm9yRWFjaChpdGVtID0+IHtcXG4gICAgICAgICAgICBkLnB1c2goe1xcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxcbiAgICAgICAgICAgICAgICBkZXNjOiBieXRlc1RvU2l6ZShpdGVtLnNpemUpLFxcbiAgICAgICAgICAgICAgICBpbWc6IGl0ZW0ua2luZC5pbmNsdWRlcyhcXFwiZm9sZGVyXFxcIikgPyBcXFwiaGlrZXI6Ly9pbWFnZXMvaWNvbl9mb2xkZXIzXFxcIiA6IGl0ZW0uaWNvbl9saW5rLFxcbiAgICAgICAgICAgICAgICB1cmw6IGxhenkyKGl0ZW0uaWQrXFxcIiNcXFwiK2l0ZW0ubWltZV90eXBlKSxcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6IFxcXCJhdmF0YXJcXFwiLFxcbiAgICAgICAgICAgICAgICBleHRyYToge1xcbiAgICAgICAgICAgICAgICAgICAgcGFnZVRpdGxlOiBpdGVtLm5hbWVcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9KVxcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHVybDIgPSBNWV9VUkwuc3BsaXQoXFxcIiNcXFwiKVsxXTsgbG9nKHVybDIpXFxuICAgICAgICBsZXQgYm9keTEgPSBKU09OLnN0cmluZ2lmeSh7XFxcInVybHNcXFwiOnVybDJ9KVxcbiAgICAgICAgaHRtbDEgPSByZXEyKFxcXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9yZXNvdXJjZS9saXN0XFxcIiwgXFxcInVuZGVmaW5lZFxcXCIsIGJvZHkxKTsgLy9sb2coaHRtbDEpXFxuICAgICAgICBpZiAoaHRtbDEuZXJyb3IgPT0gXFxcImNhcHRjaGFfaW52YWxpZFxcXCIpIGh0bWwxID0gcmVxMihcXFwiaHR0cHM6Ly9hcGktcGFuLnh1bmxlaS5jb20vZHJpdmUvdjEvcmVzb3VyY2UvbGlzdFxcXCIsIFxcXCJ1bmRlZmluZWRcXFwiLCBib2R5MSk7IC8vbG9nKGh0bWwxKVxcbiAgICAgICAgaWYgKGh0bWwxLmxpc3QucmVzb3VyY2VzWzBdLmRpcikge1xcbiAgICAgICAgICAgIGxpc3QxID0gaHRtbDEubGlzdC5yZXNvdXJjZXNbMF0uZGlyLnJlc291cmNlczsgLy9sb2cobGlzdDEpXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGxpc3QxID0gaHRtbDEubGlzdC5yZXNvdXJjZXM7IC8vbG9nKGxpc3QxKVxcbiAgICAgICAgfVxcbiAgICAgICAgc2V0UGFnZVRpdGxlKGh0bWwxLmxpc3QucmVzb3VyY2VzWzBdLm5hbWUpXFxuICAgICAgICBsaXN0MS5mb3JFYWNoKGl0ZW0gPT4ge1xcbiAgICAgICAgICAgIGQucHVzaCh7XFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLm5hbWUsXFxuICAgICAgICAgICAgICAgIGRlc2M6IGJ5dGVzVG9TaXplKGl0ZW0uZmlsZV9zaXplKSxcXG4gICAgICAgICAgICAgICAgaW1nOiBpdGVtLm1ldGEuaWNvbixcXG4gICAgICAgICAgICAgICAgdXJsOiBsYXp5MyhpdGVtLm5hbWUrXFxcIiNcXFwiK0pTT04uc3RyaW5naWZ5KGl0ZW0ubWV0YSkrXFxcIiNcXFwiK0pTT04uc3RyaW5naWZ5KGl0ZW0uZGlyKStcXFwiI1xcXCIraXRlbS5maWxlX3NpemUrXFxcIiNcXFwiK2l0ZW0uZmlsZV9pbmRleCksXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIixcXG4gICAgICAgICAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VUaXRsZTogaXRlbS5uYW1lXFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9KVxcbiAgICAgICAgfSlcXG4gICAgICAgIH1cXG4gICAgfWNhdGNoKGUpe1xcbiAgICAgICAgbG9nKGUubWVzc2FnZSlcXG4gICAgfVxcbn1cXG5cXG4vLyDpk77mjqXlpITnkIZcXG5mdW5jdGlvbiBydWxlMihpbnB1dCkge1xcbiAgICBsZXQgdXJsMVxcbiAgICBpZiAoaW5wdXQuaW5jbHVkZXMoXFxcInh1bmxlaVxcXCIpKSB7XFxuICAgICAgICBpZiAoaW5wdXQuaW5jbHVkZXMoXFxcIj1cXFwiKSkge1xcbiAgICAgICAgICAgIHVybDEgPSBcXFwiaHR0cHM6Ly9wYW4ueHVubGVpLmNvbS9zL1xcXCIraW5wdXQubWF0Y2goL1tBLVphLXowLTlfLV17MjZ9LylbMF0rXFxcIj9wd2Q9XFxcIitpbnB1dC5tYXRjaCgvPShcXFxcd3s0fSkvKVsxXVxcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKGlucHV0LmluY2x1ZGVzKFxcXCLmj5Dlj5bnoIFcXFwiKSkge1xcbiAgICAgICAgICAgIHVybDEgPSBcXFwiaHR0cHM6Ly9wYW4ueHVubGVpLmNvbS9zL1xcXCIraW5wdXQubWF0Y2goL1tBLVphLXowLTlfLV17MjZ9LylbMF0rXFxcIj9wd2Q9XFxcIitpbnB1dC5tYXRjaCgv5o+Q5Y+W56CBLiooXFxcXHd7NH0pLylbMV1cXG4gICAgICAgIH1cXG4gICAgfSBlbHNlIGlmICgvKG1hZ25ldDp8ZWQyazp8YnQ6fGZ0cDp8XFxcXC50b3JyZW50KS8udGVzdChpbnB1dCkpIHtcXG4gICAgICAgIHVybDEgPSBpbnB1dFxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgdXJsMSA9IFxcXCJcXFwiXFxuICAgIH1cXG4gICAgaWYgKHVybDEgIT0gXFxcIlxcXCIpIHtcXG4gICAgICAgIHB1dE15VmFyKFxcXCJzZWFyY2hfd29yZFxcXCIsIHVybDEpXFxuICAgICAgICByZXR1cm4gJChcXFwiaGlrZXI6Ly9lbXB0eSNcXFwiK3VybDErXFxcIiNub0xvYWRpbmcjXFxcIikucnVsZSgoKSA9PiB7XFxuICAgICAgICAgICAgY29uc3QgZCA9IFtdXFxuICAgICAgICAgICAgJC5yZXF1aXJlKFxcXCJoYW5zaHVcXFwiKS5ydWxlMShkKVxcbiAgICAgICAgICAgIHNldFJlc3VsdChkKVxcbiAgICAgICAgfSlcXG4gICAgfVxcbn1cXG5cXG4vLyDovazlrZjmlofku7bliLDnm5jlhoVcXG5mdW5jdGlvbiB6aHVhbmN1bihpZCkge1xcbiAgICBsZXQgYW5jZXN0b3JfaWRzID0gZ2V0TXlWYXIoXFxcImFuY2VzdG9yX2lkc1xcXCIpID09IFxcXCJcXFwiID8gW10gOiBbZ2V0TXlWYXIoXFxcImFuY2VzdG9yX2lkc1xcXCIpXVxcbiAgICBsZXQgdXJsMSA9IFxcXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9zaGFyZS9yZXN0b3JlXFxcIlxcbiAgICBsZXQgYm9keTEgPSBKU09OLnN0cmluZ2lmeSh7XFxcInBhcmVudF9pZFxcXCI6XFxcIlxcXCIsXFxcInNwZWNpZnlfcGFyZW50X2lkXFxcIjp0cnVlLFxcXCJzaGFyZV9pZFxcXCI6Z2V0TXlWYXIoXFxcInNoYXJlX2lkXFxcIiksXFxcInBhc3NfY29kZV90b2tlblxcXCI6Z2V0TXlWYXIoXFxcInBhc3NfY29kZV90b2tlblxcXCIpLFxcXCJmaWxlX2lkc1xcXCI6W2lkXSxcXFwiYW5jZXN0b3JfaWRzXFxcIjphbmNlc3Rvcl9pZHN9KVxcbiAgICByZXEyKHVybDEsIFxcXCJ1bmRlZmluZWRcXFwiLCBib2R5MSlcXG4gICAgamF2YS5sYW5nLlRocmVhZC5zbGVlcCgxMDAwKVxcbiAgICBsZXQgaHRtbDJcXG4gICAgaHRtbDIgPSByZXExKCdodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9maWxlcz9wYXJlbnRfaWQ9JnBhZ2VfdG9rZW49JmZpbHRlcnM9e1xcXCJ0cmFzaGVkXFxcIjp7XFxcImVxXFxcIjpmYWxzZX19JndpdGg9cHVibGljX3NoYXJlX3RhZyZ3aXRoPXRhc2smd2l0aF9hdWRpdD10cnVlJnRodW1ibmFpbF9zaXplPVNJWkVfTEFSR0UnLCBcXFwidW5kZWZpbmVkXFxcIikuZmlsZXNbMF07IC8vbG9nKGh0bWwyKVxcbiAgICBpZiAoaHRtbDIuZXJyb3JfZGVzY3JpcHRpb24gPT0gXFxcIumqjOivgeeggeaXoOaViFxcXCIpIGh0bWwyID0gcmVxMSgnaHR0cHM6Ly9hcGktcGFuLnh1bmxlaS5jb20vZHJpdmUvdjEvZmlsZXM/cGFyZW50X2lkPSZwYWdlX3Rva2VuPSZmaWx0ZXJzPXtcXFwidHJhc2hlZFxcXCI6e1xcXCJlcVxcXCI6ZmFsc2V9fSZ3aXRoPXB1YmxpY19zaGFyZV90YWcmd2l0aD10YXNrJndpdGhfYXVkaXQ9dHJ1ZSZ0aHVtYm5haWxfc2l6ZT1TSVpFX0xBUkdFJywgXFxcInVuZGVmaW5lZFxcXCIpLmZpbGVzWzBdOyAvL2xvZyhodG1sMilcXG4gICAgcmV0dXJuIGh0bWwyLmlkK1xcXCIjXFxcIisoaHRtbDIubWltZV90eXBlfHxcXFwidW5kZWZpbmVkXFxcIikrXFxcIiNcXFwiK1xcXCLliKDpmaRcXFwiXFxufVxcblxcbi8vIOWIoOmZpOebmOWGheaWh+S7tlxcbmZ1bmN0aW9uIHNoYW5jaHUoaWQpIHtcXG4gICAgbGV0IGJvZHkxID0gSlNPTi5zdHJpbmdpZnkoe1xcXCJpZHNcXFwiOltpZF0sXFxcInNwYWNlXFxcIjpcXFwiXFxcIn0pXFxuICAgIHJlcTIoXFxcImh0dHBzOi8vYXBpLXBhbi54dW5sZWkuY29tL2RyaXZlL3YxL2ZpbGVzOmJhdGNoRGVsZXRlXFxcIiwgXFxcInVuZGVmaW5lZFxcXCIsIGJvZHkxKVxcbn1cXG5cXG4vL2J5IExveURnSWsg5L2sXFxuZnVuY3Rpb24gYnl0ZXNUb1NpemUoc2l6ZSkge1xcbiAgICBpZiAoc2l6ZSA9PT0gXFxcIjBcXFwiKSB7XFxuICAgICAgICByZXR1cm4gJyc7XFxuICAgIH1cXG4gICAgY29uc3QgdW5pdHMgPSBbJ0InLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcXG4gICAgbGV0IGkgPSAwO1xcbiAgICB3aGlsZSAoc2l6ZSA+PSAxMDI0KSB7XFxuICAgICAgICBzaXplIC89IDEwMjQ7XFxuICAgICAgICBpKys7XFxuICAgIH1cXG4gICAgc2l6ZSA9IGkgPyBOdW1iZXIoc2l6ZS50b0ZpeGVkKDIpKSA6IHNpemU7XFxuICAgIHJldHVybiBgJHtzaXplfSAke3VuaXRzW2ldfWA7XFxufVxcblxcbiQuZXhwb3J0cyA9IHtcXG4gICAgcmVxMSxcXG4gICAgcmVxMixcXG4gICAgc2VuZHNtcyxcXG4gICAgc21zbG9naW4sXFxuICAgIGxvZ2luLFxcbiAgICBzaWduaW4sXFxuICAgIGFjY2Vzc190b2tlbixcXG4gICAgY2FwdGNoYSxcXG4gICAgYWN0aXZpdHksXFxuICAgIHl1bmJvLFxcbiAgICB5dW5wYW4xLFxcbiAgICB5dW5wYW4yLFxcbiAgICB5dW5wYW4zLFxcbiAgICBsYXp5MSxcXG4gICAgbGF6eTIsXFxuICAgIGxhenkzLFxcbiAgICBydWxlMSxcXG4gICAgcnVsZTIsXFxuICAgIHpodWFuY3VuLFxcbiAgICBzaGFuY2h1LFxcbiAgICBieXRlc1RvU2l6ZVxcbn1cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIueZu+W9leeVjOmdolwiLFwicGF0aFwiOlwiZGVuZ2x1XCIsXCJydWxlXCI6XCJqczpcXG5jb25zdCBkID0gW11cXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuaJi+acuumqjOivgeeZu+W9lVxcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgZGVzYzogXFxcIuivt+i+k+WFpeaJi+acuuWPt1xcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxuICAgICAgICBvbkNoYW5nZTogXFxcInNldEl0ZW0oJ21vYmlsZScsaW5wdXQpXFxcIlxcbiAgICB9XFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIuKAnOKAnOiOt+WPlumqjOivgeeggeKAnOKAnFxcXCIsXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXG4gICAgICAgIHNldEl0ZW0oXFxcIm1vYmlsZVxcXCIsIGdldEl0ZW0oJ21vYmlsZScpKVxcbiAgICAgICAgJC5yZXF1aXJlKFxcXCJoYW5zaHVcXFwiKS5zZW5kc21zKClcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCJcXFwiLFxcbiAgICBkZXNjOiBcXFwi6K+36L6T5YWl6aqM6K+B56CBXFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3Ntc0NvZGUnLGlucHV0KVxcXCJcXG4gICAgfVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLigJzigJznoa7orqTigJzigJxcXFwiLFxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICBwdXRNeVZhcihcXFwic21zQ29kZVxcXCIsIGdldE15VmFyKCdzbXNDb2RlJykpXFxuICAgICAgICAkLnJlcXVpcmUoXFxcImhhbnNodVxcXCIpLnNtc2xvZ2luKClcXG4gICAgICAgIGJhY2sodHJ1ZSlcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG59KVxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwiYmxhbmtfYmxvY2tcXFwiXFxufSlcXG5kLnB1c2goe1xcbiAgICB0aXRsZTogXFxcIui0puWPt+WvhueggeeZu+W9lVxcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcInRleHRfY2VudGVyXzFcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgbGluZVZpc2libGU6IGZhbHNlXFxuICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgZGVzYzogXFxcIuivt+i+k+WFpeaJi+acuuWPty/pgq7nrrEv6LSm5Y+3XFxcIixcXG4gICAgdXJsOiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCIsXFxuICAgIGNvbF90eXBlOiBcXFwiaW5wdXRcXFwiLFxcbiAgICBleHRyYToge1xcbiAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFwic2V0SXRlbSgnbW9iaWxlJyxpbnB1dClcXFwiXFxuICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwiXFxcIixcXG4gICAgZGVzYzogXFxcIuivt+i+k+WFpeWvhueggVxcXCIsXFxuICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICBjb2xfdHlwZTogXFxcImlucHV0XFxcIixcXG4gICAgZXh0cmE6IHtcXG4gICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxuICAgICAgICBvbkNoYW5nZTogXFxcInNldEl0ZW0oJ3Bhc3NXb3JkJyxpbnB1dClcXFwiXFxuICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgIHRpdGxlOiBcXFwi4oCc4oCc56Gu6K6k4oCc4oCcXFxcIixcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgc2V0SXRlbShcXFwibW9iaWxlXFxcIiwgZ2V0SXRlbSgnbW9iaWxlJykpXFxuICAgICAgICBzZXRJdGVtKFxcXCJwYXNzV29yZFxcXCIsIGdldEl0ZW0oJ3Bhc3NXb3JkJykpXFxuICAgICAgICAkLnJlcXVpcmUoXFxcImhhbnNodVxcXCIpLmxvZ2luKClcXG4gICAgICAgIGJhY2sodHJ1ZSlcXG4gICAgICAgIHJldHVybiBcXFwiaGlrZXI6Ly9lbXB0eVxcXCJcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCIsXFxuICAgIGV4dHJhOiB7XFxuICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgfVxcbn0pXFxuZC5wdXNoKHtcXG4gICAgICAgIHRpdGxlOiBcXFwi4oCc4oCc4oCd4oCdPHN0cm9uZz7kvb/nlKjliY3pobvnn6U8L3N0cm9uZz5cXFwiLFxcbiAgICAgICAgY29sX3R5cGU6IFxcXCJ0ZXh0X2NlbnRlcl8xXFxcIixcXG4gICAgICAgIHVybDogXFxcImhpa2VyOi8vZW1wdHlcXFwiLFxcbiAgICAgICAgZXh0cmE6IHtcXG4gICAgICAgICAgICBsaW5lVmlzaWJsZTogZmFsc2VcXG4gICAgICAgIH1cXG59KVxcbmQucHVzaCh7XFxuICAgICAgICB0aXRsZTogXFxcIjEuIOacrOWwj+eoi+W6j+aJgOacieS7o+eggeWFqOmDqOW8gOa6kO+8jOS4lOacrOinhOWImeS4uuWtpuS5oOebrueahO+8jOivt+S6juWvvOWFpTI05bCP5pe25YaF5Yig6Zmk77yB77yB77yBPGJyPjIuIOinhumikeaWh+S7tuS4jeW8gOaegemAn+aSree9kemAnzNNL3PvvIzlvIDmnoHpgJ/mkq3liJkzME0vcyAo5Y+v6IO95Lmf5pSv5oyB5pKt5pS+6Z+z6aKR77yM5p+l55yL5Zu+54mH5ZKM55u05o6l5LiL6L295YW25a6D57G75Z6L55qE5paH5Lu2Ke+8ge+8ge+8gTxicj4zLiDlsI/nqIvluo/ku4XpppbpobXnmoTmlofku7bmlK/mjIHpgJrov4fplb/mjInliKDpmaQ8YnI+NC4g5pys56iL5bqP5Li65YW25a6D5bCP56iL5bqP5o+Q5L6b5LqG6LCD55So5o6l5Y+j77yM6LCD55So5L6L5a2Q6K+35Y+C6ICDKOWtkOmhtemdoi3osIPnlKjnlYzpnaIp5rOo6YeK6YOo5YiG55qE5Luj56CBXFxcIixcXG4gICAgICAgIFxcXCJjb2xfdHlwZVxcXCI6IFxcXCJyaWNoX3RleHRcXFwiXFxufSlcXG5zZXRSZXN1bHQoZClcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIuiwg+eUqOmhtemdolwiLFwicGF0aFwiOlwiZGlhb3lvbmdcIixcInJ1bGVcIjpcImpzOlxcblxcbi8qXFxu6LCD55So5L6L5a2QXFxuKi9cXG5cXG4vKlxcblxcbi8vIOi/hembt+mTvuaOpeS+i+WtkO+8mlxcbmxldCB1cmwxID0gXFxcImh0dHBzOi8vcGFuLnh1bmxlaS5jb20vcy9WTzJPTVhvUkdUWFE0ZzZoeTF5SGkxVlhBMT9wd2Q9ZTZjalxcXCJcXG5cXG4vLyDno4Hlipvpk77mjqXkvovlrZDvvJpcXG5sZXQgdXJsMSA9IFxcXCJtYWduZXQ6P3h0PXVybjpidGloOjY5OTllNmQ4Y2I3NGQ1MTNjOWYzYmY0Mzg0MGZhNjg2NzU3MWZhM2NcXFwiXFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLov4Xpm7fosIPnlKjmtYvor5VcXFwiLFxcbiAgICB1cmw6ICQodXJsMSkubGF6eVJ1bGUoKCkgPT4ge1xcbiAgICAgICAgaWYgKC8oeHVubGVpfG1hZ25ldDp8ZWQyazp8YnQ6fGZ0cDp8XFxcXC50b3JyZW50KS8udGVzdChpbnB1dCkpIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcImhpa2VyOi8vcGFnZS9kaWFveW9uZz9ydWxlPei/hembtyZwYWdlPWZ5cGFnZSNcXFwiICsgaW5wdXRcXG4gICAgICAgIH1cXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwidGV4dF9jZW50ZXJfMVxcXCJcXG59KVxcblxcbiovXFxuXFxuY29uc3Qge1xcbiAgICByZXExLFxcbiAgICBydWxlMSxcXG4gICAgYnl0ZXNUb1NpemVcXG59ID0gJC5yZXF1aXJlKFxcXCJoYW5zaHVcXFwiKVxcbmNvbnN0IGQgPSBbXTtcXG5sZXQgZGVzYzE7XFxuXFxuaWYgKGdldEl0ZW0oXFxcIm1vYmlsZVxcXCIpICE9IFxcXCJ1bmRlZmluZWRcXFwiKSB7XFxuICAgIGxldCBodG1sMTtcXG4gICAgaHRtbDEgPSByZXExKFxcXCJodHRwczovL2FwaS1wYW4ueHVubGVpLmNvbS9kcml2ZS92MS9hYm91dD93aXRoX3F1b3Rhcz1DUkVBVEVfT0ZGTElORV9UQVNLX0xJTUlUXFxcIiwgXFxcInVuZGVmaW5lZFxcXCIpO1xcbiAgICBpZiAoaHRtbDEuZXJyb3JfZGVzY3JpcHRpb24gPT0gXFxcIuW4kOWPt+iupOivgeWksei0pe+8jOivt+mHjeaWsOeZu+W9lVxcXCIpIGh0bWwxID0gcmVxMShcXFwiaHR0cHM6Ly9hcGktcGFuLnh1bmxlaS5jb20vZHJpdmUvdjEvYWJvdXQ/d2l0aF9xdW90YXM9Q1JFQVRFX09GRkxJTkVfVEFTS19MSU1JVFxcXCIsIFxcXCJ1bmRlZmluZWRcXFwiKTtcXG4gICAgaWYgKCFodG1sMS5lcnJvcl9kZXNjcmlwdGlvbikgZGVzYzEgPSBcXFwi5bey5L2/55SoXFxcIitieXRlc1RvU2l6ZShodG1sMS5xdW90YS51c2FnZSkrXFxcIi9cXFwiK1xcXCLlhbFcXFwiK2J5dGVzVG9TaXplKGh0bWwxLnF1b3RhLmxpbWl0KTtcXG59XFxuXFxuZC5wdXNoKHtcXG4gICAgdGl0bGU6IFxcXCLotKblj7fnrqHnkIZcXFwiLFxcbiAgICBkZXNjOiBkZXNjMSB8fCBcXFwi5pyq55m75b2VXFxcIixcXG4gICAgaW1nOiBcXFwiaHR0cHM6Ly9pY2RuLmJpbm10LmNjLzI1MDUvNjgxOTZkMWM4ZTk5My5wbmdcXFwiLFxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxuICAgICAgICByZXR1cm4gJChbXFxcIueZu+W9lVxcXCIsIFxcXCLpgIDlh7pcXFwiXSkuc2VsZWN0KCgpID0+IHtcXG4gICAgICAgICAgICBpZiAoaW5wdXQgPT09IFxcXCLnmbvlvZVcXFwiKSByZXR1cm4gXFxcImhpa2VyOi8vcGFnZS9kZW5nbHUjbm9SZWNvcmRIaXN0b3J5IyNub0hpc3RvcnkjXFxcIjtcXG4gICAgICAgICAgICBpZiAoaW5wdXQgPT09IFxcXCLpgIDlh7pcXFwiKSB7XFxuICAgICAgICAgICAgICAgIGxldCBrZXlzID0gW1xcXCJtb2JpbGVcXFwiLCBcXFwicGFzc1dvcmRcXFwiLCBcXFwic2Vzc2lvbklEXFxcIiwgXFxcInVzZXJfaWRcXFwiLCBcXFwiYXV0aG9yaXphdGlvblxcXCIsIFxcXCJyZWZyZXNoX3Rva2VuXFxcIl07XFxuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0IG9mIGtleXMpIHtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShpdCk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgfSksXFxuICAgIGNvbF90eXBlOiBcXFwiYXZhdGFyXFxcIlxcbn0pO1xcblxcbmQucHVzaCh7XFxuICAgIGNvbF90eXBlOiBcXFwibGluZV9ibGFua1xcXCJcXG59KVxcblxcbnJ1bGUxKGQpO1xcblxcbnNldFJlc3VsdChkKTtcIn1dIiwiaWNvbiI6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSW9BQUFDS0NBWUFBQUIxaDlKa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUFSelFrbFVDQWdJQ0h3SVpJZ0FBQ0FBU1VSQlZIaWM3WjFaY0IzWmVkOS81M1QzM2JBREJFa0EzSGR5eU5rNE14cEp3OUZJbGh6Yld1eUtyTEtkeEJVN3J0aEpPWGxJdVdMSDVVcUZlYkdkY3ZraFZVbko4a09jMktsS1lrV2wxWjVvYkkxbVJJMW0wWEJJRG5jT0Y0QWdBUUxFdnQ1N3UvdDhlVGg5OTc0Z0NBSWtNTUsvaW14MDkrblQ1L2I1K2p2L2J6bW5ZUjNyV01jNjFyR09kYXhqOVVFOTZnWUFEcUNqcllOdGt4dWQwOUcrRTNPZGZpaXRXMzZZbUgycCtqdUl0bUYwTEl6K1BUSThCRUU1cmpuYTVYUjM0M2t0MjF0U1lhWVRaVHFVazJ6RFRYUTdUc05tM05RbTVYb2JsSEthVWJvbDRlb1dRYWUxMGttQmhFQktVZlkwUmJraWExTlFsTUpvSlVIeDl3aWlsT1MwVnI0eEpvY3dsL2VEU1lWTUdnbW1KUEJIVEpBZHd1UUh4WjhkbERBYzkxVTQ0b1c1MGVrUGJreDBnWC95NUdBSXg2c0ZjSG5idldJMUh6cWUyTmFlYlBCNm51NUpOMjg1Sk5vOWdKUGVxWFZpaCtONTJ3V25DMVJxeGU3L29ZT2d0Y29hRXd5YXdPOHpmcTVYcS93TjhiT1g1eWJ2WEJnZGZQZFd6MWh1OXNLRjQvbVZ1UHV5QzhxZW4vM1h5WW1aemUydDIxNDZrbW5wL2puY3pGR2wzYTFLTzEwaUtySGM5L3RKaGxLU1I4eGdFUGo5Q1hLbnA4YjZ2eDNjZnVQOTN1RzVNWlpaWUpaVlVEWWYrLzNPWk9memh6dTNQZk5iUHVsamFLY2RrZFRxb0VJZmRraE9pWXhxbVRzeE5YRCt5MFBYdjN0Kyt1U2ZqaXhYN2N2Umc0cVgvaUs1TFRtN3UzWG5KNytVYk96K1YvbFFkeXhEdmV0WUlseGw3dnB6ZC83citQVlh2dGFmYjc3S2E3K2VvMFR4bG9RNGEyTFIrTktYL3RxWjdubHg4NDd0VC85TXB1ZjUvMGhpdzYrR29qSVBVdWM2SGh3RzFhQzhwayswZFI5OHVqV1puRXB0KzlUbzFHVTlCeGVXTEN4TEY1U1hqcnZaWk5mdXB1M0hmaTNSMVAyN1JpV1BzRDdHckNhb3dMaGJFcG5XNTV4a205TzBiZU90OFV0RGs5QzdKT3RvYVlMeW0xL3h1aVpiOXJic2VQSGZPb21XWHpjNG01WlV6enBXSEVaVWkvWXlUK2hVUjVQWG52NWd1clY3a3NHVDl5MHM5eThvUjcvaWJaNmYzdHQ5NUJmL0UyN1RMNkwwK2xDenFxRUFsWExjMUJQTkczWnNsYW5CTXpQdFg1eGc4RHYzSlN6M0pTaEhqMzdGUy9RMEg5NTA4QXQvR0tyTTUxbTczdEdmUkRpaUVnZGJPZy91U01yNHVZbk5CMGZvZlczUndySjRRZm5TWHp2cHBxWmRqVnVlL3gyY3BpK3lMaVJyRXFLOFhWNURlN294Q00rUFh6SVRpeVc0aXhRVVVWczJuK3hxM3ZtUmYrWWttdi9wK25DenBxRzFrOXpwSkZ1eWJadmJMbzllK2VyTVlpNWFuS0M4dENPMWJmdGpuMHMwZGYrdTRIUStVRFBYc2V3UWtXaHIvd0VvdFpBQnFsSmVJcmtYYmE0T3QzN3NDcjNmRE81MWowVU5IMXRTay9zeUhkdCtPeFNuZXpIbDE3SHlzRUloK0tFUWhCQ0VKU0d4NXhjZVVVSnh1cjNXSGY5aWMzSjI5Mkx1ZDArTnN1bGpmN0t4ZmU5bmYwMjg5bDloM1UveVNDRlJ1RGswWUF3WUFlMUFPZ0hkN1pwdG5RclBVY3htclpBc3JGVkFjTGMyTm13Y0Y3ZnJ3dXp0VjJjWEtydWdvQno2MGw4bmROT09aNXM2OS82SllkM2orcWdnSWhnRGZnaCtJR2lsU0NkZ3gwYUhwM1k0ZlBTQXkwdUhYUTV0Y1JrWU53eU1XMys5dm9lZ0FNcE5OaHhScnB3WXk3YmRadXlkdWprdmJyMFRBSGZ2OXJadmYvSWYvM05mblBZbC9MNTFQQ0RzMEdLRnc5R0tWQUkydFRqczNxelp1VWx6c01kaFQ1ZERjd1ptcy9EcVdaOGJRNGJRQ080aXpaVEE2TGFtVFlkL1kzdlhoWE45Vnhtc1Y2NitvQnc2bnVqbytmamp2cVNQclE4NER3OEZhcEhORzR5QTUwQlhtOE9CSHNXZUxpc2tlN3NkTmpRcW1oczBLUS9tODhMSnF6NS9lOHJuem9RaDVhbjc2akpEK2xoaXk3T0hEeDA2UGxvdm42V3VvR3hyVHphazIzbytaN1N6SGdsK0NCQ0IwQWk1d0JMQmxveW1wME54Y0l2RC9tN05nUjZYemEySzFrWk5ReEpjUjZFVUJJRndmZER3NnRtQXk3ZkM0dkY3OFpPS2V5dW5QZDNXODltKzl1Uzd3SDBJeXZIajJqdnpkRStvTTA4cUpMbk9ZVmNPeGxoeUdvU0M2Mm8ydDhLK0xzM2pPeHoyOTdqczJxVFkxT0tRVG9EbjJnVEtjaUc0TzJWNDlWekFHNWNEUkJTdWMzOUNFaUVsVHVicHpxM0h1aWM1UGhtWFZoa3ZLTi91Y3RKUGR4L1MydDBxNjBLeTdCQVJCUEFEeVBwQ3dvWHRteXd4L2NoZWx6MWRtdTUyVFVOS2tYREIwZVY5VVByYkQ0U3pmU0hmUGUwek1RdXBoRUl2c2J1MDQyNU5aSm9QSFQzYWRlWGt5Wm9FOEhoQjJiS3J6VlZPY2ovYTZYcXdkSmQxVkVQRUNzaE1WbkFkeGNFdG1rOGM4amk2eDJGZnQ4dkdaa1hDQXdUMEFyMHVBZ1Bqd3RmZnp0TTdiRWk0TEZsSUFGQk9sNVBJN0I5azBBUDg2dE4xT0VxNkhaWGFMVUx5QVc2OWpnZ2lZZ1VraEh3Z05LWVVIenZnOGxPUHV6eTd4MlZMaDZZNW8vREtoNDBGT2wxRW1Kd1Z2djVtanRmUGh5aGxPY3VEUVNXTjhuWjdCei9Wd3NuamM5Vm5Zd1dsd2Uzc3dFM3NlTUE3LzBTajNEbG05NFdPWnMyZXpRNUhkN2s4dmR0aGY0OURhMGJkVnllTENITTVPSFVqNEJ0disrUURJWk5hbnZpczR5UzM2L2w4SjlTYXlmRWFSUVVkanB2WXRqN3EzRDhLcm5VVHhWMFNycUtqQ2ZaMHVUeXoyK1h4SFE0N05tcmFHalhlRXRMRy9BQ3UzQTc0NWpzK3ZYY05qZW43TTRVWGduSzg3WWxrS3RiS2pSVVU1Ym50b0dQak9pSUNTaUZHMEZvaElrdGgyUjg2Mk5pS0lqUldTQndsYkd4MU9MUkY4OHdlbDZkM09XenJkR2hNTFgyWUVJSGhTY01QTG9TOGZ0NG5uVlE0R3BicjhXdnRkaHZ0eGpwWDR6V0s5cm9FRmN0UEJNam43Y05JdUZMRnlIOXlJUUs1d0E0MUcxc1V6KzF4T1hiSTQ2bGREcHRhTk9uazBpMlNBdWJ6d3VuZWtMODc0ek9UVldSU3NIejZCSXlRY2hPWnpYSG40Z1RGMFY1alYxeGhFWEFWYkdpM1RwM2hTV0VtYTlBYVBNY0dwS3J0L0E4N2pCRjhZeDFmN1UyYUozWm9qaDMwZUhLbnc3WU5EZzFMMUNCUy9vZXk5N2w1TitTTml6NERZMExTTFFoSlZHQ1pJTnJyeHNZQUsrSStzWUtpbk5TR3VFcENJeml1b3F0TjhkaFdsOUFJQStOQzMxM0Q2TFF3bTdVaGI2M3NzS1FWa1pkdzJYN0hxb0VSNnlRVGdaWU1ITnppOGR4ZWgyZjJPT3pvMURSbk5BbDNTYzZ2U2lFQnhBaXpPWGpuU3NEcFhrTXVrTWo1QnN2dERIWGNUQ2MyL2VTZWdxS1Y5bUlKamFNVlFTamNIb1drRzNCZ2k4TnpleHllMytjeU1Xdm9IeFg2aGtNR0oyQnF4dGdjaVVqRGFBV09zNXlLOHRIQWVsSVZnVEZrRW9vRFBacm45M3M4dmN0aDF5YUhqaVpGMGxPZ0Z0ZUZCWDBneFQvc1ZxUndYQWdNWEw0VjhNTkxJWVBqVm9PdkdCeW5IYXRSS253cDhScEY2N2E0T2dvdngraU1NREVyWEJrMDF0emI3ZkQ0ZG9lUDd0ZE16UW5YaDBLdURCaXVEb2JjR2pWTXpkdGY3eGhCYStzWVdvamJGRXpMOG9kWGVETWZwWFlLamVBSFlFVFkxS3I1MUdHWFR4N3gyTmZ0c0tIWm1ybUw1U0hsV3FOR2cwaHBWNENaT2VHTlN3SG4rd1A4Z0VWSGhwY0NSN3R0eEtTZnhBbUtVcWpHaFNyVFNtRkVtSnFISDE0S2VQMUN5SUZ1eGVlZVNmRHB4eDJlMjV2QUdHRmtXbkgycHMrcDZ5R25yb2VjdnluTTVFSWFrcHAwMG5vbVZZWHIxOWFMMkl3dEkvYWY2NVNHTTBTaUllM2hTRXd4emREQWJBNVNIcngwMk9XTHozczh0ODhqazdBeG1zVzJwcHA3Vk85SzFYNDJMNXkvRmZMdGQzMUdaOEJ6QktWV1RxVVkwYzNFS01OWWplSWxuTWFnVGlLL1VvcklRZ1lnazFRWUF4OE1Hdjd6MzJSNTdaekR6ei9uOGNJaGowMnQwTldXNEpPSGhaa3MvUGlEZ0pQWEFrNzNobHk3WTVpY002UThTL2JFUU00MytBWlNycUlwbzJoTWdhTmhPaXRNelVFdVozQzA5VTE0YmpSalpRWGxSWWhjN2dheWVSdXMrOEp6SGovemxNZVdEc3RCN3NmdXFOWWNTT3h1RVlFUlJxWU1QN2pnYzJOSVNIdUxTa1o2SUNROXA0WEZhaFI5ajJ3MjI5Wm9LTUNtNDZXU1lJemlURjlJLzZqaGh4ZDlYamlZNE9sZERsczJhRGExd0dlZTlIaCt2OFB3cEhEcFZzamxBY1Axb1pDeEdXaEl3cllObXEwYkZKdGFIVHFhYktoZEt4c1hHWm93REU5YTRueGx3TkEvRXBMMTdSdnZPcHJsc3JZS2I3SXhobENzRUd4cTBYejhnTU5ubmtod2FJdW12VW5YVmYreG5JUDZHcVBnaHlwcXJyTGpNL053K2tiSTk5NFBVQkhIVzNGb2xZNDdYSWVqcUZSdC9IQmh1Rm9oQ3JUU1RNd0tKeTRhcmc3bU9Odm44dEg5bHNOc2F0TjB0bWcyTk5zMHZoY09Dc05Ud3ZpTUlaTlViR3hXTkdkVVVXTzQybXF3SUxTWlhqbmZhcGJyUXlHbnJnZThjeldnZDFpWXl4c1VDa2Mvb0xDSUlDZ0NJMmdVclJuRnZtN05TNGRkUG43UW82dFZrMG1xR2kxV0xSeHlENDBoeFhzVmJpczE1ME5SM0I0TmVPdEtRUCtJSVoxUUtMWHlyZ2VGemhDVGRCL3JjRFBDa2hhOHNjRXBLL2xoS053YUV3WW44cnpmcDNueGtNc0xoMXoyZGpsME5EazBwNFdXakdaenEyQndVRWhkcThoMUZDbWdLYTFvYnhLMmJQQjRmTHZEMFQwdUw3K1g1NjByTURKbEgvTlNoVVZFUUJSK0tDZ0ZQUnMwSHovZzhjbkREay90Y2trbjRxTzVwYzZ1UEZDdFFTcnVFM045K2I0Q1pyT0dDLzJHdHk0SGhBSmExdzc3S3dIQnVDeVNvMmhRQytiUzNnc0syN211QTRGUlhCd3dYTHlkNTkycklUOXoxT1BGUThMMlRvZGt3Z3FWVTd6cTN0REs1bWhzYk5WOHFsV3plNU5tYTRmUHk2ZDgrdTRhakFGWHkzMk41U2FLemZpQjREbXd2OXZobDE1SThPSWhsNDJ0dXNLU3FlaFlxWE84N0ZoQmU5UzVySFNzcXE3QmNYanJTc0RvakIzNjhvSDEyNnc4aWRjZU1YSVJ5MUZrR2RkV2N6VzBaalE1WHpqVmErZ2J5WEhwVnNndlBPZnh6RjZQbFBkZ0ZzeldEWnAvOGxLQzNaczFYMy9iNSswckFXRUl5bG5jUXpWaW5ZU0lzTFZEODVrblBINzI2UVQ3ZWpRcGI2RlkvOEwxRm8yYWVrSlM3aStwdW8wQzVuT0dMUjJhWDMzSlE2SDQxcnMrWTlObDF0OEt3ZFNabVJHck9lNHhkMmhKU0xnS1Y5c1ErWWtMQVhNNUVCUlA3blJvVEQ5QVpwWld0S1RoK2YwdXFhVFZZbTllRHZERGdpbFp2K0lDOTJsT3d4TTdQRDUxeE9YakIyMXVhc0l0WFZmQlFjcFFiOWdvQms2ckNXcWhuRlRXVis0M1VVQW9zSDJqdytmU2l2Rlo0WHRuOGt6T1J0ZXRjR3l0bmcxWFo0aFovc1lVV2JzeXpPWVU3M3dRb0lBZzlEaTYyNlVwbzVacytqbU9vclVCanU1eUNRTHJGRHQ1TFNBZkl5eUZLSzhmMnJreVBlMmFGdzY2SER2bzhNUk9sL1pHNnppcjRCNnF0alBqckpjSzRSQ3BLVmVzRDd0NHJLSktDSlgxR3dFMHBTRWZLTjY5R3ZDREN5RTVYeUxoWGQ3WVRqV2tqcXFNMXlncjJCaEhhNVFTc2o1OC8zeUFFU0hod1pNN1hScGlMSXJGMTZ0b1RzTkg5N3NZZ2JtODhINWZTQkJ4bG9Ld0NPQUhCcTBWQjNvY3Z2Q2N4d3NIWEhvNmJJUlhxUUt2S09jWWxmZXE1aDdWMWt0NXVRclBhL254c3ZPbTdFU2hDaitBaS8waEw3L25jMzNJMkxZOWhJRHIvV2dVTFVaNUs5a1lyUlE0UXVERGErY0ROalJyV2pPS0ExdnVMOXVycGw0TmpXbk54dzU0akU0TGs3TndiU2kwT1J2RmhHYjdaaDdlNXZDUGppWDR5RDZYdHNZeXdscGwwbEoydUtnNXl2ZXJDeFIyNncxVDllb3ZhQ1NzNS9uMnFPSDdad1BPOUlZa3ZLVnIyL3RGYUVpd1dQTllIc0w4REszc25ObTVQTHh5eHFlN1hiR3hSYk94OWNFQ0dWcFp6dkd6VDN0TXp3bC85UVBEK0l3aDRTcm1ja0pEVXZIcEp6eCs2ZU1Kam14M1NIaVZQN2FlOVFLTE1HMWpMcTYya3VwcGwwTDlPcEsrMTg3NWZPK3NUejVVcEJPUFBwVDZpQmZEVWFROHhkUWN2UHArd0trYklYN3c0RXhhS1VWYm8rS25uMHJ3NlNNdVNWY3hOV2N6enI3MDhRUy84ZWtrais5d1NKUlpOZlg4SFRYYnFndWtTa09VY3hFcFAxL2NMOVZYc1Ura29ReWN2QmJ5clIvYktSaUpCM0pVTEI4ZVlUTnNKMm1sMEZxNGVzZncvYk0reis1eGFXMVllS3JDWXFDVllsdW40clBQSkxnOUtneU1HNzc0c1FTZmVkeWx1MTJYdWNOTHhOVlVxUVFqbGRJUXh5bHN1ZEsrVUNsTTVjSkNsWEFVVGhoam5YeWhnWnZEaGkvL3Z5elhod1JITHh4bGY1aFlGZkxxT29yNXZPR3RLeUdYYjRjOHM4ZGJjczVGZVNlNUdnNXYwL3o2cDVQazhzTFRlMXlhMDVXRU9jNGhWbEZQL09sN2M0NllpK3ZWcVpSZHhtSjBTdmphai9MODhLSWg2WUhycmc0aGdWVWlLSVg4bE1GeHd4c1hBdzV2ZDhzeXVPNk42azRyUnlhcCtkaCtYUlNPaWplNlhqMkYvWHFFdE9xQXhKV3BIcXFxNnF6bUxqUHp3anRYQXI3MXJvL25RT0krSjVxdk5GYUZvSUI5cTBKUm5PNE55QWNzS3FaUi9iRHI3cXJTL3IwSTZZS2RIKzNVSmJ4MXRFZjVmam1IS1FUaGpZR0x0MEsrZlRKZ2JGWWV5RTJ3VWxnMUt6c1djbXhIcHlIdkx4eTZydEFnWmFTZ2FyZFV2b3FRMXRSVExGZDVmZkh2S2c1U2Mvc3k3VkZ6dlZRUzJ1cjdPd3FHSmd3bkxnU2N2eGtzSERaNGhGZzFna0xrUDdCVEhsVGRUbzF6ZTVkdnk4dmJxWnkxVmt1UllNWjBZc1Y5cXM1WENFRWtBZldzb3VMMUM3UmJLWnM2OGRhVmdCOS9FREtmQjYxbDFXa1RXRVZEajdVK0lqOENFam1mS2xFZXlvOGJHaFpEVE9PS1NFeDk1ZnVtcW5Ec2VhbFRuaktycUZDM2lVSWFDaTRPR0Y0L0YzQnJ6QXFJWHNFMHh3ZEJQWWZiUTRlSk9pRHBVVUZraXdFMEZwL2ZVUk9BVXpIQ1VYVkJYQ3hIUmUyS3YyL3B1b1h1VjlzZUtjWjJScWFFVjg3a09YdlRNTy9iS1JpUDR0a3ZCdkhpVzhPOEhzWldZY1FtSjduYXhoenFPN1BxcVB1YWNsWGJzbitGNDFKMXZueHI2dFZmVmErcHZrOVZmYWE2dldLSG5EY3ZCN3gyTG1SaVRxSXd3MExQNXlGdVkxQmZ6ejNreGhsamU2MDFvK3ljNW9XYXBTbzVUTjAzZmdIY00yWGdYaHlwN054Q0dxdld3MnNiUERodWVPVjB3TTI3VnNQb21nc2Y4YllLcTRxaklFSm5zNE5XOW1rdTFkOVJVMGJpZjcrVVhWeFRaOVhCOHZQMWg3SEtJTDFVL1NGWW9acVlNYng1S2VTOWE5SGFKdnJoVFQ5WktsYU5vTmhzZXRqUVl2TkxGa3o2aWVFQWhiK3JMekJsNXd2M3FiaHZWVHVNTEpGemxKVXZiMUNGNXNIT1ViNTJSM2pqWXNCc0Z0d2xUanQ5MktnejlNUytYeXUyYjZjc1FOS0Z6V1U1cXFVeHZ1cnFtRGU2WEFQRW1iSUMxUFYzU09rZlZjZkw3MTlxankxY3FNL1VxNjlxSDJCOFJuanpVc0NGVzZWWmt3LzdlZDk3dnhZTGFKU0gxemo3eGdycHBLS3p4YTc1VVc1VndFSnZkSjAzUGpwUnNqSXFOVlM1NWxDVVpaeEY5UlhQUndlTVZNNi9NZVgxeE42L3RyMUc0TUxOa0xldmhFek9HbEtKY2cvc294YU9oWVZsVlJqdGhZZWRTVUpuczdJQndZVUlZdG1CQlhOWjcyVzFsQjJ2bDhOcTk2VnlXMVpQdFZEVXF6L2h3SzI3aGxkT0JWeTVIZUxvMWVlbVh3aXJpS05BWTFMVEVpVmFWNnY3VXNIS1k0VTN2bGhKcVZqeFVERzlrUmlocWllTWRUaFM3ZjFyTlVvNWpBaU9zbldjNlEwNWR6TWdHOWhzK3F4dko2MFZWblMwM0d4bDUrMHNGYXRDVUFxZGt2U0VWREltbVNpbUV5bzZaQ0hMaFpnM3ZKNEdpazdXYUtCN1hGZkRvYW9LQzBJMmhBMnRocC83aU12WUZFek4yV1cyeG1mc2xObjV2SjJRanJMenJRdXBqNFUxWmg0MVZvV2dXTlp2cDNNVzM5Q0lCTnlUZTFCOXZuUmRyRFVTTTZ6RXpmMWRrSHVVMTEvV25uclhHeFJ6K1pDZVRzV0dGbzJJSnBzVHB1Y2RScWFGc1drWW5qQ01URm4veXVnVVRNL2I5V1VDYk1CVVVWZ0c3ZEdzYUxVcUJJWG9vV1o5SVp1M1lmZnlxUXMxWENPR0swQWxJWVVGcktVcWY0ZXBrb1p5VDZ0RXg0VktZUkdwblR0Y3FxKzBWWUFmR25LK3dYT0VUS01sNjQ3U1JTRXlSc2psWEdibVlXaEt1SDdIY0hQWWNQT3VvWC9VTURZdEdDTTQyazY3MVVydWU3MzdCOFdxRUpUQ216ZWZnL0ZaUTFlSHJuaGpDOTFRVUFpRnpvdmpCckhEUVBsK0hQZUlCS0dpdnFyNkM2aE9sNnptUXVWcGtUYlh4SkFMRFBuUWFvVFEyRk9HcU5NUkVnbWJRTjNlb3RqVkF5OGVkTW41TUQ0TFZ3WUMzdThWVGwvM3VYemJNRElka25CVmFVWEloNlJoVm9XZ2dCMkw1M0xDeEl6WVlVZURtUGhPS2U1WEU4dnE4elhsNjNSeVdYMXgrM0gxVlJQYXVQS0thRzJWcXZ3YUVRR3RTOEpsS0xvRXdrZ3R1cDVpY3p2MHRIc2NPd2lUOHduTzlkblZEZDY1RW5EcGRrZ1EybFd3UFVkUWVtVXo0bGFGb0JUZXhOa2MzQm9MQ1l5SFE4Rkpac3RVV3g4MS9vN2k4UVU0Ujh6MTFaeWoybDlTajV1WWVzZEZpcHpMR01nR0lXRWs4Q3I2WDBVM0xrd1B0VlpaTkxGZVFGUlVqMWh6eVhFVkhjM0N4dzdhQlkwLy8yeUM4LzBCNS9wc2p2SEFtRENmTnlEVzVDNXdtdVhVTkt0Q1VNQ090MWxmNkIwV2drQndFdkhEU3Zsd1VPSVNsWVN5bUJwUXhsMEsyMm9PVTdrdkZkc0N5amxMUWVpcXVZd3F1NjdRamx4ZzhIMVRYTHk1Q0JHclFxUGZnMkNGUmdxYUlSSldRRkIyMlFzVWpnT3RUWXFXREd6djFIeDB2K0hHa09GTWI4akYvcEFiZDBJbTV5bE9lVm5PQ2UxMUJhWDZEYVpzdjNxN0hPY1ZkdW1KSzdkRDVuMGhGVTE2cXVZYzFSN1Rtcm0rWloxWWVQUExmMUMxWmpIVm1xTlF2SnB6MU55L1VDNFNycXJmRllyZ1I5eWt1ck9Vc3NORXdiK2pvZ3FWMWtYaFVWamhLQWhQUmJzMHBGS0tMV21IcmpiTjR6dGNidDROT1gwOTVMM3JBUjhNR0Vhbm8xVTVSYUsxVlFwUCtkNzlFNGNGRTVmcWpma3JjVjQ3Q2kzQ2hmNlEvcnNoeldtN1NGc2N6NURTVHBHTVF0VWMzc0xoY2g1VHBUbXEyMUFqRkthMmpGQkppTXVhUW5tdGZpRGt3N0RZZ09Jd1E3VGFaYlJmY0kwWC9TYlJBVldjWGxxckVRcjNDYU42bWpQdzVDNlh3OXRjWGpyaThhTkxQcTlmQ0xoNE0yUnFUdERSK3NDUnJOeXpmK0t3aW9ZZU8yV2pielRreE1XQWJSc2RtdEpWNnJwOFZRSUtZejZ4L3BiQ0g3V2FRdUxMVlYwdmRZNVRyY21vZkVQQkNsek90eFBrQzV4RXlncG9wVkJTY3FZVkFvTldLRlR4UGtwcnJIZXBTaU5SMmFrR3lJVzJubTJkbXA2T0pNL3ZjM25uZzVEdnZaL25RcjloSm1zOXdGUSt4a1ZqOVFnS29KU1E4aFJ2WFE3NXpKT0docFNkaHh3WDJJTTZmcElxRTllV3MyTitkVnBqY1hpU2FtRXFhSTdLWWE1bTVtQ1ZKaXZjUCtlSDVFT0RHR056WUtQN2w4VEFkbjZaWXJISHBaeUFGdmFoK2lVcFBLOXlJUzNNV1Jhc1Z0cSswYUd0UWJGbnMrYWRxd0d2blBicHYydHNPOWF5b0FBNFNwRkpDQmR1R2M3MmhYUzFhWkxSYW5JVjBWb3FPN1hTVTFvNFhpa2NwVzJsdFZRa3VsTHRSeWtKUjRXUVZ0MnZPZ3FkOTBQbWZVTVlta2hEU0xGelZGRnphRkNsdmk5dG80ckxQTEJGR1pIeWRYWlZoZDlIWVJkTHp2czJ4ZElQSWU4THN6a2g1eHZhR3hVdEdVVi85SHNXdnlwdUNhdEtVSlN5TStSbXM0WjNQZ2g0WW9mRDlvM2Fqc1dVYVlMeUhTbzFSL0VZWlVTeitucFRWazhaakttOEhwRjRYNDFVY3BKQ1BZRVI1bjFEUGdpTG1xRzBqVkllbzJGTDY0S0dzZEFWUWxPVUR0d2l0NEZDVW0wUUdIS0JqUTFsOHpDYkZVYW5oYnRUaHZFWllYeldNRDBINHpPRzhWbTdUdS9ZdEczRFVvMmdlRUZaaU5VOEJLUVNpdE0zUXM3MGhuUzFLVnhYRmIra1ZVQTVvUzNmTHlldXNSMWNkYStDUUZUWFcyMmFjNC9qWVJpU0RReFpQNmpnR0JBUlUwTnhkYlNDdjZRd002UEFRWndDWjRrMGlsYjJ1MGo1UURHZk04emxZV0xXTURvTlF4TWhReE4yd2VLUktlSE91R0Y4VnBqSkNqbmZydnl0ZE1tc3Jwand2b1QrWFZVYUJleEQwd3FHSm9UWHp2bzh2dDFoMTJaRjlVcmFFdE81OWppMXg2czY5MTdDVVg1OG9mckFkbXdRaHN6blErYnlZWEdJMFJFbjBjcGFPblpmRloxeGpyYXpEVndkeFg2MHJkajNGVE56d3VTY01Eb2RNRFJoRjlXNU5XTG9IekVNVFZydjlYUldtTThMQmx0UDByUGZKTlRhcnRGYldDNmpZQlkvS0ZhZG9JQjl1S0hBeFZ1R1YwNzUvT3Fua25ndTBlZlhJcXNES2poSEJYZUkyemRsbkdPaDY4dWoxdVZXVTVtMVV5Q2tnaUxuQjJUOWtGdytJb3BZRHFDSTFvYkZkcDZqd0hOTEtRUWk0UHN3bFROTXpDb21aZ3dqTXpBNFpyZ3pMdlNQR081TzJZOVR6R2J0TUNQWUpVSThSNUh3RkttRUxqT2hTeDdsMm0zdFMzQy9XSldDQXRhdk1qNGp2SDR1WUYrUDV0Z2hGeVZSZnFxUlNpSmEvTUJqMWRhVUNHZ0Y1NGdlWGxoV1hvU1M1aWt6aThvT0YwOFlNWVFHY2tGQXpnOEl3a2hqUk1PR1V1QXFtNm5uT2xaSVFyRmNZajRIWTFNMnBXQm9Rcmc5WnJnMUFtTXp3dlE4ek9hRWJGNElURFFjYVRza3BaTUZBbHh5MWxtb2ltMHROeXBzbDlnUkVWYXZvQ0NFQXRlR0RGLzdrYy9tVnNXT1RVN3hCMWVZcEdVbzc5UTRqbExZU0pVemJVSE9VMWFSYnd4K1lLeWZKRFNJQ0k2anJhYlExb0dtRllTaE1KZUg2VGxoYWs0eE9tVVlubFFNakZyQkdKNFVabktXdUFlaGRhNjVqaDFHUEZmaFJrTndqR1g4U0xCcUJVVXBxMmFERUg1OE5lU2JiL3Y4d3ZPd3RkTkJhV3E1UTR5M3RPend2WGtNbGJ5blVLNzZ2QjhZWnJPKy9jQ2tKdnBnZzBVK0w4eGxZWHdHUm1kZ2VCeDZoNFQrRVdGMEJtYm5ZVDVmV29IYWM4RnpOY21ZUlptTGVtSVZDQW1zWWtFQk81YTcydm9Gdm5zcUlPRnAvc0ZUc0hPelUrUVhkdVJldkhVU0YyMnV1Qzd1K3NKQnBkQ0FxelZHREZwRnB1a1VESTBMSTFPS3dWR2hmeFNHSjJFMkMvTzUwakRpdVhaNTluUnlsZlQrZldCVkN3cllOODF6aE1sNWVPVzBqd0krOTV4aWE2ZEdqTTFka1lMVnQ0RFZVaDdnaTB0ZkxQeFJ6NlF1dURjOHoySGVGL3J2R25xSGhEdmowRDhNQTJNd01ST1pwc1lPalZxQjYyb1NhdlZvaHFWaURRZ0tnTlVzbzFQQzM1M3hDWTN3MldkYzl2Wm9zb0VsaWxLakthaXdXc3FGcE54VFd5K21FeGRsVnNxYXNrR2dlZnNTL1AxcE96VDZvYkxyNlVmWGVsNlpIMlNWY0l3SHhhb1hGSWdDaG83OStQVFFwUER5ZXo3VDg4SXZ2K2l4YTdOR0djaWJlRzJBU0luNEZyYVJscWpSSkZYSDQxYUpkQ2tzemVGd2U4eCtaOGpUZGczK1NvRllIbXRqdFdDQkpjNVhIM1JFWWtkbmhWZE8rMHhuaFovL2lNdGoyMXlTQ2F0WmpLa2FWcVF5dGxOdDVkUnFvcW9NdHlxTjQ0ZlFsTkU4dHcrK2Z6WmtZTlNnSFlyYTY4T0tWVEZUOEg3Z09OYnJtQXZoOWZNQmYvN2RQTjk5TDgvVXJQMW90TmFsUlhuSzNDRkFTVnNZb1VKMUdMSHppTXN6NUFyOFJzcXZsNUx2WlcrMzR2bjl1bWdLZjlpeEpvYWVhbWlsOEZ5YmszcjJac2pnaEtGM09PUUx6eVhZM2FYUlNwR0xXUUU3eml5dThhTlVsUzBYdGdLbjhRMGtQUGpFRVpkM3JvVGNIaEdjbXFIbnc0VllRU2s1ZmxjdjdEY0VMVjhZbXhhKytVN0FsUUhoODgrNmZQU0FRM05HNDVzUzBiVWFJdDRVWGt3QXNmejZJQUR0d3A1dWVIYXZ3L0I0WU9mZFBJeVBRejRpeEFtSzBWcjUwVmNXVmowY3JkQ2VJdWNMNy9jWnhtWjhydDB4ZkhTL3c4NHVoMHdTUkNuQ1NQUnJsdEVpeGxvcVEzV3lVNUdyR0VoNWlpZDNhMzc4Z2FML3JwQlp3UTlYUHl4b0xYbHFNekFlL3ZkNlZnSksyZFNFSUJSdWpsanRjckhmOE5TdWtDZDJPV3picUdrc1c5bzhySExmMTJiS1ZWczdWVWxOMlBoU0VNS3VMczNCclpyQk1UdlA1a0UrSTdNYWNGOWZBRnNMS3dERndYWHNKMSt6dnVKMGI4ajFJY1A3ZllhbmRqc2M3Mno3RFFBQUNsaEpSRUZVMmE3WXZ0RWhsYlRsd2xBUVVSWFdUaWs2WEd2dFZLUk5ScHJKRDZFbEEwL3VkbmovUnNpZGlhVi9KWFcxNEw2K0FGYVJDYnpHNEVUNUhVWTBzem5odmV1RzgvMkdMZTJLSjNlSFBMM0xZZDhXVFd1ak5manlBY1VKV3RVck1zWG1zWlFKVHhCYTU5citMWXJIZGpnTW5Ra3hZcVBGYXhYM3BWRWNUWDZ0Y0pSNjBBcVVZeWVBK3lGY3ZTUGNHZ3Q1NzZyaHNlME9UKzdVUEw3TG9iVVJIQU81b05ZcUtuQ1Rla0ZFc0FHKzlpYkZZOXMwcDY3WkNlV1pOUmpMS1VJa1lKRWNKWlJROHNVQXlocUdJaUs3SW1qSGZxZXY3NjR3UEJsd3JsZXovNE9RWi9kWmp0SFNvREhLY28rQ1FxMWVjZHIrVVpXK1lLeHZaM2VYWmwrMzVzZFhRc0pRVnMxM2R1NFhXaTFlVUVScmNyVkYxeTZVc3NPQnhucHVzM25vSHpHTVRDdXVEVm9POC9RZVlXKzNKcFZVaEtFTjdObGg1dDV6a2JYQWhtWjRmS2ZtVW4vSVRKWm9hWXExSnl5aUNPT094Mm9VRTRiWk5laTB2U2NLR3NiNlZZVDVuSEQ5RHR3WkQ3ZzJvRG4ybU9hRkl5Nk5HWVg0ZGxpQit1dW5GSHd0UVFpWmxHSnZqNDFxbis4emlGNmpEamhoanNXYXgyZzFIeTlYSHc3WXViMEs3WlEwek1tckllZjdER2Y3REwveUtZOXRHeFE1QmRrOFJWNWYxQ1NVWWtqbGFRdzlIWXJIdGltdURpajdOZFExK0s2SmhIUEVoSzNpZmtxWXl3Y3pLOStrMVFFVjViWW1QRVV1aEcrOEdmSUgveTNIaWJOMjNuQW1WZXZPcjNhK21TZ0dsRXpBem01TlowdWxFSzBsNUlOd0VtclZSQ3hIQVdiVzRHOWNHcUo4RjRYTmttOXBoTUZ4eForLzdIUDV0c094STVxdEd4MkNNTXFvcTRwT0Z4Q0U0RHF3YXpNOHVWc3pQaHVTelJWaVFHdG5EQkpqcGxpc1JqRmhmbnpsbTdUS0VHV2hKVnlGbDRDaEtmaTdVeUZmKzJISW1Xc2hlVitpN0hkVjQyOHBjSmJRUUd1ajV2QU9SVmU3S3ZsajFoTEVqR1BYR0t4QW5LQVlqQmxkK1JhdFRnajJJd2FlQTVOejhLTUxodi8xV3NEYmwwSW1aMjNYVjg1UnRsdER5V3U3dTF1enQwZVJTVUlZcnEwaHlJVCtHSXZXS0VGMlpPV2J0THFodGJLdWZvRnpmY0wvZkRYazFWTUJkeWVOblVjY0pWR1Z6d2t5WXJWS1M0UGlzZTBPbTlwVU1lcThab1Fsek4wRi9PckRzWUpDTURlNEJwWG1za01wR3hmS0pPMDhuSy8vS09Sckp3TDZoc0J6aExLWkdzV25GVWFmZ2R2WG96aTRWWk53d1VqY1BJSFZpVEEvTjhnaU5Rcmlad2NWWkZlOFZXc0lLUSt5UHJ4ekJmN3ZpWUIzcjlqSlg2NWI0aW9GZDc4ZkNNME5jSEI3eEZYV2lEcFJTRTdqRDhhZGkvV2pHSUp4WTRKQnBiMmRLOXUwdFlIQytpWnVOSS9uekhXWW5BMlp6Y0lUdXhXTmFZMGZTRkZ6aE1hbVpPN3FVdXpyVVF5T0VhVWdQT3Bmc2pBVWN0c1AvRmgrR3F0UmpBbEh4WVEzVjdaWmF3OWEyVWxjZmloY3VTMTg5ZldRSDd4dm1KbzFKRnk3YWtIQkNncENhRzFRSE42aGFXdGNHNlRXRC9KOWp1aFlmaG9yS0NuUEhaWWczN3V5elZxYktQQVdwZURXbVBETkgxbGhtWmszSkwxUzJtVVFjWldkbTIxeWs2RTJJV3JWSWN6MzVlZEh4dUpPeFFySzVNVlhKNVdadmFhUTNNcTJiTzNDZFJUcGhGMkcvS3NuUXI3eGhtRnkxcEJPbEdZVjVueG9iOVljM2F0b1NpdnlOZDZKMVFPbHlLbHcvbnA0Kzg1RTNQbFlRZWs2MnVXYjBMK0loQVAxODlYWHQ5WkJaMG51OTk4UCtmb2JocUV4ZytlV3N1QUVZVytQNVNwYUt3THo2TnNkdHhVVERqckt2enpBeVJyVEdJcUxSVlZpOE9RenRCM2NpRTYydjZpMHV6MnV6RG9zN09wS05uaDRaOXd1bzdXeFJkRVFMWDFxUk5HWWhweXZ1SHpUa1BWbFZhWkxTcGcvT3pWODliOVB2VGc1ekd1djFZeVJkWGo0YXhLMmRnVXRuWS92UjZlZVJLazFPZi9uWVVFcHNNdUd3cDB4SVREUTBTdzBaYUpWRER3N1RGMGRFRWFuREVyckpTKzZ0eEpRaXB5V21iL0pYZi83YjAzKzViK2ZqeXRUTnhBK09aYWFuWnNjL0Jzd3NlUm1IWlZ3b3ZuSFUzUHcrdnNoSjk0WGhzYnM4SlQzaGU0TmNHUVhOS1FWUWN6a3RFY0pNZUhvekVqL2QyNk81V2JybGFsdjJkOTlMV3pwT1RLZmFkOTcwS2pFNFJWcDRZY01TcW5pTURRNEt2aUJZa01MTktVVkNjK0dCVzRPQ3lOVGhWV3JWNGRhOGRUY3k2UFh2L3MvNW43OEI1UDF5aXpvQXVwVSsveHN1bmtzM2I3bGMwWlV1c0t4VysyVlh0OEhLZVczek9mdE1HUkM2T3F3bktVeEJXUFQwRGRrdVV4NUNPQlJ0ZGZSTWpaKzY4enZ0elhldUhUM3dtdDEwOVVXRkpTeHNYZEMzOTB4Mjd4cHQ4SnRQTVphbmNQeGtGSHc1T1o5R0owVWd0QzY4anRhRmJOWjZMdGpGOTF4bkpYOUdOTWlXaXJoM0owL25ibnh3Mi8zZnZjUHBoWXFlVStuc2o5OFl0WnAyVDNjMUhuZ1NWSHV0dVZyNUljYmhWVWk1L04yMlM2dEZOczNhWm95Y0h0RXVEMFNMUWY2Q0NVbHFYUHZURjc2Mno4Y09QRnY3dWxjWFZUMFljTkx2end0ODRuNVJMcjFJd2JWdEs1WUZvZUNacG5MUWYrSS9WTDgxazRJUXNXMVFmc0pXNFU4a2l4c1I0VUQrY25lUDc0MmRPSU5icjExVDFmZ29nUmw0dlEzdy9TMll5TTZ1VUU3WHVZSlVLa0hiK3BQQmdvRWR6WUhBNk9HeHFSaWM2dGlZZ1p1ano3OHI0MWFtQW1UbS95ejRlRlRYNTEvOWZjV2xjMjQ2SGptMUJWdnJubEx4MjJWM3REaGVLa2pmQmpuYzZ3UWxMTHIwVS9Pd3VpVTBKU09KdFRmdGQ3YjVmcWMyeUlSbVB6MC81bTYrY2FYUDlHUXVubmh3bGNYTllQclBnTGZGMlNpc1cwcUdYcTlEVzNkMjBSNSs1YmEwcDlFRkt5aG1TemNHaEdHSnUyODU0ZHRKanN5OS9KRTd4dC9QSEQzOWNzWC92N2ZMVHI2ZEg4WkVvTW56WFRMVDQvcXNYUHZOV3phc3dQdDdXSmRzeXdhT3ZyS3hsek8rbG9jUnoxRUlaSEFJZmZ5N1ZOLzlYdkRlNTY5eUhkK0t6YW1Vdy8zbjBveitCMHowL2tMRTI1KzZMelgwSmwwM09UT2RjNnllTmdsU0ZWeHpmeUhBek1SNW1iKzkyVGZtMzg4UE1rbHZ2T0YreElTV0lxZ0FBeCt4MHhmN1JodDdrbGQwS25tT1MrWjNtVkV0U3lwcnA4d0ZEN1Q4ckNFeEZIQkxjbFAvTm4wclROZjNqdlhjYm4zelY5Y1VyTERBeVRublRRVGw1bWdJM0VwNmVxcjZVeHpUeUJPRCt1Mjh5cUJFbTJ5YndRejEvL283czJUWHh0cS9rWi83OS8rN3BJbkNpOUhwNm9kdi9ZWHlmbnJRM3M3OXYzOFAzUXpHMzQ3RUtkekdlcGR4eEtSY0dVa1B6MzhYMlp1dlA3Vm0rR2Q2N3oySDNJVXZqTzNSQ3pyMjk5MDlIYzJkR3o3cWNlYWV4Ny9sNEZLSFZQb0RvSGtjdDVqSGZWZ2NnaWpIdGtUSXpmZi9zcGsvN3ZuWms3OTBkM2xxbjFaODhMemcyL09UZWk5ZzJhMi8zV3QxRnZKVkhyR0dNbHJyVVZCQnRRcXowTmZXMUNLUE1hL0pjWS9KLzcwZDdKVGZYOHljdnFiZjltVXpsMjVjMkxoMk0xOTMyczVLNnZBb2VPSmx2WmtRMVBYTTF1YUdqc1BpWnZlYjBqczFHNXlwM2JjYlZvN1hVYldyYVg3Z2NKa1JjeWdDWU9ieHVSdUVHUnZLQWt1elkyUFhGQjMzN3A5Y3l3M3k0WGorWlc1OTRyanVENzZtMTNPNEVtOHhxN3V0cmxrdWlPWlRIVUl0Q2szM1kyVDN1eDZxVTBvZDRPajNSWUR6UW5QYlVXcHRGSTZaUXdKbFBKQVZPRTd4c1pvajdXNmRwZ2dqb052YzI0TGs4TlUzaWF5bTV5SXpBZEJPQ0ZoT0tXUXlURE1qWWdFUThhZnZxTWxHTWpuY3VOYW1URXprUi8yRTMyVEF3TW5mVDdmSFhMOCtJcXVrYlVhSHJZVC9WUFlDV21xYkwvZ3pOUFV0bld0RG1OeGxvZGRqS1cwMGxGaFA0eU9oWFd1VzhjNjFyR09kYXhqSGV2NGljYi9CMTZiaU9aa3owMTZBQUFBQUVsRlRrU3VRbUNDIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment