1 line
6.1 KiB
JavaScript
1 line
6.1 KiB
JavaScript
dmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogIuW9seinhueci+WQpyIsCiAgICBob3N0OiAiaHR0cHM6Ly9tLnlza2FuYmEuY29tIiwKICAgIHVybDogIi9meWZpbHRlciIsCiAgICBzZWFyY2hVcmw6ICcvc2VhcmNoLyR3ZC9meXBhZ2UnLAogICAgc2VhcmNoYWJsZTogMiwKICAgIHF1aWNrU2VhcmNoOiAwLAogICAgZmlsdGVyYWJsZTogMSwKICAgIGZpbHRlcjogIkg0c0lBQUFBQUFBQUE2MlhYVlBhUUJTRy93dlhUcjMzcjNSNkVTVWtpMkZESVFrZmpqTlVLaU5NSzlwYVB3cmp4MVNLYlVGeDdEZ1dpdjRaTnduL29pZHgybEhZTjJqSEN5OWc5bkUzSis5NXpySVVpek9GRnhqWFluTXZsMktMYWlFMkZ4TnJGZTk4RUp1SmNTV2wzdi9zS0lhdGhnczVmZTJWdTZPZGsrQnIrcUNiMWl6OXBVeUhxYk9KUWxyUjFCZTZsVEppeXpQL1Zyc2J6WHVyTFRPZFZaWE1naDdON0I3ZVk3aVpTeHRLY0Z3TWlmY1hvbGU1dmFvOVJBM0ZVak5UWVcvdDNDMnZ3bE1xN0RYaDhtMjNtNkxhaG1TZUpXMHA1NVpyN3NwbnlDVVpUekw1VWR1YjR0Y0Fnb3VxYml0Y2Z0UnFPK29oa3paOFNIZWw0MjF2NG9lMGd5eEp5VkYzSytxMEtST2Z0blp5TzhUQmladGNLOXFtL0xnN3JkSEJONGhtbUE3MmREdHQ3M29kZ3FhZFV1V1A2VjZkaVhvUGdwckNOVXVSbytLNFBkcXI0T2VrM2tQMThiWndaWVA2VUczbEVSclV4ZXBWVlBZQ096d08vZHY4QkdtUUd2M1lKWmxJS0UweEUrb1k4MnI1MVV5b3A2eE96Zk04ZnJLY0o4b0pBT0xOcFNqWDVZQnA1K25ROGdieVQwcWc5U3lub0hCc2wvcXgvd1Z3bWwzRXpYTjZLZnJkMjk5ZnZRMXB0Q3dueVJTTGRqVnNiZ0RQWEs4RHNWa090UUhRR3ZVZHBLanJOR1REblJiRU1sQ2hzT21vT0JFZDUxNzA0R2JFZ04ydzZDMEhXaDdMMm5JaVRJMTlTM3RoMldKbFdrNlVML0Znb0p6Z3FTQXFxNklKNnM5VkZnZUhiQXh2KyszeDl0UnNjd0ZhbWQ1emRaTEFhWm9JWVFqUXZ4OWZmNmNhcWt4SzRmOGxHbUNQQlRQRkZwQnhKdVNFVjdzYisxNUhtb09RSVh1U2N1VHYxR3ZVM0wwK1JBdXNxSVAzVS9rdzJwTU96eEJNaFh1Q0YxVmVkZDhlUURRSWtvYUVOWjZLc1NlTmlzZE95MjEySUpwaDgrTVRadXEwRDBFODdjWHBPMi93RVlJNUNocTRaL28zKy81d0NFbURLbHRFMXRydWVaKytRelRQZUFMZiswU3o3MVhYSUp5MGcrcHE4MmpvbDd2K1VRbFhtQzZBNEZvTjlSZUNFUWIwYnpiSVpqaStOZy9hVmw2b3d5UFI2RVlVU2pFTFVMek52cnUyaSt0RVhRTW43bEZVbUxLNnlsR2N2TlkrWFpNalVmcnBJakZYa1VwUVlNOHBycXh1NWg3dHJTbUwzY1pQeXV4RHhFN0g2ZmNZQlAzVEc3OG5qV21BSk1LWi9sVDFCR1NVZVVhbHF0ZVdoanNnZzJtYlorQkdBT2RmUU9JSmlPOHRBUmQ1YzRIejRJN0U0NEQ4S282M0lXbWJPYkNsWCsyN3pUTUVGbGdXM00yYUpYcjVFeEhnYW01S0JPNUFVZDhVVitXSFlOcWVOMWhXRWxIcWhlVS92RmhwVXRFUUFBQT0iLAogICAgZmlsdGVyX3VybDogInt7Zmwu5YiG57G7fX0iLAogICAgZmlsdGVyX2RlZjogewogICAgICAgIGRpYW55aW5nOiB7CiAgICAgICAgICAgIOWIhuexuzogImhvdC9ob3Rtb3ZpZS9meXBhZ2UuaHRtbCIKICAgICAgICB9LAogICAgICAgIGRpYW5zaGlqdTogewogICAgICAgICAgICDliIbnsbs6ICJob3QvaG90dHYvZnlwYWdlLmh0bWwiCiAgICAgICAgfSwKICAgICAgICBkb25nbWFuOiB7CiAgICAgICAgICAgIOWIhuexuzogImhvdC90b3BzZWFyY2hjb21pYy9meXBhZ2UuaHRtbCIKICAgICAgICB9LAogICAgICAgIHpvbmd5aTogewogICAgICAgICAgICDliIbnsbs6ICJob3QvdG9wc2VhcmNoc2hvdy9meXBhZ2UuaHRtbCIKICAgICAgICB9CiAgICB9LAogICAgaGVhZGVyczogewogICAgICAgICJVc2VyLUFnZW50IjogIk1PQklMRV9VQSIKICAgIH0sCiAgICB0aW1lb3V0OiA1MDAwLAogICAgY2xhc3NfcGFyc2U6ICIuc3ViTmF2JiZhO2EmJlRleHQ7YSYmaHJlZjsoW15cL10rJCkiLAogICAgY2F0ZV9leGNsdWRlOiAi5o6o6I2QIiwKICAgIHBsYXlfcGFyc2U6IHRydWUsCiAgICBsYXp5OiAkanMudG9TdHJpbmcoKCkgPT4gewogICAgICAgIGlucHV0ID0ge3BhcnNlOiAwLCB1cmw6IGlucHV0LCBqczogJyd9OwogICAgfSksCiAgICBkb3VibGU6IHRydWUsCiAgICDmjqjojZA6ICcubWFpbiYmLmdsb2JhbFBhZGRpbmc7LnBpY1R4dEEmJmxpOyo7aW1nJiZzcmM7KjsqJywKICAgIOS4gOe6pzogJy5waWNUeHRBJiZsaTsuc1RpdCYmVGV4dDtpbWcmJmRhdGEtb3JpZ2luYWw7LmVtU2NvcmUmJlRleHQ7YSYmaHJlZicsCiAgICDkuoznuqc6IHsKICAgICAgICB0aXRsZTogJ2gxJiZUZXh0Oy51bFR4dCYmbGkmJlRleHQnLAogICAgICAgIGltZzogJy5wb3N0ZXJQaWMmJmltZyYmc3JjJywKICAgICAgICBkZXNjOiAnOy51bFR4dCYmbGk6ZXEoMSkmJlRleHQ7LnVsVHh0JiZsaTplcSgyKSYmVGV4dDsuenBteSYmVGV4dCcsCiAgICAgICAgY29udGVudDogJycsCiAgICAgICAgdGFiczogJy50YWJ0MyYmc3BhbicsCiAgICAgICAgLy9saXN0czonZGQudWxOdW1MaXN0OmVxKCNpZCkmJmxpJywKICAgICAgICBsaXN0czogJGpzLnRvU3RyaW5nKCgpID0+IHsKICAgICAgICAgICAgTElTVFMgPSBbXTsKICAgICAgICAgICAgLy9sZXQgdGFicyA9IHBkZmEoaHRtbCxydWxlLuS6jOe6py50YWJzKTsKICAgICAgICAgICAgbGV0IHRhYnMgPSBwZGZhKGh0bWwsICdkZC51bE51bUxpc3QnKTsKICAgICAgICAgICAgLy8gbG9nKHRhYnMubGVuZ3RoKTsKICAgICAgICAgICAgLy9sb2codGFic1swXSk7CiAgICAgICAgICAgIGZvciAobGV0IHRhYiBvZiB0YWJzKSB7CiAgICAgICAgICAgICAgICBsZXQgbGlzdHMgPSBwZGZhKHRhYiwgJ3VsJiZsaScpOwogICAgICAgICAgICAgICAgLy8gbG9nKGxpc3RzLmxlbmd0aCk7CiAgICAgICAgICAgICAgICBsZXQgbGlzdDEgPSBbXTsKICAgICAgICAgICAgICAgIGZvciAobGV0IGxzIG9mIGxpc3RzKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IHR0ID0gcGRmaChscywgJ2EmJlRleHQnKTsKICAgICAgICAgICAgICAgICAgICBsZXQgaHJlZiA9IHBkKGxzLCAnYSYmaHJlZicsIE1ZX1VSTCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF0dC5pbmNsdWRlcygn5bGV5byAJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGlzdDEucHVzaCh0dCArICckJyArIGhyZWYpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzY3JpcHQgPSBwZGZoKGxzLCAnc2NyaXB0JiZIdG1sJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vbG9nKHNjcmlwdCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhID0gc2NyaXB0Lm1hdGNoKC93aW5kb3cuKj0oLio/KTsvKVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coYSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBiID0gZXZhbChhKTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2coYi5sZW5ndGgpOwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgYyA9IGIubWFwKGl0ID0+IGl0LnQgKyAnJCcgKyB1cmxqb2luKE1ZX1VSTCwgaXQubCkpOwogICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2coYyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QxID0gbGlzdDEuY29uY2F0KGMpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBMSVNUUy5wdXNoKGxpc3QxKTsKICAgICAgICAgICAgfQoKICAgICAgICB9KSwKICAgICAgICB0YWJfdGV4dDogJ2JvZHkmJlRleHQnLAogICAgICAgIGxpc3RfdGV4dDogJ2JvZHkmJlRleHQnLAogICAgICAgIGxpc3RfdXJsOiAnYSYmaHJlZicKICAgIH0sCiAgICDmkJzntKI6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgZnVuY3Rpb24gZW5jb2RlV2QodCkgewogICAgICAgICAgICB2YXIgbjsKICAgICAgICAgICAgcmV0dXJuIHQubGVuZ3RoIDwgNyAmJiAodCA9IHQgKyAiICAgICAgICIuc3Vic3RyKDAsIDcgLSB0Lmxlbmd0aCkpLAogICAgICAgICAgICB0Lmxlbmd0aCA+IDE1ICYmICh0ID0gdC5zdWJzdHIoMCwgMTUpKSwKICAgICAgICAgICAgICAgIG4gPSBiYXNlNjRFbmNvZGUodCksCiAgICAgICAgICAgICAgICBuID0gbi5yZXBsYWNlKC9cLy9nLCAiXyIpLnJlcGxhY2UoL1wrL2csICItIikucmVwbGFjZSgvPS9nLCAiIiksCiAgICAgICAgICAgICAgICBuID0gbi5zbGljZSgwLCA2KSArICJqIiArIG4uc2xpY2UoNik7CiAgICAgICAgfQoKICAgICAgICBsZXQgd2QgPSBlbmNvZGVXZChLRVkpOwogICAgICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZSgnJHdkJywgd2QpOwogICAgICAgIGlucHV0ID0gdXJsam9pbihIT1NULCBpbnB1dCk7CiAgICAgICAgbGV0IGh0bWwgPSByZXF1ZXN0KGlucHV0KTsKICAgICAgICBsZXQgZCA9IFtdOwogICAgICAgIGxldCBwID0gcnVsZS7kuIDnuqcuc3BsaXQoJzsnKTsKICAgICAgICBwZGZhKGh0bWwsIHBbMF0pLmZvckVhY2goaXQgPT4gewogICAgICAgICAgICBkLnB1c2goewogICAgICAgICAgICAgICAgdGl0bGU6IHBkZmgoaXQsIHBbMV0pLAogICAgICAgICAgICAgICAgaW1nOiBwZGZoKGl0LCBwWzJdKSwKICAgICAgICAgICAgICAgIGRlc2M6IHBkZmgoaXQsIHBbM10pLAogICAgICAgICAgICAgICAgdXJsOiBwZChpdCwgcFs0XSwgaW5wdXQpLAogICAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CiAgICAgICAgc2V0UmVzdWx0KGQpOwogICAgfSksCn0= |