{"id":"ssc-mainnet-hive","json":{"contractName":"contract","contractAction":"update","contractPayload":{"name":"witnesses","params":"","code":"Y29uc3QgTkJfQVBQUk9WQUxTX0FMTE9XRUQ9MzAsTkJfVE9QX1dJVE5FU1NFUz0yMCxOQl9CQUNLVVBfV0lUTkVTU0VTPTEsTkJfV0lUTkVTU0VTPTIxLE5CX1dJVE5FU1NFU19TSUdOQVRVUkVTX1JFUVVJUkVEPTE0LE1BWF9ST1VORFNfTUlTU0VEX0lOX0FfUk9XPTMsTUFYX1JPVU5EX1BST1BPU0lUSU9OX1dBSVRJTkdfUEVSSU9EPTQwLE5CX1RPS0VOU19UT19SRVdBUkQ9IjAuMDA5NTEyOTMiLE5CX1RPS0VOU19ORUVERURfQkVGT1JFX1JFV0FSRElORz0iMC4wNDc1NjQ2NSIsVVRJTElUWV9UT0tFTl9TWU1CT0w9IkJFRSIsR09WRVJOQU5DRV9UT0tFTl9TWU1CT0w9IldPUktFUkJFRSIsR09WRVJOQU5DRV9UT0tFTl9QUkVDSVNJT049NSxHT1ZFUk5BTkNFX1RPS0VOX01JTl9WQUxVRT0iMC4wMDAwMSI7YWN0aW9ucy5jcmVhdGVTU0M9YXN5bmMoKT0+e2lmKCExPT09YXdhaXQgYXBpLmRiLnRhYmxlRXhpc3RzKCJ3aXRuZXNzZXMiKSl7YXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJ3aXRuZXNzZXMiLFsiYXBwcm92YWxXZWlnaHQiXSksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJhcHByb3ZhbHMiLFsiZnJvbSIsInRvIl0pLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgiYWNjb3VudHMiLFsiYWNjb3VudCJdKSxhd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoInNjaGVkdWxlcyIpLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgicGFyYW1zIik7Y29uc3QgcGFyYW1zPXt0b3RhbEFwcHJvdmFsV2VpZ2h0OiIwIixudW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzOjAsbGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI6MCxyb3VuZDowLGxhc3RCbG9ja1JvdW5kOjAsY3VycmVudFdpdG5lc3M6bnVsbCxibG9ja051bWJlcldpdG5lc3NDaGFuZ2U6MCxsYXN0V2l0bmVzc2VzOltdfTthd2FpdCBhcGkuZGIuaW5zZXJ0KCJwYXJhbXMiLHBhcmFtcyl9ZWxzZXtjb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO3BhcmFtcy5udW1iZXJPZkFwcHJvdmFsc1BlckFjY291bnQ9MzAscGFyYW1zLm51bWJlck9mVG9wV2l0bmVzc2VzPTIwLHBhcmFtcy5udW1iZXJPZldpdG5lc3NTbG90cz0yMSxwYXJhbXMud2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZD0xNCxwYXJhbXMubWF4Um91bmRzTWlzc2VkSW5BUm93PTMscGFyYW1zLm1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kPTQwLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKX19LGFjdGlvbnMucmVzZXRTY2hlZHVsZT1hc3luYygpPT57aWYoYXBpLnNlbmRlciE9PWFwaS5vd25lcilyZXR1cm47Y29uc3Qgc2NoZWR1bGVzPWF3YWl0IGFwaS5kYi5maW5kKCJzY2hlZHVsZXMiLHt9KTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgc2NoZWR1bGU9c2NoZWR1bGVzW2luZGV4XTthd2FpdCBhcGkuZGIucmVtb3ZlKCJzY2hlZHVsZXMiLHNjaGVkdWxlKX1jb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO3BhcmFtcy5jdXJyZW50V2l0bmVzcz1udWxsLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9MCxwYXJhbXMubGFzdFdpdG5lc3Nlcz1bXSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9O2NvbnN0IHVwZGF0ZVdpdG5lc3NSYW5rPWFzeW5jKHdpdG5lc3MsYXBwcm92YWxXZWlnaHQpPT57Y29uc3Qgd2l0bmVzc1JlYz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDp3aXRuZXNzfSk7aWYod2l0bmVzc1JlYyl7Y29uc3Qgb2xkQXBwcm92YWxXZWlnaHQ9d2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbDt3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsPWFwaS5CaWdOdW1iZXIod2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkucGx1cyhhcHByb3ZhbFdlaWdodCkudG9GaXhlZCg1KSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3NSZWMpO2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7cGFyYW1zLnRvdGFsQXBwcm92YWxXZWlnaHQ9YXBpLkJpZ051bWJlcihwYXJhbXMudG90YWxBcHByb3ZhbFdlaWdodCkucGx1cyhhcHByb3ZhbFdlaWdodCkudG9GaXhlZCg1KSxhcGkuQmlnTnVtYmVyKG9sZEFwcHJvdmFsV2VpZ2h0KS5lcSgwKSYmYXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5ndCgwKT9wYXJhbXMubnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcys9MTphcGkuQmlnTnVtYmVyKG9sZEFwcHJvdmFsV2VpZ2h0KS5ndCgwKSYmYXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5lcSgwKSYmKHBhcmFtcy5udW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzLT0xKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9fTthY3Rpb25zLnVwZGF0ZVdpdG5lc3Nlc0FwcHJvdmFscz1hc3luYyBwYXlsb2FkPT57Y29uc3R7YWNjb3VudDphY2NvdW50LGNhbGxpbmdDb250cmFjdEluZm86Y2FsbGluZ0NvbnRyYWN0SW5mb309cGF5bG9hZDtpZih2b2lkIDA9PT1jYWxsaW5nQ29udHJhY3RJbmZvKXJldHVybjtpZigidG9rZW5zIiE9PWNhbGxpbmdDb250cmFjdEluZm8ubmFtZSlyZXR1cm47Y29uc3QgYWNjdD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmFjY291bnR9KTtpZihudWxsIT09YWNjdCl7Y29uc3QgYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphY2NvdW50LHN5bWJvbDoiV09SS0VSQkVFIn0pO2xldCBhcHByb3ZhbFdlaWdodD0wO2JhbGFuY2UmJmJhbGFuY2Uuc3Rha2UmJihhcHByb3ZhbFdlaWdodD1iYWxhbmNlLnN0YWtlKSxiYWxhbmNlJiZiYWxhbmNlLmRlbGVnYXRpb25zSW4mJihhcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5wbHVzKGJhbGFuY2UuZGVsZWdhdGlvbnNJbikudG9GaXhlZCg1KSk7Y29uc3Qgb2xkQXBwcm92YWxXZWlnaHQ9YWNjdC5hcHByb3ZhbFdlaWdodCxkZWx0YUFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLm1pbnVzKG9sZEFwcHJvdmFsV2VpZ2h0KS50b0ZpeGVkKDUpO2lmKGFjY3QuYXBwcm92YWxXZWlnaHQ9YXBwcm92YWxXZWlnaHQsIWFwaS5CaWdOdW1iZXIoZGVsdGFBcHByb3ZhbFdlaWdodCkuZXEoMCkpe2F3YWl0IGFwaS5kYi51cGRhdGUoImFjY291bnRzIixhY2N0KTtjb25zdCBhcHByb3ZhbHM9YXdhaXQgYXBpLmRiLmZpbmQoImFwcHJvdmFscyIse2Zyb206YWNjb3VudH0pO2ZvcihsZXQgaW5kZXg9MDtpbmRleDxhcHByb3ZhbHMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCBhcHByb3ZhbD1hcHByb3ZhbHNbaW5kZXhdO2F3YWl0IHVwZGF0ZVdpdG5lc3NSYW5rKGFwcHJvdmFsLnRvLGRlbHRhQXBwcm92YWxXZWlnaHQpfX19fSxhY3Rpb25zLnJlZ2lzdGVyPWFzeW5jIHBheWxvYWQ9Pntjb25zdHtJUDpJUCxSUENQb3J0OlJQQ1BvcnQsUDJQUG9ydDpQMlBQb3J0LHNpZ25pbmdLZXk6c2lnbmluZ0tleSxlbmFibGVkOmVuYWJsZWQsaXNTaWduZWRXaXRoQWN0aXZlS2V5OmlzU2lnbmVkV2l0aEFjdGl2ZUtleX09cGF5bG9hZDtpZihhcGkuYXNzZXJ0KCEwPT09aXNTaWduZWRXaXRoQWN0aXZlS2V5LCJhY3RpdmUga2V5IHJlcXVpcmVkIikmJmFwaS5hc3NlcnQoSVAmJiJzdHJpbmciPT10eXBlb2YgSVAmJmFwaS52YWxpZGF0b3IuaXNJUChJUCksIklQIGlzIGludmFsaWQiKSYmYXBpLmFzc2VydChSUENQb3J0JiZOdW1iZXIuaXNJbnRlZ2VyKFJQQ1BvcnQpJiZSUENQb3J0Pj0wJiZSUENQb3J0PD02NTUzNSwiUlBDUG9ydCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA2NTUzNSIpJiZhcGkuYXNzZXJ0KFAyUFBvcnQmJk51bWJlci5pc0ludGVnZXIoUDJQUG9ydCkmJlAyUFBvcnQ+PTAmJlAyUFBvcnQ8PTY1NTM1LCJQMlBQb3J0IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDY1NTM1IikmJmFwaS5hc3NlcnQoYXBpLnZhbGlkYXRvci5pc0FscGhhbnVtZXJpYyhzaWduaW5nS2V5KSYmNTM9PT1zaWduaW5nS2V5Lmxlbmd0aCwiaW52YWxpZCBzaWduaW5nIGtleSIpJiZhcGkuYXNzZXJ0KCJib29sZWFuIj09dHlwZW9mIGVuYWJsZWQsImVuYWJsZWQgbXVzdCBiZSBhIGJvb2xlYW4iKSl7bGV0IHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse3NpZ25pbmdLZXk6c2lnbmluZ0tleX0pO2FwaS5hc3NlcnQobnVsbD09PXdpdG5lc3N8fHdpdG5lc3MuYWNjb3VudD09PWFwaS5zZW5kZXIsImEgd2l0bmVzcyBpcyBhbHJlYWR5IHVzaW5nIHRoaXMgc2lnbmluZyBrZXkiKSYmKHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse0lQOklQLFAyUFBvcnQ6UDJQUG9ydH0pLGFwaS5hc3NlcnQobnVsbD09PXdpdG5lc3N8fHdpdG5lc3MuYWNjb3VudD09PWFwaS5zZW5kZXIsImEgd2l0bmVzcyBpcyBhbHJlYWR5IHVzaW5nIHRoaXMgSVAvUG9ydCIpJiYod2l0bmVzcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDphcGkuc2VuZGVyfSksd2l0bmVzcz8od2l0bmVzcy5JUD1JUCx3aXRuZXNzLlJQQ1BvcnQ9UlBDUG9ydCx3aXRuZXNzLlAyUFBvcnQ9UDJQUG9ydCx3aXRuZXNzLnNpZ25pbmdLZXk9c2lnbmluZ0tleSx3aXRuZXNzLmVuYWJsZWQ9ZW5hYmxlZCxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3MpKTood2l0bmVzcz17YWNjb3VudDphcGkuc2VuZGVyLGFwcHJvdmFsV2VpZ2h0OnskbnVtYmVyRGVjaW1hbDoiMCJ9LHNpZ25pbmdLZXk6c2lnbmluZ0tleSxJUDpJUCxSUENQb3J0OlJQQ1BvcnQsUDJQUG9ydDpQMlBQb3J0LGVuYWJsZWQ6ZW5hYmxlZCxtaXNzZWRSb3VuZHM6MCxtaXNzZWRSb3VuZHNJbkFSb3c6MCx2ZXJpZmllZFJvdW5kczowLGxhc3RSb3VuZFZlcmlmaWVkOm51bGwsbGFzdEJsb2NrVmVyaWZpZWQ6bnVsbH0sYXdhaXQgYXBpLmRiLmluc2VydCgid2l0bmVzc2VzIix3aXRuZXNzKSkpKX19LGFjdGlvbnMuYXBwcm92ZT1hc3luYyBwYXlsb2FkPT57Y29uc3R7d2l0bmVzczp3aXRuZXNzfT1wYXlsb2FkLHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7aWYoYXBpLmFzc2VydCh3aXRuZXNzJiYic3RyaW5nIj09dHlwZW9mIHdpdG5lc3MmJndpdG5lc3MubGVuZ3RoPj0zJiZ3aXRuZXNzLmxlbmd0aDw9MTYsImludmFsaWQgd2l0bmVzcyBhY2NvdW50Iikpe2NvbnN0IHdpdG5lc3NSZWM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6d2l0bmVzc30pO2lmKGFwaS5hc3NlcnQod2l0bmVzc1JlYywid2l0bmVzcyBkb2VzIG5vdCBleGlzdCIpKXtsZXQgYWNjdD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmFwaS5zZW5kZXJ9KTtpZihudWxsPT09YWNjdCYmKGFjY3Q9e2FjY291bnQ6YXBpLnNlbmRlcixhcHByb3ZhbHM6MCxhcHByb3ZhbFdlaWdodDp7JG51bWJlckRlY2ltYWw6IjAifX0sYWNjdD1hd2FpdCBhcGkuZGIuaW5zZXJ0KCJhY2NvdW50cyIsYWNjdCkpLGFwaS5hc3NlcnQoYWNjdC5hcHByb3ZhbHM8cGFyYW1zLm51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCxgeW91IGNhbiBvbmx5IGFwcHJvdmUgJHtwYXJhbXMubnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50fSB3aXRuZXNzZXNgKSl7bGV0IGFwcHJvdmFsPWF3YWl0IGFwaS5kYi5maW5kT25lKCJhcHByb3ZhbHMiLHtmcm9tOmFwaS5zZW5kZXIsdG86d2l0bmVzc30pO2lmKGFwaS5hc3NlcnQobnVsbD09PWFwcHJvdmFsLCJ5b3UgYWxyZWFkeSBhcHByb3ZlZCB0aGlzIHdpdG5lc3MiKSl7YXBwcm92YWw9e2Zyb206YXBpLnNlbmRlcix0bzp3aXRuZXNzfSxhd2FpdCBhcGkuZGIuaW5zZXJ0KCJhcHByb3ZhbHMiLGFwcHJvdmFsKTtjb25zdCBiYWxhbmNlPWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgidG9rZW5zIiwiYmFsYW5jZXMiLHthY2NvdW50OmFwaS5zZW5kZXIsc3ltYm9sOiJXT1JLRVJCRUUifSk7bGV0IGFwcHJvdmFsV2VpZ2h0PTA7YmFsYW5jZSYmYmFsYW5jZS5zdGFrZSYmKGFwcHJvdmFsV2VpZ2h0PWJhbGFuY2Uuc3Rha2UpLGJhbGFuY2UmJmJhbGFuY2UuZGVsZWdhdGlvbnNJbiYmKGFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLnBsdXMoYmFsYW5jZS5kZWxlZ2F0aW9uc0luKS50b0ZpeGVkKDUpKSxhY2N0LmFwcHJvdmFscys9MSxhY2N0LmFwcHJvdmFsV2VpZ2h0PWFwcHJvdmFsV2VpZ2h0LGF3YWl0IGFwaS5kYi51cGRhdGUoImFjY291bnRzIixhY2N0KSxhd2FpdCB1cGRhdGVXaXRuZXNzUmFuayh3aXRuZXNzLGFwcHJvdmFsV2VpZ2h0KX19fX19LGFjdGlvbnMuZGlzYXBwcm92ZT1hc3luYyBwYXlsb2FkPT57Y29uc3R7d2l0bmVzczp3aXRuZXNzfT1wYXlsb2FkO2lmKGFwaS5hc3NlcnQod2l0bmVzcyYmInN0cmluZyI9PXR5cGVvZiB3aXRuZXNzJiZ3aXRuZXNzLmxlbmd0aD49MyYmd2l0bmVzcy5sZW5ndGg8PTE2LCJpbnZhbGlkIHdpdG5lc3MgYWNjb3VudCIpKXtjb25zdCB3aXRuZXNzUmVjPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OndpdG5lc3N9KTtpZihhcGkuYXNzZXJ0KHdpdG5lc3NSZWMsIndpdG5lc3MgZG9lcyBub3QgZXhpc3QiKSl7bGV0IGFjY3Q9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImFjY291bnRzIix7YWNjb3VudDphcGkuc2VuZGVyfSk7aWYobnVsbD09PWFjY3QmJihhY2N0PXthY2NvdW50OmFwaS5zZW5kZXIsYXBwcm92YWxzOjAsYXBwcm92YWxXZWlnaHQ6eyRudW1iZXJEZWNpbWFsOiIwIn19LGF3YWl0IGFwaS5kYi5pbnNlcnQoImFjY291bnRzIixhY2N0KSksYXBpLmFzc2VydChhY2N0LmFwcHJvdmFscz4wLCJubyBhcHByb3ZhbHMgZm91bmQiKSl7Y29uc3QgYXBwcm92YWw9YXdhaXQgYXBpLmRiLmZpbmRPbmUoImFwcHJvdmFscyIse2Zyb206YXBpLnNlbmRlcix0bzp3aXRuZXNzfSk7aWYoYXBpLmFzc2VydChudWxsIT09YXBwcm92YWwsInlvdSBoYXZlIG5vdCBhcHByb3ZlZCB0aGlzIHdpdG5lc3MiKSl7YXdhaXQgYXBpLmRiLnJlbW92ZSgiYXBwcm92YWxzIixhcHByb3ZhbCk7Y29uc3QgYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphcGkuc2VuZGVyLHN5bWJvbDoiV09SS0VSQkVFIn0pO2xldCBhcHByb3ZhbFdlaWdodD0wO2JhbGFuY2UmJmJhbGFuY2Uuc3Rha2UmJihhcHByb3ZhbFdlaWdodD1iYWxhbmNlLnN0YWtlKSxiYWxhbmNlJiZiYWxhbmNlLmRlbGVnYXRpb25zSW4mJihhcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5wbHVzKGJhbGFuY2UuZGVsZWdhdGlvbnNJbikudG9GaXhlZCg1KSksYWNjdC5hcHByb3ZhbHMtPTEsYWNjdC5hcHByb3ZhbFdlaWdodD1hcHByb3ZhbFdlaWdodCxhd2FpdCBhcGkuZGIudXBkYXRlKCJhY2NvdW50cyIsYWNjdCksYXdhaXQgdXBkYXRlV2l0bmVzc1Jhbmsod2l0bmVzcywiLSIrYXBwcm92YWxXZWlnaHQpfX19fX07Y29uc3QgY2hhbmdlQ3VycmVudFdpdG5lc3M9YXN5bmMoKT0+e2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSkse2N1cnJlbnRXaXRuZXNzOmN1cnJlbnRXaXRuZXNzLHRvdGFsQXBwcm92YWxXZWlnaHQ6dG90YWxBcHByb3ZhbFdlaWdodCxsYXN0V2l0bmVzc2VzOmxhc3RXaXRuZXNzZXMsbGFzdEJsb2NrUm91bmQ6bGFzdEJsb2NrUm91bmQscm91bmQ6cm91bmQsbWF4Um91bmRzTWlzc2VkSW5BUm93Om1heFJvdW5kc01pc3NlZEluQVJvdyxtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZDptYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZH09cGFyYW1zO2xldCB3aXRuZXNzRm91bmQ9ITE7Y29uc3QgcmFuZG9tPWFwaS5yYW5kb20oKSxyYW5kb21XZWlnaHQ9YXBpLkJpZ051bWJlcih0b3RhbEFwcHJvdmFsV2VpZ2h0KS50aW1lcyhyYW5kb20pLnRvRml4ZWQoNSwxKTtsZXQgb2Zmc2V0PTAsYWNjV2VpZ2h0PTAsd2l0bmVzc2VzPWF3YWl0IGFwaS5kYi5maW5kKCJ3aXRuZXNzZXMiLHthcHByb3ZhbFdlaWdodDp7JGd0OnskbnVtYmVyRGVjaW1hbDoiMCJ9fX0sMTAwLG9mZnNldCxbe2luZGV4OiJhcHByb3ZhbFdlaWdodCIsZGVzY2VuZGluZzohMH1dKTtjb25zdCBzY2hlZHVsZXM9YXdhaXQgYXBpLmRiLmZpbmQoInNjaGVkdWxlcyIse3JvdW5kOnJvdW5kfSkscHJldmlvdXNSb3VuZFdpdG5lc3M9bGFzdFdpdG5lc3Nlcy5sZW5ndGg+MT9sYXN0V2l0bmVzc2VzW2xhc3RXaXRuZXNzZXMubGVuZ3RoLTJdOiIiLHNjaGVkdWxlPWF3YWl0IGFwaS5kYi5maW5kT25lKCJzY2hlZHVsZXMiLHtyb3VuZDpyb3VuZCx3aXRuZXNzOmN1cnJlbnRXaXRuZXNzLGJsb2NrTnVtYmVyOmxhc3RCbG9ja1JvdW5kfSk7ZG97Zm9yKGxldCBpbmRleD0wO2luZGV4PHdpdG5lc3Nlcy5sZW5ndGg7aW5kZXgrPTEpe2NvbnN0IHdpdG5lc3M9d2l0bmVzc2VzW2luZGV4XTtpZihhY2NXZWlnaHQ9YXBpLkJpZ051bWJlcihhY2NXZWlnaHQpLnBsdXMod2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KSwhMD09PXdpdG5lc3MuZW5hYmxlZCYmd2l0bmVzcy5hY2NvdW50IT09cHJldmlvdXNSb3VuZFdpdG5lc3MmJnZvaWQgMD09PXNjaGVkdWxlcy5maW5kKHM9PnMud2l0bmVzcz09PXdpdG5lc3MuYWNjb3VudCkmJmFwaS5CaWdOdW1iZXIocmFuZG9tV2VpZ2h0KS5sdGUoYWNjV2VpZ2h0KSl7YXBpLmRlYnVnKGBjaGFuZ2VkIGN1cnJlbnQgd2l0bmVzcyBmcm9tICR7c2NoZWR1bGUud2l0bmVzc30gdG8gJHt3aXRuZXNzLmFjY291bnR9YCksc2NoZWR1bGUud2l0bmVzcz13aXRuZXNzLmFjY291bnQsYXdhaXQgYXBpLmRiLnVwZGF0ZSgic2NoZWR1bGVzIixzY2hlZHVsZSkscGFyYW1zLmN1cnJlbnRXaXRuZXNzPXdpdG5lc3MuYWNjb3VudCxwYXJhbXMubGFzdFdpdG5lc3Nlcy5wdXNoKHdpdG5lc3MuYWNjb3VudCkscGFyYW1zLmJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZT1hcGkuYmxvY2tOdW1iZXIrbWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2QsYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpO2NvbnN0IHNjaGVkdWxlZFdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6Y3VycmVudFdpdG5lc3N9KTtzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kcys9MSxzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdys9MSxzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdz49bWF4Um91bmRzTWlzc2VkSW5BUm93JiYoc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c9MCxzY2hlZHVsZWRXaXRuZXNzLmVuYWJsZWQ9ITEpLGF3YWl0IGFwaS5kYi51cGRhdGUoIndpdG5lc3NlcyIsc2NoZWR1bGVkV2l0bmVzcyksd2l0bmVzc0ZvdW5kPSEwLGFwaS5lbWl0KCJjdXJyZW50V2l0bmVzc0NoYW5nZWQiLHt9KTticmVha319ITE9PT13aXRuZXNzRm91bmQmJihvZmZzZXQrPTEwMCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19fSwxMDAsb2Zmc2V0LFt7aW5kZXg6ImFwcHJvdmFsV2VpZ2h0IixkZXNjZW5kaW5nOiEwfV0pKX13aGlsZSh3aXRuZXNzZXMubGVuZ3RoPjAmJiExPT09d2l0bmVzc0ZvdW5kKTtpZighMT09PXdpdG5lc3NGb3VuZCl7YXBpLmRlYnVnKCJubyBiYWNrdXAgd2l0bmVzcyB3YXMgZm91bmQsIGludGVyY2hhbmdpbmcgd2l0bmVzc2VzIHdpdGhpbiB0aGUgY3VycmVudCBzY2hlZHVsZSIpO2ZvcihsZXQgaW5kZXg9MDtpbmRleDxzY2hlZHVsZXMubGVuZ3RoLTE7aW5kZXgrPTEpe2NvbnN0IHNjaGVkPXNjaGVkdWxlc1tpbmRleF0sbmV3V2l0bmVzcz1zY2hlZC53aXRuZXNzO2lmKG5ld1dpdG5lc3MhPT1wcmV2aW91c1JvdW5kV2l0bmVzcyl7YXBpLmRlYnVnKGBjaGFuZ2VkIGN1cnJlbnQgd2l0bmVzcyBmcm9tICR7Y3VycmVudFdpdG5lc3N9IHRvICR7bmV3V2l0bmVzc31gKSxzY2hlZHVsZS53aXRuZXNzPW5ld1dpdG5lc3MsYXdhaXQgYXBpLmRiLnVwZGF0ZSgic2NoZWR1bGVzIixzY2hlZHVsZSksc2NoZWQud2l0bmVzcz1jdXJyZW50V2l0bmVzcyxhd2FpdCBhcGkuZGIudXBkYXRlKCJzY2hlZHVsZXMiLHNjaGVkKSxwYXJhbXMuY3VycmVudFdpdG5lc3M9bmV3V2l0bmVzcyxwYXJhbXMubGFzdFdpdG5lc3Nlcy5wdXNoKG5ld1dpdG5lc3MpLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9YXBpLmJsb2NrTnVtYmVyK21heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKTtjb25zdCBzY2hlZHVsZWRXaXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OmN1cnJlbnRXaXRuZXNzfSk7c2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHMrPTEsc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3crPTEsc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c+PW1heFJvdW5kc01pc3NlZEluQVJvdyYmKHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93PTAsc2NoZWR1bGVkV2l0bmVzcy5lbmFibGVkPSExKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHNjaGVkdWxlZFdpdG5lc3MpLGFwaS5lbWl0KCJjdXJyZW50V2l0bmVzc0NoYW5nZWQiLHt9KTticmVha319fX0sbWFuYWdlV2l0bmVzc2VzU2NoZWR1bGU9YXN5bmMoKT0+e2lmKCJudWxsIiE9PWFwaS5zZW5kZXIpcmV0dXJuO2NvbnN0IHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSkse251bWJlck9mQXBwcm92ZWRXaXRuZXNzZXM6bnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcyx0b3RhbEFwcHJvdmFsV2VpZ2h0OnRvdGFsQXBwcm92YWxXZWlnaHQsbGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI6bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXIsYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlOmJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZSxsYXN0QmxvY2tSb3VuZDpsYXN0QmxvY2tSb3VuZCxudW1iZXJPZlRvcFdpdG5lc3NlczpudW1iZXJPZlRvcFdpdG5lc3NlcyxudW1iZXJPZldpdG5lc3NTbG90czpudW1iZXJPZldpdG5lc3NTbG90cyxtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZDptYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZH09cGFyYW1zLGN1cnJlbnRCbG9jaz1sYXN0VmVyaWZpZWRCbG9ja051bWJlcisxO2xldCBzY2hlZHVsZT1hd2FpdCBhcGkuZGIuZmluZE9uZSgic2NoZWR1bGVzIix7YmxvY2tOdW1iZXI6Y3VycmVudEJsb2NrfSk7aWYobnVsbD09PXNjaGVkdWxlKXtpZihhcGkuZGVidWcoImNhbGN1bGF0aW5nIG5ldyBzY2hlZHVsZSIpLHNjaGVkdWxlPVtdLG51bWJlck9mQXBwcm92ZWRXaXRuZXNzZXM+PW51bWJlck9mV2l0bmVzc1Nsb3RzKXtjb25zdCByYW5kb209YXBpLnJhbmRvbSgpO2xldCByYW5kb21XZWlnaHQ9bnVsbCxvZmZzZXQ9MCxhY2NXZWlnaHQ9MCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19fSwxMDAsb2Zmc2V0LFt7aW5kZXg6ImFwcHJvdmFsV2VpZ2h0IixkZXNjZW5kaW5nOiEwfV0pO2Rve2ZvcihsZXQgaW5kZXg9MDtpbmRleDx3aXRuZXNzZXMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCB3aXRuZXNzPXdpdG5lc3Nlc1tpbmRleF07c2NoZWR1bGUubGVuZ3RoPj1udW1iZXJPZlRvcFdpdG5lc3NlcyYmbnVsbD09PXJhbmRvbVdlaWdodCYmKHJhbmRvbVdlaWdodD1hcGkuQmlnTnVtYmVyKGFjY1dlaWdodCkucGx1cygiMC4wMDAwMSIpLnBsdXMoYXBpLkJpZ051bWJlcih0b3RhbEFwcHJvdmFsV2VpZ2h0KS5taW51cyhhY2NXZWlnaHQpLnRpbWVzKHJhbmRvbSkudG9GaXhlZCg1LDEpKS50b0ZpeGVkKDUpKSxhY2NXZWlnaHQ9YXBpLkJpZ051bWJlcihhY2NXZWlnaHQpLnBsdXMod2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KSwhMD09PXdpdG5lc3MuZW5hYmxlZCYmKHNjaGVkdWxlLmxlbmd0aDxudW1iZXJPZlRvcFdpdG5lc3Nlc3x8YXBpLkJpZ051bWJlcihyYW5kb21XZWlnaHQpLmx0ZShhY2NXZWlnaHQpKSYmc2NoZWR1bGUucHVzaCh7d2l0bmVzczp3aXRuZXNzLmFjY291bnQsYmxvY2tOdW1iZXI6bnVsbH0pLHNjaGVkdWxlLmxlbmd0aD49bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJihpbmRleD13aXRuZXNzZXMubGVuZ3RoKX1zY2hlZHVsZS5sZW5ndGg8bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJihvZmZzZXQrPTEwMCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19fSwxMDAsb2Zmc2V0LFt7aW5kZXg6ImFwcHJvdmFsV2VpZ2h0IixkZXNjZW5kaW5nOiEwfV0pKX13aGlsZSh3aXRuZXNzZXMubGVuZ3RoPjAmJnNjaGVkdWxlLmxlbmd0aDxudW1iZXJPZldpdG5lc3NTbG90cyl9aWYoc2NoZWR1bGUubGVuZ3RoPT09bnVtYmVyT2ZXaXRuZXNzU2xvdHMpe2xldCBqLHg7Zm9yKGxldCBpPXNjaGVkdWxlLmxlbmd0aC0xO2k+MDtpLT0xKXtjb25zdCByYW5kb209YXBpLnJhbmRvbSgpO2o9TWF0aC5mbG9vcihyYW5kb20qKGkrMSkpLHg9c2NoZWR1bGVbaV0sc2NoZWR1bGVbaV09c2NoZWR1bGVbal0sc2NoZWR1bGVbal09eH1sZXQgbGFzdFdpdG5lc3Nlcz1wYXJhbXMubGFzdFdpdG5lc3Nlcztjb25zdCBwcmV2aW91c1JvdW5kV2l0bmVzcz1sYXN0V2l0bmVzc2VzLmxlbmd0aD4wP2xhc3RXaXRuZXNzZXNbbGFzdFdpdG5lc3Nlcy5sZW5ndGgtMV06IiI7bGFzdFdpdG5lc3Nlcy5sZW5ndGg+PW51bWJlck9mV2l0bmVzc1Nsb3RzJiYobGFzdFdpdG5lc3Nlcz1bXSk7Y29uc3QgbGFzdFdpdG5lc3M9c2NoZWR1bGVbc2NoZWR1bGUubGVuZ3RoLTFdLndpdG5lc3M7aWYobGFzdFdpdG5lc3Nlcy5pbmNsdWRlcyhsYXN0V2l0bmVzcyl8fHByZXZpb3VzUm91bmRXaXRuZXNzPT09bGFzdFdpdG5lc3MpZm9yKGxldCBpPTA7aTxzY2hlZHVsZS5sZW5ndGg7aSs9MSlpZighbGFzdFdpdG5lc3Nlcy5pbmNsdWRlcyhzY2hlZHVsZVtpXS53aXRuZXNzKSYmc2NoZWR1bGVbaV0ud2l0bmVzcyE9PXByZXZpb3VzUm91bmRXaXRuZXNzKXtjb25zdCB0aGlzV2l0bmVzcz1zY2hlZHVsZVtpXS53aXRuZXNzO3NjaGVkdWxlW2ldLndpdG5lc3M9bGFzdFdpdG5lc3Msc2NoZWR1bGVbc2NoZWR1bGUubGVuZ3RoLTFdLndpdG5lc3M9dGhpc1dpdG5lc3M7YnJlYWt9aWYoc2NoZWR1bGVbMF0ud2l0bmVzcz09PXByZXZpb3VzUm91bmRXaXRuZXNzKXtjb25zdCBmaXJzdFdpdG5lc3M9c2NoZWR1bGVbMF0ud2l0bmVzcyxzZWNvbmRXaXRuZXNzPXNjaGVkdWxlWzFdLndpdG5lc3M7c2NoZWR1bGVbMF0ud2l0bmVzcz1zZWNvbmRXaXRuZXNzLHNjaGVkdWxlWzFdLndpdG5lc3M9Zmlyc3RXaXRuZXNzfWxldCBibG9ja051bWJlcj0wPT09bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI/YXBpLmJsb2NrTnVtYmVyOmxhc3RWZXJpZmllZEJsb2NrTnVtYmVyKzE7cGFyYW1zLnJvdW5kKz0xO2ZvcihsZXQgaT0wO2k8c2NoZWR1bGUubGVuZ3RoO2krPTEpc2NoZWR1bGVbaV0uYmxvY2tOdW1iZXI9YmxvY2tOdW1iZXIsc2NoZWR1bGVbaV0ucm91bmQ9cGFyYW1zLnJvdW5kLGFwaS5kZWJ1Zyhgc2NoZWR1bGVkIHdpdG5lc3MgJHtzY2hlZHVsZVtpXS53aXRuZXNzfSBmb3IgYmxvY2sgJHtibG9ja051bWJlcn0gKHJvdW5kICR7cGFyYW1zLnJvdW5kfSlgKSxhd2FpdCBhcGkuZGIuaW5zZXJ0KCJzY2hlZHVsZXMiLHNjaGVkdWxlW2ldKSxibG9ja051bWJlcis9MTswPT09bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXImJihwYXJhbXMubGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI9YXBpLmJsb2NrTnVtYmVyLTEpO2NvbnN0IGxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZT1zY2hlZHVsZVtzY2hlZHVsZS5sZW5ndGgtMV07cGFyYW1zLmxhc3RCbG9ja1JvdW5kPWxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZS5ibG9ja051bWJlcixwYXJhbXMuY3VycmVudFdpdG5lc3M9bGFzdFdpdG5lc3NSb3VuZFNjaGVkdWxlLndpdG5lc3MsbGFzdFdpdG5lc3Nlcy5wdXNoKGxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZS53aXRuZXNzKSxwYXJhbXMubGFzdFdpdG5lc3Nlcz1sYXN0V2l0bmVzc2VzLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9YXBpLmJsb2NrTnVtYmVyK21heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKSxhcGkuZW1pdCgibmV3U2NoZWR1bGUiLHt9KX19ZWxzZSBhcGkuYmxvY2tOdW1iZXI+PWJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZSYmKGFwaS5ibG9ja051bWJlcj5sYXN0QmxvY2tSb3VuZD9hd2FpdCBjaGFuZ2VDdXJyZW50V2l0bmVzcygpOihwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPWFwaS5ibG9ja051bWJlcittYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyksYXBpLmVtaXQoImF3YWl0aW5nUm91bmRFbmQiLHt9KSkpfTthY3Rpb25zLnByb3Bvc2VSb3VuZD1hc3luYyBwYXlsb2FkPT57Y29uc3R7cm91bmRIYXNoOnJvdW5kSGFzaCxpc1NpZ25lZFdpdGhBY3RpdmVLZXk6aXNTaWduZWRXaXRoQWN0aXZlS2V5LHNpZ25hdHVyZXM6c2lnbmF0dXJlc309cGF5bG9hZCxwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pLHtsYXN0VmVyaWZpZWRCbG9ja051bWJlcjpsYXN0VmVyaWZpZWRCbG9ja051bWJlcixyb3VuZDpyb3VuZCxsYXN0QmxvY2tSb3VuZDpsYXN0QmxvY2tSb3VuZCxjdXJyZW50V2l0bmVzczpjdXJyZW50V2l0bmVzc309cGFyYW1zLHNjaGVkdWxlcz1hd2FpdCBhcGkuZGIuZmluZCgic2NoZWR1bGVzIix7cm91bmQ6cm91bmR9KSxudW1iZXJPZldpdG5lc3NTbG90cz1zY2hlZHVsZXMubGVuZ3RoLHdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQ9bnVtYmVyT2ZXaXRuZXNzU2xvdHM+Nz9wYXJhbXMud2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZDo1O2lmKCEwPT09aXNTaWduZWRXaXRoQWN0aXZlS2V5JiZyb3VuZEhhc2gmJiJzdHJpbmciPT10eXBlb2Ygcm91bmRIYXNoJiY2ND09PXJvdW5kSGFzaC5sZW5ndGgmJkFycmF5LmlzQXJyYXkoc2lnbmF0dXJlcykmJnNpZ25hdHVyZXMubGVuZ3RoPD1udW1iZXJPZldpdG5lc3NTbG90cyYmc2lnbmF0dXJlcy5sZW5ndGg+PXdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQpe2xldCBjdXJyZW50QmxvY2s9bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXIrMSxjYWxjdWxhdGVkUm91bmRIYXNoPSIiO2lmKGFwaS5zZW5kZXI9PT1jdXJyZW50V2l0bmVzcyl7Zm9yKDtjdXJyZW50QmxvY2s8PWxhc3RCbG9ja1JvdW5kOyl7Y29uc3QgYmxvY2s9YXdhaXQgYXBpLmRiLmdldEJsb2NrSW5mbyhjdXJyZW50QmxvY2spO2lmKG51bGw9PT1ibG9jayl7Y2FsY3VsYXRlZFJvdW5kSGFzaD0iIjticmVha31jYWxjdWxhdGVkUm91bmRIYXNoPWFwaS5TSEEyNTYoYCR7Y2FsY3VsYXRlZFJvdW5kSGFzaH0ke2Jsb2NrLmhhc2h9YCksY3VycmVudEJsb2NrKz0xfWlmKCIiIT09Y2FsY3VsYXRlZFJvdW5kSGFzaCYmY2FsY3VsYXRlZFJvdW5kSGFzaD09PXJvdW5kSGFzaCl7bGV0IHNpZ25hdHVyZXNDaGVja2VkPTA7Y29uc3QgdmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uPVtdLGN1cnJlbnRXaXRuZXNzSW5mbz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpjdXJyZW50V2l0bmVzc30pLGN1cnJlbnRXaXRuZXNzU2lnbmF0dXJlPXNpZ25hdHVyZXMuZmluZChzPT5zWzBdPT09Y3VycmVudFdpdG5lc3MpO2ZvcihsZXQgaW5kZXg9MDtpbmRleDxzY2hlZHVsZXMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCBzY2hlZHVsZWRXaXRuZXNzPXNjaGVkdWxlc1tpbmRleF0sd2l0bmVzcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDpzY2hlZHVsZWRXaXRuZXNzLndpdG5lc3N9KTtpZihudWxsIT09d2l0bmVzcyl7Y29uc3Qgc2lnbmF0dXJlPXNpZ25hdHVyZXMuZmluZChzPT5zWzBdPT09d2l0bmVzcy5hY2NvdW50KTtzaWduYXR1cmUmJmFwaS5jaGVja1NpZ25hdHVyZShjYWxjdWxhdGVkUm91bmRIYXNoLHNpZ25hdHVyZVsxXSx3aXRuZXNzLnNpZ25pbmdLZXksITApJiYoYXBpLmRlYnVnKGB3aXRuZXNzICR7d2l0bmVzcy5hY2NvdW50fSBzaWduZWQgcm91bmQgJHtyb3VuZH1gKSxzaWduYXR1cmVzQ2hlY2tlZCs9MSksdmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uLnB1c2goe2Jsb2NrTnVtYmVyOnNjaGVkdWxlZFdpdG5lc3MuYmxvY2tOdW1iZXIsd2l0bmVzczpjdXJyZW50V2l0bmVzcyxzaWduaW5nS2V5OmN1cnJlbnRXaXRuZXNzSW5mby5zaWduaW5nS2V5LHJvdW5kU2lnbmF0dXJlOmN1cnJlbnRXaXRuZXNzU2lnbmF0dXJlWzFdLHJvdW5kOnJvdW5kLHJvdW5kSGFzaDpyb3VuZEhhc2h9KX19aWYoc2lnbmF0dXJlc0NoZWNrZWQ+PXdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQpe2ZvcihsZXQgaW5kZXg9MDtpbmRleDx2ZXJpZmllZEJsb2NrSW5mb3JtYXRpb24ubGVuZ3RoO2luZGV4Kz0xKWF3YWl0IGFwaS52ZXJpZnlCbG9jayh2ZXJpZmllZEJsb2NrSW5mb3JtYXRpb25baW5kZXhdKTtjb25zdCBjb250cmFjdEJhbGFuY2U9YXdhaXQgYXBpLmRiLmZpbmRPbmVJblRhYmxlKCJ0b2tlbnMiLCJjb250cmFjdHNCYWxhbmNlcyIse2FjY291bnQ6IndpdG5lc3NlcyIsc3ltYm9sOiJCRUUifSk7bGV0IHJld2FyZFdpdG5lc3Nlcz0hMTtjb250cmFjdEJhbGFuY2UmJmFwaS5CaWdOdW1iZXIoY29udHJhY3RCYWxhbmNlLmJhbGFuY2UpLmd0ZSgiMC4wNDc1NjQ2NSIpJiYocmV3YXJkV2l0bmVzc2VzPSEwKTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgc2NoZWR1bGU9c2NoZWR1bGVzW2luZGV4XTshMD09PXJld2FyZFdpdG5lc3NlcyYmYXdhaXQgYXBpLnRyYW5zZmVyVG9rZW5zKHNjaGVkdWxlLndpdG5lc3MsIkJFRSIsIjAuMDA5NTEyOTMiLCJ1c2VyIiksYXdhaXQgYXBpLmRiLnJlbW92ZSgic2NoZWR1bGVzIixzY2hlZHVsZSl9cGFyYW1zLmN1cnJlbnRXaXRuZXNzPW51bGwscGFyYW1zLmxhc3RWZXJpZmllZEJsb2NrTnVtYmVyPWxhc3RCbG9ja1JvdW5kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKTtjb25zdCB3aXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OmN1cnJlbnRXaXRuZXNzfSk7d2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c9MCx3aXRuZXNzLmxhc3RSb3VuZFZlcmlmaWVkPXJvdW5kLHdpdG5lc3MubGFzdEJsb2NrVmVyaWZpZWQ9bGFzdEJsb2NrUm91bmQsd2l0bmVzcy52ZXJpZmllZFJvdW5kcys9MSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3MpLGF3YWl0IG1hbmFnZVdpdG5lc3Nlc1NjaGVkdWxlKCl9fX19fSxhY3Rpb25zLnNjaGVkdWxlV2l0bmVzc2VzPWFzeW5jKCk9PnsibnVsbCI9PT1hcGkuc2VuZGVyJiZhd2FpdCBtYW5hZ2VXaXRuZXNzZXNTY2hlZHVsZSgpfTs="}}}