@co0ontty/wand 1.53.2 → 1.53.3-beta.g487ee43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,9 +3,9 @@ import { Buffer } from "node:buffer";
|
|
|
3
3
|
function decode(value) {
|
|
4
4
|
return Buffer.from(value, "base64").toString("utf8");
|
|
5
5
|
}
|
|
6
|
-
export const EMBEDDED_WEB_ASSET_VERSION = "
|
|
6
|
+
export const EMBEDDED_WEB_ASSET_VERSION = "388e25efd6d7";
|
|
7
7
|
export const EMBEDDED_WEB_ASSETS = {
|
|
8
|
-
scriptsJs: decode("InVzZSBzdHJpY3QiOygoKT0+e3ZhciBEbT0iJHtlc2NhcGVIdG1sKGNvbmZpZ1BhdGgpfSIseGk9IndhbmQtY2hhdC1leHBhbmQtc3RhdGUtdjEiLEhyPVtmdW5jdGlvbigpe31dOyhmdW5jdGlvbigpe3RyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1scy1zY2hlbWEiKSxyPXQ9PW51bGw/MDpwYXJzZUludCh0LDEwKTtyPj0wfHwocj0wKTtmb3IodmFyIGk9cjtpPEhyLmxlbmd0aDtpKyspdHJ5e0hyW2ldKCl9Y2F0Y2h7fXI8SHIubGVuZ3RoJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1scy1zY2hlbWEiLFN0cmluZyhIci5sZW5ndGgpKX1jYXRjaHt9fSkoKTtmdW5jdGlvbiBTaShlLHQpe3RyeXt2YXIgcj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtyZXR1cm4gcj09PSJ0cnVlIj8hMDpyPT09ImZhbHNlIj8hMTp0fWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiBrZShlLHQpe3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLFN0cmluZyghIXQpKX1jYXRjaHt9fXZhciBuPXtzZWxlY3RlZElkOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIpfHxudWxsfWNhdGNoe3JldHVybiBudWxsfX0pKCkscG9sbFRpbWVyOm51bGwsY29uZmlnOm51bGwsc2Vzc2lvbnM6W10sc3VnZ2VzdGlvblRpbWVyOm51bGwsdGVybWluYWw6bnVsbCx0ZXJtaW5hbEZpdEluUHJvZ3Jlc3M6ITEsdGVybWluYWxTZXNzaW9uSWQ6bnVsbCx0ZXJtaW5hbE91dHB1dDoiIix0ZXJtaW5hbE91dHB1dE1hcmtlcjowLHRlcm1pbmFsTGl2ZVN0cmVhbVNlc3Npb25zOnt9LHN5bmNPdXRwdXRCdWZmZXI6bnVsbCxzeW5jT3V0cHV0RGVhZGxpbmU6MCxzeW5jRnJhbWluZ1Jlc2lkdWU6ITEsbGFzdENodW5rQXQ6MCx0ZXJtaW5hbEhlYWx0aFRpbWVyOm51bGwsbGFzdFRlcm1pbmFsUmVzeW5jQXQ6MCx0ZXJtaW5hbEF1dG9Gb2xsb3c6ITAsdGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbDowLHRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyOm51bGwsdGVybWluYWxTY3JvbGxUaHJlc2hvbGQ6MTIsc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tOiExLHRlcm1pbmFsVmlld3BvcnRFbDpudWxsLHRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyOm51bGwsdGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcjpudWxsLHRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcjpudWxsLHRlcm1pbmFsVG91Y2hTdGFydFk6MCx0ZXJtaW5hbENvbXBvc2luZzohMSxyZXNpemVPYnNlcnZlcjpudWxsLHJlc2l6ZUhhbmRsZXI6bnVsbCxyZXNpemVUaW1lcjpudWxsLGlucHV0UXVldWU6UHJvbWlzZS5yZXNvbHZlKCkscGVuZGluZ01lc3NhZ2VzOltdLG1lc3NhZ2VRdWV1ZTpbXSxjcm9zc1Nlc3Npb25RdWV1ZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpLHQ9ZT9KU09OLnBhcnNlKGUpOltdO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q6W119Y2F0Y2h7cmV0dXJuW119fSkoKSxzdHJ1Y3R1cmVkSW5wdXRRdWV1ZTpbXSxxdWV1ZUJhckhvdmVySW5kZXg6bnVsbCxxdWV1ZUJhckRyYWc6bnVsbCxkcmFmdHM6e30saXNTeW5jaW5nSW5wdXRCb3g6ITEsbG9naW5QZW5kaW5nOiExLGxvZ2luQ2hlY2tlZDohMSxib290c3RyYXBwaW5nOiEwLHNlc3Npb25zRHJhd2VyT3BlbjpTaSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxzaWRlYmFyUGlubmVkOlNpKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMCksc2lkZWJhckNvbGxhcHNlZDpTaSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpLG1vZGFsT3BlbjohMSxwcmVzZXRWYWx1ZToiIixjd2RWYWx1ZToiIixtb2RlVmFsdWU6Im1hbmFnZWQiLGNoYXRNb2RlOiJtYW5hZ2VkIixjaGF0TW9kZWw6KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIil8fCIifWNhdGNoe3JldHVybiIifX0pKCksY2hhdFRoaW5raW5nOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiKXx8Im9mZiI7cmV0dXJuIGU9PT0ib2ZmInx8ZT09PSJzdGFuZGFyZCJ8fGU9PT0iZGVlcCJ8fGU9PT0ibWF4Ij9lOiJvZmYifWNhdGNoe3JldHVybiJvZmYifX0pKCksYXZhaWxhYmxlTW9kZWxzOltdLGF2YWlsYWJsZUNvZGV4TW9kZWxzOltdLG1vZGVsc1JlZnJlc2hpbmc6ITEsc2Vzc2lvbkNyZWF0ZUtpbmQ6InN0cnVjdHVyZWQiLHNlc3Npb25DcmVhdGVXb3JrdHJlZTohMSxzZXNzaW9uVG9vbDoiY2xhdWRlIixhY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkOm51bGwsd29ya3RyZWVNZXJnZUNoZWNrUmVzdWx0Om51bGwsd29ya3RyZWVNZXJnZUxvYWRpbmc6ITEsd29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc6ITEsd29ya3RyZWVNZXJnZUVycm9yOiIiLHByZWZlcnJlZENvbW1hbmQ6ImNsYXVkZSIsc3RydWN0dXJlZFJ1bm5lcjoiY2xhdWRlLWNsaS1wcmludCIsbGFzdFJlc2l6ZTp7Y29sczowLHJvd3M6MH0saXNPbmxpbmU6bmF2aWdhdG9yLm9uTGluZSxkZWZlcnJlZFByb21wdDpudWxsLHNob3dJbnN0YWxsUHJvbXB0OiExLHdzOm51bGwsd3NDb25uZWN0ZWQ6ITEsbGFzdFdzTWVzc2FnZUF0OjAsd3NIZWFydGJlYXRDaGVja1RpbWVyOm51bGwsX3VwZGF0ZUJ1YmJsZVNob3duOiExLG5vdGlmaWNhdGlvbkhpc3Rvcnk6e30sZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyOm51bGwsbm90aWZTb3VuZDooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtbm90aWYtc291bmQiKTtyZXR1cm4gZT09PW51bGw/ITA6ZT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19KSgpLG5vdGlmVm9sdW1lOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiKTtyZXR1cm4gZT09PW51bGw/ODA6TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAscGFyc2VJbnQoZSwxMCl8fDgwKSl9Y2F0Y2h7cmV0dXJuIDgwfX0pKCksbm90aWZCdWJibGU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLW5vdGlmLWJ1YmJsZSIpO3JldHVybiBlPT09bnVsbD8hMDplPT09InRydWUifWNhdGNoe3JldHVybiEwfX0pKCksdG9vbENvbnRlbnRDYWNoZTp7fSxsYXN0U2VxQnlTZXNzaW9uOnt9LGN1cnJlbnRWaWV3OiJ0ZXJtaW5hbCIsdGVybWluYWxTY2FsZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiKTtyZXR1cm4gZT9wYXJzZUZsb2F0KGUpOjF9Y2F0Y2h7cmV0dXJuIDF9fSkoKSx0ZXJtaW5hbEJhc2VGb250U2l6ZToxMyxrZXlib2FyZFBvcHVwT3BlbjohMSxmaWxlUGFuZWxPcGVuOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtZmlsZS1wYW5lbC1vcGVuIik9PT0idHJ1ZSJ9Y2F0Y2h7cmV0dXJuITF9fSkoKSx0b3BiYXJNb3JlT3BlbjohMSxnaXRTdGF0dXM6bnVsbCxnaXRTdGF0dXNTZXNzaW9uSWQ6bnVsbCxnaXRTdGF0dXNMb2FkaW5nOiExLGdpdFN0YXR1c0luZmxpZ2h0Om51bGwsZ2l0U3RhdHVzTGFzdEZldGNoQXQ6MCxxdWlja0NvbW1pdE9wZW46ITEscXVpY2tDb21taXRTdWJtaXR0aW5nOiExLHF1aWNrQ29tbWl0R2VuZXJhdGluZzohMSxxdWlja0NvbW1pdEVycm9yOiIiLHF1aWNrQ29tbWl0Rm9ybTp7Y3VzdG9tTWVzc2FnZToiIix0YWc6IiIsdGFnRWRpdGVkOiExfSxxdWlja0NvbW1pdFB1c2hpbmc6ITEscXVpY2tDb21taXRQdXNoRXJyb3I6IiIscXVpY2tDb21taXRSZXN1bHQ6bnVsbCxxdWlja0NvbW1pdERyYWdBY3Rpb246ImNvbW1pdCIscXVpY2tDb21taXRTdWJtb2R1bGVJbnRlbnQ6ITEsY2hhdFN0aWNrVG9Cb3R0b206ITAsY2hhdFVucmVhZENvdW50OjAsY2hhdFVucmVhZFN0YXJ0SW5kZXg6LTEsY2hhdFNjcm9sbFRocmVzaG9sZDoxNjAsY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsOiExLGNoYXRTY3JvbGxFbGVtZW50Om51bGwsY2hhdFNjcm9sbEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsV2hlZWxIYW5kbGVyOm51bGwsY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyOm51bGwsY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXI6bnVsbCxjaGF0VG91Y2hTdGFydFk6MCxjaGF0SW5pdGlhbFJlbmRlckRvbmU6ITEsbGFzdEZvcmVncm91bmRTeW5jQXQ6MCxmb3JlZ3JvdW5kU3luY1RpbWVyOm51bGwsd3NSZWNvbm5lY3RBdHRlbXB0czowLHdzUmVjb25uZWN0VGltZXI6bnVsbCxjdXJyZW50TWVzc2FnZXM6W10sbGFzdFJlbmRlcmVkSGFzaDowLGxhc3RSZW5kZXJlZE1zZ0NvdW50OjAsbGFzdFJlbmRlcmVkRW1wdHk6bnVsbCxyZW5kZXJQZW5kaW5nOiExLGNoYXRQYWdlU2l6ZToyMCxjaGF0UmVuZGVyZWRDb3VudDoyMCxjdXJyZW50VGFzazpudWxsLHRlcm1pbmFsSW50ZXJhY3RpdmU6ITEsbWluaUtleWJvYXJkVmlzaWJsZTohMSxtb2RpZmllcnM6e2N0cmw6ITEsYWx0OiExLHNoaWZ0OiExfSxqb3lzdGlja1BvczooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtYmFsbC1wb3MiKTtpZighZSlyZXR1cm4gbnVsbDt2YXIgdD1KU09OLnBhcnNlKGUpO3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCI/dDpudWxsfWNhdGNoe3JldHVybiBudWxsfX0pKCksam95c3RpY2tQaW5uZWRPcGVuOiExLGpveXN0aWNrUm9vdEVsOm51bGwsam95c3RpY2tQYW5lbEVsOm51bGwsam95c3RpY2tCYWNrZHJvcEVsOm51bGwsam95c3RpY2tCYWxsRWw6bnVsbCxqb3lzdGlja1BvaW50ZXJJZDpudWxsLGpveXN0aWNrR2VzdHVyZTpudWxsLGpveXN0aWNrUHJlc3NTdGFydDpudWxsLGpveXN0aWNrTG9uZ1ByZXNzVGltZXI6bnVsbCxqb3lzdGlja01vdmVIYW5kbGVyOm51bGwsam95c3RpY2tVcEhhbmRsZXI6bnVsbCxqb3lzdGlja1Jlc2l6ZUhhbmRsZXI6bnVsbCxmaWxlU2VhcmNoUXVlcnk6IiIsZmlsZUV4cGxvcmVyTG9hZGluZzohMSxhbGxGaWxlczpbXSxmaWxlRXhwbG9yZXJDd2Q6IiIsZmlsZUV4cGxvcmVyVHJ1bmNhdGVkOiExLGZpbGVFeHBsb3JlclRvdGFsOjAsY2xhdWRlSGlzdG9yeTpbXSxjbGF1ZGVIaXN0b3J5TG9hZGVkOiExLGNsYXVkZUhpc3RvcnlFeHBhbmRlZDohMSxjbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzOnt9LGFyY2hpdmVkRXhwYW5kZWQ6ITEsc2Vzc2lvbnNNYW5hZ2VNb2RlOiExLHNlbGVjdGVkU2Vzc2lvbklkczp7fSxzZWxlY3RlZENsYXVkZUhpc3RvcnlJZHM6e30sY29kZXhIaXN0b3J5OltdLGNvZGV4SGlzdG9yeUxvYWRlZDohMSxjb2RleEhpc3RvcnlFeHBhbmRlZERpcnM6e30sc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM6e30sYXNrVXNlclNlbGVjdGlvbnM6e30scXVldWVFcG9jaDowLHBlbmRpbmdBdHRhY2htZW50czpbXSx3b3JraW5nRGlyOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC13b3JraW5nLWRpciIpO3JldHVybiBlfHwiIn1jYXRjaHtyZXR1cm4iIn19KSgpfSxJaT0iXHU0RTJEXHU2NTg3Iixfcj17XHU0RTJEXHU2NTg3Onsic3ViYWdlbnQudGFnIjoiXHU1QjUwXHU0RUUzXHU3NDA2Iiwic3ViYWdlbnQuaGFuZG9mZiI6IntwYXJlbnR9IFx1OEJBOSB7c3VifSBcdTVFMkVcdTVGRDkiLCJzdWJhZ2VudC5oYW5kb2ZmLndpdGhfZGVzYyI6IntwYXJlbnR9IFx1OEJBOSB7c3VifSBcdTVFMkVcdTVGRDlcdUZGMUEiLCJzdWJhZ2VudC5jb250aW51ZWQiOiJcdTdFRTdcdTdFRURcdThGOTNcdTUxRkEiLCJzdWJhZ2VudC50YXNrLmRvbmUiOiJcdTRFRkJcdTUyQTFcdTVCOENcdTYyMTAiLCJzdWJhZ2VudC50YXNrLmZhaWxlZCI6Ilx1NEVGQlx1NTJBMVx1NTkzMVx1OEQyNSIsInN1YmFnZW50LnJ1bm5pbmciOiJcdThGRDBcdTg4NENcdTRFMkQiLCJzdWJhZ2VudC5ub19vdXRwdXQiOiJcdUZGMDhcdTY1RTBcdThGOTNcdTUxRkFcdUZGMDkiLCJzdWJhZ2VudC5oZWxwZXJfZmFsbGJhY2tfcHJlZml4IjoiXHU1MzRGXHU0RjVDXHU3MzJCXHhCNyIsInN1YmFnZW50LnRpdGxlX2FyaWEiOiJcdTcwQjlcdTUxRkJcdTVDNTVcdTVGMDAgLyBcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJzdWJhZ2VudC50YWdfdGl0bGUiOiJcdTVCNTBcdTRFRTNcdTc0MDYgLyBzdWJhZ2VudCIsInVpLmV4cGFuZCI6Ilx1NUM1NVx1NUYwMCIsInVpLmNvbGxhcHNlIjoiXHU2NTM2XHU4RDc3IiwidWkuZXhwYW5kX3BhbmVsX2FyaWEiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJ1aS5jb2xsYXBzZV9wYW5lbF9hcmlhIjoiXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIn0sRW5nbGlzaDp7InN1YmFnZW50LnRhZyI6IlN1YmFnZW50Iiwic3ViYWdlbnQuaGFuZG9mZiI6IntwYXJlbnR9IGFza2VkIHtzdWJ9IGZvciBoZWxwIiwic3ViYWdlbnQuaGFuZG9mZi53aXRoX2Rlc2MiOiJ7cGFyZW50fSBhc2tlZCB7c3VifSBmb3IgaGVscCB3aXRoOiAiLCJzdWJhZ2VudC5jb250aW51ZWQiOiJjb250aW51ZWQiLCJzdWJhZ2VudC50YXNrLmRvbmUiOiJUYXNrIGNvbXBsZXRlIiwic3ViYWdlbnQudGFzay5mYWlsZWQiOiJUYXNrIGZhaWxlZCIsInN1YmFnZW50LnJ1bm5pbmciOiJSdW5uaW5nIiwic3ViYWdlbnQubm9fb3V0cHV0IjoiKG5vIG91dHB1dCkiLCJzdWJhZ2VudC5oZWxwZXJfZmFsbGJhY2tfcHJlZml4IjoiSGVscGVyXHhCNyIsInN1YmFnZW50LnRpdGxlX2FyaWEiOiJDbGljayB0byBleHBhbmQgLyBjb2xsYXBzZSBzdWJhZ2VudCBvdXRwdXQiLCJzdWJhZ2VudC50YWdfdGl0bGUiOiJTdWJhZ2VudCIsInVpLmV4cGFuZCI6IkV4cGFuZCIsInVpLmNvbGxhcHNlIjoiQ29sbGFwc2UiLCJ1aS5leHBhbmRfcGFuZWxfYXJpYSI6IkV4cGFuZCBzdWJhZ2VudCBvdXRwdXQiLCJ1aS5jb2xsYXBzZV9wYW5lbF9hcmlhIjoiQ29sbGFwc2Ugc3ViYWdlbnQgb3V0cHV0In19O2Z1bmN0aW9uIGF1KCl7dmFyIGU9bi5jb25maWcmJnR5cGVvZiBuLmNvbmZpZy5sYW5ndWFnZT09InN0cmluZyI/bi5jb25maWcubGFuZ3VhZ2UudHJpbSgpOiIiO2lmKCFlKXJldHVybiBJaTtpZihfcltlXSlyZXR1cm4gZTt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iZW5nbGlzaCJ8fHQ9PT0iZW4ifHx0LmluZGV4T2YoImVuZ2xpc2giKT09PTB8fHQuaW5kZXhPZigiXHU4MkYxIik9PT0wPyJFbmdsaXNoIjp0PT09Ilx1NEUyRFx1NjU4NyJ8fHQ9PT0iemgifHx0LmluZGV4T2YoInpoIik9PT0wfHx0LmluZGV4T2YoIlx1NEUyRCIpPT09MHx8dC5pbmRleE9mKCJjaGluZXNlIik9PT0wPyJcdTRFMkRcdTY1ODciOiJFbmdsaXNoIn1mdW5jdGlvbiBVZShlLHQpe3ZhciByPWF1KCksaT1fcltyXXx8X3JbSWldLGE9aSYmZSBpbiBpP2lbZV06bnVsbDtpZihhPT1udWxsKXt2YXIgdT1fcltJaV07YT11JiZlIGluIHU/dVtlXTplfWlmKHQmJnR5cGVvZiBhPT0ic3RyaW5nIilmb3IodmFyIHMgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxzKSYmKGE9YS5zcGxpdCgieyIrcysifSIpLmpvaW4odFtzXSkpO3JldHVybiBhfXZhciBCbD17c2hpZWxkOic8cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ii8+JyxzaGllbGRDaGVjazonPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjxwb2x5bGluZSBwb2ludHM9IjkgMTIgMTEgMTQgMTUgMTAiLz4nLGtleWJvYXJkOic8cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHJ4PSIyIi8+PGxpbmUgeDE9IjYiIHkxPSIxMCIgeDI9IjYiIHkyPSIxMCIvPjxsaW5lIHgxPSIxMCIgeTE9IjEwIiB4Mj0iMTAiIHkyPSIxMCIvPjxsaW5lIHgxPSIxNCIgeTE9IjEwIiB4Mj0iMTQiIHkyPSIxMCIvPjxsaW5lIHgxPSIxOCIgeTE9IjEwIiB4Mj0iMTgiIHkyPSIxMCIvPjxsaW5lIHgxPSI2IiB5MT0iMTQiIHgyPSI2IiB5Mj0iMTQiLz48bGluZSB4MT0iMTgiIHkxPSIxNCIgeDI9IjE4IiB5Mj0iMTQiLz48bGluZSB4MT0iOSIgeTE9IjE0IiB4Mj0iMTUiIHkyPSIxNCIvPicsY2xvdWQ6JzxwYXRoIGQ9Ik0xNy41IDE5YTQuNSA0LjUgMCAxIDAtMS04LjkgNiA2IDAgMCAwLTExLjUgMS43QTQgNCAwIDAgMCA2IDE5aDExLjV6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCA3IDkgMTIgNCAxNyIvPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMjAiIHkyPSIxNyIvPicsY2hhdDonPHBhdGggZD0iTTIxIDEyYTggOCAwIDAgMS0xMi45IDYuM0wzIDIwbDEuNy01LjFBOCA4IDAgMSAxIDIxIDEyeiIvPicsZm9sZGVyOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+Jyxmb2xkZXJPcGVuOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAyIi8+PHBhdGggZD0iTTMgOWgxOGwtMiA4YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIvPicsdHJhc2g6Jzxwb2x5bGluZSBwb2ludHM9IjMgNiA1IDYgMjEgNiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDEzYTIgMiAwIDAgMS0yIDJIOGEyIDIgMCAwIDEtMi0yTDUgNiIvPjxwYXRoIGQ9Ik0xMCAxMXY2Ii8+PHBhdGggZD0iTTE0IDExdjYiLz48cGF0aCBkPSJNOSA2VjRhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MiIvPicsc2xhc2g6Jzxwb2x5bGluZSBwb2ludHM9IjQgMTcgMTAgMTEgNCA1Ii8+PGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIyMCIgeTI9IjE5Ii8+JyxjaGV2cm9uRG93bjonPHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz4nLGNoZXZyb25VcDonPHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+JyxjaGV2cm9uUmlnaHQ6Jzxwb2x5bGluZSBwb2ludHM9IjkgNiAxNSAxMiA5IDE4Ii8+JyxiZWxsOic8cGF0aCBkPSJNMTggMTZ2LTVhNiA2IDAgMSAwLTEyIDB2NWwtMiAyaDE2eiIvPjxwYXRoIGQ9Ik0xMCAyMWEyIDIgMCAwIDAgNCAwIi8+JyxtdXNpYzonPHBhdGggZD0iTTkgMThWNWwxMi0ydjEzIi8+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSIxNiIgcj0iMyIvPicsdmlicmF0ZTonPHJlY3QgeD0iOSIgeT0iNCIgd2lkdGg9IjYiIGhlaWdodD0iMTYiIHJ4PSIxIi8+PHBhdGggZD0iTTUgOHY4Ii8+PHBhdGggZD0iTTMgMTB2NCIvPjxwYXRoIGQ9Ik0xOSA4djgiLz48cGF0aCBkPSJNMjEgMTB2NCIvPicsZ2xvYmU6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiLz48bGluZSB4MT0iMyIgeTE9IjEyIiB4Mj0iMjEiIHkyPSIxMiIvPjxwYXRoIGQ9Ik0xMiAzYTE0IDE0IDAgMCAxIDAgMTgiLz48cGF0aCBkPSJNMTIgM2ExNCAxNCAwIDAgMCAwIDE4Ii8+JyxzbWFydHBob25lOic8cmVjdCB4PSI2IiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHJ4PSIyLjUiLz48bGluZSB4MT0iMTEiIHkxPSIxOCIgeDI9IjEzIiB5Mj0iMTgiLz4nLGRlc2t0b3A6JzxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjIiLz48bGluZSB4MT0iOCIgeTE9IjIwIiB4Mj0iMTYiIHkyPSIyMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIyMCIvPicsbGluazonPHBhdGggZD0iTTEwIDE0YTQuNSA0LjUgMCAwIDAgNi4zNiAwbDMtM2E0LjUgNC41IDAgMSAwLTYuMzYtNi4zNmwtMS40MiAxLjQxIi8+PHBhdGggZD0iTTE0IDEwYTQuNSA0LjUgMCAwIDAtNi4zNiAwbC0zIDNhNC41IDQuNSAwIDEgMCA2LjM2IDYuMzZsMS40Mi0xLjQxIi8+JyxwYWxldHRlOic8Y2lyY2xlIGN4PSIxMy41IiBjeT0iNi41IiByPSIxIi8+PGNpcmNsZSBjeD0iMTcuNSIgY3k9IjEwLjUiIHI9IjEiLz48Y2lyY2xlIGN4PSI4LjUiIGN5PSI3LjUiIHI9IjEiLz48Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIxIi8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDAgMTggMS41IDEuNSAwIDAgMCAxLjEtMi41IDEuNSAxLjUgMCAwIDEgMS4xLTIuNWgyLjNBNC41IDQuNSAwIDAgMCAyMSAxMS41QzIxIDYuOCAxNi45NyAzIDEyIDN6Ii8+JyxwbGF5Oic8cG9seWdvbiBwb2ludHM9IjYgNCAyMCAxMiA2IDIwIDYgNCIvPicsaW5ib3g6Jzxwb2x5bGluZSBwb2ludHM9IjIyIDEzIDE2IDEzIDE0IDE2IDEwIDE2IDggMTMgMiAxMyIvPjxwYXRoIGQ9Ik01IDVoMTRsMyA4djZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTZ6Ii8+Jyx6YXA6Jzxwb2x5Z29uIHBvaW50cz0iMTMgMiA0IDE0IDExIDE0IDEwIDIyIDIwIDkgMTMgOSAxMyAyIi8+Jyx3cmVuY2g6JzxwYXRoIGQ9Ik0xNC43IDYuM2E0IDQgMCAxIDEgNCA0bC05IDktMy41IDEgMS0zLjUgNy41LTcuNXoiLz4nLHBhdzonPGNpcmNsZSBjeD0iNy41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjYuOCIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxNi41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjEzLjMiIHI9IjEuOCIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNNy4yIDE2LjNjLjUtMi45IDIuMy00LjggNC44LTQuOHM0LjMgMS45IDQuOCA0LjhjLjMgMS44LS45IDMuMi0yLjYgMi42LS44LS4zLTEuNC0uNi0yLjItLjZzLTEuNC4zLTIuMi42Yy0xLjcuNi0yLjktLjgtMi42LTIuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyIDIuMTIgMCAwIDEgMyAzTDcgMTlsLTQgMSAxLTR6Ii8+JyxjaGVjazonPHBvbHlsaW5lIHBvaW50cz0iNSAxMiAxMCAxNyAxOSA3Ii8+JyxzaWduYWw6JzxwYXRoIGQ9Ik0yIDEyYTE1IDE1IDAgMCAxIDIwIDAiLz48cGF0aCBkPSJNNSAxNmExMCAxMCAwIDAgMSAxNCAwIi8+PHBhdGggZD0iTTkgMjBhNCA0IDAgMCAxIDYgMCIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMjAiIHI9IjAuNSIgZmlsbD0iY3VycmVudENvbG9yIi8+JyxmaWxlOic8cGF0aCBkPSJNMTQgM0g2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTQgMyAxNCA5IDIwIDkiLz4nLGltYWdlOic8cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PGNpcmNsZSBjeD0iOSIgY3k9IjEwIiByPSIxLjUiLz48cG9seWxpbmUgcG9pbnRzPSIzIDE4IDkgMTIgMTQgMTcgMjEgMTIiLz4nLHNpZ21hOic8cG9seWxpbmUgcG9pbnRzPSIxOCA0IDYgNCAxMyAxMiA2IDIwIDE4IDIwIi8+Jyx4Oic8cGF0aCBkPSJNMTggNiA2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPicscGx1czonPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPicsbWljOic8cmVjdCB4PSI5IiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgcng9IjMiLz48cGF0aCBkPSJNNSAxMWE3IDcgMCAwIDAgMTQgMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE4IiB4Mj0iMTIiIHkyPSIyMSIvPjxsaW5lIHgxPSI5IiB5MT0iMjEiIHgyPSIxNSIgeTI9IjIxIi8+JyxwYXBlcmNsaXA6JzxwYXRoIGQ9Ik0yMS40NCAxMS4wNSAxMi4yNSAyMC4yNGE2IDYgMCAwIDEtOC40OS04LjQ5bDguODQtOC44NGE0IDQgMCAxIDEgNS42NiA1LjY2TDkuNDEgMTcuNDFhMiAyIDAgMSAxLTIuODMtMi44M2w4Ljg0LTguODMiLz4nfTtmdW5jdGlvbiBKKGUsdCl7dmFyIHI9QmxbZV07aWYoIXIpcmV0dXJuIiI7dD10fHx7fTt2YXIgaT10LnNpemV8fDE0LGE9dC5zdHJva2VXaWR0aHx8MS44LHU9dC5jbHM/JyBjbGFzcz0iJyt0LmNscysnIic6IiIscz10LmZpbGx8fCJub25lIjtyZXR1cm4iPHN2ZyIrdSsnIHdpZHRoPSInK2krJyIgaGVpZ2h0PSInK2krJyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSInK3MrJyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iJythKyciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPicrcisiPC9zdmc+In1mdW5jdGlvbiBJbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2lmKCFlKXJldHVybiBuLmNoYXRTY3JvbGxFbGVtZW50PW51bGwsbnVsbDt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7cmV0dXJuIHQ/KG4uY2hhdFNjcm9sbEVsZW1lbnQ9dCx0KToobi5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLG51bGwpfWZ1bmN0aW9uIFRpKGUpe3ZhciB0PWV8fEluKCk7cmV0dXJuIHQ/TWF0aC5hYnModC5zY3JvbGxUb3ApPG4uY2hhdFNjcm9sbFRocmVzaG9sZDohMH1mdW5jdGlvbiBrbShlKXtuLmNoYXRTdGlja1RvQm90dG9tPSEhZSxuLmNoYXRTdGlja1RvQm90dG9tJiZucih7cmVtb3ZlRGl2aWRlcjohMH0pLEtlKCl9ZnVuY3Rpb24gbnIoZSl7ZT1lfHx7fTt2YXIgdD1uLmNoYXRVbnJlYWRDb3VudD4wfHxuLmNoYXRVbnJlYWRTdGFydEluZGV4Pj0wO2lmKG4uY2hhdFVucmVhZENvdW50PTAsbi5jaGF0VW5yZWFkU3RhcnRJbmRleD0tMSxlLnJlbW92ZURpdmlkZXIhPT0hMSl7dmFyIHI9SW4oKTtpZihyKXt2YXIgaT1yLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyIik7aSYmaS5wYXJlbnROb2RlJiZpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSl9fXQmJktlKCl9ZnVuY3Rpb24gTGkoZSl7aWYoZXx8KGU9SW4oKSksISFlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyIik7aWYobi5jaGF0VW5yZWFkU3RhcnRJbmRleDwwfHxuLmNoYXRVbnJlYWRDb3VudDw9MCl7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk7cmV0dXJufWZvcih2YXIgcj1uLmNoYXRVbnJlYWRTdGFydEluZGV4LGk9ZS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlIiksYT1udWxsLHU9MDt1PGkubGVuZ3RoO3UrKyl7dmFyIHM9aVt1XS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYocyE9PW51bGwpe3ZhciBvPXBhcnNlSW50KHMsMTApO2lmKCFpc05hTihvKSYmbzxyKXthPWlbdV07YnJlYWt9fX12YXIgbD1uLmNoYXRVbnJlYWRDb3VudCsiIFx1Njc2MVx1NjVCMFx1NkQ4OFx1NjA2RiI7dHx8KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImNoYXQtdW5yZWFkLWRpdmlkZXIiLHQuc2V0QXR0cmlidXRlKCJyb2xlIiwic2VwYXJhdG9yIiksdC5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1kaXZpZGVyLWxpbmUiPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1kaXZpZGVyLWxpbmUiPjwvc3Bhbj4nKSx0LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyLWxhYmVsIikudGV4dENvbnRlbnQ9bCxhPyh0Lm5leHRTaWJsaW5nIT09YXx8dC5wYXJlbnROb2RlIT09ZSkmJmUuaW5zZXJ0QmVmb3JlKHQsYSk6KHQucGFyZW50Tm9kZSE9PWV8fHQubmV4dFNpYmxpbmchPT1udWxsKSYmZS5hcHBlbmRDaGlsZCh0KX19ZnVuY3Rpb24gS2UoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC11bnJlYWQtYnViYmxlIik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09bi5zZWxlY3RlZElkfSkscj0hVGkoKSxpPSEhdCYmbi5jdXJyZW50Vmlldz09PSJjaGF0IiYmcjtlLmNsYXNzTGlzdC50b2dnbGUoInZpc2libGUiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLXVucmVhZCIsbi5jaGF0VW5yZWFkQ291bnQ+MCk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtYnViYmxlLWNvdW50Iik7YSYmKG4uY2hhdFVucmVhZENvdW50PjA/KGEudGV4dENvbnRlbnQ9bi5jaGF0VW5yZWFkQ291bnQ+OTk/Ijk5KyI6U3RyaW5nKG4uY2hhdFVucmVhZENvdW50KSxhLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKSk6KGEudGV4dENvbnRlbnQ9IiIsYS5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpKTt2YXIgdT1uLmNoYXRVbnJlYWRDb3VudD4wP24uY2hhdFVucmVhZENvdW50KyIgXHU2NzYxXHU2NUIwXHU2RDg4XHU2MDZGXHVGRjBDXHU3MEI5XHU1MUZCXHU2N0U1XHU3NzBCIjoiXHU1NkRFXHU1MjMwXHU2NzAwXHU2NUIwXHU2RDg4XHU2MDZGIjtlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdSksZS5zZXRBdHRyaWJ1dGUoInRpdGxlIix1KTt2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKTtzJiZzLmNsYXNzTGlzdC50b2dnbGUoImhhcy1qdW1wLWJ0biIsaSl9fWZ1bmN0aW9uIERsKGUpe3ZhciB0PUluKCk7aWYoISghdHx8IXQuaXNDb25uZWN0ZWQpKXtuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMDt2YXIgcj1mdW5jdGlvbigpe24uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExLG4uY2hhdFN0aWNrVG9Cb3R0b209ITAsbnIoe3JlbW92ZURpdmlkZXI6ITB9KSxLZSgpfTtpZihlJiZ0eXBlb2YgdC5zY3JvbGxUbz09ImZ1bmN0aW9uIil7dC5zY3JvbGxUbyh7dG9wOjAsYmVoYXZpb3I6InNtb290aCJ9KSxzZXRUaW1lb3V0KHIsMjYwKTtyZXR1cm59dC5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUocil9fWZ1bmN0aW9uIHJyKCl7dmFyIGU9SW4oKTtpZighKCFlfHwhZS5pc0Nvbm5lY3RlZCkpe2lmKG4uY2hhdFNjcm9sbEVsZW1lbnQ9PT1lJiZuLmNoYXRTY3JvbGxIYW5kbGVyKXtLZSgpO3JldHVybn1uLmNoYXRTY3JvbGxFbGVtZW50JiYobi5jaGF0U2Nyb2xsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4uY2hhdFNjcm9sbEhhbmRsZXIpLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyKSxuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciksbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4uY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIpKSxuLmNoYXRTY3JvbGxFbGVtZW50PWUsbi5jaGF0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKGUuaXNDb25uZWN0ZWQpe2lmKG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsKXtLZSgpO3JldHVybn12YXIgdD1UaShlKTt0PyhuLmNoYXRTdGlja1RvQm90dG9tPSEwLG5yKHtyZW1vdmVEaXZpZGVyOiEwfSkpOm4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKX19LG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1mdW5jdGlvbih0KXtuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbHx8dC5kZWx0YVk8MCYmKG4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKSl9LG4uY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKHQpeyF0LnRvdWNoZXN8fHQudG91Y2hlcy5sZW5ndGg9PT0wfHwobi5jaGF0VG91Y2hTdGFydFk9dC50b3VjaGVzWzBdLmNsaWVudFkpfSxuLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyPWZ1bmN0aW9uKHQpe2lmKCFuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbCYmISghdC50b3VjaGVzfHx0LnRvdWNoZXMubGVuZ3RoPT09MCkpe3ZhciByPXQudG91Y2hlc1swXS5jbGllbnRZLW4uY2hhdFRvdWNoU3RhcnRZO3I+NCYmKG4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKSl9fSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbi5jaGF0U2Nyb2xsSGFuZGxlcix7cGFzc2l2ZTohMH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcix7cGFzc2l2ZTohMH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbi5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcix7cGFzc2l2ZTohMH0pLEtlKCl9fWZ1bmN0aW9uIHV1KCl7bi5jaGF0UmVuZGVyZWRDb3VudD49bi5jdXJyZW50TWVzc2FnZXMubGVuZ3RofHwobi5jaGF0UmVuZGVyZWRDb3VudCs9bi5jaGF0UGFnZVNpemUsWWUoITApKX12YXIgaXI9bnVsbDtmdW5jdGlvbiBrbCgpe2lyJiYoaXIuZGlzY29ubmVjdCgpLGlyPW51bGwpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCIpO2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmNoYXQtbG9hZC1tb3JlLWJ0biIpO3QmJih0Lm9uY2xpY2s9ZnVuY3Rpb24oKXt1dSgpfSksISh0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI+InUiKSYmKGlyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihyKXtmb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKylpZihyW2ldLmlzSW50ZXJzZWN0aW5nKXt1dSgpO2JyZWFrfX0se3Jvb3Q6SW4oKSxyb290TWFyZ2luOiIyMDBweCJ9KSxpci5vYnNlcnZlKGUpKX19ZnVuY3Rpb24geWUoKXt0cnl7bi5zZWxlY3RlZElkP2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iLG4uc2VsZWN0ZWRJZCk6bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIpfWNhdGNoe319ZnVuY3Rpb24gTWkoZSl7cmV0dXJuIGUmJkFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcyk/ZS5xdWV1ZWRNZXNzYWdlczpuLnN0cnVjdHVyZWRJbnB1dFF1ZXVlfWZ1bmN0aW9uIEFsKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIE1pKGUpfWZ1bmN0aW9uIGpyKGUpe3ZhciB0PU1pKGUpO24uc3RydWN0dXJlZElucHV0UXVldWU9QXJyYXkuaXNBcnJheSh0KT90LnNsaWNlKCk6W119ZnVuY3Rpb24gc3UoZSx0KXtyZXR1cm4hIShlJiZBcnJheS5pc0FycmF5KGUuY29udGVudCkmJmUuY29udGVudC5zb21lKGZ1bmN0aW9uKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJnJbdF19KSl9ZnVuY3Rpb24geGwoZSl7cmV0dXJuISEoZSYmZS5yb2xlPT09InVzZXIiJiZzdShlLCJfX3F1ZXVlZCIpKX1mdW5jdGlvbiBTbChlKXtyZXR1cm4hIShlJiZlLnJvbGU9PT0iYXNzaXN0YW50IiYmc3UoZSwiX19wcm9jZXNzaW5nIikpfWZ1bmN0aW9uIGFyKGUpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybltdO2Zvcih2YXIgdD0hMSxyPVtdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIGE9ZVtpXTtpZih4bChhKXx8U2woYSkpe3Q9ITA7Y29udGludWV9ci5wdXNoKGEpfXJldHVybiB0P3I6ZX1mdW5jdGlvbiBJbChlLHQpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKSlyZXR1cm4gZTt2YXIgcj1lLnNlc3Npb25LaW5kfHx0JiZ0LnNlc3Npb25LaW5kO2lmKHIhPT0ic3RydWN0dXJlZCIpcmV0dXJuIGU7dmFyIGk9YXIoZS5tZXNzYWdlcyk7cmV0dXJuIGk9PT1lLm1lc3NhZ2VzP2U6T2JqZWN0LmFzc2lnbih7fSxlLHttZXNzYWdlczppfSl9ZnVuY3Rpb24gb3UoKXt0cnl7dmFyIGU9QWwoKTtpZighbi5zZWxlY3RlZElkfHxlLmxlbmd0aD09PTApcmV0dXJuO2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiLEpTT04uc3RyaW5naWZ5KHtzZXNzaW9uSWQ6bi5zZWxlY3RlZElkLGl0ZW1zOmV9KSl9Y2F0Y2h7fX1mdW5jdGlvbiBsdShlKXt0cnl7dmFyIHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpO2lmKCF0KXJldHVybjt2YXIgcj1KU09OLnBhcnNlKHQpOyghZXx8IXJ8fHIuc2Vzc2lvbklkPT09ZSkmJmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKX1jYXRjaHtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIil9fWZ1bmN0aW9uIGN1KCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoZSYmQXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKSl7anIoZSksb3UoKTtyZXR1cm59dHJ5e3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKTtpZighdClyZXR1cm47dmFyIHI9SlNPTi5wYXJzZSh0KTtpZighcnx8ci5zZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWR8fCFBcnJheS5pc0FycmF5KHIuaXRlbXMpKXJldHVybjtuLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPXIuaXRlbXMuc2xpY2UoMCwxMCl9Y2F0Y2h7bi5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZT1bXX19ZnVuY3Rpb24gVXQoKXt0cnl7aWYobi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg9PT0wKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1jcm9zcy1zZXNzaW9uLXF1ZXVlIik7cmV0dXJufWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWNyb3NzLXNlc3Npb24tcXVldWUiLEpTT04uc3RyaW5naWZ5KG4uY3Jvc3NTZXNzaW9uUXVldWUpKX1jYXRjaHt9fWZ1bmN0aW9uIGVuKCl7cmV0dXJuIG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0Q3dkfHwiL3RtcCJ9ZnVuY3Rpb24gZHUoKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oeGkpO2lmKCFlKXJldHVybnt9O3ZhciB0PUpTT04ucGFyc2UoZSk7cmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0Ij90Ont9fWNhdGNoe3JldHVybnt9fX1mdW5jdGlvbiBUbChlKXt0cnl7aWYoIWV8fE9iamVjdC5rZXlzKGUpLmxlbmd0aD09PTApe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHhpKTtyZXR1cm59bG9jYWxTdG9yYWdlLnNldEl0ZW0oeGksSlNPTi5zdHJpbmdpZnkoZSkpfWNhdGNoe319ZnVuY3Rpb24gTGwoKXt2YXIgZT1uLnNlbGVjdGVkSWQ7aWYoIWUpcmV0dXJue307dmFyIHQ9ZHUoKSxyPXRbZV07cmV0dXJuIHImJnR5cGVvZiByPT0ib2JqZWN0Ij9yOnt9fWZ1bmN0aW9uIFplKGUpe2lmKCFlfHwhbi5zZWxlY3RlZElkKXJldHVybiBudWxsO3ZhciB0PUxsKCk7cmV0dXJuIHR5cGVvZiB0W2VdPT0iYm9vbGVhbiI/dFtlXTpudWxsfWZ1bmN0aW9uIE1sKGUsdCl7aWYoISghZXx8IW4uc2VsZWN0ZWRJZCkpe3ZhciByPWR1KCksaT1uLnNlbGVjdGVkSWQsYT1yW2ldOyghYXx8dHlwZW9mIGEhPSJvYmplY3QiKSYmKGE9e30pLGFbZV09ISF0LHJbaV09YSxUbChyKX19ZnVuY3Rpb24gZnUoZSx0KXtyZXR1cm4gZT9lLnV1aWQ/Im1zZzoiK2UudXVpZDplLmlkPyJtc2c6IitlLmlkOmUubWVzc2FnZUlkPyJtc2c6IitlLm1lc3NhZ2VJZDplLnR1cm5JZD8ibXNnOiIrZS50dXJuSWQ6Im1zZzoiKyh0eXBlb2YgdD09Im51bWJlciI/dDowKToibXNnOnVua25vd24tIisodHlwZW9mIHQ9PSJudW1iZXIiP3Q6MCl9ZnVuY3Rpb24gS3QoZSx0KXtmb3IodmFyIHI9W10saT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldO2E9PW51bGx8fGE9PT0iInx8ci5wdXNoKFN0cmluZyhhKSl9cmV0dXJuIGUrIjoiK3Iuam9pbigiOiIpfWZ1bmN0aW9uIFRuKGUpe3JldHVybiFlfHwhZS5kYXRhc2V0PyIiOmUuZGF0YXNldC5leHBhbmRLZXl8fCIifWZ1bmN0aW9uIHFsKGUsdCl7aWYoIWUpcmV0dXJuITE7c3dpdGNoKHQpe2Nhc2UidG9vbC1jYXJkIjpjYXNlImRpZmYiOnJldHVybiFlLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7Y2FzZSJ0aGlua2luZyI6cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJleHBhbmRlZCIpJiYhZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2Nhc2UiaW5saW5lLXRvb2wiOnJldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiaW5saW5lLXRvb2wtb3BlbiIpO2Nhc2UidGVybWluYWwiOnt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtyZXR1cm4gcj9yLnN0eWxlLmRpc3BsYXkhPT0ibm9uZSI6ZS5kYXRhc2V0LmV4cGFuZGVkPT09InRydWUifWNhc2UidG9vbC1ncm91cCI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7Y2FzZSJzdWJhZ2VudC1yZXBseSI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7Y2FzZSJzdWJhZ2VudC1wYW5lbCI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gcWkoZSx0LHIpe2lmKGUpc3dpdGNoKHQpe2Nhc2UidG9vbC1jYXJkIjpjYXNlImRpZmYiOntlLmNsYXNzTGlzdC50b2dnbGUoImNvbGxhcHNlZCIsIXIpO2JyZWFrfWNhc2UidGhpbmtpbmciOntlLmNsYXNzTGlzdC50b2dnbGUoImNvbGxhcHNlZCIsIXIpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiZXhwYW5kZWQiLCEhcik7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLXByZXZpZXciKTtpZihpKXt2YXIgYT1lLmRhdGFzZXQudGhpbmtpbmd8fCIiLHU9YS5zbGljZSgwLDU3KSsoYS5sZW5ndGg+NjA/Ilx1MjAyNiI6IiIpO2kudGV4dENvbnRlbnQ9cj9hOnV9dmFyIHM9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO3MmJihzLnRleHRDb250ZW50PXI/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpO2JyZWFrfWNhc2UiaW5saW5lLXRvb2wiOntlLmNsYXNzTGlzdC50b2dnbGUoImlubGluZS10b29sLW9wZW4iLCEhcik7dmFyIG89ZS5xdWVyeVNlbGVjdG9yKCIuaW5saW5lLXRvb2wtZXhwYW5kZWQiKTtvJiYoby5zdHlsZS5kaXNwbGF5PXI/ImJsb2NrIjoibm9uZSIpO2JyZWFrfWNhc2UidGVybWluYWwiOnt2YXIgbD1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtsJiYobC5zdHlsZS5kaXNwbGF5PXI/ImJsb2NrIjoibm9uZSIpLGUuZGF0YXNldC5leHBhbmRlZD1yPyJ0cnVlIjoiZmFsc2UiO3ZhciBjPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tdG9nZ2xlLWljb24iKTtjJiYoYy50ZXh0Q29udGVudD1yPyJcdTI1QkMiOiJcdTI1QjYiKTticmVha31jYXNlInRvb2wtZ3JvdXAiOntlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIscj8idHJ1ZSI6ImZhbHNlIik7dmFyIGQ9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1ib2R5Iik7ZCYmKGQuc3R5bGUuZGlzcGxheT1yPyJibG9jayI6Im5vbmUiKTt2YXIgZj1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWNoZXZyb24iKTtmJiYoZi5zdHlsZS50cmFuc2Zvcm09cj8icm90YXRlKDE4MGRlZykiOiIiKTticmVha31jYXNlInN1YmFnZW50LXJlcGx5Ijp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpO3ZhciB2PWUucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXJlcGx5LXRvZ2dsZS1sYWJlbCIpO3YmJih2LnRleHRDb250ZW50PXI/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpO3ZhciBtPWUucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXJlcGx5LXRvZ2dsZSIpO20mJihtLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIscj8idHJ1ZSI6ImZhbHNlIiksbS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHI/Ilx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1NTZERVx1NTkwRCI6Ilx1NUM1NVx1NUYwMFx1NUI1MFx1NEVFM1x1NzQwNlx1NTZERVx1NTkwRFx1NTE2OFx1NjU4NyIpKTticmVha31jYXNlInN1YmFnZW50LXBhbmVsIjp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpO2Zvcih2YXIgYj1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdWJhZ2VudC1wYW5lbC10b2dnbGUiKSxnPTA7ZzxiLmxlbmd0aDtnKyspe3ZhciB5PWJbZ107eS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpLHkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixyPyJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiKTt2YXIgdz15LnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1wYW5lbC10b2dnbGUtbGFiZWwiKTt3JiYody50ZXh0Q29udGVudD1yPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKX12YXIgRj1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1wYW5lbC1ib2R5Iik7RiYmKHI/Ri5zY3JvbGxUb3A9MDpGLnNjcm9sbFRvcD1GLnNjcm9sbEhlaWdodCk7YnJlYWt9fX1mdW5jdGlvbiBibihlLHQpe3ZhciByPVRuKGUpO3ImJk1sKHIscWwoZSx0KSl9ZnVuY3Rpb24gT2koZSl7IWV8fCFuLnNlbGVjdGVkSWR8fGUucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZXhwYW5kLWtleV0iKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciByPVRuKHQpLGk9dC5kYXRhc2V0LmV4cGFuZEtpbmR8fCIiLGE9WmUocik7YT09PW51bGx8fCFpfHxxaSh0LGksYSl9KX1mdW5jdGlvbiBQZSgpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aDw9NzY4fWZ1bmN0aW9uIHB1KCl7cmV0dXJuISFuLnNlc3Npb25zRHJhd2VyT3BlbiYmKFBlKCl8fCFuLnNpZGViYXJQaW5uZWQpfWZ1bmN0aW9uIFBpKGUpe24uZmlsZVBhbmVsT3Blbj1lO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLFN0cmluZyhuLmZpbGVQYW5lbE9wZW4pKX1jYXRjaHt9bi5maWxlUGFuZWxPcGVuJiZQZSgpJiYobi5zZXNzaW9uc0RyYXdlck9wZW49ITEsa2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMSkpLHRuKCksbi5maWxlUGFuZWxPcGVuJiZNdCgpfWZ1bmN0aW9uIE5yKCl7UGkoIW4uZmlsZVBhbmVsT3Blbil9ZnVuY3Rpb24gT2woKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zaWRlLXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1jb250ZW50Iikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC10b2dnbGUtYnRuIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC1iYWNrZHJvcCIpO2UmJmUuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsbi5maWxlUGFuZWxPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoImZpbGUtcGFuZWwtb3BlbiIsbi5maWxlUGFuZWxPcGVuKSxpJiZpLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLG4uZmlsZVBhbmVsT3BlbiksciYmci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG4uZmlsZVBhbmVsT3Blbil9ZnVuY3Rpb24gdG4oKXt4cigpLE9sKCl9ZnVuY3Rpb24gUGwoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIHI9ZSYmZS5jd2Q/ZS5jd2Q6ZW4oKTt0LnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10JiYodC52YWx1ZT1yKTp0LnRleHRDb250ZW50PXIsdC50aXRsZT1yfX1mdW5jdGlvbiB2dSgpe24uZmlsZVBhbmVsT3BlbiYmUGkoITEpfWZ1bmN0aW9uIG11KGUpe3ZhciB0PW4udGVybWluYWxTY2FsZStlO2lmKHQ9TWF0aC5tYXgoLjUsTWF0aC5taW4oMix0KSksdD1NYXRoLnJvdW5kKHQqNCkvNCx0IT09bi50ZXJtaW5hbFNjYWxlKXtuLnRlcm1pbmFsU2NhbGU9dDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiLFN0cmluZyh0KSl9Y2F0Y2h7fWd1KCksSGwoKX19ZnVuY3Rpb24gZ3UoKXtpZighKCFuLnRlcm1pbmFsfHwhbi50ZXJtaW5hbC5lbGVtZW50KSl7dmFyIGU9bi50ZXJtaW5hbEJhc2VGb250U2l6ZSpuLnRlcm1pbmFsU2NhbGUsdD1NYXRoLm1heCgxLE1hdGgucm91bmQoZSkpLHI9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKGUqMS41KSk7bi50ZXJtaW5hbC5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXRlcm0tZm9udC1zaXplIix0KyJweCIpLG4udGVybWluYWwuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS10ZXJtLXJvdy1oZWlnaHQiLHIrInB4IiksdHlwZW9mIG4udGVybWluYWwucmVtZWFzdXJlPT0iZnVuY3Rpb24iJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLnJlbWVhc3VyZSgpfSl9fWZ1bmN0aW9uIEhsKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLXNjYWxlLWxhYmVsLXRvcCIpO2UmJihlLnRleHRDb250ZW50PU1hdGgucm91bmQobi50ZXJtaW5hbFNjYWxlKjEwMCkrIiUiKX12YXIgX2w9eyJjaGV2cm9uLWxlZnQiOic8cGF0aCBkPSJNMTUgMThsLTYtNiA2LTYiLz4nLCJhcnJvdy11cCI6JzxwYXRoIGQ9Ik0xMiAxOVY1Ii8+PHBhdGggZD0iTTUgMTJsNy03IDcgNyIvPicscmVmcmVzaDonPHBhdGggZD0iTTIxIDEyYTkgOSAwIDEgMS0zLTYuNyIvPjxwYXRoIGQ9Ik0yMSA0djVoLTUiLz4nLGV5ZTonPHBhdGggZD0iTTEgMTJzNC03IDExLTcgMTEgNyAxMSA3LTQgNy0xMSA3UzEgMTIgMSAxMnoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+JywiZXllLW9mZiI6JzxwYXRoIGQ9Ik0xNy45NCAxNy45NEExMC45NCAxMC45NCAwIDAgMSAxMiAxOWMtNyAwLTExLTctMTEtN2ExOS44NiAxOS44NiAwIDAgMSA0LjIyLTUuMTgiLz48cGF0aCBkPSJNMSAxbDIyIDIyIi8+PHBhdGggZD0iTTkuOSA0LjI0QTEwLjk0IDEwLjk0IDAgMCAxIDEyIDRjNyAwIDExIDcgMTEgN2ExOS44MyAxOS44MyAwIDAgMS0zLjM2IDQuMjciLz48cGF0aCBkPSJNMTQuMTIgMTQuMTJhMyAzIDAgMSAxLTQuMjQtNC4yNCIvPicseDonPHBhdGggZD0iTTE4IDZMNiAxOCIvPjxwYXRoIGQ9Ik02IDZsMTIgMTIiLz4nLHNlYXJjaDonPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0yMSAyMWwtNC4zLTQuMyIvPicsY29weTonPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDE1VjVhMiAyIDAgMCAxIDItMmgxMCIvPicsY2xpcGJvYXJkOic8cmVjdCB4PSI4IiB5PSIzIiB3aWR0aD0iOCIgaGVpZ2h0PSI0IiByeD0iMSIvPjxwYXRoIGQ9Ik0xNiA1aDJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiIvPicsZG93bmxvYWQ6JzxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBhdGggZD0iTTcgMTBsNSA1IDUtNSIvPjxwYXRoIGQ9Ik0xMiAxNVYzIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNHoiLz4nLHNhdmU6JzxwYXRoIGQ9Ik0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyeiIvPjxwYXRoIGQ9Ik0xNyAyMXYtOEg3djgiLz48cGF0aCBkPSJNNyAzdjVoOCIvPicsInJvdGF0ZS1jY3ciOic8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgMy02LjciLz48cGF0aCBkPSJNMyA0djVoNSIvPicsIndyYXAtdGV4dCI6JzxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMyAxMmgxNWEzIDMgMCAxIDEgMCA2aC00Ii8+PHBhdGggZD0iTTE2IDE2bC0yIDIgMiAyIi8+PHBhdGggZD0iTTMgMThoNiIvPicsdHlwZTonPHBhdGggZD0iTTQgN1Y0aDE2djMiLz48cGF0aCBkPSJNOSAyMGg2Ii8+PHBhdGggZD0iTTEyIDR2MTYiLz4nLG1pbnVzOic8cGF0aCBkPSJNNSAxMmgxNCIvPicscGx1czonPHBhdGggZD0iTTEyIDV2MTQiLz48cGF0aCBkPSJNNSAxMmgxNCIvPicsInNlbmQtdG8taW5wdXQiOic8cGF0aCBkPSJNMjIgMkwxMSAxMyIvPjxwYXRoIGQ9Ik0yMiAybC03IDIwLTQtOS05LTR6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiLz48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiLz4nLCJmb2xkZXItb3BlbiI6JzxwYXRoIGQ9Ik02IDE0bDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIi8+JyxpbmZvOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIxMiIvPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMi4wMSIgeTI9IjgiLz4nfTtmdW5jdGlvbiBMZShlLHQpe3Q9dHx8e307dmFyIHI9X2xbZV18fCIiLGk9dC5zaXplfHwxNixhPXQuY2xhc3NOYW1lPyIgIit0LmNsYXNzTmFtZToiIjtyZXR1cm4nPHN2ZyBjbGFzcz0id2FuZC1pY29uIHdhbmQtaWNvbi0nK2UrYSsnIiB3aWR0aD0iJytpKyciIGhlaWdodD0iJytpKyciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytyKyI8L3N2Zz4ifWZ1bmN0aW9uIGpsKGUpe3ZhciB0PWV8fGVuKCk7cmV0dXJuIHQ/JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj48ZGl2IGNsYXNzPSJ0cmVlLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2Pic6JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NjcyQVx1OTE0RFx1N0Y2RVx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvZGl2Pid9dmFyIE5sPXtwbmc6Ilx1ezFGNUJDfVx1RkUwRiIsanBnOiJcdXsxRjVCQ31cdUZFMEYiLGpwZWc6Ilx1ezFGNUJDfVx1RkUwRiIsZ2lmOiJcdXsxRjVCQ31cdUZFMEYiLHdlYnA6Ilx1ezFGNUJDfVx1RkUwRiIsc3ZnOiJcdXsxRjVCQ31cdUZFMEYiLGF2aWY6Ilx1ezFGNUJDfVx1RkUwRiIsYm1wOiJcdXsxRjVCQ31cdUZFMEYiLGljbzoiXHV7MUY1QkN9XHVGRTBGIixoZWljOiJcdXsxRjVCQ31cdUZFMEYiLGhlaWY6Ilx1ezFGNUJDfVx1RkUwRiIscGRmOiJcdXsxRjRENX0iLGRvYzoiXHV7MUY0RDh9Iixkb2N4OiJcdXsxRjREOH0iLG9kdDoiXHV7MUY0RDh9Iix4bHM6Ilx1ezFGNENBfSIseGxzeDoiXHV7MUY0Q0F9Iixjc3Y6Ilx1ezFGNENBfSIsdHN2OiJcdXsxRjRDQX0iLHBwdDoiXHV7MUY0RDl9IixwcHR4OiJcdXsxRjREOX0iLG1wNDoiXHV7MUYzQUN9Iix3ZWJtOiJcdXsxRjNBQ30iLG1vdjoiXHV7MUYzQUN9Iixta3Y6Ilx1ezFGM0FDfSIsbTR2OiJcdXsxRjNBQ30iLG9ndjoiXHV7MUYzQUN9IixtcDM6Ilx1ezFGM0I1fSIsd2F2OiJcdXsxRjNCNX0iLG9nZzoiXHV7MUYzQjV9IixtNGE6Ilx1ezFGM0I1fSIsZmxhYzoiXHV7MUYzQjV9IixhYWM6Ilx1ezFGM0I1fSIsb3B1czoiXHV7MUYzQjV9Iix6aXA6Ilx1ezFGNEU2fSIsdGFyOiJcdXsxRjRFNn0iLGd6OiJcdXsxRjRFNn0iLHRnejoiXHV7MUY0RTZ9IixiejI6Ilx1ezFGNEU2fSIsIjd6IjoiXHV7MUY0RTZ9IixyYXI6Ilx1ezFGNEU2fSIseHo6Ilx1ezFGNEU2fSIsbWQ6Ilx1ezFGNEREfSIsbWFya2Rvd246Ilx1ezFGNEREfSIsbWR4OiJcdXsxRjRERH0iLHJzdDoiXHV7MUY0RER9Iix0eHQ6Ilx1ezFGNEREfSIsbG9nOiJcdXsxRjRERH0iLGh0bWw6Ilx1ezFGMzEwfSIsaHRtOiJcdXsxRjMxMH0iLHhtbDoiXHV7MUYzMTB9Iixjc3M6Ilx1ezFGM0E4fSIsc2NzczoiXHV7MUYzQTh9IixsZXNzOiJcdXsxRjNBOH0iLGpzb246Ilx1MjY5OVx1RkUwRiIsanNvbmM6Ilx1MjY5OVx1RkUwRiIseWFtbDoiXHUyNjk5XHVGRTBGIix5bWw6Ilx1MjY5OVx1RkUwRiIsdG9tbDoiXHUyNjk5XHVGRTBGIixpbmk6Ilx1MjY5OVx1RkUwRiIsY2ZnOiJcdTI2OTlcdUZFMEYiLGNvbmY6Ilx1MjY5OVx1RkUwRiIsZW52OiJcdTI2OTlcdUZFMEYiLGVkaXRvcmNvbmZpZzoiXHUyNjk5XHVGRTBGIix0czoiXHV7MUY0REN9Iix0c3g6Ilx1ezFGNERDfSIsanM6Ilx1ezFGNERDfSIsanN4OiJcdXsxRjREQ30iLG1qczoiXHV7MUY0REN9IixjanM6Ilx1ezFGNERDfSIscHk6Ilx1ezFGNERDfSIscmI6Ilx1ezFGNERDfSIsZ286Ilx1ezFGNERDfSIscnM6Ilx1ezFGNERDfSIsamF2YToiXHV7MUY0REN9IixjOiJcdXsxRjREQ30iLGNwcDoiXHV7MUY0REN9IixoOiJcdXsxRjREQ30iLGhwcDoiXHV7MUY0REN9IixjczoiXHV7MUY0REN9Iixzd2lmdDoiXHV7MUY0REN9IixrdDoiXHV7MUY0REN9IixzY2FsYToiXHV7MUY0REN9IixwaHA6Ilx1ezFGNERDfSIsc2g6Ilx1ezFGNERDfSIsYmFzaDoiXHV7MUY0REN9Iix6c2g6Ilx1ezFGNERDfSIsZmlzaDoiXHV7MUY0REN9IixsdWE6Ilx1ezFGNERDfSIsc3FsOiJcdXsxRjREQ30iLGdyYXBocWw6Ilx1ezFGNERDfSIscHJvdG86Ilx1ezFGNERDfSIsdnVlOiJcdXsxRjREQ30iLHN2ZWx0ZToiXHV7MUY0REN9IixkaWZmOiJcdXsxRjREQ30iLHBhdGNoOiJcdXsxRjREQ30iLHR0ZjoiXHV7MUY1MjR9IixvdGY6Ilx1ezFGNTI0fSIsd29mZjoiXHV7MUY1MjR9Iix3b2ZmMjoiXHV7MUY1MjR9Iixlb3Q6Ilx1ezFGNTI0fSJ9O2Z1bmN0aW9uIGh1KGUpe2lmKCFlKXJldHVybiJcdXsxRjRDNH0iO2lmKGUudHlwZT09PSJkaXIiKXJldHVybiJcdXsxRjRDMX0iO3ZhciB0PShlLm5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKHQ9PT0iZG9ja2VyZmlsZSIpcmV0dXJuIlx1ezFGNDMzfSI7aWYodD09PSJtYWtlZmlsZSIpcmV0dXJuIlx1ezFGNkUwfVx1RkUwRiI7aWYodD09PSJsaWNlbnNlIilyZXR1cm4iXHV7MUY0REN9IjtpZih0PT09InJlYWRtZSIpcmV0dXJuIlx1ezFGNEREfSI7dmFyIHI9dC5sYXN0SW5kZXhPZigiLiIpO2lmKHI8MHx8cj09PXQubGVuZ3RoLTEpcmV0dXJuIlx1ezFGNEM0fSI7dmFyIGk9dC5zbGljZShyKzEpO3JldHVybiBObFtpXXx8Ilx1ezFGNEM0fSJ9ZnVuY3Rpb24gTG4oZSl7aWYodHlwZW9mIGUhPSJudW1iZXIifHwhaXNGaW5pdGUoZSl8fGU8MClyZXR1cm4iIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjt2YXIgdD1lLzEwMjQ7aWYodDwxMDI0KXJldHVybih0Pj0xMD9NYXRoLnJvdW5kKHQpOnQudG9GaXhlZCgxKSkrIiBLQiI7dmFyIHI9dC8xMDI0O2lmKHI8MTAyNClyZXR1cm4ocj49MTA/TWF0aC5yb3VuZChyKTpyLnRvRml4ZWQoMSkpKyIgTUIiO3ZhciBpPXIvMTAyNDtyZXR1cm4oaT49MTA/TWF0aC5yb3VuZChpKTppLnRvRml4ZWQoMSkpKyIgR0IifWZ1bmN0aW9uIFJsKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUucGFyc2UoZSk7cmV0dXJuIGlzTmFOKHQpPyIiOm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKCl9ZnVuY3Rpb24geXUoKXtpZihuLmZpbGVFeHBsb3JlckN3ZClyZXR1cm4gbi5maWxlRXhwbG9yZXJDd2Q7aWYobi5zZWxlY3RlZElkKXt2YXIgZT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZihlJiZlLmN3ZClyZXR1cm4gZS5jd2R9cmV0dXJuIGVuKCl9ZnVuY3Rpb24gTXQoZSl7ZT1lfHx7fTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIGk9ZS5jd2R8fHl1KCk7aWYoIWkpe3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIGVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTY2M0VcdTc5M0FcdTc2ODRcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L2Rpdj4nO3JldHVybn1uLmZpbGVFeHBsb3JlckN3ZD1pLG4uZmlsZUV4cGxvcmVyTG9hZGluZz0hMCxuLmFsbEZpbGVzPVtdLG4uZmlsZUV4cGxvcmVyVHJ1bmNhdGVkPSExLG4uZmlsZUV4cGxvcmVyVG90YWw9MCx0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciI+PGRpdiBjbGFzcz0idHJlZS1sb2FkaW5nIiBzdHlsZT0icGFkZGluZzoxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTowLjgxMjVyZW07Ij5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj4nLHImJihyLnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiYoci52YWx1ZT1pKTpyLnRleHRDb250ZW50PWksci50aXRsZT1pKTt2YXIgYT0iL2FwaS9kaXJlY3Rvcnk/cT0iK2VuY29kZVVSSUNvbXBvbmVudChpKSsiJmdpdFN0YXR1cz10cnVlIjtmZXRjaChhLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtpZighdS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeS4iKTtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe24uZmlsZUV4cGxvcmVyTG9hZGluZz0hMTt2YXIgcyxvLGw7aWYoQXJyYXkuaXNBcnJheSh1KT8ocz11LG89ITEsbD11Lmxlbmd0aCk6KHM9dSYmdS5pdGVtc3x8W10sbz0hISh1JiZ1LnRydW5jYXRlZCksbD11JiZ1LnRvdGFsfHxzLmxlbmd0aCksIXN8fHMubGVuZ3RoPT09MCl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1N0E3QVx1NzZFRVx1NUY1NVx1NjIxNlx1NjVFMFx1NkNENVx1OEJCRlx1OTVFRVx1MzAwMjwvZGl2Pic7cmV0dXJufW4uYWxsRmlsZXM9cyxuLmZpbGVFeHBsb3JlclRydW5jYXRlZD1vLG4uZmlsZUV4cGxvcmVyVG90YWw9bCxidSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtuLmZpbGVFeHBsb3JlckxvYWRpbmc9ITEsdC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1NjhDMFx1NjdFNVx1OERFRlx1NUY4NFx1NjIxNlx1Njc0M1x1OTY1MFx1MzAwMjwvZGl2Pid9KX19ZnVuY3Rpb24gYnUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpO2lmKGUpe3ZhciB0PW4uZmlsZUV4cGxvcmVyQ3dkfHwiIjtpZih0KXt2YXIgcj1uLmZpbGVTZWFyY2hRdWVyeSxpPW4uYWxsRmlsZXN8fFtdLGE9aTtpZihyKXt2YXIgdT1yLnRvTG93ZXJDYXNlKCk7YT1pLmZpbHRlcihmdW5jdGlvbihsKXtyZXR1cm4gbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih1KSE9PS0xfSl9aWYoYS5sZW5ndGg9PT0wKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+Jysocj8iXHU2Q0ExXHU2NzA5XHU2MjdFXHU1MjMwXHU1MzM5XHU5MTREXHU3Njg0XHU2NTg3XHU0RUY2IjoiXHU3QTdBXHU3NkVFXHU1RjU1IikrIjwvZGl2PiI7cmV0dXJufXZhciBzPSIiO2lmKCFyJiZuLmZpbGVFeHBsb3JlclRydW5jYXRlZCl7dmFyIG89aS5sZW5ndGg7cz0nPGRpdiBjbGFzcz0idHJlZS10cnVuY2F0ZWQiIHRpdGxlPSJcdTU0MEVcdTdBRUZcdTYzMDlcdTVCNTdcdTZCQ0RcdTVFOEZcdTY3MDBcdTU5MUFcdThGRDRcdTU2REUgJytvKycgXHU5ODc5Ij5cdTY2M0VcdTc5M0FcdTUyNEQgJytvKyIgXHU5ODc5IC8gXHU1MTcxICIrbi5maWxlRXhwbG9yZXJUb3RhbCsiIFx1OTg3OTwvZGl2PiJ9ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj4nK2EubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBFdShsKX0pLmpvaW4oIiIpKyI8L2Rpdj4iK3MsRnUoKX19fWZ1bmN0aW9uIEV1KGUsdCl7dD10fHwwO3ZhciByPXAoZS5uYW1lKSxpPWUudHlwZT09PSJkaXIiLGE9aHUoZSksdT1pPyJcdTI1QjgiOiIiLHM9aT8iIjoiIGVtcHR5IixvPWUuZ2l0U3RhdHVzLGw9V2wobyksYz0iIjtyZXR1cm4haSYmdHlwZW9mIGUuc2l6ZT09Im51bWJlciImJihjPSc8c3BhbiBjbGFzcz0idHJlZS1tZXRhIiB0aXRsZT0iXHU1OTI3XHU1QzBGXHVGRjFBJytwKExuKGUuc2l6ZSkpKyhlLm10aW1lP2AKXHU0RkVFXHU2NTM5XHU2NUY2XHU5NUY0XHVGRjFBYCtwKFJsKGUubXRpbWUpKToiIikrJyI+JytwKExuKGUuc2l6ZSkpKyI8L3NwYW4+IiksJzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgZGF0YS1wYXRoPSInK3AoZS5wYXRoKSsnIiBkYXRhLXR5cGU9IicrcChlLnR5cGUpKyciIGRhdGEtbmFtZT0iJytwKGUubmFtZSkrJyIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJ0cmVlLXRvZ2dsZScrcysnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1pY29uIj4nK2ErJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1uYW1lIj4nK3IrIjwvc3Bhbj4iK2MrKGw/JzxzcGFuIGNsYXNzPSJnaXQtc3RhdHVzLWJhZGdlICcrbC5jbGFzcysnIiB0aXRsZT0iJytsLnRpdGxlKyciPicrbC50ZXh0KyI8L3NwYW4+IjoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gV2woZSl7cmV0dXJuIGU/ZS5zdGFnZWQ9PT0iYWRkZWQiP3t0ZXh0OiJBIixjbGFzczoiZ2l0LWFkZGVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU2NUIwXHU1ODlFXHVGRjA5In06ZS5zdGFnZWQ9PT0ibW9kaWZpZWQiP3t0ZXh0OiJNIixjbGFzczoiZ2l0LW1vZGlmaWVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU0RkVFXHU2NTM5XHVGRjA5In06ZS5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtZGVsZXRlZCIsdGl0bGU6Ilx1NURGMlx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUuc3RhZ2VkPT09InJlbmFtZWQiP3t0ZXh0OiJSIixjbGFzczoiZ2l0LXJlbmFtZWQiLHRpdGxlOiJcdTVERjJcdTY2ODJcdTVCNThcdUZGMDhcdTkxQ0RcdTU0N0RcdTU0MERcdUZGMDkifTplLnVuc3RhZ2VkPT09Im1vZGlmaWVkIj97dGV4dDoiTSIsY2xhc3M6ImdpdC11bnN0YWdlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NEZFRVx1NjUzOVx1RkYwOSJ9OmUudW5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtdW5zdGFnZWQtZGVsZXRlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUudW50cmFja2VkP3t0ZXh0OiI/IixjbGFzczoiZ2l0LXVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9Om51bGw6bnVsbH1mdW5jdGlvbiBGdSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXRyZWUiKTtpZihlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi50cmVlLWl0ZW1bZGF0YS10eXBlPSdkaXInXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7emwoaSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbVtkYXRhLXR5cGU9J2ZpbGUnXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZnVuY3Rpb24oKXtfaShpLmRhdGFzZXQucGF0aCl9O2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGEpfSk7dmFyIHQ9bnVsbCxyPSExO2UucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLHd1KGEuY2xpZW50WCxhLmNsaWVudFksaSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe3I9ITEsdD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cj0hMDt2YXIgdT1hLnRvdWNoZXMmJmEudG91Y2hlc1swXTt3dSh1P3UuY2xpZW50WDowLHU/dS5jbGllbnRZOjAsaSl9LDUwMCl9LHtwYXNzaXZlOiEwfSksaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KX0pfX1mdW5jdGlvbiB6bChlKXt2YXIgdD1lLmRhdGFzZXQucGF0aCxyPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtdG9nZ2xlIiksaT1lLm5leHRFbGVtZW50U2libGluZztpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygidHJlZS1jaGlsZHJlbiIpKXt2YXIgYT1pLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO2kuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpLHImJnIuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsIWEpO3ZhciB1PWUucXVlcnlTZWxlY3RvcigiLnRyZWUtaWNvbiIpO3UmJih1LnRleHRDb250ZW50PWE/Ilx1ezFGNEMxfSI6Ilx1ezFGNEMyfSIpO3JldHVybn1yJiZyLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTt2YXIgcz1lLnF1ZXJ5U2VsZWN0b3IoIi50cmVlLWljb24iKTtzJiYocy50ZXh0Q29udGVudD0iXHV7MUY0QzJ9Iik7dmFyIG89Ii9hcGkvZGlyZWN0b3J5P3E9IitlbmNvZGVVUklDb21wb25lbnQodCkrIiZnaXRTdGF0dXM9dHJ1ZSI7ZmV0Y2gobyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwuanNvbigpfSkudGhlbihmdW5jdGlvbihsKXt2YXIgYztBcnJheS5pc0FycmF5KGwpP2M9bDpjPWwmJmwuaXRlbXN8fFtdO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NOYW1lPSJ0cmVlLWNoaWxkcmVuIG9wZW4iLCFjfHxjLmxlbmd0aD09PTA/ZC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpkZWZhdWx0OyI+PHNwYW4gY2xhc3M9InRyZWUtdG9nZ2xlIGVtcHR5Ij5cdTI1Qjg8L3NwYW4+PHNwYW4gY2xhc3M9InRyZWUtbmFtZSI+XHVGRjA4XHU3QTdBXHU3NkVFXHU1RjU1XHVGRjA5PC9zcGFuPjwvZGl2Pic6ZC5pbm5lckhUTUw9Yy5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIEV1KGYpfSkuam9pbigiIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLGUubmV4dFNpYmxpbmcpLEZ1KCl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFZsKCl7dmFyIGU9eXUoKTtpZihlKXt2YXIgdD1lLnJlcGxhY2UoL1wvKyQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIiKTt0fHwodD0iLyIpLHQhPT1lJiZNdCh7Y3dkOnR9KX19ZnVuY3Rpb24gSGkoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCF0KXJldHVybiExO3ZhciByPXQudmFsdWV8fCIiLGk9ciYmIXIuZW5kc1dpdGgoIiAiKSYmIXIuZW5kc1dpdGgoYApgKT8iICI6IiI7dC52YWx1ZT1yK2krZSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSk7dHJ5e3QuZm9jdXMoKSx0LnNldFNlbGVjdGlvblJhbmdlKHQudmFsdWUubGVuZ3RoLHQudmFsdWUubGVuZ3RoKX1jYXRjaHt9cmV0dXJuITB9ZnVuY3Rpb24gUnIoZSl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQpcmV0dXJuIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKX0pO3JldHVybiBQcm9taXNlLnJlc29sdmUodCgpKTtmdW5jdGlvbiB0KCl7dHJ5e3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7ci52YWx1ZT1lLHIuc3R5bGUucG9zaXRpb249ImZpeGVkIixyLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksci5zZWxlY3QoKTt2YXIgaT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHIpLGl9Y2F0Y2h7cmV0dXJuITF9fX1mdW5jdGlvbiBGdChlKXtpZih0eXBlb2Ygd2luZG93LnNob3dUb2FzdD09ImZ1bmN0aW9uIil7d2luZG93LnNob3dUb2FzdChlKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9IndhbmQtbWluaS10b2FzdCIsdC50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LmFkZCgic2hvdyIpfSwxMCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnJlbW92ZSgpfSwyMjApfSwxNjAwKX1mdW5jdGlvbiBNbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWNvbnRleHQtbWVudSIpO2UmJmUucmVtb3ZlKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLE1uLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLE1uLCEwKX1mdW5jdGlvbiB3dShlLHQscil7TW4oKTt2YXIgaT1yLmRhdGFzZXQucGF0aHx8IiIsYT1yLmRhdGFzZXQudHlwZXx8ImZpbGUiLHU9bi5maWxlRXhwbG9yZXJDd2R8fCIiLHM9aTt1JiZpLmluZGV4T2YodSk9PT0wJiYocz1pLnNsaWNlKHUubGVuZ3RoKS5yZXBsYWNlKC9eXC8rLywiIil8fCIuIik7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5pZD0iZmlsZS1jb250ZXh0LW1lbnUiLG8uY2xhc3NOYW1lPSJmaWxlLWNvbnRleHQtbWVudSI7dmFyIGw9W107YT09PSJmaWxlIj9sLnB1c2goe2xhYmVsOiJcdTYyNTNcdTVGMDBcdTk4ODRcdTg5QzgiLGljb246Ilx1ezFGNDQxfSIscnVuOmZ1bmN0aW9uKCl7X2koaSl9fSk6bC5wdXNoKHtsYWJlbDoiXHU4RkRCXHU1MTY1XHU2QjY0XHU3NkVFXHU1RjU1IixpY29uOiJcdXsxRjRDMn0iLHJ1bjpmdW5jdGlvbigpe010KHtjd2Q6aX0pfX0pLGwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NUI4Q1x1NjU3NFx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtScihpKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSkscyYmcyE9PWkmJmwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtScihzKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIpfSl9fSksbC5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU4REVGXHU1Rjg0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOiJcdTI3MEZcdUZFMEYiLHJ1bjpmdW5jdGlvbigpe0hpKGkpJiZGdCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksYT09PSJmaWxlIiYmbC5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2IixpY29uOiJcdTJCMDciLHJ1bjpmdW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtiLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpLGIucmVsPSJub29wZW5lciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKSxiLmNsaWNrKCksYi5yZW1vdmUoKX19KSxvLmlubmVySFRNTD1sLm1hcChmdW5jdGlvbihiLGcpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImZpbGUtY29udGV4dC1tZW51LWl0ZW0iIGRhdGEtaWR4PSInK2crJyI+PHNwYW4gY2xhc3M9ImN0eC1pY29uIj4nK2IuaWNvbisnPC9zcGFuPjxzcGFuIGNsYXNzPSJjdHgtbGFiZWwiPicrcChiLmxhYmVsKSsiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO3ZhciBjPXdpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0LGY9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PU1hdGgubWluKGUsYy1mLndpZHRoLTgpLG09TWF0aC5taW4odCxkLWYuaGVpZ2h0LTgpO28uc3R5bGUubGVmdD1NYXRoLm1heCg4LHYpKyJweCIsby5zdHlsZS50b3A9TWF0aC5tYXgoOCxtKSsicHgiLG8ucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtY29udGV4dC1tZW51LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGcpe2cuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHk9cGFyc2VJbnQoYi5kYXRhc2V0LmlkeCwxMCk7TW4oKSxsW3ldJiZsW3ldLnJ1bigpfSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE1uLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLE1uLCEwKX0sMCl9dmFyIHE9bnVsbDtmdW5jdGlvbiBfaShlKXt2YXIgdD1xJiZxLm92ZXJsYXk7aWYodCl7cS5wYXRoPWUscS5lZGl0aW5nPSExLHEuZGlydHk9ITE7dmFyIHM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIik7cyYmKHMuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWljb24iPlx1ezFGNEM0fTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctbmFtZS1ibG9jayI+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtcm93Ij48c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWZpbGVuYW1lIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1wYXRoIiB0aXRsZT0iIj48L3NwYW4+PC9kaXY+Jyk7dmFyIG89dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXIiKTtvJiYoby5pbm5lckhUTUw9IiIpO3ZhciBsPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1wYXRoIik7bCYmKGwudGV4dENvbnRlbnQ9IiIsbC50aXRsZT0iIik7dmFyIGM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtjJiYoYy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj4nKX1lbHNle3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1vdmVybGF5Iix0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW1vZGFsIiB0YWJpbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10aXRsZSI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1pY29uIj5cdXsxRjRDNH08L3NwYW4+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2siPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1uYW1lLXJvdyI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1maWxlbmFtZSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJmaWxlLXByZXZpZXctcGF0aCIgdGl0bGU9IiI+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10b29sYmFyIj48L2Rpdj48YnV0dG9uIGNsYXNzPSJmaWxlLXByZXZpZXctY2xvc2UiIHRpdGxlPSJcdTUxNzNcdTk1RUQgKEVzYykiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+JytMZSgieCIse3NpemU6MTh9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIHI9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWNsb3NlIiksaT1mdW5jdGlvbigpe2lmKHEmJnEuZGlydHkmJnR5cGVvZiBubj09ImZ1bmN0aW9uIil7bm4oe3R5cGU6Indhcm5pbmciLHRpdGxlOiJcdTY1M0VcdTVGMDNcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTRGRUVcdTY1MzlcdUZGMUYiLG1lc3NhZ2U6Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTE3M1x1OTVFRFx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiIsYnV0dG9uczpbe2xhYmVsOiJcdTdFRTdcdTdFRURcdTdGMTZcdThGOTEiLHZhbHVlOiExLGtpbmQ6Imdob3N0In0se2xhYmVsOiJcdTY1M0VcdTVGMDNcdTRGRUVcdTY1MzkiLHZhbHVlOiEwLGtpbmQ6ImRhbmdlciIsYXV0b2ZvY3VzOiEwfV0sY2FuY2VsVmFsdWU6ITF9KS50aGVuKGZ1bmN0aW9uKGYpe2YmJmEoKX0pO3JldHVybn1hKCl9LGE9ZnVuY3Rpb24oKXt0LnJlbW92ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpLHE9bnVsbH07ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZil7Zi50YXJnZXQ9PT10JiZpKCl9KTt2YXIgdT1mdW5jdGlvbihmKXtpZigoZi5rZXk9PT0icyJ8fGYua2V5PT09IlMiKSYmKGYuY3RybEtleXx8Zi5tZXRhS2V5KSYmcSYmcS5lZGl0aW5nKXtmLnByZXZlbnREZWZhdWx0KCkseHUoKTtyZXR1cm59aWYoZi5rZXk9PT0iRXNjYXBlIil7aWYocSYmcS5lZGl0aW5nKXtmLnByZXZlbnREZWZhdWx0KCksQXUoKTtyZXR1cm59aSgpO3JldHVybn1xJiYoZi50YXJnZXQmJihmLnRhcmdldC50YWdOYW1lPT09IklOUFVUInx8Zi50YXJnZXQudGFnTmFtZT09PSJURVhUQVJFQSIpfHxxLmVkaXRpbmd8fChmLmtleT09PSJBcnJvd0xlZnQiPyhmLnByZXZlbnREZWZhdWx0KCksQ3UoLTEpKTpmLmtleT09PSJBcnJvd1JpZ2h0IiYmKGYucHJldmVudERlZmF1bHQoKSxDdSgxKSkpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSkscT17b3ZlcmxheTp0LGNsb3NlOmkscGF0aDplLGRhdGE6bnVsbCxlZGl0aW5nOiExLGRpcnR5OiExfX12YXIgZD10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctcGF0aCIpO2QmJihkLnRleHRDb250ZW50PWUsZC50aXRsZT1lKSxmZXRjaCgiL2FwaS9maWxlLXByZXZpZXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudChlKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJuIGYuanNvbigpLnRoZW4oZnVuY3Rpb24odil7cmV0dXJue29rOmYub2ssc3RhdHVzOmYuc3RhdHVzLGRhdGE6dn19KX0pLnRoZW4oZnVuY3Rpb24oZil7dmFyIHY9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtpZighZi5va3x8Zi5kYXRhJiZmLmRhdGEuZXJyb3Ipe3ZhciBtPWYuZGF0YSYmZi5kYXRhLmVycm9yfHwiXHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1IjtmLnN0YXR1cz09PTQxMyYmZi5kYXRhJiZmLmRhdGEuc2l6ZSYmKG0rPSJcdUZGMDhcdTY1ODdcdTRFRjZcdTU5MjdcdTVDMEZcdUZGMUEiK0xuKGYuZGF0YS5zaXplKSsiXHVGRjA5Iiksdi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1lcnJvciI+PHNwYW4gY2xhc3M9InByZXZpZXctZXJyb3ItaWNvbiI+XHUyNkEwPC9zcGFuPjxzcGFuPicrcChtKSsiPC9zcGFuPjwvZGl2PiIsZi5zdGF0dXM9PT00MTMmJmppKHQse2tpbmQ6ImJpbmFyeSIscGF0aDplLG5hbWU6ZS5zcGxpdCgiLyIpLnBvcCgpfHxlLGV4dDoiIixzaXplOmYuZGF0YSYmZi5kYXRhLnNpemV8fDB9KTtyZXR1cm59cS5kYXRhPWYuZGF0YSxCdSh0LGYuZGF0YSl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBmPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7Zi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1lcnJvciI+PHNwYW4gY2xhc3M9InByZXZpZXctZXJyb3ItaWNvbiI+XHUyNkEwPC9zcGFuPjxzcGFuPlx1NTJBMFx1OEY3RFx1OTg4NFx1ODlDOFx1NTkzMVx1OEQyNTwvc3Bhbj48L2Rpdj4nfSl9ZnVuY3Rpb24gQ3UoZSl7aWYocSl7dmFyIHQ9KG4uYWxsRmlsZXN8fFtdKS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIG8udHlwZT09PSJmaWxlIn0pO2lmKHQubGVuZ3RoKXtmb3IodmFyIHI9cS5wYXRoLGk9LTEsYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHRbYV0ucGF0aD09PXIpe2k9YTticmVha31pZighKGk8MCkpe3ZhciB1PShpK2UrdC5sZW5ndGgpJXQubGVuZ3RoLHM9dFt1XS5wYXRoO3MmJnMhPT1yJiZfaShzKX19fX1mdW5jdGlvbiBCdShlLHQpe3ZhciByPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1maWxlbmFtZSIpO3ImJihyLnRleHRDb250ZW50PXQubmFtZSk7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWljb24iKTtpJiYoaS50ZXh0Q29udGVudD1odSh7bmFtZTp0Lm5hbWUsdHlwZToiZmlsZSJ9KSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIiksdT1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctbGFuZyIpO3UmJnUucmVtb3ZlKCk7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctbGFuZyI7dmFyIG89e2ltYWdlOiJcdTU2RkVcdTcyNDciLHBkZjoiUERGIix2aWRlbzoiXHU4OUM2XHU5ODkxIixhdWRpbzoiXHU5N0YzXHU5ODkxIixiaW5hcnk6Ilx1NEU4Q1x1OEZEQlx1NTIzNiJ9O3Qua2luZD09PSJ0ZXh0Ij9zLnRleHRDb250ZW50PXQubGFuZ3x8KHQuZXh0fHwiIikucmVwbGFjZSgiLiIsIiIpfHwidGV4dCI6cy50ZXh0Q29udGVudD1vW3Qua2luZF18fCh0LmV4dHx8IiIpLnJlcGxhY2UoIi4iLCIiKXx8dC5raW5kLGEmJmEuYXBwZW5kQ2hpbGQocyksamkoZSx0KTt2YXIgbD1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO2wuaW5uZXJIVE1MPSIiLGwuY2xhc3NMaXN0LnJlbW92ZSgia2luZC10ZXh0Iiwia2luZC1pbWFnZSIsImtpbmQtcGRmIiwia2luZC12aWRlbyIsImtpbmQtYXVkaW8iLCJraW5kLWJpbmFyeSIpLGwuY2xhc3NMaXN0LmFkZCgia2luZC0iKyh0LmtpbmR8fCJ0ZXh0IikpLHQua2luZD09PSJpbWFnZSI/S2wobCx0KTp0LmtpbmQ9PT0icGRmIj9KbChsLHQpOnQua2luZD09PSJ2aWRlbyI/WWwobCx0KTp0LmtpbmQ9PT0iYXVkaW8iP0dsKGwsdCk6dC5raW5kPT09ImJpbmFyeSI/UWwobCx0KTp0Lmxhbmc9PT0ibWFya2Rvd24ifHwvXC4obWR8bWFya2Rvd258bWR4KSQvaS50ZXN0KHQubmFtZXx8IiIpP2wuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtYXJrZG93bi1wcmV2aWV3Ij4nK2VjKHQuY29udGVudHx8IiIpKyI8L2Rpdj4iOlVsKGwsdCl9ZnVuY3Rpb24gVWwoZSx0KXt2YXIgcj1JdSh0LmNvbnRlbnR8fCIiLHQubGFuZyksaT1yLnNwbGl0KGAKYCksYT1pLm1hcChmdW5jdGlvbih1LHMpe3JldHVybiBzKzF9KTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29kZS1wcmV2aWV3LXdyYXBwZXIiPjxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy1saW5lcyI+JythLmpvaW4oYApgKSsnPC9kaXY+PGRpdiBjbGFzcz0iY29kZS1wcmV2aWV3LWNvbnRlbnQiPjxwcmU+JytpLmpvaW4oYApgKSsiPC9wcmU+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBLbChlLHQpe3ZhciByPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iaW1hZ2UtcHJldmlldy13cmFwcGVyIj48aW1nIGNsYXNzPSJpbWFnZS1wcmV2aWV3LWltZyIgc3JjPSInK3IrJyIgYWx0PSInK3AodC5uYW1lKSsnIiAvPjwvZGl2Pic7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtcHJldmlldy1pbWciKTtpZihpKXt2YXIgYT0hMTtpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2E9IWEsaS5jbGFzc0xpc3QudG9nZ2xlKCJ6b29tZWQiLGEpfSl9fWZ1bmN0aW9uIEpsKGUsdCl7dmFyIHI9Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8aWZyYW1lIGNsYXNzPSJwZGYtcHJldmlldy1mcmFtZSIgc3JjPSInK3IrJyIgdGl0bGU9IicrcCh0Lm5hbWUpKyciPjwvaWZyYW1lPid9ZnVuY3Rpb24gWWwoZSx0KXt2YXIgcj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctd3JhcHBlciI+PHZpZGVvIGNsYXNzPSJtZWRpYS1wcmV2aWV3LXZpZGVvIiBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3JjPSInK3IrJyI+XHU2MEE4XHU3Njg0XHU2RDRGXHU4OUM4XHU1NjY4XHU0RTBEXHU2NTJGXHU2MzAxIHZpZGVvIFx1NjgwN1x1N0I3RVx1MzAwMjwvdmlkZW8+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1tZXRhIj4nK3AoTG4odC5zaXplKSkrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gR2woZSx0KXt2YXIgcj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctd3JhcHBlciBhdWRpbyI+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1pY29uIj5cdXsxRjNCNX08L2Rpdj48ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LW5hbWUiPicrcCh0Lm5hbWUpKyc8L2Rpdj48YXVkaW8gY2xhc3M9Im1lZGlhLXByZXZpZXctYXVkaW8iIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzcmM9IicrcisnIj5cdTYwQThcdTc2ODRcdTZENEZcdTg5QzhcdTU2NjhcdTRFMERcdTY1MkZcdTYzMDEgYXVkaW8gXHU2ODA3XHU3QjdFXHUzMDAyPC9hdWRpbz48ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LW1ldGEiPicrcChMbih0LnNpemUpKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBRbChlLHQpe3ZhciByPSIvYXBpL2ZpbGUtcmF3P2Rvd25sb2FkPTEmcGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1jYXJkIj48ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1pY29uIj5cdXsxRjRFNn08L2Rpdj48ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1uYW1lIj4nK3AodC5uYW1lKSsnPC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctbWV0YSI+PHNwYW4+JytwKCh0LmV4dHx8IiIpLnJlcGxhY2UoL15cLi8sIiIpfHwiXHU2NzJBXHU3N0U1XHU2ODNDXHU1RjBGIikrIjwvc3Bhbj48c3Bhbj5ceEI3PC9zcGFuPjxzcGFuPiIrcChMbih0LnNpemUpKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LXBhdGgiIHRpdGxlPSInK3AodC5wYXRoKSsnIj4nK3AodC5wYXRoKSsnPC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctYWN0aW9ucyI+PGEgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LWJ0biIgaHJlZj0iJytyKyciIGRvd25sb2FkPSInK3AodC5uYW1lKSsnIj5cdTRFMEJcdThGN0RcdTY1ODdcdTRFRjY8L2E+PGJ1dHRvbiBjbGFzcz0iYmluYXJ5LXByZXZpZXctYnRuIiB0eXBlPSJidXR0b24iIGRhdGEtYWN0aW9uPSJ2aWV3LWNhdCI+XHU1NzI4XHU3RUM4XHU3QUVGXHU0RTJEXHU2N0U1XHU3NzBCPC9idXR0b24+PC9kaXY+PC9kaXY+Jzt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWFjdGlvbj0idmlldy1jYXQiXScpO2kmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7SGkoJ2NhdCAtLSAiJyt0LnBhdGgrJyInKSYmRnQoIlx1NTQ3RFx1NEVFNFx1NURGMlx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiIpfSl9ZnVuY3Rpb24gamkoZSx0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctdG9vbGJhciIpO2lmKHIpe2lmKHIuaW5uZXJIVE1MPSIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLHEmJnEuZWRpdGluZyl7ci5jbGFzc0xpc3QuYWRkKCJlZGl0aW5nIiksdXIoZSx0KTtyZXR1cm59dmFyIGk9W107dC5raW5kPT09InRleHQiJiZpLnB1c2goe2xhYmVsOiJcdTdGMTZcdThGOTFcdTY1ODdcdTRFRjYgKEUpIixpY29uOkxlKCJlZGl0IikscHJpbWFyeTohMCxhY3Rpb246ZnVuY3Rpb24oKXskbCgpfX0pLGkucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIsaWNvbjpMZSgiY2xpcGJvYXJkIiksYWN0aW9uOmZ1bmN0aW9uKCl7UnIodC5wYXRoKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSksaS5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOkxlKCJzZW5kLXRvLWlucHV0IiksYWN0aW9uOmZ1bmN0aW9uKCl7SGkodC5wYXRoKSYmRnQoIlx1NURGMlx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiIpfX0pLGkucHVzaCh7bGFiZWw6Ilx1NEUwQlx1OEY3RCIsaWNvbjpMZSgiZG93bmxvYWQiKSxhY3Rpb246ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5ocmVmPSIvYXBpL2ZpbGUtcmF3P2Rvd25sb2FkPTEmcGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpLGEuZG93bmxvYWQ9dC5uYW1lfHwiIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpLGEuY2xpY2soKSxhLnJlbW92ZSgpfX0pLHQua2luZD09PSJ0ZXh0IiYmKGkucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NTE2OFx1OTBFOFx1NTE4NVx1NUJCOSIsaWNvbjpMZSgiY29weSIpLGFjdGlvbjpmdW5jdGlvbigpe1JyKHQuY29udGVudHx8IiIpLnRoZW4oZnVuY3Rpb24oKXtGdCgiXHU1REYyXHU1OTBEXHU1MjM2XHU1MTg1XHU1QkI5Iil9KX19KSxpLnB1c2goe2xhYmVsOiJcdTUyMDdcdTYzNjJcdTgxRUFcdTUyQThcdTYzNjJcdTg4NEMiLGljb246TGUoIndyYXAtdGV4dCIpLHRvZ2dsZUNsYXNzOiJ0b29sYmFyLWFjdGl2ZSIsZ2V0SW5pdGlhbDpmdW5jdGlvbigpe3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtcHJldmlldy1jb250ZW50IHByZSIpO3JldHVybiBhJiZhLmNsYXNzTGlzdC5jb250YWlucygid3JhcCIpfSxhY3Rpb246ZnVuY3Rpb24oYSl7dmFyIHU9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgid3JhcCIpLGEuY2xhc3NMaXN0LnRvZ2dsZSgidG9vbGJhci1hY3RpdmUiLHUuY2xhc3NMaXN0LmNvbnRhaW5zKCJ3cmFwIikpKX19KSxpLnB1c2goe2tpbmQ6Imdyb3VwIixjbGFzc05hbWU6InRvb2xiYXItZ3JvdXAtZm9udHNpemUiLGNoaWxkcmVuOlt7bGFiZWw6Ilx1N0YyOVx1NUMwRlx1NUI1N1x1NTNGNyIsaWNvbjpMZSgibWludXMiKSxhY3Rpb246ZnVuY3Rpb24oKXtTdShlLC0xKX19LHtraW5kOiJsYWJlbCIsaWNvbjpMZSgidHlwZSIpLGxhYmVsOiJcdTVCNTdcdTUzRjcifSx7bGFiZWw6Ilx1NjUzRVx1NTkyN1x1NUI1N1x1NTNGNyIsaWNvbjpMZSgicGx1cyIpLGFjdGlvbjpmdW5jdGlvbigpe1N1KGUsMSl9fV19KSksRHUocixpLGUpfX1mdW5jdGlvbiBEdShlLHQscil7dC5mb3JFYWNoKGZ1bmN0aW9uKGkpe2lmKGkua2luZD09PSJncm91cCIpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1ncm91cCIrKGkuY2xhc3NOYW1lPyIgIitpLmNsYXNzTmFtZToiIiksaS5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHUua2luZD09PSJsYWJlbCIpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmNsYXNzTmFtZT0iZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXBsYWJlbCIscy50aXRsZT11LmxhYmVsfHwiIixzLmlubmVySFRNTD11Lmljb258fCIiLGEuYXBwZW5kQ2hpbGQocyk7cmV0dXJufWEuYXBwZW5kQ2hpbGQoa3UodSkpfSksZS5hcHBlbmRDaGlsZChhKTtyZXR1cm59ZS5hcHBlbmRDaGlsZChrdShpKSl9KX1mdW5jdGlvbiBrdShlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtyZXR1cm4gdC50eXBlPSJidXR0b24iLHQuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1idG4iLGUucHJpbWFyeSYmdC5jbGFzc0xpc3QuYWRkKCJwcmltYXJ5IiksZS5kYW5nZXImJnQuY2xhc3NMaXN0LmFkZCgiZGFuZ2VyIiksdC50aXRsZT1lLmxhYmVsLHQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlLmxhYmVsKSx0LmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InRvb2xiYXItaWNvbiI+JysoZS5pY29ufHwiIikrIjwvc3Bhbj4iKyhlLnRleHQ/JzxzcGFuIGNsYXNzPSJ0b29sYmFyLXRleHQiPicrcChlLnRleHQpKyI8L3NwYW4+IjoiIiksZS5nZXRJbml0aWFsJiZlLmdldEluaXRpYWwoKSYmdC5jbGFzc0xpc3QuYWRkKCJ0b29sYmFyLWFjdGl2ZSIpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCksdHlwZW9mIGUuYWN0aW9uPT0iZnVuY3Rpb24iJiZlLmFjdGlvbih0KX0pLHR9ZnVuY3Rpb24gdXIoZSx0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctdG9vbGJhciIpO2lmKHIpe3IuaW5uZXJIVE1MPSIiO3ZhciBpPXEmJnEuc2F2aW5nLGE9W3tsYWJlbDoiXHU0RkREXHU1QjU4IChDdHJsK1MpIixpY29uOkxlKCJzYXZlIiksdGV4dDoiXHU0RkREXHU1QjU4IixwcmltYXJ5OiEwLGFjdGlvbjpmdW5jdGlvbigpe3h1KCl9fSx7bGFiZWw6Ilx1NjRBNFx1OTUwMFx1NjUzOVx1NTJBOCIsaWNvbjpMZSgicm90YXRlLWNjdyIpLGFjdGlvbjpmdW5jdGlvbigpe1hsKCl9fSx7bGFiZWw6Ilx1OTAwMFx1NTFGQVx1N0YxNlx1OEY5MSAoRXNjKSIsaWNvbjpMZSgieCIpLGFjdGlvbjpmdW5jdGlvbigpe0F1KCl9fV07RHUocixhLGUpLGkmJnIucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtcHJldmlldy10b29sYmFyLWJ0biIpLmZvckVhY2goZnVuY3Rpb24odSl7dS5kaXNhYmxlZD0hMH0pfX1mdW5jdGlvbiAkbCgpe2lmKCEoIXF8fCFxLmRhdGEpKXt2YXIgZT1xLmRhdGE7aWYoZS5raW5kPT09InRleHQiKXtxLmVkaXRpbmc9ITAscS5kaXJ0eT0hMSxxLm9yaWdpbmFsQ29udGVudD1lLmNvbnRlbnR8fCIiO3ZhciB0PXEub3ZlcmxheSxyPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7aWYocil7ci5jbGFzc0xpc3QuYWRkKCJlZGl0aW5nIiksci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvZGUtZWRpdG9yLXdyYXBwZXIiPjx0ZXh0YXJlYSBjbGFzcz0iY29kZS1lZGl0b3ItdGV4dGFyZWEiIHNwZWxsY2hlY2s9ImZhbHNlIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgd3JhcD0ib2ZmIj48L3RleHRhcmVhPjwvZGl2Pic7dmFyIGk9ci5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTtpJiYoaS52YWx1ZT1lLmNvbnRlbnR8fCIiLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7dmFyIGE9aS52YWx1ZSE9PShxLm9yaWdpbmFsQ29udGVudHx8IiIpO2EhPT1xLmRpcnR5JiYocS5kaXJ0eT1hLHNyKCkpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihhKXtpZihhLmtleT09PSJUYWIiKXthLnByZXZlbnREZWZhdWx0KCk7dmFyIHU9aS5zZWxlY3Rpb25TdGFydCxzPWkuc2VsZWN0aW9uRW5kLG89IiAgIjtpLnZhbHVlPWkudmFsdWUuc2xpY2UoMCx1KStvK2kudmFsdWUuc2xpY2UocyksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD11K28ubGVuZ3RoLGkuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpfX0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmZvY3VzKCksaS5zZXRTZWxlY3Rpb25SYW5nZSgwLDApLGkuc2Nyb2xsVG9wPTB9LDMwKSksamkodCxlKSxzcigpfX19fWZ1bmN0aW9uIEF1KCl7aWYoISghcXx8IXEuZWRpdGluZykpe3ZhciBlPWZ1bmN0aW9uKCl7cS5lZGl0aW5nPSExLHEuZGlydHk9ITE7dmFyIHQ9cS5vdmVybGF5LHI9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtyJiZyLmNsYXNzTGlzdC5yZW1vdmUoImVkaXRpbmciKSxCdSh0LHEuZGF0YSksc3IoKX07aWYocS5kaXJ0eSYmdHlwZW9mIG5uPT0iZnVuY3Rpb24iKXtubih7dHlwZToid2FybmluZyIsdGl0bGU6Ilx1NjUzRVx1NUYwM1x1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NEZFRVx1NjUzOVx1RkYxRiIsbWVzc2FnZToiXHU1RjUzXHU1MjREXHU2NTg3XHU0RUY2XHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU2NTM5XHU1MkE4XHVGRjBDXHU5MDAwXHU1MUZBXHU3RjE2XHU4RjkxXHU1NDBFXHU0RjFBXHU0RTIyXHU1OTMxXHUzMDAyIixidXR0b25zOlt7bGFiZWw6Ilx1N0VFN1x1N0VFRFx1N0YxNlx1OEY5MSIsdmFsdWU6ITEsa2luZDoiZ2hvc3QifSx7bGFiZWw6Ilx1NjUzRVx1NUYwM1x1NEZFRVx1NjUzOSIsdmFsdWU6ITAsa2luZDoiZGFuZ2VyIixhdXRvZm9jdXM6ITB9XSxjYW5jZWxWYWx1ZTohMX0pLnRoZW4oZnVuY3Rpb24odCl7dCYmZSgpfSk7cmV0dXJufWUoKX19ZnVuY3Rpb24gWGwoKXtpZighKCFxfHwhcS5lZGl0aW5nKSl7dmFyIGU9cS5vdmVybGF5LHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTt0JiYodC52YWx1ZT1xLm9yaWdpbmFsQ29udGVudHx8IiIscS5kaXJ0eT0hMSxzcigpLHQuZm9jdXMoKSl9fWZ1bmN0aW9uIHh1KCl7aWYoISghcXx8IXEuZWRpdGluZykmJiFxLnNhdmluZyl7dmFyIGU9cS5vdmVybGF5LHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTtpZih0KXt2YXIgcj10LnZhbHVlO2lmKHI9PT0ocS5vcmlnaW5hbENvbnRlbnR8fCIiKSl7RnQoIlx1NkNBMVx1NjcwOVx1NjUzOVx1NTJBOCIpO3JldHVybn1xLnNhdmluZz0hMCx1cihlLHEuZGF0YSksZmV0Y2goIi9hcGkvZmlsZS13cml0ZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3BhdGg6cS5wYXRoLGNvbnRlbnQ6cn0pfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCkudGhlbihmdW5jdGlvbihhKXtyZXR1cm57b2s6aS5vayxzdGF0dXM6aS5zdGF0dXMsZGF0YTphfX0pfSkudGhlbihmdW5jdGlvbihpKXtpZihxLnNhdmluZz0hMSwhaS5va3x8aS5kYXRhJiZpLmRhdGEuZXJyb3Ipe3ZhciBhPWkuZGF0YSYmaS5kYXRhLmVycm9yfHwiXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1ICgiK2kuc3RhdHVzKyIpIjtGdChhKSx1cihlLHEuZGF0YSk7cmV0dXJufWlmKHEuZGF0YS5jb250ZW50PXIscS5kYXRhLnNpemU9aS5kYXRhJiZpLmRhdGEuc2l6ZXx8ci5sZW5ndGgscS5vcmlnaW5hbENvbnRlbnQ9cixxLmRpcnR5PSExLEZ0KCJcdTVERjJcdTRGRERcdTVCNTgiKSxzcigpLHVyKGUscS5kYXRhKSx0eXBlb2YgTXQ9PSJmdW5jdGlvbiIpdHJ5e010KCl9Y2F0Y2h7fX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3Euc2F2aW5nPSExLEZ0KCJcdTRGRERcdTVCNThcdTU5MzFcdThEMjVcdUZGMUEiKyhpJiZpLm1lc3NhZ2U/aS5tZXNzYWdlOiJcdTdGNTFcdTdFRENcdTk1MTlcdThCRUYiKSksdXIoZSxxLmRhdGEpfSl9fX1mdW5jdGlvbiBzcigpe2lmKHEpe3ZhciBlPXEub3ZlcmxheTtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctbmFtZS1yb3ciKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctZGlydHkiKTtpZihxLmRpcnR5KXtpZighcil7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2kuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctZGlydHkiLGkudGl0bGU9Ilx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NEZFRVx1NjUzOSIsaS50ZXh0Q29udGVudD0iXHUyNUNGIFx1NjcyQVx1NEZERFx1NUI1OCIsdC5hcHBlbmRDaGlsZChpKX19ZWxzZSByJiZyLnJlbW92ZSgpfX19fWZ1bmN0aW9uIFN1KGUsdCl7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIiksaT1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctbGluZXMiKTtpZihyKXt2YXIgYT1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUocikuZm9udFNpemUpfHwxMyx1PU1hdGgubWF4KDEwLE1hdGgubWluKDIyLGErdCkpO3Iuc3R5bGUuZm9udFNpemU9dSsicHgiLGkmJihpLnN0eWxlLmZvbnRTaXplPXUrInB4Iil9fWZ1bmN0aW9uIEl1KGUsdCl7dmFyIHI9ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IiksaT1abCgpO2lmKCFpKXJldHVybiByO3ZhciBhPVtdO2Zvcih2YXIgdSBpbiBpKXt2YXIgcz1pW3VdO3MmJnMucGF0dGVybiYmYS5wdXNoKHtwYXR0ZXJuOnMucGF0dGVybixjbHM6cy5jbHMscHJpb3JpdHk6cy5wcmlvcml0eXx8NX0pfWEuc29ydChmdW5jdGlvbihjLGQpe3JldHVybiBkLnByaW9yaXR5LWMucHJpb3JpdHl9KTt2YXIgbz1hLm1hcChmdW5jdGlvbihjKXtyZXR1cm4iKCIrYy5wYXR0ZXJuLnNvdXJjZSsiKSJ9KSxsPW5ldyBSZWdFeHAoby5qb2luKCJ8IiksImdtIik7cmV0dXJuIHIucmVwbGFjZShsLGZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZj1hW2RdLHY9bmV3IFJlZ0V4cCgiXiIrZi5wYXR0ZXJuLnNvdXJjZSsiJCIsImdtIik7aWYodi50ZXN0KGMpKXJldHVybic8c3BhbiBjbGFzcz0iJytmLmNscysnIj4nK2MrIjwvc3Bhbj4ifXJldHVybiBjfSl9ZnVuY3Rpb24gWmwoKXtyZXR1cm57Y29tbWVudDp7cGF0dGVybjovXC9cLy4qfCNbXlxuXSoveSxjbHM6InN5bnRheC1jb21tZW50Iixwcmlvcml0eToxfSxzdHJpbmc6e3BhdHRlcm46LyIoPzpbXiJcXF18XFwuKSoifCcoPzpbXidcXF18XFwuKSonfGAoPzpbXmBcXF18XFwuKSpgL3ksY2xzOiJzeW50YXgtc3RyaW5nIixwcmlvcml0eToyfSxrZXl3b3JkOntwYXR0ZXJuOi9cYig/OmFzeW5jfGF3YWl0fGJyZWFrfGNhc2V8Y2F0Y2h8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVjbGFyZXxkZWZhdWx0fGRlbGV0ZXxkb3xlbHNlfGVudW18ZXhwb3J0fGV4dGVuZHN8ZmluYWxseXxmb3J8ZnJvbXxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG1vZHVsZXxuYW1lc3BhY2V8bmV3fG51bGx8b2Z8b3ZlcnJpZGV8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRyeXx0eXBlfHR5cGVvZnx1bmRlZmluZWR8dmFyfHZvaWR8d2hpbGV8eWllbGR8YWJzdHJhY3R8YXN8YmFzZXxib29sfGJ5dGV8Y2hhcnxkZWNpbWFsfGRvdWJsZXxldmVudHxleHBsaWNpdHxleHRlcm58ZmFsc2V8Zml4ZWR8ZmxvYXR8Zm9yZWFjaHxnb3RvfGltcGxpY2l0fGlufGludHxpbnRlcm5hbHxpc3xsb2NrfGxvbmd8b2JqZWN0fG9wZXJhdG9yfG91dHxwYXJhbXN8cGFydGlhbHxyZWFkb25seXxyZWZ8c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0cmluZ3xzdHJ1Y3R8c3dpdGNofHRocm93fHRydWV8dHJ5fHVpbnR8dWxvbmd8dW5jaGVja2VkfHVuc2FmZXx1c2hvcnR8dXNpbmd8dmlydHVhbHx2b2xhdGlsZXx3aGVyZXx3aGlsZXx3aXRofHlpZWxkfGRlZnxlbGlmfGVsc2V8ZXhjZXB0fGV4ZWN8ZmluYWxseXxmb3J8ZnJvbXxnbG9iYWx8aWZ8aW1wb3J0fGxhbWJkYXxub25sb2NhbHxub3R8b3J8cGFzc3xwcmludHxyYWlzZXxyZXR1cm58dHJ5fHdoaWxlfHdpdGh8eWllbGR8VHJ1ZXxGYWxzZXxOb25lfGFuZHxpbnxpc3xsYW1iZGF8bm90fG9yfGZufHB1Ynx1c2V8bW9kfGltcGx8dHJhaXR8c3RydWN0fGVudW18bWF0Y2h8bG9vcHx3aGlsZXxmb3J8aWZ8ZWxzZXxyZXR1cm58c2VsZnxzdXBlcnxjcmF0ZXx3aGVyZXxhc3luY3xhd2FpdHxtb3ZlfHJlZnxtdXR8c3RhdGljfGNvbnN0fHVuc2FmZXxleHRlcm58dXNlfGFzfGltcGx8c3RydWN0fGVudW18dHlwZXxmbnxsZXR8bG9vcHxpZnxlbHNlfG1hdGNofHJldHVybnxzZWxmfFNlbGZ8bW9kfHB1YnxjcmF0ZXxtYWNyb3xkZXJpdmV8d2hlcmV8YXN5bmN8YXdhaXR8ZHlufHNlbGZ8cGFja2FnZXxmdW5jfGdvfHJldHVybnxkZWZlcnxnb3xpZnxlbHNlfHN3aXRjaHxjYXNlfGRlZmF1bHR8Zm9yfHJhbmdlfHNlbGVjdHxicmVha3xjb250aW51ZXxmYWxsdGhyb3VnaHxjb25zdHxzdHJ1Y3R8ZW51bXx0eXBlfGludGVyZmFjZXxtYXB8Y2hhbnx2YXJ8bmlsfHRydWV8ZmFsc2V8aW90YXxsZW58Y2FwfGFwcGVuZHxtYWtlfG5ld3xwYW5pY3xyZWNvdmVyfHNlbGVjdHxlbHNlfGlmfGVsaWZ8ZW5kfGZvcnxmdW5jdGlvbnxpZnxpbnxsb2NhbHxuaWx8bm90fG9yfHJlcGVhdHxyZXR1cm58dGhlbnx0cnVlfHVudGlsfHdoaWxlfGVuZHxhbmR8YmVnaW58ZG98ZW5kfGZhbHNlfGZvcnxmdW5jdGlvbnxpZnxpbnxsb2NhbHxuaWx8bm90fG9yfHJlcGVhdHxyZXR1cm58dGhlbnx0cnVlfHVudGlsfHdoaWxlKVxiL3ksY2xzOiJzeW50YXgta2V5d29yZCIscHJpb3JpdHk6M30sbnVtYmVyOntwYXR0ZXJuOi9cYig/OjB4W1xkYS1mQS1GXSt8MGJbMDFdK3wwb1swLTddK3xcZCtcLj9cZCooPzplWystXT9cZCspPylcYi95LGNsczoic3ludGF4LW51bWJlciIscHJpb3JpdHk6Mn0sZnVuY3Rpb246e3BhdHRlcm46L1xiW0EtWl1bYS16QS1aMC05XSpbYS16XVx3Kig/PVxzKlwoKS95LGNsczoic3ludGF4LWZ1bmN0aW9uIixwcmlvcml0eTo0fSx0eXBlOntwYXR0ZXJuOi9cYig/OnN0cmluZ3xudW1iZXJ8Ym9vbGVhbnx2b2lkfGFueXx1bmtub3dufG5ldmVyfG9iamVjdHxzeW1ib2x8YmlnaW50fEFycmF5fE9iamVjdHxTdHJpbmd8TnVtYmVyfEJvb2xlYW58TWFwfFNldHxXZWFrTWFwfFdlYWtTZXR8UHJvbWlzZXxFcnJvcnxUeXBlfEludGVyZmFjZXxFbnVtfENsYXNzfFN0cnVjdHxJbXBsfFRyYWl0fGZufGZuY3xmdW5jfGZ1bmN0aW9ufGRlZnxwcm9jfGZ1bnxwdWJ8c3RhdGljfGNvbnN0fGxldHx2YXJ8aW50fGZsb2F0fGRvdWJsZXxib29sfGNoYXJ8Ynl0ZXxzdHJpbmd8dTh8dTE2fHUzMnx1NjR8aTh8aTE2fGkzMnxpNjR8ZjMyfGY2NHx1c2l6ZXxpc2l6ZXxzdHJ8VmVjfEhhc2hNYXB8T3B0aW9ufFJlc3VsdHxCb3h8UmN8QXJjfENlbGx8UmVmQ2VsbClcYi95LGNsczoic3ludGF4LXR5cGUiLHByaW9yaXR5OjR9LG9wZXJhdG9yOntwYXR0ZXJuOi9bK1wtKi8lPTw+ISZ8Xn4/Ol0rfFwuXC5cLj8veSxjbHM6InN5bnRheC1vcGVyYXRvciIscHJpb3JpdHk6NX0scHVuY3R1YXRpb246e3BhdHRlcm46L1t7fVtcXSgpOyxcLl0veSxjbHM6InN5bnRheC1wdW5jdHVhdGlvbiIscHJpb3JpdHk6Nn19fWZ1bmN0aW9uIGVjKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PXAoZSk7dD10LnJlcGxhY2UoL2BgYChcdyopXG4oW1xzXFNdKj8pYGBgL2csZnVuY3Rpb24oaSxhLHUpe3ZhciBzPUl1KHUudHJpbSgpLGEpLG89cy5yZXBsYWNlKC9fL2csIiYjOTU7IikucmVwbGFjZSgvXCovZywiJiM0MjsiKTtyZXR1cm4nPHByZT48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtJythKyciPicrbysiPC9jb2RlPjwvcHJlPiJ9KSx0PXQucmVwbGFjZSgvYChbXmBdKylgL2csZnVuY3Rpb24oaSxhKXtyZXR1cm4iPGNvZGU+IithLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpKyI8L2NvZGU+In0pLHQ9dC5yZXBsYWNlKC9eIyMjIyMjXHMrKC4qKSQvZ20sIjxoNj4kMTwvaDY+IiksdD10LnJlcGxhY2UoL14jIyMjI1xzKyguKikkL2dtLCI8aDU+JDE8L2g1PiIpLHQ9dC5yZXBsYWNlKC9eIyMjI1xzKyguKikkL2dtLCI8aDQ+JDE8L2g0PiIpLHQ9dC5yZXBsYWNlKC9eIyMjXHMrKC4qKSQvZ20sIjxoMz4kMTwvaDM+IiksdD10LnJlcGxhY2UoL14jI1xzKyguKikkL2dtLCI8aDI+JDE8L2gyPiIpLHQ9dC5yZXBsYWNlKC9eI1xzKyguKikkL2dtLCI8aDE+JDE8L2gxPiIpLHQ9dC5yZXBsYWNlKC9cKlwqXCooLis/KVwqXCpcKi9nLCI8c3Ryb25nPjxlbT4kMTwvZW0+PC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqXCooLis/KVwqXCovZywiPHN0cm9uZz4kMTwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC9cKiguKz8pXCovZywiPGVtPiQxPC9lbT4iKSx0PXQucmVwbGFjZSgvKF58W15cd10pX19fKFxTKD86W15cbl0qP1xTKT8pX19fKD8hXHcpL2csIiQxPHN0cm9uZz48ZW0+JDI8L2VtPjwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfXyhcUyg/OlteXG5dKj9cUyk/KV9fKD8hXHcpL2csIiQxPHN0cm9uZz4kMjwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfKFxTKD86W15cbl9dKj9cUyk/KV8oPyFcdykvZywiJDE8ZW0+JDI8L2VtPiIpLHQ9dC5yZXBsYWNlKC9+figuKz8pfn4vZywiPGRlbD4kMTwvZGVsPiIpLHQ9dC5yZXBsYWNlKC9cWyhbXlxdXSspXF1cKChbXildKylcKS9nLCc8YSBocmVmPSIkMiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiQxPC9hPicpLHQ9dC5yZXBsYWNlKC8hXFsoW15cXV0qKVxdXCgoW14pXSspXCkvZywnPGltZyBzcmM9IiQyIiBhbHQ9IiQxIj4nKSx0PXQucmVwbGFjZSgvXiZndDtccysoLiopJC9nbSwiPGJsb2NrcXVvdGU+JDE8L2Jsb2NrcXVvdGU+IiksdD10LnJlcGxhY2UoL14tLS0rJC9nbSwiPGhyPiIpLHQ9dC5yZXBsYWNlKC9eXCpcKlwqKyQvZ20sIjxocj4iKSx0PXQucmVwbGFjZSgvXltcLVwqXVxzKyguKikkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC8oPGxpPi4qPFwvbGk+XG4/KSsvZywiPHVsPiQmPC91bD4iKSx0PXQucmVwbGFjZSgvXlxkK1wuXHMrKC4qKSQvZ20sIjxsaT4kMTwvbGk+IiksdD14byh0KTt2YXIgcj10LnNwbGl0KC9cbnsyLH0vKTtyZXR1cm4gdD1yLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaT1pLnRyaW0oKSxpPy9ePChoWzEtNl18dWx8b2x8bGl8YmxvY2txdW90ZXxwcmV8dGFibGV8aHJ8ZGl2KS8udGVzdChpKT9pOiI8cD4iK2kucmVwbGFjZSgvXG4vZywiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oYApgKSx0fWZ1bmN0aW9uIFR1KCl7aWYoIW4uc2VsZWN0ZWRJZHx8IW4uZ2l0U3RhdHVzfHwhbi5naXRTdGF0dXMuaXNHaXR8fG4uZ2l0U3RhdHVzU2Vzc2lvbklkIT09bi5zZWxlY3RlZElkKXJldHVybiIiO3ZhciBlPW4uZ2l0U3RhdHVzLmJyYW5jaHx8Ij8iLHQ9bi5naXRTdGF0dXMubW9kaWZpZWRDb3VudHx8MCxyPWUrKHQ/IiAgXHhCNyAgIit0KyIgXHU0RTJBXHU2NTg3XHU0RUY2XHU1Rjg1XHU2M0QwXHU0RUE0IjoiICBceEI3ICBcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzAiKTtyZXR1cm4nPGJ1dHRvbiBpZD0idG9wYmFyLWdpdC1iYWRnZSIgY2xhc3M9InRvcGJhci1naXQtYmFkZ2UiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9IicrcChyKSsnIiBhcmlhLWxhYmVsPSJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQiPjxzdmcgY2xhc3M9InRvcGJhci1naXQtaWNvbiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyIi8+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIyIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI5IiByPSIyIi8+PHBhdGggZD0iTTYgOHY4Ii8+PHBhdGggZD0iTTE4IDExdjFhMyAzIDAgMCAxLTMgM0g5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9InRvcGJhci1naXQtYnJhbmNoIj4nK3AoZSkrIjwvc3Bhbj4iKyh0PjA/JzxzcGFuIGNsYXNzPSJ0b3BiYXItZ2l0LWNvdW50Ij5ceEI3Jyt0KyI8L3NwYW4+IjonPHNwYW4gY2xhc3M9InRvcGJhci1naXQtY2xlYW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj5cdTI3MTM8L3NwYW4+JykrIjwvYnV0dG9uPiJ9ZnVuY3Rpb24gTmkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWdpdC1zbG90Iik7aWYoZSl7ZS5pbm5lckhUTUw9VHUoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWdpdC1iYWRnZSIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHIpe3IucHJldmVudERlZmF1bHQoKSxMdSgpfSl9fWZ1bmN0aW9uIHRjKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PW4udG9wYmFyTW9yZU9wZW4scj0hIWUuY2xhdWRlU2Vzc2lvbklkLGk9ISFlLmN3ZCxhPWUud29ya3RyZWVFbmFibGVkJiZlLndvcmt0cmVlJiZlLndvcmt0cmVlLmJyYW5jaCYmZS53b3JrdHJlZS5wYXRoLHU9ZS53b3JrdHJlZU1lcmdlU3RhdHVzPT09Im1lcmdlZCImJmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMSxzPWUuc3RhdHVzPT09InJ1bm5pbmcifHxlLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2luZyIsbz1hJiZlLndvcmt0cmVlTWVyZ2VTdGF0dXMhPT0ibWVyZ2VkIixsPXUsYz1yfHxpfHwhMCxkPW98fGx8fCEwLGY9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiLz48cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIi8+PC9zdmc+Jyx2PSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xNy41IDE5YTQuNSA0LjUgMCAxIDAtMS41LTguNzRBNiA2IDAgMSAwIDYgMTRoMTEuNXoiLz48L3N2Zz4nLG09Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6Ii8+PC9zdmc+JyxiPSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSI0IiB5MT0iOSIgeDI9IjIwIiB5Mj0iOSIvPjxsaW5lIHgxPSI0IiB5MT0iMTUiIHgyPSIyMCIgeTI9IjE1Ii8+PGxpbmUgeDE9IjEwIiB5MT0iMyIgeDI9IjgiIHkyPSIyMSIvPjxsaW5lIHgxPSIxNiIgeTE9IjMiIHgyPSIxNCIgeTI9IjIxIi8+PC9zdmc+JyxnPSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDdoMTAiLz48cGF0aCBkPSJNNyAxMmgxMCIvPjxwYXRoIGQ9Ik03IDE3aDEwIi8+PHBhdGggZD0iTTUgN2wtMiAyIDIgMiIvPjxwYXRoIGQ9Ik0xOSAxNWwyIDItMiAyIi8+PC9zdmc+Jyx5PSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPicsdz0iIjtpZihyKXt2YXIgRj1lLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHU1OTBEXHU1MjM2IENvZGV4IHRocmVhZCBJRCI6Ilx1NTkwRFx1NTIzNiBDbGF1ZGUgXHU0RjFBXHU4QkREIElEIjt3Kz0nPGJ1dHRvbiBjbGFzcz0idG9wYmFyLW1vcmUtaXRlbSIgZGF0YS1hY3Rpb249ImNvcHktY2xhdWRlLXNlc3Npb24taWQiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrdisiPHNwYW4+IitGKyI8L3NwYW4+PC9idXR0b24+In1pJiYodys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LWN3ZCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+JyttKyI8c3Bhbj5cdTU5MERcdTUyMzZcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTU8L3NwYW4+PC9idXR0b24+Iiksdys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LXNlc3Npb24taWQiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrYisiPHNwYW4+XHU1OTBEXHU1MjM2XHU0RjFBXHU4QkREIElEPC9zcGFuPjwvYnV0dG9uPiI7dmFyIEU9IiI7bz9FKz0nPGJ1dHRvbiBjbGFzcz0idG9wYmFyLW1vcmUtaXRlbSIgZGF0YS1hY3Rpb249Indvcmt0cmVlLW1lcmdlIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIicrKHM/IiBkaXNhYmxlZCI6IiIpKyI+IitnKyI8c3Bhbj5cdTU0MDhcdTVFNzZcdTUyMzBcdTRFM0JcdTUyMDZcdTY1MkZcdTIwMjY8L3NwYW4+PC9idXR0b24+IjpsJiYoRSs9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1jbGVhbnVwIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK2crIjxzcGFuPlx1OTFDRFx1OEJENSB3b3JrdHJlZSBcdTZFMDVcdTc0MDY8L3NwYW4+PC9idXR0b24+IiksRSs9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0gdG9wYmFyLW1vcmUtaXRlbS1kYW5nZXIiIGRhdGEtYWN0aW9uPSJkZWxldGUtc2Vzc2lvbiIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+Jyt5KyI8c3Bhbj5cdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQ8L3NwYW4+PC9idXR0b24+Ijt2YXIgQT1jJiZkPyc8ZGl2IGNsYXNzPSJ0b3BiYXItbW9yZS1kaXZpZGVyIiByb2xlPSJzZXBhcmF0b3IiPjwvZGl2Pic6IiI7cmV0dXJuJzxkaXYgY2xhc3M9InRvcGJhci1tb3JlLXdyYXAiPjxidXR0b24gaWQ9InRvcGJhci1tb3JlLWJ1dHRvbiIgY2xhc3M9InRvcGJhci1idG4gc3F1YXJlJysodD8iIGFjdGl2ZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU2NENEXHU0RjVDIiBhcmlhLWhhc3BvcHVwPSJtZW51IiBhcmlhLWV4cGFuZGVkPSInKyh0PyJ0cnVlIjoiZmFsc2UiKSsnIiB0aXRsZT0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU2NENEXHU0RjVDIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxIi8+PC9zdmc+PC9idXR0b24+PGRpdiBpZD0idG9wYmFyLW1vcmUtbWVudSIgY2xhc3M9InRvcGJhci1tb3JlLW1lbnUnKyh0PyIiOiIgaGlkZGVuIikrJyIgcm9sZT0ibWVudSIgYXJpYS1sYWJlbD0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREIj4nK3crQStFKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEVuKGUsdCl7aWYoIWUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt2YXIgcj10JiZ0LmZvcmNlLGk9RGF0ZS5ub3coKTtpZighciYmbi5naXRTdGF0dXNTZXNzaW9uSWQ9PT1lJiZuLmdpdFN0YXR1cyYmaS1uLmdpdFN0YXR1c0xhc3RGZXRjaEF0PDFlMylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG4uZ2l0U3RhdHVzKTtpZihuLmdpdFN0YXR1c0luZmxpZ2h0JiZuLmdpdFN0YXR1c0luZmxpZ2h0LnNlc3Npb25JZD09PWUpcmV0dXJuIG4uZ2l0U3RhdHVzSW5mbGlnaHQucHJvbWlzZTtuLmdpdFN0YXR1c0xvYWRpbmc9ITA7dmFyIGE9ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9naXQtc3RhdHVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHUub2s/dS5qc29uKCk6e2lzR2l0OiExfX0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIG4uZ2l0U3RhdHVzPXV8fHtpc0dpdDohMX0sbi5naXRTdGF0dXNTZXNzaW9uSWQ9ZSxuLmdpdFN0YXR1c0xhc3RGZXRjaEF0PURhdGUubm93KCksTmkoKSx1fSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gbi5naXRTdGF0dXM9e2lzR2l0OiExfSxuLmdpdFN0YXR1c1Nlc3Npb25JZD1lLG4uZ2l0U3RhdHVzTGFzdEZldGNoQXQ9RGF0ZS5ub3coKSxOaSgpLG51bGx9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5naXRTdGF0dXNMb2FkaW5nPSExLG4uZ2l0U3RhdHVzSW5mbGlnaHQmJm4uZ2l0U3RhdHVzSW5mbGlnaHQuc2Vzc2lvbklkPT09ZSYmKG4uZ2l0U3RhdHVzSW5mbGlnaHQ9bnVsbCl9KTtyZXR1cm4gbi5naXRTdGF0dXNJbmZsaWdodD17c2Vzc2lvbklkOmUscHJvbWlzZTphfSxhfXZhciBGbj1udWxsLHduPW51bGwsQW09bnVsbDtmdW5jdGlvbiBuYyhlKXtyZXR1cm4gZT09PSJjb21taXQtdGFnInx8ZT09PSJjb21taXQtdGFnLXB1c2gifHxlPT09ImNvbW1pdC1wdXNoIj9lOiJjb21taXQifWZ1bmN0aW9uIHJjKGUpe3JldHVybiBlPW5jKGUpLGU9PT0iY29tbWl0LXRhZy1wdXNoIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFRhZyArIFB1c2giLHZlcmI6Ilx1NjNEMFx1NEVBNFx1MzAwMVx1NjI1MyBUYWcgXHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiEwLHB1c2g6ITAsdG9uZToiYWxsIn06ZT09PSJjb21taXQtdGFnIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFRhZyIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2MjUzIFRhZyIsd2l0aFRhZzohMCxwdXNoOiExLHRvbmU6InRhZyJ9OmU9PT0iY29tbWl0LXB1c2giP3thY3Rpb246ZSxsYWJlbDoiQ29tbWl0ICsgUHVzaCIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiExLHB1c2g6ITAsdG9uZToicHVzaCJ9OnthY3Rpb246ImNvbW1pdCIsbGFiZWw6IkNvbW1pdCIsdmVyYjoiXHU0RUM1XHU2M0QwXHU0RUE0Iix3aXRoVGFnOiExLHB1c2g6ITEsdG9uZToiY29tbWl0In19ZnVuY3Rpb24gTHUoKXtpZihuLnNlbGVjdGVkSWQpe24ucXVpY2tDb21taXRPcGVuPSEwLG4ucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLG4ucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz0hMSxuLnF1aWNrQ29tbWl0RXJyb3I9IiIsbi5xdWlja0NvbW1pdEZvcm09e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0sbi5xdWlja0NvbW1pdFB1c2hpbmc9ITEsbi5xdWlja0NvbW1pdFB1c2hFcnJvcj0iIixuLnF1aWNrQ29tbWl0UmVzdWx0PW51bGwsbi5xdWlja0NvbW1pdERyYWdBY3Rpb249ImNvbW1pdCIsR24oKSxwbigpLFFuKCkscXQoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7ZSYmKGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbi5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxGaShlKSksRm4mJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxGbj1mdW5jdGlvbih0KXt0LmtleT09PSJFc2NhcGUiJiZuLnF1aWNrQ29tbWl0T3BlbiYmIW4ucXVpY2tDb21taXRTdWJtaXR0aW5nJiYhbi5xdWlja0NvbW1pdFB1c2hpbmcmJnFuKCl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxFbihuLnNlbGVjdGVkSWQse2ZvcmNlOiEwfSkudGhlbihmdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiZxdCgpfSl9fWZ1bmN0aW9uIHFuKCl7bi5xdWlja0NvbW1pdE9wZW49ITEsbi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc9ITEsbi5xdWlja0NvbW1pdEVycm9yPSIiLG4ucXVpY2tDb21taXRSZXN1bHQ9bnVsbCxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj0iY29tbWl0Ijt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7ZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxGbiYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxGbj1udWxsKSx3biYmKHduKCksd249bnVsbCksbi5sYXN0Rm9jdXNlZEVsZW1lbnQmJnR5cGVvZiBuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cz09ImZ1bmN0aW9uIiYmbi5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKX1mdW5jdGlvbiBxdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbW9kYWwiKTtpZihlKXt3biYmKHduKCksd249bnVsbCk7dmFyIHQ9T3UoKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuaW5uZXJIVE1MPXQ7dmFyIGk9ci5xdWVyeVNlbGVjdG9yKCIjcXVpY2stY29tbWl0LW1vZGFsIik7aSYmKGUuaW5uZXJIVE1MPWkuaW5uZXJIVE1MLE11KCkpfX1mdW5jdGlvbiBNdSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtY2xvc2UtYnRuIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscW4pO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtY2FuY2VsLWJ0biIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHFuKTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWFpLWJ0biIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNjKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1lc3NhZ2UiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlPWkudmFsdWV9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHMpeyhzLm1ldGFLZXl8fHMuY3RybEtleSkmJnMua2V5PT09IkVudGVyIiYmKHMucHJldmVudERlZmF1bHQoKSxPbigiY29tbWl0IikpfSkpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtdGFnIik7YSYmKGEuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdEZvcm0udGFnPWEudmFsdWUsbi5xdWlja0NvbW1pdEZvcm0udGFnRWRpdGVkPSEwfSksYS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihzKXtzLmtleT09PSJFbnRlciImJihzLnByZXZlbnREZWZhdWx0KCksT24oImNvbW1pdC10YWciKSl9KSk7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1wdXNoLWFmdGVyLWJ0biIpO3UmJnUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHM9bi5xdWlja0NvbW1pdFJlc3VsdHx8e307b2Moe3B1c2hDb21taXRzOiEwLHB1c2hUYWdzOiEhcy50YWdOYW1lLGNsb3NlT25TdWNjZXNzOiEwfSl9KSx1YygpfWZ1bmN0aW9uIGljKGUpe3ZhciB0PSEhKGUmJmUudGFnKSxyPSEhKGUmJmUucHVzaCk7cmV0dXJuIHQmJnI/ImNvbW1pdC10YWctcHVzaCI6dD8iY29tbWl0LXRhZyI6cj8iY29tbWl0LXB1c2giOiJjb21taXQifXZhciBhYz01OCxXcj0xMDtmdW5jdGlvbiBxdShlKXtyZXR1cm4gZT09PSJ0YWciP3thY3Rpb246ImNvbW1pdC10YWciLHN1YjohMX06ZT09PSJwdXNoIj97YWN0aW9uOiJjb21taXQtcHVzaCIsc3ViOiExfTplPT09InN1YiI/e2FjdGlvbjoiY29tbWl0IixzdWI6ITB9OnthY3Rpb246ImNvbW1pdCIsc3ViOiExfX1mdW5jdGlvbiB1Yygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxYy1kb2NrLWZpZWxkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1zdGFnZSIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stbGF1bmNoIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1jbHVzdGVyIik7aWYoIWV8fCF0fHwhcnx8IWkpcmV0dXJuO3ZhciBhPVsiY29tbWl0IiwidGFnIiwicHVzaCJdLHU9e307aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3VbQl09ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jaGlwPSInK0IrJyJdJyl9KSwhdS5jb21taXR8fCF1LnRhZ3x8IXUucHVzaClyZXR1cm47dS5zdWI9ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jaGlwPSJzdWIiXScpO3ZhciBzPSEhdS5zdWIsbz1zP2EuY29uY2F0KFsic3ViIl0pOmE7ZnVuY3Rpb24gbChCKXtyZXR1cm4gdVtCXT91W0JdLm9mZnNldFdpZHRoOjkwfWZ1bmN0aW9uIGMoKXtyZXR1cm4gdS5jb21taXQ/dS5jb21taXQub2Zmc2V0SGVpZ2h0OjM4fWZ1bmN0aW9uIGQoKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA3MjBweCkiKS5tYXRjaGVzfWZ1bmN0aW9uIGYoKXt2YXIgQj1lLmNsaWVudFdpZHRoLFQ9ZS5jbGllbnRIZWlnaHQsST1jKCksVj1sKCJjb21taXQiKSxyZT1sKCJ0YWciKSx0ZT1sKCJwdXNoIik7aWYoZCgpJiZzKXt2YXIgJD1NYXRoLm1heCg4LFQqLjItSS8yKSxpZT1NYXRoLm1pbihULUktOCxUKi43LUkvMiksVT1mdW5jdGlvbih1ZSl7cmV0dXJuIE1hdGgubWF4KDgsQiouMjctdWUvMil9LE09ZnVuY3Rpb24odWUpe3JldHVybiBNYXRoLm1pbihCLXVlLTgsQiouNzMtdWUvMil9O3JldHVybntjb21taXQ6e3g6VShWKSx5OiR9LHRhZzp7eDpNKHJlKSx5OiR9LHB1c2g6e3g6VSh0ZSkseTppZX0sc3ViOnt4Ok0obCgic3ViIikpLHk6aWV9fX12YXIgSD1kKCksTj1IP01hdGgubWF4KDgsVCouMTgtSS8yKTpNYXRoLm1heCg4LFQqLjEyKSxZPUg/TWF0aC5taW4oVC1JLTgsVCouNzItSS8yKTpNYXRoLm1pbihULUktOCxUKi44OC1JKSxLPUg/LjI0Oi4yOCxYPUg/Ljc2Oi43MixhZT17Y29tbWl0Ont4Ok1hdGgubWF4KDgsKEItVikvMikseTpOfSx0YWc6e3g6TWF0aC5tYXgoOCxCKkstcmUvMikseTpZfSxwdXNoOnt4Ok1hdGgubWluKEItdGUtOCxCKlgtdGUvMikseTpZfX07aWYocyl7dmFyIGxlPWwoInN1YiIpO2FlLnN1Yj17eDpNYXRoLm1pbihCLWxlLTgsQiouOTQtbGUvMikseTpNYXRoLm1heCg4LE1hdGgubWluKFQtSS04LChULUkpLzIpKX19cmV0dXJuIGFlfXZhciB2PXt9O2Z1bmN0aW9uIG0oQixULEkpe3VbQl0mJih1W0JdLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKCIrVC50b0ZpeGVkKDEpKyJweCwiK0kudG9GaXhlZCgxKSsicHgpIil9ZnVuY3Rpb24gYihCKXt2PWYoKSxvLmZvckVhY2goZnVuY3Rpb24oVCl7dVtUXS5jbGFzc0xpc3QudG9nZ2xlKCJxYy1jaGlwLS1hbmltIiwhIUIpLG0oVCx2W1RdLngsdltUXS55KX0pfWIoITEpO3ZhciBnPW51bGw7ZnVuY3Rpb24geShCLFQsSSl7dmFyIFY9YygpLHJlPTUsdGU9by5maWx0ZXIoZnVuY3Rpb24oSCl7cmV0dXJuIEIuaW5kZXhPZihIKT49MH0pLCQ9dGUucmVkdWNlKGZ1bmN0aW9uKEgsTil7cmV0dXJuIEgrbChOKX0sMCkrTWF0aC5tYXgoMCx0ZS5sZW5ndGgtMSkqcmUsaWU9ZS5jbGllbnRIZWlnaHQsVT1ULSQvMixNPU1hdGgubWF4KDIsTWF0aC5taW4oaWUtVi0yLEktVi8yKSk7cmV0dXJuIHRlLmZvckVhY2goZnVuY3Rpb24oSCl7bShILFUsTSksVSs9bChIKStyZX0pLHt4OlQtJC8yLTcseTpNLTcsdzokKzE0LGg6VisxNH19ZnVuY3Rpb24gdyhCKXtpLmNsYXNzTGlzdC5hZGQoImlzLWFjdGl2ZSIpLGkuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitCLngudG9GaXhlZCgxKSsicHgsIitCLnkudG9GaXhlZCgxKSsicHgpIixpLnN0eWxlLndpZHRoPUIudy50b0ZpeGVkKDEpKyJweCIsaS5zdHlsZS5oZWlnaHQ9Qi5oLnRvRml4ZWQoMSkrInB4In1mdW5jdGlvbiBGKCl7aS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1hY3RpdmUiKX1mdW5jdGlvbiBFKEIpe3JldHVybiBpYyh7Y29tbWl0OiEwLHRhZzpCLmluZGV4T2YoInRhZyIpPj0wLHB1c2g6Qi5pbmRleE9mKCJwdXNoIik+PTB9KX1mdW5jdGlvbiBBKEIpe3JldHVybiBCLmluZGV4T2YoInN1YiIpPj0wfWZ1bmN0aW9uIHgoQil7dmFyIFQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stbGF1bmNoLWxhYmVsIik7VCYmKFQudGV4dENvbnRlbnQ9Qil9ZnVuY3Rpb24gUyhCLFQpe3ZhciBJPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIEI+PUkubGVmdCYmQjw9SS5yaWdodCYmVD49SS50b3AmJlQ8PUkuYm90dG9tfWZ1bmN0aW9uIFAoQil7cmV0dXJuIGZ1bmN0aW9uKFQpe2lmKCEodVtCXS5kaXNhYmxlZHx8enIoKSkpe2c9e2FuY2hvcjpCLHBvaW50ZXJJZDpULnBvaW50ZXJJZCxzdGFydFg6VC5jbGllbnRYLHN0YXJ0WTpULmNsaWVudFksbW92ZWQ6ITEsbWVtYmVyczpbQl19LG8uZm9yRWFjaChmdW5jdGlvbihJKXt1W0ldLmNsYXNzTGlzdC5yZW1vdmUoInFjLWNoaXAtLWFuaW0iKX0pLHVbQl0uY2xhc3NMaXN0LmFkZCgiaXMtZ3JhYmJpbmciKTt0cnl7dVtCXS5zZXRQb2ludGVyQ2FwdHVyZShULnBvaW50ZXJJZCl9Y2F0Y2h7fXQuY2xhc3NMaXN0LmFkZCgiaXMtZHJhZ2dpbmciKSxULnByZXZlbnREZWZhdWx0KCl9fX1mdW5jdGlvbiB6KEIpe2lmKCEoIWd8fGcucG9pbnRlcklkIT09Qi5wb2ludGVySWQpKXsoTWF0aC5hYnMoQi5jbGllbnRYLWcuc3RhcnRYKT4zfHxNYXRoLmFicyhCLmNsaWVudFktZy5zdGFydFkpPjMpJiYoZy5tb3ZlZD0hMCk7dmFyIFQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxJPUIuY2xpZW50WC1ULmxlZnQsVj1CLmNsaWVudFktVC50b3A7aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKEgpe2lmKCEoZy5tZW1iZXJzLmluZGV4T2YoSCk+PTApKXt2YXIgTj12W0hdLngrbChIKS8yLFk9dltIXS55K2MoKS8yLEs9SS1OLFg9Vi1ZO01hdGguc3FydChLKksrWCpYKTxhYyYmKGcubWVtYmVycy5wdXNoKEgpLHVbSF0uY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHVbSF0uY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9fSkscyYmZy5tZW1iZXJzLmluZGV4T2YoInN1YiIpPDApe3ZhciByZT12LnN1Yi54LVdyLHRlPXYuc3ViLnktV3IsJD12LnN1Yi54K2woInN1YiIpK1dyLGllPXYuc3ViLnkrYygpK1dyO0k+PXJlJiZJPD0kJiZWPj10ZSYmVjw9aWUmJihnLm1lbWJlcnMucHVzaCgic3ViIiksdS5zdWIuY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHUuc3ViLmNsYXNzTGlzdC5hZGQoImlzLWF0dGFjaGVkIikpfXZhciBVPXkoZy5tZW1iZXJzLEksViksTT1TKEIuY2xpZW50WCxCLmNsaWVudFkpO3Quc2V0QXR0cmlidXRlKCJkYXRhLWhvdCIsTT8iMSI6IjAiKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iLEUoZy5tZW1iZXJzKSksZy5tZW1iZXJzLmxlbmd0aD4xP3coVSk6RigpLHgoTT8iXHU2NzdFXHU2MjRCXHU2MjY3XHU4ODRDIjoiXHU2M0QwXHU0RUE0Iil9fWZ1bmN0aW9uIEcoQixUKXtpZighKCFnfHxnLnBvaW50ZXJJZCE9PUIucG9pbnRlcklkKSl7dmFyIEk9ZztnPW51bGwsdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1kcmFnZ2luZyIpLHQuc2V0QXR0cmlidXRlKCJkYXRhLWhvdCIsIjAiKSx4KCJcdTYzRDBcdTRFQTQiKSxGKCksby5mb3JFYWNoKGZ1bmN0aW9uKHJlKXt1W3JlXS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1ncmFiYmluZyIsImlzLWF0dGFjaGVkIil9KTt0cnl7dVtJLmFuY2hvcl0ucmVsZWFzZVBvaW50ZXJDYXB0dXJlKEkucG9pbnRlcklkKX1jYXRjaHt9aWYoIVQmJiFJLm1vdmVkKXt2YXIgVj1xdShJLmFuY2hvcik7T24oVi5hY3Rpb24sVi5zdWIpO3JldHVybn1pZighVCYmUyhCLmNsaWVudFgsQi5jbGllbnRZKSl7T24oRShJLm1lbWJlcnMpLEEoSS5tZW1iZXJzKSk7cmV0dXJufXQuc2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIsImNvbW1pdCIpLGIoITApfX12YXIgTD1mdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiYhZyYmYighMSl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEwpLG8uZm9yRWFjaChmdW5jdGlvbihCKXt2YXIgVD11W0JdO1QuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLFAoQikpLFQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHopLFQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixmdW5jdGlvbihJKXtHKEksITEpfSksVC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixmdW5jdGlvbihJKXtHKEksITApfSksVC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihJKXtpZighKFQuZGlzYWJsZWR8fHpyKCkpJiYoSS5rZXk9PT0iRW50ZXIifHxJLmtleT09PSIgInx8SS5rZXk9PT0iU3BhY2ViYXIiKSl7SS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBWPXF1KEIpO09uKFYuYWN0aW9uLFYuc3ViKX19KX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5kaXNhYmxlZHx8enIoKXx8Z3x8T24oImNvbW1pdCIpfSksd249ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixMKSxnPW51bGx9fWZ1bmN0aW9uIHNjKCl7aWYoISghbi5zZWxlY3RlZElkfHxuLnF1aWNrQ29tbWl0R2VuZXJhdGluZykpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbWVzc2FnZSIpO2UmJihuLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlPWUudmFsdWUpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtdGFnIik7dCYmKG4ucXVpY2tDb21taXRGb3JtLnRhZz10LnZhbHVlKSxuLnF1aWNrQ29tbWl0R2VuZXJhdGluZz0hMCxuLnF1aWNrQ29tbWl0RXJyb3I9IiIscXQoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvZ2VuZXJhdGUtY29tbWl0LW1lc3NhZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJue29rOnIub2ssZGF0YTppfX0pfSkudGhlbihmdW5jdGlvbihyKXtpZighci5vayl0aHJvdyBuZXcgRXJyb3Ioci5kYXRhJiZyLmRhdGEuZXJyb3J8fCJBSSBcdTc1MUZcdTYyMTBcdTU5MzFcdThEMjVcdTMwMDIiKTt2YXIgaT1yLmRhdGF8fHt9LGE9dHlwZW9mIGkubWVzc2FnZT09InN0cmluZyI/aS5tZXNzYWdlOiIiLHU9dHlwZW9mIGkuc3VnZ2VzdGVkVGFnPT0ic3RyaW5nIj9pLnN1Z2dlc3RlZFRhZy50cmltKCk6IiIscz0obi5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZXx8IiIpLnRyaW0oKTshcyYmYSYmKG4ucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9YSksdSYmKG4ucXVpY2tDb21taXRGb3JtLnRhZ0VkaXRlZHx8KG4ucXVpY2tDb21taXRGb3JtLnRhZz11KSxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj0iY29tbWl0LXRhZyIpfSkuY2F0Y2goZnVuY3Rpb24ocil7bi5xdWlja0NvbW1pdEVycm9yPXImJnIubWVzc2FnZXx8IkFJIFx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNVx1MzAwMiJ9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdEdlbmVyYXRpbmc9ITEsbi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KX19ZnVuY3Rpb24gT24oZSx0KXtpZighKCFuLnNlbGVjdGVkSWR8fG4ucXVpY2tDb21taXRTdWJtaXR0aW5nKSl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7ciYmKG4ucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9ci52YWx1ZSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC10YWciKTtpJiYobi5xdWlja0NvbW1pdEZvcm0udGFnPWkudmFsdWUpO3ZhciBhPW4ucXVpY2tDb21taXRGb3JtfHx7fSx1PXJjKGV8fG4ucXVpY2tDb21taXREcmFnQWN0aW9ufHwiY29tbWl0Iikscz11LndpdGhUYWcsbz1zPyhhLnRhZ3x8IiIpLnRyaW0oKToiIixsPShhLmN1c3RvbU1lc3NhZ2V8fCIiKS50cmltKCksYz0hbCxkPXticmFuY2g6KG4uZ2l0U3RhdHVzfHx7fSkuYnJhbmNofHwiIixjb21taXRIYXNoOihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQmJihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc2hvcnRIYXNoPyhuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc2hvcnRIYXNoOihuLmdpdFN0YXR1c3x8e30pLmhlYWQ/KG4uZ2l0U3RhdHVzfHx7fSkuaGVhZC5zdWJzdHJpbmcoMCw3KToiIixjb21taXRTdWJqZWN0OihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQmJihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc3ViamVjdD8obi5naXRTdGF0dXN8fHt9KS5sYXN0Q29tbWl0LnN1YmplY3Q6IiIsdGFnOihuLmdpdFN0YXR1c3x8e30pLmxhdGVzdFRhZ3x8IiJ9LGY9e2F1dG9NZXNzYWdlOmMsY3VzdG9tTWVzc2FnZTpjPyIiOmwsdGFnOm8sYXV0b1RhZzohIShzJiYhbykscHVzaDohIXUucHVzaCxzdWJtb2R1bGU6ISF0fTtuLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMCxuLnF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50PSEhdCxuLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9Y3x8Zi5hdXRvVGFnLG4ucXVpY2tDb21taXRFcnJvcj0iIixuLnF1aWNrQ29tbWl0UHVzaEVycm9yPSIiLG4ucXVpY2tDb21taXRSZXN1bHQ9bnVsbCxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj11LmFjdGlvbixxdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi9xdWljay1jb21taXQiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KGYpfSkudGhlbihmdW5jdGlvbih2KXtyZXR1cm4gdi5qc29uKCkudGhlbihmdW5jdGlvbihtKXtyZXR1cm57b2s6di5vayxkYXRhOm19fSl9KS50aGVuKGZ1bmN0aW9uKHYpe2lmKCF2Lm9rKXRocm93IG5ldyBFcnJvcih2LmRhdGEmJnYuZGF0YS5lcnJvcnx8Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNFx1NTkzMVx1OEQyNVx1MzAwMiIpO3ZhciBtPXYuZGF0YXx8e30sYj1tLmNvbW1pdCYmbS5jb21taXQuaGFzaD9tLmNvbW1pdC5oYXNoLnN1YnN0cmluZygwLDcpOiIiLGc9bS50YWcmJm0udGFnLm5hbWU/bS50YWcubmFtZToiIix5PUFycmF5LmlzQXJyYXkobS5zdWJtb2R1bGVDb21taXRzKT9tLnN1Ym1vZHVsZUNvbW1pdHM6W10sdz15Lmxlbmd0aD4wPyJcdTVERjJcdTUxNDhcdTYzRDBcdTRFQTQgIit5Lmxlbmd0aCsiIFx1NEUyQSBzdWJtb2R1bGVcdUZGMDgiK3kubWFwKGZ1bmN0aW9uKEUpe3JldHVybiBFLnBhdGh9KS5qb2luKCJcdTMwMDEiKSsiXHVGRjA5XHVGRjBDIjoiIixGPXcrIlx1NURGMlx1NjNEMFx1NEVBNCIrKGI/IiAiK2I6IiIpKyhnPyJcdUZGMENcdTVERjJcdTYyNTMgVGFnICIrZzoiIik7bi5xdWlja0NvbW1pdFJlc3VsdD17YWN0aW9uOnUuYWN0aW9uLGluY2x1ZGVTdWJtb2R1bGU6ISF0LHB1c2hlZDohIW0ucHVzaGVkLHB1c2hFcnJvcjptLnB1c2hFcnJvcnx8IiIsY29tbWl0SGFzaDpiLGNvbW1pdE1lc3NhZ2U6bS5jb21taXQmJm0uY29tbWl0Lm1lc3NhZ2U/bS5jb21taXQubWVzc2FnZTpsLHRhZ05hbWU6ZyxvbGRUYWc6ZC50YWcsb2xkQ29tbWl0SGFzaDpkLmNvbW1pdEhhc2gsb2xkQ29tbWl0U3ViamVjdDpkLmNvbW1pdFN1YmplY3Qsc3VibW9kdWxlQ291bnQ6eS5sZW5ndGh9LHUucHVzaCYmIW0ucHVzaEVycm9yPyh0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmayhGKyJcdUZGMENcdTVERjJcdTYzQThcdTkwMDFcdTMwMDIiLCJzdWNjZXNzIikscW4oKSk6KHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKEYrKG0ucHVzaEVycm9yPyJcdUZGMUJwdXNoIFx1NTkzMVx1OEQyNVx1RkYxQSIrbS5wdXNoRXJyb3I6Ilx1MzAwMiIpLG0ucHVzaEVycm9yPyJlcnJvciI6InN1Y2Nlc3MiKSxuLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KS50aGVuKGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KSl9KS5jYXRjaChmdW5jdGlvbih2KXtuLnF1aWNrQ29tbWl0RXJyb3I9diYmdi5tZXNzYWdlfHwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIn0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMSxuLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9ITEsbi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KX19ZnVuY3Rpb24gb2MoZSl7aWYoISghbi5zZWxlY3RlZElkfHxuLnF1aWNrQ29tbWl0UHVzaGluZykpe3ZhciB0PSEhKGUmJmUucHVzaENvbW1pdHMpLHI9ISEoZSYmZS5wdXNoVGFncyksaT0hIShlJiZlLmNsb3NlT25TdWNjZXNzKTtpZighKCF0JiYhcikpe3ZhciBhPW4ucXVpY2tDb21taXRSZXN1bHR8fHt9LHU9ISFhLmluY2x1ZGVTdWJtb2R1bGU7bi5xdWlja0NvbW1pdFB1c2hpbmc9ITAsbi5xdWlja0NvbW1pdFB1c2hFcnJvcj0iIixxdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi9naXQvcHVzaCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3B1c2hDb21taXRzOnQscHVzaFRhZ3M6cixzdWJtb2R1bGU6dSx0YWc6YS50YWdOYW1lfHwiIn0pfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCkudGhlbihmdW5jdGlvbihvKXtyZXR1cm57b2s6cy5vayxkYXRhOm99fSl9KS50aGVuKGZ1bmN0aW9uKHMpe3ZhciBvPXMuZGF0YXx8e307aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKG8mJm8uZXJyb3J8fCJcdTYzQThcdTkwMDFcdTU5MzFcdThEMjVcdTMwMDIiKTtpZihvLmVycm9yKXtuLnF1aWNrQ29tbWl0UHVzaEVycm9yPW8uZXJyb3IsdHlwZW9mIGs9PSJmdW5jdGlvbiImJmsoIlx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1RkYxQSIrby5lcnJvciwiZXJyb3IiKTtyZXR1cm59dmFyIGw9W107by5wdXNoZWRDb21taXRzJiZsLnB1c2goImNvbW1pdHMiKSxvLnB1c2hlZFRhZ3MmJmwucHVzaCgidGFncyIpO3ZhciBjPWwubGVuZ3RoP2wuam9pbigiIFx1NTQ4QyAiKToiXHVGRjA4XHU2NUUwXHU1MTg1XHU1QkI5XHVGRjA5Ijt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU1REYyXHU2M0E4XHU5MDAxICIrYywic3VjY2VzcyIpLG4ucXVpY2tDb21taXRSZXN1bHQmJihuLnF1aWNrQ29tbWl0UmVzdWx0LnB1c2hlZD0hMCksaT8ocW4oKSxuLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KSk6bi5zZWxlY3RlZElkJiZFbihuLnNlbGVjdGVkSWQse2ZvcmNlOiEwfSkudGhlbihmdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiZxdCgpfSl9KS5jYXRjaChmdW5jdGlvbihzKXtuLnF1aWNrQ29tbWl0UHVzaEVycm9yPXMmJnMubWVzc2FnZXx8Ilx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIsdHlwZW9mIGs9PSJmdW5jdGlvbiImJmsobi5xdWlja0NvbW1pdFB1c2hFcnJvciwiZXJyb3IiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0UHVzaGluZz0hMSxuLnF1aWNrQ29tbWl0T3BlbiYmcXQoKX0pfX19ZnVuY3Rpb24gbGMoZSl7dmFyIHQ9KGV8fCIiKS50cmltKCk7aWYodD09PSI/PyIpcmV0dXJue2xldHRlcjoiVSIsY2xzOiJ1bnRyYWNrZWQiLHRpdGxlOiJcdTY3MkFcdThEREZcdThFMkEifTtpZih0PT09IiEhIilyZXR1cm57bGV0dGVyOiJJIixjbHM6Imlnbm9yZWQiLHRpdGxlOiJcdTVERjJcdTVGRkRcdTc1NjUifTtmb3IodmFyIHI9IiIsaT0wO2k8ZS5sZW5ndGg7aSsrKWlmKGVbaV0mJmVbaV0hPT0iLiImJmVbaV0hPT0iICIpe3I9ZVtpXTticmVha31yPShyfHx0WzBdfHwiPyIpLnRvVXBwZXJDYXNlKCk7dmFyIGE9e0E6e2NsczoiYWRkIix0aXRsZToiXHU2NUIwXHU1ODlFIn0sTTp7Y2xzOiJtb2QiLHRpdGxlOiJcdTRGRUVcdTY1MzkifSxEOntjbHM6ImRlbCIsdGl0bGU6Ilx1NTIyMFx1OTY2NCJ9LFI6e2NsczoicmVuIix0aXRsZToiXHU5MUNEXHU1NDdEXHU1NDBEIn0sQzp7Y2xzOiJyZW4iLHRpdGxlOiJcdTU5MERcdTUyMzYifSxUOntjbHM6Im1vZCIsdGl0bGU6Ilx1N0M3Qlx1NTc4Qlx1NTNEOFx1NjZGNCJ9LFU6e2NsczoiZGVsIix0aXRsZToiXHU1MUIyXHU3QTgxIn19LHU9YVtyXXx8e2Nsczoib3RoZXIiLHRpdGxlOiJcdTVERjJcdTY2RjRcdTY1MzkifTtyZXR1cm57bGV0dGVyOnIsY2xzOnUuY2xzLHRpdGxlOnUudGl0bGV9fWZ1bmN0aW9uIHhtKGUpe3ZhciB0PWUubWFwKGZ1bmN0aW9uKHIpe3ZhciBpPWxjKHIuc3RhdHVzfHwiIiksYT1yLnBhdGh8fCIiLHU9YS5sYXN0SW5kZXhPZigiLyIpLHM9dT49MD9hLnNsaWNlKDAsdSsxKToiIixvPXU+PTA/YS5zbGljZSh1KzEpOmEsbD0iIjtpZihyLmlzU3VibW9kdWxlKXt2YXIgYz1yLnN1Ym1vZHVsZVN0YXRlfHx7fSxkPVtdO2MuY29tbWl0Q2hhbmdlZCYmZC5wdXNoKCJcdTY1QjBcdTYzMDdcdTk0ODgiKSxjLmhhc1RyYWNrZWRDaGFuZ2VzJiZkLnB1c2goImRpcnR5IiksYy5oYXNVbnRyYWNrZWQmJmQucHVzaCgiXHU2NzJBXHU4RERGXHU4RTJBIik7dmFyIGY9ZC5sZW5ndGg/InN1Ym1vZHVsZSBceEI3ICIrZC5qb2luKCIgLyAiKToic3VibW9kdWxlIjtsPSc8c3BhbiBjbGFzcz0icWMtc3VibW9kdWxlLWJhZGdlIj4nK3AoZikrIjwvc3Bhbj4ifXJldHVybic8ZGl2IGNsYXNzPSJxYy1maWxlLXJvdyIgdGl0bGU9IicrcChhKSsnIj48c3BhbiBjbGFzcz0icWMtZmlsZS1iYWRnZSBxYy1iYWRnZS0nK2kuY2xzKyciIHRpdGxlPSInK3AoaS50aXRsZSkrJyI+JytwKGkubGV0dGVyKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxYy1maWxlLXBhdGgiPicrKHM/JzxzcGFuIGNsYXNzPSJxYy1maWxlLWRpciI+JytwKHMpKyI8L3NwYW4+IjoiIikrJzxzcGFuIGNsYXNzPSJxYy1maWxlLW5hbWUiPicrcChvKSsiPC9zcGFuPjwvc3Bhbj4iK2wrIjwvZGl2PiJ9KS5qb2luKCIiKTtyZXR1cm4gdHx8JzxkaXYgY2xhc3M9InFjLWVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTYzRDBcdTRFQTRcdTc2ODRcdTY1MzlcdTUyQThcdTMwMDI8L2Rpdj4nfWZ1bmN0aW9uIHpyKCl7cmV0dXJuIG4ucXVpY2tDb21taXRTdWJtaXR0aW5nfHxuLnF1aWNrQ29tbWl0UHVzaGluZ31mdW5jdGlvbiBWcihlLHQscixpKXtyZXR1cm4nPGRpdiBjbGFzcz0icWMtcGFpcicrKGk/IiAiK2k6IiIpKyciPjxkaXYgY2xhc3M9InFjLXBhaXItbGFiZWwiPicrcChlKSsnPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci1mbG93Ij48ZGl2IGNsYXNzPSJxYy1wYWlyLXZhbHVlIHFjLXBhaXItdmFsdWUtLWZyb20iPicrdCsnPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPlx1MjE5MjwvZGl2PjxkaXYgY2xhc3M9InFjLXBhaXItdmFsdWUgcWMtcGFpci12YWx1ZS0tdG8iPicrcisiPC9kaXY+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBjYygpe3ZhciBlPW4uZ2l0U3RhdHVzfHx7fTtpZihlLmhhc1N1Ym1vZHVsZT09PSEwKXJldHVybiEwO2Zvcih2YXIgdD1lLmZpbGVzfHxbXSxyPTA7cjx0Lmxlbmd0aDtyKyspaWYodFtyXSYmdFtyXS5pc1N1Ym1vZHVsZT09PSEwKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGRjKGUpe3ZhciB0PSFlfHx6cigpLHI9Y2MoKTtpZihuLnF1aWNrQ29tbWl0U3VibWl0dGluZyl7dmFyIGk9bi5xdWlja0NvbW1pdFN1Ym1vZHVsZUludGVudD8iXHVGRjA4XHU1NDJCIHN1Ym1vZHVsZVx1RkYwOSI6IiIsYT0obi5xdWlja0NvbW1pdEF1dG9HZW5lcmF0aW5nPyJBSSBcdTc1MUZcdTYyMTAgKyBcdTYzRDBcdTRFQTRcdTRFMkRcdTIwMjYiOiJcdTYyNjdcdTg4NENcdTRFMkRcdTIwMjYiKStpO3JldHVybic8ZGl2IGNsYXNzPSJxYy1kb2NrLXdyYXAiPjxkaXYgY2xhc3M9InFjLWRvY2stYnVzeSIgcm9sZT0ic3RhdHVzIj48c3BhbiBjbGFzcz0icWMtZG9jay1idXN5LWRvdCI+PC9zcGFuPicrcChhKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiB1KG8sbCxjKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxYy1jaGlwIHFjLWNoaXAtLScrbysnIiBkYXRhLWNoaXA9IicrbysnIicrKGM/JyB0aXRsZT0iJytwKGMpKyciJzoiIikrKHQ/IiBkaXNhYmxlZCI6IiIpKyc+PHNwYW4gY2xhc3M9InFjLWNoaXAtZG90IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJxYy1jaGlwLWxhYmVsIj4nK2wrIjwvc3Bhbj48L2J1dHRvbj4ifXZhciBzPXQ/ZT8iIjoiXHU1REU1XHU0RjVDXHU1MzNBXHU1RTcyXHU1MUMwXHVGRjBDXHU2NUUwXHU1M0VGXHU2M0QwXHU0RUE0IjoiXHU2MkQ2XHU1MkE4XHU3OEMxXHU1NDM4XHU3RUM0XHU1NDA4IFx4QjcgXHU0RTIyXHU4RkRCXHU2M0QwXHU0RUE0XHU1MzNBXHU2MjY3XHU4ODRDIFx4QjcgXHU1MzU1XHU1MUZCXHU3NkY0XHU2M0E1XHU2MjY3XHU4ODRDXHU4QkU1XHU5ODc5Iisocj8iIFx4QjcgU3ViIFx1NzQwM1x1NTNFRlx1OTAwOVx1RkYwQ1x1N0VCM1x1NTE2NVx1NTQwRVx1OTAxMlx1NUY1Mlx1NTkwNFx1NzQwNiBzdWJtb2R1bGUiOiIiKTtyZXR1cm4nPGRpdiBjbGFzcz0icWMtZG9jay13cmFwIHFjLWRvY2std3JhcC0tbWFnbmV0aWMiJysodD8nIGRhdGEtZGlzYWJsZWQ9IjEiJzoiIikrJz48ZGl2IGlkPSJxYy1kb2NrLXN0YWdlIiBjbGFzcz0icWMtZG9jay1zdGFnZSIgZGF0YS1hY3Rpb249ImNvbW1pdCIgZGF0YS1ob3Q9IjAiPjxkaXYgaWQ9InFjLWRvY2stZmllbGQiIGNsYXNzPSJxYy1kb2NrLWZpZWxkIj48ZGl2IGlkPSJxYy1kb2NrLWNsdXN0ZXIiIGNsYXNzPSJxYy1kb2NrLWNsdXN0ZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4nK3UoImNvbW1pdCIsIkNvbW1pdCIpK3UoInRhZyIsIlRhZyIpK3UoInB1c2giLCJQdXNoIikrKHI/dSgic3ViIiwiU3ViIiwiXHU2M0QwXHU0RUE0XHU3MjM2XHU0RUQzXHU1RTkzXHU1RTc2XHU5MDEyXHU1RjUyXHU4RkRCXHU1MTY1IHN1Ym1vZHVsZVx1RkYwOGNvbW1pdCAvIHRhZyAvIFx1NTIwNlx1NTIyQlx1NjNBOFx1OTAwMVx1RkYwOSIpOiIiKSsnPC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJxYy1kb2NrLWxhdW5jaCIgY2xhc3M9InFjLWRvY2stbGF1bmNoIicrKHQ/IiBkaXNhYmxlZCI6IiIpKycgYXJpYS1sYWJlbD0iXHU2MjY3XHU4ODRDXHU2M0QwXHU0RUE0Ij48c3BhbiBjbGFzcz0icWMtZG9jay1sYXVuY2gtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgMTJoMTJNMTMgNmw2IDYtNiA2Ii8+PC9zdmc+PC9zcGFuPjxzcGFuIGlkPSJxYy1kb2NrLWxhdW5jaC1sYWJlbCIgY2xhc3M9InFjLWRvY2stbGF1bmNoLWxhYmVsIj5cdTYzRDBcdTRFQTQ8L3NwYW4+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icWMtZG9jay1oaW50Ij4nK3AocykrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gZmMoKXt2YXIgZT1uLnF1aWNrQ29tbWl0UmVzdWx0O2lmKCFlKXJldHVybiIiO3ZhciB0PWUub2xkQ29tbWl0SGFzaD8iPGNvZGU+IitwKGUub2xkQ29tbWl0SGFzaCkrIjwvY29kZT4iKyhlLm9sZENvbW1pdFN1YmplY3Q/IjxzcGFuPiIrcChlLm9sZENvbW1pdFN1YmplY3QpKyI8L3NwYW4+IjoiIik6JzxzcGFuIGNsYXNzPSJxYy1tdXRlZCI+XHU2NUUwPC9zcGFuPicscj1lLmNvbW1pdEhhc2g/Ijxjb2RlPiIrcChlLmNvbW1pdEhhc2gpKyI8L2NvZGU+PHNwYW4+IitwKGUuY29tbWl0TWVzc2FnZXx8IiIpKyI8L3NwYW4+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTA8L3NwYW4+JyxpPWUub2xkVGFnPyI8Y29kZT4iK3AoZS5vbGRUYWcpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTAgdGFnPC9zcGFuPicsYT1lLnRhZ05hbWU/Ijxjb2RlPiIrcChlLnRhZ05hbWUpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY3MkFcdTYyNTMgdGFnPC9zcGFuPicsdT1lLnB1c2hlZD8nPHNwYW4gY2xhc3M9InFjLXJlc3VsdC1wdXNoZWQiPlx1NURGMlx1NjNBOFx1OTAwMTwvc3Bhbj4nOic8YnV0dG9uIGlkPSJxdWljay1jb21taXQtcHVzaC1hZnRlci1idG4iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iJysobi5xdWlja0NvbW1pdFB1c2hpbmc/IiBkaXNhYmxlZCI6IiIpKyI+Iisobi5xdWlja0NvbW1pdFB1c2hpbmc/Ilx1NjNBOFx1OTAwMVx1NEUyRC4uLiI6IlB1c2ggJiBDbG9zZSIpKyI8L2J1dHRvbj4iO3JldHVybic8c2VjdGlvbiBjbGFzcz0icWMtcmVzdWx0LXBhbmVsIj4nK1ZyKCJDb21taXQiLHQsciwiIikrVnIoIlRhZyIsaSxhLCJxYy1wYWlyLS10YWciKSsoZS5wdXNoRXJyb3J8fG4ucXVpY2tDb21taXRQdXNoRXJyb3I/JzxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj4nK3AoZS5wdXNoRXJyb3J8fG4ucXVpY2tDb21taXRQdXNoRXJyb3IpKyI8L3A+IjoiIikrJzxkaXYgY2xhc3M9InFjLXJlc3VsdC1hY3Rpb25zIj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2FuY2VsLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTE3M1x1OTVFRDwvYnV0dG9uPicrdSsiPC9kaXY+PC9zZWN0aW9uPiJ9ZnVuY3Rpb24gT3UoKXt2YXIgZT1uLmdpdFN0YXR1c3x8e30sdD1uLnF1aWNrQ29tbWl0Rm9ybXx8e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0scj0oZS5tb2RpZmllZENvdW50fHwwKT4wLGk9bi5xdWlja0NvbW1pdEdlbmVyYXRpbmcsYT1lLmxhc3RDb21taXR8fHt9LHU9YS5zaG9ydEhhc2g/Ijxjb2RlPiIrcChhLnNob3J0SGFzaCkrIjwvY29kZT48c3Bhbj4iK3AoYS5zdWJqZWN0fHwiIikrIjwvc3Bhbj4iOmUuaGVhZD8iPGNvZGU+IitwKGUuaGVhZC5zdWJzdHJpbmcoMCw3KSkrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCBjb21taXQ8L3NwYW4+JyxzPWUubGF0ZXN0VGFnPyI8Y29kZT4iK3AoZS5sYXRlc3RUYWcpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTAgdGFnPC9zcGFuPicsbz0nPGlucHV0IHR5cGU9InRleHQiIGlkPSJxdWljay1jb21taXQtdGFnIiBjbGFzcz0iZmllbGQtaW5wdXQgcWMtdGFnLWZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iXHU3NTU5XHU3QTdBXHU1MjE5IEFJIFx1NzUxRlx1NjIxMCIgdmFsdWU9IicrcCh0LnRhZ3x8IiIpKyciJysobi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc/IiBkaXNhYmxlZCI6IiIpKyI+IixsPSc8dGV4dGFyZWEgaWQ9InF1aWNrLWNvbW1pdC1tZXNzYWdlIiBjbGFzcz0iZmllbGQtaW5wdXQgcWMtbWVzc2FnZS1pbnB1dCIgcm93cz0iMyIgcGxhY2Vob2xkZXI9Ik5ldyBjb21taXQgbWVzc2FnZSIgJysobi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc/ImRpc2FibGVkIjoiIikrIj4iK3AodC5jdXN0b21NZXNzYWdlfHwiIikrIjwvdGV4dGFyZWE+IixjPVtdO2MucHVzaChlLmJyYW5jaHx8IihubyBicmFuY2gpIiksYy5wdXNoKHI/KGUubW9kaWZpZWRDb3VudHx8MCkrIiBcdTRFMkFcdTY1MzlcdTUyQTgiOiJcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzAiKSx0eXBlb2YgZS5haGVhZD09Im51bWJlciImJmUuYWhlYWQ+MCYmYy5wdXNoKCJcdTIxOTEiK2UuYWhlYWQpLHR5cGVvZiBlLmJlaGluZD09Im51bWJlciImJmUuYmVoaW5kPjAmJmMucHVzaCgiXHUyMTkzIitlLmJlaGluZCk7dmFyIGQ9bi5xdWlja0NvbW1pdFJlc3VsdD8iIjonPHNlY3Rpb24gY2xhc3M9InFjLXJlbGVhc2UtcGFuZWwiPjxkaXYgY2xhc3M9InFjLW1lc3NhZ2UtaGVhZGVyIj48c3BhbiBjbGFzcz0icWMtc2VjdGlvbi10aXRsZSI+TmV3PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0icXVpY2stY29tbWl0LWFpLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHFjLWFpLWJ0biInKyhpPyIgZGlzYWJsZWQiOiIiKSsnIHRpdGxlPSJBSSBcdTc1MUZcdTYyMTAgY29tbWl0IG1lc3NhZ2UgXHU0RTBFIHRhZyI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik04IDEuNWwxLjQgMy42TDEzIDYuNSA5LjQgNy45IDggMTEuNSA2LjYgNy45IDMgNi41bDMuNi0xLjRMOCAxLjV6TTEyLjUgMTAuNWwuNyAxLjggMS44LjctMS44LjctLjcgMS44LS43LTEuOC0xLjgtLjcgMS44LS43LjctMS44eiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+PHNwYW4+JysoaT8iXHU3NTFGXHU2MjEwXHU0RTJELi4uIjoiQUkiKSsiPC9zcGFuPjwvYnV0dG9uPjwvZGl2PiIrVnIoIkNvbW1pdCIsdSxsLCJxYy1wYWlyLS1jb21taXQiKStWcigiVGFnIixzLG8sInFjLXBhaXItLXRhZyIpKyhuLnF1aWNrQ29tbWl0RXJyb3I/JzxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj4nK3Aobi5xdWlja0NvbW1pdEVycm9yKSsiPC9wPiI6IiIpK2RjKHIpKyc8ZGl2IGNsYXNzPSJxYy1tb2RhbC1hY3Rpb25zIj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2FuY2VsLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTNENlx1NkQ4ODwvYnV0dG9uPjwvZGl2Pjwvc2VjdGlvbj4nLGY9ZmMoKTtyZXR1cm4nPHNlY3Rpb24gaWQ9InF1aWNrLWNvbW1pdC1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wJysobi5xdWlja0NvbW1pdE9wZW4/IiI6IiBoaWRkZW4iKSsnIj48ZGl2IGNsYXNzPSJtb2RhbCBxdWljay1jb21taXQtbW9kYWwiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJxdWljay1jb21taXQtdGl0bGUiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgaWQ9InF1aWNrLWNvbW1pdC10aXRsZSIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQ8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+JytwKGMuam9pbigiIFx4QjcgIikpKyc8L3A+PC9kaXY+PGJ1dHRvbiBpZD0icXVpY2stY29tbWl0LWNsb3NlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPicrZCtmKyI8L2Rpdj48L2Rpdj48L3NlY3Rpb24+In1mdW5jdGlvbiBwYygpe3JldHVybic8c2VjdGlvbiBpZD0id29ya3RyZWUtbWVyZ2UtbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHdvcmt0cmVlLW1lcmdlLW1vZGFsIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU1NDA4XHU1RTc2IFdvcmt0cmVlPC9oMj48cCBjbGFzcz0ibW9kYWwtc3VidGl0bGUiPlx1NjhDMFx1NjdFNVx1NUY1M1x1NTI0RFx1NEVGQlx1NTJBMVx1NTIwNlx1NjUyRlx1NUU3Nlx1NUZFQlx1NjM3N1x1NTQwOFx1NUU3Nlx1NTIzMFx1NEUzQlx1NTIwNlx1NjUyRlx1MzAwMjwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS13b3JrdHJlZS1tZXJnZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij48ZGl2IGlkPSJ3b3JrdHJlZS1tZXJnZS1jb250ZW50IiBjbGFzcz0id29ya3RyZWUtbWVyZ2UtY29udGVudCI+PC9kaXY+PHAgaWQ9Indvcmt0cmVlLW1lcmdlLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1hY3Rpb25zIj48YnV0dG9uIGlkPSJ3b3JrdHJlZS1tZXJnZS1jYW5jZWwtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiPlx1NTNENlx1NkQ4ODwvYnV0dG9uPjxidXR0b24gaWQ9Indvcmt0cmVlLW1lcmdlLWNvbmZpcm0tYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5cdTc4NkVcdThCQTRcdTU0MDhcdTVFNzZcdTVFNzZcdTZFMDVcdTc0MDY8L2J1dHRvbj48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J31mdW5jdGlvbiB2Yygpe3JldHVybic8c2VjdGlvbiBpZD0ic2V0dGluZ3MtbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHNldHRpbmdzLW1vZGFsIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIgc2V0dGluZ3MtbW9kYWwtaGVhZGVyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RhbC10aXRsZS1ncm91cCI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU4QkJFXHU3RjZFPC9oMj48cCBjbGFzcz0ic2V0dGluZ3MtbW9kYWwtc3VidGl0bGUiPlx1OEMwM1x1NjU3NFx1NUU5NFx1NzUyOFx1OTE0RFx1N0Y2RVx1MzAwMVx1OTAxQVx1NzdFNVx1MzAwMVx1NUI4OVx1NTE2OFx1NTQ4Q1x1NjYzRVx1NzkzQVx1NTA0Rlx1NTk3RDwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS1zZXR0aW5ncy1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5IHNldHRpbmdzLW1vZGFsLWJvZHkiPjxkaXYgY2xhc3M9InNldHRpbmdzLWxheW91dCI+PGFzaWRlIGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLWhlYWRlciI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2lkZWJhci10aXRsZSI+XHU1MDRGXHU1OTdEXHU4QkJFXHU3RjZFPC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2lkZWJhci1oaW50Ij5cdTVERTZcdTRGQTdcdTUyMDdcdTYzNjJcdTUyMDZcdTUzM0FcdUZGMENcdTUzRjNcdTRGQTdcdTY3RTVcdTc3MEJcdThCRTZcdTdFQzZcdThCRjRcdTY2MEVcdTRFMEVcdTkwMDlcdTk4NzlcdTMwMDI8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10YWJzIiByb2xlPSJ0YWJsaXN0IiBhcmlhLWxhYmVsPSJcdThCQkVcdTdGNkVcdTUyMDZcdTdFQzQiIGFyaWEtb3JpZW50YXRpb249InZlcnRpY2FsIj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIgYWN0aXZlIiBkYXRhLXRhYj0iYWJvdXQiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLWFib3V0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTE3M1x1NEU4RTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NzI0OFx1NjcyQ1x1MzAwMVx1NjZGNFx1NjVCMFx1NEUwRVx1OEZERVx1NjNBNVx1NjVCOVx1NUYwRjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJnZW5lcmFsIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItZ2VuZXJhbCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTU3RkFcdTY3MkNcdTkxNERcdTdGNkU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTRFM0JcdTY3M0FcdTMwMDFcdTZBMjFcdTVGMEZcdTMwMDFcdThCRURcdThBMDBcdTMwMDFcdTc2RUVcdTVGNTU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0ibm90aWZpY2F0aW9ucyIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLW5vdGlmaWNhdGlvbnMiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU5MDFBXHU3N0U1PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU2M0QwXHU3OTNBXHU5N0YzXHU0RTBFXHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9InNlY3VyaXR5IiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItc2VjdXJpdHkiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1Qjg5XHU1MTY4PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9InByZXNldHMiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1wcmVzZXRzIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NjdFNVx1NzcwQlx1NURGMlx1NjcwOVx1OTg4NFx1OEJCRTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJkaXNwbGF5IiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItZGlzcGxheSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTY2M0VcdTc5M0E8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTg4NENcdTRFM0E8L3NwYW4+PC9idXR0b24+PC9kaXY+PC9hc2lkZT48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCBhY3RpdmUiIGlkPSJzZXR0aW5ncy10YWItYWJvdXQiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTE3M1x1NEU4RSBXYW5kPC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU2N0U1XHU3NzBCXHU3MjQ4XHU2NzJDXHU0RkUxXHU2MDZGXHUzMDAxXHU2NkY0XHU2NUIwXHU3MkI2XHU2MDAxXHU1NDhDIEFuZHJvaWQgQXBwIFx1OEZERVx1NjNBNVx1NjVCOVx1NUYwRlx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1pbmZvIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1MzA1XHU1NDBEPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLXBrZy1uYW1lIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtdmVyc2lvbiI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+Tm9kZS5qcyBcdTg5ODFcdTZDNDI8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3Mtbm9kZS1yZXEiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NEVEM1x1NUU5M1x1NTczMFx1NTc0MDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1yZXBvLXVybCI+PGEgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPi08L2E+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIiBpZD0id2ViLXVwZGF0ZS1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigiZ2xvYmUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5XZWIgXHU3QUVGPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OEJCRlx1OTVFRVx1NzY4NFx1NjcwRFx1NTJBMVx1NzI0OFx1NjcyQzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzAwXHU2NUIwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIGlkPSJjaGVjay11cGRhdGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIj5cdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjA8L2J1dHRvbj48YnV0dG9uIGlkPSJkby11cGRhdGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iPlx1NjZGNFx1NjVCMFx1NTIzMFx1NjcwMFx1NjVCMFx1NzI0ODwvYnV0dG9uPjxidXR0b24gaWQ9ImRvLXJlc3RhcnQtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbSBoaWRkZW4iPlx1OTFDRFx1NTQyRlx1NzUxRlx1NjU0ODwvYnV0dG9uPjwvZGl2PjxwIGlkPSJ1cGRhdGUtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPkJldGEgXHU5MDFBXHU5MDUzPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NkY0XHU2NUIwXHU1MjMwIG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1RkYwOHRhZyArIGNvbW1pdCBcdTVDM0VcdTY4MDdcdUZGMDlcdUZGMENcdTVDMURcdTlDOUNcdTY1QjBcdTUyOUZcdTgwRkRcdUZGMENcdTUzRUZcdTgwRkRcdTRFMERcdTdBMzNcdTVCOUFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImJldGEtY2hhbm5lbC10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OFx1NjcyQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NEUwQlx1OEY3RFx1NUI4OVx1ODhDNVx1NUU3Nlx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiBoaWRkZW4iIGlkPSJhbmRyb2lkLWFway1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigic21hcnRwaG9uZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPkFuZHJvaWQgQXBwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NTM5Rlx1NzUxRlx1NUJBMlx1NjIzN1x1N0FFRlx1NzI0OFx1NjcyQ1x1NEUwRSBBUEsgXHU0RTBCXHU4RjdEPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXBrLWN1cnJlbnQtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstY3VycmVudCI+LTwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJhbmRyb2lkLWFway1naXRodWItcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1N0VCRlx1NEUwQVx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLWFuZHJvaWQtYXBrLWdpdGh1YiI+LTwvc3Bhbj48YnV0dG9uIGlkPSJkb3dubG9hZC1naXRodWItYXBrLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hcGstbG9jYWwtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NjcyQ1x1NTczMFx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLWFuZHJvaWQtYXBrLWxvY2FsIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWxvY2FsLWFway1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXV0by11cGRhdGUtcm93IiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjA8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIiBpZD0iYW5kcm9pZC1hdXRvLXVwZGF0ZS1oaW50Ij5cdTY4QzBcdTZENEJcdTUyMzBcdTY1QjBcdTcyNDggQVBLIFx1NjVGNlx1ODFFQVx1NTJBOFx1NjJDOVx1OEQ3N1x1NEUwQlx1OEY3RFx1RkYwQ1x1NUI4OVx1ODhDNVx1NEVDRFx1OTcwMFx1NTcyOFx1N0NGQlx1N0VERlx1NEUyRFx1Nzg2RVx1OEJBNFx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48cCBpZD0iYW5kcm9pZC1hcGstbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24gaGlkZGVuIiBpZD0ibWFjb3MtZG1nLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytKKCJkZXNrdG9wIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+bWFjT1MgQXBwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NTM5Rlx1NzUxRlx1NUJBMlx1NjIzN1x1N0FFRlx1NzI0OFx1NjcyQ1x1NEUwRSBETUcgXHU0RTBCXHU4RjdEPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1jdXJyZW50LXJvdyIgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1RjUzXHU1MjREXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLW1hY29zLWRtZy1jdXJyZW50Ij4tPC9zcGFuPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1naXRodWItcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1N0VCRlx1NEUwQVx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLW1hY29zLWRtZy1naXRodWIiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtZ2l0aHViLWRtZy1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1sb2NhbC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWxvY2FsIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWxvY2FsLWRtZy1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWF1dG8tdXBkYXRlLXJvdyIgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3cgaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSI+XHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyIgaWQ9Im1hY29zLWF1dG8tdXBkYXRlLWhpbnQiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OCBETUcgXHU1QzA2XHU4MUVBXHU1MkE4XHU0RTBCXHU4RjdEXHU1RTc2XHU2MzAyXHU4RjdEXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1kbWctdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxwIGlkPSJtYWNvcy1kbWctbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24iIGlkPSJhbmRyb2lkLWNvbm5lY3Qtc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooImxpbmsiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5BcHAgXHU4RkRFXHU2M0E1XHU3ODAxPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1N0M5OFx1OEQzNFx1NTIzMCBBbmRyb2lkIEFwcCBcdTUzNzNcdTUzRUZcdTgxRUFcdTUyQThcdThGREVcdTYzQTVcdUZGMENcdTY1RTBcdTk3MDBcdTVCQzZcdTc4MDFcdUZGMUJcdTY1MzlcdTVCQzZcdTc4MDFcdTU0MEVcdTU5MzFcdTY1NDhcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC11cmwtYm94Ij48Y29kZSBpZD0iYW5kcm9pZC1jb25uZWN0LWNvZGUiIGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXVybC10ZXh0Ij4tPC9jb2RlPjxidXR0b24gaWQ9ImNvcHktY29ubmVjdC1jb2RlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU1OTBEXHU1MjM2XHU4RkRFXHU2M0E1XHU3ODAxIj5cdTU5MERcdTUyMzY8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLWJveCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC1xci13cmFwIiBpZD0iYW5kcm9pZC1jb25uZWN0LXFyLXdyYXAiIHRpdGxlPSJcdTcwQjlcdTUxRkJcdTY1M0VcdTU5MjciPjxjYW52YXMgaWQ9ImFuZHJvaWQtY29ubmVjdC1xciIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiPjwvY2FudmFzPjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItZW1wdHkiIGlkPSJhbmRyb2lkLWNvbm5lY3QtcXItZW1wdHkiPlx1NzUxRlx1NjIxMFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLWhpbnQiPlx1NzUyOCBXYW5kIEFwcCBcdTYyNkJcdTRFMDBcdTYyNkJcdUZGMENcdTUzNzNcdTUzRUZcdTRFMDBcdTk1MkVcdTU4NkJcdTUxNjVcdTY3MERcdTUyQTFcdTU2NjhcdTU3MzBcdTU3NDBcdTRFMEVcdThGREVcdTYzQTVcdTc4MDFcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItbm90aWZpY2F0aW9ucyIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU5MDFBXHU3N0U1PC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU4QkJFXHU3RjZFXHU2M0QwXHU3OTNBXHU5N0YzXHUzMDAxXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1NDhDXHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1XHU3Njg0XHU4ODRDXHU0RTNBXHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigiYmVsbCIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1OTAxQVx1NzdFNVx1NTA0Rlx1NTk3RDwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTYzRDBcdTc5M0FcdTk3RjNcdTRFMEVcdTVFOTRcdTc1MjhcdTUxODVcdTkwMUFcdTc3RTVcdTZDMTRcdTZDRTE8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1ub3RpZi1zb3VuZCI+XHU2NEFEXHU2NTNFXHU2M0QwXHU3OTNBXHU5N0YzPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1OTFDRFx1ODk4MVx1OTAxQVx1NzdFNVx1RkYwOFx1NzI0OFx1NjcyQ1x1NjZGNFx1NjVCMFx1MzAwMVx1Njc0M1x1OTY1MFx1N0I0OVx1NUY4NVx1N0I0OVx1RkYwOVx1NjVGNlx1NjRBRFx1NjUzRVx1NjdENFx1NTQ4Q1x1NjNEMFx1NzkzQVx1OTdGM1x1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctbm90aWYtc291bmQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2Utcm93IiBpZD0ibm90aWYtdm9sdW1lLWZpZWxkIj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXJhbmdlLWxhYmVsIiBmb3I9ImNmZy1ub3RpZi12b2x1bWUiPlx1OTdGM1x1OTFDRjwvbGFiZWw+PGlucHV0IGlkPSJjZmctbm90aWYtdm9sdW1lIiB0eXBlPSJyYW5nZSIgbWluPSIwIiBtYXg9IjEwMCIgc3RlcD0iNSIgY2xhc3M9InNldHRpbmdzLXJhbmdlIiAvPjxzcGFuIGlkPSJjZmctbm90aWYtdm9sdW1lLXZhbCIgY2xhc3M9InNldHRpbmdzLXJhbmdlLXZhbHVlIj44MCU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1ub3RpZi1idWJibGUiPlx1NUU5NFx1NzUyOFx1NTE4NVx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTU3MjhcdTk4NzVcdTk3NjJcdTk4NzZcdTkwRThcdTVGMzlcdTUxRkFcdTZENkVcdTUyQThcdTkwMUFcdTc3RTVcdTZDMTRcdTZDRTFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCBpZD0iY2ZnLW5vdGlmLWJ1YmJsZSIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJuYXRpdmUtc291bmQtc2VjdGlvbiIgY2xhc3M9InNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uIGhpZGRlbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooIm11c2ljIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU5NEMzXHU1OEYwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1OTAwOVx1NjJFOSBBbmRyb2lkIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NEY3Rlx1NzUyOFx1NzY4NFx1OTRDM1x1NThGMDwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24iPjxzZWxlY3QgaWQ9Im5hdGl2ZS1zb3VuZC1zZWxlY3QiIGNsYXNzPSJmaWVsZC1pbnB1dCBmaWVsZC1zZWxlY3QiPjwvc2VsZWN0PjxidXR0b24gaWQ9Im5hdGl2ZS1zb3VuZC1wcmV2aWV3IiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGJ0bi13aXRoLWljb24iIHR5cGU9ImJ1dHRvbiI+JytKKCJwbGF5Iix7c2l6ZToxMSxzdHJva2VXaWR0aDoxLjgsZmlsbDoiY3VycmVudENvbG9yIn0pKyc8c3Bhbj5cdThCRDVcdTU0MkM8L3NwYW4+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibmF0aXZlLWhhcHRpYy1zZWN0aW9uIiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24gaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigidmlicmF0ZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1ODlFNlx1NjExRlx1NTNDRFx1OTk4ODwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTYzMDlcdTk0QUVcdTY0Q0RcdTRGNUNcdTU0OENcdTRFRkJcdTUyQTFcdTVCOENcdTYyMTBcdTY1RjZcdTYzRDBcdTRGOUJcdTYzMkZcdTUyQThcdTUzQ0RcdTk5ODg8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1oYXB0aWMtZW5hYmxlZCI+XHU1NDJGXHU3NTI4XHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4PC9sYWJlbD48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaGFwdGljLWVuYWJsZWQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytKKCJnbG9iZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OTAxQVx1NzdFNTwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTY3NjVcdTgxRUFcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTRFMkRcdTVGQzNcdTc2ODRcdTVGMzlcdTdBOTc8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NjM4OFx1Njc0M1x1NzJCNlx1NjAwMTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJub3RpZmljYXRpb24tcGVybWlzc2lvbi1zdGF0dXMiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLWFjdGlvbnMiPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NjM4OFx1Njc0M1x1OTAxQVx1NzdFNTwvYnV0dG9uPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi1yZXNldC1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU5MUNEXHU2NUIwXHU2Mzg4XHU2NzQzPC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXRlc3QtYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTNEMVx1OTAwMVx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNTwvYnV0dG9uPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi10ZXN0LWRlbGF5LWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPjEwIFx1NzlEMlx1NTQwRVx1NTNEMVx1OTAwMTwvYnV0dG9uPjwvZGl2PjxwIGlkPSJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1nZW5lcmFsIiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTU3RkFcdTY3MkNcdTkxNERcdTdGNkU8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTkxNERcdTdGNkVcdTY3MERcdTUyQTFcdTc2RDFcdTU0MkNcdTU3MzBcdTU3NDBcdTMwMDFcdTlFRDhcdThCQTRcdTZBMjFcdTVGMEZcdTMwMDFcdThCRURcdThBMDBcdTU0OENcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtcm93Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctaG9zdCI+XHU3NkQxXHU1NDJDXHU1NzMwXHU1NzQwIChob3N0KTwvbGFiZWw+PGlucHV0IGlkPSJjZmctaG9zdCIgdHlwZT0idGV4dCIgY2xhc3M9ImZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iMTI3LjAuMC4xIiAvPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1wb3J0Ij5cdTdBRUZcdTUzRTMgKHBvcnQpPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1wb3J0IiB0eXBlPSJudW1iZXIiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ijg0NDMiIG1pbj0iMSIgbWF4PSI2NTUzNSIgLz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLWh0dHBzIj5cdTU0MkZcdTc1MjggSFRUUFM8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU0RjdGXHU3NTI4XHU4MUVBXHU3QjdFXHU1NDBEXHU4QkMxXHU0RTY2XHU1MkEwXHU1QkM2XHU2RDRGXHU4OUM4XHU1NjY4XHU1MjMwXHU2NzBEXHU1MkExXHU3Njg0XHU4RkRFXHU2M0E1XHVGRjBDaG9zdCBcdTRFM0FcdTk3NUUgMTI3LjAuMC4xIFx1NjVGNlx1NUVGQVx1OEJBRVx1NUYwMFx1NTQyRlx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaHR0cHMiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtcm93Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctbW9kZSI+XHU5RUQ4XHU4QkE0XHU2MjY3XHU4ODRDXHU2QTIxXHU1RjBGPC9sYWJlbD48c2VsZWN0IGlkPSJjZmctbW9kZSIgY2xhc3M9ImZpZWxkLWlucHV0Ij48b3B0aW9uIHZhbHVlPSJkZWZhdWx0Ij5kZWZhdWx0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXNzaXN0Ij5hc3Npc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZ2VudCI+YWdlbnQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZ2VudC1tYXgiPmFnZW50LW1heDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImF1dG8tZWRpdCI+YXV0by1lZGl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZnVsbC1hY2Nlc3MiPmZ1bGwtYWNjZXNzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibmF0aXZlIj5uYXRpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtYW5hZ2VkIj5tYW5hZ2VkPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWxhbmd1YWdlIj5cdTU2REVcdTU5MERcdThCRURcdThBMDA8L2xhYmVsPjxzZWxlY3QgaWQ9ImNmZy1sYW5ndWFnZSIgY2xhc3M9ImZpZWxkLWlucHV0Ij48b3B0aW9uIHZhbHVlPSIiPlx1ODFFQVx1NTJBOFx1RkYwOFx1NEUwRFx1NjMwN1x1NUI5QVx1RkYwOTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1NEUyRFx1NjU4NyI+XHU0RTJEXHU2NTg3PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRW5nbGlzaCI+RW5nbGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1NjVFNVx1NjcyQ1x1OEE5RSI+XHU2NUU1XHU2NzJDXHU4QTlFPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHVENTVDXHVBRDZEXHVDNUI0Ij5cdUQ1NUNcdUFENkRcdUM1QjQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJFc3BhXHhGMW9sIj5Fc3BhXHhGMW9sPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRnJhblx4RTdhaXMiPkZyYW5ceEU3YWlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRGV1dHNjaCI+RGV1dHNjaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1MDQyMFx1MDQ0M1x1MDQ0MVx1MDQ0MVx1MDQzQVx1MDQzOFx1MDQzOSI+XHUwNDIwXHUwNDQzXHUwNDQxXHUwNDQxXHUwNDNBXHUwNDM4XHUwNDM5PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PHAgY2xhc3M9ImZpZWxkLWhpbnQiIHN0eWxlPSJtYXJnaW4tdG9wOi00cHg7Ij5cdThCQkVcdTdGNkVcdTU2REVcdTU5MERcdThCRURcdThBMDBcdTU0MEVcdUZGMENDbGF1ZGUgXHU1QzA2XHU1QzNEXHU5MUNGXHU0RjdGXHU3NTI4XHU2MzA3XHU1QjlBXHU4QkVEXHU4QTAwXHU1NkRFXHU1OTBEXHUzMDAyPC9wPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1zdHJ1Y3R1cmVkLXJ1bm5lciI+XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREIFJ1bm5lcjwvbGFiZWw+PHNlbGVjdCBpZD0iY2ZnLXN0cnVjdHVyZWQtcnVubmVyIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9InNkayI+U0RLXHVGRjA4QGFudGhyb3BpYy1haS9jbGF1ZGUtYWdlbnQtc2RrXHVGRjBDXHU5RUQ4XHU4QkE0XHVGRjA5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2xpIj5DTElcdUZGMDhzcGF3biBjbGF1ZGUgLXBcdUZGMDk8L29wdGlvbj48L3NlbGVjdD48cCBjbGFzcz0iZmllbGQtaGludCIgc3R5bGU9Im1hcmdpbi10b3A6NHB4OyI+U0RLIFx1NkEyMVx1NUYwRlx1NEY3Rlx1NzUyOFx1NUI5OFx1NjVCOSBBZ2VudCBTREsgXHU2NkZGXHU0RUUzIENMSSBzdWJwcm9jZXNzXHVGRjBDXHU2M0E1XHU1M0UzXHU2NkY0XHU2NTc0XHU2RDAxXHVGRjBDXHU1MjlGXHU4MEZEXHU3QjQ5XHU0RUY3XHUzMDAyXHU0RkREXHU1QjU4XHU1NDBFXHU1QkY5XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU3QUNCXHU1MzczXHU3NTFGXHU2NTQ4XHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48bGFiZWwgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSIgZm9yPSJjZmctaW5oZXJpdC1lbnYiPlx1N0VFN1x1NjI3Rlx1NzNBRlx1NTg4M1x1NTNEOFx1OTFDRjwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTU0MkZcdTUyQTggUFRZIC8gXHU3RUQzXHU2Nzg0XHU1MzE2XHU1QjUwXHU4RkRCXHU3QTBCXHU2NUY2XHVGRjBDXHU2MjhBXHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU4RkRCXHU3QTBCXHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGXHU0RjIwXHU3RUQ5IGNsYXVkZSAvIGNvZGV4XHUzMDAyXHU1MTczXHU5NUVEXHU1NDBFXHU1QjUwXHU4RkRCXHU3QTBCXHU0RUM1XHU4M0I3XHU1Rjk3XHU2NzAwXHU1QzBGXHU1M0VGXHU3NTI4XHU3M0FGXHU1ODgzXHVGRjA4UEFUSC9IT01FL1NIRUxML0xBTkcvVEVSTSBcdTdCNDlcdUZGMDlcdUZGMENcdTUzRUZcdTc1MjhcdTRFOEVcdTk2OTRcdTc5QkIgQVBJIGtleSBcdTdCNDlcdTY1NEZcdTYxMUZcdTUxRURcdTYzNkVcdTMwMDI8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWFzaWRlIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy12aWV3LWVudi1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHRpdGxlPSJcdTY3RTVcdTc3MEJcdTVCOUVcdTk2NDVcdTRGMUFcdTZDRThcdTUxNjVcdTUyMzBcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0YiPlx1NjdFNVx1NzcwQjwvYnV0dG9uPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1pbmhlcml0LWVudiIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctZGVmYXVsdC1tb2RlbCI+XHU5RUQ4XHU4QkE0XHU2QTIxXHU1NzhCPC9sYWJlbD48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24iPjxzZWxlY3QgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgZmllbGQtc2VsZWN0Ij48b3B0aW9uIHZhbHVlPSIiPlx1OERERlx1OTY4RiBDbGF1ZGUgQ29kZSBcdTlFRDhcdThCQTQ8L29wdGlvbj48L3NlbGVjdD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2giIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiPlx1NTIzN1x1NjVCMDwvYnV0dG9uPjwvZGl2PjxwIGNsYXNzPSJmaWVsZC1oaW50IiBpZD0iY2ZnLWRlZmF1bHQtbW9kZWwtdmVyc2lvbiI+XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU2NUY2XHU5RUQ4XHU4QkE0XHU0RjdGXHU3NTI4XHU4QkU1XHU2QTIxXHU1NzhCXHVGRjFCXHU4RkQwXHU4ODRDXHU0RTJEXHU3Njg0XHU0RjFBXHU4QkREXHU1M0VGXHU1NzI4XHU4RjkzXHU1MTY1XHU2ODQ2XHU1MjA3XHU2MzYyXHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1jd2QiPlx1OUVEOFx1OEJBNFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvbGFiZWw+PGlucHV0IGlkPSJjZmctY3dkIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIvaG9tZS91c2VyIiAvPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1zaGVsbCI+U2hlbGw8L2xhYmVsPjxpbnB1dCBpZD0iY2ZnLXNoZWxsIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIvYmluL2Jhc2giIC8+PC9kaXY+JysodHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXRBcHBJY29uPT0iZnVuY3Rpb24iPyc8ZGl2IGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1ibG9jayI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooInBhbGV0dGUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5cdTVFOTRcdTc1MjhcdTU2RkVcdTY4MDc8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU5MDA5XHU2MkU5IEFwcCBcdTU0MkZcdTUyQThcdTU2NjhcdTU2RkVcdTY4MDdcdUZGMENcdThGRDRcdTU2REVcdTY4NENcdTk3NjJcdTU0MEVcdTc1MUZcdTY1NDg8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXBwLWljb24tcGlja2VyIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tcGlja2VyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIgZGF0YS1pY29uPSJzaG9ydGhhaXIiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1wcmV2aWV3Ij4nK21pLnVzZXIrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tbGFiZWwiPlx1OEQ1Qlx1NTM1QVx1ODY0RVx1NTk5RTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIgZGF0YS1pY29uPSJnYXJmaWVsZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLXByZXZpZXciPicrbWkuYXNzaXN0YW50Kyc8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLWxhYmVsIj5cdTUyRTRcdTUyQjNcdTUyMURcdTRFOEM8L3NwYW4+PC9idXR0b24+PC9kaXY+PHAgaWQ9ImFwcC1pY29uLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2Pic6IiIpKyc8ZGl2IGNsYXNzPSJzZXR0aW5ncy1hY3Rpb25zIHNldHRpbmdzLWFjdGlvbnMtc3RpY2t5Ij48YnV0dG9uIGlkPSJzYXZlLWNvbmZpZy1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTRGRERcdTVCNThcdTkxNERcdTdGNkU8L2J1dHRvbj48L2Rpdj48cCBpZD0iY29uZmlnLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiBzZXR0aW5ncy1zdGF0dXMtbWVzc2FnZSI+PC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLXNlY3VyaXR5IiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTVCODlcdTUxNjg8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTdCQTFcdTc0MDZcdTc2N0JcdTVGNTVcdTVCQzZcdTc4MDFcdTRFMEUgU1NMIFx1OEJDMVx1NEU2Nlx1RkYwQ1x1NjU0Rlx1NjExRlx1NTNEOFx1NjZGNFx1OEJGN1x1Nzg2RVx1OEJBNFx1NTQwRVx1NTE4RFx1NEZERFx1NUI1OFx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iPlx1ezFGNTEyfTwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5cdTRGRUVcdTY1MzlcdTVCQzZcdTc4MDE8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiPlx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYxQlx1NEZERFx1NUI1OFx1NTQwRVx1NEUwQlx1NkIyMVx1NzY3Qlx1NUY1NVx1NzUxRlx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48Zm9ybSBpZD0iY2hhbmdlLXBhc3N3b3JkLWZvcm0iIGF1dG9jb21wbGV0ZT0ib24iIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiIHZhbHVlPSJ3YW5kIiB0YWJpbmRleD0iLTEiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lIiByZWFkb25seSAvPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9Im5ldy1wYXNzd29yZCI+XHU2NUIwXHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9Im5ldy1wYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NjVCMFx1NUJDNlx1NzgwMVx1RkYwOFx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYwOSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY29uZmlybS1wYXNzd29yZCI+XHU3ODZFXHU4QkE0XHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9ImNvbmZpcm0tcGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTUxOERcdTZCMjFcdThGOTNcdTUxNjVcdTY1QjBcdTVCQzZcdTc4MDEiIGF1dG9jb21wbGV0ZT0ibmV3LXBhc3N3b3JkIiAvPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ic2F2ZS1wYXNzd29yZC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCI+XHU0RkREXHU1QjU4XHU1QkM2XHU3ODAxPC9idXR0b24+PC9kaXY+PHAgaWQ9InNldHRpbmdzLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48cCBpZD0ic2V0dGluZ3Mtc3VjY2VzcyIgY2xhc3M9ImhpbnQgc2V0dGluZ3Mtc3VjY2Vzcy1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iPlx1ezFGNTEwfTwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5TU0wgXHU4QkMxXHU0RTY2PC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtY2FyZC1kZXNjIiBpZD0iY2VydC1zdGF0dXMiPlx1NTJBMFx1OEY3RFx1NEUyRC4uLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZXJ0LWtleS1maWxlIj5cdTc5QzFcdTk0QTVcdTY1ODdcdTRFRjYgKC5rZXkpPC9sYWJlbD48ZGl2IGNsYXNzPSJmaWxlLXBpY2tlciI+PGlucHV0IGlkPSJjZXJ0LWtleS1maWxlIiB0eXBlPSJmaWxlIiBjbGFzcz0iZmlsZS1waWNrZXItaW5wdXQiIGFjY2VwdD0iLmtleSwucGVtIiAvPjxsYWJlbCBmb3I9ImNlcnQta2V5LWZpbGUiIGNsYXNzPSJmaWxlLXBpY2tlci10cmlnZ2VyIj48c3ZnIGNsYXNzPSJmaWxlLXBpY2tlci1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0yMS40NCAxMS4wNWwtOS4xOSA5LjE5YTYgNiAwIDAgMS04LjQ5LTguNDlsOS4xOS05LjE5YTQgNCAwIDAgMSA1LjY2IDUuNjZsLTkuMiA5LjE5YTIgMiAwIDAgMS0yLjgzLTIuODNsOC40OS04LjQ4Ij48L3BhdGg+PC9zdmc+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLWxhYmVsIj5cdTkwMDlcdTYyRTlcdTc5QzFcdTk0QTU8L3NwYW4+PC9sYWJlbD48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbmFtZSIgZGF0YS1kZWZhdWx0PSJcdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjYiPlx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZXJ0LWNlcnQtZmlsZSI+XHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2ICguY3J0Ly5wZW0pPC9sYWJlbD48ZGl2IGNsYXNzPSJmaWxlLXBpY2tlciI+PGlucHV0IGlkPSJjZXJ0LWNlcnQtZmlsZSIgdHlwZT0iZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLWlucHV0IiBhY2NlcHQ9Ii5jcnQsLnBlbSwuY2VydCIgLz48bGFiZWwgZm9yPSJjZXJ0LWNlcnQtZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLXRyaWdnZXIiPjxzdmcgY2xhc3M9ImZpbGUtcGlja2VyLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjE0IDIgMTQgOCAyMCA4Ij48L3BvbHlsaW5lPjwvc3ZnPjxzcGFuIGNsYXNzPSJmaWxlLXBpY2tlci1sYWJlbCI+XHU5MDA5XHU2MkU5XHU4QkMxXHU0RTY2PC9zcGFuPjwvbGFiZWw+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLW5hbWUiIGRhdGEtZGVmYXVsdD0iXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2Ij5cdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjY8L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY2FyZC1hY3Rpb25zIj48YnV0dG9uIGlkPSJ1cGxvYWQtY2VydC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlx1NEUwQVx1NEYyMFx1OEJDMVx1NEU2NjwvYnV0dG9uPjwvZGl2PjxwIGlkPSJjZXJ0LW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLXByZXNldHMiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1NUY1M1x1NTI0RFx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRVx1NEVDRSBjb25maWcuanNvbiBcdThCRkJcdTUzRDZcdUZGMENcdTUzRUZcdTU3MjhcdThGRDlcdTkxQ0NcdTVGRUJcdTkwMUZcdTY3RTVcdTc3MEJcdTVERjJcdTY3MDlcdTkxNERcdTdGNkVcdTMwMDI8L3A+PC9kaXY+PGRpdiBpZD0icHJlc2V0cy1saXN0IiBjbGFzcz0icHJlc2V0cy1saXN0Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1kaXNwbGF5IiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTY2M0VcdTc5M0E8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTYzQTdcdTUyMzZcdTgwNEFcdTU5MjlcdTg5QzZcdTU2RkVcdTkxQ0NcdTRFMERcdTU0MENcdTUzNjFcdTcyNDdcdTdDN0JcdTU3OEJcdTc2ODRcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDFcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi10aXRsZSI+XHU1MzYxXHU3MjQ3XHU5RUQ4XHU4QkE0XHU1QzU1XHU1RjAwXHU3MkI2XHU2MDAxPC9kaXY+PHAgY2xhc3M9ImhpbnQgc2V0dGluZ3MtaW5saW5lLWhpbnQiPlx1OEJCRVx1N0Y2RVx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1ODlDNlx1NTZGRVx1NEUyRFx1NTQwNFx1N0M3Qlx1NTM2MVx1NzI0N1x1NzY4NFx1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMC9cdTYyOThcdTUzRTBcdTcyQjZcdTYwMDFcdTMwMDJcdTYyNEJcdTUyQThcdTY0Q0RcdTRGNUNcdTc2ODRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDFcdTRGMThcdTUxNDhcdTRFOEVcdTZCNjRcdTlFRDhcdThCQTRcdThCQkVcdTdGNkVcdTMwMDI8L3A+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtbGlzdCI+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC1lZGl0Ij48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU3RjE2XHU4RjkxXHU1MzYxXHU3MjQ3IChFZGl0L1dyaXRlKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLWVkaXQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPlx1NjU4N1x1NEVGNlx1N0YxNlx1OEY5MVx1NTQ4Q1x1NTE5OVx1NTE2NVx1NjRDRFx1NEY1Q1x1NzY4NCBkaWZmIFx1ODlDNlx1NTZGRTwvZGl2PjwvbGFiZWw+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC1pbmxpbmUiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTUxODVcdTgwNTRcdTVERTVcdTUxNzcgKFJlYWQvR2xvYi9HcmVwKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLWlubGluZSIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU2NTg3XHU0RUY2XHU4QkZCXHU1M0Q2XHUzMDAxXHU2NDFDXHU3RDIyXHU3QjQ5XHU1REU1XHU1MTc3XHU3Njg0XHU3RUQzXHU2NzlDPC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLXRlcm1pbmFsIj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU3RUM4XHU3QUVGXHU4RjkzXHU1MUZBIChCYXNoKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRlcm1pbmFsIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdTU0N0RcdTRFRTRcdTg4NENcdTYyNjdcdTg4NENcdTdFRDNcdTY3OUM8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdGhpbmtpbmciPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTYwMURcdTgwMDNcdThGQzdcdTdBMEIgKFRoaW5raW5nKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRoaW5raW5nIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5DbGF1ZGUgXHU3Njg0XHU2MDFEXHU4MDAzXHU4RkM3XHU3QTBCXHU1NzU3PC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLXRvb2xncm91cCI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NURFNVx1NTE3N1x1N0VDNDwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRvb2xncm91cCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU4RkRFXHU3RUVEXHU1NDBDXHU3QzdCXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU3Njg0XHU2Mjk4XHU1M0UwXHU3RUM0PC9kaXY+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hY3Rpb25zIHNldHRpbmdzLWFjdGlvbnMtc3RpY2t5Ij48YnV0dG9uIGlkPSJzYXZlLWRpc3BsYXktYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU0RkREXHU1QjU4XHU2NjNFXHU3OTNBXHU4QkJFXHU3RjZFPC9idXR0b24+PC9kaXY+PHAgaWQ9ImRpc3BsYXktbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIHNldHRpbmdzLXN0YXR1cy1tZXNzYWdlIj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPid9ZnVuY3Rpb24gU20oZSl7dmFyIHQ9SmUoKTtyZXR1cm4gZS5zZWxlY3RlZElkPyIiOic8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3QiIGlkPSJmb2xkZXItcGlja2VyLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1jb21wYWN0LXJvdyI+PHNwYW4gY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdC1pY29uIj4nK0ooImZvbGRlciIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZvbGRlci1waWNrZXItaW5wdXQiIGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXQiIHZhbHVlPSInK3AodCkrJyIgcGxhY2Vob2xkZXI9Ilx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJmb2xkZXItcGlja2VyLXRvZ2dsZSIgY2xhc3M9ImZvbGRlci1waWNrZXItdG9nZ2xlIiB0aXRsZT0iXHU5MDA5XHU2MkU5XHU3NkVFXHU1RjU1IiBhcmlhLWxhYmVsPSJcdTkwMDlcdTYyRTlcdTc2RUVcdTVGNTUiPicrSigiY2hldnJvbkRvd24iLHtzaXplOjExLHN0cm9rZVdpZHRoOjJ9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iZm9sZGVyLXBpY2tlci1kcm9wZG93biIgY2xhc3M9ImZvbGRlci1waWNrZXItZHJvcGRvd24gaGlkZGVuIj48ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLXJvdyI+PGJ1dHRvbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1idG4iIGRhdGEtcGF0aD0iL3RtcCI+XHU0RTM0XHU2NUY2PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1idG4iIGRhdGEtcGF0aD0iLyI+XHU2ODM5XHU3NkVFXHU1RjU1PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIiBjbGFzcz0iZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIj48L2Rpdj48L2Rpdj4nfWZ1bmN0aW9uIEltKGUpe3ZhciB0PUplKCkscj10O2lmKGUuc2VsZWN0ZWRJZCl7dmFyIGk9ZS5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09ZS5zZWxlY3RlZElkfSk7cj1pJiZpLmN3ZD9pLmN3ZDp0fXZhciBhPXI7cmV0dXJuIGEubGVuZ3RoPjI4JiYoYT0iLi4uIithLnNsaWNlKC0yNSkpLCc8ZGl2IGNsYXNzPSJ3b3JraW5nLWRpci1pbmRpY2F0b3IiIGlkPSJ3b3JraW5nLWRpci1pbmRpY2F0b3IiIHRpdGxlPSInK3AocikrJyIgZGF0YS1wYXRoPSInK3AocikrJyI+PHNwYW4gY2xhc3M9IndvcmtpbmctZGlyLWluZGljYXRvci1pY29uIj4nK0ooImZvbGRlciIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0id29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGgiPicrcChhKSsiPC9zcGFuPjwvZGl2PiJ9ZnVuY3Rpb24gUHUoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5ub3coKSxyPW5ldyBEYXRlKGUpLmdldFRpbWUoKSxpPU1hdGgubWF4KDAsdC1yKSxhPU1hdGguZmxvb3IoaS8xZTMpO2lmKGE8NjApcmV0dXJuIlx1NTIxQVx1NTIxQSI7dmFyIHU9TWF0aC5mbG9vcihhLzYwKTtpZih1PDYwKXJldHVybiB1KyJcdTUyMDZcdTk0OUZcdTUyNEQiO3ZhciBzPU1hdGguZmxvb3IodS82MCk7aWYoczwyNClyZXR1cm4gcysiXHU1QzBGXHU2NUY2XHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHMvMjQpO3JldHVybiBvPDMwP28rIlx1NTkyOVx1NTI0RCI6TWF0aC5mbG9vcihvLzMwKSsiXHU0RTJBXHU2NzA4XHU1MjREIn1mdW5jdGlvbiBIdShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1EYXRlLm5vdygpLHI9bmV3IERhdGUoZSkuZ2V0VGltZSgpLGk9TWF0aC5tYXgoMCx0LXIpLGE9TWF0aC5mbG9vcihpLzFlMyksdT1NYXRoLmZsb29yKGEvNjApLHM9TWF0aC5mbG9vcih1LzYwKTtyZXR1cm4gcz4wP3MrImgiKyh1JTYwPjA/dSU2MCsibSI6IiIpOnU+MD91KyJtIjphKyJzIn1mdW5jdGlvbiBvcihlKXtpZighZSlyZXR1cm4iIjtpZihlLmFyY2hpdmVkKXJldHVybiJcdTVERjJcdTVGNTJcdTY4NjMiO2lmKGUucGVybWlzc2lvbkJsb2NrZWQpcmV0dXJuIlx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0MyI7aWYob2UoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodClyZXR1cm4iXHU2MDFEXHU4MDAzXHU0RTJEIjt2YXIgdD17aWRsZToiXHU3QTdBXHU5NUYyIixzdG9wcGVkOiJcdTVERjJcdTUwNUNcdTZCNjIiLHJ1bm5pbmc6Ilx1OEZEMFx1ODg0Q1x1NEUyRCIsZXhpdGVkOiJcdTVERjJcdTkwMDBcdTUxRkEiLGZhaWxlZDoiXHU1REYyXHU1OTMxXHU4RDI1In07cmV0dXJuIHRbZS5zdGF0dXNdfHxlLnN0YXR1c31mdW5jdGlvbiBfdShlKXtyZXR1cm4gZT9lLmFyY2hpdmVkPyJhcmNoaXZlZCI6ZS5wZXJtaXNzaW9uQmxvY2tlZD8icGVybWlzc2lvbi1ibG9ja2VkIjpvZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0PyJydW5uaW5nIjplLnN0YXR1c3x8IiI6IiJ9ZnVuY3Rpb24gbWMoZSl7cmV0dXJuIGU/ZS5wZXJtaXNzaW9uQmxvY2tlZD8iXHU3QjQ5XHU1Rjg1XHU0RjYwXHU3Njg0XHU2Mzg4XHU2NzQzIjplLnN0YXR1cyE9PSJydW5uaW5nIj8iIjplLmlkPT09bi5zZWxlY3RlZElkJiZuLmN1cnJlbnRUYXNrJiZuLmN1cnJlbnRUYXNrLnRpdGxlP24uY3VycmVudFRhc2sudGl0bGU6ZS5jdXJyZW50VGFza1RpdGxlP2UuY3VycmVudFRhc2tUaXRsZToiIjoiIn1mdW5jdGlvbiBnYyhlKXt2YXIgdD1lJiZlLm1lc3NhZ2VzO2lmKCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciByPXQubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPXRbcl07aWYoISghaXx8aS5yb2xlIT09InVzZXIiKSl7dmFyIGE9aS5jb250ZW50O2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIHU9YS50cmltKCk7aWYodSlyZXR1cm4gdTtjb250aW51ZX1pZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbz1hW3NdO2lmKCEoIW98fG8udHlwZSE9PSJ0ZXh0Inx8IW8udGV4dCkmJiFvLl9fcXVldWVkKXt2YXIgbD1TdHJpbmcoby50ZXh0KS50cmltKCk7aWYobClyZXR1cm4gbH19fX1yZXR1cm4iIn1mdW5jdGlvbiBoYyhlKXt2YXIgdD1lJiZlLm1lc3NhZ2VzO2lmKCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciByPXQubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPXRbcl07aWYoaS5yb2xlPT09ImFzc2lzdGFudCIpe2Zvcih2YXIgYT1pLmNvbnRlbnR8fFtdLHU9MDt1PGEubGVuZ3RoO3UrKylpZihhW3VdLnR5cGU9PT0idGV4dCImJmFbdV0udGV4dCYmYVt1XS50ZXh0LnRyaW0oKSl7dmFyIHM9YVt1XS50ZXh0LnRyaW0oKTtzPXMucmVwbGFjZSgvXiMrXHMrL2dtLCIiKS5yZXBsYWNlKC9cKlwqL2csIiIpLnJlcGxhY2UoL2AvZywiIik7dmFyIG89cy5zcGxpdChgCmApWzBdLnRyaW0oKTtyZXR1cm4gby5zbGljZSgwLDEwMCl9fX1yZXR1cm4iIn1mdW5jdGlvbiBSaShlLHQpe3ZhciByPWUuaWQ9PT1uLnNlbGVjdGVkSWQ/IiBhY3RpdmUiOiIiLGk9bi5zZXNzaW9uc01hbmFnZU1vZGUmJm4uc2VsZWN0ZWRTZXNzaW9uSWRzW2UuaWRdPyIgc2VsZWN0ZWQiOiIiLGE9b3IoZSksdT1fdShlKSxzPSIiLG89SnUoInNlc3Npb25zIixlLmlkLCJcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQgIitlLmNvbW1hbmQpO2lmKChlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5jbGF1ZGVTZXNzaW9uSWQmJmUuc3RhdHVzIT09InJ1bm5pbmciJiYhbi5zZXNzaW9uc01hbmFnZU1vZGUmJiFvZShlKSl7dmFyIGw9ZS5wcm92aWRlcj09PSJjb2RleCI/Ilx1NjA2Mlx1NTkwRCBDb2RleCBcdTRGMUFcdThCREQiOiJcdTYwNjJcdTU5MEQgQ2xhdWRlIFx1NEYxQVx1OEJERCI7cz0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIiBkYXRhLWFjdGlvbj0icmVzdW1lIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IicrbCsnIiB0aXRsZT0iJytsKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEgNHY2aDYiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxMDUuNjQtMTEuMzZMMyAxMCIvPjwvc3ZnPjwvYnV0dG9uPid9dmFyIGM9IW4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiZlLndvcmt0cmVlRW5hYmxlZCYmZS53b3JrdHJlZSYmZS53b3JrdHJlZS5icmFuY2gmJmUud29ya3RyZWUucGF0aCxkPWUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnZWQiJiZlLndvcmt0cmVlTWVyZ2VJbmZvJiZlLndvcmt0cmVlTWVyZ2VJbmZvLmNsZWFudXBEb25lPT09ITEsZj1lLnN0YXR1cz09PSJydW5uaW5nInx8ZS53b3JrdHJlZU1lcmdlU3RhdHVzPT09Im1lcmdpbmciLHY9ZD8iXHU5MUNEXHU4QkQ1XHU2RTA1XHU3NDA2IHdvcmt0cmVlIjoiXHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGIixtPWMmJmUud29ya3RyZWVNZXJnZVN0YXR1cyE9PSJtZXJnZWQiPyc8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gbWVyZ2UtYnRuIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtbWVyZ2UiIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iJytwKHYpKyciIHRpdGxlPSInK3AodikrJyInKyhmPyIgZGlzYWJsZWQiOiIiKSsnPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgN2gxMCIvPjxwYXRoIGQ9Ik03IDEyaDEwIi8+PHBhdGggZD0iTTcgMTdoMTAiLz48cGF0aCBkPSJNNSA3bC0yIDIgMiAyIi8+PHBhdGggZD0iTTE5IDE1bDIgMi0yIDIiLz48L3N2Zz48L2J1dHRvbj4nOmQ/JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBtZXJnZS1idG4iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1jbGVhbnVwIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSIgdGl0bGU9Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA2aDE4Ii8+PHBhdGggZD0iTTggNlY0YTIgMiAwIDAxMi0yaDRhMiAyIDAgMDEyIDJ2MiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDE0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMkw1IDYiLz48L3N2Zz48L2J1dHRvbj4nOiIiLGI9bi5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBkZWxldGUtYnRuIiBkYXRhLWFjdGlvbj0iZGVsZXRlLXNlc3Npb24iIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIiB0aXRsZT0iXHU1MjIwXHU5NjY0XHU2QjY0XHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjwvYnV0dG9uPicsZz0nPHNwYW4gY2xhc3M9InNlc3Npb24tYWN0aW9ucyI+JytzK20rYisiPC9zcGFuPiIseT1lLnN1bW1hcnk/JzxkaXYgY2xhc3M9InNlc3Npb24tdGl0bGUiPicrcChlLnN1bW1hcnkpKyI8L2Rpdj4iOic8ZGl2IGNsYXNzPSJzZXNzaW9uLWNvbW1hbmQiPicrcChlLnJlc3VtZWRGcm9tU2Vzc2lvbklkP2UuY29tbWFuZC5yZXBsYWNlKC9ccystLXJlc3VtZVxzK1xTKy8sIiIpLnJlcGxhY2UoL1xzK3Jlc3VtZVxzK1swLTlhLWYtXSsvLCIiKTplLmNvbW1hbmQpKyI8L2Rpdj4iLHc9bWMoZSksRj0iIjtlLnN0YXR1cz09PSJydW5uaW5nIiYmdyYmKEY9JzxkaXYgY2xhc3M9InNlc3Npb24tYWN0aXZpdHkiPicrcCh3KSsiPC9kaXY+Iik7dmFyIEU9IiI7ZS5zdGF0dXM9PT0icnVubmluZyI/RT0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9Ilx1NURGMlx1OEZEMFx1ODg0QyAnK3AoSHUoZS5zdGFydGVkQXQpKSsnIj4nK3AoSHUoZS5zdGFydGVkQXQpKSsiPC9zcGFuPiI6ZS5lbmRlZEF0P0U9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSInK3AobmV3IERhdGUoZS5lbmRlZEF0KS50b0xvY2FsZVN0cmluZygpKSsnIj4nK3AoUHUoZS5lbmRlZEF0KSkrIjwvc3Bhbj4iOmUuc3RhcnRlZEF0JiYoRT0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9IicrcChuZXcgRGF0ZShlLnN0YXJ0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKSkrJyI+JytwKFB1KGUuc3RhcnRlZEF0KSkrIjwvc3Bhbj4iKTt2YXIgQT1qdShlKSx4PWUuYXV0b1JlY292ZXJlZD8nPHNwYW4gY2xhc3M9InNlc3Npb24tcmVjb3ZlcnktaGludCI+XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEPC9zcGFuPic6IiI7cmV0dXJuJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbScrcitpKyciIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tcm93Ij4nK28rJzxkaXYgY2xhc3M9InNlc3Npb24tbWFpbiI+PGRpdiBjbGFzcz0ic2Vzc2lvbi10aXRsZS1yb3ciPicreStFKyI8L2Rpdj4iK0YrJzxkaXYgY2xhc3M9InNlc3Npb24tbWV0YSI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzICcrdSsnIj4nK3AoYSkrIjwvc3Bhbj4iK0EreCsiPC9kaXY+PC9kaXY+IitnKyI8L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIHljKGUpe2lmKCFlfHwhZS53b3JrdHJlZU1lcmdlU3RhdHVzKXJldHVybiIiO3ZhciB0PXtyZWFkeToiXHU1M0VGXHU1NDA4XHU1RTc2IixjaGVja2luZzoiXHU2OEMwXHU2N0U1XHU0RTJEIixtZXJnaW5nOiJcdTU0MDhcdTVFNzZcdTRFMkQiLG1lcmdlZDplLndvcmt0cmVlTWVyZ2VJbmZvJiZlLndvcmt0cmVlTWVyZ2VJbmZvLmNsZWFudXBEb25lPT09ITE/Ilx1NURGMlx1NTQwOFx1NUU3Nlx1NUY4NVx1NkUwNVx1NzQwNiI6Ilx1NURGMlx1NTQwOFx1NUU3NiIsZmFpbGVkOiJcdTU0MDhcdTVFNzZcdTU5MzFcdThEMjUifTtyZXR1cm4gdFtlLndvcmt0cmVlTWVyZ2VTdGF0dXNdfHwiIn1mdW5jdGlvbiBiYyhlKXt2YXIgdD15YyhlKTtyZXR1cm4gdD8nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSB3b3JrdHJlZS1tZXJnZSAnK3AoZS53b3JrdHJlZU1lcmdlU3RhdHVzfHwiIikrJyI+JytwKHQpKyI8L3NwYW4+IjoiIn1mdW5jdGlvbiBqdShlKXtpZighZXx8IWUud29ya3RyZWVFbmFibGVkKXJldHVybiIiO3ZhciB0PVtdO2Uud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZ0LnB1c2goIldvcmt0cmVlOiAiK2Uud29ya3RyZWUuYnJhbmNoKSxlLndvcmt0cmVlJiZlLndvcmt0cmVlLnBhdGgmJnQucHVzaCgiUGF0aDogIitlLndvcmt0cmVlLnBhdGgpO3ZhciByPXQubGVuZ3RoPjA/JyB0aXRsZT0iJytwKHQuam9pbihgCmApKSsnIic6IiI7cmV0dXJuJzxzcGFuIGNsYXNzPSJzZXNzaW9uLWtpbmQtYmFkZ2Ugd29ya3RyZWUiJytyKyI+V29ya3RyZWU8L3NwYW4+IitiYyhlKX1mdW5jdGlvbiBUbShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1vZShlKT8nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSBzdHJ1Y3R1cmVkIj5TdHJ1Y3R1cmVkPC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLWtpbmQtYmFkZ2UgcHR5Ij5QVFk8L3NwYW4+JztyZXR1cm4gdCtqdShlKX1mdW5jdGlvbiBFYyhlKXt2YXIgdD1be2lkOiJtYW5hZ2VkIixsYWJlbDoiXHU2MjU4XHU3QkExIixkZXNjOiJcdTUxNjhcdTgxRUFcdTUyQThcdTVCOENcdTYyMTBcdTRFRkJcdTUyQTEifSx7aWQ6ImZ1bGwtYWNjZXNzIixsYWJlbDoiXHU1MTY4XHU2NzQzXHU5NjUwIixkZXNjOiJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTY3NDNcdTk2NTAifSx7aWQ6ImF1dG8tZWRpdCIsbGFiZWw6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSIsZGVzYzoiXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU0RkVFXHU2NTM5In0se2lkOiJkZWZhdWx0IixsYWJlbDoiXHU2ODA3XHU1MUM2IixkZXNjOiJcdTkwMTBcdTZCNjVcdTc4NkVcdThCQTRcdTY0Q0RcdTRGNUMifSx7aWQ6Im5hdGl2ZSIsbGFiZWw6Ilx1NTM5Rlx1NzUxRiIsZGVzYzoiXHU1MzlGXHU3NTFGXHU3RUQzXHU2Nzg0XHU1MzE2XHU4RjkzXHU1MUZBIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihyKXt2YXIgaT1yLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkJytpKyciIGRhdGEtbW9kZT0iJytyLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrci5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytyLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gRmMoZSl7dmFyIHQ9W3tpZDoiY2xhdWRlIixsYWJlbDoiQ2xhdWRlIixkZXNjOiJcdTVCOENcdTY1NzQgQ2xhdWRlIFx1NEYxQVx1OEJERFx1ODBGRFx1NTI5QiJ9LHtpZDoiY29kZXgiLGxhYmVsOiJDb2RleCIsZGVzYzoiXHU3RUQzXHU2Nzg0XHU1MzE2IEpTT05MIFx1NjIxNiBQVFkgXHU0RjFBXHU4QkREIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihyKXt2YXIgaT1yLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHByb3ZpZGVyLWNhcmQnK2krJyIgZGF0YS1wcm92aWRlcj0iJytyLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrci5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytyLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gd2MoZSl7dmFyIHQ9W3tpZDoic3RydWN0dXJlZCIsbGFiZWw6Ilx1N0VEM1x1Njc4NFx1NTMxNiIsZGVzYzoiXHU2NjdBXHU4MEZEXHU1QkY5XHU4QkREXHU2QTIxXHU1RjBGIn0se2lkOiJwdHkiLGxhYmVsOiJQVFkiLGRlc2M6Ilx1NEVBNFx1NEU5Mlx1NUYwRlx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERCJ9XTtyZXR1cm4gdC5tYXAoZnVuY3Rpb24ocil7dmFyIGk9ci5pZD09PWU/IiBhY3RpdmUiOiIiLGE9IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHNlc3Npb24ta2luZC1jYXJkJytpK2ErJyIgZGF0YS1zZXNzaW9uLWtpbmQ9Iicrci5pZCsnIj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWxhYmVsIj4nK3IubGFiZWwrJzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWRlc2MiPicrci5kZXNjKyI8L3NwYW4+PC9idXR0b24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIExtKGUpe3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZSIgZm9yPSJzZXNzaW9uLXdvcmt0cmVlLXRvZ2dsZSIgdGl0bGU9Ilx1NEUzQVx1OEJFNVx1NEYxQVx1OEJERFx1NTIxQlx1NUVGQVx1NzJFQ1x1N0FDQlx1NzY4NCBnaXQgd29ya3RyZWUgXHU1MjA2XHU2NTJGIj48c3ZnIGNsYXNzPSJzZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTgiIHI9IjIuMiIvPjxwYXRoIGQ9Ik02IDguMnYzLjRhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWOC4yIi8+PHBhdGggZD0iTTEyIDEzLjZ2Mi4yIi8+PC9zdmc+PHNwYW4gY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZS1sYWJlbCI+V29ya3RyZWUgXHU2QTIxXHU1RjBGPC9zcGFuPjxpbnB1dCBpZD0ic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSInKyhlPyIgY2hlY2tlZCI6IiIpKycgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gTnUoZSl7dmFyIHQ9bi5zZXNzaW9uVG9vbHx8ImNsYXVkZSI7cmV0dXJuIGU9PT0ic3RydWN0dXJlZCI/dD09PSJjb2RleCI/IkNvZGV4IEpTT05MIFx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6Ilx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1MzAwMVx1NkQ0MVx1NUYwRlx1OEY5M1x1NTFGQVx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6dD09PSJjb2RleCI/IkNvZGV4IFBUWSBcdTdFQzhcdTdBRUZcdTRGMUFcdThCRERcdUZGMUJ0ZXJtaW5hbCBcdTY2MkZcdTUzOUZcdTU5Q0JcdThGOTNcdTUxRkFcdUZGMENjaGF0IFx1NjYyRlx1ODlFM1x1Njc5MFx1NTQwRVx1NzY4NFx1OTYwNVx1OEJGQlx1ODlDNlx1NTZGRVx1MzAwMiI6Ilx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHVGRjBDXHU2NTJGXHU2MzAxXHU2MzAxXHU3RUVEXHU0RUE0XHU0RTkyXHUzMDAxXHU3RUM4XHU3QUVGXHU4OUM2XHU1NkZFXHU1NDhDXHU2NzQzXHU5NjUwXHU2RDQxXHUzMDAyIn1mdW5jdGlvbiBDYygpe3ZhciBlPXZ0KCksdD1OdChlLG4ubW9kZVZhbHVlfHxuLmNoYXRNb2RlfHwiZGVmYXVsdCIpLHI9bi5zZXNzaW9uQ3JlYXRlS2luZHx8InN0cnVjdHVyZWQiLGk9bi5zZXNzaW9uQ3JlYXRlV29ya3RyZWU9PT0hMDtyZXR1cm4nPHNlY3Rpb24gaWQ9InNlc3Npb24tbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHNlc3Npb24tbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTY1QjBcdTVCRjlcdThCREQ8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+XHU1NDJGXHU1MkE4IENsYXVkZSBcdTYyMTYgQ29kZXggXHU0RjFBXHU4QkREXHVGRjBDXHU5MDA5XHU2MkU5IHByb3ZpZGVyXHUzMDAxXHU0RjFBXHU4QkREXHU3QzdCXHU1NzhCXHUzMDAxXHU2QTIxXHU1RjBGXHU1NDhDXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLW1vZGFsLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIj5Qcm92aWRlcjwvbGFiZWw+PGRpdiBpZD0icHJvdmlkZXItY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK0ZjKGUpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCI+XHU0RjFBXHU4QkREXHU3QzdCXHU1NzhCPC9sYWJlbD48ZGl2IGlkPSJzZXNzaW9uLWtpbmQtY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK3djKHIpKyc8L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1oaW50IHNlc3Npb24ta2luZC1oaW50LXJvdyI+PHNwYW4gaWQ9InNlc3Npb24ta2luZC1kZXNjcmlwdGlvbiI+JytwKE51KHIpKSsnPC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIj5cdTZBMjFcdTVGMEY8L2xhYmVsPjxkaXYgaWQ9Im1vZGUtY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK0VjKHQpKyc8L2Rpdj48cCBpZD0ibW9kZS1kZXNjcmlwdGlvbiIgY2xhc3M9ImZpZWxkLWhpbnQiPicrcChMbyhlLHQpKSsnPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImN3ZCI+XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9sYWJlbD48ZGl2IGNsYXNzPSJzdWdnZXN0aW9ucy13cmFwIj48aW5wdXQgaWQ9ImN3ZCIgdHlwZT0idGV4dCIgY2xhc3M9ImZpZWxkLWlucHV0IiBhdXRvY29tcGxldGU9Im9mZiIgcGxhY2Vob2xkZXI9IicrcChKZSgpKSsnIiAvPjxkaXYgaWQ9ImN3ZC1zdWdnZXN0aW9ucyIgY2xhc3M9InN1Z2dlc3Rpb25zIGhpZGRlbiI+PC9kaXY+PC9kaXY+PHAgY2xhc3M9ImZpZWxkLWhpbnQiPlx1NzU1OVx1N0E3QVx1NTIxOVx1NEY3Rlx1NzUyOFx1NEUwQVx1NjVCOVx1NzZFRVx1NUY1NVx1RkYwQ1x1NjUyRlx1NjMwMVx1OERFRlx1NUY4NFx1ODFFQVx1NTJBOFx1ODg2NVx1NTE2OFx1MzAwMjwvcD48ZGl2IGlkPSJyZWNlbnQtcGF0aHMtYnViYmxlcyIgY2xhc3M9InJlY2VudC1wYXRocy1idWJibGVzIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPjxidXR0b24gaWQ9InJ1bi1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTU0MkZcdTUyQThcdTRGMUFcdThCREQ8L2J1dHRvbj48cCBpZD0ibW9kYWwtZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4nfWZ1bmN0aW9uIFJ1KCl7dmFyIGU9RGF0ZS5ub3coKS04NjRlNSx0PVtdO3JldHVybiBuLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24ocil7aWYoIXIuYXJjaGl2ZWQpe3ZhciBpPXIuc3RhcnRlZEF0P25ldyBEYXRlKHIuc3RhcnRlZEF0KS5nZXRUaW1lKCk6MDt0LnB1c2goe2tpbmQ6InNlc3Npb24iLHJlZjpyLHQ6aXNGaW5pdGUoaSk/aTowfSl9fSksbi5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZQbigpLmZvckVhY2goZnVuY3Rpb24ocil7aWYoci50aW1lc3RhbXApe3ZhciBpPW5ldyBEYXRlKHIudGltZXN0YW1wKS5nZXRUaW1lKCk7IWlzRmluaXRlKGkpfHxpPD1lfHx0LnB1c2goe2tpbmQ6Imhpc3RvcnkiLHJlZjpyLHQ6aX0pfX0pLHQuc29ydChmdW5jdGlvbihyLGkpe3JldHVybiBpLnQtci50fSksdH1mdW5jdGlvbiBCYygpe3ZhciBlPW4uc2Vzc2lvbnMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLmFyY2hpdmVkfSksdD1bXTt0LnB1c2goV3UoKSk7dmFyIHI9UnUoKSxpPUljKCk7cmV0dXJuIHIubGVuZ3RoPjAmJnQucHVzaCh4YyhyKSksZS5sZW5ndGg+MCYmdC5wdXNoKEFjKGUpKSxyLmxlbmd0aD09PTAmJmUubGVuZ3RoPT09MCYmIWk/V3UoKSsnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU4RkQ4XHU2Q0ExXHU2NzA5XHU0RjFBXHU4QkREXHU4QkIwXHU1RjU1PC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2Pic6KGkmJnQucHVzaChpKSx0LmpvaW4oIiIpKX1mdW5jdGlvbiBEYygpe3JldHVybiEhbi5zaWRlYmFyUGlubmVkJiYhIW4uc2lkZWJhckNvbGxhcHNlZH1mdW5jdGlvbiBrYygpe3ZhciBlPVJ1KCksdD1lLm1hcChmdW5jdGlvbihpLGEpe3ZhciB1PWErMTtpZihpLmtpbmQ9PT0ic2Vzc2lvbiIpe3ZhciBzPWkucmVmLG89cy5pZD09PW4uc2VsZWN0ZWRJZD8iIGFjdGl2ZSI6IiIsbD1zLnN1bW1hcnl8fHMuY29tbWFuZHx8Ilx1NEYxQVx1OEJERCAiK3U7cmV0dXJuJzxidXR0b24gY2xhc3M9InNpZGViYXItY29sbGFwc2VkLXRpbGUnK28rJyIgdHlwZT0iYnV0dG9uIiBkYXRhLWNvbGxhcHNlZC1zZXNzaW9uLWlkPSInK3Aocy5pZCkrJyIgdGl0bGU9IicrcChsKSsnIj4nK3UrIjwvYnV0dG9uPiJ9dmFyIGM9aS5yZWYsZD1jLmZpcnN0VXNlck1lc3NhZ2V8fCIoXHU3QTdBXHU0RjFBXHU4QkREKSIsZj1kKyIgXHhCNyAiK1l1KGMudGltZXN0YW1wKTtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZSBoaXN0b3J5IiB0eXBlPSJidXR0b24iIGRhdGEtY29sbGFwc2VkLWhpc3RvcnktaWQ9IicrcChjLmNsYXVkZVNlc3Npb25JZCkrJyIgZGF0YS1jd2Q9IicrcChjLmN3ZHx8IiIpKyciIHRpdGxlPSInK3AoZikrJyI+Jyt1KyI8L2J1dHRvbj4ifSkuam9pbigiIikscj0nPGJ1dHRvbiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZSBhZGQiIHR5cGU9ImJ1dHRvbiIgZGF0YS1jb2xsYXBzZWQtbmV3LXNlc3Npb249IjEiIHRpdGxlPSJcdTY1QjBcdTVFRkFcdTRGMUFcdThCREQiIGFyaWEtbGFiZWw9Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSIvPjxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIi8+PC9zdmc+PC9idXR0b24+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZXMiPicrdCtyKyI8L2Rpdj4ifWZ1bmN0aW9uIFdpKCl7cmV0dXJuIERjKCk/a2MoKTpCYygpfWZ1bmN0aW9uIFd1KCl7aWYoIW4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1iYXIiPjxzcGFuIGNsYXNzPSJzaWRlYmFyLWludHJvIj5cdTY3MDBcdThGRDFcdTc2ODRcdTRGMUFcdThCRERcdThCQjBcdTVGNTU8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4teHMgc2Vzc2lvbi1tYW5hZ2UtdG9nZ2xlIiBkYXRhLWFjdGlvbj0idG9nZ2xlLW1hbmFnZS1tb2RlIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMTFsMyAzTDIyIDQiLz48cGF0aCBkPSJNMjEgMTJ2N2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTEiLz48L3N2Zz48c3Bhbj5cdTdCQTFcdTc0MDY8L3NwYW4+PC9idXR0b24+PC9kaXY+Jzt2YXIgZT16dSgpLmxlbmd0aCx0PVZ1KCkubGVuZ3RoLHI9ZSt0LGk9cj4wLGE9TWMoKSx1PWE+MCYmcj49YSxzPXU/Ilx1NTNENlx1NkQ4OFx1NTE2OFx1OTAwOSI6Ilx1NTE2OFx1OTAwOSIsbz11PyJjbGVhci1zZWxlY3Rpb24iOiJzZWxlY3QtYWxsLXZpc2libGUiLGw9YT09PTA/IiBkaXNhYmxlZCI6IiIsYz0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtZXhpdCIgZGF0YS1hY3Rpb249InRvZ2dsZS1tYW5hZ2UtbW9kZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj4nLGQ9aT8nPHNwYW4gY2xhc3M9InNlc3Npb24tbWFuYWdlLWNvdW50Ij4nK3IrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbCI+XHU1REYyXHU5MDA5XHU2MkU5PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIj5cdTkwMDlcdTYyRTlcdTg5ODFcdTdCQTFcdTc0MDZcdTc2ODRcdTk4NzlcdTc2RUU8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSI+JytjKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5Ij4nK2QrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWFuYWdlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiBkYXRhLWFjdGlvbj0iJytvKyciIHR5cGU9ImJ1dHRvbiInK2wrIj4iK3MrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIGJ0bi14cyIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZWxlY3RlZCIgdHlwZT0iYnV0dG9uIicrKGk/IiI6IiBkaXNhYmxlZCIpKyI+XHU1MjIwXHU5NjY0IisoaT8iICIrcjoiIikrIjwvYnV0dG9uPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gTW0oZSx0LHIpe3JldHVybic8c2VjdGlvbiBjbGFzcz0ic2Vzc2lvbi1ncm91cCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1ncm91cC10aXRsZSI+JytwKGUpKyI8L2Rpdj4iK3QubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBSaShpLHIpfSkuam9pbigiIikrIjwvc2VjdGlvbj4ifWZ1bmN0aW9uIEFjKGUpe3ZhciB0PSEhbi5hcmNoaXZlZEV4cGFuZGVkLHI9dD8iJiM5NjYyOyI6IiYjOTY1NjsiLGk9JzxkaXYgY2xhc3M9InNlc3Npb24tZ3JvdXAtdGl0bGUgY2xhdWRlLWhpc3RvcnktdG9nZ2xlIiBkYXRhLWFjdGlvbj0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JytyKyc8L3NwYW4+IFx1NURGMlx1NUY1Mlx1Njg2MyA8c3BhbiBjbGFzcz0iaGlzdG9yeS1jb3VudCI+JytlLmxlbmd0aCsiPC9zcGFuPjwvZGl2PiI7aWYoIXQpcmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIj4nK2krIjwvc2VjdGlvbj4iO3ZhciBhPWUubWFwKGZ1bmN0aW9uKHUpe3JldHVybiBSaSh1LCJzZXNzaW9ucyIpfSkuam9pbigiIik7cmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIj4nK2krYSsiPC9zZWN0aW9uPiJ9ZnVuY3Rpb24geGMoZSl7dmFyIHQ9JzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIHNlc3Npb24tZ3JvdXAtLXJlY2VudCI+JztyZXR1cm4gdCs9ZS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIua2luZD09PSJzZXNzaW9uIj9SaShyLnJlZiwic2Vzc2lvbnMiKTp6aShyLnJlZiwiaGlzdG9yeSIpfSkuam9pbigiIiksdCs9Ijwvc2VjdGlvbj4iLHR9ZnVuY3Rpb24gU2MoKXt2YXIgZT1EYXRlLm5vdygpLTg2NGU1O3JldHVybiBQbigpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hdC50aW1lc3RhbXB8fG5ldyBEYXRlKHQudGltZXN0YW1wKS5nZXRUaW1lKCk8PWV9KX1mdW5jdGlvbiBJYygpe3ZhciBlPVNjKCksdD0hIW4uY2xhdWRlSGlzdG9yeUxvYWRlZCxyPVdjKCksaT0hIW4uY29kZXhIaXN0b3J5TG9hZGVkLGE9dCYmaSx1PSh0P2UubGVuZ3RoOjApKyhpP3IubGVuZ3RoOjApO2lmKGEmJnU9PT0wKXJldHVybiIiO3ZhciBzPSEhbi5jbGF1ZGVIaXN0b3J5RXhwYW5kZWQsbz1zPyImIzk2NjI7IjoiJiM5NjU2OyIsbD1hP3U+OTk5PyI5OTkrIjpTdHJpbmcodSk6Ilx4QjdceEI3XHhCNyIsYz0nPGRpdiBjbGFzcz0ic2Vzc2lvbi1ncm91cC10aXRsZSBjbGF1ZGUtaGlzdG9yeS10b2dnbGUgc2Vzc2lvbi1oaXN0b3J5LXRvZ2dsZSIgaWQ9ImNsYXVkZS1oaXN0b3J5LXRvZ2dsZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJytzKyciIHRpdGxlPSInKyhzPyJcdTY1MzZcdThENzdcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiOiJcdTVDNTVcdTVGMDBcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiKSsnIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JytvKyc8L3NwYW4+IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCA8c3BhbiBjbGFzcz0iaGlzdG9yeS1jb3VudCcrKGE/IiI6IiBsb2FkaW5nIikrJyI+JytsKyI8L3NwYW4+PC9kaXY+IixkPXM/JzxkaXYgY2xhc3M9InNlc3Npb24taGlzdG9yeS1ib2R5Ij4nK1RjKGUpK19jKHIpKyI8L2Rpdj4iOiIiO3JldHVybic8c2VjdGlvbiBjbGFzcz0ic2Vzc2lvbi1ncm91cCBzZXNzaW9uLWdyb3VwLS1oaXN0b3J5Ij4nK2MrZCsiPC9zZWN0aW9uPiJ9ZnVuY3Rpb24gVGMoZSl7aWYoIW4uY2xhdWRlSGlzdG9yeUxvYWRlZClyZXR1cm4nPGRpdiBjbGFzcz0iY2xhdWRlLWhpc3RvcnktbG9hZGluZyI+XHU2MjZCXHU2M0NGXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHU0RTJEXHUyMDI2PC9kaXY+JztpZihlLmxlbmd0aD09PTApcmV0dXJuIiI7dmFyIHQ9e30scj1bXTtlLmZvckVhY2goZnVuY3Rpb24odSl7dFt1LmN3ZF18fCh0W3UuY3dkXT1bXSxyLnB1c2godS5jd2QpKSx0W3UuY3dkXS5wdXNoKHUpfSk7dmFyIGk9JzxkaXYgY2xhc3M9InNpZGViYXItaGlzdG9yeS10b29sYmFyIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi14cyBzaWRlYmFyLWhpc3RvcnktY2xlYXIiIGRhdGEtYWN0aW9uPSJjbGVhci1hbGwtaGlzdG9yeSIgdHlwZT0iYnV0dG9uIj5cdTZFMDVcdTdBN0FcdTUxNjhcdTkwRTg8L2J1dHRvbj48L2Rpdj4nLGE9IiI7cmV0dXJuIHIuZm9yRWFjaChmdW5jdGlvbih1KXt2YXIgcz11LnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pLnNsaWNlKC0zKS5qb2luKCIvIiksbz0hIW4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlyc1t1XTthKz1qYyh1LHMsdFt1XS5sZW5ndGgsbyksbyYmKGErPXRbdV0ubWFwKGZ1bmN0aW9uKGwpe3JldHVybiB6aShsLCJoaXN0b3J5Iil9KS5qb2luKCIiKSl9KSxpKyc8ZGl2IGNsYXNzPSJzaWRlYmFyLWhpc3Rvcnktc2Nyb2xsIj4nK2ErIjwvZGl2PiJ9ZnVuY3Rpb24gUG4oKXt2YXIgZT1uZXcgU2V0O3JldHVybiBuLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jbGF1ZGVTZXNzaW9uSWQmJmUuYWRkKHQuY2xhdWRlU2Vzc2lvbklkKX0pLG4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGFzQ29udmVyc2F0aW9uJiYhdC5tYW5hZ2VkQnlXYW5kJiYhZS5oYXModC5jbGF1ZGVTZXNzaW9uSWQpfSl9ZnVuY3Rpb24genUoKXtyZXR1cm4gT2JqZWN0LmtleXMobi5zZWxlY3RlZFNlc3Npb25JZHMpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hIW4uc2VsZWN0ZWRTZXNzaW9uSWRzW2VdfSl9ZnVuY3Rpb24gVnUoKXtyZXR1cm4gT2JqZWN0LmtleXMobi5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHMpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hIW4uc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzW2VdfSl9ZnVuY3Rpb24gVXIoKXtuLnNlbGVjdGVkU2Vzc2lvbklkcz17fSxuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz17fX1mdW5jdGlvbiBMYyhlKXtuLnNlc3Npb25zTWFuYWdlTW9kZT10eXBlb2YgZT09ImJvb2xlYW4iP2U6IW4uc2Vzc2lvbnNNYW5hZ2VNb2RlLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiYhbi5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZLcigpLnRoZW4odmUpLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlfHwoVXIoKSxCcigpKSx2ZSgpfWZ1bmN0aW9uIFV1KCl7cmV0dXJuIG4uc2Vzc2lvbnMuc2xpY2UoKX1mdW5jdGlvbiBNYygpe3JldHVybiBVdSgpLmxlbmd0aCtQbigpLmxlbmd0aH1mdW5jdGlvbiBLdSgpe2lmKCFuLmNsYXVkZUhpc3RvcnlMb2FkZWQpe0tyKCkudGhlbihLdSk7cmV0dXJufW4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSEwO3ZhciBlPXt9O1V1KCkuZm9yRWFjaChmdW5jdGlvbihyKXtlW3IuaWRdPSEwfSk7dmFyIHQ9e307UG4oKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3Rbci5jbGF1ZGVTZXNzaW9uSWRdPSEwfSksbi5zZWxlY3RlZFNlc3Npb25JZHM9ZSxuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz10LHZlKCl9ZnVuY3Rpb24gcWMoKXtVcigpLHZlKCl9ZnVuY3Rpb24gbHIoZSx0KXtpZighKCFuLnNlc3Npb25zTWFuYWdlTW9kZXx8IXQpKXt2YXIgcj1lPT09Imhpc3RvcnkiP24uc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOm4uc2VsZWN0ZWRTZXNzaW9uSWRzO3JbdF0/ZGVsZXRlIHJbdF06clt0XT0hMCx2ZSgpfX1mdW5jdGlvbiBKdShlLHQscil7aWYoIW4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybiIiO3ZhciBpPWU9PT0iaGlzdG9yeSI/ISFuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkc1t0XTohIW4uc2VsZWN0ZWRTZXNzaW9uSWRzW3RdO3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24tbWFuYWdlLWNoZWNrIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYWN0aW9uPSJ0b2dnbGUtc2VsZWN0aW9uIiBkYXRhLWtpbmQ9IicrcChlKSsnIiBkYXRhLWlkPSInK3AodCkrJyInKyhpPyIgY2hlY2tlZCI6IiIpKycgYXJpYS1sYWJlbD0iJytwKHIpKyciPjxzcGFuPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gSG4oZSx0KXtyZXR1cm4gdHlwZW9mIHdpbmRvdy53YW5kQ29uZmlybT09ImZ1bmN0aW9uIj93aW5kb3cud2FuZENvbmZpcm0oZSxPYmplY3QuYXNzaWduKHt0eXBlOiJkYW5nZXIiLGRhbmdlcjohMCxva0xhYmVsOiJcdTUyMjBcdTk2NjQifSx0fHx7fSkpOlByb21pc2UucmVzb2x2ZSh3aW5kb3cuY29uZmlybShlKSl9ZnVuY3Rpb24gT2MoKXt2YXIgZT16dSgpLHQ9VnUoKSxyPWUubGVuZ3RoK3QubGVuZ3RoO3ImJkhuKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDkgIityKyIgXHU5ODc5XHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NjI0MFx1OTAwOSAiK3IrIiBcdTk4NzkifSkudGhlbihmdW5jdGlvbihpKXtpZihpKXt2YXIgYT1bXTtlLmxlbmd0aD4wJiZhLnB1c2goZmV0Y2goIi9hcGkvc2Vzc2lvbnMvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkczplfSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pKSx0Lmxlbmd0aD4wJiZhLnB1c2goZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2xhdWRlU2Vzc2lvbklkczp0fSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pKSxQcm9taXNlLmFsbChhKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUuaW5kZXhPZihuLnNlbGVjdGVkSWQpIT09LTEmJihuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpKSxuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdC5pbmRleE9mKHUuY2xhdWRlU2Vzc2lvbklkKT09PS0xfSksVXIoKSxqdCgpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUodSwiXHU2NUUwXHU2Q0Q1XHU2Mjc5XHU5MUNGXHU1MjIwXHU5NjY0XHU2MjQwXHU5MDA5XHU5ODc5XHU3NkVFXHUzMDAyIil9KX19KX1mdW5jdGlvbiBQYygpe3ZhciBlPURhdGUubm93KCktODY0ZTUsdD1QbigpLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hci50aW1lc3RhbXB8fG5ldyBEYXRlKHIudGltZXN0YW1wKS5nZXRUaW1lKCk8PWV9KTtpZih0Lmxlbmd0aClyZXR1cm4gSG4oIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NUY1M1x1NTI0RFx1NjYzRVx1NzkzQVx1NzY4NCAiK3QubGVuZ3RoKyIgXHU2NzYxIENsYXVkZSBcdTUzODZcdTUzRjJcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU2RTA1XHU3QTdBIENsYXVkZSBcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHIpe3ZhciBpPXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXVkZVNlc3Npb25JZH0pO3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtaGlzdG9yeS9iYXRjaC1kZWxldGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjbGF1ZGVTZXNzaW9uSWRzOml9KX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhJiZhLmVycm9yKXRocm93IG5ldyBFcnJvcihhLmVycm9yKTtuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gaS5pbmRleE9mKHUuY2xhdWRlU2Vzc2lvbklkKT09PS0xfSksVXIoKSx2ZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUoYSwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3QTdBXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHUzMDAyIil9KX19KX1mdW5jdGlvbiBIYyhlLHQscixpKXt2YXIgYT1pPyJcdTI1QkUiOiJcdTI1QjgiO3JldHVybic8ZGl2IGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIGNvZGV4LWhpc3RvcnktZGlyZWN0b3J5LWhlYWRlciIgZGF0YS1hY3Rpb249InRvZ2dsZS1jb2RleC1oaXN0b3J5LWRpcmVjdG9yeSIgZGF0YS1jd2Q9IicrcChlKSsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRpdGxlIGNsYXVkZS1oaXN0b3J5LWRpcmVjdG9yeS10aXRsZSI+PHNwYW4gY2xhc3M9ImNoZXZyb24iPicrYSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktbGFiZWwiPicrcCh0KSsiICgiK3IrIik8L3NwYW4+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBfYyhlKXtpZighbi5jb2RleEhpc3RvcnlMb2FkZWQpcmV0dXJuJzxkaXYgY2xhc3M9ImNsYXVkZS1oaXN0b3J5LWxvYWRpbmciPlx1NjI2Qlx1NjNDRiBDb2RleCBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTRFMkRcdTIwMjY8L2Rpdj4nO2lmKGUubGVuZ3RoPT09MClyZXR1cm4iIjt2YXIgdD17fSxyPVtdO2UuZm9yRWFjaChmdW5jdGlvbihhKXt0W2EuY3dkXXx8KHRbYS5jd2RdPVtdLHIucHVzaChhLmN3ZCkpLHRbYS5jd2RdLnB1c2goYSl9KTt2YXIgaT0nPGRpdiBjbGFzcz0ic2lkZWJhci1oaXN0b3J5LXNlY3Rpb24tbGFiZWwiPkNvZGV4PC9kaXY+JztyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciB1PWEuc3BsaXQoIi8iKS5maWx0ZXIoQm9vbGVhbikuc2xpY2UoLTMpLmpvaW4oIi8iKSxzPSEhbi5jb2RleEhpc3RvcnlFeHBhbmRlZERpcnNbYV07aSs9SGMoYSx1LHRbYV0ubGVuZ3RoLHMpLHMmJihpKz10W2FdLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gemkobywiY29kZXgiKX0pLmpvaW4oIiIpKX0pLCc8ZGl2IGNsYXNzPSJzaWRlYmFyLWhpc3Rvcnktc2Nyb2xsIGNvZGV4LWhpc3Rvcnktc2Nyb2xsIj4nK2krIjwvZGl2PiJ9ZnVuY3Rpb24gamMoZSx0LHIsaSl7dmFyIGE9aT8iJiM5NjYyOyI6IiYjOTY1NjsiO3JldHVybic8ZGl2IGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIiBkYXRhLWFjdGlvbj0idG9nZ2xlLWhpc3RvcnktZGlyZWN0b3J5IiBkYXRhLWN3ZD0iJytwKGUpKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9InNlc3Npb24tZ3JvdXAtdGl0bGUgY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LXRpdGxlIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JythKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImNsYXVkZS1oaXN0b3J5LWRpcmVjdG9yeS1sYWJlbCI+JytwKHQpKyIgKCIrcisnKTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhbmdlciBidG4teHMgY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWNsZWFyLWJ0biIgZGF0YS1hY3Rpb249ImRlbGV0ZS1oaXN0b3J5LWRpcmVjdG9yeSIgZGF0YS1jd2Q9IicrcChlKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCI+XHU2RTA1XHU3QTdBXHU2QjY0XHU3NkVFXHU1RjU1PC9idXR0b24+PC9kaXY+PC9kaXY+J31mdW5jdGlvbiB6aShlLHQpe3ZhciByPXQ9PT0iY29kZXgiLGk9cj8icmVzdW1lLWNvZGV4LWhpc3RvcnkiOiJyZXN1bWUtaGlzdG9yeSIsYT1yPyJkZWxldGUtY29kZXgtaGlzdG9yeSI6ImRlbGV0ZS1oaXN0b3J5Iix1PXI/bi5zZWxlY3RlZENvZGV4SGlzdG9yeUlkczpuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcyxzPWUuY2xhdWRlU2Vzc2lvbklkLnNsaWNlKDAsOCksbz1lLmZpcnN0VXNlck1lc3NhZ2V8fCIoXHU3QTdBXHU0RjFBXHU4QkREKSIsbD1ZdShlLnRpbWVzdGFtcCksYz1KdSh0LGUuY2xhdWRlU2Vzc2lvbklkLCJcdTkwMDlcdTYyRTlcdTUzODZcdTUzRjJcdTRGMUFcdThCREQgIitvKSxkPW4uc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gZGVsZXRlLWJ0biIgZGF0YS1hY3Rpb249IicrYSsnIiBkYXRhLWNsYXVkZS1zZXNzaW9uLWlkPSInK2UuY2xhdWRlU2Vzc2lvbklkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIiB0aXRsZT0iXHU5NjkwXHU4NUNGXHU2QjY0XHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjwvYnV0dG9uPicsZj1uLnNlc3Npb25zTWFuYWdlTW9kZT8iIjonPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIiBkYXRhLWFjdGlvbj0iJytpKyciIGRhdGEtY2xhdWRlLXNlc3Npb24taWQ9IicrZS5jbGF1ZGVTZXNzaW9uSWQrJyIgZGF0YS1jd2Q9IicrcChlLmN3ZCkrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTYwNjJcdTU5MERcdTRGMUFcdThCREQiIHRpdGxlPSInKyhyPyJcdTYwNjJcdTU5MERcdTZCNjQgQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREIjoiXHU2MDYyXHU1OTBEXHU2QjY0IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiKSsnIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xIDR2Nmg2Ii8+PHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMTA1LjY0LTExLjM2TDMgMTAiLz48L3N2Zz48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0gY2xhdWRlLWhpc3RvcnktaXRlbScrKG4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiZ1W2UuY2xhdWRlU2Vzc2lvbklkXT8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1jbGF1ZGUtaGlzdG9yeS1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLWN3ZD0iJytwKGUuY3dkKSsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tY29udGVudCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtLXJvdyI+JytjKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1haW4iPjxkaXYgY2xhc3M9InNlc3Npb24tY29tbWFuZCBjbGF1ZGUtaGlzdG9yeS1wcmV2aWV3Ij4nK3AobykrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWV0YSI+PHNwYW4gY2xhc3M9InNlc3Npb24taWQiIHRpdGxlPSInK3AoZS5jbGF1ZGVTZXNzaW9uSWQpKyciPicrcChzKSsiPC9zcGFuPjxzcGFuPiIrcChsKSsnPC9zcGFuPjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJzZXNzaW9uLWFjdGlvbnMiPicrZitkKyI8L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBZdShlKXtpZighZSlyZXR1cm4iIjt0cnl7dmFyIHQ9bmV3IERhdGUoZSkscj1uZXcgRGF0ZSxpPXItdCxhPU1hdGguZmxvb3IoaS82ZTQpO2lmKGE8MSlyZXR1cm4iXHU1MjFBXHU1MjFBIjtpZihhPDYwKXJldHVybiBhKyIgXHU1MjA2XHU5NDlGXHU1MjREIjt2YXIgdT1NYXRoLmZsb29yKGEvNjApO2lmKHU8MjQpcmV0dXJuIHUrIiBcdTVDMEZcdTY1RjZcdTUyNEQiO3ZhciBzPU1hdGguZmxvb3IodS8yNCk7cmV0dXJuIHM8MzA/cysiIFx1NTkyOVx1NTI0RCI6dC50b0xvY2FsZURhdGVTdHJpbmcoKX1jYXRjaHtyZXR1cm4iIn19ZnVuY3Rpb24gR3UoKXtyZXR1cm4gZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5vaz9lLmpzb24oKTpbXX0pLnRoZW4oZnVuY3Rpb24oZSl7bi5jbGF1ZGVIaXN0b3J5PWV8fFtdLG4uY2xhdWRlSGlzdG9yeUxvYWRlZD0hMCx2ZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtuLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITAsbi5jbGF1ZGVIaXN0b3J5PVtdLHZlKCl9KX12YXIgX249bnVsbDtmdW5jdGlvbiBLcigpe3JldHVybiBSYygpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZD9Qcm9taXNlLnJlc29sdmUoKTpfbnx8KF9uPUd1KCkudGhlbihmdW5jdGlvbigpe19uPW51bGx9LGZ1bmN0aW9uKCl7X249bnVsbH0pLF9uKX1mdW5jdGlvbiBOYygpe3JldHVybiBmZXRjaCgiL2FwaS9jb2RleC1oaXN0b3J5Iix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6W119KS50aGVuKGZ1bmN0aW9uKGUpe24uY29kZXhIaXN0b3J5PWV8fFtdLG4uY29kZXhIaXN0b3J5TG9hZGVkPSEwLHZlKCl9KS5jYXRjaChmdW5jdGlvbigpe24uY29kZXhIaXN0b3J5TG9hZGVkPSEwLG4uY29kZXhIaXN0b3J5PVtdLHZlKCl9KX12YXIgam49bnVsbDtmdW5jdGlvbiBSYygpe3JldHVybiBuLmNvZGV4SGlzdG9yeUxvYWRlZD9Qcm9taXNlLnJlc29sdmUoKTpqbnx8KGpuPU5jKCkudGhlbihmdW5jdGlvbigpe2puPW51bGx9LGZ1bmN0aW9uKCl7am49bnVsbH0pLGpuKX1mdW5jdGlvbiBXYygpe3ZhciBlPW5ldyBTZXQ7cmV0dXJuIG4uc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNsYXVkZVNlc3Npb25JZCYmZS5hZGQodC5jbGF1ZGVTZXNzaW9uSWQpfSksbi5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmhhc0NvbnZlcnNhdGlvbiYmIXQubWFuYWdlZEJ5V2FuZCYmIWUuaGFzKHQuY2xhdWRlU2Vzc2lvbklkKX0pfWZ1bmN0aW9uIFF1KCl7bnMoKSwhSnIoKSYmKG4ucG9sbFRpbWVyPXNldEludGVydmFsKGp0LDE2MDApKX1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXNzaW9uLXRpbWUiKTtlLmxlbmd0aD4wJiZLbygpfSwzZTQpO2Z1bmN0aW9uIFZpKCl7bi53c1JlY29ubmVjdFRpbWVyJiYoY2xlYXJUaW1lb3V0KG4ud3NSZWNvbm5lY3RUaW1lciksbi53c1JlY29ubmVjdFRpbWVyPW51bGwpfXZhciB6Yz0xZTQsVmM9NGU0O2Z1bmN0aW9uIFVjKCl7JHUoKSxuLndzSGVhcnRiZWF0Q2hlY2tUaW1lcj1zZXRJbnRlcnZhbChYdSx6Yyl9ZnVuY3Rpb24gJHUoKXtuLndzSGVhcnRiZWF0Q2hlY2tUaW1lciYmKGNsZWFySW50ZXJ2YWwobi53c0hlYXJ0YmVhdENoZWNrVGltZXIpLG4ud3NIZWFydGJlYXRDaGVja1RpbWVyPW51bGwpfWZ1bmN0aW9uIFh1KCl7aWYoISghbi53c3x8bi53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pJiZuLmxhc3RXc01lc3NhZ2VBdCl7dmFyIGU9RGF0ZS5ub3coKS1uLmxhc3RXc01lc3NhZ2VBdDtlPlZjJiZVaSgiaGVhcnRiZWF0LXN0YWxlLSIrTWF0aC5yb3VuZChlLzFlMykrInMiKX19ZnVuY3Rpb24gVWkoZSl7aWYoVmkoKSxuLndzKXt2YXIgdD1uLndzO3RyeXt0Lm9uY2xvc2U9bnVsbH1jYXRjaHt9dHJ5e3Qub25lcnJvcj1udWxsfWNhdGNoe310cnl7dC5vbm1lc3NhZ2U9bnVsbH1jYXRjaHt9dHJ5e3QuY2xvc2UoKX1jYXRjaHt9bi53cz1udWxsfW4ud3NDb25uZWN0ZWQ9ITEsbi53c1JlY29ubmVjdEF0dGVtcHRzPTAsSnIoZSl9ZnVuY3Rpb24gWnUoKXtpZighbi53c1JlY29ubmVjdFRpbWVyJiYhZG9jdW1lbnQuaGlkZGVuKXt2YXIgZT1uLndzUmVjb25uZWN0QXR0ZW1wdHN8fDAsdD1bNTAwLDFlMywyZTMsNGUzLDhlM10scj10W2U8dC5sZW5ndGg/ZTp0Lmxlbmd0aC0xXTtuLndzUmVjb25uZWN0QXR0ZW1wdHM9ZSsxLG4ud3NSZWNvbm5lY3RUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi53c1JlY29ubmVjdFRpbWVyPW51bGwsbi5jb25maWcmJiFuLndzJiYhZG9jdW1lbnQuaGlkZGVuJiZKcigiYmFja29mZiIpfSxyKX19ZnVuY3Rpb24gSnIoZSl7aWYoIXdpbmRvdy5XZWJTb2NrZXQpcmV0dXJuITE7aWYobi53cyl7dHJ5e24ud3MuY2xvc2UoKX1jYXRjaHt9bi53cz1udWxsfXZhciB0PXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IixyPXQrIi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL3dzIjt0cnl7dmFyIGk9bmV3IFdlYlNvY2tldChyKTtyZXR1cm4gaS5vbm9wZW49ZnVuY3Rpb24oKXtuLndzPWksbi53c0Nvbm5lY3RlZD0hMCxuLmxhc3RXc01lc3NhZ2VBdD1EYXRlLm5vdygpLG4ud3NSZWNvbm5lY3RBdHRlbXB0cz0wLFZpKCksbi5sYXN0U2VxQnlTZXNzaW9uPXt9LFVjKCkseG4obi5zZWxlY3RlZElkKSxwcCgpLHZyKCJ3cy1yZWNvbm5lY3QiKX0saS5vbm1lc3NhZ2U9ZnVuY3Rpb24oYSl7bi5sYXN0V3NNZXNzYWdlQXQ9RGF0ZS5ub3coKTt0cnl7dmFyIHU9SlNPTi5wYXJzZShhLmRhdGEpO2lmKHUmJnUudHlwZT09PSJwaW5nIil7aWYobi53cyYmbi53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4pdHJ5e24ud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToicG9uZyIsdDp1LnR9KSl9Y2F0Y2h7fXJldHVybn1pZih1JiZ1LnR5cGU9PT0icmVzeW5jX3JlcXVpcmVkIiYmdS5zZXNzaW9uSWQpe2lmKG4ud3MmJm4ud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOKXRyeXtuLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InJlc3luYyIsc2Vzc2lvbklkOnUuc2Vzc2lvbklkfSkpfWNhdGNoe31uLmxhc3RTZXFCeVNlc3Npb258fChuLmxhc3RTZXFCeVNlc3Npb249e30pLG4ubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09MDtyZXR1cm59aWYodSYmKHUudHlwZT09PSJpbml0Inx8dS50eXBlPT09Im91dHB1dCIpJiZ1LnNlc3Npb25JZCYmdHlwZW9mIHUuc2VxPT0ibnVtYmVyIil7bi5sYXN0U2VxQnlTZXNzaW9ufHwobi5sYXN0U2VxQnlTZXNzaW9uPXt9KTt2YXIgcz1uLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdfHwwO2lmKHUudHlwZT09PSJpbml0IiluLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPXUuc2VxO2Vsc2UgaWYodS5zZXE9PT1zKzEpbi5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT11LnNlcTtlbHNlIGlmKHUuc2VxPnMrMSYmcz4wKXtpZihuLndzJiZuLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil0cnl7bi53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJyZXN5bmMiLHNlc3Npb25JZDp1LnNlc3Npb25JZH0pKX1jYXRjaHt9bi5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT0wO3JldHVybn1lbHNle2lmKHUuc2VxPHMpcmV0dXJuO24ubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09dS5zZXF9fUtjKHUpfWNhdGNoe319LGkub25jbG9zZT1mdW5jdGlvbigpe24ud3M9bnVsbCxuLndzQ29ubmVjdGVkPSExLCR1KCksWnUoKX0saS5vbmVycm9yPWZ1bmN0aW9uKCl7aS5jbG9zZSgpfSwhMH1jYXRjaHtyZXR1cm4gWnUoKSwhMX19ZnVuY3Rpb24gS2MoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJvdXRwdXQiOmlmKGUuZGF0YSYmZS5zZXNzaW9uSWQmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsImlzUmVzcG9uZGluZyIpJiYobi5fbGFzdElzUmVzcG9uZGluZ3x8KG4uX2xhc3RJc1Jlc3BvbmRpbmc9e30pLG4uX2xhc3RJc1Jlc3BvbmRpbmdbZS5zZXNzaW9uSWRdPSEhZS5kYXRhLmlzUmVzcG9uZGluZyksZS5kYXRhJiZlLnNlc3Npb25JZCl7dmFyIHQ9ISFlLmRhdGEuaW5jcmVtZW50YWwscj17aWQ6ZS5zZXNzaW9uSWR9O2lmKCF0JiZlLmRhdGEub3V0cHV0IT09dm9pZCAwJiYoci5vdXRwdXQ9ZS5kYXRhLm91dHB1dCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKHIucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJihyLnF1ZXVlZE1lc3NhZ2VzPWUuZGF0YS5xdWV1ZWRNZXNzYWdlc3x8W10sbi5xdWV1ZUVwb2NoKyspLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihyLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEuc2Vzc2lvbktpbmQmJihyLnNlc3Npb25LaW5kPWUuZGF0YS5zZXNzaW9uS2luZCksZS5kYXRhLm1lc3NhZ2VzKXIubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzO2Vsc2UgaWYodCYmZS5kYXRhLmxhc3RNZXNzYWdlKXt2YXIgaT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pO2lmKGkpe3ZhciBhPUFycmF5LmlzQXJyYXkoaS5tZXNzYWdlcyk/aS5tZXNzYWdlcy5zbGljZSgpOltdLHU9ZS5kYXRhLm1lc3NhZ2VDb3VudHx8MCxzPWEubGVuZ3RoPjA/YVthLmxlbmd0aC0xXTpudWxsLG89ZS5kYXRhLmxhc3RNZXNzYWdlO3MmJm8ucm9sZSYmcy5yb2xlPT09by5yb2xlP2FbYS5sZW5ndGgtMV09UGYocyxvKTphLmxlbmd0aDx1JiZhLnB1c2gobyksci5tZXNzYWdlcz1hfX12YXIgbD10JiZlLmRhdGEuY2h1bmsmJiFlLmRhdGEubGFzdE1lc3NhZ2UmJiFyLm1lc3NhZ2VzJiZyLm91dHB1dD09PXZvaWQgMCYmIWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJiFlLmRhdGEuc2Vzc2lvbktpbmQ7aWYobCl7aWYoZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkIT09dm9pZCAwKXt2YXIgYz1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pO2MmJiEhYy5wZXJtaXNzaW9uQmxvY2tlZCE9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQmJihaKHIpLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZKdCgpKX19ZWxzZSBpZigoci5vdXRwdXQhPT12b2lkIDB8fHIubWVzc2FnZXN8fHR8fGUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCE9PXZvaWQgMCkmJihaKHIpLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkKSl7dmFyIGQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KXx8cjtuLmN1cnJlbnRNZXNzYWdlcz1SZShkLHR0KGQsZC5vdXRwdXQsITEpKSxKdCgpLGQuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUuZGF0YS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIj9jcigpOktpKCl9fWUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZuLnRlcm1pbmFsJiZlLmRhdGEmJihlLmRhdGEuY2h1bmsmJkpmKGUuc2Vzc2lvbklkKT8obi5sYXN0Q2h1bmtBdD1EYXRlLm5vdygpLG4udGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbZS5zZXNzaW9uSWRdPSEwLFduKG4udGVybWluYWwsZS5kYXRhLmNodW5rKSxuLnRlcm1pbmFsU2Vzc2lvbklkPWUuc2Vzc2lvbklkLGUuZGF0YS5vdXRwdXQ/KG4udGVybWluYWxPdXRwdXQ9eXMoSGEoZS5kYXRhLm91dHB1dCkpLG4udGVybWluYWxPdXRwdXRNYXJrZXI9MCk6bi50ZXJtaW5hbE91dHB1dD15cygobi50ZXJtaW5hbE91dHB1dHx8IiIpK0hhKGUuZGF0YS5jaHVuaykpLGZ0KCJvdXRwdXQiKSxzdCgpKTohZS5kYXRhLmluY3JlbWVudGFsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJvdXRwdXQiKSYmWnIoZS5zZXNzaW9uSWQsZS5kYXRhLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCJ9KSk7YnJlYWs7Y2FzZSJzdGFydGVkIjpkbigpO2JyZWFrO2Nhc2UiZW5kZWQiOnt2YXIgZj1lLmRhdGEmJmUuZGF0YS5zdGF0dXM/ZS5kYXRhLnN0YXR1czoiZXhpdGVkIix2PWUuZGF0YSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKT8hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZDohMSxtPXtpZDplLnNlc3Npb25JZCxzdGF0dXM6ZixwZXJtaXNzaW9uQmxvY2tlZDp2fTtlLmRhdGEmJmUuZGF0YS5tZXNzYWdlcyYmKG0ubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzKSxlLmRhdGEmJmUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihtLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEmJmUuZGF0YS5xdWV1ZWRNZXNzYWdlcyYmKG0ucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzKSxaKG0pLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiYoVW4oIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpLEtpKCEwKSk7dmFyIGI9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KSxnPWUuZGF0YSYmZS5kYXRhLmV4aXRDb2RlLHk9ZyE9bnVsbCYmZyE9PTAsdz1iJiZiLnN1bW1hcnl8fCIiLEY9Yj9oYyhiKToiIixFPXk/Ilx1NEVGQlx1NTJBMVx1NUYwMlx1NUUzOFx1N0VEM1x1Njc1RiI6Ilx1NEVGQlx1NTJBMVx1NURGMlx1NUI4Q1x1NjIxMCIsQT0iIjt3PyhBPXcsRiYmIXkmJihBKz1gCmArRikpOkE9YiYmYi5jb21tYW5kfHxlLnNlc3Npb25JZCxWbih5PyJlcnJvciI6InN1Y2Nlc3MiKSxvZihlLnNlc3Npb25JZCxFLEEpLERzKGUuc2Vzc2lvbklkKSxzYSgpLChlLnNlc3Npb25JZCE9PW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuaGlkZGVuKSYmYWEoe3RpdGxlOkUsYm9keTpBLHR5cGU6eT8id2FybmluZyI6InN1Y2Nlc3MiLGljb246eT8iISI6Ilx1MjcxMyIsZHVyYXRpb246NmUzLGFjdGlvbkxhYmVsOiJcdTY3RTVcdTc3MEIiLGFjdGlvbjpmdW5jdGlvbigpe1J0KGUuc2Vzc2lvbklkKX19KSxuLm1lc3NhZ2VRdWV1ZT1bXSxuLnBlbmRpbmdNZXNzYWdlcz1bXTt2YXIgeD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pLFM9ZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQ/bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09bi5zZWxlY3RlZElkfSk6bnVsbCxQPSEhKHgmJnguc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fFMmJlMuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpO1AmJmUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkPyhXcygpLGx1KGUuc2Vzc2lvbklkKSk6UHx8KG4uc3RydWN0dXJlZElucHV0UXVldWU9W10sbHUobi5zZWxlY3RlZElkKSx1bigpKSxlLnNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmKFB8fEFuKCExKSxuLmN1cnJlbnRUYXNrPW51bGwsSnQoKSksZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQmJkFyKCksZG4oKS50aGVuKGZ1bmN0aW9uKCl7YWkoKX0pLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiYoUHx8Zm4oZS5zZXNzaW9uSWQpKTticmVha31jYXNlImluaXQiOmlmKGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZlLmRhdGEpe24uY2hhdFJlbmRlclRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uY2hhdFJlbmRlclRpbWVyKSxuLmNoYXRSZW5kZXJUaW1lcj1udWxsKSxaKGUuZGF0YSk7dmFyIHo9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KTtuLmN1cnJlbnRNZXNzYWdlcz1SZSh6fHxlLmRhdGEsdHQoenx8ZS5kYXRhLGUuZGF0YS5vdXRwdXQsITEpKSxjcighMCksSnQoKSxlcygpO3ZhciBHPWUuZGF0YS5vdXRwdXR8fCIiLEw9bi50ZXJtaW5hbFNlc3Npb25JZD09PWUuc2Vzc2lvbklkLEI9bi50ZXJtaW5hbE91dHB1dHx8IiIsVD1MJiZCLmxlbmd0aD4wJiZHLmxlbmd0aD49Qi5sZW5ndGgmJkcuc3RhcnRzV2l0aChCKTtRYyhHLGUuc2Vzc2lvbklkLFQ/ImFwcGVuZCI6InJlcGxhY2UiKSx2cigiaW5pdCIpfWJyZWFrO2Nhc2UidXNhZ2UiOmJyZWFrO2Nhc2UidGFzayI6ZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQmJihuLmN1cnJlbnRUYXNrPWUuZGF0YXx8bnVsbCxKdCgpKSx1ZihlLnNlc3Npb25JZCxlLmRhdGF8fG51bGwpLG9hKGUuc2Vzc2lvbklkKSxLbygpO2JyZWFrO2Nhc2Uic3RhdHVzIjppZihlLnNlc3Npb25JZCYmZS5kYXRhKXt2YXIgST17aWQ6ZS5zZXNzaW9uSWR9O2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInN0YXR1cyIpJiYoSS5zdGF0dXM9ZS5kYXRhLnN0YXR1cyksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwiZXhpdENvZGUiKSYmKEkuZXhpdENvZGU9ZS5kYXRhLmV4aXRDb2RlKSxlLmRhdGEuc3RydWN0dXJlZFN0YXRlKUkuc3RydWN0dXJlZFN0YXRlPWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGU7ZWxzZSBpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJzdGF0dXMiKSl7dmFyIGk9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKE0pe3JldHVybiBNLmlkPT09ZS5zZXNzaW9uSWR9KTtpJiZpLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiJiYoSS5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxpLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OmUuZGF0YS5zdGF0dXM9PT0icnVubmluZyJ9KSl9aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicXVldWVkTWVzc2FnZXMiKSYmKEkucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzfHxbXSxuLnF1ZXVlRXBvY2grKyksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKEkucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLGUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdCl7SS5wZW5kaW5nRXNjYWxhdGlvbj17c2NvcGU6ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnNjb3BlLHRhcmdldDplLmRhdGEucGVybWlzc2lvblJlcXVlc3QudGFyZ2V0LHJlYXNvbjplLmRhdGEucGVybWlzc2lvblJlcXVlc3QucHJvbXB0fTt2YXIgVj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pLHJlPVYmJihWLnN1bW1hcnl8fFYuY29tbWFuZCl8fGUuc2Vzc2lvbklkLHRlPWUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5wcm9tcHR8fCJcdTk3MDBcdTg5ODFcdTY3NDNcdTk2NTBcdTVCQTFcdTYyNzkiLCQ9ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnRhcmdldCxpZT1yZTskP2llKz1gCmArdGUrIiBceEI3ICIrJDppZSs9YApgK3RlLFZuKCJtZWRpdW0iKSxzZihlLnNlc3Npb25JZCxpZSksZS5zZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWQmJmFhKHt0aXRsZToiXHU5NzAwXHU4OTgxXHU0RjYwXHU3Njg0XHU2Mzg4XHU2NzQzIixib2R5OmllLHR5cGU6Indhcm5pbmciLGljb246IiEiLGR1cmF0aW9uOjAsYWN0aW9uTGFiZWw6Ilx1NTNCQlx1NTkwNFx1NzQwNiIsYWN0aW9uOmZ1bmN0aW9uKCl7UnQoZS5zZXNzaW9uSWQpfX0pfWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZD09PSExJiYoSS5wZW5kaW5nRXNjYWxhdGlvbj1udWxsKSxlLmRhdGEuYXBwcm92YWxTdGF0cyYmKEkuYXBwcm92YWxTdGF0cz1lLmRhdGEuYXBwcm92YWxTdGF0cyksWihJKSxvYShlLnNlc3Npb25JZCksc2EoKSxlLnNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmKEp0KCksZS5kYXRhLmFwcHJvdmFsU3RhdHMmJmVzKCksSS5zdHJ1Y3R1cmVkU3RhdGUmJihJLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodHx8KFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxXcygpKSxLaSgpKSl9YnJlYWs7Y2FzZSJub3RpZmljYXRpb24iOmUuZGF0YSYmKGUuZGF0YS5raW5kPT09InVwZGF0ZSI/Q3MoZS5kYXRhLmN1cnJlbnR8fCItIixlLmRhdGEubGF0ZXN0fHwiLSIpOmUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXN0YXJ0Ij92ZihlLmRhdGEuY3VycmVudHx8Ii0iLGUuZGF0YS5sYXRlc3R8fCItIik6KGUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXJlc3RhcnQifHxlLmRhdGEua2luZD09PSJyZXN0YXJ0IikmJmFuKCkpO2JyZWFrfX1mdW5jdGlvbiBKdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50LXRhc2siKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiKTtpZihlKXt2YXIgaT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odil7cmV0dXJuIHYuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpJiZpLnByb3ZpZGVyPT09ImNvZGV4IiYmKHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSk7dmFyIGE9aSYmaS5wZW5kaW5nRXNjYWxhdGlvbj9pLnBlbmRpbmdFc2NhbGF0aW9uOm51bGwsdT1pJiZpLnByb3ZpZGVyIT09ImNvZGV4Ij9hfHxpLnBlcm1pc3Npb25CbG9ja2VkOiExO2lmKHUpe3ZhciBzPWkmJmkuYXV0b0FwcHJvdmVQZXJtaXNzaW9ucztpZihyKWlmKHMpci50ZXh0Q29udGVudD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU0RTJELi4uIjtlbHNlIGlmKGEpe3ZhciBvPWEucmVhc29ufHwiXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIixsPWEudGFyZ2V0PyIgXHhCNyAiK2EudGFyZ2V0OiIiO3IudGV4dENvbnRlbnQ9bytsfWVsc2Ugci50ZXh0Q29udGVudD0iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZih0KXt0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2MmJmMuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIXMpLGQmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIXMpfWUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpO3JldHVybn1lLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGY9bi5jdXJyZW50VGFzaztmJiZmLnRpdGxlPyhlLnRleHRDb250ZW50PWYudGl0bGUsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIGVzKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmFsLXN0YXRzIik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LmFwcHJvdmFsU3RhdHM7aWYoIXJ8fHIudG90YWw9PT0wKXtlLmNsYXNzTmFtZT0iYXBwcm92YWwtc3RhdHMgaGlkZGVuIixlLmlubmVySFRNTD0iIjtyZXR1cm59ZS5jbGFzc05hbWU9ImFwcHJvdmFsLXN0YXRzIixlLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWRpdmlkZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIGlkPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgdGl0bGU9Ilx1NjcyQ1x1NkIyMVx1NEYxQVx1OEJERFx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMSI+PHN2ZyBjbGFzcz0iYXBwcm92YWwtc3RhdHMtaWNvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy10b3RhbCI+JytyLnRvdGFsKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCIgaWQ9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMTwvc3Bhbj4nKyhyLmNvbW1hbmQ+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK0ooInRlcm1pbmFsIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQ3RFx1NEVFNFx1NjI2N1x1ODg0Qzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IuY29tbWFuZCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsoci5maWxlPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJlZGl0Iix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NjU4N1x1NEVGNlx1NTE5OVx1NTE2NTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IuZmlsZSsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsoci50b29sPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJ3cmVuY2giLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1MTc2XHU0RUQ2XHU1REU1XHU1MTc3PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrci50b29sKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93IGFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK0ooInNpZ21hIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQwOFx1OEJBMTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IudG90YWwrIjwvc3Bhbj48L3NwYW4+PC9zcGFuPiI7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuYXBwcm92YWwtc3RhdHMtYmFkZ2UiKTtpJiYoaS5jbGFzc0xpc3QucmVtb3ZlKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpLGkub2Zmc2V0V2lkdGgsaS5jbGFzc0xpc3QuYWRkKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpKX19ZnVuY3Rpb24gSmMoKXtpZihWbigibGlnaHQiKSwhIW4uc2VsZWN0ZWRJZCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW55LXBlcm1pc3Npb24tYnRuIik7ZSYmKGUuZGlzYWJsZWQ9ITApLHQmJih0LmRpc2FibGVkPSEwKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvYXBwcm92ZS1wZXJtaXNzaW9uIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3Ipe2soci5lcnJvciwiZXJyb3IiKTtyZXR1cm59WihyKSxKdCgpfSkuY2F0Y2goZnVuY3Rpb24ocil7ayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYyNzlcdTUxQzZcdTYzODhcdTY3NDNcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe2UmJihlLmRpc2FibGVkPSExKSx0JiYodC5kaXNhYmxlZD0hMSl9KX19ZnVuY3Rpb24gWWMoKXtpZihWbigibGlnaHQiKSwhIW4uc2VsZWN0ZWRJZCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW55LXBlcm1pc3Npb24tYnRuIik7ZSYmKGUuZGlzYWJsZWQ9ITApLHQmJih0LmRpc2FibGVkPSEwKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvZGVueS1wZXJtaXNzaW9uIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3Ipe2soci5lcnJvciwiZXJyb3IiKTtyZXR1cm59WihyKSxKdCgpfSkuY2F0Y2goZnVuY3Rpb24ocil7ayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYyRDJcdTdFRERcdTYzODhcdTY3NDNcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe2UmJihlLmRpc2FibGVkPSExKSx0JiYodC5kaXNhYmxlZD0hMSl9KX19ZnVuY3Rpb24gR2MoKXtpZihuLnNlbGVjdGVkSWQpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKGUmJmUucHJvdmlkZXI9PT0iY29kZXgiKXtrKCJDb2RleCBcdTRGMUFcdThCRERcdTU2RkFcdTVCOUFcdTRFRTUgZnVsbC1hY2Nlc3MgUFRZIFx1NTQyRlx1NTJBOFx1RkYwQ1x1NEUwRFx1NjUyRlx1NjMwMVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImluZm8iKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tYXBwcm92ZS10b2dnbGUiKTt0JiYodC5zdHlsZS5vcGFjaXR5PSIwLjUiKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvdG9nZ2xlLWF1dG8tYXBwcm92ZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXtrKHIuZXJyb3IsImVycm9yIik7cmV0dXJufVoociksdHMoKTt2YXIgaT1yLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7ayhpPyJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTVGMDBcdTU0MkYiOiJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQiLCJpbmZvIil9KS5jYXRjaChmdW5jdGlvbihyKXtrKHImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dCYmKHQuc3R5bGUub3BhY2l0eT0iIil9KX19ZnVuY3Rpb24gdHMoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpLHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoUm8odCkpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybn1pZihlKXt2YXIgcj0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciIsaT10JiZ0LmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7aT8oZS5jbGFzc05hbWU9cisiIGFjdGl2ZSIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4IFx1MjAxNCBcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiLGUuaW5uZXJIVE1MPUooInNoaWVsZENoZWNrIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjcsY2xzOiJjb21wb3Nlci1waWxsLWljb24ifSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci1waWxsLWxhYmVsIj5cdTgxRUFcdTUyQTg8L3NwYW4+Jyk6KGUuY2xhc3NOYW1lPXIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1MTczXHU5NUVEIFx1MjAxNCBcdTcwQjlcdTUxRkJcdTVGMDBcdTU0MkYiLGUuaW5uZXJIVE1MPUooInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPicpfX1mdW5jdGlvbiBRYyhlLHQscil7cmV0dXJuIG4udGVybWluYWw/WnIodHx8bi5zZWxlY3RlZElkLGUse21vZGU6cnx8ImFwcGVuZCJ9KTohMX1mdW5jdGlvbiBucygpe24ucG9sbFRpbWVyJiYoY2xlYXJJbnRlcnZhbChuLnBvbGxUaW1lciksbi5wb2xsVGltZXI9bnVsbCl9ZnVuY3Rpb24gcW0oZSl7bi5jdXJyZW50Vmlldz1lfHwidGVybWluYWwiLG4uY3VycmVudFZpZXchPT0idGVybWluYWwiJiYoQW4oITEpLEdzKCkpLGJpKCksRWEoKTt2YXIgdD1IdCgpO3QmJihuLmN1cnJlbnRNZXNzYWdlcz1SZSh0LHR0KHQsdC5vdXRwdXQsITApKSksc3QoKSxuLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmKE90KCEwKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLnJlbWVhc3VyZSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi50ZXJtaW5hbCYmbi50ZXJtaW5hbC5yZW1lYXN1cmUoKX0pKX1mdW5jdGlvbiBjcihlKXtuLnJlbmRlclBlbmRpbmcmJiFlfHwobi5yZW5kZXJQZW5kaW5nPSEwLGU/KGZpKCEwKSxuLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2ZpKCExKSxuLnJlbmRlclBlbmRpbmc9ITF9KSl9bi5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBLaShlKXtpZighKG4uY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKG4uY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQobi5jaGF0UmVuZGVyVGltZXIpLGUpe24uY2hhdFJlbmRlclRpbWVyPW51bGwsY3IoKTtyZXR1cm59dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPXI/Z3M6aHM7bi5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIGE9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7YSYmKG4uY3VycmVudE1lc3NhZ2VzPVJlKGEsdHQoYSxhLm91dHB1dCwhMCkpKSxjcigpfSxpKX19dmFyIEppPTAsWXI9MCxycz0wLEdyPTA7ZnVuY3Rpb24gWWkoKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7aWYoZSYmZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy1wd2EiKSlyZXR1cm4hMDt0cnl7cmV0dXJuIG5hdmlnYXRvci5zdGFuZGFsb25lPT09ITB9Y2F0Y2h7fXJldHVybiExfWZ1bmN0aW9uIGlzKGUpe3JzPU1hdGgubWF4KHJzLERhdGUubm93KCkrKGV8fDE4MDApKX1mdW5jdGlvbiBhcyhlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O0dpKHIpJiZyIT09dHx8aXMoZSl9LDMwKX1mdW5jdGlvbiAkYyhlKXtyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUmJmUuaGVpZ2h0fHwwLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCxkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodHx8MCl9ZnVuY3Rpb24gWGMoZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHI9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZSYmZS53aWR0aHx8MCx0JiZ0LmNsaWVudFdpZHRofHwwKSxpPSRjKGUpO3JldHVybiFKaXx8TWF0aC5hYnMoci1KaSk+OD8oSmk9cixZcj1pKTppPllyJiYoWXI9aSksTWF0aC5tYXgoMSxNYXRoLnJvdW5kKFlyfHxpfHwxKSl9ZnVuY3Rpb24gWmMoZSx0LHIsaSl7cmV0dXJuIGV8fCFZaSgpPyExOnQ+MHx8aT5yKzF9ZnVuY3Rpb24gTm4oZSl7dmFyIHQ9d2luZG93LnZpc3VhbFZpZXdwb3J0O2lmKHQpe3ZhciByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZih3aW5kb3cuX193YW5kSW1lTmF0aXZlKXtyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC10b3AiLCIwcHgiKSxyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC1oZWlnaHQiLE1hdGgucm91bmQodC5oZWlnaHQpKyJweCIpO3JldHVybn12YXIgaT1YYyh0KSxhPU1hdGgubWF4KDAsTWF0aC5yb3VuZCh0Lm9mZnNldFRvcHx8MCkpLHU9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQuaGVpZ2h0KSk7KCFlJiZZaSgpfHxaYyhlLGEsdSxpKSkmJihhPTAsdT1NYXRoLm1heCh1LGkpKSxyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC10b3AiLGErInB4Iiksci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtaGVpZ2h0Iix1KyJweCIpLChlfHwod2luZG93LnNjcm9sbFl8fDApPjApJiZrYSgpfX1mdW5jdGlvbiBHaShlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1lLnRhZ05hbWU7aWYodD09PSJURVhUQVJFQSJ8fHQ9PT0iU0VMRUNUIilyZXR1cm4hMDtpZih0PT09IklOUFVUIil7dmFyIHI9KGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJ0ZXh0IikudG9Mb3dlckNhc2UoKTtyZXR1cm4hL14oYnV0dG9ufGNoZWNrYm94fGNvbG9yfGZpbGV8aGlkZGVufGltYWdlfHJhZGlvfHJhbmdlfHJlc2V0fHN1Ym1pdCkkL2kudGVzdChyKX1yZXR1cm4hIWUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gZWQoKXtpZighKCJ2aXN1YWxWaWV3cG9ydCJpbiB3aW5kb3cpKXJldHVybjt2YXIgZT13aW5kb3cudmlzdWFsVmlld3BvcnQsdD1lLmhlaWdodCxyPSExLGk9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZS53aWR0aHx8MCksYT1NYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApLHU9W107ZnVuY3Rpb24gcygpe3JldHVybiBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApfWZ1bmN0aW9uIG8oKXt2YXIgbT1NYXRoLm1heCh3aW5kb3cuaW5uZXJXaWR0aHx8MCxlLndpZHRofHwwKSxiPXMoKTtpZihNYXRoLmFicyhtLWkpPjgpe2k9bSxhPWI7cmV0dXJufWI+YSYmKGE9Yil9ZnVuY3Rpb24gbChtLGIpe3ZhciBnPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQseT1nPT09bXx8R2koZyksdz1hLWUuaGVpZ2h0LEY9YS0od2luZG93LmlubmVySGVpZ2h0fHxlLmhlaWdodHx8MCksRT1EYXRlLm5vdygpPEdyO3JldHVybiBFPyEhKHkmJih3PjEyMHx8Rj4xMjApKTohIShiPjgwfHx5JiYodz4xMjB8fEY+MTIwKXx8ciYmKHc+ODB8fGI+MzIpKX1mdW5jdGlvbiBjKCl7dS5mb3JFYWNoKGZ1bmN0aW9uKG0pe2NsZWFyVGltZW91dChtKX0pLHU9WzYwLDE4MCwzNjAsNjIwLDkwMF0ubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Tm4ocil9LG0pfSl9ZnVuY3Rpb24gZCgpe2lmKGUpe3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxiPXdpbmRvdy5pbm5lckhlaWdodC1lLmhlaWdodC1lLm9mZnNldFRvcDtvKCk7dmFyIGc9bChtLGIpLHk9TWF0aC5hYnMoZS5oZWlnaHQtdCk+ODtpZihObihnKSxnJiYoIXJ8fHkpJiZMcChlLG0pJiZEYShtKSwhciYmZyl7dmFyIHc9bi50ZXJtaW5hbEF1dG9Gb2xsb3d8fGVhKCk7ZXQoImtleWJvYXJkLW9wZW4iLHtmb3JjZVJlcGxheTohMH0pLHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtObighMCl9LDIyMCksYygpLHcmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZmdCgiZm9yY2UiKX0sMjIwKX1pZihyJiYhZyl7dmFyIEY9ISF3aW5kb3cuX193YW5kSW1lTmF0aXZlO0Z8fChpcygyMjAwKSxHcj1EYXRlLm5vdygpKzEyMDAsTm4oITEpLGthKCkpLGMoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Rnx8KE5uKCExKSxrYSgpKSxldCgia2V5Ym9hcmQtY2xvc2UiLHtmb3JjZVJlcGxheTohMH0pLGZ0KCJrZXlib2FyZCIpfSwyMDApfXkmJnI9PT1nJiZldCgidmlld3BvcnQiKSxyPWcsdD1lLmhlaWdodH19dmFyIGY9bnVsbDtmdW5jdGlvbiB2KCl7ZiE9PW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKGYpLGY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7Zj1udWxsLGQoKX0pfWUuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix2KSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZnVuY3Rpb24oKXtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJih2KCksc2V0VGltZW91dCh2LDI0MCksc2V0VGltZW91dCh2LDcyMCkpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbihtKXttJiZtLnBlcnNpc3RlZCYmKHYoKSxzZXRUaW1lb3V0KHYsMjQwKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsZnVuY3Rpb24obSl7IW18fCFtLnRhcmdldHx8R2kobS50YXJnZXQpJiYoYXMoMTYwMCxtLnRhcmdldCksWWkoKSYmKEdyPU1hdGgubWF4KEdyLERhdGUubm93KCkrMTIwMCkpLHNldFRpbWVvdXQodiw4MCksc2V0VGltZW91dCh2LDQyMCkpfSksZCgpfWZ1bmN0aW9uIHRkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1yZXNpemUtaGFuZGxlIix0LmlubmVySFRNTD0iJiM4OTQyOyIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgcj0hMSxpPTAsYT0wO3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih1KXtyPSEwLGk9dS5jbGllbnRZLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Im5zLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIix1LnByZXZlbnREZWZhdWx0KCl9KSxuLnJlc2l6ZU1vdXNlTW92ZT1mdW5jdGlvbih1KXtpZihyKXt2YXIgcz11LmNsaWVudFktaSxvPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK3Msd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLE90KCl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLG4ucmVzaXplTW91c2VNb3ZlKSxuLnJlc2l6ZU1vdXNlVXA9ZnVuY3Rpb24oKXtyJiYocj0hMSxkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9IiIsT3QoKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG4ucmVzaXplTW91c2VVcCksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbih1KXtyPSEwLGk9dS50b3VjaGVzWzBdLmNsaWVudFksYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCx1LnByZXZlbnREZWZhdWx0KCl9LHtwYXNzaXZlOiExfSksbi5yZXNpemVUb3VjaE1vdmU9ZnVuY3Rpb24odSl7aWYocil7dmFyIHM9dS50b3VjaGVzWzBdLmNsaWVudFktaSxvPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK3Msd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLE90KCksdS5wcmV2ZW50RGVmYXVsdCgpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixuLnJlc2l6ZVRvdWNoTW92ZSx7cGFzc2l2ZTohMX0pLG4ucmVzaXplVG91Y2hFbmQ9ZnVuY3Rpb24oKXtyJiYocj0hMSxPdCgpKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG4ucmVzaXplVG91Y2hFbmQpfX1mdW5jdGlvbiB1cygpe3JldHVybiEhSHQoKX1mdW5jdGlvbiBRaShlKXt2YXIgdD1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJXaWR0aC1zaS1zbikscj1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJIZWlnaHQtc2ktc24pO3JldHVybntyaWdodDpNYXRoLm1pbihNYXRoLm1heChzbixlLnJpZ2h0KSx0KSxib3R0b206TWF0aC5taW4oTWF0aC5tYXgoc24sZS5ib3R0b20pLHIpfX1mdW5jdGlvbiBzcygpe2lmKG4uam95c3RpY2tCYWxsRWwpe3ZhciBlPVFpKG4uam95c3RpY2tQb3N8fHtyaWdodDoxOCxib3R0b206OTZ9KTtuLmpveXN0aWNrQmFsbEVsLnN0eWxlLnJpZ2h0PWUucmlnaHQrInB4IixuLmpveXN0aWNrQmFsbEVsLnN0eWxlLmJvdHRvbT1lLmJvdHRvbSsicHgifX1mdW5jdGlvbiBuZChlLHQpe3ZhciByPVFpKHtyaWdodDplLGJvdHRvbTp0fSk7bi5qb3lzdGlja1Bvcz1yO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1iYWxsLXBvcyIsSlNPTi5zdHJpbmdpZnkocikpfWNhdGNoe319ZnVuY3Rpb24gcmQoKXtmdW5jdGlvbiBlKHUscyxvKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ3anAta2V5Jysobz8iICIrbzoiIikrJyIgZGF0YS1rZXk9IicrdSsnIj4nK3MrIjwvYnV0dG9uPiJ9dmFyIHQ9JzxkaXYgY2xhc3M9IndqcC1kcGFkIj48ZGl2IGNsYXNzPSJ3anAtZHBhZC1yb3ciPicrZSgidXAiLCJcdTIxOTEiLCJ3anAtZGlyIikrJzwvZGl2PjxkaXYgY2xhc3M9IndqcC1kcGFkLXJvdyI+JytlKCJsZWZ0IiwiXHUyMTkwIiwid2pwLWRpciIpK2UoImRvd24iLCJcdTIxOTMiLCJ3anAtZGlyIikrZSgicmlnaHQiLCJcdTIxOTIiLCJ3anAtZGlyIikrIjwvZGl2PjwvZGl2PiIscj0iIixpO2ZvcihpPTA7aTx5YS5sZW5ndGg7aSsrKXIrPWUoeWFbaV0ua2V5LHlhW2ldLmxhYmVsLCIiKTt2YXIgYT0nPGRpdiBjbGFzcz0id2pwLWhlYWRlciI+PHNwYW4gY2xhc3M9IndqcC10aXRsZSI+JytKKCJwYXciLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuNixjbHM6IndqcC10aXRsZS1pY29uIn0pKyc8c3Bhbj5cdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0Y8L3NwYW4+PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0id2pwLWNsb3NlIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiPicrSigieCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pKyI8L2J1dHRvbj48L2Rpdj4iK3QrJzxkaXYgY2xhc3M9IndqcC1ncmlkIHdqcC1mbmtleXMiPicrcisiPC9kaXY+IjtyZXR1cm4gYX1mdW5jdGlvbiBpZCgpe2lmKCFuLmpveXN0aWNrUm9vdEVsKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1yb290Ijt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWNrZHJvcCIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1wYW5lbCIsci5pbm5lckhUTUw9cmQoKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmZCksZS5hcHBlbmRDaGlsZChyKTt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWxsIixpLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLGkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiV2FuZCBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiKSxpLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTcwQjlcdTUxRkJcdTYyNTNcdTVGMDBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0ZcdUZGMENcdTYyRDZcdTUyQThcdTUzRUZcdTc5RkJcdTUyQThcdTRGNERcdTdGNkUiKSxpLmlubmVySFRNTD1KKCJwYXciLHtzaXplOjI1LHN0cm9rZVdpZHRoOjEuNixjbHM6IndhbmQtam95c3RpY2stbG9nbyJ9KSxlLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksbi5qb3lzdGlja1Jvb3RFbD1lLG4uam95c3RpY2tCYWNrZHJvcEVsPXQsbi5qb3lzdGlja1BhbmVsRWw9cixuLmpveXN0aWNrQmFsbEVsPWksc3MoKSxpLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixhZCksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixmdW5jdGlvbihhKXtuLmpveXN0aWNrUGlubmVkT3BlbiYmbi5qb3lzdGlja0dlc3R1cmU9PW51bGwmJihhLnByZXZlbnREZWZhdWx0KCksZHIoKSl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX0pLG4uam95c3RpY2tSZXNpemVIYW5kbGVyPWZ1bmN0aW9uKCl7c3MoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLGRzKCl9fWZ1bmN0aW9uIGFkKGUpe2lmKHVzKCkmJiEoKGUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiIpJiZlLmJ1dHRvbiE9PTApJiZuLmpveXN0aWNrUG9pbnRlcklkPT09bnVsbCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHQ9ZS5wb2ludGVyVHlwZT09PSJtb3VzZSJ8fGUucG9pbnRlclR5cGU9PT0icGVuIjtuLmpveXN0aWNrUG9pbnRlcklkPWUucG9pbnRlcklkLG4uam95c3RpY2tQcmVzc1N0YXJ0PXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0OkRhdGUubm93KCl9LG4uam95c3RpY2tHZXN0dXJlPSJwZW5kaW5nIjt0cnl7bi5qb3lzdGlja0JhbGxFbC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fXR8fChuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uam95c3RpY2tHZXN0dXJlPT09InBlbmRpbmciJiZvcygpfSxRZikpLG4uam95c3RpY2tNb3ZlSGFuZGxlcj11ZCxuLmpveXN0aWNrVXBIYW5kbGVyPXNkLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixuLmpveXN0aWNrTW92ZUhhbmRsZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsbi5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsbi5qb3lzdGlja1VwSGFuZGxlcil9fWZ1bmN0aW9uIG9zKCl7bi5qb3lzdGlja0dlc3R1cmU9Im1vdmUiLG4uam95c3RpY2tQaW5uZWRPcGVuJiZkcigpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxuLmpveXN0aWNrQmFja2Ryb3BFbCYmbi5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIil9ZnVuY3Rpb24gbHMoZSx0KXtpZihuLmpveXN0aWNrQmFsbEVsKXt2YXIgcj1RaSh7cmlnaHQ6d2luZG93LmlubmVyV2lkdGgtZS1zaS8yLGJvdHRvbTp3aW5kb3cuaW5uZXJIZWlnaHQtdC1zaS8yfSk7bi5qb3lzdGlja0JhbGxFbC5zdHlsZS5yaWdodD1yLnJpZ2h0KyJweCIsbi5qb3lzdGlja0JhbGxFbC5zdHlsZS5ib3R0b209ci5ib3R0b20rInB4In19ZnVuY3Rpb24gdWQoZSl7aWYoIShlLnBvaW50ZXJJZCE9PW4uam95c3RpY2tQb2ludGVySWR8fCFuLmpveXN0aWNrQmFsbEVsKSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uam95c3RpY2tHZXN0dXJlPT09Im1vdmUiKXtscyhlLmNsaWVudFgsZS5jbGllbnRZKTtyZXR1cm59aWYobi5qb3lzdGlja0dlc3R1cmU9PT0icGVuZGluZyIpe3ZhciB0PWUuY2xpZW50WC1uLmpveXN0aWNrUHJlc3NTdGFydC54LHI9ZS5jbGllbnRZLW4uam95c3RpY2tQcmVzc1N0YXJ0Lnk7TWF0aC5zcXJ0KHQqdCtyKnIpPD0kZnx8KGUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiI/KG9zKCksbHMoZS5jbGllbnRYLGUuY2xpZW50WSkpOihuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQobi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksbi5qb3lzdGlja0dlc3R1cmU9ImNhbmNlbGxlZCIpKX19fWZ1bmN0aW9uIHNkKGUpe2lmKGUucG9pbnRlcklkPT09bi5qb3lzdGlja1BvaW50ZXJJZCl7bi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyJiYoY2xlYXJUaW1lb3V0KG4uam95c3RpY2tMb25nUHJlc3NUaW1lciksbi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPW51bGwpO3ZhciB0PW4uam95c3RpY2tHZXN0dXJlO2lmKHQ9PT0icGVuZGluZyIpe3ZhciByPWUuY2xpZW50WC1uLmpveXN0aWNrUHJlc3NTdGFydC54LGk9ZS5jbGllbnRZLW4uam95c3RpY2tQcmVzc1N0YXJ0Lnk7TWF0aC5zcXJ0KHIqcitpKmkpPD1YZiYmY2QoKX1lbHNlIGlmKHQ9PT0ibW92ZSIpe3ZhciBhPW4uam95c3RpY2tCYWxsRWw/bi5qb3lzdGlja0JhbGxFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTpudWxsO2EmJm5kKHdpbmRvdy5pbm5lcldpZHRoLWEucmlnaHQsd2luZG93LmlubmVySGVpZ2h0LWEuYm90dG9tKX1jcygpfX1mdW5jdGlvbiBjcygpe2lmKG4uam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLG4uam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKSxuLmpveXN0aWNrQmFsbEVsJiZuLmpveXN0aWNrUG9pbnRlcklkIT09bnVsbCl0cnl7bi5qb3lzdGlja0JhbGxFbC5yZWxlYXNlUG9pbnRlckNhcHR1cmUobi5qb3lzdGlja1BvaW50ZXJJZCl9Y2F0Y2h7fW4uam95c3RpY2tNb3ZlSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixuLmpveXN0aWNrTW92ZUhhbmRsZXIpLG4uam95c3RpY2tNb3ZlSGFuZGxlcj1udWxsKSxuLmpveXN0aWNrVXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixuLmpveXN0aWNrVXBIYW5kbGVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixuLmpveXN0aWNrVXBIYW5kbGVyKSxuLmpveXN0aWNrVXBIYW5kbGVyPW51bGwpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxuLmpveXN0aWNrQmFja2Ryb3BFbCYmIW4uam95c3RpY2tQaW5uZWRPcGVuJiZuLmpveXN0aWNrQmFja2Ryb3BFbC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuLmpveXN0aWNrUG9pbnRlcklkPW51bGwsbi5qb3lzdGlja0dlc3R1cmU9bnVsbCxuLmpveXN0aWNrUHJlc3NTdGFydD1udWxsfWZ1bmN0aW9uIG9kKGUpe2lmKGU9PT0iY3RybCJ8fGU9PT0iYWx0Inx8ZT09PSJzaGlmdCIpe24ubW9kaWZpZXJzW2VdPSFuLm1vZGlmaWVyc1tlXSxmcigpO3JldHVybn12YXIgdD1IdCgpO2lmKHQmJm9lKHQpKXsoZT09PSJjdHJsX2MifHxlPT09ImVzY2FwZSIpJiZsZCh0LGUpLGxpKCksZnIoKTtyZXR1cm59dmFyIHI9UXMoZSx7Y3RybDpuLm1vZGlmaWVycy5jdHJsLGFsdDpuLm1vZGlmaWVycy5hbHQsc2hpZnQ6bi5tb2RpZmllcnMuc2hpZnR9KTtyJiZZcyhyLGUpLGxpKCksZnIoKSxvcCgpfWZ1bmN0aW9uIGxkKGUsdCl7IWV8fCFlLmlkfHxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrZS5pZCsiL21lc3NhZ2VzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6IiIsaW50ZXJydXB0OiEwLHByZXNlcnZlUXVldWU6ITB9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIub2s/ci5qc29uKCk6ci5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oaSl7dGhyb3cgbmV3IEVycm9yKGkmJmkuZXJyb3J8fCJcdTRFMkRcdTY1QURcdTU5MzFcdThEMjUgKGtleT0iK3QrIikiKX0pfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmlkJiYoWihyKSxyLmlkPT09bi5zZWxlY3RlZElkKSl7dmFyIGk9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5pZH0pfHxyO24uY3VycmVudE1lc3NhZ2VzPVJlKGksdHQoaSxyLm91dHB1dCwhMSkpLGNyKCEwKSx0eXBlb2YgRHQ9PSJmdW5jdGlvbiImJkR0KCl9fSkuY2F0Y2goZnVuY3Rpb24ocil7ciYmci5tZXNzYWdlJiZjb25zb2xlLmRlYnVnKCJbd2FuZF0gam95c3RpY2sgaW50ZXJydXB0IG5vLW9wOiIsci5tZXNzYWdlKX0pfWZ1bmN0aW9uIGNkKCl7bi5qb3lzdGlja1Bpbm5lZE9wZW4/ZHIoKTpkZCgpfWZ1bmN0aW9uIGRkKCl7aWYoISghbi5qb3lzdGlja1BhbmVsRWx8fCFuLmpveXN0aWNrQmFsbEVsKSl7bi5qb3lzdGlja1Bpbm5lZE9wZW49ITA7dmFyIGU9bi5qb3lzdGlja0JhbGxFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtuLmpveXN0aWNrUGFuZWxFbC5zdHlsZS5yaWdodD1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJXaWR0aC1lLnJpZ2h0KSsicHgiLG4uam95c3RpY2tQYW5lbEVsLnN0eWxlLmJvdHRvbT1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJIZWlnaHQtZS50b3ArMTApKyJweCIsbi5qb3lzdGlja1BhbmVsRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksbi5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QuYWRkKCJwYW5lbC1vcGVuIiksbi5qb3lzdGlja0JhY2tkcm9wRWwmJm4uam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLGZyKCl9fWZ1bmN0aW9uIGRyKCl7bi5qb3lzdGlja1Bpbm5lZE9wZW49ITEsbi5qb3lzdGlja1BhbmVsRWwmJm4uam95c3RpY2tQYW5lbEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LnJlbW92ZSgicGFuZWwtb3BlbiIpLG4uam95c3RpY2tCYWNrZHJvcEVsJiZuLmpveXN0aWNrR2VzdHVyZT09bnVsbCYmbi5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIil9ZnVuY3Rpb24gZnIoKXtuLmpveXN0aWNrUGFuZWxFbCYmWyJjdHJsIiwiYWx0Il0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1uLmpveXN0aWNrUGFuZWxFbC5xdWVyeVNlbGVjdG9yKCcud2pwLW1vZFtkYXRhLWtleT0iJytlKyciXScpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIW4ubW9kaWZpZXJzW2VdKX0pfWZ1bmN0aW9uIGZkKGUpe3ZhciB0PWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAtY2xvc2UiKTpudWxsO2lmKHQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLGRyKCk7cmV0dXJufXZhciByPWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAta2V5Iik6bnVsbDtpZihyKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1rZXkiKTtpJiZvZChpKX19ZnVuY3Rpb24gZHMoKXt2YXIgZT1uLmpveXN0aWNrUm9vdEVsO2lmKGUpe3ZhciB0PXVzKCk7ZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIix0KSx0fHwoKG4uam95c3RpY2tQb2ludGVySWQhPT1udWxsfHxuLmpveXN0aWNrR2VzdHVyZSkmJmNzKCksbi5qb3lzdGlja1Bpbm5lZE9wZW4mJmRyKCksbi5qb3lzdGlja0JhY2tkcm9wRWwmJm4uam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpKX19ZnVuY3Rpb24gcGQoKXtuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQobi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksbi5qb3lzdGlja01vdmVIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLG4uam95c3RpY2tNb3ZlSGFuZGxlciksbi5qb3lzdGlja01vdmVIYW5kbGVyPW51bGwpLG4uam95c3RpY2tVcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLG4uam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLG4uam95c3RpY2tVcEhhbmRsZXIpLG4uam95c3RpY2tVcEhhbmRsZXI9bnVsbCksbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLmpveXN0aWNrUmVzaXplSGFuZGxlciksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixuLmpveXN0aWNrUmVzaXplSGFuZGxlciksbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXI9bnVsbCksbi5qb3lzdGlja1Jvb3RFbCYmbi5qb3lzdGlja1Jvb3RFbC5wYXJlbnROb2RlJiZuLmpveXN0aWNrUm9vdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobi5qb3lzdGlja1Jvb3RFbCksbi5qb3lzdGlja1Jvb3RFbD1udWxsLG4uam95c3RpY2tQYW5lbEVsPW51bGwsbi5qb3lzdGlja0JhY2tkcm9wRWw9bnVsbCxuLmpveXN0aWNrQmFsbEVsPW51bGwsbi5qb3lzdGlja1BvaW50ZXJJZD1udWxsLG4uam95c3RpY2tHZXN0dXJlPW51bGwsbi5qb3lzdGlja1ByZXNzU3RhcnQ9bnVsbCxuLmpveXN0aWNrUGlubmVkT3Blbj0hMX1mdW5jdGlvbiB2ZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihlKXt2YXIgdD0hUGUoKTtuLnJlc2l6ZUhhbmRsZXI9ZnVuY3Rpb24oKXtPdCghMCk7dmFyIHI9IVBlKCk7dCE9PXImJih0PXIsIXImJm4uc2lkZWJhclBpbm5lZCYmbi5zZXNzaW9uc0RyYXdlck9wZW4/KG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHhyKCkpOnImJm4uc2lkZWJhclBpbm5lZCYmIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuJiYobi5zZXNzaW9uc0RyYXdlck9wZW49ITAsa2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMCkseHIoKSkpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnJlc2l6ZUhhbmRsZXIpLHdpbmRvdy52aXN1YWxWaWV3cG9ydCYmKG4udmlzdWFsVmlld3BvcnRIYW5kbGVyPWZ1bmN0aW9uKCl7T3QoITApfSx3aW5kb3cudmlzdWFsVmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnZpc3VhbFZpZXdwb3J0SGFuZGxlcikpLG4udmlzaWJpbGl0eUhhbmRsZXI9ZnVuY3Rpb24oKXtkb2N1bWVudC5oaWRkZW58fGV0KCJ2aXNpYmlsaXR5Iix7Zm9yY2VSZXBsYXk6ITB9KX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbi52aXNpYmlsaXR5SGFuZGxlciksbi5vcmllbnRhdGlvbkhhbmRsZXI9ZnVuY3Rpb24oKXtldCgib3JpZW50YXRpb24iLHtmb3JjZVJlcGxheTohMH0pfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLG4ub3JpZW50YXRpb25IYW5kbGVyKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtPdCghMCl9KX19ZnVuY3Rpb24gbWQoKXtuLnRlcm1pbmFsSGVhbHRoVGltZXJ8fChuLnRlcm1pbmFsSGVhbHRoVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZighKCFuLnRlcm1pbmFsfHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsInx8ZG9jdW1lbnQuaGlkZGVuKSl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7aWYoISghZXx8ZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIikpe2V0KCJoZWFsdGgiKTt2YXIgdD1EYXRlLm5vdygpLHI9bi5sYXN0Q2h1bmtBdD4wJiZ0LW4ubGFzdENodW5rQXQ+MzAwLGk9dC1uLmxhc3RUZXJtaW5hbFJlc3luY0F0PjNlNCxhPW4ubGFzdENodW5rQXQ+bi5sYXN0VGVybWluYWxSZXN5bmNBdDtpJiZhJiYocnx8ZS5zdGF0dXMhPT0icnVubmluZyIpJiZuLnRlcm1pbmFsT3V0cHV0JiZDbigpfX19LDVlMykpfWZ1bmN0aW9uIGdkKCl7bi50ZXJtaW5hbEhlYWx0aFRpbWVyJiYoY2xlYXJJbnRlcnZhbChuLnRlcm1pbmFsSGVhbHRoVGltZXIpLG4udGVybWluYWxIZWFsdGhUaW1lcj1udWxsKX1mdW5jdGlvbiBwcigpe2dkKCksbi5yZXNpemVUaW1lciYmKGNsZWFyVGltZW91dChuLnJlc2l6ZVRpbWVyKSxuLnJlc2l6ZVRpbWVyPW51bGwpLG4ucmVzaXplT2JzZXJ2ZXImJihuLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSxuLnJlc2l6ZU9ic2VydmVyPW51bGwpLG4ucmVzaXplSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLG4ucmVzaXplSGFuZGxlciksbi5yZXNpemVIYW5kbGVyPW51bGwpLG4udmlzdWFsVmlld3BvcnRIYW5kbGVyJiZ3aW5kb3cudmlzdWFsVmlld3BvcnQmJih3aW5kb3cudmlzdWFsVmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnZpc3VhbFZpZXdwb3J0SGFuZGxlciksbi52aXN1YWxWaWV3cG9ydEhhbmRsZXI9bnVsbCksbi52aXNpYmlsaXR5SGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLG4udmlzaWJpbGl0eUhhbmRsZXIpLG4udmlzaWJpbGl0eUhhbmRsZXI9bnVsbCksbi5vcmllbnRhdGlvbkhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLG4ub3JpZW50YXRpb25IYW5kbGVyKSxuLm9yaWVudGF0aW9uSGFuZGxlcj1udWxsKSxbWyJtb3VzZW1vdmUiLCJyZXNpemVNb3VzZU1vdmUiXSxbIm1vdXNldXAiLCJyZXNpemVNb3VzZVVwIl0sWyJ0b3VjaG1vdmUiLCJyZXNpemVUb3VjaE1vdmUiXSxbInRvdWNoZW5kIiwicmVzaXplVG91Y2hFbmQiXV0uZm9yRWFjaChmdW5jdGlvbihhKXtuW2FbMV1dJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhWzBdLG5bYVsxXV0pLG5bYVsxXV09bnVsbCl9KSxSbigpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihuLnRlcm1pbmFsVmlld3BvcnRFbCYmKG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXImJm4udGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbi50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlciksbi50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyJiZuLnRlcm1pbmFsVmlld3BvcnRFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlciksbi50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXImJm4udGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyKSksZSYmKG4udGVybWluYWxXaGVlbEhhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLG4udGVybWluYWxXaGVlbEhhbmRsZXIpLG4udGVybWluYWxDbGlja0hhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLG4udGVybWluYWxDbGlja0hhbmRsZXIpKSxuLnRlcm1pbmFsVmlld3BvcnRFbD1udWxsLG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcj1udWxsLG4udGVybWluYWxXaGVlbEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmKGNsZWFyVGltZW91dChuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwpLG4udGVybWluYWxTY3JvbGxiYXJFbCYmbi50ZXJtaW5hbFNjcm9sbGJhckVsLnBhcmVudE5vZGUmJm4udGVybWluYWxTY3JvbGxiYXJFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4udGVybWluYWxTY3JvbGxiYXJFbCksbi50ZXJtaW5hbFNjcm9sbGJhckVsPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhclRodW1iRWw9bnVsbCxuLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsbi50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITEsbi50ZXJtaW5hbCYmKG4udGVybWluYWwuZGVzdHJveSgpLG4udGVybWluYWw9bnVsbCksZSlmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtc2Nyb2xsLXdyYXAiKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07aS5wYXJlbnROb2RlPT09ZSYmZS5yZW1vdmVDaGlsZChpKX1yYSgpLG4uc3luY091dHB1dEJ1ZmZlcj1udWxsLG4uc3luY091dHB1dERlYWRsaW5lPTAsbi5zeW5jRnJhbWluZ1Jlc2lkdWU9ITEsbi50ZXJtaW5hbFNlc3Npb25JZD1udWxsLG4udGVybWluYWxPdXRwdXQ9IiIsbi50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLG4udGVybWluYWxBdXRvRm9sbG93PSEwLG4uc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPSExLHN0KCksbi5zb2Z0UmVzeW5jVGltZXImJihjbGVhclRpbWVvdXQobi5zb2Z0UmVzeW5jVGltZXIpLG4uc29mdFJlc3luY1RpbWVyPW51bGwpLG4uX3Jlc3luY0NodW5rVGFpbFRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uX3Jlc3luY0NodW5rVGFpbFRpbWVyKSxuLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsKSxuLl9yZXN5bmNDaHVua0xhc3RBdD0wLG4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9MCxuLl9yZXN5bmNTdGF0c0NvdW50PTAsbi5fcmVzeW5jTGFzdFdhcm5BdD0wLG4uX3Jlc3luY0luUHJvZ3Jlc3M9ITEsbi5sYXN0UmVzaXplPXtjb2xzOjAscm93czowfSxwZCgpfWZ1bmN0aW9uIFFyKGUsdCl7aWYobi5zZWxlY3RlZElkKXt2YXIgcj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZighKCFyfHxyLnN0YXR1cyE9PSJydW5uaW5nIikmJiFvZShyKSl7ZT4yNTYmJihlPTI1NiksdD4xNjAmJih0PTE2MCk7dmFyIGk9e2NvbHM6ZSxyb3dzOnR9OyhuLmxhc3RSZXNpemUuY29scyE9PWkuY29sc3x8bi5sYXN0UmVzaXplLnJvd3MhPT1pLnJvd3MpJiYobi5sYXN0UmVzaXplPWksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIituLnNlbGVjdGVkSWQrIi9yZXNpemUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSl9fX1mdW5jdGlvbiBldChlLHQpe2lmKCFuLnRlcm1pbmFsKXJldHVybiExO3ZhciByPXR8fHt9LGk9ci5mb3JjZVJlcGxheT09PSEwLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCFhfHxhLm9mZnNldFdpZHRoPT09MHx8YS5vZmZzZXRIZWlnaHQ9PT0wKXJldHVybiB2cihlfHwiZml0LXJldHJ5Iix7Zm9yY2VSZXBsYXk6aX0pLCExO3ZhciB1PW4udGVybWluYWxBdXRvRm9sbG93fHxlYSgpLHM9bi50ZXJtaW5hbC5jb2xzLG89bi50ZXJtaW5hbC5yb3dzO3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtpZihuLnRlcm1pbmFsKXt0eXBlb2Ygbi50ZXJtaW5hbC5yZW1lYXN1cmU9PSJmdW5jdGlvbiImJm4udGVybWluYWwucmVtZWFzdXJlKCksUXIobi50ZXJtaW5hbC5jb2xzLG4udGVybWluYWwucm93cyk7dmFyIGw9bi50ZXJtaW5hbC5jb2xzIT09c3x8bi50ZXJtaW5hbC5yb3dzIT09bzshbCYmaSYmbi50ZXJtaW5hbE91dHB1dCYmQ24oe3NraXBGaXQ6ITB9KSx1JiZmdCgiZm9yY2UiKX19KX0pLCEwfWZ1bmN0aW9uIHZyKGUsdCl7aWYoIW4udGVybWluYWwpcmV0dXJuO3ZhciByPXR8fHt9LGk9ci5mb3JjZVJlcGxheSE9PSExLGE9MCx1PTg7ZnVuY3Rpb24gcygpe2lmKG4udGVybWluYWwpe3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihvJiZvLm9mZnNldEhlaWdodCxvJiZvLm9mZnNldFdpZHRoPjAmJm8ub2Zmc2V0SGVpZ2h0PjApe2V0KGUse2ZvcmNlUmVwbGF5Oml9KTtyZXR1cm59KythPj11fHwoYTw9ND9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocyk6c2V0VGltZW91dChzLDMyKSl9fXMoKX1mdW5jdGlvbiBPdChlKXtuLnJlc2l6ZVRpbWVyJiYoY2xlYXJUaW1lb3V0KG4ucmVzaXplVGltZXIpLG4ucmVzaXplVGltZXI9bnVsbCk7dmFyIHQ9ZT8wOjEwMDtuLnJlc2l6ZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnJlc2l6ZVRpbWVyPW51bGwscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGhkKX0sdCl9ZnVuY3Rpb24gaGQoKXtpZihuLnRlcm1pbmFsKXt2YXIgZT1uLnRlcm1pbmFsQXV0b0ZvbGxvd3x8ZWEoKTtlJiZmdCgiZm9yY2UiKSxRcihuLnRlcm1pbmFsLmNvbHMsbi50ZXJtaW5hbC5yb3dzKX19ZnVuY3Rpb24gWXQoZSl7bi53b3JraW5nRGlyPWU7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIixlKX1jYXRjaHt9eWQoZSl9ZnVuY3Rpb24gJGkoZSl7ZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtlKHR8fFtdKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZShbXSl9KX1mdW5jdGlvbiB5ZChlKXtyZXR1cm4gZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDplfSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFhpKGUpe3ZhciB0PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PWV9KTt0JiZ0LnN0YXR1cyE9PSJydW5uaW5nIiYmIW9lKHQpP25vKGUpOlJ0KGUpLFd0KCl9ZnVuY3Rpb24gYmQoZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgcj10LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIik7aWYociYmciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtpZihyLmRhdGFzZXQuY29sbGFwc2VkTmV3U2Vzc2lvbil7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksVmEoKTtyZXR1cm59aWYoci5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksWGkoci5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCk7cmV0dXJufWlmKHIuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPXIuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQsYT1yLmRhdGFzZXQuY3dkfHwiIjtjaShpLGEpLnRoZW4oZnVuY3Rpb24odil7diYmdi5pZCYmKG4uc2VsZWN0ZWRJZD12LmlkLHllKCksbi5kcmFmdHNbdi5pZF09IiIsZG4oKS50aGVuKGZ1bmN0aW9uKCl7UnQodi5pZCl9KSl9KTtyZXR1cm59fXZhciB1PXQuY2xvc2VzdCgiI2NsYXVkZS1oaXN0b3J5LXRvZ2dsZSIpO2lmKHUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSFuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCxuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCYmIW4uY2xhdWRlSGlzdG9yeUxvYWRlZCYmS3IoKSx2ZSgpO3JldHVybn12YXIgcz10LmNsb3Nlc3QoIltkYXRhLWFjdGlvbl0iKTtpZihzJiZzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLW1hbmFnZS1tb2RlIilMYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJzZWxlY3QtYWxsLXZpc2libGUiKUt1KCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImNsZWFyLXNlbGVjdGlvbiIpcWMoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLXNlbGVjdGVkIilPYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtc2VsZWN0aW9uIilscihzLmRhdGFzZXQua2luZCxzLmRhdGFzZXQuaWQpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtc2Vzc2lvbiImJnMuZGF0YXNldC5zZXNzaW9uSWQpKGZ1bmN0aW9uKHYpe0huKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdThGRDlcdTRFMkFcdTRGMUFcdThCRERcdTU0MTdcdUZGMUZcdTZCNjRcdTY0Q0RcdTRGNUNcdTY1RTBcdTZDRDVcdTY0QTRcdTk1MDBcdTMwMDIiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24obSl7bSYmJHModil9KX0pKHMuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpKGZ1bmN0aW9uKHYsbSl7SG4oIlx1Nzg2RVx1OEJBNFx1OTY5MFx1ODVDRlx1OEZEOVx1Njc2MSBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU1NDE3XHVGRjFGIix7dGl0bGU6Ilx1OTY5MFx1ODVDRlx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCIsb2tMYWJlbDoiXHU5NjkwXHU4NUNGIn0pLnRoZW4oZnVuY3Rpb24oYil7YiYmWHModixtKX0pfSkocy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCxzLmNsb3Nlc3QoIi5zZXNzaW9uLWl0ZW0iKSk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1oaXN0b3J5LWRpcmVjdG9yeSImJnMuZGF0YXNldC5jd2Qpe3ZhciBvPXMuZGF0YXNldC5jd2Q7bi5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzW29dPSFuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnNbb10sdmUoKX1lbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWhpc3RvcnktZGlyZWN0b3J5IiYmcy5kYXRhc2V0LmN3ZCkoZnVuY3Rpb24odixtKXt2YXIgYj1ncCh2KSxnPVBuKCkuZmlsdGVyKGZ1bmN0aW9uKHkpe3JldHVybiB5LmN3ZD09PXZ9KS5sZW5ndGg7SG4oIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NEUwQlx1NzY4NCAiK2crIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0FcdTc2RUVcdTVGNTVcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKHkpe3kmJihacyhiLCEwKSxtcCh2LG0sYikpfSl9KShzLmRhdGFzZXQuY3dkLHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJjbGVhci1hbGwtaGlzdG9yeSIpUGMoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIiluLmFyY2hpdmVkRXhwYW5kZWQ9IW4uYXJjaGl2ZWRFeHBhbmRlZCx2ZSgpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUiJiZzLmRhdGFzZXQuc2Vzc2lvbklkKWJwKHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpQ3Aocyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZS1jb2RleC1oaXN0b3J5IiYmcy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZClFcChzKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWNvZGV4LWhpc3RvcnkiJiZzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKXdwKHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtY29kZXgtaGlzdG9yeS1kaXJlY3RvcnkiJiZzLmRhdGFzZXQuY3dkKXt2YXIgbD1zLmRhdGFzZXQuY3dkO24uY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzW2xdPSFuLmNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyc1tsXSx2ZSgpfWVsc2Ugcy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1tZXJnZSImJnMuZGF0YXNldC5zZXNzaW9uSWQ/WW8ocy5kYXRhc2V0LnNlc3Npb25JZCk6cy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1jbGVhbnVwIiYmcy5kYXRhc2V0LnNlc3Npb25JZCYmR28ocy5kYXRhc2V0LnNlc3Npb25JZCk7cmV0dXJufXZhciBjPXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKGMpe2lmKG4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXtjLmRhdGFzZXQuc2Vzc2lvbklkP2xyKCJzZXNzaW9ucyIsYy5kYXRhc2V0LnNlc3Npb25JZCk6Yy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmbHIoImhpc3RvcnkiLGMuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpO3JldHVybn1pZihjLmNsYXNzTGlzdC5jb250YWlucygic3dpcGVkIikpe0JyKCk7cmV0dXJufWlmKGVvKXJldHVybjtpZihjLmRhdGFzZXQuc2Vzc2lvbklkKVhpKGMuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYoYy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCl7dmFyIGQ9Yy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCxmPWMuZGF0YXNldC5jd2Q7Y2koZCxmKS50aGVuKGZ1bmN0aW9uKHYpe3YmJnYuaWQmJihuLnNlbGVjdGVkSWQ9di5pZCx5ZSgpLG4uZHJhZnRzW3YuaWRdPSIiLGRuKCkudGhlbihmdW5jdGlvbigpe1J0KHYuaWQpLFd0KCl9KSl9KX19fX1mdW5jdGlvbiBFZChlKXtpZighKGUua2V5IT09IkVudGVyIiYmZS5rZXkhPT0iICIpKXt2YXIgdD1lLnRhcmdldC5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aWYodCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXt0LmRhdGFzZXQuc2Vzc2lvbklkP2xyKCJzZXNzaW9ucyIsdC5kYXRhc2V0LnNlc3Npb25JZCk6dC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmbHIoImhpc3RvcnkiLHQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpO3JldHVybn1pZih0LmRhdGFzZXQuc2Vzc2lvbklkKVhpKHQuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYodC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCl7dmFyIHI9dC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCxpPXQuZGF0YXNldC5jd2Q7Y2kocixpKS50aGVuKGZ1bmN0aW9uKGEpe2EmJmEuaWQmJihuLnNlbGVjdGVkSWQ9YS5pZCx5ZSgpLG4uZHJhZnRzW2EuaWRdPSIiLGRuKCkudGhlbihmdW5jdGlvbigpe1J0KGEuaWQpLFd0KCl9KSl9KX19fX1mdW5jdGlvbiBaaShlLHQpe3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKHIpe3ZhciBpPXJbZV07aWYoIWkpe2soIlx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NkNBMVx1NjcwOVx1NTNFRlx1NTkwRFx1NTIzNlx1NzY4NFx1NTE4NVx1NUJCOVx1MzAwMiIsImVycm9yIik7cmV0dXJufUxyKFN0cmluZyhpKSxudWxsLGZ1bmN0aW9uKCl7ayh0fHwiXHU1REYyXHU1OTBEXHU1MjM2IiwiaW5mbyIpfSl9fWZ1bmN0aW9uIHd0KCl7cmV0dXJuIW4udGVybWluYWx8fCFuLnRlcm1pbmFsLmVsZW1lbnQ/bnVsbDoobi50ZXJtaW5hbFZpZXdwb3J0RWw9bi50ZXJtaW5hbC5lbGVtZW50LG4udGVybWluYWxWaWV3cG9ydEVsKX1mdW5jdGlvbiBSbigpe24udGVybWluYWxTY3JvbGxJZGxlVGltZXImJihjbGVhclRpbWVvdXQobi50ZXJtaW5hbFNjcm9sbElkbGVUaW1lciksbi50ZXJtaW5hbFNjcm9sbElkbGVUaW1lcj1udWxsKX1mdW5jdGlvbiBzdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1qdW1wLWJvdHRvbSIpLHQ9ISFuLnNlbGVjdGVkSWQmJm4uY3VycmVudFZpZXc9PT0idGVybWluYWwiJiYhbi50ZXJtaW5hbEF1dG9Gb2xsb3cmJiFmcygpO24uc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPXQsZSYmZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIix0KTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7ciYmci5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtanVtcC1idG4iLHQpfWZ1bmN0aW9uIGVhKCl7dmFyIGU9d3QoKTtpZighZSlyZXR1cm4hMDt2YXIgdD1lLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC1lLnNjcm9sbFRvcDtyZXR1cm4gdDw9bi50ZXJtaW5hbFNjcm9sbFRocmVzaG9sZH1mdW5jdGlvbiBmcygpe3ZhciBlPXd0KCk7aWYoIWUpcmV0dXJuITA7dmFyIHQ9ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQtZS5zY3JvbGxUb3A7cmV0dXJuIHQ8PTJ9ZnVuY3Rpb24gcHMoZSl7aWYobi50ZXJtaW5hbCl7dmFyIHQ9d3QoKTtpZih0KXt2YXIgcj1lPzUwMDoxMjA7bi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPU1hdGgubWF4KG4udGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCxEYXRlLm5vdygpK3IpLGU/dC5zY3JvbGxUbyh7dG9wOnQuc2Nyb2xsSGVpZ2h0LGJlaGF2aW9yOiJzbW9vdGgifSk6dC5zY3JvbGxUb3A9dC5zY3JvbGxIZWlnaHR9fX1mdW5jdGlvbiB0YSgpe24udGVybWluYWxBdXRvRm9sbG93PSExLFJuKCksbi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPTAsbi50ZXJtaW5hbCYmIl9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBuLnRlcm1pbmFsJiYobi50ZXJtaW5hbC5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209ITEpLHN0KCl9ZnVuY3Rpb24gZnQoZSl7aWYobi50ZXJtaW5hbCl7dmFyIHQ9ZT09PSJmb3JjZSI7aWYodCl7bi50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsUm4oKSxwcyghMSksc3QoKTtyZXR1cm59aWYoIW4udGVybWluYWxBdXRvRm9sbG93KXtzdCgpO3JldHVybn1wcyghMSksc3QoKX19ZnVuY3Rpb24gRmQoZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhciI7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhci10cmFjayI7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhci10aHVtYiIsci5hcHBlbmRDaGlsZChpKSx0LmFwcGVuZENoaWxkKHIpLGUuYXBwZW5kQ2hpbGQodCksbi50ZXJtaW5hbFNjcm9sbGJhckVsPXQsbi50ZXJtaW5hbFNjcm9sbGJhclRodW1iRWw9aSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLG4udGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nPSExO2Z1bmN0aW9uIGEoKXtuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiYoY2xlYXJUaW1lb3V0KG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXIpLG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCksdC5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9ZnVuY3Rpb24gdSgpe24udGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8KG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXImJmNsZWFyVGltZW91dChuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nfHx0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0sMTUwMCkpfWZ1bmN0aW9uIHMoKXtuLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMTt2YXIgZz13dCgpO2lmKGcpe3ZhciB5PWcuc2Nyb2xsSGVpZ2h0LHc9Zy5jbGllbnRIZWlnaHQ7aWYoeTw9dyl7dC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIik7cmV0dXJufXZhciBGPXIuY2xpZW50SGVpZ2h0LEU9TWF0aC5tYXgoMjgsdy95KkYpLEE9eS13LHg9Zy5zY3JvbGxUb3AvQSxTPXgqKEYtRSk7aS5zdHlsZS5oZWlnaHQ9RSsicHgiLGkuc3R5bGUudG9wPVMrInB4In19ZnVuY3Rpb24gbygpe24udGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nfHwobi50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKHMpKX12YXIgbD13dCgpO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmdW5jdGlvbigpe2EoKSxvKCksdSgpfSx7cGFzc2l2ZTohMH0pLHIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbihnKXtpZihnLnRhcmdldCE9PWkpe2cucHJldmVudERlZmF1bHQoKTt2YXIgeT13dCgpO2lmKHkpe3ZhciB3PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksRj0oZy5jbGllbnRZLXcudG9wKS93LmhlaWdodCxFPXkuc2Nyb2xsSGVpZ2h0LXkuY2xpZW50SGVpZ2h0O3kuc2Nyb2xsVG9wPUYqRX19fSk7dmFyIGM9MCxkPTA7aS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGcpe2cucHJldmVudERlZmF1bHQoKSxnLnN0b3BQcm9wYWdhdGlvbigpLG4udGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMCxpLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksYz1nLmNsaWVudFk7dmFyIHk9d3QoKTtkPXk/eS5zY3JvbGxUb3A6MCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGYpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHYpfSk7ZnVuY3Rpb24gZihnKXtnLnByZXZlbnREZWZhdWx0KCk7dmFyIHk9d3QoKTtpZih5KXt2YXIgdz1yLmNsaWVudEhlaWdodCxGPXkuc2Nyb2xsSGVpZ2h0LEU9eS5jbGllbnRIZWlnaHQsQT1GLUU7aWYoIShBPD0wKSl7dmFyIHg9TWF0aC5tYXgoMjgsRS9GKncpLFM9dy14O2lmKCEoUzw9MCkpe3ZhciBQPWcuY2xpZW50WS1jLHo9UC9TKkE7eS5zY3JvbGxUb3A9ZCt6fX19fWZ1bmN0aW9uIHYoKXtuLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdiksdSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oZyl7aWYoZy50b3VjaGVzLmxlbmd0aD09PTEpe2cuc3RvcFByb3BhZ2F0aW9uKCksbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSEwLGkuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxjPWcudG91Y2hlc1swXS5jbGllbnRZO3ZhciB5PXd0KCk7ZD15P3kuc2Nyb2xsVG9wOjAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtLHtwYXNzaXZlOiExfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixiKX19LHtwYXNzaXZlOiExfSk7ZnVuY3Rpb24gbShnKXtpZihnLnRvdWNoZXMubGVuZ3RoPT09MSl7Zy5wcmV2ZW50RGVmYXVsdCgpO3ZhciB5PXd0KCk7aWYoeSl7dmFyIHc9ci5jbGllbnRIZWlnaHQsRj15LnNjcm9sbEhlaWdodCxFPXkuY2xpZW50SGVpZ2h0LEE9Ri1FO2lmKCEoQTw9MCkpe3ZhciB4PU1hdGgubWF4KDI4LEUvRip3KSxTPXcteDtpZighKFM8PTApKXt2YXIgUD1nLnRvdWNoZXNbMF0uY2xpZW50WS1jLHo9UC9TKkE7eS5zY3JvbGxUb3A9ZCt6fX19fX1mdW5jdGlvbiBiKCl7bi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixiKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsYiksdSgpfXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZnVuY3Rpb24oKXthKCl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7bi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nfHx1KCl9KSxvKCl9ZnVuY3Rpb24gd2QoZSl7cmV0dXJuIGU8NDM1Mj8hMTplPj00MzUyJiZlPD00NDQ3fHxlPj05MDAxJiZlPD05MDAyfHxlPj0xMTkwNCYmZTw9MTIzNTB8fGU+PTEyMzUzJiZlPD0xMzMxMXx8ZT49MTMzMTImJmU8PTE5OTAzfHxlPj0xOTk2OCYmZTw9NDA5NTl8fGU+PTQwOTYwJiZlPD00MjE5MXx8ZT49NDQwMzImJmU8PTU1MjAzfHxlPj02Mzc0NCYmZTw9NjQyNTV8fGU+PTY1MDcyJiZlPD02NTEwM3x8ZT49NjUyODAmJmU8PTY1Mzc2fHxlPj02NTUwNCYmZTw9NjU1MTB8fGU+PTEyNjk3NiYmZTw9MTI5NTM1fHxlPj0xMzEwNzImJmU8PTE5NjYwNXx8ZT49MTk2NjA4JiZlPD0yNjIxNDF9dmFyIHZzPSJcdTIwNjAiO2Z1bmN0aW9uIG1zKCl7cmV0dXJue21vZGU6Im5vcm1hbCJ9fWZ1bmN0aW9uIENkKGUpe3JldHVybiEvW15ceDAwLVx4N2ZdLy50ZXN0KGUpJiZlLmluZGV4T2YoIlx4MUIiKT09PS0xfWZ1bmN0aW9uIEJkKGUsdCl7aWYoIWUpcmV0dXJuIiI7dmFyIHI9U3RyaW5nKGUpO2lmKHQubW9kZT09PSJub3JtYWwiJiZDZChyKSlyZXR1cm4gcjtmb3IodmFyIGk9IiIsYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yLmNoYXJDb2RlQXQoYSkscz11LG89MTtpZih1Pj01NTI5NiYmdTw9NTYzMTkmJmErMTxyLmxlbmd0aCl7dmFyIGw9ci5jaGFyQ29kZUF0KGErMSk7bD49NTYzMjAmJmw8PTU3MzQzJiYocz0odS01NTI5NikqMTAyNCsobC01NjMyMCkrNjU1MzYsbz0yKX12YXIgYz1vPT09Mj9yLnN1YnN0cihhLDIpOnIuY2hhckF0KGEpO3N3aXRjaCh0Lm1vZGUpe2Nhc2Uibm9ybWFsIjpzPT09Mjc/KHQubW9kZT0iZXNjIixpKz1jKTpzPT09MTU1Pyh0Lm1vZGU9ImNzaSIsaSs9Yyk6cz09PTE1N3x8cz09PTE0NHx8cz09PTE1OHx8cz09PTE1OT8odC5tb2RlPSJzdHJpbmciLGkrPWMpOihpKz1jLHdkKHMpJiYoaSs9dnMpKTticmVhaztjYXNlImVzYyI6aSs9YyxzPT09OTE/dC5tb2RlPSJjc2kiOnM9PT05M3x8cz09PTgwfHxzPT09ODh8fHM9PT05NHx8cz09PTk1P3QubW9kZT0ic3RyaW5nIjp0Lm1vZGU9Im5vcm1hbCI7YnJlYWs7Y2FzZSJjc2kiOmkrPWMscz49NjQmJnM8PTEyNiYmKHQubW9kZT0ibm9ybWFsIik7YnJlYWs7Y2FzZSJzdHJpbmciOmkrPWMscz09PTd8fHM9PT0xNTY/dC5tb2RlPSJub3JtYWwiOnM9PT0yNyYmKHQubW9kZT0ic3RyaW5nLWVzYyIpO2JyZWFrO2Nhc2Uic3RyaW5nLWVzYyI6aSs9YyxzPT09OTI/dC5tb2RlPSJub3JtYWwiOnQubW9kZT0ic3RyaW5nIjticmVha31hKz1vLTF9cmV0dXJuIGl9dmFyICRyPSJceDFCWz8yMDI2aCIsbmE9Ilx4MUJbPzIwMjZsIixEZD0yMDAsa2Q9MjU2KjEwMjQ7ZnVuY3Rpb24gQWQoZSl7aWYoIWV8fG4uc3luY091dHB1dEJ1ZmZlcj09PW51bGwmJmUuaW5kZXhPZigkcik9PT0tMSlyZXR1cm4gZTtmb3IodmFyIHQ9IiIscj0wO3I8ZS5sZW5ndGg7KWlmKG4uc3luY091dHB1dEJ1ZmZlciE9PW51bGwpe3ZhciBpPWUuaW5kZXhPZihuYSxyKTtpZihpPT09LTEpcmV0dXJuIG4uc3luY091dHB1dEJ1ZmZlcis9ZS5zbGljZShyKSwobi5zeW5jT3V0cHV0QnVmZmVyLmxlbmd0aD5rZHx8RGF0ZS5ub3coKT5uLnN5bmNPdXRwdXREZWFkbGluZSkmJih0Kz1uLnN5bmNPdXRwdXRCdWZmZXIsbi5zeW5jT3V0cHV0QnVmZmVyPW51bGwsbi5zeW5jRnJhbWluZ1Jlc2lkdWU9ITApLHQ7bi5zeW5jT3V0cHV0QnVmZmVyKz1lLnNsaWNlKHIsaStuYS5sZW5ndGgpLHQrPW4uc3luY091dHB1dEJ1ZmZlcixuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxyPWkrbmEubGVuZ3RofWVsc2V7dmFyIGE9ZS5pbmRleE9mKCRyLHIpO2lmKGE9PT0tMSlyZXR1cm4gdCs9ZS5zbGljZShyKSx0O3QrPWUuc2xpY2UocixhKSxuLnN5bmNPdXRwdXRCdWZmZXI9JHIsbi5zeW5jT3V0cHV0RGVhZGxpbmU9RGF0ZS5ub3coKStEZCxyPWErJHIubGVuZ3RofXJldHVybiB0fWZ1bmN0aW9uIE9tKCl7aWYobi5zeW5jT3V0cHV0QnVmZmVyIT09bnVsbCl7dmFyIGU9bi5zeW5jT3V0cHV0QnVmZmVyO3JldHVybiBuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxlfXJldHVybiIifWZ1bmN0aW9uIFduKGUsdCl7aWYoISghZXx8dD09bnVsbCkpe24ud2lkZVBhcnNlclN0YXRlfHwobi53aWRlUGFyc2VyU3RhdGU9bXMoKSk7dmFyIHI9QmQodCxuLndpZGVQYXJzZXJTdGF0ZSksaT1BZChyKSxhPW4udGVybWluYWxBdXRvRm9sbG93IT09ITE7Il9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBlJiYoZS5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209YSksaSYmZS53cml0ZShpKSwiX3Nob3VsZFNjcm9sbFRvQm90dG9tImluIGUmJihlLl9zaG91bGRTY3JvbGxUb0JvdHRvbT1hKSxhJiYobi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPU1hdGgubWF4KG4udGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCxEYXRlLm5vdygpKzEyMCkpLEhkKHQpfX1mdW5jdGlvbiByYSgpe24ud2lkZVBhcnNlclN0YXRlPW1zKCl9ZnVuY3Rpb24geGQoKXt0eXBlb2YgZG9jdW1lbnQ+InUifHxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb3B5IixmdW5jdGlvbihlKXt2YXIgdD13aW5kb3cuZ2V0U2VsZWN0aW9uJiZ3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoISghdHx8dC5pc0NvbGxhcHNlZCkpe3ZhciByPXQuYW5jaG9yTm9kZSxpPXImJnIubm9kZVR5cGU9PT0zP3IucGFyZW50Tm9kZTpyLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCEoIWF8fCFpfHwhYS5jb250YWlucyhpKSkpe3ZhciB1PXQudG9TdHJpbmcoKSxzPXUuc3BsaXQoYApgKS5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIG8uc3BsaXQodnMpLmpvaW4oIiIpLnJlcGxhY2UoL1sgXHRdKyQvLCIiKX0pLmpvaW4oYApgKTtzIT09dSYmZS5jbGlwYm9hcmREYXRhJiYoZS5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLHMpLGUucHJldmVudERlZmF1bHQoKSl9fX0pfXhkKCk7dmFyIGdzPTE1MCxocz0zMCxTZD0xNjAqMTAyNCxJZD0xOTIqMTAyNDtmdW5jdGlvbiB5cyhlKXtpZighZXx8ZS5sZW5ndGg8PUlkKXJldHVybiBlO3ZhciB0PWUubGVuZ3RoLHI9ZnVuY3Rpb24oeCl7aWYoISh0eXBlb2Ygbj4idSJ8fCFuKSl7dmFyIFM9bi50ZXJtaW5hbE91dHB1dE1hcmtlcnwwO2lmKCEoUzw9MCkpe3ZhciBQPXQteDtuLnRlcm1pbmFsT3V0cHV0TWFya2VyPVM+UD9TLVA6MH19fSxpPWUubGVuZ3RoLVNkO2lmKGk+MCYmaTxlLmxlbmd0aCl7dmFyIGE9ZS5jaGFyQ29kZUF0KGkpO2E+PTU2MzIwJiZhPD01NzM0MyYmaSsrfWZvcih2YXIgdT00MDk2LHM9TWF0aC5taW4oaSt1LGUubGVuZ3RoKSxvPWk7bzxzO28rKylpZihlLmNoYXJDb2RlQXQobyk9PT0xMCl7dmFyIGw9ZS5zbGljZShvKzEpO3JldHVybiByKGwubGVuZ3RoKSxsfWZvcih2YXIgYz1NYXRoLm1heCgwLGktMjU2KSxkPS0xLGY9aS0xO2Y+PWM7Zi0tKXt2YXIgdj1lLmNoYXJDb2RlQXQoZik7aWYodj09PTI3KXtkPWY7YnJlYWt9aWYodj09PTd8fHY+PTY0JiZ2PD0xMjYpYnJlYWt9aWYoZCE9PS0xKXtmb3IodmFyIG09ITEsYj1kKzE7YjxpO2IrKyl7dmFyIGc9ZS5jaGFyQ29kZUF0KGIpO2lmKGc9PT03KXttPSEwO2JyZWFrfWlmKGc+PTY0JiZnPD0xMjYpe209ITA7YnJlYWt9fWlmKCFtKWZvcih2YXIgeT1NYXRoLm1pbihpKzI1NixlLmxlbmd0aCksdz1pO3c8eTt3Kyspe3ZhciBGPWUuY2hhckNvZGVBdCh3KTtpZihGPT09N3x8Rj49NjQmJkY8PTEyNil7dmFyIEU9ZS5zbGljZSh3KzEpO3JldHVybiByKEUubGVuZ3RoKSxFfX19dmFyIEE9ZS5zbGljZShpKTtyZXR1cm4gcihBLmxlbmd0aCksQX1mdW5jdGlvbiBYcigpe2lmKG4udGVybWluYWwpe2lmKHR5cGVvZiBuLnRlcm1pbmFsLnJlc2V0PT0iZnVuY3Rpb24iKXtuLnRlcm1pbmFsLnJlc2V0KCkscmEoKSxuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxuLnN5bmNPdXRwdXREZWFkbGluZT0wO3JldHVybn10eXBlb2Ygbi50ZXJtaW5hbC53cml0ZT09ImZ1bmN0aW9uIiYmbi50ZXJtaW5hbC53cml0ZSgiXHgxQmMiKSxyYSgpLG4uc3luY091dHB1dEJ1ZmZlcj1udWxsLG4uc3luY091dHB1dERlYWRsaW5lPTB9fW4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9MCxuLl9yZXN5bmNTdGF0c0NvdW50PTAsbi5fcmVzeW5jTGFzdFdhcm5BdD0wO3ZhciBUZD01ZTMsTGQ9MTIsTWQ9M2U0O24uX3Jlc3luY0luUHJvZ3Jlc3M9ITE7ZnVuY3Rpb24gQ24oZSl7aWYoIW4udGVybWluYWx8fCFuLnRlcm1pbmFsT3V0cHV0KXJldHVybiExO3ZhciB0PWV8fHt9LHI9bi50ZXJtaW5hbE91dHB1dE1hcmtlcnwwO3I8MCYmKHI9MCkscj5uLnRlcm1pbmFsT3V0cHV0Lmxlbmd0aCYmKHI9bi50ZXJtaW5hbE91dHB1dC5sZW5ndGgpO3ZhciBpPXI+MD9uLnRlcm1pbmFsT3V0cHV0LnNsaWNlKHIpOm4udGVybWluYWxPdXRwdXQsYT1pLmxlbmd0aCx1PXR5cGVvZiBwZXJmb3JtYW5jZTwidSImJnBlcmZvcm1hbmNlLm5vdz9wZXJmb3JtYW5jZS5ub3coKTpEYXRlLm5vdygpO24uX3Jlc3luY0luUHJvZ3Jlc3M9ITA7dHJ5e1hyKCksV24obi50ZXJtaW5hbCxpKX1maW5hbGx5e24uX3Jlc3luY0luUHJvZ3Jlc3M9ITF9bi5sYXN0VGVybWluYWxSZXN5bmNBdD1EYXRlLm5vdygpLGZ0KCJvdXRwdXQiKSx0LnNraXBGaXR8fGV0KCJyZWZyZXNoIik7dmFyIHM9RGF0ZS5ub3coKTtpZihzLW4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ+VGQpbi5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD1zLG4uX3Jlc3luY1N0YXRzQ291bnQ9MTtlbHNlIGlmKG4uX3Jlc3luY1N0YXRzQ291bnQrKyxuLl9yZXN5bmNTdGF0c0NvdW50PkxkJiZzLW4uX3Jlc3luY0xhc3RXYXJuQXQ+TWQpe24uX3Jlc3luY0xhc3RXYXJuQXQ9czt2YXIgbz10eXBlb2YgcGVyZm9ybWFuY2U8InUiJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6RGF0ZS5ub3coKTtjb25zb2xlLndhcm4oIlt3YW5kXSBzb2Z0UmVzeW5jVGVybWluYWwgaGlnaCBmcmVxdWVuY3kiLCJjb3VudD0iK24uX3Jlc3luY1N0YXRzQ291bnQrIi8iK01hdGgucm91bmQoKHMtbi5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydCkvMTAwKS8xMCsicyIsImJ1Zkxlbj0iK2EsImxhc3RSZXBsYXlNcz0iK01hdGgucm91bmQoby11KSl9cmV0dXJuITB9ZnVuY3Rpb24gcWQoZSl7bi5zb2Z0UmVzeW5jVGltZXImJmNsZWFyVGltZW91dChuLnNvZnRSZXN5bmNUaW1lciksbi5zb2Z0UmVzeW5jVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uc29mdFJlc3luY1RpbWVyPW51bGwsQ24oKX0sdHlwZW9mIGU9PSJudW1iZXIiP2U6MTUwKX12YXIgT2Q9L1x4MWJcW1xkKig/OjtcZCopP1tBQkNEZkhKS10vLGJzPTE1MDAsUGQ9ODAwO24uX3Jlc3luY0NodW5rTGFzdEF0PTAsbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbDtmdW5jdGlvbiBIZChlKXtpZighbi5fcmVzeW5jSW5Qcm9ncmVzcyYmbi5zeW5jRnJhbWluZ1Jlc2lkdWUmJihuLnN5bmNGcmFtaW5nUmVzaWR1ZT0hMSwhKCFlfHx0eXBlb2YgZSE9InN0cmluZyIpJiZlLmluZGV4T2YoIlx4MUJbIikhPT0tMSYmT2QudGVzdChlKSkpe3ZhciB0PURhdGUubm93KCkscj10LW4uX3Jlc3luY0NodW5rTGFzdEF0O2lmKHI+PWJzKXtuLl9yZXN5bmNDaHVua1RhaWxUaW1lciYmKGNsZWFyVGltZW91dChuLl9yZXN5bmNDaHVua1RhaWxUaW1lciksbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbCksbi5fcmVzeW5jQ2h1bmtMYXN0QXQ9dCxDbigpO3JldHVybn1pZighbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpe3ZhciBpPU1hdGgubWF4KFBkLGJzLXIpO24uX3Jlc3luY0NodW5rVGFpbFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsLG4uX3Jlc3luY0NodW5rTGFzdEF0PURhdGUubm93KCksQ24oKX0saSl9fX1mdW5jdGlvbiBacihlLHQscil7aWYoIW4udGVybWluYWwpcmV0dXJuITE7dmFyIGk9SGEodHx8IiIpLGE9ZXx8bnVsbCx1PXJ8fHt9LHM9dS5tb2RlfHwiYXBwZW5kIixvPXUuc2Nyb2xsIT09ITEsbD1uLnRlcm1pbmFsU2Vzc2lvbklkIT09YSxjPW4udGVybWluYWxPdXRwdXR8fCIiLGQ9ISEoYSYmbi50ZXJtaW5hbExpdmVTdHJlYW1TZXNzaW9uc1thXSksZj0hMTtpZihpPT09YyYmIWwpcmV0dXJuIG8mJmZ0KCJvdXRwdXQiKSxzdCgpLCExO2lmKGwmJihYcigpLGM9IiIsbi50ZXJtaW5hbE91dHB1dD0iIixuLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAsbi50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsUm4oKSxzdCgpKSxzPT09InJlcGxhY2UiKWkhPT1jJiYoWHIoKSxpJiZXbihuLnRlcm1pbmFsLGkpLGY9ITApO2Vsc2V7aWYoaS5sZW5ndGg8Yy5sZW5ndGgmJiFsKXJldHVybiExO2lmKGQmJiFsJiZzIT09InJlcGxhY2UiJiZjJiYhaS5zdGFydHNXaXRoKGMpKXJldHVybiExO2lmKGkuc3RhcnRzV2l0aChjKSl7dmFyIHY9aS5zbGljZShjLmxlbmd0aCk7diYmKFduKG4udGVybWluYWwsdiksZj0hMCl9ZWxzZXtpZihjJiZjLnN0YXJ0c1dpdGgoaSkpcmV0dXJuITE7WHIoKSxpJiZXbihuLnRlcm1pbmFsLGkpLGY9ITB9fXJldHVybiBuLnRlcm1pbmFsU2Vzc2lvbklkPWEsbi50ZXJtaW5hbE91dHB1dD1pLG4udGVybWluYWxPdXRwdXRNYXJrZXI9MCxvJiYoZnx8bHx8cz09PSJyZXBsYWNlIik/ZnQobHx8cz09PSJyZXBsYWNlIj8iZm9yY2UiOiJvdXRwdXQiKTpzdCgpLGwmJlFyKG4udGVybWluYWwuY29scyxuLnRlcm1pbmFsLnJvd3MpLGZ8fGx9ZnVuY3Rpb24gem4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoISghZXx8bi50ZXJtaW5hbHx8bi50ZXJtaW5hbEluaXRpYWxpemluZykpe2lmKHR5cGVvZiBXVGVybUxpYj4idSJ8fCFXVGVybUxpYi5XVGVybSl7bi50ZXJtaW5hbEluaXRSZXRyaWVzfHwobi50ZXJtaW5hbEluaXRSZXRyaWVzPTApLG4udGVybWluYWxJbml0UmV0cmllczwxMCYmKG4udGVybWluYWxJbml0UmV0cmllcysrLHNldFRpbWVvdXQoem4sMjAwKSk7cmV0dXJufW4udGVybWluYWxJbml0UmV0cmllcz0wLG4udGVybWluYWxJbml0aWFsaXppbmc9ITAsbi5zZWxlY3RlZElkJiYoZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxlLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpKTtmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtc2Nyb2xsLXdyYXAiKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07aS5wYXJlbnROb2RlPT09ZSYmZS5yZW1vdmVDaGlsZChpKX12YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0idGVybWluYWwtc2Nyb2xsLXdyYXAiLGUuYXBwZW5kQ2hpbGQoYSk7dmFyIHU9bmV3IFdUZXJtTGliLldUZXJtKGEse2NvbHM6MTIwLHJvd3M6MzYsYXV0b1Jlc2l6ZTohMCxjdXJzb3JCbGluazohMSxvbkRhdGE6ZnVuY3Rpb24oKXt9LG9uUmVzaXplOmZ1bmN0aW9uKG8sbCl7UXIobyxsKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsT3V0cHV0JiZDbih7c2tpcEZpdDohMH0pfX0pLHM9ZG9jdW1lbnQuZm9udHMmJnR5cGVvZiBkb2N1bWVudC5mb250cy5yZWFkeT09Im9iamVjdCI/UHJvbWlzZS5yYWNlKFtkb2N1bWVudC5mb250cy5yZWFkeSxuZXcgUHJvbWlzZShmdW5jdGlvbihvKXtzZXRUaW1lb3V0KG8sODAwKX0pXSk6UHJvbWlzZS5yZXNvbHZlKCk7cy50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHUuaW5pdCgpfSkudGhlbihmdW5jdGlvbigpe2lmKG4udGVybWluYWw9dSxuLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSExLGd1KCksYS5pc0Nvbm5lY3RlZCYmKGEub2Zmc2V0SGVpZ2h0LHR5cGVvZiB1LnJlbWVhc3VyZT09ImZ1bmN0aW9uIikpdHJ5e3UucmVtZWFzdXJlKCl9Y2F0Y2h7fW4udGVybWluYWxBdXRvRm9sbG93PSEwLFJuKCk7dmFyIG89d3QoKTtpZihvJiYobi50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKERhdGUubm93KCk8bi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsKXtzdCgpO3JldHVybn1pZihmcygpKXtuLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMCxSbigpLHN0KCk7cmV0dXJufXRhKCl9LG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKGMpe2MudG91Y2hlcyYmYy50b3VjaGVzLmxlbmd0aD09PTEmJihuLnRlcm1pbmFsVG91Y2hTdGFydFk9Yy50b3VjaGVzWzBdLmNsaWVudFkpfSxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI9ZnVuY3Rpb24oYyl7IWMudG91Y2hlc3x8Yy50b3VjaGVzLmxlbmd0aCE9PTF8fHR5cGVvZiBuLnRlcm1pbmFsVG91Y2hTdGFydFk9PSJudW1iZXIiJiZjLnRvdWNoZXNbMF0uY2xpZW50WS1uLnRlcm1pbmFsVG91Y2hTdGFydFk+NCYmdGEoKX0sby5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyLHtwYXNzaXZlOiEwfSksby5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcix7cGFzc2l2ZTohMH0pKSxuLnRlcm1pbmFsV2hlZWxIYW5kbGVyPWZ1bmN0aW9uKGMpe2MuZGVsdGFZPDAmJnRhKCksYy5zdG9wUHJvcGFnYXRpb24oKX0sZS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi50ZXJtaW5hbFdoZWVsSGFuZGxlcix7cGFzc2l2ZTohMH0pLEZkKGUpLG4uc2VsZWN0ZWRJZCl7dmFyIGw9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09bi5zZWxlY3RlZElkfSk7bCYmWnIobC5pZCxsLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCIsc2Nyb2xsOiExfSl9ZWxzZSBXbih1LGBcdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0JcdTRGNjBcdTc2ODRcdTdCMkNcdTRFMDBcdTZCMjFcdTVCRjlcdThCRERcdTMwMDJccgpgKTtuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGMpe29pKCl8fF90KGMpfSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyKSxzdCgpLHRkKCksaWQoKSx2ZCgpLG1kKCksZXQoIm1vdW50Iix7Zm9yY2VSZXBsYXk6ITB9KX0pLmNhdGNoKGZ1bmN0aW9uKG8pe24udGVybWluYWxJbml0aWFsaXppbmc9ITEsY29uc29sZS5lcnJvcigiW3dhbmRdIHd0ZXJtIGluaXQgZmFpbGVkOiIsbyl9KX19ZnVuY3Rpb24gX2QoZSx0KXtpZighKCFuLnNlbGVjdGVkSWR8fCFlKSl7dmFyIHI9bi5zZWxlY3RlZElkKyI6IitlO2lmKG4udG9vbENvbnRlbnRDYWNoZVtyXSl7dChudWxsLG4udG9vbENvbnRlbnRDYWNoZVtyXSk7cmV0dXJufWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi90b29sLWNvbnRlbnQvIitlbmNvZGVVUklDb21wb25lbnQoZSkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aS5lcnJvcj90KGkuZXJyb3IsbnVsbCk6KG4udG9vbENvbnRlbnRDYWNoZVtyXT1pLHQobnVsbCxpKSl9KS5jYXRjaChmdW5jdGlvbigpe3QoIlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSIsbnVsbCl9KX19ZnVuY3Rpb24gQm4oZSl7cmV0dXJuISEobi5jb25maWcmJm4uY29uZmlnLmNhcmREZWZhdWx0cyYmbi5jb25maWcuY2FyZERlZmF1bHRzW2VdKX1mdW5jdGlvbiBpYShlLHQscixpKXtpZighKCFlfHxlLmRhdGFzZXQudHJ1bmNhdGVkIT09InRydWUifHxlLmRhdGFzZXQubG9hZGVkPT09InRydWUiKSl7dmFyIGE9ZS5kYXRhc2V0LnRvb2xVc2VJZDthJiYodCYmKHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ0b29sLWNvbnRlbnQtbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+JyksZS5kYXRhc2V0LmxvYWRlZD0ibG9hZGluZyIsX2QoYSxmdW5jdGlvbih1LHMpe2lmKHUpe3QmJih0LmlubmVySFRNTD1pfHwnPGRpdiBjbGFzcz0idG9vbC1jb250ZW50LWVycm9yIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj4nKSxlLmRhdGFzZXQubG9hZGVkPSIiO3JldHVybn1lLmRhdGFzZXQudHJ1bmNhdGVkPSJmYWxzZSIsZS5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7dmFyIG89dHlwZW9mIHMuY29udGVudD09InN0cmluZyI/cy5jb250ZW50OkpTT04uc3RyaW5naWZ5KHMuY29udGVudCk7cihvLHMpfSkpfX13aW5kb3cuX190Y1RvZ2dsZT1mdW5jdGlvbihlLHQpe3ZhciByPXQuY2xvc2VzdCgiLnRvb2wtdXNlLWNhcmQiKXx8dC5jbG9zZXN0KCIuaW5saW5lLWRpZmYiKTtpZihyKXt2YXIgaT1yLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7ci5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiKTt2YXIgYT1yLmRhdGFzZXQuZXhwYW5kS2luZHx8InRvb2wtY2FyZCI7aWYoYm4ocixhKSxpKXt2YXIgdT1yLnF1ZXJ5U2VsZWN0b3IoIi50b29sLXVzZS1yZXN1bHQiKTtpYShyLHUsZnVuY3Rpb24ocyl7dSYmKHUuaW5uZXJIVE1MPSc8cHJlIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtY29udGVudCI+JytwKHMpKyI8L3ByZT4iKX0sYDxkaXYgY2xhc3M9InRvb2wtY29udGVudC1lcnJvciIgb25jbGljaz0iX190Y1RvZ2dsZShudWxsLCB0aGlzLmNsb3Nlc3QoJy50b29sLXVzZS1jYXJkLC5pbmxpbmUtZGlmZicpLnF1ZXJ5U2VsZWN0b3IoJy50b29sLXVzZS1oZWFkZXIsLmRpZmYtaGVhZGVyJykpIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj5gKX19ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0sd2luZG93Ll9fdGhpbmtpbmdUb2dnbGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2lmKHQpe2UuY2xhc3NMaXN0LnJlbW92ZSgiY29sbGFwc2VkIiksZS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1wcmV2aWV3IikudGV4dENvbnRlbnQ9ZS5kYXRhc2V0LnRoaW5raW5nfHwiIjt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtYWN0aW9uIik7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NjUzNlx1OEQ3NyIpfWVsc2V7ZS5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpLGUuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIik7dmFyIGk9KGUuZGF0YXNldC50aGlua2luZ3x8IiIpLnNsaWNlKDAsNTcpKygoZS5kYXRhc2V0LnRoaW5raW5nfHwiIikubGVuZ3RoPjYwPyJcdTIwMjYiOiIiKTtlLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpLnRleHRDb250ZW50PWk7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO3ImJihyLnRleHRDb250ZW50PSJcdTVDNTVcdTVGMDAiKX1ibihlLCJ0aGlua2luZyIpfSx3aW5kb3cuX19zdWJhZ2VudFJlcGx5VG9nZ2xlPWZ1bmN0aW9uKGUsdCl7ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKTt2YXIgcj10JiZ0LmNsb3Nlc3Q/dC5jbG9zZXN0KCIuc3ViYWdlbnQtcmVwbHkiKTpudWxsO2lmKHIpe3ZhciBpPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7cWkociwic3ViYWdlbnQtcmVwbHkiLCFpKSxibihyLCJzdWJhZ2VudC1yZXBseSIpfX0sd2luZG93Ll9fc3ViYWdlbnRQYW5lbFRvZ2dsZT1mdW5jdGlvbihlLHQpe2UmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSk7dmFyIHI9dCYmdC5jbG9zZXN0P3QuY2xvc2VzdCgiLnN1YmFnZW50LXBhbmVsIik6bnVsbDtpZihyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO3FpKHIsInN1YmFnZW50LXBhbmVsIiwhaSksYm4ociwic3ViYWdlbnQtcGFuZWwiKX19O2Z1bmN0aW9uIGpkKGUpe2lmKGUpZm9yKHZhciB0PWUucXVlcnlTZWxlY3RvckFsbCgnLnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ImZhbHNlIl0nKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl0ucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXBhbmVsLWJvZHkiKTtpJiYoaS5zY3JvbGxUb3A9aS5zY3JvbGxIZWlnaHQpfX13aW5kb3cuX19pbmxpbmVUb29sVG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0LnRvZ2dsZSgiaW5saW5lLXRvb2wtb3BlbiIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIuaW5saW5lLXRvb2wtZXhwYW5kZWQiKTtyJiYoci5zdHlsZS5kaXNwbGF5PXQ/ImJsb2NrIjoibm9uZSIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLXN0YXR1cyIpO2kmJihlLmRhdGFzZXQuc3RhdHVzPT09ImVycm9yIj9pLnRleHRDb250ZW50PSJcdTI3MTciOmUuZGF0YXNldC5zdGF0dXM9PT0iZG9uZSImJihpLnRleHRDb250ZW50PSJcdTI3MTMiKSksdCYmaWEoZSxyLGZ1bmN0aW9uKGEpe2UuZGF0YXNldC5yZXN1bHQ9YSxyJiYoci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdCI+JytrbyhhLCIiKSsiPC9kaXY+Iil9KSxibihlLCJpbmxpbmUtdG9vbCIpfSx3aW5kb3cuX190ZXJtaW5hbEV4cGFuZD1mdW5jdGlvbihlKXt2YXIgdD1lLmNsb3Nlc3QoIi5pbmxpbmUtdGVybWluYWwiKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtpZihyKXt2YXIgaT1yLnN0eWxlLmRpc3BsYXk9PT0ibm9uZSI7ci5zdHlsZS5kaXNwbGF5PWk/ImJsb2NrIjoibm9uZSIsdC5kYXRhc2V0LmV4cGFuZGVkPWk/InRydWUiOiJmYWxzZSI7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS10b2dnbGUtaWNvbiIpO2lmKGEmJihhLnRleHRDb250ZW50PWk/Ilx1MjVCQyI6Ilx1MjVCNiIpLGJuKHQsInRlcm1pbmFsIiksaSl7dmFyIHU9ci5xdWVyeVNlbGVjdG9yKCIudGVybS1vdXRwdXQiKTtpYSh0LHUsZnVuY3Rpb24ocyl7aWYodSl7Zm9yKHZhciBvPXMuc3BsaXQoYApgKSxsPSIiLGM9MDtjPG8ubGVuZ3RoO2MrKykhb1tjXSYmYz09PW8ubGVuZ3RoLTF8fChsKz0nPGRpdiBjbGFzcz0idGVybS1saW5lIj4nK3Aob1tjXSkrIjwvZGl2PiIpO3UuaW5uZXJIVE1MPWx9fSl9fX19O2Z1bmN0aW9uIFBtKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmciKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmctdGV4dCIpO2lmKHIpe3ZhciBpPWUuc3BsaXQoYApgKSxhPWkuc2xpY2UoLTMpO3IudGV4dENvbnRlbnQ9YS5qb2luKGAKYCksci5zY3JvbGxUb3A9ci5zY3JvbGxIZWlnaHR9fX13aW5kb3cuX19hc2tTZWxlY3Q9ZnVuY3Rpb24oZSx0LHIsaSl7dmFyIGE9bi5hc2tVc2VyU2VsZWN0aW9uc1tlXTtpZihhfHwoYT17c3VibWl0dGVkOiExfSxuLmFza1VzZXJTZWxlY3Rpb25zW2VdPWEpLCFhLnN1Ym1pdHRlZCl7dmFyIHU9YVt0XXx8W107aWYoaSl7dmFyIHM9dS5pbmRleE9mKHIpO3M9PT0tMT91LnB1c2gocik6dS5zcGxpY2UocywxKX1lbHNlIHU9dVswXT09PXI/W106W3JdO2FbdF09dSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9fSx3aW5kb3cuX19hc2tSZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZih0KXt2YXIgcj1uLmFza1VzZXJTZWxlY3Rpb25zW2VdfHx7fTt0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1vcHRpb24iKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciBvPXBhcnNlSW50KHMuZGF0YXNldC5xdWVzdGlvbkluZGV4LDEwKSxsPXBhcnNlSW50KHMuZGF0YXNldC5vcHRpb25JbmRleCwxMCksYz0ocltvXXx8W10pLmluZGV4T2YobCkhPT0tMTtzLmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIixjKX0pO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmFzay11c2VyLXN1Ym1pdCIpO2lmKGkpe3ZhciBhPXQucXVlcnlTZWxlY3RvckFsbCgiLmFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiksdT0hMDthLmZvckVhY2goZnVuY3Rpb24ocyxvKXsoIXJbb118fHJbb10ubGVuZ3RoPT09MCkmJih1PSExKX0pLGkuZGlzYWJsZWQ9IXV8fCEhci5zdWJtaXR0ZWQsci5zdWJtaXR0ZWQmJihpLnRleHRDb250ZW50PSJcdTVERjJcdTYzRDBcdTRFQTQuLi4iLGkuY2xhc3NMaXN0LmFkZCgiYXNrLXVzZXItc3VibWl0dGVkIikpfX19LHdpbmRvdy5fX2Fza1N1Ym1pdD1mdW5jdGlvbihlKXt2YXIgdD1uLmFza1VzZXJTZWxlY3Rpb25zW2VdO2lmKCEoIXR8fHQuc3VibWl0dGVkfHwhbi5zZWxlY3RlZElkKSl7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZihyKXt2YXIgaT1yLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1xdWVzdGlvbi1ncm91cCIpLGE9W10sdT0hMDtpZihpLmZvckVhY2goZnVuY3Rpb24obyxsKXt2YXIgYz10W2xdfHxbXTtpZihjLmxlbmd0aD09PTApe3U9ITE7cmV0dXJufXZhciBkPVtdO2MuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgdj1vLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW9wdGlvbi1pbmRleD0iJytmKyciXScpO3YmJmQucHVzaCh2LmRhdGFzZXQub3B0aW9uTGFiZWwpfSksYS5wdXNoKGQuam9pbigiLCAiKSl9KSwhIXUpe3Quc3VibWl0dGVkPSEwLHdpbmRvdy5fX2Fza1JlbmRlcihlKTt2YXIgcz1hLmpvaW4oYApgKTtmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK24uc2VsZWN0ZWRJZCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6cytgCmAsdmlldzpuLmN1cnJlbnRWaWV3fSl9KS5jYXRjaChmdW5jdGlvbihvKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gRXJyb3Igc2VuZGluZyBhbnN3ZXI6IixvKSx0LnN1Ym1pdHRlZD0hMSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9KX19fX07ZnVuY3Rpb24gTmQoKXtpZighbi5fX2dsb2JhbExpc3RlbmVyc0JvdW5kKXtuLl9fZ2xvYmFsTGlzdGVuZXJzQm91bmQ9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItb3ZlcmZsb3ctbWVudSIpO3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1vdmVyZmxvdy1tZW51Iik7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9KTt2YXIgZT1mdW5jdGlvbigpe24udG9wYmFyTW9yZU9wZW49ITE7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLW1lbnUiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKTt0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHImJihyLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLHIuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihuLnRvcGJhck1vcmVPcGVuKXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpLGk9ciYmci5wYXJlbnRFbGVtZW50O2kmJiFpLmNvbnRhaW5zKHQudGFyZ2V0KSYmZSgpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpe3Qua2V5PT09IkVzY2FwZSImJm4udG9wYmFyTW9yZU9wZW4mJmUoKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihuLnBsdXNQb3BvdmVyT3Blbil7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtyJiZyLmNvbnRhaW5zKHQudGFyZ2V0KXx8aSYmaS5jb250YWlucyh0LnRhcmdldCl8fEVpKCl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmbi5wbHVzUG9wb3Zlck9wZW4mJkVpKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYoIXQudGFyZ2V0LmNsb3Nlc3QoIi5mb2xkZXItcGlja2VyLWNvbnRhaW5lciIpKXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci1kcm9wZG93biIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbih0KXt2YXIgcj10LnRhcmdldDtpZighKCFyfHxyLm5vZGVUeXBlIT09MSkmJiEodHlwZW9mIHIubWF0Y2hlcyE9ImZ1bmN0aW9uInx8IXIubWF0Y2hlcygiW2RhdGEtbW9kZS1jb250cm9sXSIpKSl7dmFyIGk9ci5nZXRBdHRyaWJ1dGUoImRhdGEtbW9kZS1jb250cm9sIiksYT1yLnZhbHVlO2k9PT0ibW9kZSI/KG4uY2hhdE1vZGU9YSxKbigpLGsmJmsoIlx1NjVCMFx1NEYxQVx1OEJERFx1NkEyMVx1NUYwRlx1RkYxQSIrYSwiaW5mbyIpKTppPT09Im1vZGVsIj9FdihhKTppPT09InRoaW5raW5nIiYmZ3YoYSksci5jbG9zZXN0JiZyLmNsb3Nlc3QoIiNjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSYmRWkoKX19KX19ZnVuY3Rpb24gUmQoKXtOZCgpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKTtpZihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfYSk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWZvcm0iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLF9hKCl9KTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTbyk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9nZ2xlLXBhc3N3b3JkLWJ1dHRvbiIpO2EmJmkmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGg9aS50eXBlPT09InRleHQiO2kudHlwZT1oPyJwYXNzd29yZCI6InRleHQiLGEudGV4dENvbnRlbnQ9aD8iXHU2NjNFXHU3OTNBIjoiXHU5NjkwXHU4NUNGIixhLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaD8iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIjoiXHU5NjkwXHU4NUNGXHU1QkM2XHU3ODAxIiksYS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsaD8iZmFsc2UiOiJ0cnVlIiksaS5mb2N1cygpfSksaSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aC5rZXk9PT0iRW50ZXIiJiZfYSgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtpLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixpLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tZXJyb3IiKTtoJiZ0aShoKX0pLGkuZm9jdXMoKSk7cmV0dXJufXZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7dSYmKHUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aC5rZXk9PT0iRW50ZXIiJiYhaC5zaGlmdEtleSYmKGgucHJldmVudERlZmF1bHQoKSxxcygpKX0pLHUuZm9jdXMoKSk7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtc2VuZC1idG4iKTtzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3FzKCl9KTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLWNsYXVkZSIpO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7cmwoKX0pO3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLXRvb2wtY29kZXgiKTtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uc2Vzc2lvblRvb2w9ImNvZGV4IixuLnByZWZlcnJlZENvbW1hbmQ9ImNvZGV4IixuLm1vZGVWYWx1ZT0iZnVsbC1hY2Nlc3MiLHJsKCl9KTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLXN0cnVjdHVyZWQiKTtjJiZjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1VvKCkudGhlbihmdW5jdGlvbigpe190KCEwKX0pLmNhdGNoKGZ1bmN0aW9uKGgpe2soaCYmaC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfSksaW0oKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpO2QmJihkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiZCksZC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixFZCksZC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLEl2KSxkLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixUdiksaHAoZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCR0LCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwkdCk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNhcmRzIik7ZiYmZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLnByb3ZpZGVyLWNhcmQiKTtpZighKCFEfHxELmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSkpe3ZhciBqPUQuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7aiYmKG4uc2Vzc2lvblRvb2w9aixuLnByZWZlcnJlZENvbW1hbmQ9aixrcigpKX19KTt2YXIgdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWNhcmRzIik7diYmdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLnNlc3Npb24ta2luZC1jYXJkIik7aWYoISghRHx8RC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXt2YXIgaj1ELmdldEF0dHJpYnV0ZSgiZGF0YS1zZXNzaW9uLWtpbmQiKTtqJiYobi5zZXNzaW9uQ3JlYXRlS2luZD1qLGtyKCkpfX0pO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWNhcmRzIik7bSYmbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLm1vZGUtY2FyZCIpO2lmKEQpe3ZhciBqPUQuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKTtqJiYobi5tb2RlVmFsdWU9aixrcigpKX19KTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiKTtiJiZiLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtuLnNlc3Npb25DcmVhdGVXb3JrdHJlZT1iLmNoZWNrZWR9KTt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7ZyYmKGcuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7bi5jd2RWYWx1ZT1nLnZhbHVlfSksZy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7bi5jd2RWYWx1ZT1nLnZhbHVlfSksZy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsYWwpLGcuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGFsKSxnLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKCl7c2V0VGltZW91dChYbiwxMjApfSkpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy10b2dnbGUtYnV0dG9uIik7eSYmeS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsQnYpO3ZhciB3PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiKTt3JiZ3LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTcik7dmFyIEY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLWRyYXdlci1idXR0b24iKTtGJiZGLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTcik7dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7RSYmRS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTHYpO3ZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXBpbi1idG4iKTtBJiZBLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixNdik7dmFyIHg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItbW9yZS1idG4iKSxTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW92ZXJmbG93LW1lbnUiKTt4JiZTJiZ4LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXtoLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBEPSFTLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO1MuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsRCksRCYmT3YoUyl9KTt2YXIgUD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1ob21lLWJ0biIpO1AmJlAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5zZWxlY3RlZElkPW51bGwseWUoKSxDdCgpLFd0KCksR3QoKX0pO3ZhciB6PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXJlZnJlc2gtYnRuIik7eiYmei5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9KTt2YXIgRz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nb3V0LWJ1dHRvbiIpO0cmJkcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLElvKTt2YXIgTD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3dpdGNoLXNlcnZlci1idXR0b24iKTtMJiZMLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTbyk7dmFyIEI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWJ1dHRvbiIpO0ImJkIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLF92KTt2YXIgVD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2Utc2V0dGluZ3MtYnV0dG9uIik7VCYmVC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsUW4pO3ZhciBJPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tb2RhbCIpO0kmJkkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gudGFyZ2V0LmlkPT09InNldHRpbmdzLW1vZGFsIiYmUW4oKX0pO3ZhciBWPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLXBhc3N3b3JkLWJ1dHRvbiIpO1YmJlYuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGp2KTtmb3IodmFyIHJlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy10YWIiKSx0ZT0wO3RlPHJlLmxlbmd0aDt0ZSsrKXJlW3RlXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC5jdXJyZW50VGFyZ2V0fHx0aGlzLGo9RCYmRC5nZXRBdHRyaWJ1dGU/RC5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik6bnVsbDtqJiZLYShqKX0pO3ZhciAkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLWNvbmZpZy1idXR0b24iKTskJiYkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixVdik7dmFyIGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbC1yZWZyZXNoIik7aWUmJmllLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix5dik7dmFyIFU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy12aWV3LWVudi1idG4iKTtVJiZVLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixidik7dmFyIE09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNhdmUtZGlzcGxheS1idXR0b24iKTtNJiZNLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixLdik7dmFyIEg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcC1pY29uLXBpY2tlciIpO2lmKEgpZm9yKHZhciBOPUgucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIpLFk9MDtZPE4ubGVuZ3RoO1krKylOW1ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBoPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKTtpZighKCFofHx0eXBlb2YgV2FuZE5hdGl2ZT4idSJ8fHR5cGVvZiBXYW5kTmF0aXZlLnNldEFwcEljb24hPSJmdW5jdGlvbiIpKXRyeXtXYW5kTmF0aXZlLnNldEFwcEljb24oaCksWm8oaCk7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcC1pY29uLW1lc3NhZ2UiKTtEJiYoRC50ZXh0Q29udGVudD0iXHU1NkZFXHU2ODA3XHU1REYyXHU1MjA3XHU2MzYyXHVGRjBDXHU4RkQ0XHU1NkRFXHU2ODRDXHU5NzYyXHU1NDBFXHU3NTFGXHU2NTQ4IixELnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIsRC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0sM2UzKSl9Y2F0Y2h7fX0pO3ZhciBLPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGxvYWQtY2VydC1idXR0b24iKTtLJiZLLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixKdik7Zm9yKHZhciBYPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5maWxlLXBpY2tlci1pbnB1dCIpLGFlPTA7YWU8WC5sZW5ndGg7YWUrKykoZnVuY3Rpb24oaCl7aC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIEQ9aC5jbG9zZXN0KCIuZmlsZS1waWNrZXIiKTtpZihEKXt2YXIgaj1ELnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXBpY2tlci1uYW1lIik7aiYmKGguZmlsZXMmJmguZmlsZXNbMF0/KGoudGV4dENvbnRlbnQ9aC5maWxlc1swXS5uYW1lLEQuY2xhc3NMaXN0LmFkZCgiZmlsZS1waWNrZXItaGFzLWZpbGUiKSk6KGoudGV4dENvbnRlbnQ9ai5nZXRBdHRyaWJ1dGUoImRhdGEtZGVmYXVsdCIpfHwiXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2IixELmNsYXNzTGlzdC5yZW1vdmUoImZpbGUtcGlja2VyLWhhcy1maWxlIikpKX19KX0pKFhbYWVdKTt2YXIgbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrLXVwZGF0ZS1idXR0b24iKTtsZSYmbGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFhvKTt2YXIgdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXVwZGF0ZS1idXR0b24iKTt1ZSYmdWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFl2KTt2YXIgQ2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXJlc3RhcnQtYnV0dG9uIik7Q2UmJkNlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHdik7dmFyIEZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7RmUmJkZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtKYSgid2ViIixGZS5jaGVja2VkKX0pO3ZhciBiZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO2JlJiZiZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7SmEoImFwayIsYmUuY2hlY2tlZCl9KTt2YXIgTz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtZG1nLXRvZ2dsZSIpO08mJk8uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe0phKCJkbWciLE8uY2hlY2tlZCl9KTt2YXIgUj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO1ImJlIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe1h2KFIuY2hlY2tlZD8iYmV0YSI6InN0YWJsZSIpfSk7dmFyIHNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5LWNvbm5lY3QtY29kZS1idXR0b24iKTtzZSYmc2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1jb2RlIik7aCYmTHIoaC50ZXh0Q29udGVudCxzZSl9KTt2YXIgQmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpO0JlJiYoQmUuY2hlY2tlZD1uLm5vdGlmU291bmQsQmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe24ubm90aWZTb3VuZD1CZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1zb3VuZCIsU3RyaW5nKG4ubm90aWZTb3VuZCkpfWNhdGNoe31uLm5vdGlmU291bmQmJmlpKCk7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2gmJihoLnN0eWxlLmRpc3BsYXk9bi5ub3RpZlNvdW5kPyIiOiJub25lIil9KSk7dmFyIG5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbm90aWYtdm9sdW1lIiksZGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIiksTWU9ZnVuY3Rpb24oaCl7aWYoaCl7dmFyIEQ9TnVtYmVyKGgubWlufHwwKSxqPU51bWJlcihoLm1heHx8MTAwKSxFZT1OdW1iZXIoaC52YWx1ZXx8MCksRXQ9aj5EP01hdGgubWF4KDAsTWF0aC5taW4oMTAwLChFZS1EKS8oai1EKSoxMDApKTowO2guc3R5bGUuc2V0UHJvcGVydHkoIi0tcmFuZ2UtZmlsbCIsRXQrIiUiKX19O2lmKG5lKXtuZS52YWx1ZT1TdHJpbmcobi5ub3RpZlZvbHVtZSksZGUmJihkZS50ZXh0Q29udGVudD1uLm5vdGlmVm9sdW1lKyIlIiksTWUobmUpO3ZhciBsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWYtdm9sdW1lLWZpZWxkIik7bHQmJihsdC5zdHlsZS5kaXNwbGF5PW4ubm90aWZTb3VuZD8iIjoibm9uZSIpO3ZhciBndD1udWxsO25lLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe24ubm90aWZWb2x1bWU9cGFyc2VJbnQobmUudmFsdWUsMTApLGRlJiYoZGUudGV4dENvbnRlbnQ9bi5ub3RpZlZvbHVtZSsiJSIpLE1lKG5lKTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIixTdHJpbmcobi5ub3RpZlZvbHVtZSkpfWNhdGNoe31pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuc2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblZvbHVtZShuLm5vdGlmVm9sdW1lKX1jYXRjaHt9fSksbmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe2lpKCl9KX12YXIgR2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtHZSYmKEdlLmNoZWNrZWQ9bi5ub3RpZkJ1YmJsZSxHZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7bi5ub3RpZkJ1YmJsZT1HZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiLFN0cmluZyhuLm5vdGlmQnViYmxlKSl9Y2F0Y2h7fX0pKTt2YXIgcnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpO3J0JiZydC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtpZihIZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24oKXttbigpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9fWVsc2UgdHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24oKXttbigpfSl9KTt2YXIgaXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKTtpdCYmaXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFp2KTt2YXIgV2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWJ0biIpO1dlJiZXZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGwpO3ZhciBrdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIik7aWYoa3QmJmt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlbSksbW4oKSxIZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzPT0iZnVuY3Rpb24iKXt2YXIgemU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWN0aW9uIiksRGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKSxfZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLXNvdW5kLXByZXZpZXciKTtpZih6ZSYmRGUpe3plLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXt2YXIgZmU9SlNPTi5wYXJzZShXYW5kTmF0aXZlLmdldEF2YWlsYWJsZVNvdW5kcygpKSxBZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCk7RGUuaW5uZXJIVE1MPSIiO2Zvcih2YXIgQz0wO0M8ZmUubGVuZ3RoO0MrKyl7dmFyIGN0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpO2N0LnZhbHVlPWZlW0NdLmlkLGN0LnRleHRDb250ZW50PWZlW0NdLm5hbWUsZmVbQ10uaWQ9PT1BZSYmKGN0LnNlbGVjdGVkPSEwKSxEZS5hcHBlbmRDaGlsZChjdCl9RGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblNvdW5kKERlLnZhbHVlKX1jYXRjaHt9fSksX2UmJl9lLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnByZXZpZXdTb3VuZChEZS52YWx1ZSl9Y2F0Y2h7fX0pfWNhdGNoe319fWlmKEhlJiZ0eXBlb2YgV2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQ9PSJmdW5jdGlvbiIpe3ZhciBBdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLWhhcHRpYy1zZWN0aW9uIiksUWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2lmKEF0JiZRZSl7QXQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dHJ5e1FlLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKX1jYXRjaHt9UWUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnNldEhhcHRpY0VuYWJsZWQoUWUuY2hlY2tlZCl9Y2F0Y2h7fVFlLmNoZWNrZWQmJlZuKCJtZWRpdW0iKX0pfX12YXIgJGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1uZXctc2Vzc2lvbi1idXR0b24iKTskZSYmJGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZhKTt2YXIgeHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyYXdlci1uZXctc2Vzc2lvbi1idXR0b24iKTt4dCYmeHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZhKTt2YXIgWHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLW1vZGFsLWJ1dHRvbiIpO1h0JiZYdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscG4pO3ZhciBhdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2Utd29ya3RyZWUtbWVyZ2UtYnV0dG9uIik7YXQmJmF0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHbik7dmFyIHFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jYW5jZWwtYnV0dG9uIik7cWUmJnFlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHbik7dmFyIE9lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jb25maXJtLWJ1dHRvbiIpO09lJiZPZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSHYpO3ZhciB3ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnVuLWJ1dHRvbiIpO3dlJiZ3ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdG0pO3ZhciBWZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIpO1ZlJiZWZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSmMpO3ZhciBTdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO1N0JiZTdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsWWMpO3ZhciBodD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpO2h0JiZodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsR2MpO3ZhciBnbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VuZC1pbnB1dC1idXR0b24iKTtnbiYmZ24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7V3QoKSxCZigpfSk7dmFyIEl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO0l0JiZJdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsd2EpO3ZhciBTbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO1NuJiZTbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7aC50YXJnZXQuaWQ9PT0ic2Vzc2lvbi1tb2RhbCImJnBuKCksaC50YXJnZXQuaWQ9PT0id29ya3RyZWUtbWVyZ2UtbW9kYWwiJiZHbigpfSk7dmFyIGNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtjZSYmKGFvKGNlKSxjZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsbSksY2UuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLGhtKSxjZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtuLnRlcm1pbmFsQ29tcG9zaW5nfHx1bChjZSl8fChUcChjZSksbnQoY2UudmFsdWUsITApLHdpKGNlKSl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IixmdW5jdGlvbigpe24udGVybWluYWxJbnRlcmFjdGl2ZSYmKG4udGVybWluYWxDb21wb3Npbmc9ITApfSksY2UuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLGZ1bmN0aW9uKCl7bi50ZXJtaW5hbENvbXBvc2luZyYmKG4udGVybWluYWxDb21wb3Npbmc9ITEsbi50ZXJtaW5hbEludGVyYWN0aXZlJiZ1bChjZSkpfSksY2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7V3QoKSxCcCh7dGFyZ2V0OmNlfSl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixEcCkpO3ZhciB1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXR0YWNoLWJ0biIpLGVlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXVwbG9hZC1pbnB1dCIpLHhlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSxTZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGx1cy1hdHRhY2gtaXRlbSIpO3V0JiZ4ZSYmdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2guc3RvcFByb3BhZ2F0aW9uKCksa3YoKX0pLFNlJiZlZSYmU2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7RWkoKSxlZS5jbGljaygpfSksZWUmJmVlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt2YXIgaD1lZS5maWxlcztpZihoKWZvcih2YXIgRD0wO0Q8aC5sZW5ndGg7RCsrKVlhKGhbRF0pO2VlLnZhbHVlPSIifSk7dmFyIHl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1idG4iKTt5dCYmeXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ZmEoKX0pO3ZhciBkdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtY2FuY2VsLWJ0biIpO2R0JiZkdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtmYSghMSl9KTt2YXIgcGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtwZSYmKHBlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixoZikscGUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHlmKSxwZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLFRzKSxwZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixUcykpO3ZhciBYZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvbXB0LW9wdGltaXplLWJ0biIpO1hlJiZYZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtibSgpfSk7dmFyIGJ0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2J0JiYoYnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLGJ0LmNsYXNzTGlzdC5hZGQoImRyYWctb3ZlciIpfSksYnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixmdW5jdGlvbihoKXtoLnByZXZlbnREZWZhdWx0KCksaC5zdG9wUHJvcGFnYXRpb24oKSxidC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGJ0LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLGJ0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO3ZhciBEPWguZGF0YVRyYW5zZmVyJiZoLmRhdGFUcmFuc2Zlci5maWxlcztpZihEKWZvcih2YXIgaj0wO2o8RC5sZW5ndGg7aisrKVlhKERbal0pfSkpO3ZhciBabj1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTtabi5mb3JFYWNoKGZ1bmN0aW9uKGgpe3ZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGgpO0QmJkQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNwKX0pO3ZhciBXPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwd2EtaW5zdGFsbC1idXR0b24iKTtXJiZXLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uZGVmZXJyZWRQcm9tcHQmJihuLmRlZmVycmVkUHJvbXB0LnByb21wdCgpLG4uZGVmZXJyZWRQcm9tcHQudXNlckNob2ljZS50aGVuKGZ1bmN0aW9uKCl7bi5kZWZlcnJlZFByb21wdD1udWxsLG4uc2hvd0luc3RhbGxQcm9tcHQ9ITEsRXMoKX0pKX0pO3ZhciBfPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXBhbmVsLXRvZ2dsZS1idG4iKTtfJiZfLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOcik7dmFyIFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbC1jbG9zZSIpO1EmJlEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHZ1KTt2YXIgbWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtYmFja2Ryb3AiKTttZSYmbWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHZ1KTt2YXIgSWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1maWxlLWJ1dHRvbiIpO0llJiZJZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTnIpO3ZhciBUdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWN3ZCIpO1R0JiYoVHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5maWxlUGFuZWxPcGVufHxOcigpfSksVHQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7KGgua2V5PT09IkVudGVyInx8aC5rZXk9PT0iICIpJiYoaC5wcmV2ZW50RGVmYXVsdCgpLG4uZmlsZVBhbmVsT3Blbnx8TnIoKSl9KSk7dmFyIGVyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKSxCaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpO2VyJiZCaSYmKGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXtoLnN0b3BQcm9wYWdhdGlvbigpLG4udG9wYmFyTW9yZU9wZW49IW4udG9wYmFyTW9yZU9wZW4sQmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhbi50b3BiYXJNb3JlT3BlbiksZXIuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixuLnRvcGJhck1vcmVPcGVuKSxlci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLG4udG9wYmFyTW9yZU9wZW4/InRydWUiOiJmYWxzZSIpfSksQmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe3ZhciBEPWgudGFyZ2V0JiZoLnRhcmdldC5jbG9zZXN0P2gudGFyZ2V0LmNsb3Nlc3QoIi50b3BiYXItbW9yZS1pdGVtIik6bnVsbDtpZihEKXt2YXIgaj1ELmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtzd2l0Y2gobi50b3BiYXJNb3JlT3Blbj0hMSxCaS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlci5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxlci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGope2Nhc2UiY29weS1jbGF1ZGUtc2Vzc2lvbi1pZCI6WmkoImNsYXVkZVNlc3Npb25JZCIsSHQoKSYmSHQoKS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IHRocmVhZCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2UiY29weS1jd2QiOlppKCJjd2QiLCJcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTVERjJcdTU5MERcdTUyMzYiKTticmVhaztjYXNlImNvcHktc2Vzc2lvbi1pZCI6WmkoImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2Uid29ya3RyZWUtbWVyZ2UiOm4uc2VsZWN0ZWRJZCYmWW8obi5zZWxlY3RlZElkKTticmVhaztjYXNlIndvcmt0cmVlLWNsZWFudXAiOm4uc2VsZWN0ZWRJZCYmR28obi5zZWxlY3RlZElkKTticmVhaztjYXNlImRlbGV0ZS1zZXNzaW9uIjpuLnNlbGVjdGVkSWQmJihmdW5jdGlvbihFZSl7SG4oIlx1Nzg2RVx1NUI5QVx1ODk4MVx1NTIyMFx1OTY2NFx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbihFdCl7RXQmJiRzKEVlKX0pfSkobi5zZWxlY3RlZElkKTticmVha319fSkpO3ZhciBzbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtZG93bi10b3AiKSxvbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtdXAtdG9wIik7c2wmJnNsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe211KC0uMjUpfSksb2wmJm9sLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe211KC4yNSl9KTt2YXIgbGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2UtcmVmcmVzaC1idG4iKTtsbCYmbGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2lmKGgmJmguc2hpZnRLZXkpe2xvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1DbigpLEN0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxsbyghMCl9KTt2YXIgY2w9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIik7Y2wmJmNsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Z0KCJmb3JjZSIpfSk7dmFyIGRsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtkbCYmZGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7RGwoITApfSk7dmFyIGZsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLXJlZnJlc2giKTtmbCYmZmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7TXQoKX0pO3ZhciBwbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci11cCIpO3BsJiZwbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsVmwpO3ZhciBqZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTtpZihqZSYmamUudGFnTmFtZT09PSJJTlBVVCIpe3ZhciB0cj1qZS52YWx1ZSx2bD1mdW5jdGlvbihoKXt2YXIgRD0oaHx8IiIpLnRyaW0oKTtyZXR1cm4gRD8oRD1ELnJlcGxhY2UoL1wvezIsfS9nLCIvIiksRC5sZW5ndGg+MSYmKEQ9RC5yZXBsYWNlKC9cLyskLywiIikpLEQpOiIifTtqZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXt0cj1qZS52YWx1ZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e2plLnNlbGVjdCgpfWNhdGNoe319LDApfSksamUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aWYoaC5rZXk9PT0iRW50ZXIiKXtoLnByZXZlbnREZWZhdWx0KCk7dmFyIEQ9dmwoamUudmFsdWUpO2lmKCFEKXJldHVybjt0cj1ELGplLnZhbHVlPUQsTXQoe2N3ZDpEfSksamUuYmx1cigpfWVsc2UgaC5rZXk9PT0iRXNjYXBlIiYmKGgucHJldmVudERlZmF1bHQoKSxqZS52YWx1ZT10cixqZS5ibHVyKCkpfSksamUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZnVuY3Rpb24oKXt2YXIgaD12bChqZS52YWx1ZSk7aWYoIWgpe2plLnZhbHVlPXRyO3JldHVybn1pZihoPT09dHIpe2plLnZhbHVlPWg7cmV0dXJufXRyPWgsamUudmFsdWU9aCxNdCh7Y3dkOmh9KX0pfXZhciBEaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtaW5wdXQiKSxPcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtY2xlYXIiKTtEaSYmRGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKGgpe24uZmlsZVNlYXJjaFF1ZXJ5PWgudGFyZ2V0LnZhbHVlLnRyaW0oKSxPciYmT3IuY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsbi5maWxlU2VhcmNoUXVlcnkubGVuZ3RoPjApLGJ1KCl9KSxPciYmT3IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5maWxlU2VhcmNoUXVlcnk9IiIsRGkmJihEaS52YWx1ZT0iIiksT3IuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSk7dmFyIGdlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0IiksVGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKSxudT1udWxsLFZ0PS0xLGhuPVtdO2Z1bmN0aW9uIG1sKGgpe2dlJiZnZS5jbGFzc0xpc3QuYWRkKCJpbnZhbGlkIik7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIpO0QmJihELnRleHRDb250ZW50PWgsRC5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGdsKCl7Z2UmJmdlLmNsYXNzTGlzdC5yZW1vdmUoImludmFsaWQiKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIik7aCYmKGgudGV4dENvbnRlbnQ9IiIsaC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIHdtKGgpe2lmKCFoLmxlbmd0aClyZXR1cm4iIjt2YXIgRD0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJmb2xkZXItcmVjZW50LXRpdGxlIj5cdTY3MDBcdThGRDFcdTRGN0ZcdTc1Mjg8L2Rpdj4nO3JldHVybiBoLmZvckVhY2goZnVuY3Rpb24oail7dmFyIEVlPWoucGF0aHx8ajtEKz0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1pdGVtIiBkYXRhLXBhdGg9IicrcChFZSkrJyI+PHNwYW4gY2xhc3M9ImZvbGRlci1yZWNlbnQtaXRlbS1wYXRoIj4nK3AoRWUpKyI8L3NwYW4+PC9kaXY+In0pLEQrPSI8L2Rpdj4iLER9ZnVuY3Rpb24gQ20oKXtUZSYmJGkoZnVuY3Rpb24oaCl7dmFyIEQ9d20oaCk7RD8oVGUuaW5uZXJIVE1MPUQsVGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVGUucXVlcnlTZWxlY3RvckFsbCgiLmZvbGRlci1yZWNlbnQtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oail7ai5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgRWU9dGhpcy5kYXRhc2V0LnBhdGg7Z2UmJihnZS52YWx1ZT1FZSxZdChFZSksWnQoRWUpKX0pfSkpOlByKCl9KX12YXIgaGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmtpbmctZGlyLWluZGljYXRvciIpO2hsJiZobC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpLG4uZHJhZnRzPXt9LEd0KCksc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0Iik7aCYmaC5mb2N1cygpfSw1MCl9KTt2YXIgcnU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdG9nZ2xlIiksVGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKTtydSYmVGUmJnJ1LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1RlLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIpLHJ1LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iKX0pO3ZhciBraT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZm9sZGVyLXBpY2tlci1jb21wYWN0Iik7aWYoa2kmJihraS5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLGguc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGtpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLGguc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGtpLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7dmFyIEQ9aC5kYXRhVHJhbnNmZXImJmguZGF0YVRyYW5zZmVyLml0ZW1zO2lmKEQpZm9yKHZhciBqPTA7ajxELmxlbmd0aDtqKyspe3ZhciBFZT1EW2pdO2lmKEVlLmtpbmQ9PT0iZmlsZSImJkVlLndlYmtpdEdldEFzRW50cnkpe3ZhciBFdD1FZS53ZWJraXRHZXRBc0VudHJ5KCk7aWYoRXQmJkV0LmlzRGlyZWN0b3J5JiZnZSl7dmFyIEx0PUV0LmZ1bGxQYXRoO2dlLnZhbHVlPUx0LFl0KEx0KSxadChMdCk7YnJlYWt9fX19KSksVGUmJlRlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXt2YXIgRD1oLnRhcmdldC5jbG9zZXN0KCIuZm9sZGVyLXBpY2tlci1xdWljay1idG4iKTtpZihEJiZnZSl7dmFyIGo9RC5kYXRhc2V0LnBhdGg7Z2UudmFsdWU9aixZdChqKSxadChqKSxUZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgRWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdG9nZ2xlIik7RWUmJkVlLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKX19KSxnZSl7dmFyIEJtPUplKCk7WnQoQm0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe3ZhciBoPXRoaXMudmFsdWUudHJpbSgpO2g/WnQoaCk6Q20oKX0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbihoKXt2YXIgRD1oLnRhcmdldC52YWx1ZS50cmltKCk7VnQ9LTEsbnUmJmNsZWFyVGltZW91dChudSksbnU9c2V0VGltZW91dChmdW5jdGlvbigpe0Q/WnQoRCk6UHIoKX0sMTUwKX0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGgpe2lmKGgua2V5PT09IkVzY2FwZSIpUHIoKSx0aGlzLmJsdXIoKTtlbHNlIGlmKGgua2V5PT09IkFycm93RG93biIpaC5wcmV2ZW50RGVmYXVsdCgpLGhuLmxlbmd0aD4wJiYoVnQ9TWF0aC5taW4oVnQrMSxobi5sZW5ndGgtMSkseWwoKSk7ZWxzZSBpZihoLmtleT09PSJBcnJvd1VwIiloLnByZXZlbnREZWZhdWx0KCksVnQ+MCYmKFZ0LS0seWwoKSk7ZWxzZSBpZihoLmtleT09PSJFbnRlciImJlZ0Pj0wKXtoLnByZXZlbnREZWZhdWx0KCk7dmFyIEQ9aG5bVnRdO2lmKEQpe3ZhciBqPUQuZGF0YXNldC5wYXRoO2lmKGo9PT0iLi4iKXt2YXIgRWU9Z2UudmFsdWUudHJpbSgpLEV0PUVlLnN1YnN0cmluZygwLEVlLmxhc3RJbmRleE9mKCIvIikpO0V0JiYoZ2UudmFsdWU9RXR8fCIvIixZdChnZS52YWx1ZSksWnQoRXR8fCIvIikpfWVsc2UgZ2UudmFsdWU9aixZdChqKSxQcigpfX19KX1mdW5jdGlvbiB5bCgpe2huLmZvckVhY2goZnVuY3Rpb24oaCxEKXtoLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsRD09PVZ0KX0pfWZ1bmN0aW9uIGFnKGgpe31mdW5jdGlvbiBadChoKXtUZSYmKFRlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkQuLi48L2Rpdj4nLFRlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLFZ0PS0xLGhuPVtdLGZldGNoKCIvYXBpL2ZvbGRlcnM/cT0iK2VuY29kZVVSSUNvbXBvbmVudChoKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oRCl7cmV0dXJuIEQuanNvbigpLnRoZW4oZnVuY3Rpb24oail7cmV0dXJue29rOkQub2ssc3RhdHVzOkQuc3RhdHVzLGRhdGE6an19KX0pLnRoZW4oZnVuY3Rpb24oRCl7dmFyIGo9RC5kYXRhO2lmKCFELm9rfHxqLmVycm9yKXttbChqLmVycm9yfHwiXHU4REVGXHU1Rjg0XHU2NUUwXHU2NTQ4IiksVGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWVycm9yIj4nK3Aoai5lcnJvcnx8Ilx1OERFRlx1NUY4NFx1NjVFMFx1NjU0OCIpKyI8L2Rpdj4iO3JldHVybn1nbCgpLGouY3VycmVudFBhdGg7dmFyIEVlPWouaXRlbXN8fFtdLEV0PWouY3VycmVudFBhdGh8fGg7aWYoRWUubGVuZ3RoPT09MCl7VGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWxvYWRpbmciPlx1N0E3QVx1NzZFRVx1NUY1NTwvZGl2Pic7cmV0dXJufVRlLmlubmVySFRNTD1FZS5tYXAoZnVuY3Rpb24oTHQpe3ZhciBBaT1MdC50eXBlPT09InBhcmVudCI/Ilx1MjFBOVx1RkUwRiI6Ilx1ezFGNEMxfSIsaXU9THQudHlwZT09PSJwYXJlbnQiPyIuLiAoXHU4RkQ0XHU1NkRFXHU0RTBBXHU3RUE3KSI6THQubmFtZTtyZXR1cm4nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1pdGVtIiBkYXRhLXBhdGg9IicrcChMdC5wYXRoKSsnIiBkYXRhLXR5cGU9IicrTHQudHlwZSsnIj48c3BhbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1pdGVtLWljb24iPicrQWkrIjwvc3Bhbj48c3Bhbj4iK3AoaXUpKyI8L3NwYW4+PC9kaXY+In0pLmpvaW4oIiIpLGhuPUFycmF5LmZyb20oVGUucXVlcnlTZWxlY3RvckFsbCgiLmZvbGRlci1waWNrZXItaXRlbSIpKSxobi5mb3JFYWNoKGZ1bmN0aW9uKEx0KXtMdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgQWk9dGhpcy5kYXRhc2V0LnBhdGgsaXU9dGhpcy5kYXRhc2V0LnR5cGU7aWYoZ2UpaWYoaXU9PT0icGFyZW50Iil7dmFyIHdsPWdlLnZhbHVlLnRyaW0oKSxDbD13bC5zdWJzdHJpbmcoMCx3bC5sYXN0SW5kZXhPZigiLyIpKTtnZS52YWx1ZT1DbHx8Ii8iLFl0KGdlLnZhbHVlKSxadChDbHx8Ii8iKX1lbHNlIGdlLnZhbHVlPUFpLFl0KEFpKSxnbCgpLFByKCl9KX0pfSkuY2F0Y2goZnVuY3Rpb24oRCl7bWwoIlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSIpLFRlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1lcnJvciI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1PC9kaXY+J30pKX1mdW5jdGlvbiBQcigpe1RlJiZUZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxWdD0tMSxobj1bXX12YXIgeW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItbW9kYWwiKSxibD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2UtZm9sZGVyLXBpY2tlciIpO2Z1bmN0aW9uIHVnKCl7aWYoeW4pe3luLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGdlJiYoZ2UudmFsdWU9SmUoKSk7dmFyIGg9SmUoKTtadChoKX19YmwmJnluJiZibC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt5bi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0pLHluJiZ5bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7aC50YXJnZXQ9PT15biYmeW4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9KTt2YXIgRWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1naXQtYmFkZ2UiKTtFbCYmRWwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxMdSgpfSk7dmFyIEZsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbW9kYWwiKTtGbCYmRmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gudGFyZ2V0LmlkPT09InF1aWNrLWNvbW1pdC1tb2RhbCImJiFuLnF1aWNrQ29tbWl0U3VibWl0dGluZyYmcW4oKX0pLE11KCksem4oKSxNcCgpLGVkKCksT2YoKSxEdCgpfWZ1bmN0aW9uIEN0KGUpe3ZhciB0PWV8fHt9O24ubGFzdFJlbmRlcmVkSGFzaD0wLG4ubGFzdFJlbmRlcmVkTXNnQ291bnQ9MCxuLmxhc3RSZW5kZXJlZEVtcHR5PW51bGwsbi5yZW5kZXJQZW5kaW5nPSExLG4uY2hhdFJlbmRlcmVkQ291bnQ9bi5jaGF0UGFnZVNpemUsbi5hc2tVc2VyU2VsZWN0aW9ucz17fSxuLmNoYXRTY3JvbGxFbGVtZW50JiYobi5jaGF0U2Nyb2xsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4uY2hhdFNjcm9sbEhhbmRsZXIpLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyKSxuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciksbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4uY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIpKSxuLmNoYXRTY3JvbGxFbGVtZW50PW51bGwsbi5jaGF0U2Nyb2xsSGFuZGxlcj1udWxsLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1udWxsLG4uY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPW51bGwsbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcj1udWxsLG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExLHQucHJlc2VydmVTdGlja1N0YXRlfHwobi5jaGF0U3RpY2tUb0JvdHRvbT0hMCxuLmNoYXRVbnJlYWRDb3VudD0wLG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg9LTEsbi5jaGF0SW5pdGlhbFJlbmRlckRvbmU9ITEpfWZ1bmN0aW9uIEplKCl7cmV0dXJuIG4ud29ya2luZ0Rpcnx8ZW4oKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlaW5zdGFsbHByb21wdCIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLG4uZGVmZXJyZWRQcm9tcHQ9ZSxuLnNob3dJbnN0YWxsUHJvbXB0PSEwLEVzKCl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixmdW5jdGlvbigpe24uaXNPbmxpbmU9ITAsZWkoKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvZmZsaW5lIixmdW5jdGlvbigpe24uaXNPbmxpbmU9ITEsZWkoKX0pO2Z1bmN0aW9uIGVpKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9mZmxpbmUtYmFubmVyIik7aWYoIW4uaXNPbmxpbmUmJiFlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmlkPSJvZmZsaW5lLWJhbm5lciIsdC5jbGFzc05hbWU9Im9mZmxpbmUtYmFubmVyIix0LnRleHRDb250ZW50PSJZb3UgYXJlIG9mZmxpbmUgLSBzb21lIGZlYXR1cmVzIG1heSBiZSBsaW1pdGVkIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpfWVsc2Ugbi5pc09ubGluZSYmZSYmZS5yZW1vdmUoKX1mdW5jdGlvbiBFcygpe3ZhciBlPSEhKG4uc2hvd0luc3RhbGxQcm9tcHQmJm4uZGVmZXJyZWRQcm9tcHQpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInB3YS1pbnN0YWxsLWJ1dHRvbiIpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhZSk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1pbnN0YWxsLWl0ZW0iKTtyJiZyLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWUpfWZ1bmN0aW9uIFdkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO2UmJihlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctY2FyZCI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXNwaW5uZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy10ZXh0Ij5cdTZCNjNcdTU3MjhcdThGREVcdTYzQTUgV2FuZFx1MjAyNjwvZGl2PjwvZGl2PjwvZGl2PicpfWZ1bmN0aW9uIG1yKGUsdCl7aWYobi5jb25maWcmJiFkb2N1bWVudC5oaWRkZW4pe3ZhciByPXQmJnQuaW1tZWRpYXRlPT09ITAsaT1EYXRlLm5vdygpOyFyJiZpLW4ubGFzdEZvcmVncm91bmRTeW5jQXQ8MTUwMHx8KG4ubGFzdEZvcmVncm91bmRTeW5jQXQ9aSxuLmZvcmVncm91bmRTeW5jVGltZXImJihjbGVhclRpbWVvdXQobi5mb3JlZ3JvdW5kU3luY1RpbWVyKSxuLmZvcmVncm91bmRTeW5jVGltZXI9bnVsbCksemQoZSxyKSl9fWZ1bmN0aW9uIHpkKGUsdCl7cmV0dXJuIW4uY29uZmlnfHxkb2N1bWVudC5oaWRkZW4/UHJvbWlzZS5yZXNvbHZlKCk6KFh1KCksdD9VaSgicmVzdW1lLWZvcmNlIik6KCFuLndzfHxuLndzLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTiYmbi53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNPTk5FQ1RJTkcpJiZKcigpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZCYmR3UoKSxkbih7c2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkOiEwfSkuY2F0Y2goZnVuY3Rpb24ocil7Y29uc29sZS5lcnJvcigiW3dhbmRdIGZvcmVncm91bmQgc3luYyBmYWlsZWQ6IixlLHIpfSkpfWZ1bmN0aW9uIFZkKCl7d2luZG93Ll9fd2FuZEZvcmVncm91bmRTeW5jQm91bmR8fCh3aW5kb3cuX193YW5kRm9yZWdyb3VuZFN5bmNCb3VuZD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2RvY3VtZW50LmhpZGRlbj9WaSgpOihtcigidmlzaWJpbGl0eSIpLHZyKCJ2aXNpYmlsaXR5IikpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe21yKCJmb2N1cyIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbigpe21yKCJwYWdlc2hvdyIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc3VtZSIsZnVuY3Rpb24oKXttcigicmVzdW1lIil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1hbmRyb2lkLXJlc3VtZSIsZnVuY3Rpb24oKXttcigiYW5kcm9pZC1yZXN1bWUiLHtpbW1lZGlhdGU6ITB9KSx2cigiYW5kcm9pZC1yZXN1bWUiKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWltZS1zdGF0ZSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5kZXRhaWwmJmUuZGV0YWlsLnN0YXRlO2lmKHQ9PT0ic2hvd24ifHx0PT09ImhpZGRlbiIpdHJ5e2V0KCJuYXRpdmUtaW1lLSIrdCx7Zm9yY2VSZXBsYXk6ITB9KSxmdCgibmF0aXZlLWltZSIpfWNhdGNoe319KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1hbmRyb2lkLW5ldHdvcmsiLGZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuZGV0YWlsJiZlLmRldGFpbC5zdGF0ZTtpZih0PT09Imxvc3QiKXtuLmlzT25saW5lPSExO3RyeXtlaSgpfWNhdGNoe31yZXR1cm59aWYodD09PSJhdmFpbGFibGUifHx0PT09ImNoYW5nZWQifHx0PT09InZhbGlkYXRlZCIpe24uaXNPbmxpbmU9ITA7dHJ5e2VpKCl9Y2F0Y2h7fVVpKCJhbmRyb2lkLW5ldHdvcmstIit0KX19KSl9ZnVuY3Rpb24gVWQoKXtmZXRjaCgiL2FwaS9zZXNzaW9uLWNoZWNrIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6e2F1dGhlZDohMX19KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiFlfHwhZS5hdXRoZWQ/KG4ubG9naW5DaGVja2VkPSEwLEd0KCksbnVsbCk6ZmV0Y2goIi9hcGkvY29uZmlnIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQub2s/dC5qc29uKCk6KG4ubG9naW5DaGVja2VkPSEwLEd0KCksbnVsbCl9KX0pLnRoZW4oZnVuY3Rpb24oZSl7ZSYmKG4uY29uZmlnPWUsbi5sb2dpbkNoZWNrZWQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dHJ5e0d0KHtza2lwU2hlbGxDaHJvbWU6ITB9KX1jYXRjaHt9VmQoKSxRdSgpLGp0KCksV28oKSxuZigpLGUudXBkYXRlQXZhaWxhYmxlJiZlLmxhdGVzdFZlcnNpb24mJkNzKGUuY3VycmVudFZlcnNpb258fCItIixlLmxhdGVzdFZlcnNpb24pLERuJiZRdigpLHJuJiYkdigpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZHx8c2V0VGltZW91dChmdW5jdGlvbigpe24uY2xhdWRlSGlzdG9yeUxvYWRlZHx8S3IoKX0sNjAwKX0pKX0pLmNhdGNoKGZ1bmN0aW9uKCl7aWYobi5sb2dpbkNoZWNrZWQ9ITAsIW5hdmlnYXRvci5vbkxpbmUpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtlJiYoZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZyI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLWNhcmQiPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy10ZXh0IiBzdHlsZT0iZm9udC1zaXplOjEuM2VtO21hcmdpbi1ib3R0b206MTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjhweCI+JytKKCJzaWduYWwiLHtzaXplOjIwLHN0cm9rZVdpZHRoOjEuOH0pKyc8c3Bhbj5cdTY1RTBcdTZDRDVcdThGREVcdTYzQTVcdTUyMzBcdTY3MERcdTUyQTFcdTU2Njg8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiIHN0eWxlPSJvcGFjaXR5OjAuNztmb250LXNpemU6MC45NWVtIj5cdThCRjdcdTY4QzBcdTY3RTVcdTdGNTFcdTdFRENcdThGREVcdTYzQTVcdTYyMTZcdTc4NkVcdThCQTQgV2FuZCBcdTY3MERcdTUyQTFcdTZCNjNcdTU3MjhcdThGRDBcdTg4NENcdTMwMDI8L2Rpdj48YnV0dG9uIG9uY2xpY2s9ImxvY2F0aW9uLnJlbG9hZCgpIiBzdHlsZT0ibWFyZ2luLXRvcDoxOHB4O3BhZGRpbmc6OHB4IDI0cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE1MCwxMTgsODUsMC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MC45NWVtIj5cdTkxQ0RcdThCRDU8L2J1dHRvbj48L2Rpdj48L2Rpdj4nKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixmdW5jdGlvbigpe2xvY2F0aW9uLnJlbG9hZCgpfSx7b25jZTohMH0pO3JldHVybn1HdCgpfSl9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2lmKCFQZSgpJiYhbi5zaWRlYmFyUGlubmVkJiYhbi5zaWRlYmFyQ29sbGFwc2VkJiZuLnNlc3Npb25zRHJhd2VyT3Blbil7dmFyIHQ9ZS50YXJnZXQ7IXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpfHx0LmNsb3Nlc3QoIiNzZXNzaW9ucy1kcmF3ZXIiKXx8dC5jbG9zZXN0KCIjc2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIpfHx0LmNsb3Nlc3QoIi5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSIpfHx0LmNsb3Nlc3QoIi5zaWRlYmFyLXRpbGUtYnViYmxlIil8fHQuY2xvc2VzdCgiLm1vZGFsLWJhY2tkcm9wLCAubW9kYWwtb3ZlcmxheSwgLm1vZGFsLWNvbnRhaW5lciwgW3JvbGU9J2RpYWxvZyddLCBbcm9sZT0nbWVudSddLCAudG9wYmFyLW1vcmUtbWVudSwgLnNpZGViYXItaGVhZGVyLW92ZXJmbG93LCAuZm9sZGVyLXBpY2tlci1kcm9wZG93biwgLnBhdGgtc3VnZ2VzdGlvbnMsIC5wZXJtaXNzaW9uLXByb21wdC1vdmVybGF5LCAucmVzdGFydC1vdmVybGF5Iil8fER2KCl9fSwhMCksV2QoKSxVZCgpO2Z1bmN0aW9uIEd0KGUpe3ZhciB0PWUmJmUuc2tpcFNoZWxsQ2hyb21lLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpLGk9bi5jb25maWchPT1udWxsLGE9bi5tb2RhbE9wZW4sdT0haXx8ISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYodSYmcHIoKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLG4uc2lkZWJhclBpbm5lZCYmIW4uc2lkZWJhckNvbGxhcHNlZCYmIVBlKCkmJihuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSksci5pbm5lckhUTUw9aT9ZZCgpOkpkKCksQ3QoKSxSZCgpLHhyKCksaGkoKSxZbihIdCgpKSxiaSgpLHR8fEFyKCksaSYmbi5maWxlUGFuZWxPcGVuJiZNdCgpLGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9KSxhJiZuLm1vZGFsT3Blbil7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtpZihzKXtzLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKTtvJiYoby52YWx1ZT1uLmN3ZFZhbHVlKSxrcigpfX1pZihpJiZuLnNlbGVjdGVkSWQmJm4uZ2l0U3RhdHVzU2Vzc2lvbklkIT09bi5zZWxlY3RlZElkJiZFbihuLnNlbGVjdGVkSWQpLGkpe3ZhciBsPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihjKXtyZXR1cm4gYy5pZD09PW4uc2VsZWN0ZWRJZH0pO1hhKGwpfX1mdW5jdGlvbiBLZCgpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pLHQ9ZSYmZS5hcHByb3ZhbFN0YXRzO3JldHVybiF0fHx0LnRvdGFsPT09MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIGhpZGRlbiIgaWQ9ImFwcHJvdmFsLXN0YXRzIj48L3NwYW4+JzonPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIiBpZD0iYXBwcm92YWwtc3RhdHMiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1kaXZpZGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiBpZD0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIHRpdGxlPSJcdTY3MkNcdTZCMjFcdTRGMUFcdThCRERcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTEiPjxzdmcgY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWljb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48L3N2Zz48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtdG90YWwiPicrdC50b3RhbCsnPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAiIGlkPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxlIj5cdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTE8L3NwYW4+JysodC5jb21tYW5kPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJ0ZXJtaW5hbCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0N0RcdTRFRTRcdTYyNjdcdTg4NEM8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LmNvbW1hbmQrIjwvc3Bhbj48L3NwYW4+IjoiIikrKHQuZmlsZT4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrSigiZWRpdCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTY1ODdcdTRFRjZcdTUxOTlcdTUxNjU8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LmZpbGUrIjwvc3Bhbj48L3NwYW4+IjoiIikrKHQudG9vbD4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrSigid3JlbmNoIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTE3Nlx1NEVENlx1NURFNVx1NTE3Nzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3QudG9vbCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyBhcHByb3ZhbC1zdGF0cy1yb3ctdG90YWwiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJzaWdtYSIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0MDhcdThCQTE8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LnRvdGFsKyI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+In1mdW5jdGlvbiBKZCgpe3JldHVybiBuLmxvZ2luQ2hlY2tlZD8nPGRpdiBjbGFzcz0ibG9naW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJsb2dpbi1jYXJkIj48ZGl2IGNsYXNzPSJsb2dpbi1oZWFkZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28taWNvbiI+VzwvZGl2PjxzcGFuIGNsYXNzPSJsb2dpbi1sb2dvLXRleHQiPldhbmQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tc3VidGl0bGUiPlx1NTcyOFx1NkQ0Rlx1ODlDOFx1NTY2OFx1NEUyRFx1OEZEMFx1ODg0Q1x1NjcyQ1x1NjczQVx1N0VDOFx1N0FFRjwvZGl2PjwvZGl2Pjxmb3JtIGlkPSJsb2dpbi1mb3JtIiBjbGFzcz0ibG9naW4tYm9keSIgYXV0b2NvbXBsZXRlPSJvbiI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJuYW1lIiBhdXRvY29tcGxldGU9InVzZXJuYW1lIiB2YWx1ZT0id2FuZCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTk5OTlweDt3aWR0aDoxcHg7aGVpZ2h0OjFweDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZSIgcmVhZG9ubHkgLz48cCBjbGFzcz0ibG9naW4taGludCI+XHU4RjkzXHU1MTY1IFdhbmQgXHU4QkJGXHU5NUVFXHU1QkM2XHU3ODAxXHU0RUU1XHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwXHUzMDAyPC9wPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9InBhc3N3b3JkIj5cdTVCQzZcdTc4MDE8L2xhYmVsPjxkaXYgY2xhc3M9InBhc3N3b3JkLWZpZWxkIj48aW5wdXQgaWQ9InBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgY2xhc3M9ImZpZWxkLWlucHV0IHBhc3N3b3JkLWlucHV0IiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4QkJGXHU5NUVFXHU1QkM2XHU3ODAxIiBhdXRvY29tcGxldGU9ImN1cnJlbnQtcGFzc3dvcmQiIGRhdGEtZXJyb3I9ImZhbHNlIiBhcmlhLWRlc2NyaWJlZGJ5PSJwYXNzd29yZC1oaW50IGxvZ2luLWVycm9yIiBhcmlhLWludmFsaWQ9ImZhbHNlIiAvPjxidXR0b24gaWQ9InRvZ2dsZS1wYXNzd29yZC1idXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InBhc3N3b3JkLXRvZ2dsZSIgYXJpYS1sYWJlbD0iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5cdTY2M0VcdTc5M0E8L2J1dHRvbj48L2Rpdj48cCBpZD0icGFzc3dvcmQtaGludCIgY2xhc3M9ImhpbnQiPlx1NEY3Rlx1NzUyOFx1NEY2MFx1NTcyOCBXYW5kIFx1NEUyRFx1OEJCRVx1N0Y2RVx1NzY4NFx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMVx1MzAwMjwvcD48cCBpZD0ibG9naW4tZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiIgcm9sZT0iYWxlcnQiPjwvcD48L2Rpdj48YnV0dG9uIGlkPSJsb2dpbi1idXR0b24iIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPlx1OEZEQlx1NTE2NVx1NjNBN1x1NTIzNlx1NTNGMDwvYnV0dG9uPicrKGphKCk/JzxidXR0b24gaWQ9ImxvZ2luLXN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tYmxvY2sgbG9naW4tc3dpdGNoLXNlcnZlciIgdHlwZT0iYnV0dG9uIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxyZWN0IHg9IjIiIHk9IjEzIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiLz48bGluZSB4MT0iNiIgeTE9IjciIHgyPSI2LjAxIiB5Mj0iNyIvPjxsaW5lIHgxPSI2IiB5MT0iMTciIHgyPSI2LjAxIiB5Mj0iMTciLz48L3N2Zz48c3Bhbj5cdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2Njg8L3NwYW4+PC9idXR0b24+JzoiIikrIjwvZm9ybT48L2Rpdj48L2Rpdj4iOic8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWNhcmQgbG9naW4tY2FyZC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJsb2dpbi1oZWFkZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28taWNvbiI+VzwvZGl2PjxzcGFuIGNsYXNzPSJsb2dpbi1sb2dvLXRleHQiPldhbmQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tc3VidGl0bGUiPlx1NkI2M1x1NTcyOFx1NjA2Mlx1NTkwRFx1NzY3Qlx1NUY1NVx1NzJCNlx1NjAwMTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImxvZ2luLWJvZHkiPjxkaXYgY2xhc3M9ImxvZ2luLXN0YXR1cyI+PHNwYW4gY2xhc3M9ImxvZ2luLXNwaW5uZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PGRpdj48cCBjbGFzcz0ibG9naW4taGludCI+XHU2QjYzXHU1NzI4XHU2OEMwXHU2N0U1XHU2NzJDXHU1NzMwXHU3NjdCXHU1RjU1XHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3QTBEXHU1MDE5XHUzMDAyPC9wPjxwIGNsYXNzPSJsb2dpbi1tdXRlZCI+XHU1OTgyXHU2NzlDXHU0RjYwXHU1MjFBXHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHVGRjBDXHU4RkQ5XHU2NjJGXHU2QjYzXHU1RTM4XHU3M0IwXHU4QzYxXHUzMDAyPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pid9ZnVuY3Rpb24gWWQoKXt2YXIgZT0iPFwvc2NyaXB0PiIsdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIuaWQ9PT1uLnNlbGVjdGVkSWR9KSxyPXQ/Z2kodC5jb21tYW5kKToiXHU2NzJBXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREIixpPXQ/dC5tb2RlKyIgfCAiK3Quc3RhdHVzOiJcdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0IiLGE9bi5zZWxlY3RlZElkJiZuLmRyYWZ0c1tuLnNlbGVjdGVkSWRdfHwiIix1PW4uc2Vzc2lvbnNEcmF3ZXJPcGVuPyIgb3BlbiI6IiIscz1wdSgpPyIgb3BlbiI6IiIsbz1jdigpLGw9TnQobyxuLmNoYXRNb2RlKSxjPVBlKCksZD0hIW4uc2lkZWJhclBpbm5lZCYmISFuLnNpZGViYXJDb2xsYXBzZWQsZj1kfHwhYyYmKCEhbi5zaWRlYmFyUGlubmVkfHwhIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx2PWQ/IiBzaWRlYmFyLWNvbGxhcHNlZCI6IiIsbT1kPyIgY29sbGFwc2VkIjoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iYXBwLWNvbnRhaW5lciI+PGRpdiBpZD0ic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIiBjbGFzcz0iZHJhd2VyLWJhY2tkcm9wJytzKyciPjwvZGl2PjxkaXYgY2xhc3M9Im1haW4tbGF5b3V0Jysobi5zZXNzaW9uc0RyYXdlck9wZW4/IiBzaWRlYmFyLW9wZW4iOiIiKSsoZj8iIHNpZGViYXItcGlubmVkIjoiIikrdisnIj48YXNpZGUgaWQ9InNlc3Npb25zLWRyYXdlciIgY2xhc3M9InNpZGViYXInK3UrKGY/IiBwaW5uZWQiOiIiKSttKyciPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyIj48ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlci1tYWluIj48ZGl2IGNsYXNzPSJ0b3BiYXItbG9nby1pY29uIj5XPC9kaXY+PHNwYW4gY2xhc3M9InNpZGViYXItdGl0bGUiPlx1NEYxQVx1OEJERDwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1jb3VudCIgaWQ9InNlc3Npb24tY291bnQiPicrU3RyaW5nKG4uc2Vzc2lvbnMubGVuZ3RoKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLWFjdGlvbnMiPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLW1vcmUiPjxidXR0b24gaWQ9InNpZGViYXItbW9yZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNSIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMS41Ii8+PC9zdmc+PC9idXR0b24+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItb3ZlcmZsb3ciIGlkPSJzaWRlYmFyLW92ZXJmbG93LW1lbnUiPjxidXR0b24gY2xhc3M9Im92ZXJmbG93LWl0ZW0iIGlkPSJzaWRlYmFyLWhvbWUtYnRuIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgOWw5LTcgOSA3djExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIvPjxwb2x5bGluZSBwb2ludHM9IjkgMjIgOSAxMiAxNSAxMiAxNSAyMiIvPjwvc3ZnPjxzcGFuPlx1NTZERVx1NTIzMFx1OTk5Nlx1OTg3NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvdmVyZmxvdy1pdGVtIiBpZD0ic2lkZWJhci1yZWZyZXNoLWJ0biIgdHlwZT0iYnV0dG9uIj48c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiLz48cGF0aCBkPSJNMjAuNDkgMTVhOSA5IDAgMSAxLTIuMTItOS4zNkwyMyAxMCIvPjwvc3ZnPjxzcGFuPlx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mjwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48YnV0dG9uIGlkPSJzaWRlYmFyLXBpbi1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLXBpbi10b2dnbGUnKyhuLnNpZGViYXJQaW5uZWQ/IiBwaW5uZWQiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSInKyhuLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIpKyciIGFyaWEtbGFiZWw9IicrKG4uc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIikrJyIgYXJpYS1wcmVzc2VkPSInKyhuLnNpZGViYXJQaW5uZWQ/InRydWUiOiJmYWxzZSIpKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIiIHkyPSIyMiIvPjxwYXRoIGQ9Ik01IDE3aDE0di0xLjc2YTIgMiAwIDAgMC0xLjExLTEuNzlsLTEuNzgtLjlBMiAyIDAgMCAxIDE1IDEwLjc2VjZoMWEyIDIgMCAwIDAgMC00SDhhMiAyIDAgMCAwIDAgNGgxdjQuNzZhMiAyIDAgMCAxLTEuMTEgMS43OWwtMS43OC45QTIgMiAwIDAgMCA1IDE1LjI0eiIvPjwvc3ZnPjwvYnV0dG9uPjxidXR0b24gaWQ9InNpZGViYXItY29sbGFwc2UtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1jb2xsYXBzZS10b2dnbGUnKyhkPyIgY29sbGFwc2VkIjoiIikrJyIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iJysoZD8iXHU1QzU1XHU1RjAwXHU0RTNBXHU1MTY4XHU1QzNBXHU1QkY4IjoiXHU2NTM2XHU4RDc3XHU0RTNBXHU3QTg0XHU2NzYxIikrJyIgYXJpYS1sYWJlbD0iJysoZD8iXHU1QzU1XHU1RjAwXHU0RTNBXHU1MTY4XHU1QzNBXHU1QkY4IjoiXHU2NTM2XHU4RDc3XHU0RTNBXHU3QTg0XHU2NzYxIikrJyI+JysoZD8nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxMCA2IDE2IDEyIDEwIDE4Ii8+PGxpbmUgeDE9IjIwIiB5MT0iNSIgeDI9IjIwIiB5Mj0iMTkiLz48L3N2Zz4nOic8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjE0IDYgOCAxMiAxNCAxOCIvPjxsaW5lIHgxPSI0IiB5MT0iNSIgeDI9IjQiIHkyPSIxOSIvPjwvc3ZnPicpKyc8L2J1dHRvbj48YnV0dG9uIGlkPSJjbG9zZS1kcmF3ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBzaWRlYmFyLWNsb3NlIGRyYXdlci1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU4M0RDXHU1MzU1Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1ib2R5Ij48ZGl2IGlkPSJzZXNzaW9ucy1wYW5lbCI+PGRpdiBjbGFzcz0ic2Vzc2lvbnMtbGlzdCIgaWQ9InNlc3Npb25zLWxpc3QiPicrV2koKSsnPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1mb290ZXIiPjxidXR0b24gaWQ9ImRyYXdlci1uZXctc2Vzc2lvbi1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj48c3Bhbj4rPC9zcGFuPiBcdTY1QjBcdTRGMUFcdThCREQ8L2J1dHRvbj48ZGl2IGNsYXNzPSJzaWRlYmFyLWZvb3Rlci1hY3Rpb25zIj48YnV0dG9uIGlkPSJmaWxlLXBhbmVsLXRvZ2dsZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbScrKG4uZmlsZVBhbmVsT3Blbj8iIGFjdGl2ZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNiI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48c3Bhbj5cdTY1ODdcdTRFRjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2V0dGluZ3MtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1OEJCRVx1N0Y2RSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+PHBhdGggZD0iTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEtMi44MyAyLjgzbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS00IDB2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMtMi44M2wuMDYtLjA2QTEuNjUgMS42NSAwIDAgMCA0LjY4IDE1YTEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEgMC00aC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAyLjgzLTIuODNsLjA2LjA2QTEuNjUgMS42NSAwIDAgMCA5IDQuNjhhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSA0IDB2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMi44M2wtLjA2LjA2QTEuNjUgMS42NSAwIDAgMCAxOS40IDlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMCA0aC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXoiLz48L3N2Zz48c3Bhbj5cdThCQkVcdTdGNkU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBpZD0icHdhLWluc3RhbGwtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gaGlkZGVuIiB0aXRsZT0iXHU1Qjg5XHU4OEM1XHU1RTk0XHU3NTI4Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+PC9zdmc+PHNwYW4+XHU1Qjg5XHU4OEM1PC9zcGFuPjwvYnV0dG9uPicrKGphKCk/JzxidXR0b24gaWQ9InN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mjwvc3Bhbj48L2J1dHRvbj4nOiIiKSsnPGJ1dHRvbiBpZD0ibG9nb3V0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0IiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTYgMTcgMjEgMTIgMTYgNyIvPjxsaW5lIHgxPSIyMSIgeTE9IjEyIiB4Mj0iOSIgeTI9IjEyIi8+PC9zdmc+PHNwYW4+XHU5MDAwXHU1MUZBPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvYXNpZGU+PG1haW4gY2xhc3M9Im1haW4tY29udGVudCI+PGRpdiBjbGFzcz0ibWFpbi1oZWFkZXItcm93Ij48ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+PGJ1dHRvbiBpZD0ic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIgY2xhc3M9ImZsb2F0aW5nLXNpZGViYXItdG9nZ2xlJysobi5zZXNzaW9uc0RyYXdlck9wZW4/IiBhY3RpdmUiOiIiKSsnIiBhcmlhLWxhYmVsPSJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9ImhhbWJ1cmdlci1pY29uIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+PHNwYW4gY2xhc3M9InRvcGJhci1icmFuZCIgYXJpYS1oaWRkZW49InRydWUiPlc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLWNlbnRlciI+JysodD8nPHNwYW4gY2xhc3M9InRvcGJhci1zZXNzaW9uLXRpdGxlIiB0aXRsZT0iJytwKHQuY29tbWFuZHx8IiIpKyciPicrcChnaSh0LmNvbW1hbmQpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy1waWxsICcrX3UodCkrJyIgdGl0bGU9IicrcChvcih0KSkrJyI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLWRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy10ZXh0Ij4nK3Aob3IodCkpKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JysodC5jd2Q/JzxzcGFuIGNsYXNzPSJ0b3BiYXItY3dkIiBpZD0idG9wYmFyLWN3ZCIgdGl0bGU9IicrcCh0LmN3ZCkrJyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+JytwKHQuY3dkKSsiPC9zcGFuPiI6IiIpOic8c3BhbiBjbGFzcz0idG9wYmFyLXRhZ2xpbmUiPldhbmQgXHU2M0E3XHU1MjM2XHU1M0YwPC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JykrJzwvZGl2PjxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+PGJ1dHRvbiBpZD0idG9wYmFyLWZpbGUtYnV0dG9uIiBjbGFzcz0idG9wYmFyLWJ0biBzcXVhcmUnKyhuLmZpbGVQYW5lbE9wZW4/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjU4N1x1NEVGNiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNlx1RkYwOFx1NTNFRlx1NEZFRVx1NjUzOVx1OERFRlx1NUY4NFx1RkYwOSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48L2J1dHRvbj48c3BhbiBpZD0idG9wYmFyLWdpdC1zbG90IiBjbGFzcz0idG9wYmFyLWdpdC1zbG90Ij4nK1R1KCkrIjwvc3Bhbj4iKyh0P3RjKHQpOiIiKSsnPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZS1wYW5lbC1iYWNrZHJvcCIgY2xhc3M9ImZpbGUtcGFuZWwtYmFja2Ryb3AnKyhuLmZpbGVQYW5lbE9wZW4/IiBvcGVuIjoiIikrJyI+PC9kaXY+PGRpdiBpZD0iZmlsZS1zaWRlLXBhbmVsIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsJysobi5maWxlUGFuZWxPcGVuPyIgb3BlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cCI+PHNwYW4gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uIj4nK0xlKCJmb2xkZXItb3BlbiIse3NpemU6MTZ9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtdGl0bGUiPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIiBpZD0iZmlsZS1leHBsb3Jlci1yZWZyZXNoIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjAiIGFyaWEtbGFiZWw9Ilx1NTIzN1x1NjVCMFx1NjU4N1x1NEVGNlx1NTIxN1x1ODg2OCI+JytMZSgicmVmcmVzaCIse3NpemU6MTV9KSsnPC9idXR0b24+PGJ1dHRvbiBpZD0iZmlsZS1zaWRlLXBhbmVsLWNsb3NlIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb25idG4gY2xvc2UiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5NzYyXHU2NzdGIiB0aXRsZT0iXHU1MTczXHU5NUVEIj4nK0xlKCJ4Iix7c2l6ZToxNn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3Jlci1oZWFkZXIiPjxidXR0b24gY2xhc3M9ImZpbGUtZXhwbG9yZXItdXAiIGlkPSJmaWxlLWV4cGxvcmVyLXVwIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REVcdTRFMEFcdTdFQTdcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NSI+JytMZSgiYXJyb3ctdXAiLHtzaXplOjE1fSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmlsZS1leHBsb3Jlci1wYXRoIiBpZD0iZmlsZS1leHBsb3Jlci1jd2QiIHZhbHVlPSInK3AodCYmdC5jd2Q/dC5jd2Q6ZW4oKSkrJyIgdGl0bGU9IicrcCh0JiZ0LmN3ZD90LmN3ZDplbigpKSsnIiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU1RTc2XHU1NkRFXHU4RjY2Li4uIiBzcGVsbGNoZWNrPSJmYWxzZSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1OERFRlx1NUY4NFx1RkYwQ1x1NTNFRlx1NzZGNFx1NjNBNVx1NEZFRVx1NjUzOVx1NTQwRVx1NTZERVx1OEY2NiIgLz48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNlYXJjaC1ib3giPjxzcGFuIGNsYXNzPSJmaWxlLXNlYXJjaC1pY29uIj4nK0xlKCJzZWFyY2giLHtzaXplOjE0fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZpbGUtc2VhcmNoLWlucHV0IiBjbGFzcz0iZmlsZS1zZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTIwMjYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48YnV0dG9uIGNsYXNzPSJmaWxlLXNlYXJjaC1jbGVhciIgaWQ9ImZpbGUtc2VhcmNoLWNsZWFyIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1OTY2NFx1NjQxQ1x1N0QyMiIgdGl0bGU9Ilx1NkUwNVx1OTY2NCI+JytMZSgieCIse3NpemU6MTN9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciIgaWQ9ImZpbGUtZXhwbG9yZXIiPicramwodCYmdC5jd2Q/dC5jd2Q6ZW4oKSkrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im91dHB1dCIgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lcicrKG4uc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKycgYWN0aXZlIj48ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5IiBhcmlhLWxhYmVsPSJcdTdFQzhcdTdBRUZcdTdGMjlcdTY1M0VcdTYzQTdcdTRFRjYiPjxidXR0b24gaWQ9InRlcm1pbmFsLXNjYWxlLWRvd24tdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTdGMjlcdTVDMEYiPlx1MjIxMjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVsIHRlcm1pbmFsLXNjYWxlLWxhYmVsIiBpZD0idGVybWluYWwtc2NhbGUtbGFiZWwtdG9wIj4nK01hdGgucm91bmQobi50ZXJtaW5hbFNjYWxlKjEwMCkrJyU8L3NwYW4+PGJ1dHRvbiBpZD0idGVybWluYWwtc2NhbGUtdXAtdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY1M0VcdTU5MjciPis8L2J1dHRvbj48c3BhbiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1kaXZpZGVyIj48L3NwYW4+PGJ1dHRvbiBpZD0icGFnZS1yZWZyZXNoLWJ0biIgY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXktYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjIiPlx1MjFCQjwvYnV0dG9uPjwvZGl2PjxidXR0b24gaWQ9InRlcm1pbmFsLWp1bXAtYm90dG9tIiBjbGFzcz0idGVybWluYWwtanVtcC1ib3R0b20nKyhuLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT8iIHZpc2libGUiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTVFOTVcdTkwRTgiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NUU5NVx1OTBFOCI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMy41djlNMy41IDhsNC41IDQuNUwxMi41IDgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjaGF0LW91dHB1dCIgY2xhc3M9ImNoYXQtY29udGFpbmVyIGhpZGRlbiI+PGJ1dHRvbiBpZD0iY2hhdC11bnJlYWQtYnViYmxlIiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTY3MDBcdTY1QjBcdTZEODhcdTYwNkYiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWJ1YmJsZS1pY29uIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAzLjV2OU0zLjUgOGw0LjUgNC41TDEyLjUgOCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlLWNvdW50IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjxkaXYgaWQ9InF1ZXVlLWJhci1ob3N0IiBjbGFzcz0icXVldWUtYmFyLWhvc3QiIGhpZGRlbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJibGFuay1jaGF0IiBjbGFzcz0iYmxhbmstY2hhdCcrKG4uc2VsZWN0ZWRJZD8iIGhpZGRlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtaW5uZXIiPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtbG9nbyI+VzwvZGl2PjxoMiBjbGFzcz0iYmxhbmstY2hhdC10aXRsZSI+V2FuZDwvaDI+PHAgY2xhc3M9ImJsYW5rLWNoYXQtc3VidGl0bGUiPlx1NjUyRlx1NjMwMVx1N0VDOFx1N0FFRiBQVFkgXHU0RjFBXHU4QkREXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2IGNoYXQgXHU0RjFBXHU4QkREXHVGRjBDXHU0RTI0XHU3OUNEXHU2QTIxXHU1RjBGXHU1M0VGXHU1RTc2XHU1QjU4XHUzMDAyPC9wPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtdG9vbHMiPjxidXR0b24gY2xhc3M9ImJsYW5rLWNoYXQtdG9vbC1idG4iIGlkPSJ3ZWxjb21lLXRvb2wtY2xhdWRlIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24iPicrSigidGVybWluYWwiLHtzaXplOjE2LHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+XHU2NUIwXHU1RUZBXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1jb2RleCIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIHRvb2wtaWNvbi10ZXh0Ij5cdTIzMTg8L3NwYW4+XHU2NUIwXHU1RUZBIENvZGV4IFx1NEYxQVx1OEJERDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJsYW5rLWNoYXQtdG9vbC1idG4iIGlkPSJ3ZWxjb21lLXRvb2wtc3RydWN0dXJlZCIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIj4nK0ooImNoYXQiLHtzaXplOjE2LHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+XHU2NUIwXHU1RUZBXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2Qtd3JhcCI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QiIGlkPSJibGFuay1jaGF0LWN3ZCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgdGl0bGU9Ilx1NzBCOVx1NTFGQlx1NTIwN1x1NjM2Mlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSI+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWljb24iPicrSigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1wYXRoIiBpZD0iYmxhbmstY2hhdC1jd2QtcGF0aCI+JytwKEplKCkpKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWFycm93IiBpZD0iYmxhbmstY2hhdC1jd2QtYXJyb3ciPicrSigiY2hldnJvbkRvd24iLHtzaXplOjExLHN0cm9rZVdpZHRoOjJ9KSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIGhpZGRlbiIgaWQ9ImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJpbnB1dC1wYW5lbCcrKG4uc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKyciPjxkaXYgY2xhc3M9ImNvbXBvc2VyLXRvcC1yb3ciPjxkaXYgaWQ9InRvZG8tcHJvZ3Jlc3MiIGNsYXNzPSJ0b2RvLXByb2dyZXNzIGhpZGRlbiI+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1oZWFkZXIiIGlkPSJ0b2RvLXByb2dyZXNzLXRvZ2dsZSI+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1sZWZ0Ij48c3BhbiBjbGFzcz0idG9kby1wcm9ncmVzcy1yaW5nIiBpZD0idG9kby1wcm9ncmVzcy1yaW5nIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9Ii0tcHJvZ3Jlc3M6MCI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAzNiAzNiI+PGNpcmNsZSBjbGFzcz0idG9kby1yaW5nLXRyYWNrIiBjeD0iMTgiIGN5PSIxOCIgcj0iMTUuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI0Ii8+PGNpcmNsZSBjbGFzcz0idG9kby1yaW5nLWZpbGwiIGN4PSIxOCIgY3k9IjE4IiByPSIxNS41IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0idG9kby1wcm9ncmVzcy1jb3VudGVyIiBpZD0idG9kby1wcm9ncmVzcy1jb3VudGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtdGFzayIgaWQ9InRvZG8tcHJvZ3Jlc3MtdGFzayI+PC9zcGFuPjwvZGl2PjxzdmcgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+PC9zdmc+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1ib2R5IGhpZGRlbiIgaWQ9InRvZG8tcHJvZ3Jlc3MtYm9keSI+PHVsIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxpc3QiIGlkPSJ0b2RvLXByb2dyZXNzLWxpc3QiPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaW5wdXQtY29tcG9zZXInKyhhPyIgaGFzLXRleHQiOiIiKSsnIj48ZGl2IGNsYXNzPSJjb21wb3Nlci1zdGF0dXMtcm93IiBpZD0iY29tcG9zZXItc3RhdHVzLXJvdyI+Jytodih0KSsnPHNwYW4gY2xhc3M9InBlcm1pc3Npb24tYWN0aW9ucyBoaWRkZW4iIGlkPSJwZXJtaXNzaW9uLWFjdGlvbnMiPjxzcGFuIGNsYXNzPSJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiIGlkPSJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiPlx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0Mzwvc3Bhbj48YnV0dG9uIGlkPSJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiBjbGFzcz0iYnRuIGJ0bi1wZXJtaXNzaW9uIGJ0bi1wZXJtaXNzaW9uLWFwcHJvdmUiIHR5cGU9ImJ1dHRvbiI+XHU2Mjc5XHU1MUM2PC9idXR0b24+PGJ1dHRvbiBpZD0iZGVueS1wZXJtaXNzaW9uLWJ0biIgY2xhc3M9ImJ0biBidG4tcGVybWlzc2lvbiBidG4tcGVybWlzc2lvbi1kZW55IiB0eXBlPSJidXR0b24iPlx1NjJEMlx1N0VERDwvYnV0dG9uPjwvc3Bhbj4nK0tkKCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLW1haW4tcm93Ij48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLWxlZnQiPjxidXR0b24gaWQ9ImF0dGFjaC1idG4iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtYWN0aW9uIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY2RjRcdTU5MUEiIGFyaWEtbGFiZWw9Ilx1NjZGNFx1NTkxQSIgYXJpYS1oYXNwb3B1cD0ibWVudSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPicrSigicGx1cyIse3NpemU6MTgsc3Ryb2tlV2lkdGg6Mi4yfSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZS11cGxvYWQtaW5wdXQiIG11bHRpcGxlIHRhYmluZGV4PSItMSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlucHV0LXdyYXAiPjx0ZXh0YXJlYSBpZD0iaW5wdXQtYm94IiBjbGFzcz0iaW5wdXQtdGV4dGFyZWEiIHBsYWNlaG9sZGVyPSInK1RvKHQsbi50ZXJtaW5hbEludGVyYWN0aXZlKSsnIiByb3dzPSIxIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIGVudGVya2V5aGludD0ic2VuZCI+JytwKGEpKyc8L3RleHRhcmVhPjxidXR0b24gaWQ9InByb21wdC1vcHRpbWl6ZS1idG4iIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIgYXJpYS1sYWJlbD0iXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2Ij48c3ZnIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtaWNvbiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4yNSIvPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiLz48cGF0aCBkPSJNMTkgMTRsLjcgMS45TDIxLjYgMTdsLTEuOS43TDE5IDE5LjZsLS43LTEuOUwxNi40IDE3bDEuOS0uN3oiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjxwYXRoIGQ9Ik01IDRsLjUgMS40TDcgNmwtMS41LjZMNSA4bC0uNS0xLjRMMyA2bDEuNS0uNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJ2b2ljZS1pbnB1dC1tb2RlIGhpZGRlbiIgaWQ9InZvaWNlLWlucHV0LW1vZGUiPjxidXR0b24gaWQ9InZvaWNlLXJlY29yZC1idG4iIGNsYXNzPSJ2b2ljZS1yZWNvcmQtYnRuIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ2b2ljZS1yZWNvcmQtcHVsc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InZvaWNlLXJlY29yZC1sYWJlbCI+XHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERDwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJ2b2ljZS1jYW5jZWwtYnRuIiBjbGFzcz0idm9pY2UtY2FuY2VsLWJ0biIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU5MDAwXHU1MUZBXHU4QkVEXHU5N0YzXHU2QTIxXHU1RjBGIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdThCRURcdTk3RjNcdTZBMjFcdTVGMEYiPicrSigieCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLXJpZ2h0Ij48YnV0dG9uIGlkPSJzdG9wLWJ1dHRvbiIgY2xhc3M9ImJ0bi1jaXJjbGUgYnRuLWNpcmNsZS1zdG9wIGhpZGRlbiIgdGl0bGU9Ilx1NTA1Q1x1NkI2MiI+PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIi8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2VuZC1pbnB1dC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc2VuZCIgdGl0bGU9Ilx1NTNEMVx1OTAwMSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIyMiIgeTE9IjIiIHgyPSIxMSIgeTI9IjEzIi8+PHBvbHlnb24gcG9pbnRzPSIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXR0YWNobWVudC1wcmV2aWV3IiBjbGFzcz0iYXR0YWNobWVudC1wcmV2aWV3IGhpZGRlbiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItcGx1cy1wb3BvdmVyIGhpZGRlbiIgaWQ9ImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIgcm9sZT0ibWVudSIgYXJpYS1sYWJlbD0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48YnV0dG9uIGNsYXNzPSJwbHVzLXBvcG92ZXItaXRlbSIgaWQ9InBsdXMtYXR0YWNoLWl0ZW0iIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrSigicGFwZXJjbGlwIix7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjgsY2xzOiJwbHVzLXBvcG92ZXItaWNvbiJ9KSsnPHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci1sYWJlbCI+XHU0RTBBXHU0RjIwXHU5NjQ0XHU0RUY2PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InBsdXMtcG9wb3Zlci1pdGVtJysobi50ZXJtaW5hbEludGVyYWN0aXZlPyIgaXMtb24iOiIiKSsnIiBpZD0idGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlLXRvcCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbWNoZWNrYm94IiBhcmlhLWNoZWNrZWQ9IicrKG4udGVybWluYWxJbnRlcmFjdGl2ZT8idHJ1ZSI6ImZhbHNlIikrJyI+JytKKCJrZXlib2FyZCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6MS44LGNsczoicGx1cy1wb3BvdmVyLWljb24ifSkrJzxzcGFuIGNsYXNzPSJwbHVzLXBvcG92ZXItbGFiZWwiPlx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mjwvc3Bhbj48c3BhbiBjbGFzcz0icGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZSI+Jysobi50ZXJtaW5hbEludGVyYWN0aXZlPyJcdTVGMDAiOiJcdTUxNzMiKSsnPC9zcGFuPjwvYnV0dG9uPjxkaXYgY2xhc3M9InBsdXMtcG9wb3Zlci1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVzLXBvcG92ZXItdHJpby13cmFwIj4nK1JhKHQse2tpbmQ6InBvcG92ZXIifSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIGhpZGRlbiIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIiBhcmlhLWxpdmU9InBvbGl0ZSI+PGRpdiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC10ZXh0IiBpZD0idm9pY2UtdHJhbnNjcmlwdC10ZXh0Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiPjxzcGFuIGNsYXNzPSJ2b2ljZS13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyI+XHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJ2b2ljZS1idWJibGUtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9kaXY+PHAgaWQ9ImFjdGlvbi1lcnJvciIgY2xhc3M9ImVycm9yLW1lc3NhZ2UgaGlkZGVuIj48L3A+PC9kaXY+PHNlY3Rpb24gaWQ9ImZvbGRlci1waWNrZXItbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIGZvbGRlci1waWNrZXItbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU5MDA5XHU2MkU5XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9oMj48YnV0dG9uIGlkPSJjbG9zZS1mb2xkZXItcGlja2VyIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1yb3ciPjxidXR0b24gY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stYnRuIGJ0bi13aXRoLWljb24iIGRhdGEtcGF0aD0iL3RtcCI+JytKKCJ0cmFzaCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzxzcGFuPlx1NEUzNFx1NjVGNlx1NzZFRVx1NUY1NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biBidG4td2l0aC1pY29uIiBkYXRhLXBhdGg9Ii8iPicrSigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPHNwYW4+XHU2ODM5XHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1icmVhZGNydW1iIiBjbGFzcz0iZm9sZGVyLWJyZWFkY3J1bWIiPjwvZGl2PjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXIiPjxzcGFuIGNsYXNzPSJmb2xkZXItcGlja2VyLWljb24iPicrSigiZm9sZGVyIix7c2l6ZToxNSxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItaW5wdXQiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTYyMTZcdTkwMDlcdTYyRTlcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTUuLi4iIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIgY2xhc3M9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPjwvbWFpbj48L2Rpdj48L2Rpdj4nK0NjKCkrcGMoKSt2YygpK091KCl9ZnVuY3Rpb24gTmUoZSx0KXtpZihlKXtlLnRleHRDb250ZW50PXQsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtmb3IodmFyIHI9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3I7KXtpZihyLnRhZ05hbWU9PT0iSU5QVVQiKXtyLnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsInRydWUiKTticmVha31yPXIucHJldmlvdXNFbGVtZW50U2libGluZ319fWZ1bmN0aW9uIHRpKGUpe2lmKGUpe2UudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtmb3IodmFyIHQ9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3Q7KXtpZih0LnRhZ05hbWU9PT0iSU5QVVQiKXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsImZhbHNlIik7YnJlYWt9dD10LnByZXZpb3VzRWxlbWVudFNpYmxpbmd9fX1mdW5jdGlvbiBrKGUsdCl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InRvYXN0LW1lc3NhZ2UiKyh0PT09ImVycm9yIj8iIHRvYXN0LWVycm9yIjoiIiksdCE9PSJlcnJvciImJihyLnN0eWxlLmJhY2tncm91bmQ9InZhcigtLWFjY2VudCkiLHIuc3R5bGUuY29sb3I9IndoaXRlIiksci50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksc2V0VGltZW91dChmdW5jdGlvbigpe3IucmVtb3ZlKCl9LHQ9PT0iZXJyb3IiPzRlMzoyMjAwKX12YXIgZ3I9W107ZnVuY3Rpb24gR2QoZSl7c3dpdGNoKGUpe2Nhc2Uid2FybmluZyI6cmV0dXJuIiEiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4iXHUyNkEwXHVGRTBFIjtjYXNlInN1Y2Nlc3MiOnJldHVybiJcdTI3MTMiO2Nhc2UicXVlc3Rpb24iOnJldHVybiI/IjtkZWZhdWx0OnJldHVybiJpIn19ZnVuY3Rpb24gbm4oZSl7ZT1lfHx7fTt2YXIgdD1lLmRpc21pc3NhYmxlIT09ITEscj1lLnR5cGV8fCJpbmZvIixpPWUuaWNvbnx8R2QociksYT0hIWUuaW5wdXQ7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1iYWNrZHJvcCIscy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ciLG8uc2V0QXR0cmlidXRlKCJyb2xlIixhPyJkaWFsb2ciOiJhbGVydGRpYWxvZyIpLG8uc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpLGUudGl0bGUmJm8uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlLnRpdGxlKTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctaGVhZGVyIjt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctaWNvbiAiK3IsYy50ZXh0Q29udGVudD1pLGwuYXBwZW5kQ2hpbGQoYyk7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoZC5jbGFzc05hbWU9IndhbmQtZGlhbG9nLXRleHR3cmFwIixlLnRpdGxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctdGl0bGUiLGYudGV4dENvbnRlbnQ9ZS50aXRsZSxkLmFwcGVuZENoaWxkKGYpfWlmKGUubWVzc2FnZSl7dmFyIHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7di5jbGFzc05hbWU9IndhbmQtZGlhbG9nLW1lc3NhZ2UiLHYudGV4dENvbnRlbnQ9ZS5tZXNzYWdlLGQuYXBwZW5kQ2hpbGQodil9bC5hcHBlbmRDaGlsZChkKSxvLmFwcGVuZENoaWxkKGwpO3ZhciBtPW51bGw7aWYoYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc05hbWU9IndhbmQtZGlhbG9nLWJvZHkiLG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxtLnR5cGU9InRleHQiLG0uY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pbnB1dCIsZS5pbnB1dFBsYWNlaG9sZGVyJiYobS5wbGFjZWhvbGRlcj1lLmlucHV0UGxhY2Vob2xkZXIpLGUuaW5wdXRWYWx1ZSE9bnVsbCYmKG0udmFsdWU9U3RyaW5nKGUuaW5wdXRWYWx1ZSkpLGIuYXBwZW5kQ2hpbGQobSksby5hcHBlbmRDaGlsZChiKX12YXIgZz1lLmJ1dHRvbnMmJmUuYnV0dG9ucy5sZW5ndGg/ZS5idXR0b25zOlt7bGFiZWw6Ilx1NTk3RCIsdmFsdWU6ITAsa2luZDoicHJpbWFyeSIsYXV0b2ZvY3VzOiEwfV0seT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt5LmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctZm9vdGVyIjt2YXIgdz1udWxsLEY9bnVsbDtmdW5jdGlvbiBFKHgpe2lmKCFzLmNsYXNzTGlzdC5jb250YWlucygiY2xvc2luZyIpKXtzLmNsYXNzTGlzdC5hZGQoImNsb3NpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixBLCEwKTt2YXIgUz1nci5pbmRleE9mKEUpO1M+PTAmJmdyLnNwbGljZShTLDEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLnBhcmVudE5vZGUmJnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzKSx1KHgpfSwxNjApfX1nLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksUD14LmtpbmR8fCJzZWNvbmRhcnkiO1MuY2xhc3NOYW1lPSJidG4gYnRuLSIrUCxTLnR5cGU9ImJ1dHRvbiIsUy50ZXh0Q29udGVudD14LmxhYmVsLFMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7YSYmeC5raW5kPT09InByaW1hcnkiP0UobT9tLnZhbHVlOiIiKTpFKHgudmFsdWUpfSksd3x8KHc9UykseC5hdXRvZm9jdXMmJihGPVMpLHkuYXBwZW5kQ2hpbGQoUyl9KSxvLmFwcGVuZENoaWxkKHkpLHMuYXBwZW5kQ2hpbGQobykscy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oeCl7eC50YXJnZXQ9PT1zJiZ0JiZFKGUuY2FuY2VsVmFsdWUhPT12b2lkIDA/ZS5jYW5jZWxWYWx1ZTphP251bGw6ITEpfSk7ZnVuY3Rpb24gQSh4KXtpZihncltnci5sZW5ndGgtMV09PT1FKXtpZih4LmtleT09PSJFc2NhcGUiJiZ0KXt4LnByZXZlbnREZWZhdWx0KCkseC5zdG9wUHJvcGFnYXRpb24oKSxFKGUuY2FuY2VsVmFsdWUhPT12b2lkIDA/ZS5jYW5jZWxWYWx1ZTphP251bGw6ITEpO3JldHVybn1pZih4LmtleT09PSJFbnRlciIpe2Zvcih2YXIgUz1udWxsLFA9MDtQPGcubGVuZ3RoO1ArKylpZihnW1BdLmtpbmQ9PT0icHJpbWFyeSIpe1M9Z1tQXTticmVha31TfHwoUz1nW2cubGVuZ3RoLTFdKSxTJiYoeC5wcmV2ZW50RGVmYXVsdCgpLHguc3RvcFByb3BhZ2F0aW9uKCksYSYmUy5raW5kPT09InByaW1hcnkiP0UobT9tLnZhbHVlOiIiKTpFKFMudmFsdWUpKX19fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEEsITApLGdyLnB1c2goRSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtpZihhJiZtKXttLmZvY3VzKCk7dHJ5e20uc2VsZWN0KCl9Y2F0Y2h7fX1lbHNlIEY/Ri5mb2N1cygpOncmJncuZm9jdXMoKX0pfSl9ZnVuY3Rpb24gUWQoZSx0KXtyZXR1cm4gdD10fHx7fSxubih7dGl0bGU6dC50aXRsZXx8Ilx1NjNEMFx1NzkzQSIsbWVzc2FnZTp0eXBlb2YgZT09InN0cmluZyI/ZTpTdHJpbmcoZT8/IiIpLHR5cGU6dC50eXBlfHwiaW5mbyIsYnV0dG9uczpbe2xhYmVsOnQub2tMYWJlbHx8Ilx1NTk3RCIsdmFsdWU6dm9pZCAwLGtpbmQ6InByaW1hcnkiLGF1dG9mb2N1czohMH1dfSl9ZnVuY3Rpb24gJGQoZSx0KXt0PXR8fHt9O3ZhciByPSEhdC5kYW5nZXJ8fHQudHlwZT09PSJkYW5nZXIiO3JldHVybiBubih7dGl0bGU6dC50aXRsZXx8KHI/Ilx1Nzg2RVx1OEJBNFx1NjRDRFx1NEY1QyI6Ilx1OEJGN1x1Nzg2RVx1OEJBNCIpLG1lc3NhZ2U6dHlwZW9mIGU9PSJzdHJpbmciP2U6U3RyaW5nKGU/PyIiKSx0eXBlOnQudHlwZXx8KHI/ImRhbmdlciI6InF1ZXN0aW9uIiksY2FuY2VsVmFsdWU6ITEsYnV0dG9uczpbe2xhYmVsOnQuY2FuY2VsTGFiZWx8fCJcdTUzRDZcdTZEODgiLHZhbHVlOiExLGtpbmQ6InNlY29uZGFyeSJ9LHtsYWJlbDp0Lm9rTGFiZWx8fChyPyJcdTUyMjBcdTk2NjQiOiJcdTc4NkVcdTVCOUEiKSx2YWx1ZTohMCxraW5kOnI/ImRhbmdlciI6InByaW1hcnkiLGF1dG9mb2N1czohcn1dfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaT09PSEwfSl9ZnVuY3Rpb24gWGQoZSx0LHIpe3JldHVybiByPXJ8fHt9LG5uKHt0aXRsZTpyLnRpdGxlfHwiXHU4QkY3XHU4RjkzXHU1MTY1IixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTpyLnR5cGV8fCJxdWVzdGlvbiIsaW5wdXQ6ITAsaW5wdXRWYWx1ZTp0PT1udWxsPyIiOlN0cmluZyh0KSxpbnB1dFBsYWNlaG9sZGVyOnIucGxhY2Vob2xkZXJ8fCIiLGNhbmNlbFZhbHVlOm51bGwsYnV0dG9uczpbe2xhYmVsOnIuY2FuY2VsTGFiZWx8fCJcdTUzRDZcdTZEODgiLHZhbHVlOm51bGwsa2luZDoic2Vjb25kYXJ5In0se2xhYmVsOnIub2tMYWJlbHx8Ilx1Nzg2RVx1NUI5QSIsdmFsdWU6dm9pZCAwLGtpbmQ6InByaW1hcnkifV19KX13aW5kb3cud2FuZEFsZXJ0PVFkLHdpbmRvdy53YW5kQ29uZmlybT0kZCx3aW5kb3cud2FuZFByb21wdD1YZCx3aW5kb3cub3BlbldhbmREaWFsb2c9bm47dmFyIFF0PVtdLEZzPTAsWmQ9NixlZj0xNjtmdW5jdGlvbiBhYShlKXtpZigoZS5hY3Rpb25MYWJlbHx8ZS5wbGF5U291bmQpJiZrcygpLCFuLm5vdGlmQnViYmxlKXJldHVybntkaXNtaXNzOmZ1bmN0aW9uKCl7fX07dmFyIHQ9KytGcyxyPWUudHlwZXx8ImluZm8iLGk9ZS5pY29ufHwocj09PSJ3YXJuaW5nIj8iISI6cj09PSJzdWNjZXNzIj8iXHUyNzEzIjoiaSIpLGE9ZS5kdXJhdGlvbiE9PXZvaWQgMD9lLmR1cmF0aW9uOjhlMyx1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NOYW1lPSJub3RpZmljYXRpb24tYnViYmxlIix1LnNldEF0dHJpYnV0ZSgiZGF0YS1uaWQiLFN0cmluZyh0KSk7dmFyIHM9JzxkaXYgY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtaGVhZGVyIj48c3BhbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uICcrcisnIj4nK2krJzwvc3Bhbj48c3BhbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS10aXRsZSI+JytwKGUudGl0bGUpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZSIgdGl0bGU9Ilx1NTE3M1x1OTVFRCI+XHhENzwvYnV0dG9uPjwvZGl2Picsbz1lLmJvZHk/JzxkaXYgY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtYm9keSI+JytwKGUuYm9keSkucmVwbGFjZSgvXG4vZywiPGJyPiIpKyI8L2Rpdj4iOiIiLGw9ZS5hY3Rpb25MYWJlbD8nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJwcmltYXJ5Ij4nK3AoZS5hY3Rpb25MYWJlbCkrIjwvYnV0dG9uPjwvZGl2PiI6IiI7dS5pbm5lckhUTUw9cytvK2wsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh1KTt2YXIgYz17aWQ6dCxlbDp1fTtRdC5wdXNoKGMpLHVhKCk7dmFyIGQ9dS5xdWVyeVNlbGVjdG9yKCIubm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZSIpO2lmKGQmJihkLm9uY2xpY2s9ZnVuY3Rpb24oKXtocih0KX0pLGUuYWN0aW9uTGFiZWwmJmUuYWN0aW9uKXt2YXIgZj11LnF1ZXJ5U2VsZWN0b3IoIi5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uIik7ZiYmKGYub25jbGljaz1mdW5jdGlvbigpe2UuYWN0aW9uKCksaHIodCl9KX12YXIgdj1udWxsO3JldHVybiBhPjAmJih2PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtocih0KX0sYSkpLHtkaXNtaXNzOmZ1bmN0aW9uKCl7aHIodCl9fX1mdW5jdGlvbiBocihlKXtmb3IodmFyIHQ9LTEscj0wO3I8UXQubGVuZ3RoO3IrKylpZihRdFtyXS5pZD09PWUpe3Q9cjticmVha31pZih0IT09LTEpe3ZhciBpPVF0W3RdO2kuZWwuY2xhc3NMaXN0LmFkZCgic2xpZGUtb3V0IiksUXQuc3BsaWNlKHQsMSksdWEoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5lbC5wYXJlbnROb2RlJiZpLmVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaS5lbCl9LDMwMCl9fWZ1bmN0aW9uIHVhKCl7Zm9yKHZhciBlPWVmLHQ9MDt0PFF0Lmxlbmd0aDt0KyspUXRbdF0uZWwuc3R5bGUudG9wPWUrInB4IixlKz1RdFt0XS5lbC5vZmZzZXRIZWlnaHQrWmR9dHJ5e3hzPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dhbmRQbGF0Zm9ybVwvbWFjT1MvKSxsYT13aW5kb3cud2Via2l0JiZ3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycyYmd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMud2FuZE5hdGl2ZXx8bnVsbCx4cyYmbGEmJnR5cGVvZiB3aW5kb3cuV2FuZE5hdGl2ZT4idSImJih3aW5kb3cuV2FuZE5hdGl2ZT17ZG93bmxvYWRVcGRhdGU6ZnVuY3Rpb24oZSx0LHIpe3RyeXtsYS5wb3N0TWVzc2FnZSh7dHlwZToiZG93bmxvYWRVcGRhdGUiLHVybDpTdHJpbmcoZXx8IiIpLGZpbGVOYW1lOlN0cmluZyh0fHwid2FuZC11cGRhdGUuZG1nIiksc291cmNlOlN0cmluZyhyfHwibG9jYWwiKX0pfWNhdGNoe319fSl9Y2F0Y2h7fXZhciBIZT10eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb249PSJmdW5jdGlvbiIseXI9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2FuZEFwcFwvKFteXHNdKykvKSx3cz0vV2FuZFBsYXRmb3JtXC9tYWNPUy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0Zj0hIXlyJiYhd3MsRG49eXImJnRmP3lyWzFdOm51bGwscm49eXImJndzP3lyWzFdOm51bGw7ZnVuY3Rpb24gVm4oZSl7aWYoISghSGV8fHR5cGVvZiBXYW5kTmF0aXZlLnZpYnJhdGUhPSJmdW5jdGlvbiIpKXRyeXtXYW5kTmF0aXZlLnZpYnJhdGUoZXx8ImxpZ2h0Iil9Y2F0Y2h7fX1mdW5jdGlvbiBzYSgpe2lmKEhlKXt2YXIgZT1uLnNlc3Npb25zLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIXQuYXJjaGl2ZWQmJih0LnN0YXR1cz09PSJydW5uaW5nInx8dC5zdGF0dXM9PT0idGhpbmtpbmcifHx0LnN0YXR1cz09PSJpbml0aWFsaXppbmciKX0pO2lmKHR5cGVvZiBXYW5kTmF0aXZlLnNldEtlZXBTY3JlZW5Pbj09ImZ1bmN0aW9uIil0cnl7V2FuZE5hdGl2ZS5zZXRLZWVwU2NyZWVuT24oZSl9Y2F0Y2h7fWlmKGUpe2lmKHR5cGVvZiBXYW5kTmF0aXZlLnN0YXJ0S2VlcEFsaXZlPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnN0YXJ0S2VlcEFsaXZlKCl9Y2F0Y2h7fX1lbHNlIGlmKHR5cGVvZiBXYW5kTmF0aXZlLnN0b3BLZWVwQWxpdmU9PSJmdW5jdGlvbiIpdHJ5e1dhbmROYXRpdmUuc3RvcEtlZXBBbGl2ZSgpfWNhdGNoe319fWZ1bmN0aW9uIG5pKCl7aWYoSGUmJnR5cGVvZiBXYW5kTmF0aXZlLmdldFBlcm1pc3Npb249PSJmdW5jdGlvbiIpdHJ5e3JldHVybiBXYW5kTmF0aXZlLmdldFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbmYoKXtpZihIZSl7dmFyIGU9bmkoKTtpZihlPT09ImRlZmF1bHQifHxlPT09ImRlbmllZCIpdHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJufXR5cGVvZiBOb3RpZmljYXRpb248InUiJiZOb3RpZmljYXRpb24ucGVybWlzc2lvbj09PSJkZWZhdWx0IiYmTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCl9ZnVuY3Rpb24gcmYoZSl7dmFyIHQ9ZXx8e307cmV0dXJuISh0Lm9ubHlXaGVuSGlkZGVuJiYhZG9jdW1lbnQuaGlkZGVufHx0LnNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQmJnQuc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmIWRvY3VtZW50LmhpZGRlbil9ZnVuY3Rpb24gYWYoZSx0KXtpZighZXx8IXR8fHQ8PTApcmV0dXJuITE7dmFyIHI9bi5ub3RpZmljYXRpb25IaXN0b3J5W2VdfHwwLGk9RGF0ZS5ub3coKTtyZXR1cm4gaS1yPHQ/ITA6KG4ubm90aWZpY2F0aW9uSGlzdG9yeVtlXT1pLCExKX1mdW5jdGlvbiByaShlLHQscil7dmFyIGk9cnx8e30sYT1pLnRhZ3x8IiI7aWYocmYoaSkmJiFhZihhLGkubWluSW50ZXJ2YWxNc3x8MCkpe2lmKEhlKXt2YXIgdT1uaSgpO2lmKHUhPT0iZ3JhbnRlZCIpcmV0dXJuO3RyeXt2YXIgcz1hO2kua2luZCYmKHM9aS5raW5kKyhhPyI6IithOiIiKSksV2FuZE5hdGl2ZS5zZW5kTm90aWZpY2F0aW9uKGV8fCJXYW5kIix0fHwiIixzfHwiIil9Y2F0Y2h7fXJldHVybn1pZighKHR5cGVvZiBOb3RpZmljYXRpb24+InUifHxOb3RpZmljYXRpb24ucGVybWlzc2lvbiE9PSJncmFudGVkIikmJmRvY3VtZW50LmhpZGRlbil0cnl7dmFyIG89bmV3IE5vdGlmaWNhdGlvbihlLHtib2R5OnR8fCIiLGljb246aS5pY29ufHwiL2Zhdmljb24uaWNvIix0YWc6YXx8dm9pZCAwfSk7by5vbmNsaWNrPWZ1bmN0aW9uKCl7d2luZG93LmZvY3VzKCksby5jbG9zZSgpLGkub25DbGljayYmaS5vbkNsaWNrKCl9LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmNsb3NlKCl9LDFlNCl9Y2F0Y2h7fX19ZnVuY3Rpb24gdWYoZSx0KXtpZighKCF0fHwhdC50aXRsZSkpe3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PWV9KTtpZihyKXt2YXIgaT1yLnN1bW1hcnl8fHIuY29tbWFuZHx8ZTtyaSgiXHU0RUZCXHU1MkExXHU4RkRCXHU4ODRDXHU0RTJEIixpK2AKYCt0LnRpdGxlLHtraW5kOiJ0YXNrIix0YWc6IndhbmQtdGFzay0iK2UrIi0iK3QudGl0bGUsbWluSW50ZXJ2YWxNczo5ZTQsb25seVdoZW5IaWRkZW46ITAsc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZDplLG9uQ2xpY2s6ZnVuY3Rpb24oKXtlIT09bi5zZWxlY3RlZElkJiZSdChlKX19KX19fWZ1bmN0aW9uIENzKGUsdCl7ZmYoZXx8Ii0iLHR8fCItIikscmkoIldhbmQgXHU1M0QxXHU3M0IwXHU2NUIwXHU3MjQ4XHU2NzJDIiwiXHU1RjUzXHU1MjREICIrKGV8fCItIikrIiBcdTIxOTIgXHU2NzAwXHU2NUIwICIrKHR8fCItIikse2tpbmQ6InVwZGF0ZSIsdGFnOiJ3YW5kLXVwZGF0ZSIsbWluSW50ZXJ2YWxNczozZTV9KX1mdW5jdGlvbiBzZihlLHQpe3JpKCJcdTk3MDBcdTg5ODFcdTRGNjBcdTc2ODRcdTYzODhcdTY3NDMiLHQse2tpbmQ6InBlcm1pc3Npb24iLHRhZzoid2FuZC1wZXJtLSIrZSxtaW5JbnRlcnZhbE1zOjZlNCxvbmx5V2hlbkhpZGRlbjohMCxza2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkOmUsb25DbGljazpmdW5jdGlvbigpe2UhPT1uLnNlbGVjdGVkSWQmJlJ0KGUpfX0pfWZ1bmN0aW9uIG9mKGUsdCxyKXtyaSh0LHIse2tpbmQ6InRhc2stZW5kZWQiLHRhZzoid2FuZC1lbmRlZC0iK2UsbWluSW50ZXJ2YWxNczoxZTQsb25DbGljazpmdW5jdGlvbigpe2UhPT1uLnNlbGVjdGVkSWQmJlJ0KGUpfX0pfXZhciBrbj17fSxsZj0zMDtmdW5jdGlvbiBCcyhlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1TdHJpbmcoZSkucmVwbGFjZSgvXiMrXHMrL2dtLCIiKS5yZXBsYWNlKC9cKlwqL2csIiIpLnJlcGxhY2UoL2AvZywiIikudHJpbSgpLHI9dC5zcGxpdChgCmApWzBdLnRyaW0oKTtyZXR1cm4gci5sZW5ndGg+MTAwJiYocj1yLnNsaWNlKDAsMTAwKSsiXHUyMDI2Iikscn1mdW5jdGlvbiBvYShlKXshSGV8fHR5cGVvZiBXYW5kTmF0aXZlLnVwZGF0ZVNlc3Npb25Qcm9ncmVzcyE9ImZ1bmN0aW9uInx8ZSYmKGtuW2VdJiZjbGVhclRpbWVvdXQoa25bZV0pLGtuW2VdPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkZWxldGUga25bZV0sY2YoZSl9LGxmKSl9ZnVuY3Rpb24gY2YoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4LmlkPT09ZX0pO2lmKHQpe3ZhciByPXQuc3VtbWFyeXx8dC5jb21tYW5kfHxlLGk9dC5zdGF0dXN8fCJydW5uaW5nIjtpZihpPT09ImlkbGUifHxpPT09ImFyY2hpdmVkInx8aT09PSJleGl0ZWQiKXtEcyhlKTtyZXR1cm59Zm9yKHZhciBhPW51bGwsdT0iIixzPSIiLG89W10sbD10Lm1lc3NhZ2VzfHxbXSxjPWwubGVuZ3RoLTE7Yz49MDtjLS0pe3ZhciBkPWxbY107aWYoISghZC5jb250ZW50fHwhQXJyYXkuaXNBcnJheShkLmNvbnRlbnQpKSl7aWYoIXMmJmQucm9sZT09PSJhc3Npc3RhbnQiKWZvcih2YXIgZj1kLmNvbnRlbnQubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciB2PWQuY29udGVudFtmXTtpZih2JiZ2LnR5cGU9PT0idGV4dCImJnYudGV4dCYmdi50ZXh0LnRyaW0oKSl7cz1Ccyh2LnRleHQpO2JyZWFrfX1pZihkLnJvbGU9PT0idXNlciIpe3ZhciBtPWQuY29udGVudC5zb21lKGZ1bmN0aW9uKHgpe3JldHVybiB4JiZ4Ll9fcXVldWVkfSk7aWYoIW0pZm9yKHZhciBiPTA7YjxkLmNvbnRlbnQubGVuZ3RoO2IrKyl7dmFyIGc9ZC5jb250ZW50W2JdO2lmKGcmJmcudHlwZT09PSJ0ZXh0IiYmZy50ZXh0JiZnLnRleHQudHJpbSgpKXt2YXIgeT1CcyhnLnRleHQpO3V8fCh1PXkpLG8ubGVuZ3RoPDQmJm8ucHVzaCh5KTticmVha319fWlmKCFhKWZvcih2YXIgdz1kLmNvbnRlbnQubGVuZ3RoLTE7dz49MDt3LS0pe3ZhciBGPWQuY29udGVudFt3XTtpZihGJiZGLnR5cGU9PT0idG9vbF91c2UiJiZGLm5hbWU9PT0iVG9kb1dyaXRlIiYmRi5pbnB1dCYmRi5pbnB1dC50b2Rvcyl7YT1GLmlucHV0LnRvZG9zO2JyZWFrfX1pZihhJiZvLmxlbmd0aD49NCYmcylicmVha319by5yZXZlcnNlKCk7dmFyIEU9IiI7ZT09PW4uc2VsZWN0ZWRJZCYmbi5jdXJyZW50VGFzayYmbi5jdXJyZW50VGFzay50aXRsZSYmKEU9bi5jdXJyZW50VGFzay50aXRsZSk7dmFyIEE9e3Nlc3Npb25MYWJlbDpyLHN0YXR1czppLGN1cnJlbnRUYXNrOkUsbGF0ZXN0VXNlclRleHQ6dSxsYXRlc3RBc3Npc3RhbnRUZXh0OnMsdG9kb3M6YXx8W10scmVjZW50VXNlclRleHRzOm99O3RyeXtXYW5kTmF0aXZlLnVwZGF0ZVNlc3Npb25Qcm9ncmVzcyhlLEpTT04uc3RyaW5naWZ5KEEpKX1jYXRjaHt9fX1mdW5jdGlvbiBEcyhlKXtpZighKCFIZXx8dHlwZW9mIFdhbmROYXRpdmUuY2xlYXJTZXNzaW9uUHJvZ3Jlc3MhPSJmdW5jdGlvbiIpKXtrbltlXSYmKGNsZWFyVGltZW91dChrbltlXSksZGVsZXRlIGtuW2VdKTt0cnl7V2FuZE5hdGl2ZS5jbGVhclNlc3Npb25Qcm9ncmVzcyhlKX1jYXRjaHt9fX13aW5kb3cuaGFuZGxlTmF0aXZlQmFjaz1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tb2RhbCIpO2lmKGUmJiFlLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpcmV0dXJuIFFuKCksITA7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtpZih0JiYhdC5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKXJldHVybiBwbigpLCEwO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIpO3JldHVybiByJiYhci5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpPyhHbigpLCEwKTpuLmZpbGVQYW5lbE9wZW4mJlBlKCk/KFBpKCExKSwhMCk6bi5zZXNzaW9uc0RyYXdlck9wZW4mJlBlKCk/KFNyKCksITApOlBlKCkmJm4uc2VsZWN0ZWRJZD8obi5zZWxlY3RlZElkPW51bGwseWUoKSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxHdCgpLCEwKTohMX07ZnVuY3Rpb24ga3MoKXtuLm5vdGlmU291bmQmJmlpKCl9ZnVuY3Rpb24gZGYoKXtyZXR1cm4gaWkoKX1mdW5jdGlvbiBpaSgpe3RyeXtsZXQgYT1mdW5jdGlvbih1LHMsbyl7dmFyIGw9ci5jcmVhdGVPc2NpbGxhdG9yKCksYz1yLmNyZWF0ZUdhaW4oKTtsLnR5cGU9InNpbmUiLGwuZnJlcXVlbmN5LnZhbHVlPXUsYy5nYWluLnNldFZhbHVlQXRUaW1lKDAsci5jdXJyZW50VGltZStzKSxjLmdhaW4ubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoLjUqaSxyLmN1cnJlbnRUaW1lK3MrLjA0KSxjLmdhaW4uZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZSguMDAxLHIuY3VycmVudFRpbWUrcytvKSxsLmNvbm5lY3QoYyksYy5jb25uZWN0KHIuZGVzdGluYXRpb24pLGwuc3RhcnQoci5jdXJyZW50VGltZStzKSxsLnN0b3Aoci5jdXJyZW50VGltZStzK28pfTt2YXIgZT1hLHQ9d2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dDtpZighdClyZXR1cm4hMTt2YXIgcj1uZXcgdDtyLnN0YXRlPT09InN1c3BlbmRlZCImJnIucmVzdW1lKCk7dmFyIGk9KG4ubm90aWZWb2x1bWV8fDApLzEwMDtyZXR1cm4gYSg1MjMsMCwuMjUpLGEoNjU5LC4xMiwuMyksc2V0VGltZW91dChmdW5jdGlvbigpe3IuY2xvc2UoKX0sNjAwKSwhMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gZmYoZSx0KXtpZihuLl91cGRhdGVCdWJibGVTaG93bilyZXR1cm47bi5fdXBkYXRlQnViYmxlU2hvd249ITAsa3MoKTt2YXIgcj0rK0ZzLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9Im5vdGlmaWNhdGlvbi1idWJibGUgdXBkYXRlLWNhcmQiLGkuc2V0QXR0cmlidXRlKCJkYXRhLW5pZCIsU3RyaW5nKHIpKSxpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtc2hpbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDE5VjUiLz48cGF0aCBkPSJNNSAxMmw3LTcgNyA3Ii8+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtaGVhZGluZyI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtdGl0bGUiPlx1NTNEMVx1NzNCMFx1NjVCMFx1NzI0OFx1NjcyQzwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXN1YnRpdGxlIiBpZD0idXBkYXRlLWNhcmQtc3VidGl0bGUiPlx1NzBCOVx1NTFGQlx1NEUwQlx1NjVCOVx1NjMwOVx1OTRBRVx1NEUwMFx1OTUyRVx1NjZGNFx1NjVCMDwvZGl2PjwvZGl2PjxidXR0b24gY2xhc3M9InVwZGF0ZS1jYXJkLWNsb3NlIiB0aXRsZT0iXHU3QTBEXHU1NDBFXHU2M0QwXHU5MTkyIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTggNkw2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24iPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1jdXJyZW50Ij52JytwKFN0cmluZyhlKS5yZXBsYWNlKC9edi8sIiIpKSsnPC9zcGFuPjxzdmcgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik01IDEyaDE0Ii8+PHBhdGggZD0iTTEzIDVsNyA3LTcgNyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1sYXRlc3QiPnYnK3AoU3RyaW5nKHQpLnJlcGxhY2UoL152LywiIikpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtcHJvZ3Jlc3MiIGlkPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcyIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXByb2dyZXNzLXRyYWNrIj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcy1maWxsIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1zdGF0dXMgaGlkZGVuIiBpZD0idXBkYXRlLWNhcmQtc3RhdHVzIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb24gdXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnkiIGlkPSJ1cGRhdGUtYnViYmxlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idXBkYXRlLWNhcmQtYWN0aW9uLWxhYmVsIj5cdTdBQ0JcdTUzNzNcdTY2RjRcdTY1QjA8L3NwYW4+PC9idXR0b24+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpO3ZhciBhPXtpZDpyLGVsOml9O1F0LnB1c2goYSksdWEoKTt2YXIgdT1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1jbG9zZSIpO3UmJih1Lm9uY2xpY2s9ZnVuY3Rpb24oKXtocihyKSxuLl91cGRhdGVCdWJibGVTaG93bj0hMX0pO3ZhciBzPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1idWJibGUtYWN0aW9uIiksbz1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1hY3Rpb24tbGFiZWwiKSxsPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXN1YnRpdGxlIiksYz1pLnF1ZXJ5U2VsZWN0b3IoIiN1cGRhdGUtY2FyZC1zdGF0dXMiKSxkPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXByb2dyZXNzIik7ZnVuY3Rpb24gZihiLGcpe2lmKGMpe2lmKGMudGV4dENvbnRlbnQ9Ynx8IiIsYy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iLCJlcnJvciIsInN1Y2Nlc3MiKSwhYil7Yy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59ZyYmYy5jbGFzc0xpc3QuYWRkKGcpfX1mdW5jdGlvbiB2KGIpe2wmJihsLnRleHRDb250ZW50PWJ8fCIiKX1mdW5jdGlvbiBtKGIpe2QmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIWIpfXMmJihzLm9uY2xpY2s9ZnVuY3Rpb24oKXtzLmRpc2FibGVkPSEwLGkuY2xhc3NMaXN0LmFkZCgiaXMtYnVzeSIpLG8mJihvLnRleHRDb250ZW50PSJcdTY2RjRcdTY1QjBcdTRFMkRcdTIwMjYiKSx2KCJcdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdTIwMjYiKSxtKCEwKSxmKCIiKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYil7cmV0dXJuIGIuanNvbigpfSkudGhlbihmdW5jdGlvbihiKXtpZihiLmVycm9yKXttKCExKSxpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWJ1c3kiKSx2KCJcdTY2RjRcdTY1QjBcdTY3MkFcdTVCOENcdTYyMTAiKSxmKGIuZXJyb3IsImVycm9yIikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iik7cmV0dXJufWlmKGkuY2xhc3NMaXN0LmFkZCgiaXMtc3VjY2VzcyIpLHYoKGIubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiKSxmKCIiKSxvJiYoby50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2IiksYi5kZXRhY2hlZFVwZGF0ZSl7YW4oKTtyZXR1cm59aWYoYi5yZXN0YXJ0UmVxdWlyZWQ9PT0hMSl7bSghMSksaS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1idXN5Iikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU1REYyXHU1QjhDXHU2MjEwIik7cmV0dXJufXBmKHMsbyxsLGMsZCl9KS5jYXRjaChmdW5jdGlvbigpe20oITEpLGkuY2xhc3NMaXN0LnJlbW92ZSgiaXMtYnVzeSIpLHYoIlx1NjZGNFx1NjVCMFx1NjcyQVx1NUI4Q1x1NjIxMCIpLGYoIlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NTQwRVx1OTFDRFx1OEJENSIsImVycm9yIikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iil9KX0pfWZ1bmN0aW9uIHBmKGUsdCxyLGksYSl7ZmV0Y2goIi9hcGkvcmVzdGFydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKCl7YW4oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7YW4oKX0pfWZ1bmN0aW9uIEFzKGUsdCl7ZSYmKGUuZGlzYWJsZWQ9ITAsZS50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2IiksdCYmKHQudGV4dENvbnRlbnQ9Ilx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRlx1MjAyNiIsdC5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIiksZmV0Y2goIi9hcGkvcmVzdGFydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKCl7YW4oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7YW4oKX0pfWZ1bmN0aW9uIGFuKCl7aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN0YXJ0LW92ZXJsYXkiKSl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5pZD0icmVzdGFydC1vdmVybGF5IixlLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+XHU2NzBEXHU1MkExXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGPC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+XHU3QTBEXHU1NDBFXHU1QzA2XHU4MUVBXHU1MkE4XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHUyMDI2PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpO3ZhciB0PTAscj0xODAsaT1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKHQrKyxmZXRjaCgiL2FwaS9jb25maWciLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXt1Lm9rJiYoY2xlYXJJbnRlcnZhbChpKSxsb2NhdGlvbi5yZWxvYWQoKSl9KS5jYXRjaChmdW5jdGlvbigpe30pLHQ+PXIpe2NsZWFySW50ZXJ2YWwoaSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC1zdWJ0aXRsZSIpO2EmJihhLmlubmVySFRNTD0nXHU5MUNEXHU1NDJGXHU4RDg1XHU2NUY2XHVGRjBDXHU4QkY3IDxhIGhyZWY9ImphdmFzY3JpcHQ6bG9jYXRpb24ucmVsb2FkKCkiIHN0eWxlPSJjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiPlx1NjI0Qlx1NTJBOFx1NTIzN1x1NjVCMDwvYT4gXHU5ODc1XHU5NzYyXHUzMDAyJyl9fSwyZTMpfX1mdW5jdGlvbiB2ZihlLHQpe2lmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iikpe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuaWQ9InJlc3RhcnQtb3ZlcmxheSIsci5jbGFzc05hbWU9InJlc3RhcnQtb3ZlcmxheSIsci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InJlc3RhcnQtb3ZlcmxheS1jb250ZW50Ij48ZGl2IGNsYXNzPSJyZXN0YXJ0LXNwaW5uZXIiPjwvZGl2PjxkaXYgY2xhc3M9InJlc3RhcnQtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMFx1NEUyRDwvZGl2PjxkaXYgY2xhc3M9InJlc3RhcnQtc3VidGl0bGUiPicrcChlKSsiIFx1MjE5MiAiK3AodCkrIjxicj5cdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdUZGMENcdTdBMERcdTU0MEVcdTVDMDZcdTgxRUFcdTUyQThcdTkxQ0RcdTU0MkZcdTIwMjY8L2Rpdj48L2Rpdj4iLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocil9fXZhciB4cyxsYSxoZT17cmVjb3JkaW5nOiExLGNhbmNlbGluZzohMSx0cmFuc2NyaXB0OiIiLHN0YXJ0WTowLG1vY2tUaW1lcjpudWxsfSxtZj02MCxTcz1bIlx1NUUyRVx1NjIxMVx1NjI4QSIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NCIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRSIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRVx1NjUzOVx1NjIxMFx1NTcwNlx1ODlEMlx1RkYwQyIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRVx1NjUzOVx1NjIxMFx1NTcwNlx1ODlEMlx1RkYwQ1x1NUU3Nlx1NTJBMFx1NEUwMFx1NzBCOVx1OTYzNFx1NUY3MSJdO2Z1bmN0aW9uIGdmKCl7dmFyIGU9MDtoZS5tb2NrVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtlPj1Tcy5sZW5ndGh8fChJcyhTc1tlXSksZSsrKX0sNDIwKX1mdW5jdGlvbiBjYSgpe2hlLm1vY2tUaW1lciYmKGNsZWFySW50ZXJ2YWwoaGUubW9ja1RpbWVyKSxoZS5tb2NrVGltZXI9bnVsbCl9ZnVuY3Rpb24gSXMoZSl7aGUudHJhbnNjcmlwdD1lfHwiIjt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC10ZXh0Iik7dCYmKHQudGV4dENvbnRlbnQ9aGUudHJhbnNjcmlwdCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7ciYmci5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtdGV4dCIsISFoZS50cmFuc2NyaXB0KX1mdW5jdGlvbiBoZihlKXtpZihlKXtlLnByZXZlbnREZWZhdWx0KCksaGUuc3RhcnRZPXR5cGVvZiBlLmNsaWVudFk9PSJudW1iZXIiP2UuY2xpZW50WTowO3RyeXtlLnBvaW50ZXJJZCE9PXZvaWQgMCYmZS50YXJnZXQmJmUudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlJiZlLnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fX1oZS5yZWNvcmRpbmc9ITAsaGUuY2FuY2VsaW5nPSExLGhlLnRyYW5zY3JpcHQ9IiI7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZih0KXt0LmNsYXNzTGlzdC5hZGQoImlzLXJlY29yZGluZyIpO3ZhciByPXQucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO3ImJihyLnRleHRDb250ZW50PSJcdTY3N0VcdTVGMDAgXHU1M0QxXHU5MDAxIil9dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7aSYmaS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iLCJpcy1jYW5jZWxpbmciLCJoYXMtdGV4dCIpLElzKCIiKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiKTthJiYoYS50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4IiksZ2YoKX1mdW5jdGlvbiB5ZihlKXtpZighKCFoZS5yZWNvcmRpbmd8fCFlKSl7dmFyIHQ9aGUuc3RhcnRZLSh0eXBlb2YgZS5jbGllbnRZPT0ibnVtYmVyIj9lLmNsaWVudFk6aGUuc3RhcnRZKSxyPXQ+bWY7aWYociE9PWhlLmNhbmNlbGluZyl7aGUuY2FuY2VsaW5nPXI7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7aSYmaS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1jYW5jZWxpbmciLHIpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIiksdT1hJiZhLnF1ZXJ5U2VsZWN0b3IoIi52b2ljZS1yZWNvcmQtbGFiZWwiKTt1JiYodS50ZXh0Q29udGVudD1yPyJcdTY3N0VcdTVGMDAgXHU1M0Q2XHU2RDg4IjoiXHU2NzdFXHU1RjAwIFx1NTNEMVx1OTAwMSIpO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIpO3MmJihzLnRleHRDb250ZW50PXI/Ilx1Njc3RVx1NUYwMFx1NjI0Qlx1NjMwNyBcdTUzRDZcdTZEODgiOiJcdTZCNjNcdTU3MjhcdTgwNDZcdTU0MkNcdTIwMjZcdTRFMEFcdTZFRDFcdTUzRDZcdTZEODgiKX19fWZ1bmN0aW9uIFRzKGUpe2lmKGhlLnJlY29yZGluZyl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGhlLnJlY29yZGluZz0hMSxjYSgpO3ZhciB0PSFoZS5jYW5jZWxpbmcmJiEhaGUudHJhbnNjcmlwdC50cmltKCkscj1oZS50cmFuc2NyaXB0O2RhKCksdCYmKGJmKHIpLGZhKCExKSl9fWZ1bmN0aW9uIGRhKCl7aGUuY2FuY2VsaW5nPSExO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIik7aWYoZSl7ZS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1yZWNvcmRpbmciKTt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi52b2ljZS1yZWNvcmQtbGFiZWwiKTt0JiYodC50ZXh0Q29udGVudD0iXHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERCIpfXZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LWJ1YmJsZSIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9ZnVuY3Rpb24gYmYoZSl7dmFyIHQ9KGV8fCIiKS50cmltKCk7aWYodCl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHIpe3ZhciBpPXIudmFsdWV8fCIiLGE9aT9pLnJlcGxhY2UoL1xzKyQvLCIiKSsiICIrdDp0O3IudmFsdWU9YSxudChhLCEwKSxQdChyKTt0cnl7ci5zZXRTZWxlY3Rpb25SYW5nZShhLmxlbmd0aCxhLmxlbmd0aCl9Y2F0Y2h7fX19fWZ1bmN0aW9uIGZhKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKHQpe3ZhciByPXR5cGVvZiBlPT0iYm9vbGVhbiI/ZTohdC5jbGFzc0xpc3QuY29udGFpbnMoInZvaWNlLW1vZGUiKTtpZih0LmNsYXNzTGlzdC50b2dnbGUoInZvaWNlLW1vZGUiLHIpLCFyKXtoZS5yZWNvcmRpbmc9ITEsY2EoKSxkYSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZihpJiYhbi50ZXJtaW5hbEludGVyYWN0aXZlKXRyeXtpLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9Y2F0Y2h7fX19fWZ1bmN0aW9uIFB0KGUpe2lmKGUpe3ZhciB0PTM2LHI9MTIwLGk9RHIoKTtpZighZS52YWx1ZXx8ZS52YWx1ZS50cmltKCk9PT0iIil7ZS5zdHlsZS5oZWlnaHQ9dCsicHgiLGUuc3R5bGUubWluSGVpZ2h0PXQrInB4IixlLnN0eWxlLm92ZXJmbG93WT1pPyJhdXRvIjoiaGlkZGVuIixlLnNjcm9sbFRvcD0wLHdpKGUpO3JldHVybn12YXIgYT1lLnN0eWxlLm92ZXJmbG93WTtlLnN0eWxlLm92ZXJmbG93WT0iaGlkZGVuIixlLnN0eWxlLmhlaWdodD10KyJweCI7dmFyIHU9ZS5zY3JvbGxIZWlnaHQscz1NYXRoLm1heCh0LE1hdGgubWluKHUscikpLG89dT5yO2Uuc3R5bGUuaGVpZ2h0PXMrInB4IixlLnN0eWxlLm1pbkhlaWdodD10KyJweCIsZS5zdHlsZS5vdmVyZmxvd1k9b3x8aT8iYXV0byI6ImhpZGRlbiIsbz9EYShlKTplLnNjcm9sbFRvcD0wLHdpKGUpfX1mdW5jdGlvbiBFZigpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuITE7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIG9lKGUpPyEhKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIn12YXIgYnI9ITE7ZnVuY3Rpb24gcGEoKXtyZXR1cm4gbi5zZXNzaW9ucy5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBvZShlKT8hIShlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpJiYhZS5hcmNoaXZlZDplLnN0YXR1cz09PSJydW5uaW5nIiYmIWUuYXJjaGl2ZWR9KX1mdW5jdGlvbiBMcyhlKXtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD49MTApe2soIlx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NURGMlx1NkVFMVx1RkYwOFx1NjcwMFx1NTkxQSAxMCBcdTY3NjFcdUZGMDlcdUZGMENcdThCRjdcdTdCNDlcdTVGODVcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTVCOENcdTYyMTBcdTMwMDIiLCJ3YXJuaW5nIik7cmV0dXJufXZhciB0PSJjc3EtIitEYXRlLm5vdygpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDgpO24uY3Jvc3NTZXNzaW9uUXVldWUucHVzaCh7aWQ6dCx0ZXh0OmUsY3dkOkplKCksbW9kZTpuLmNoYXRNb2RlfHwibWFuYWdlZCIsdG9vbDp2dCgpLHF1ZXVlZEF0OkRhdGUubm93KCl9KSxVdCgpLEJ0KCl9ZnVuY3Rpb24gRmYoZSl7YnJ8fChicj0hMCxmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6ZS50b29sLGN3ZDplLmN3ZCxtb2RlOmUubW9kZSxpbml0aWFsSW5wdXQ6ZS50ZXh0fSkpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBicj0hMSx0LmVycm9yPyhrKHQuZXJyb3IsImVycm9yIiksbi5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLFV0KCksQnQoKSxudWxsKTpvbih0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe2JyPSExLGsodCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU2MzkyXHU5NjFGXHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSxuLmNyb3NzU2Vzc2lvblF1ZXVlLnVuc2hpZnQoZSksVXQoKSxCdCgpfSkpfWZ1bmN0aW9uIHdmKGUpe3ZhciB0PW4uY3Jvc3NTZXNzaW9uUXVldWUuZmluZEluZGV4KGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pO2lmKCEodDwwKSl7dmFyIHI9bi5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwxKVswXTtVdCgpLEJ0KCksZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHtjb21tYW5kOnIudG9vbCxjd2Q6ci5jd2QsbW9kZTpyLm1vZGUsaW5pdGlhbElucHV0OnIudGV4dH0pKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcj8oayhpLmVycm9yLCJlcnJvciIpLG4uY3Jvc3NTZXNzaW9uUXVldWUuc3BsaWNlKHQsMCxyKSxVdCgpLEJ0KCksbnVsbCk6b24oaSl9KS5jYXRjaChmdW5jdGlvbihpKXtrKGkmJmkubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbi5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLHIpLFV0KCksQnQoKX0pfX1mdW5jdGlvbiBDZihlKXt2YXIgdD1uLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PWV9KTt0PDB8fChuLmNyb3NzU2Vzc2lvblF1ZXVlLnNwbGljZSh0LDEpLFV0KCksQnQoKSxuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTAmJmsoIlx1NjM5Mlx1OTYxRlx1NURGMlx1NkUwNVx1N0E3QVx1MzAwMiIsImluZm8iKSl9ZnVuY3Rpb24gYWkoKXtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aCE9PTAmJiFwYSgpJiYhYnIpe3ZhciBlPW4uY3Jvc3NTZXNzaW9uUXVldWUuc2hpZnQoKTtCdCgpLEZmKGUpfX1mdW5jdGlvbiBNcyhlKXt2YXIgdD1NYXRoLmZsb29yKChEYXRlLm5vdygpLWUpLzFlMyk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIHI9TWF0aC5mbG9vcih0LzYwKTtyZXR1cm4gcjw2MD9yKyJtIjpNYXRoLmZsb29yKHIvNjApKyJoIn1mdW5jdGlvbiBCdCgpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jcm9zcy1zZXNzaW9uLXF1ZXVlIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKSxpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKTtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2UmJmUucmVtb3ZlKCksVXQoKTtyZXR1cm59dmFyIHU9dCYmIXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxzPXU/dDphLG89dT9yfHxpOm51bGw7aWYocyl7ZSYmZS5wYXJlbnROb2RlIT09cyYmKGUucmVtb3ZlKCksZT1udWxsKSxlP3UmJm8mJmUubmV4dFNpYmxpbmchPT1vJiZzLmluc2VydEJlZm9yZShlLG8pOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY2xhc3NOYW1lPSJjcm9zcy1zZXNzaW9uLXF1ZXVlIixvP3MuaW5zZXJ0QmVmb3JlKGUsbyk6cy5hcHBlbmRDaGlsZChlKSk7dmFyIGw9bi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGgsYz1uLmNyb3NzU2Vzc2lvblF1ZXVlLm1hcChmdW5jdGlvbihmLHYpe3ZhciBtPWYudGV4dC5sZW5ndGg+NjA/Zi50ZXh0LnNsaWNlKDAsNjApKyJcdTIwMjYiOmYudGV4dCxiPU1zKGYucXVldWVkQXQpO3JldHVybic8ZGl2IGNsYXNzPSJxdWV1ZS1pdGVtIiBkYXRhLXF1ZXVlLWlkPSInK3AoZi5pZCkrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tdGV4dCIgdGl0bGU9IicrcChmLnRleHQpKyciPicrcChtKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1pdGVtLWFnZSI+JytiKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1zZW5kLW5vdyIgZGF0YS1xdWV1ZS1pZD0iJytwKGYuaWQpKyciIHRpdGxlPSJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDEiIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1jYW5jZWwiIGRhdGEtcXVldWUtaWQ9IicrcChmLmlkKSsnIiB0aXRsZT0iXHU1M0Q2XHU2RDg4IiB0eXBlPSJidXR0b24iPlx4RDc8L2J1dHRvbj48L2Rpdj4nfSkuam9pbigiIiksZD1sPjE/JzxkaXYgY2xhc3M9InF1ZXVlLWhlYWRlciI+PHNwYW4gY2xhc3M9InF1ZXVlLWhlYWRlci1sYWJlbCI+XHU2MzkyXHU5NjFGICcrbCsnIFx1Njc2MTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJxdWV1ZS1oZWFkZXItY2xlYXIiIGlkPSJxdWV1ZS1jbGVhci1hbGwiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRiI+XHU2RTA1XHU3QTdBPC9idXR0b24+PC9kaXY+JzoiIjtlLmlubmVySFRNTD1kK2N9fXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYobi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnF1ZXVlLWl0ZW0tYWdlIik7bi5jcm9zc1Nlc3Npb25RdWV1ZS5mb3JFYWNoKGZ1bmN0aW9uKHQscil7ZVtyXSYmKGVbcl0udGV4dENvbnRlbnQ9TXModC5xdWV1ZWRBdCkpfSksYWkoKX19LDVlMyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQuY2xvc2VzdCgiI3F1ZXVlLWNsZWFyLWFsbCIpKXtlLnByZXZlbnREZWZhdWx0KCksbi5jcm9zc1Nlc3Npb25RdWV1ZT1bXSxVdCgpLEJ0KCksaygiXHU2MzkyXHU5NjFGXHU1REYyXHU2RTA1XHU3QTdBXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgcj10LmNsb3Nlc3QoIi5xdWV1ZS1pdGVtLXNlbmQtbm93Iik7aWYocil7ZS5wcmV2ZW50RGVmYXVsdCgpLHdmKHIuZGF0YXNldC5xdWV1ZUlkKTtyZXR1cm59dmFyIGk9dC5jbG9zZXN0KCIucXVldWUtaXRlbS1jYW5jZWwiKTtpZihpKXtlLnByZXZlbnREZWZhdWx0KCksQ2YoaS5kYXRhc2V0LnF1ZXVlSWQpO3JldHVybn19KTtmdW5jdGlvbiBxcygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0IiksdD1lP2UudmFsdWUudHJpbSgpOiIiO2lmKHQpe2lmKHBhKCkpe2UudmFsdWU9IiIsTHModCksaygiXHU1REYyXHU2MzkyXHU5NjFGXHVGRjBDXHU1QzA2XHU1NzI4XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU1QjhDXHU2MjEwXHU1NDBFXHU4MUVBXHU1MkE4XHU1M0QxXHU5MDAxXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS52YWx1ZT0iIixlLnBsYWNlaG9sZGVyPSJcdTZCNjNcdTU3MjhcdTU0MkZcdTUyQThcdTIwMjYiLGUuZGlzYWJsZWQ9ITA7dmFyIGk9bi5jaGF0TW9kZXx8Im1hbmFnZWQiLGE9SmUoKSx1PXZ0KCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHtjb21tYW5kOnUscHJvdmlkZXI6dSxjd2Q6YSxtb2RlOmksaW5pdGlhbElucHV0OnR9KSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24ocyl7aWYocy5lcnJvcil7ayhzLmVycm9yLCJlcnJvciIpLGUucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsZS5kaXNhYmxlZD0hMTtyZXR1cm59bi5zZWxlY3RlZElkPXMuaWQseWUoKSxuLmRyYWZ0c1tzLmlkXT0iIixDdCgpLFoocyksdmUoKSxFcihzLmlkKSx4bihzLmlkKSxmbihzLmlkKS50aGVuKGZ1bmN0aW9uKCl7ZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExLF90KCEwKX0pfSkuY2F0Y2goZnVuY3Rpb24ocyl7ayhzJiZzLm1lc3NhZ2V8fCh1PT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIEJmKGUpe2U9ZXx8e307dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtaW5wdXQiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPXQmJnQudmFsdWUudHJpbSgpP3QudmFsdWUudHJpbSgpOnI/ci52YWx1ZS50cmltKCk6IiI7aWYobi5zZWxlY3RlZElkKXtpJiZPcyhlKTtyZXR1cm59aWYoaSYmcGEoKSl7ciYmKHIudmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSx3aShyKSxMcyhpKSxrKCJcdTVERjJcdTYzOTJcdTk2MUZcdUZGMENcdTVDMDZcdTU3MjhcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTVCOENcdTYyMTBcdTU0MEVcdTgxRUFcdTUyQThcdTUzRDFcdTkwMDFcdTMwMDIiLCJpbmZvIik7cmV0dXJufXZhciBhPW4uY2hhdE1vZGV8fCJtYW5hZ2VkIix1PUplKCkscz12dCgpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDpzLHByb3ZpZGVyOnMsY3dkOnUsbW9kZTphLGluaXRpYWxJbnB1dDppfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uZXJyb3I/KGsoby5lcnJvciwiZXJyb3IiKSxudWxsKToobi5zZWxlY3RlZElkPW8uaWQseWUoKSxuLmRyYWZ0c1tvLmlkXT0iIixDdCgpLHImJihyLnZhbHVlPSIiKSx0JiYodC52YWx1ZT0iIiksWihvKSx2ZSgpLEVyKG8uaWQpLHhuKG8uaWQpLGZuKG8uaWQpKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe2sobyYmby5tZXNzYWdlfHwocz09PSJjb2RleCI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDb2RleCBcdTRGMUFcdThCRERcdTMwMDIiOiJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ2xhdWRlIFx1NEYxQVx1OEJERFx1MzAwMiIpLCJlcnJvciIpfSl9ZnVuY3Rpb24gRXIoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiB2LmlkPT09ZX0pLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIikscz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtdGl0bGUiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1pbmZvIiksbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdW1tYXJ5LXZhbHVlIiksYz1vZSh0KTtyJiZyLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixjKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGM/bi5jdXJyZW50Vmlldz0iY2hhdCI6bi5jdXJyZW50Vmlldz0idGVybWluYWwiO3ZhciBkPXQ/Z2kodC5jb21tYW5kKToiV2FuZCIsZj10P29yKHQpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiO3MmJihzLnRleHRDb250ZW50PWQpLG8mJihvLnRleHRDb250ZW50PWYpLGwmJihsLnRleHRDb250ZW50PWQpLGN8fG4udGVybWluYWx8fHpuKCksYmkoKSxfdCghMCksY3x8ZXQoInZpZXctc3dpdGNoIix7Zm9yY2VSZXBsYXk6ITB9KX1mdW5jdGlvbiBPcyhlKXtlPWV8fHt9O3ZhciB0PSEhZS5pbnRlcnJ1cHQ7aWYobi50ZXJtaW5hbEludGVyYWN0aXZlKXJldHVybiBrKCJcdTdFQzhcdTdBRUZcdTRFQTRcdTRFOTJcdTZBMjFcdTVGMEZcdTVGMDBcdTU0MkZcdTY1RjZcdUZGMENcdThCRjdcdTc2RjRcdTYzQTVcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdThGOTNcdTUxNjVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGk9cj9yLnZhbHVlOiIiLGE9SHQoKSx1PW4ucGVuZGluZ0F0dGFjaG1lbnRzLmxlbmd0aD4wO2lmKGl8fHUpe3ZhciBzPXUmJm4uc2VsZWN0ZWRJZD9tbShuLnNlbGVjdGVkSWQpOlByb21pc2UucmVzb2x2ZShbXSk7cmV0dXJuIHMudGhlbihmdW5jdGlvbihvKXt2YXIgbD1nbShvKSxjPWwrKGl8fChvLmxlbmd0aD8iXHU4QkY3XHU2N0U1XHU3NzBCXHU5NjQ0XHU0RUY2XHUzMDAyIjoiIikpO28ubGVuZ3RoJiZ2bSgpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIik7aWYoZCYmZC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxvZShhKSlyZXR1cm4gRGYoYyxyLGEse2ludGVycnVwdDp0fSk7dmFyIGY9TmYoYSxjKSx2PSFuLndzQ29ubmVjdGVkO3JldHVybiB2PyhWZihmKSxyJiYoci52YWx1ZT0iIixQdChyKSksbnQoIiIpLFByb21pc2UucmVzb2x2ZSgpKTpqZihhKS50aGVuKGZ1bmN0aW9uKG0pe2lmKCFtKXJldHVybiBudWxsO3ZhciBiPW4uY3VycmVudFZpZXc7aWYobSYmbS5wcm92aWRlcj09PSJjb2RleCImJm4uc2VsZWN0ZWRJZCE9PW0uaWQpdGhyb3cgbmV3IEVycm9yKCJDb2RleCBzZXNzaW9uIGNoYW5nZWQgYmVmb3JlIGlucHV0IHNlbmQuIik7cmV0dXJuIFJmKGYsImVudGVyX3RleHQiLDMwLGIpLnRoZW4oZnVuY3Rpb24oKXtyJiZyLnZhbHVlPT09aSYmKHIudmFsdWU9IiIsUHQocikpLG50KCIiKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7dGhyb3cgayhIZihtKSwiZXJyb3IiKSxtfSl9KS5jYXRjaChmdW5jdGlvbihvKXt0aHJvdyBrKCJcdTk2NDRcdTRFRjZcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjU6ICIrKG8ubWVzc2FnZXx8byksImVycm9yIiksb30pfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX12YXIgUHM9e30sSHM9MzUwO2Z1bmN0aW9uIERmKGUsdCxyLGkpe2k9aXx8e307dmFyIGE9ISFpLmludGVycnVwdDtpZighbi5zZWxlY3RlZElkfHwhZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIXIpcmV0dXJuIGsoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9RGF0ZS5ub3coKSxzPVBzW3IuaWRdfHwwO2lmKHUtczxIcylyZXR1cm4gY29uc29sZS5sb2coIlt3YW5kXSBwb3N0U3RydWN0dXJlZElucHV0OiBkdXBsaWNhdGUgc3VibWl0ICh3aXRoaW4gIitIcysibXMpIGlnbm9yZWQgZm9yIHNlc3Npb24iLHIuaWQpLFByb21pc2UucmVzb2x2ZSgpO1BzW3IuaWRdPXU7dmFyIG89ISEoci5zdHJ1Y3R1cmVkU3RhdGUmJnIuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZyLnN0YXR1cz09PSJydW5uaW5nIiksbD1vJiZhLGM9byYmIWEsZD1hcihBcnJheS5pc0FycmF5KHIubWVzc2FnZXMpP3IubWVzc2FnZXMuc2xpY2UoKTpbXSksZjtpZihjKXt2YXIgdj1BcnJheS5pc0FycmF5KHIucXVldWVkTWVzc2FnZXMpP3IucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTt2LnB1c2goZSksZj17aWQ6ci5pZCxxdWV1ZWRNZXNzYWdlczp2fSxaKGYpO3ZhciBtPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihGKXtyZXR1cm4gRi5pZD09PXIuaWR9KXx8cjtuLmN1cnJlbnRNZXNzYWdlcz1SZShtLHR0KG0sbS5vdXRwdXQsITEpKSxVbigiXHU1REYyXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHUyMDI2IiksWWUoITApLHVuKCksayh2Lmxlbmd0aD4xPyJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdUZGMDhcdTUxNzEgIit2Lmxlbmd0aCsiIFx1Njc2MVx1N0I0OVx1NUY4NVx1RkYwOSI6Ilx1NURGMlx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1RkYwQ1x1N0I0OVx1NUY1M1x1NTI0RFx1NTZERVx1NTkwRFx1NUI4Q1x1NjIxMFx1NEYxQVx1ODFFQVx1NTJBOFx1NTNEMVx1OTAwMVx1MzAwMiIsImluZm8iKX1lbHNle3ZhciBiPXtyb2xlOiJ1c2VyIixjb250ZW50Olt7dHlwZToidGV4dCIsdGV4dDplfV19O2QucHVzaChiKTt2YXIgZz1PYmplY3QuYXNzaWduKHt9LHIuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITB9KTtaKHtpZDpyLmlkLHN0YXR1czoicnVubmluZyIsbWVzc2FnZXM6ZCxzdHJ1Y3R1cmVkU3RhdGU6Z30pLG4uY3VycmVudE1lc3NhZ2VzPVJlKE9iamVjdC5hc3NpZ24oe30scix7c3RhdHVzOiJydW5uaW5nIixtZXNzYWdlczpkLHN0cnVjdHVyZWRTdGF0ZTpnfSksZCksVW4obD8iXHU1REYyXHU0RTJEXHU2NUFEXHVGRjBDXHU2QjYzXHU1NzI4XHU1OTA0XHU3NDA2XHU2NUIwXHU2RDg4XHU2MDZGXHUyMDI2IjoiXHU2MDFEXHU4MDAzXHU0RTJEXHUyMDI2IiksWWUoITApLGwmJmsoIlx1NURGMlx1NEUyRFx1NjVBRFx1NEUwQVx1NEUwMFx1Njc2MVx1NTZERVx1NTkwRFx1RkYwQ1x1NkI2M1x1NTcyOFx1NTkwNFx1NzQwNlx1NjVCMFx1NkQ4OFx1NjA2Rlx1MjAyNiIsImluZm8iKX10JiYodC52YWx1ZT0iIixQdCh0KSksbnQoIiIpO3ZhciB5PW4ucXVldWVFcG9jaCx3PXR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOkRhdGUubm93KCkudG9TdHJpbmcoMzYpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDEwKTtyZXR1cm4gZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3IuaWQrIi9tZXNzYWdlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsaW50ZXJydXB0Omx8fHZvaWQgMCxpZGVtcG90ZW5jeUtleTp3fSl9KS50aGVuKGZ1bmN0aW9uKEYpe3JldHVybiBGLm9rP0YuanNvbigpOkYuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue2Vycm9yOiJcdThCRjdcdTZDNDJcdTU5MzFcdThEMjUifX0pLnRoZW4oZnVuY3Rpb24oRSl7dmFyIEE9bmV3IEVycm9yKEUmJkUuZXJyb3J8fCJcdTY1RTBcdTZDRDVcdTUzRDFcdTkwMDFcdTdFRDNcdTY3ODRcdTUzMTZcdTZEODhcdTYwNkZcdTMwMDIiKTt0aHJvdyBBLmVycm9yQ29kZT1FJiZFLmVycm9yQ29kZSxBLmh0dHBTdGF0dXM9Ri5zdGF0dXMsQX0pfSkudGhlbihmdW5jdGlvbihGKXtpZihGJiZGLmVycm9yKXRocm93IG5ldyBFcnJvcihGLmVycm9yKTtpZihGJiZGLmlkJiYobi5xdWV1ZUVwb2NoPnkmJkYucXVldWVkTWVzc2FnZXMmJmRlbGV0ZSBGLnF1ZXVlZE1lc3NhZ2VzLFooRiksRi5pZD09PW4uc2VsZWN0ZWRJZCkpe3ZhciBFPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihBKXtyZXR1cm4gQS5pZD09PUYuaWR9KXx8RjtuLmN1cnJlbnRNZXNzYWdlcz1SZShFLHR0KEUsRi5vdXRwdXQsITEpKSxZZSghMCksdW4oKX19KS5jYXRjaChmdW5jdGlvbihGKXtpZihGJiZGLmVycm9yQ29kZT09PSJkdXBsaWNhdGVfaWRlbXBvdGVuY3lfa2V5Iil7ayhGLm1lc3NhZ2V8fCJcdTY4QzBcdTZENEJcdTUyMzBcdTkxQ0RcdTU5MERcdTUzRDFcdTkwMDFcdUZGMENcdTVERjJcdTYyRTZcdTYyMkFcdTMwMDIiLCJ3YXJuaW5nIiksVW4oIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpO3JldHVybn1pZihjKXt2YXIgRT1BcnJheS5pc0FycmF5KHIucXVldWVkTWVzc2FnZXMpP3IucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZihaKHtpZDpyLmlkLHF1ZXVlZE1lc3NhZ2VzOkV9KSxyLmlkPT09bi5zZWxlY3RlZElkKXt2YXIgQT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oeil7cmV0dXJuIHouaWQ9PT1yLmlkfSl8fHI7bi5jdXJyZW50TWVzc2FnZXM9UmUoQSx0dChBLEEub3V0cHV0LCExKSksWWUoITApLHVuKCl9fWVsc2V7dmFyIHg9ZC5zbGljZSgwLC0xKTtaKHtpZDpyLmlkLHN0YXR1czpyLnN0YXR1cyxtZXNzYWdlczp4LHN0cnVjdHVyZWRTdGF0ZTpPYmplY3QuYXNzaWduKHt9LHIuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITF9KX0pLHIuaWQ9PT1uLnNlbGVjdGVkSWQmJihuLmN1cnJlbnRNZXNzYWdlcz1SZShPYmplY3QuYXNzaWduKHt9LHIse21lc3NhZ2VzOngsc3RydWN0dXJlZFN0YXRlOk9iamVjdC5hc3NpZ24oe30sci5zdHJ1Y3R1cmVkU3RhdGV8fHt9LHtpbkZsaWdodDohMX0pfSkseCksWWUoITApKX12YXIgUz1GJiZGLm1lc3NhZ2V8fCIiLFA9Uz09PSJGYWlsZWQgdG8gZmV0Y2gifHxTPT09Ik5ldHdvcmtFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gZmV0Y2ggcmVzb3VyY2UuInx8Uz09PSJMb2FkIGZhaWxlZCJ8fC9hYm9ydGVkfGFib3J0ZXJyb3J8bmV0d29ya2Vycm9yfGZhaWxlZCB0byBmZXRjaC9pLnRlc3QoUyk7UHx8ayhGJiZGLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTUzRDFcdTkwMDFcdTdFRDNcdTY3ODRcdTUzMTZcdTZEODhcdTYwNkZcdTMwMDIiLCJlcnJvciIpLFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKX0pfWZ1bmN0aW9uIFVuKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1oaW50Iik7dCYmKHQudGV4dENvbnRlbnQ9ZSl9ZnVuY3Rpb24gdW4oKXtEdCgpfXZhciBrZj0xMCxfcz0yNDtmdW5jdGlvbiBBZihlKXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuIiI7dmFyIHQ9ZS5yZXBsYWNlKC9ccysvZywiICIpLnRyaW0oKTtyZXR1cm4gdC5sZW5ndGg8PV9zP3Q6dC5zbGljZSgwLF9zKSsiXHUyMDI2In1mdW5jdGlvbiBqcyhlKXtyZXR1cm4gbi5xdWV1ZUJhckRyYWcmJnR5cGVvZiBuLnF1ZXVlQmFyRHJhZy5vcmlnSW5kZXg9PSJudW1iZXIiP24ucXVldWVCYXJEcmFnLm9yaWdJbmRleDp0eXBlb2Ygbi5xdWV1ZUJhckhvdmVySW5kZXg9PSJudW1iZXIiJiZuLnF1ZXVlQmFySG92ZXJJbmRleD49MCYmbi5xdWV1ZUJhckhvdmVySW5kZXg8ZT9uLnF1ZXVlQmFySG92ZXJJbmRleDowfWZ1bmN0aW9uIHhmKGUsdCxyKXt2YXIgaT1lLmxlbmd0aDw9MSxhPSJxdWV1ZS1iYXIiO3ImJihhKz0iIHF1ZXVlLWJhci1jYXBhY2l0eSIpLHQmJihhKz0iIHF1ZXVlLWJhci1pbmZsaWdodCIpO2Zvcih2YXIgdT1qcyhlLmxlbmd0aCkscz10PyJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiOiJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiLG89IiIsbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYz1lW2xdPT1udWxsPyIiOlN0cmluZyhlW2xdKSxkPWw9PT11LGY9InF1ZXVlLWJhci1pdGVtIjtkJiYoZis9IiBleHBhbmRlZCIpLGkmJihmKz0iIHF1ZXVlLWJhci1pdGVtLXNpbmdsZSIpO3ZhciB2PWQ/YysiXHVGRjA4XHU2MzA5XHU0RjRGXHU1M0VGXHU2MkQ2XHU1MkE4XHU4QzAzXHU1RThGXHVGRjA5IjpjO28rPSc8bGkgY2xhc3M9IicrZisnIiBkYXRhLWluZGV4PSInK2wrJyIgZGF0YS1hY3Rpb249ImRyYWciIHRpdGxlPSInK3AodikrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWJhci1pdGVtLWluZGV4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+JysobCsxKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS10ZXh0Ij4nK3AoQWYoYykpKyc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlIiBkYXRhLWFjdGlvbj0icHJvbW90ZS1pdGVtIiB0aXRsZT0iJytwKHMpKyciIGFyaWEtbGFiZWw9Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1OEZEOVx1Njc2MSIgdGFiaW5kZXg9IicrKGQ/IjAiOiItMSIpKyciPjxzdmcgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMyAyIEw0IDE0IEwxMSAxNCBMMTAgMjIgTDIwIDkgTDEzIDkgWiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlLWxhYmVsIj5cdTdBQ0JcdTUzNzM8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1kZWxldGUiIGRhdGEtYWN0aW9uPSJkZWxldGUiIGFyaWEtbGFiZWw9Ilx1NTIyMFx1OTY2NFx1OEZEOVx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2RiIgdGl0bGU9Ilx1NTIyMFx1OTY2NCIgdGFiaW5kZXg9IicrKGQ/IjAiOiItMSIpKyciPjxzdmcgd2lkdGg9IjkiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjE4IiB5Mj0iNiIvPjwvc3ZnPjwvYnV0dG9uPjwvbGk+J31yZXR1cm4nPGRpdiBjbGFzcz0iJythKyciIGRhdGEtcXVldWUtYmFyPSIxIj48b2wgY2xhc3M9InF1ZXVlLWJhci1saXN0IiBkYXRhLXF1ZXVlLWxpc3Q9IjEiPicrbysiPC9vbD48L2Rpdj4ifWZ1bmN0aW9uIER0KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHMpe3JldHVybiBzLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGk9cj9NaSh0KTpbXTtpZihpPUFycmF5LmlzQXJyYXkoaSk/aTpbXSwhcnx8aS5sZW5ndGg9PT0wKXtlLmhpZGRlbj0hMCxlLmlubmVySFRNTD0iIixuLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsO3JldHVybn1pZighbi5xdWV1ZUJhckRyYWcpe2UuaGlkZGVuPSExO3ZhciBhPSEhKHQuc3RydWN0dXJlZFN0YXRlJiZ0LnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmdC5zdGF0dXM9PT0icnVubmluZyIpLHU9aS5sZW5ndGg+PWtmO2UuaW5uZXJIVE1MPXhmKGksYSx1KX19fWZ1bmN0aW9uIE5zKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoISghZXx8ZS5oaWRkZW4pKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXF1ZXVlLWxpc3Q9IjEiXScpO2lmKHQpZm9yKHZhciByPXQuY2hpbGRyZW4saT1qcyhyLmxlbmd0aCksYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yW2FdLHM9YT09PWk7aWYodS5jbGFzc0xpc3QuY29udGFpbnMoImV4cGFuZGVkIikhPT1zKXt1LmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIixzKTt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIi5xdWV1ZS1iYXItaXRlbS1kZWxldGUiKTtvJiYoby50YWJJbmRleD1zPzA6LTEpfX19fWZ1bmN0aW9uIHZhKGUpe3ZhciB0PWU9PW51bGw/bnVsbDpOdW1iZXIoZSk7bi5xdWV1ZUJhckhvdmVySW5kZXghPT10JiYobi5xdWV1ZUJhckhvdmVySW5kZXg9dCxOcygpKX1mdW5jdGlvbiB1aShlLHQpe1ooe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6dH0pO3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWUuaWR9KXx8ZTtuLmN1cnJlbnRNZXNzYWdlcz1SZShyLHR0KHIsci5vdXRwdXQsITEpKSxZZSghMCksRHQoKX1mdW5jdGlvbiBTZihlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49ci5sZW5ndGgpKXt2YXIgaT1yLnNsaWNlKCksYT1yLnNsaWNlKDAsZSkuY29uY2F0KHIuc2xpY2UoZSsxKSk7dHlwZW9mIG4ucXVldWVCYXJIb3ZlckluZGV4PT0ibnVtYmVyIiYmKG4ucXVldWVCYXJIb3ZlckluZGV4PT09ZT9uLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsOm4ucXVldWVCYXJIb3ZlckluZGV4PmUmJihuLnF1ZXVlQmFySG92ZXJJbmRleC09MSkpLFooe2lkOnQuaWQscXVldWVkTWVzc2FnZXM6YX0pO3ZhciB1PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PXQuaWR9KXx8dDtuLmN1cnJlbnRNZXNzYWdlcz1SZSh1LHR0KHUsdS5vdXRwdXQsITEpKSxZZSghMCksRHQoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrdC5pZCsiL3F1ZXVlZC8iK2Use21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihzKXtpZighcy5vaylyZXR1cm4gcy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24obyl7dGhyb3cgbmV3IEVycm9yKG8mJm8uZXJyb3J8fCJcdTUyMjBcdTk2NjRcdTU5MzFcdThEMjUiKX0pfSkuY2F0Y2goZnVuY3Rpb24ocyl7dWkodCxpKSxrKHMmJnMubWVzc2FnZXx8Ilx1NTIyMFx1OTY2NFx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIEhtKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoZSl7dmFyIHQ9QXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKT9lLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYodC5sZW5ndGghPT0wKXtuLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsLFooe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6W119KTt2YXIgcj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1lLmlkfSl8fGU7bi5jdXJyZW50TWVzc2FnZXM9UmUocix0dChyLHIub3V0cHV0LCExKSksWWUoITApLER0KCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2UuaWQrIi9xdWV1ZWQiLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoIWkub2spcmV0dXJuIGkuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcihhJiZhLmVycm9yfHwiXHU2RTA1XHU3QTdBXHU1OTMxXHU4RDI1Iil9KTtrKCJcdTVERjJcdTZFMDVcdTdBN0EgIit0Lmxlbmd0aCsiIFx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1MzAwMiIsImluZm8iKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3VpKGUsdCksayhpJiZpLm1lc3NhZ2V8fCJcdTZFMDVcdTdBN0FcdTYzOTJcdTk2MUZcdTZEODhcdTYwNkZcdTU5MzFcdThEMjVcdTMwMDIiLCJlcnJvciIpfSl9fX1mdW5jdGlvbiBJZihlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49ci5sZW5ndGgpKXt2YXIgaT1yW2VdLGE9ci5zbGljZSgwLGUpLmNvbmNhdChyLnNsaWNlKGUrMSkpLHU9ci5zbGljZSgpLHM9ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIik7dHlwZW9mIG4ucXVldWVCYXJIb3ZlckluZGV4PT0ibnVtYmVyIiYmKG4ucXVldWVCYXJIb3ZlckluZGV4PT09ZT9uLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsOm4ucXVldWVCYXJIb3ZlckluZGV4PmUmJihuLnF1ZXVlQmFySG92ZXJJbmRleC09MSkpLFooe2lkOnQuaWQscXVldWVkTWVzc2FnZXM6YX0pO3ZhciBvPXR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOkRhdGUubm93KCkudG9TdHJpbmcoMzYpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDEwKSxsPXtpbnB1dDppLGlkZW1wb3RlbmN5S2V5Om99O3MmJihsLmludGVycnVwdD0hMCxsLnByZXNlcnZlUXVldWU9ITApLGsocz8iXHU1REYyXHU4QkY3XHU2QzQyXHU0RTJEXHU2NUFEXHU1RjUzXHU1MjREXHU1NkRFXHU1OTBEXHVGRjBDXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxXHUzMDAyIjoiXHU1REYyXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxXHU2RDg4XHU2MDZGXHUzMDAyIiwiaW5mbyIpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIit0LmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGwpfSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYy5vaz9jLmpzb24oKTpjLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihkKXt0aHJvdyBuZXcgRXJyb3IoZCYmZC5lcnJvcnx8Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNSIpfSl9KS50aGVuKGZ1bmN0aW9uKGMpe2lmKGMmJmMuaWQmJihaKGMpLGMuaWQ9PT1uLnNlbGVjdGVkSWQpKXt2YXIgZD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1jLmlkfSl8fGM7bi5jdXJyZW50TWVzc2FnZXM9UmUoZCx0dChkLGMub3V0cHV0LCExKSksWWUoITApLER0KCl9fSkuY2F0Y2goZnVuY3Rpb24oYyl7dWkodCx1KSxrKGMmJmMubWVzc2FnZXx8Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIFRmKGUsdCl7dmFyIHI9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGYpe3JldHVybiBmLmlkPT09bi5zZWxlY3RlZElkfSk7aWYocil7dmFyIGk9QXJyYXkuaXNBcnJheShyLnF1ZXVlZE1lc3NhZ2VzKT9yLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYoIShpLmxlbmd0aDw9MSkmJnQpe3ZhciBhPXQucGFyZW50RWxlbWVudDtpZihhKXt2YXIgdT1OdW1iZXIodC5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLmNoaWxkcmVuKSxvPXMubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksbD0zO28ubGVuZ3RoPj0yJiYobD1NYXRoLm1heCgwLG9bMV0udG9wLW9bMF0udG9wLW9bMF0uaGVpZ2h0KSksZS5wcmV2ZW50RGVmYXVsdCgpO3RyeXt0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9aWYobmF2aWdhdG9yJiZuYXZpZ2F0b3IudmlicmF0ZSl0cnl7bmF2aWdhdG9yLnZpYnJhdGUoOCl9Y2F0Y2h7fW4ucXVldWVCYXJEcmFnPXtwb2ludGVySWQ6ZS5wb2ludGVySWQsaGFuZGxlRWw6dCxpdGVtRWw6dCxsaXN0RWw6YSxzaWJsaW5nczpzLHJlY3RzOm8sb3JpZ0luZGV4OnUsdGFyZ2V0SW5kZXg6dSxzdGFydFk6ZS5jbGllbnRZLGdhcDpsLHF1ZXVlU25hcHNob3Q6aX0sdC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLE5zKCkscy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YhPT10JiZmLmNsYXNzTGlzdC5hZGQoInF1ZXVlLWJhci1pdGVtLXNsaWRpbmciKX0pO3ZhciBjPWZ1bmN0aW9uKGYpe01mKGYpfSxkPWZ1bmN0aW9uKGYpe3FmKGYpfTtuLnF1ZXVlQmFyRHJhZy5tb3ZlSGFuZGxlcj1jLG4ucXVldWVCYXJEcmFnLnVwSGFuZGxlcj1kLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGMpLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLGQpfX19fWZ1bmN0aW9uIExmKGUsdCxyLGkpe2Zvcih2YXIgYT1yLmxlbmd0aCx1PVtdLHM9MDtzPGE7cysrKXUucHVzaChzKTt1LnNwbGljZShlLDEpLHUuc3BsaWNlKHQsMCxlKTtmb3IodmFyIG89clswXS50b3AsbD1yWzBdLnRvcCxjPTE7YzxhO2MrKylyW2NdLnRvcDxsJiYobD1yW2NdLnRvcCk7Zm9yKHZhciBkPXt9LGY9bCx2PTA7djxhO3YrKyl7dmFyIG09dVt2XTtkW21dPWYsZis9clttXS5oZWlnaHQraX1yZXR1cm4gZH1mdW5jdGlvbiBNZihlKXt2YXIgdD1uLnF1ZXVlQmFyRHJhZztpZighKCF0fHxlLnBvaW50ZXJJZCE9PXQucG9pbnRlcklkKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPWUuY2xpZW50WS10LnN0YXJ0WTt0Lml0ZW1FbC5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoIityKyJweCkiO2Zvcih2YXIgaT10LnJlY3RzW3Qub3JpZ0luZGV4XS50b3ArdC5yZWN0c1t0Lm9yaWdJbmRleF0uaGVpZ2h0LzIrcixhPXQub3JpZ0luZGV4LHU9MDt1PHQucmVjdHMubGVuZ3RoO3UrKylpZih1IT09dC5vcmlnSW5kZXgpe3ZhciBzPXQucmVjdHNbdV0udG9wK3QucmVjdHNbdV0uaGVpZ2h0LzI7dTx0Lm9yaWdJbmRleCYmaTxzP2E9TWF0aC5taW4oYSx1KTp1PnQub3JpZ0luZGV4JiZpPnMmJihhPU1hdGgubWF4KGEsdSkpfWlmKGEhPT10LnRhcmdldEluZGV4KXt0LnRhcmdldEluZGV4PWE7dmFyIG89TGYodC5vcmlnSW5kZXgsYSx0LnJlY3RzLHQuZ2FwKTt0LnNpYmxpbmdzLmZvckVhY2goZnVuY3Rpb24obCxjKXtpZihjIT09dC5vcmlnSW5kZXgpe3ZhciBkPW9bY10tdC5yZWN0c1tjXS50b3A7bC5zdHlsZS50cmFuc2Zvcm09ZD8idHJhbnNsYXRlWSgiK2QrInB4KSI6IiJ9fSl9fX1mdW5jdGlvbiBxZihlKXt2YXIgdD1uLnF1ZXVlQmFyRHJhZztpZighKCF0fHxlJiZlLnBvaW50ZXJJZCE9PXQucG9pbnRlcklkKSl7dHJ5e3QuaGFuZGxlRWwucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHQucG9pbnRlcklkKX1jYXRjaHt9dC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdC5tb3ZlSGFuZGxlciksdC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHQudXBIYW5kbGVyKSx0LmhhbmRsZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHQudXBIYW5kbGVyKTt2YXIgcj10Lm9yaWdJbmRleCxpPXQudGFyZ2V0SW5kZXgsYT10LnF1ZXVlU25hcHNob3Q7aWYodC5zaWJsaW5ncy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Muc3R5bGUudHJhbnNmb3JtPSIiLGMuY2xhc3NMaXN0LnJlbW92ZSgicXVldWUtYmFyLWl0ZW0tc2xpZGluZyIpfSksdC5pdGVtRWwuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxuLnF1ZXVlQmFyRHJhZz1udWxsLHI9PT1pKXtEdCgpO3JldHVybn1mb3IodmFyIHU9W10scz0wO3M8YS5sZW5ndGg7cysrKXUucHVzaChzKTt1LnNwbGljZShyLDEpLHUuc3BsaWNlKGksMCxyKTt2YXIgbz11Lm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYVtjXX0pO24ucXVldWVCYXJIb3ZlckluZGV4PWk7dmFyIGw9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoIWwpe0R0KCk7cmV0dXJufVooe2lkOmwuaWQscXVldWVkTWVzc2FnZXM6b30pLER0KCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2wuaWQrIi9xdWV1ZWQiLHttZXRob2Q6IlBBVENIIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7b3JkZXI6dX0pfSkudGhlbihmdW5jdGlvbihjKXtpZighYy5vaylyZXR1cm4gYy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oZCl7dGhyb3cgbmV3IEVycm9yKGQmJmQuZXJyb3J8fCJcdTYzOTJcdTVFOEZcdTU5MzFcdThEMjUiKX0pfSkuY2F0Y2goZnVuY3Rpb24oYyl7dWkobCxhKSxrKGMmJmMubWVzc2FnZXx8Ilx1OEMwM1x1NjU3NFx1NjM5Mlx1OTYxRlx1OTg3QVx1NUU4Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19ZnVuY3Rpb24gT2YoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVldWUtYmFyLWhvc3QiKTshZXx8ZS5fX3F1ZXVlRGVsZWdhdGVkfHwoZS5fX3F1ZXVlRGVsZWdhdGVkPSEwLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciByPXQudGFyZ2V0LGk9ciYmci5jbG9zZXN0P3IuY2xvc2VzdCgiW2RhdGEtYWN0aW9uXSIpOm51bGw7aWYoISghaXx8IWUuY29udGFpbnMoaSkpKXt2YXIgYT1pLmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtpZihhIT09ImRyYWciKXtpZih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxhPT09InByb21vdGUtaXRlbSIpe3ZhciB1PWkuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik7dSYmSWYoTnVtYmVyKHUuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKTtyZXR1cm59aWYoYT09PSJkZWxldGUiKXt2YXIgcz1pLmNsb3Nlc3QoIi5xdWV1ZS1iYXItaXRlbSIpO3MmJlNmKE51bWJlcihzLmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpKSk7cmV0dXJufX19fSksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKHQpe2lmKCFuLnF1ZXVlQmFyRHJhZyl7dmFyIHI9dC50YXJnZXQsaT1yJiZyLmNsb3Nlc3Q/ci5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTpudWxsOyFpfHwhZS5jb250YWlucyhpKXx8dmEoTnVtYmVyKGkuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKX19KSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7bi5xdWV1ZUJhckRyYWd8fHZhKG51bGwpfSksZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsZnVuY3Rpb24odCl7aWYoISh0LmJ1dHRvbiE9PXZvaWQgMCYmdC5idXR0b24hPT0wKSl7dmFyIHI9dC50YXJnZXQ7aWYoIShyJiZyLmNsb3Nlc3QmJnIuY2xvc2VzdCgnW2RhdGEtYWN0aW9uPSJkZWxldGUiXSwgW2RhdGEtYWN0aW9uPSJwcm9tb3RlLWl0ZW0iXScpKSl7dmFyIGk9ciYmci5jbG9zZXN0P3IuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik6bnVsbDtpJiYodmEoTnVtYmVyKGkuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKSxUZih0LGkpKX19fSkpfWZ1bmN0aW9uIFJzKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpKXJldHVybiAwO2Zvcih2YXIgdD0wLHI9MDtyPGUuY29udGVudC5sZW5ndGg7cisrKXt2YXIgaT1lLmNvbnRlbnRbcl07aWYoaSl7aWYodHlwZW9mIGkudGV4dD09InN0cmluZyImJih0Kz1pLnRleHQubGVuZ3RoKSx0eXBlb2YgaS50aGlua2luZz09InN0cmluZyImJih0Kz1pLnRoaW5raW5nLmxlbmd0aCksdHlwZW9mIGkuY29udGVudD09InN0cmluZyIpdCs9aS5jb250ZW50Lmxlbmd0aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaS5jb250ZW50KSlmb3IodmFyIGE9MDthPGkuY29udGVudC5sZW5ndGg7YSsrKXt2YXIgdT1pLmNvbnRlbnRbYV07dSYmdHlwZW9mIHUudGV4dD09InN0cmluZyImJih0Kz11LnRleHQubGVuZ3RoKX1pZihpLmlucHV0KXRyeXt0Kz1KU09OLnN0cmluZ2lmeShpLmlucHV0KS5sZW5ndGh9Y2F0Y2h7fX19cmV0dXJuIHR9ZnVuY3Rpb24gUGYoZSx0KXtpZighZSlyZXR1cm4gdDtpZighdClyZXR1cm4gZTt2YXIgcj1ScyhlKSxpPVJzKHQpO3JldHVybiBpPj1yP3Q6T2JqZWN0LmFzc2lnbih7fSxlLHt1c2FnZTp0LnVzYWdlfHxlLnVzYWdlfSl9ZnVuY3Rpb24gUmUoZSx0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQpP2FyKHQpOltdLGk9QXJyYXkuaXNBcnJheShyKT9yLnNsaWNlKCk6W107aWYoIWV8fGUuc2Vzc2lvbktpbmQhPT0ic3RydWN0dXJlZCIpcmV0dXJuIGk7aWYoZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KXt2YXIgYT1pW2kubGVuZ3RoLTFdOyghYXx8YS5yb2xlIT09ImFzc2lzdGFudCIpJiZpLnB1c2goe3JvbGU6ImFzc2lzdGFudCIsY29udGVudDpbe3R5cGU6InRleHQiLHRleHQ6IiIsX19wcm9jZXNzaW5nOiEwfV19KX1yZXR1cm4gaX1mdW5jdGlvbiBXcygpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PW4uc2VsZWN0ZWRJZH0pO2pyKGUpLHVuKCl9ZnVuY3Rpb24gSGYoZSl7dmFyIHQ9SHQoKSxyPXQmJnQucHJvdmlkZXI9PT0iY29kZXgiO3JldHVybiBlJiYoZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfUlVOTklORyJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9fUFRZIik/cj8iQ29kZXggXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGXHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENvZGV4IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1NTcyOFx1NEY2MFx1NEUwQlx1NkIyMVx1NTNEMVx1OTAwMVx1NkQ4OFx1NjA2Rlx1NjVGNlx1ODFFQVx1NTJBOFx1NjA2Mlx1NTkwRFx1MzAwMiI6Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1Rlx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU1NzI4XHU0RjYwXHU0RTBCXHU2QjIxXHU1M0QxXHU5MDAxXHU2RDg4XHU2MDZGXHU2NUY2XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHUzMDAyIjplJiZlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9GT1VORCI/Ilx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiI6ZSYmZS5tZXNzYWdlfHwocj8iQ29kZXggXHU0RjFBXHU4QkREXHU2NjgyXHU0RTBEXHU1M0VGXHU3NTI4XHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENvZGV4IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NUMxRFx1OEJENVx1NjA2Mlx1NTkwRFx1MzAwMiI6Ilx1NEYxQVx1OEJERFx1NjY4Mlx1NEUwRFx1NTNFRlx1NzUyOFx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU4MUVBXHU1MkE4XHU1QzFEXHU4QkQ1XHU2MDYyXHU1OTBEXHUzMDAyIil9ZnVuY3Rpb24genMoZSl7dmFyIHQ9bmV3IEVycm9yKGUmJmUuZXJyb3J8fCJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUZcdTMwMDIiKTtyZXR1cm4gZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYodC5lcnJvckNvZGU9ZS5lcnJvckNvZGV8fG51bGwsdC5zZXNzaW9uSWQ9ZS5zZXNzaW9uSWR8fG4uc2VsZWN0ZWRJZHx8bnVsbCx0LnNlc3Npb25TdGF0dXM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsInNlc3Npb25TdGF0dXMiKT9lLnNlc3Npb25TdGF0dXM6bnVsbCksdH1mdW5jdGlvbiBWcyhlKXtyZXR1cm4gZSYmKGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX1JVTk5JTkcifHxlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PX1BUWSJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX0ZPVU5EIil9ZnVuY3Rpb24gX2YoZSx0KXtlJiZaKHtpZDplLHN0YXR1czp0fHwiZXhpdGVkIn0pfWZ1bmN0aW9uIF9tKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKXx8ZS5tZXNzYWdlcy5sZW5ndGg8MilyZXR1cm4hMTt2YXIgdD1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJ1c2VyIiYmQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpJiZpLmNvbnRlbnQuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS50eXBlPT09InRleHQiJiZ0eXBlb2YgYS50ZXh0PT0ic3RyaW5nIiYmYS50ZXh0LnRyaW0oKS5sZW5ndGg+MH0pfSkscj1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGkuY29udGVudCkmJmkuY29udGVudC5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnR5cGU9PT0idGV4dCImJnR5cGVvZiBhLnRleHQ9PSJzdHJpbmciJiZhLnRleHQudHJpbSgpLmxlbmd0aD4wfSl9KTtyZXR1cm4gdCYmcn1mdW5jdGlvbiBtYShlKXtyZXR1cm4hIShlJiYhb2UoZSkmJihlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5zdGF0dXMhPT0icnVubmluZyImJmUuY2xhdWRlU2Vzc2lvbklkKX1mdW5jdGlvbiBqZihlLHQpe2lmKCFlKXJldHVybiBrKCJcdTRGMUFcdThCRERcdTRFMERcdTVCNThcdTU3MjhcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTkwMDlcdTYyRTlcdTYyMTZcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihlLnN0YXR1cz09PSJydW5uaW5nIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO2lmKCFtYShlKSl7dmFyIHI9ZSYmZS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IjoiQ2xhdWRlIjtyZXR1cm4gaygiXHU4QkU1XHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU2MDYyXHU1OTBEXHU3Njg0ICIrcisiIFx1NTM4Nlx1NTNGMlx1NEUwQVx1NEUwQlx1NjU4N1x1RkYwQ1x1OEJGN1x1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXJldHVybiB0byhlLmlkLHQpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/KFooaSksdmUoKSx4bihpLmlkKSxmbihpLmlkKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIF90KCEwKSxpfSkpOm51bGx9KX1mdW5jdGlvbiBOZihlLHQpe3JldHVyblt0LCJcciJdfWZ1bmN0aW9uIFJmKGUsdCxyLGkpe3ZhciBhPUFycmF5LmlzQXJyYXkoZSk/ZS5maWx0ZXIoZnVuY3Rpb24ocyl7cmV0dXJuISFzfSk6W107aWYoYS5sZW5ndGg9PT0wKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgdT10eXBlb2Ygcj09Im51bWJlciI/cjowO3JldHVybiBhLnJlZHVjZShmdW5jdGlvbihzLG8sbCl7cmV0dXJuIHMudGhlbihmdW5jdGlvbigpe3JldHVybiBsPjAmJnU+MD9uZXcgUHJvbWlzZShmdW5jdGlvbihjKXtzZXRUaW1lb3V0KGMsdSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHB0KG8sbD09PWEubGVuZ3RoLTE/dDp2b2lkIDAsaSl9KTpwdChvLGw9PT1hLmxlbmd0aC0xP3Q6dm9pZCAwLGkpfSl9LFByb21pc2UucmVzb2x2ZSgpKX12YXIgV2Y9NWUzLHpmPTEwMDtmdW5jdGlvbiBnYShlKXtlJiYobi5wZW5kaW5nTWVzc2FnZXMubGVuZ3RoPj16ZiYmbi5wZW5kaW5nTWVzc2FnZXMuc2hpZnQoKSxuLnBlbmRpbmdNZXNzYWdlcy5wdXNoKHtpbnB1dDplLGF0OkRhdGUubm93KCl9KSl9ZnVuY3Rpb24gVmYoZSl7dmFyIHQ9QXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hIXJ9KTpbXTt0LmZvckVhY2goZnVuY3Rpb24ocil7Z2Eocil9KX1mdW5jdGlvbiBVZihlKXtpZighKHR5cGVvZiBlIT0ic3RyaW5nInx8IWUpKXt2YXIgdD1lLnJlcGxhY2UoL1x4MWJcWzIwMH4vZywiIikucmVwbGFjZSgvXHgxYlxbMjAxfi9nLCIiKTsvKD86XnxcbilccypcL2NsZWFyXHMqKD86XHJ8XG58JCkvLnRlc3QodCkmJnR5cGVvZiBuPCJ1IiYmbiYmKG4udGVybWluYWxPdXRwdXRNYXJrZXI9KG4udGVybWluYWxPdXRwdXQmJm4udGVybWluYWxPdXRwdXQubGVuZ3RoKXwwKX19ZnVuY3Rpb24gcHQoZSx0LHIpe3JldHVybiFlfHwhbi5zZWxlY3RlZElkP1Byb21pc2UucmVzb2x2ZSgpOihVZihlKSxuLm1lc3NhZ2VRdWV1ZS5wdXNoKGUpLG4uaW5wdXRRdWV1ZT1uLmlucHV0UXVldWUudGhlbihmdW5jdGlvbigpe3JldHVybiBLZihlLHQscikuZmluYWxseShmdW5jdGlvbigpe3ZhciBpPW4ubWVzc2FnZVF1ZXVlLmluZGV4T2YoZSk7aT4tMSYmbi5tZXNzYWdlUXVldWUuc3BsaWNlKGksMSl9KX0pLG4uaW5wdXRRdWV1ZSl9ZnVuY3Rpb24gS2YoZSx0LHIpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPW4uc2VsZWN0ZWRJZCxhPXJ8fG4uY3VycmVudFZpZXc7cmV0dXJuIEVmKCk/bi53c0Nvbm5lY3RlZD9mZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2krIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzphLHNob3J0Y3V0S2V5OnR8fHZvaWQgMH0pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5vaz91Lmpzb24oKTp1Lmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKHMpe3ZhciBvPXpzKHMpO3Rocm93IG8uaHR0cFN0YXR1cz11LnN0YXR1cyxjb25zb2xlLmVycm9yKCJbd2FuZF0gcG9zdElucHV0OiByZXF1ZXN0IGZhaWxlZCIse3N0YXR1czp1LnN0YXR1cyxlcnJvckNvZGU6by5lcnJvckNvZGUsbWVzc2FnZTpvLm1lc3NhZ2Usc2Vzc2lvbklkOml9KSxWcyhvKSYmX2YoaSxvLnNlc3Npb25TdGF0dXN8fCJleGl0ZWQiKSxvfSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1JiZ1LmlkJiYoWih1KSx1LmlkPT09bi5zZWxlY3RlZElkJiYodS5tZXNzYWdlcyYmdS5tZXNzYWdlcy5sZW5ndGg+MCYmKG4uY3VycmVudE1lc3NhZ2VzPXUubWVzc2FnZXMpLFllKCEwKSkpLHV9KTooZ2EoZSksY29uc29sZS5sb2coIlt3YW5kXSBwb3N0SW5wdXQ6IFdlYlNvY2tldCBkaXNjb25uZWN0ZWQsIHF1ZXVlZCBtZXNzYWdlIix7c2Vzc2lvbklkOm4uc2VsZWN0ZWRJZCxpbnB1dExlbmd0aDplLmxlbmd0aH0pLFByb21pc2UucmVzb2x2ZSgpKTpuLndzQ29ubmVjdGVkPyhjb25zb2xlLndhcm4oIlt3YW5kXSBwb3N0SW5wdXQ6IHNlc3Npb24gbm90IHJ1bm5pbmcsIHNraXBwaW5nIHNlbmQiLHtzZXNzaW9uSWQ6bi5zZWxlY3RlZElkfSksaygiXHU0RjFBXHU4QkREXHU2NzJBXHU4RkQwXHU4ODRDXHVGRjBDXHU2QjYzXHU1NzI4XHU3QjQ5XHU1Rjg1XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU1NDBFXHU5MUNEXHU4QkQ1XHUzMDAyIiwiaW5mbyIpLFByb21pc2UucmVzb2x2ZSgpKTooZ2EoZSksY29uc29sZS5sb2coIlt3YW5kXSBwb3N0SW5wdXQ6IHNlc3Npb24gbm90IHJ1bm5pbmcsIHF1ZXVlZCBmb3IgcmVjb25uZWN0Iix7c2Vzc2lvbklkOm4uc2VsZWN0ZWRJZCxpbnB1dExlbmd0aDplLmxlbmd0aH0pLFByb21pc2UucmVzb2x2ZSgpKX1mdW5jdGlvbiBqbShlKXtyZXR1cm4gcHQoZSl9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gbi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09bi5zZWxlY3RlZElkfSl8fG51bGx9ZnVuY3Rpb24gTm0oZSl7cmV0dXJuIGUmJmUucHJvdmlkZXI9PT0iY29kZXgiP2AKYDoiXHIifWZ1bmN0aW9uIGhhKCl7cmV0dXJuISFuLnNlbGVjdGVkSWQmJm4uY3VycmVudFZpZXc9PT0idGVybWluYWwifWZ1bmN0aW9uIEpmKGUpe3JldHVybiEoIW4udGVybWluYWx8fCFlfHxlIT09bi5zZWxlY3RlZElkfHxuLnRlcm1pbmFsU2Vzc2lvbklkJiZuLnRlcm1pbmFsU2Vzc2lvbklkIT09ZSl9ZnVuY3Rpb24gVXMoZSl7aWYoIW4udGVybWluYWxJbnRlcmFjdGl2ZXx8IWhhKCl8fGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5pc0NvbXBvc2luZylyZXR1cm4hMTt2YXIgdD1lLnRhcmdldDtyZXR1cm4gdD8hKHQuY2xvc2VzdCYmdC5jbG9zZXN0KCIjbWluaS1rZXlib2FyZCIpfHxlcCh0KSk6ITB9dmFyIFlmPXtFc2M6ImVzY2FwZSIsQXJyb3dVcDoidXAiLEFycm93RG93bjoiZG93biIsQXJyb3dMZWZ0OiJsZWZ0IixBcnJvd1JpZ2h0OiJyaWdodCIsRW50ZXI6ImVudGVyIixUYWI6InRhYiIsQmFja3NwYWNlOiJiYWNrc3BhY2UiLEhvbWU6ImhvbWUiLEVuZDoiZW5kIixQYWdlVXA6InBhZ2V1cCIsUGFnZURvd246InBhZ2Vkb3duIixEZWxldGU6ImRlbGV0ZSIsSW5zZXJ0OiJpbnNlcnQiLCIgIjoic3BhY2UifSxHZj17c3BhY2U6IiAiLHRhYjoiCSIsc2hpZnRfdGFiOiJceDFCW1oiLGJhY2tzcGFjZToiXHg3RiIsaG9tZToiXHgxQltIIixlbmQ6Ilx4MUJbRiIscGFnZXVwOiJceDFCWzV+IixwYWdlZG93bjoiXHgxQls2fiIsZGVsZXRlOiJceDFCWzN+IixpbnNlcnQ6Ilx4MUJbMn4ifSxLcz17IiAiOjAsIlsiOjI3LCJcXCI6MjgsIl0iOjI5LCJeIjozMCxfOjMxfSxRZj00MDAsJGY9MTAsWGY9OCxzaT01NCxzbj04LHlhPVt7a2V5OiJlbnRlciIsbGFiZWw6IkVudGVyIn0se2tleToiY3RybF9jIixsYWJlbDoiQ3RybCtDIn0se2tleToiZXNjYXBlIixsYWJlbDoiRXNjIn0se2tleToic2hpZnRfdGFiIixsYWJlbDoiU2hpZnQrVGFiIn1dLFpmPW5ldyBTZXQoWyJtaW5pLWtleWJvYXJkLWZhYiIsIm1pbmkta2V5Ym9hcmQtdG9nZ2xlIiwidGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIl0pO2Z1bmN0aW9uIGVwKGUpe3JldHVybiEhKGUmJlpmLmhhcyhlLmlkKSl9dmFyIHRwPW5ldyBTZXQoWyJjdHJsIiwiYWx0Iiwic2hpZnQiXSk7ZnVuY3Rpb24gSnMoZSl7cmV0dXJuIHRwLmhhcyhlKX1mdW5jdGlvbiBucChlKXtyZXR1cm4gR2ZbZV18fCIifWZ1bmN0aW9uIHJwKGUpe3ZhciB0PWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD49ImEiJiZ0PD0ieiI/U3RyaW5nLmZyb21DaGFyQ29kZSh0LmNoYXJDb2RlQXQoMCktOTYpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChLcyx0KT9TdHJpbmcuZnJvbUNoYXJDb2RlKEtzW3RdKToiIn1mdW5jdGlvbiBpcChlKXtyZXR1cm4gWWZbZS5rZXldfHxlLmtleX1mdW5jdGlvbiBhcChlLHQpe3JldHVybntjdHJsOmUuY3RybEtleSxhbHQ6ZS5hbHRLZXksc2hpZnQ6ZS5zaGlmdEtleSYmKHQubGVuZ3RoPT09MXx8dD09PSJ0YWIiKSxtZXRhOmUubWV0YUtleX19ZnVuY3Rpb24gWXMoZSx0KXtlJiZwdChlLHQpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gdXAoKXtvbygpfWZ1bmN0aW9uIGJhKGUpe24ua2V5Ym9hcmRQb3B1cE9wZW49ITEsZSE9PSExJiZsaSgpLGxwKCl9ZnVuY3Rpb24gc3AoKXtoYSgpJiZBbighbi50ZXJtaW5hbEludGVyYWN0aXZlKX1mdW5jdGlvbiBBbihlKXt2YXIgdD0hIWUmJmhhKCk7bi50ZXJtaW5hbEludGVyYWN0aXZlIT09dCYmKG4udGVybWluYWxJbnRlcmFjdGl2ZT10LHQ/KGNwKCksYmEoITEpLHVwKCksaygiXHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyXHU2QTIxXHU1RjBGXHU1REYyXHU1RjAwXHU1NDJGIiwiaW5mbyIpKTooZHAoKSxsaSgpKSxGcigpKX1mdW5jdGlvbiBFYSgpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pLHQ9IWV8fGUuc3RhdHVzIT09InJ1bm5pbmcifHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsIjtpZih0JiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUpe0FuKCExKTtyZXR1cm59KCFlfHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsIikmJm4ua2V5Ym9hcmRQb3B1cE9wZW4mJihuLmtleWJvYXJkUG9wdXBPcGVuPSExKSxGcigpfWZ1bmN0aW9uIEZyKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHkpe3JldHVybiB5LmlkPT09bi5zZWxlY3RlZElkfSksdD1vZShlKSxyPWUmJmUucHJvdmlkZXI9PT0iY29kZXgiLGk9dD8hIShlJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpOiEhZSYmZS5zdGF0dXM9PT0icnVubmluZyIsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksdT1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTt1LmZvckVhY2goZnVuY3Rpb24oeSl7dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoeSk7aWYodyl7dy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG4udGVybWluYWxJbnRlcmFjdGl2ZSksdy5jbGFzc0xpc3QudG9nZ2xlKCJpcy1vbiIsbi50ZXJtaW5hbEludGVyYWN0aXZlKSx3LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsdHx8bi5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCJ8fCFlKSx3LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIixuLnRlcm1pbmFsSW50ZXJhY3RpdmU/InRydWUiOiJmYWxzZSIpO3ZhciBGPXcucXVlcnlTZWxlY3RvcigiLnBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGUiKTtGJiYoRi50ZXh0Q29udGVudD1uLnRlcm1pbmFsSW50ZXJhY3RpdmU/Ilx1NUYwMCI6Ilx1NTE3MyIpfX0pO3ZhciBzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1oaW50Iik7cyYmKHMuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIix0PyEwOm4uY3VycmVudFZpZXc9PT0idGVybWluYWwiKSwhdCYmZSYmKHMudGV4dENvbnRlbnQ9cj8iRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgY2hhdCBcdTRFM0FcdTg5RTNcdTY3OTBcdTg5QzZcdTU2RkVcdUZGMEN0ZXJtaW5hbCBcdTRFM0FcdTUzOUZcdTU5Q0JcdThGOTNcdTUxRkEiOiJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSk7dmFyIG89IXQmJiFpJiZtYShlKTthJiYoYS5wbGFjZWhvbGRlcj1UbyhlLG4udGVybWluYWxJbnRlcmFjdGl2ZSksYS5kaXNhYmxlZD0hdCYmISFlJiYhaSYmIW8sYS5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLGEuZGlzYWJsZWQ/InRydWUiOiJmYWxzZSIpLGEucmVhZE9ubHk9ITEsYS5jbGFzc0xpc3QudG9nZ2xlKCJpcy10ZXJtaW5hbC1wYXNzdGhyb3VnaCIsISFuLnRlcm1pbmFsSW50ZXJhY3RpdmUpKTt2YXIgbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtsJiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUmJmwuY2xhc3NMaXN0LmNvbnRhaW5zKCJ2b2ljZS1tb2RlIikmJihsLmNsYXNzTGlzdC5yZW1vdmUoInZvaWNlLW1vZGUiKSxoZS5yZWNvcmRpbmc9ITEsY2EoKSxkYSgpKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VuZC1pbnB1dC1idXR0b24iKSxkPXQmJmk7YyYmKGMuZGlzYWJsZWQ9IXQmJiEhZSYmIWkmJiFvLGMuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdD9kPyJcdTYzOTJcdTk2MUZcdTUzRDFcdTkwMDFcdUZGMDhcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdTdFRDNcdTY3NUZcdTU0MEVcdTU5MDRcdTc0MDZcdUZGMDkiOiJcdTUzRDFcdTkwMDEiOnI/aT8iXHU1M0QxXHU5MDAxXHU3RUQ5IENvZGV4IjoiQ29kZXggXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIjohZXx8aXx8bz8iXHU1M0QxXHU5MDAxIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIiksYy5jbGFzc0xpc3QudG9nZ2xlKCJxdWV1ZS1tb2RlIixkKSk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIik7aWYoZil7dmFyIHY9JGEoZSk7Zi5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCF2LmFjdGl2ZSl9dmFyIG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIik7aWYobSl7dmFyIGI9JGEoZSk7bS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFiLmFjdGl2ZSl9dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2cmJmcuY2xhc3NMaXN0LnRvZ2dsZSgiaW50ZXJhY3RpdmUiLCF0JiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUpLGRzKCl9ZnVuY3Rpb24gb2koKXt2YXIgZT13aW5kb3cuZ2V0U2VsZWN0aW9uJiZ3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIWV8fGUuaXNDb2xsYXBzZWQpcmV0dXJuITE7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCF0KXJldHVybiExO3ZhciByPWUuYW5jaG9yTm9kZTtyZXR1cm4gciYmci5ub2RlVHlwZT09PTMmJihyPXIucGFyZW50Tm9kZSksISEociYmdC5jb250YWlucyhyKSl9ZnVuY3Rpb24gRmEoZSl7aWYoVXMoZSkmJiFlLm1ldGFLZXkpe3ZhciB0PWlwKGUpO2lmKHQpe3ZhciByPWFwKGUsdCk7aWYoIUpzKHQpJiYhKHIuY3RybCYmdC5sZW5ndGg9PT0xJiZ0LnRvTG93ZXJDYXNlKCk9PT0iYyImJm9pKCkpKXt2YXIgaT1Rcyh0LHIpO2kmJihlLnByZXZlbnREZWZhdWx0KCksWXMoaSx0KSl9fX19ZnVuY3Rpb24gb3AoKXtuLnRlcm1pbmFsJiZxZCg1MDApfWZ1bmN0aW9uIGxwKCl7ZnIoKX1mdW5jdGlvbiBSbShlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSwhKG4uY3VycmVudFZpZXchPT0idGVybWluYWwifHwhbi5zZWxlY3RlZElkKSYmKG4ua2V5Ym9hcmRQb3B1cE9wZW49IW4ua2V5Ym9hcmRQb3B1cE9wZW4sRnIoKSl9ZnVuY3Rpb24gR3MoKXtuLmtleWJvYXJkUG9wdXBPcGVuPSExLEZyKCl9ZnVuY3Rpb24gY3AoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGYSwhMCl9ZnVuY3Rpb24gZHAoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixGYSwhMCl9ZnVuY3Rpb24gUXMoZSx0KXt2YXIgcj10fHx7Y3RybDohMSxhbHQ6ITEsc2hpZnQ6ITF9O2lmKEpzKGUpKXJldHVybiIiO2lmKGU9PT0idGFiIiYmci5zaGlmdClyZXR1cm4iXHgxQltaIjt2YXIgaT1ucChlKTtpZihpKXJldHVybiBpO2lmKGUuaW5kZXhPZigiY3RybF8iKT09PTApcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLTk2KTt2YXIgYT13cihlKTtpZihhKXJldHVybiBhO2lmKCFlKXJldHVybiIiO3ZhciB1PWUubGVuZ3RoPT09MT9lOiIiO3JldHVybiB1PyhyLnNoaWZ0JiYodT11LnRvVXBwZXJDYXNlKCkpLHIuY3RybD9ycCh1KTpyLmFsdD8iXHgxQiIrdTp1KToiIn1mdW5jdGlvbiBsaSgpe24ubW9kaWZpZXJzLmN0cmw9ITEsbi5tb2RpZmllcnMuYWx0PSExLG4ubW9kaWZpZXJzLnNoaWZ0PSExLGZwKCl9ZnVuY3Rpb24gZnAoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWluaS1rZXlib2FyZCIpO2UmJlsiY3RybCIsImFsdCIsInNoaWZ0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWtleT0iJyt0KyciXScpO3ImJnIuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIW4ubW9kaWZpZXJzW3RdKX0pfWZ1bmN0aW9uIHdyKGUpe3N3aXRjaChlKXtjYXNlInllcyI6cmV0dXJuInlcciI7Y2FzZSJubyI6cmV0dXJuIm5cciI7Y2FzZSJ1cCI6cmV0dXJuIlx4MUJbQSI7Y2FzZSJkb3duIjpyZXR1cm4iXHgxQltCIjtjYXNlImxlZnQiOnJldHVybiJceDFCW0QiO2Nhc2UicmlnaHQiOnJldHVybiJceDFCW0MiO2Nhc2UiZW50ZXIiOnJldHVybiJcciI7Y2FzZSJjdHJsX2MiOnJldHVybiIDIjtjYXNlImN0cmxfZCI6cmV0dXJuIgQiO2Nhc2UiY3RybF9sIjpyZXR1cm4iXGYiO2Nhc2UiY3RybF91IjpyZXR1cm4iFSI7Y2FzZSJjdHJsX2siOnJldHVybiJcdiI7Y2FzZSJjdHJsX3ciOnJldHVybiIXIjtjYXNlImN0cmxfeiI6cmV0dXJuIhoiO2Nhc2UiZXNjYXBlIjpyZXR1cm4iXHgxQiI7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gcHAoKXtpZihuLnBlbmRpbmdNZXNzYWdlcy5sZW5ndGghPT0wKXt2YXIgZT1IdCgpO2lmKG9lKGUpKXtuLnBlbmRpbmdNZXNzYWdlcz1bXTtyZXR1cm59dmFyIHQ9RGF0ZS5ub3coKSxyPVtdLGk9MDtuLnBlbmRpbmdNZXNzYWdlcy5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHR5cGVvZiB1PT0ic3RyaW5nIil7ci5wdXNoKHUpO3JldHVybn1pZighKCF1fHx0eXBlb2YgdS5pbnB1dCE9InN0cmluZyIpKXtpZih0LSh1LmF0fHwwKT5XZil7aSsrO3JldHVybn1yLnB1c2godS5pbnB1dCl9fSksbi5wZW5kaW5nTWVzc2FnZXM9W10saT4wJiZjb25zb2xlLmxvZygiW3dhbmRdIGZsdXNoUGVuZGluZ01lc3NhZ2VzOiBkcm9wcGVkICIraSsiIHN0YWxlIGlucHV0KHMpIik7dmFyIGE9UHJvbWlzZS5yZXNvbHZlKCk7ci5mb3JFYWNoKGZ1bmN0aW9uKHUpe2E9YS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHZwKHUpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9KX0pfX1mdW5jdGlvbiB2cChlKXtpZighZXx8IW4uc2VsZWN0ZWRJZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9bi5zZWxlY3RlZElkO3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3QrIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzpuLmN1cnJlbnRWaWV3fSl9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLm9rP3IuanNvbigpOnIuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue2Vycm9yOiJcdThCRjdcdTZDNDJcdTU5MzFcdThEMjUifX0pLnRoZW4oZnVuY3Rpb24oaSl7dmFyIGE9enMoaSk7aWYoYS5odHRwU3RhdHVzPXIuc3RhdHVzLFZzKGEpKXJldHVybiBjb25zb2xlLmxvZygiW3dhbmRdIHNlbmRJbnB1dERpcmVjdDogc2Vzc2lvbiB1bmF2YWlsYWJsZSwgZHJvcHBpbmciLHtzZXNzaW9uSWQ6dCxlcnJvckNvZGU6YS5lcnJvckNvZGV9KSxudWxsO3Rocm93IGF9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHImJnIuaWQmJihaKHIpLHIuaWQ9PT1uLnNlbGVjdGVkSWQmJihyLm1lc3NhZ2VzJiZyLm1lc3NhZ2VzLmxlbmd0aD4wJiYobi5jdXJyZW50TWVzc2FnZXM9ci5tZXNzYWdlcyksWWUoITApKSkscn0pfWZ1bmN0aW9uIHdhKCl7bi5zZWxlY3RlZElkJiZmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK24uc2VsZWN0ZWRJZCsiL3N0b3AiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGp0KX1mdW5jdGlvbiAkcyhlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Vzc2lvbi1pdGVtW2RhdGEtc2Vzc2lvbi1pZD0iJytlKyciXScpO3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXRocm93IG5ldyBFcnJvcihyLmVycm9yKTtyZXR1cm4gbi5zZWxlY3RlZElkPT09ZSYmKG4uc2VsZWN0ZWRJZD1udWxsLHllKCkpLGp0KCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiZGVsZXRpbmciKTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUociwiXHU2NUUwXHU2Q0Q1XHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREXHUzMDAyIil9KX0sMjUwKX1mdW5jdGlvbiBYcyhlLHQpe3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvIitlbmNvZGVVUklDb21wb25lbnQoZSkse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3IpdGhyb3cgbmV3IEVycm9yKHIuZXJyb3IpO24uY2xhdWRlSGlzdG9yeT1uLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLmNsYXVkZVNlc3Npb25JZCE9PWV9KSxkZWxldGUgbi5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV0sdmUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJkZWxldGluZyIpO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtOZShyLCJcdTY1RTBcdTZDRDVcdTUyMjBcdTk2NjRcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiKX0pfSwyNTApfWZ1bmN0aW9uIFdtKGUsdCl7WHMoZSx0KX1mdW5jdGlvbiBtcChlLHQscil7ZSYmZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3Rvcnk/Y3dkPSIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpJiZpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jd2QhPT1lfSksdmUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7WnMociwhMSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFjdGlvbi1lcnJvciIpO05lKGksIlx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNlx1OEJFNVx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIpfSl9ZnVuY3Rpb24gWnMoZSx0KXtlLmZvckVhY2goZnVuY3Rpb24ocil7ci5jbGFzc0xpc3QudG9nZ2xlKCJkZWxldGluZyIsdCl9KX1mdW5jdGlvbiBncChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNsYXVkZS1oaXN0b3J5LWl0ZW1bZGF0YS1jd2Q9Iicrd2luZG93LkNTUy5lc2NhcGUoU3RyaW5nKGUpKSsnIl0nKSl9dmFyIGVvPW51bGwsQ3I9bnVsbDtmdW5jdGlvbiBCcigpe2lmKENyKXtDci5jbGFzc0xpc3QucmVtb3ZlKCJzd2lwZWQiKTt2YXIgZT1Dci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1pdGVtLWNvbnRlbnQiKTtlJiYoZS5zdHlsZS50cmFuc2Zvcm09IiIpLENyPW51bGx9fWZ1bmN0aW9uIGhwKGUpe2VvPW51bGwsQ3I9bnVsbH1mdW5jdGlvbiB5cChlLHQscil7ZT09PSJjbGF1ZGUiJiYobi5wcmVmZXJyZWRDb21tYW5kPWUsbi5jaGF0TW9kZT1OdChlLG4uY2hhdE1vZGUpKTt2YXIgaT1uLmNoYXRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiI7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDplLGN3ZDp0fHwiIixtb2RlOm4uY2hhdE1vZGV8fG4uY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIsbW9kZWw6aXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0Om4uY2hhdFRoaW5raW5nfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXJyb3I/KHImJk5lKHIsYS5lcnJvciksbnVsbCk6KG4uc2VsZWN0ZWRJZD1hLmlkLHllKCksbi5kcmFmdHNbYS5pZF09IiIsYSl9KX12YXIgQ2E9ITE7ZnVuY3Rpb24gdG8oZSx0KXtyZXR1cm4hZXx8Q2E/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihDYT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe21vZGU6bi5jaGF0TW9kZXx8bi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8odD9OZSh0LHIuZXJyb3IpOmsoci5lcnJvciwiZXJyb3IiKSxudWxsKToobi5zZWxlY3RlZElkPXIuaWQseWUoKSxuLmRyYWZ0c1tyLmlkXT0iIixyKX0pLmNhdGNoKGZ1bmN0aW9uKHIpe3ZhciBpPXImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiI7cmV0dXJuIHQ/TmUodCxpKTprKGksImVycm9yIiksbnVsbH0pLmZpbmFsbHkoZnVuY3Rpb24oKXtDYT0hMX0pKX1mdW5jdGlvbiB6bShlLHQpe3JldHVybiBlP2ZldGNoKCIvYXBpL2NsYXVkZS1zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe21vZGU6bi5jaGF0TW9kZXx8bi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8odD9OZSh0LHIuZXJyb3IpOmsoci5lcnJvciwiZXJyb3IiKSxudWxsKToobi5jbGF1ZGVIaXN0b3J5PW4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLG4uc2VsZWN0ZWRJZD1yLmlkLHllKCksbi5kcmFmdHNbci5pZF09IiIscil9KS5jYXRjaChmdW5jdGlvbihyKXt2YXIgaT1yJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYzMDkgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCBcdTYwNjJcdTU5MERcdTRGMUFcdThCRERcdTMwMDIiO3JldHVybiB0P05lKHQsaSk6ayhpLCJlcnJvciIpLG51bGx9KTpQcm9taXNlLnJlc29sdmUobnVsbCl9ZnVuY3Rpb24gb24oZSl7cmV0dXJuIWV8fCFlLmlkP1Byb21pc2UucmVzb2x2ZSgpOihuLnNlbGVjdGVkSWQ9ZS5pZCx5ZSgpLG4uY3VycmVudE1lc3NhZ2VzPVtdLHByKCksQ3QoKSxFcihlLmlkKSxaKGUpLHZlKCkseG4oZS5pZCksZm4oZS5pZCkudGhlbihmdW5jdGlvbigpe190KCEwKX0pKX1mdW5jdGlvbiBubyhlKXtyZXR1cm4gdG8oZSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdD8odC5jbGF1ZGVTZXNzaW9uSWQmJih0LnByb3ZpZGVyPT09ImNvZGV4Ij9uLmNvZGV4SGlzdG9yeT1uLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIuY2xhdWRlU2Vzc2lvbklkIT09dC5jbGF1ZGVTZXNzaW9uSWR9KTpuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gci5jbGF1ZGVTZXNzaW9uSWQhPT10LmNsYXVkZVNlc3Npb25JZH0pKSxvbih0KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSk6bnVsbH0pfWZ1bmN0aW9uIFZtKGUsdCxyKXtyZXR1cm4geXAoZSx0LHIpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/b24oaSkudGhlbihmdW5jdGlvbigpe3JldHVybiBpfSk6bnVsbH0pfWZ1bmN0aW9uIFVtKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7aWYodCl7dC5wbGFjZWhvbGRlcj0iXHU2QjYzXHU1NzI4XHU2MDFEXHU4MDAzXHUyMDI2Iix0LmRpc2FibGVkPSEwO3ZhciByPW4uY2hhdE1vZGV8fCJtYW5hZ2VkIixpPUplKCksYT12dCgpLHU9bi5jaGF0TW9kZWx8fG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDphLGN3ZDppLG1vZGU6cixpbml0aWFsSW5wdXQ6ZSxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6bi5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5lcnJvcj8oayhzLmVycm9yLCJlcnJvciIpLHQucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsdC5kaXNhYmxlZD0hMSxudWxsKTpvbihzKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe2socyYmcy5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSx0LnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLHQuZGlzYWJsZWQ9ITF9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dC5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIix0LmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIEttKGUsdCxyKXt2YXIgaT1uLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1KZSgpLHU9dnQoKSxzPW4uY2hhdE1vZGVsfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGVsfHwiIjtmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6dSxjd2Q6YSxtb2RlOmksaW5pdGlhbElucHV0OmV8fHZvaWQgMCxtb2RlbDpzfHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6bi5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5lcnJvcj8oayhvLmVycm9yLCJlcnJvciIpLG51bGwpOih0JiYodC52YWx1ZT0iIiksciYmKHIudmFsdWU9IiIpLG9uKG8pKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe2sobyYmby5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIGJwKGUpe2UuZGlzYWJsZWQ9ITAsbm8oZS5kYXRhc2V0LnNlc3Npb25JZCkuZmluYWxseShmdW5jdGlvbigpe2UuZGlzYWJsZWQ9ITF9KX1mdW5jdGlvbiBFcChlKXt2YXIgdD1lLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkLHI9ZS5kYXRhc2V0LmN3ZDt0JiYoZS5kaXNhYmxlZD0hMCxGcCh0LHIpLnRoZW4oZnVuY3Rpb24oaSl7aSYmaS5pZCYmKG4uY29kZXhIaXN0b3J5PW4uY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jbGF1ZGVTZXNzaW9uSWQhPT10fSksbi5zZWxlY3RlZElkPWkuaWQseWUoKSxuLmRyYWZ0c1tpLmlkXT0iIixvbihpKS50aGVuKGZ1bmN0aW9uKCl7V3QoKX0pKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlLmRpc2FibGVkPSExfSkpfWZ1bmN0aW9uIEZwKGUsdCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvZGV4LXNlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvcmVzdW1lIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7bW9kZTpuLmNoYXRNb2RlfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixjd2Q6dH0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8oayhyLmVycm9yLCJlcnJvciIpLG51bGwpOnJ9KS5jYXRjaChmdW5jdGlvbihyKXtyZXR1cm4gayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYwNjJcdTU5MERcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLG51bGx9KX1mdW5jdGlvbiB3cChlKXt2YXIgdD1lLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkO2lmKHQpe3ZhciByPWUuY2xvc2VzdCgiLmNsYXVkZS1oaXN0b3J5LWl0ZW0iKTtyJiYoci5zdHlsZS5vcGFjaXR5PSIwLjUiKSxmZXRjaCgiL2FwaS9jb2RleC1oaXN0b3J5LyIrZW5jb2RlVVJJQ29tcG9uZW50KHQpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpJiZpLm9rPyhuLmNvZGV4SGlzdG9yeT1uLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLHZlKCkpOnImJihyLnN0eWxlLm9wYWNpdHk9IjEiKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ciYmKHIuc3R5bGUub3BhY2l0eT0iMSIpfSl9fWZ1bmN0aW9uIENwKGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQscj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLGNpKHQscikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYobi5jbGF1ZGVIaXN0b3J5PW4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLG4uc2VsZWN0ZWRJZD1pLmlkLHllKCksbi5kcmFmdHNbaS5pZF09IiIsb24oaSkudGhlbihmdW5jdGlvbigpe1d0KCl9KSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pKX1mdW5jdGlvbiBjaShlLHQpe3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHttb2RlOm4uY2hhdE1vZGV8fG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLmVycm9yPyhrKHIuZXJyb3IsImVycm9yIiksbnVsbCk6cn0pLmNhdGNoKGZ1bmN0aW9uKHIpe3JldHVybiBrKHImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIERyKCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIF90KGUpe2lmKCFuLnRlcm1pbmFsSW50ZXJhY3RpdmUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshdHx8IW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQmJihlJiZEcigpfHxCYSh0KSl9fWZ1bmN0aW9uIEptKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtlJiYoZS5zY3JvbGxUb3A9MCl9ZnVuY3Rpb24gcm8oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlJiZlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWtleWJvYXJkLW9mZnNldCIpfWZ1bmN0aW9uIGlvKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1rZXlib2FyZC1vZmZzZXQiKX1mdW5jdGlvbiBkaShlKXtpZihlKXt2YXIgdD1lLnNlbGVjdGlvblN0YXJ0LHI9ZS5zZWxlY3Rpb25FbmQ7RGEoZSksdHlwZW9mIHQ9PSJudW1iZXIiJiZ0eXBlb2Ygcj09Im51bWJlciImJmUuc2V0U2VsZWN0aW9uUmFuZ2UodCxyKX19ZnVuY3Rpb24gYW8oZSl7IWV8fGUuZGF0YXNldC50b3VjaFNjcm9sbEJvdW5kPT09InRydWUifHwoZS5kYXRhc2V0LnRvdWNoU2Nyb2xsQm91bmQ9InRydWUiLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oKXtlLnNjcm9sbEhlaWdodDw9ZS5jbGllbnRIZWlnaHQrMXx8KGUuc2Nyb2xsVG9wPD0wP2Uuc2Nyb2xsVG9wPTE6ZS5zY3JvbGxUb3ArZS5jbGllbnRIZWlnaHQ+PWUuc2Nyb2xsSGVpZ2h0JiYoZS5zY3JvbGxUb3A9TWF0aC5tYXgoMSxlLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC0xKSkpfSx7cGFzc2l2ZTohMH0pKX1mdW5jdGlvbiB1byhlKXtlJiYoUHQoZSksZGkoZSkpfWZ1bmN0aW9uIEJwKGUpe3ZhciB0PWUmJmUudGFyZ2V0P2UudGFyZ2V0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt0JiYocm8oKSx1byh0KSl9ZnVuY3Rpb24gRHAoZSl7dmFyIHQ9ZSYmZS50YXJnZXQ/ZS50YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lvKCksYXMoMjIwMCx0KTt2YXIgcj1bODAsMjAwLDM4MCw2MjAsOTAwXTtyLmZvckVhY2goZnVuY3Rpb24oaSxhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Tm4oITEpLGE9PT0xJiZEcigpJiYoZXQoImtleWJvYXJkLWJsdXIiLHtmb3JjZVJlcGxheTohMH0pLGZ0KCJrZXlib2FyZCIpKX0saSl9KX1mdW5jdGlvbiBrcChlKXtlJiYoZS5zZXRTZWxlY3Rpb25SYW5nZShlLnZhbHVlLmxlbmd0aCxlLnZhbHVlLmxlbmd0aCksZGkoZSkpfWZ1bmN0aW9uIEJhKGUpe2UmJihlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksa3AoZSkpfWZ1bmN0aW9uIEFwKGUpe2FvKGUpLHVvKGUpfWZ1bmN0aW9uIHhwKGUpe0JhKGUpfWZ1bmN0aW9uIFltKGUpe3JvKCksZGkoZSl9ZnVuY3Rpb24gU3AoKXtpbygpfWZ1bmN0aW9uIElwKGUpe2RpKGUpfWZ1bmN0aW9uIEdtKGUpe3hwKGUpfWZ1bmN0aW9uIFRwKGUpe0FwKGUpfWZ1bmN0aW9uIFFtKCl7U3AoKX1mdW5jdGlvbiAkbShlKXtJcChlKX1mdW5jdGlvbiBMcChlLHQpe2lmKCFlfHwhdHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpcmV0dXJuITE7dmFyIHI9d2luZG93LmlubmVySGVpZ2h0LWUuaGVpZ2h0LWUub2Zmc2V0VG9wO2lmKHI8PTUwKXJldHVybiExO3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkuYm90dG9tPmUuaGVpZ2h0LTEyfWZ1bmN0aW9uIERhKGUpe2lmKGUpe3ZhciB0PWUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KzE7aWYoIXQpe2Uuc2Nyb2xsVG9wPTA7cmV0dXJufWUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0fX1mdW5jdGlvbiBzbygpe2lmKG4udGVybWluYWxJbnRlcmFjdGl2ZSl7b28oKTtyZXR1cm59aWYoIURyKCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshZXx8IW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWV8fEJhKGUpfX1mdW5jdGlvbiBvbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtlJiYoZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLGUuZm9jdXMoKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLmZvY3VzJiZuLnRlcm1pbmFsLmZvY3VzKCkpfWZ1bmN0aW9uIE1wKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKCJ2aXJ0dWFsS2V5Ym9hcmQiaW4gbmF2aWdhdG9yKXt2YXIgcj1uYXZpZ2F0b3IudmlydHVhbEtleWJvYXJkO3IuYWRkRXZlbnRMaXN0ZW5lcigiZ2VvbWV0cnljaGFuZ2UiLGZ1bmN0aW9uKCl7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGluZy1ib3R0b20iKX0pfXZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3NvKCl9KSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXt2YXIgdT1hLnRhcmdldDt1LnRhZ05hbWUhPT0iQSImJnUudGFnTmFtZSE9PSJCVVRUT04iJiYhdS5jbG9zZXN0KCJidXR0b24iKSYmIXUuY2xvc2VzdCgiW2RhdGEtdG9vbC10b2dnbGVdIikmJnNvKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7aWYoRHIoKSl7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCEoIXV8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT11KSl7dmFyIHM9YS50YXJnZXQ7IXN8fHR5cGVvZiBzLmNsb3Nlc3QhPSJmdW5jdGlvbiJ8fHMuY2xvc2VzdCgiLmlucHV0LXBhbmVsIil8fHMuY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8cy5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC1mYWIiKXx8cy5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC10b2dnbGUiKXx8cy5jbG9zZXN0KCIjdGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIil8fHMuY2xvc2VzdCgiLndhbmQtam95c3RpY2stcm9vdCIpfHx1LmJsdXIoKX19fSwhMCl9ZnVuY3Rpb24ga2EoKXt0cnl7d2luZG93LnNjcm9sbFRvKDAsMCl9Y2F0Y2h7fWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQmJihkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD0wKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPTApLGRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD0wKX1mdW5jdGlvbiBZZShlKXtuLnJlbmRlclBlbmRpbmcmJiFlfHwobi5yZW5kZXJQZW5kaW5nPSEwLGU/KGZpKCEwKSxuLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2ZpKCExKSxuLnJlbmRlclBlbmRpbmc9ITF9KSl9bi5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBsbyhlKXtpZighKG4uY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKG4uY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQobi5jaGF0UmVuZGVyVGltZXIpLGUpe24uY2hhdFJlbmRlclRpbWVyPW51bGwsWWUoKTtyZXR1cm59dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPXI/Z3M6aHM7bi5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIGE9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7YSYmKG4uY3VycmVudE1lc3NhZ2VzPVJlKGEsdHQoYSxhLm91dHB1dCwhMCkpKSxZZSgpfSxpKX19ZnVuY3Rpb24gcXAoZSx0KXtpZighZXx8IXR8fHQubGVuZ3RoPT09MClyZXR1cm5bXTtmdW5jdGlvbiByKHcpe3JldHVybiB3LnJlcGxhY2UoL1x4MUIoPzpbQC1aXFwtX118XFtbMC0/XSpbIC0vXSpbQC1+XSkvZywiIil9Zm9yKHZhciBpPXIoZSksYT1bXSx1PVtdLHM9MDtzPHQubGVuZ3RoO3MrKylpZih0W3NdLnJvbGU9PT0idXNlciIpe3ZhciBvPSIiLGw9dFtzXS5jb250ZW50O2lmKHR5cGVvZiBsPT0ic3RyaW5nIilvPWw7ZWxzZSBpZihBcnJheS5pc0FycmF5KGwpKXtmb3IodmFyIGM9MDtjPGwubGVuZ3RoO2MrKylpZihsW2NdLnR5cGU9PT0idGV4dCIpe289bFtjXS50ZXh0O2JyZWFrfX1vJiZ1LnB1c2goe3RleHQ6byxpbmRleDpzfSl9Zm9yKHZhciBkPTAscz0wO3M8dS5sZW5ndGg7cysrKXt2YXIgZj11W3NdLHY9aS5pbmRleE9mKCJcdTI3NkYgIitmLnRleHQsZCk7aWYodj09PS0xJiYodj1pLmluZGV4T2YoYApcdTI3NkYgYCtmLnRleHQsZCksdiE9PS0xJiYodis9MSkpLHY+ZCl7Zm9yKHZhciBtPWkuc3Vic3RyaW5nKGQsdiksYj1tLnNwbGl0KGAKYCksZz1bXSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciB5PWJbY10udHJpbSgpOyF5fHx5LnN0YXJ0c1dpdGgoIlx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCIpfHx5PT09Ilx1Mjc2RiJ8fHk9PT0iPyJ8fHk9PT0iInx8eS5pbmNsdWRlcygiQ2xhdWRlIENvZGUgdiIpfHx5LmluY2x1ZGVzKCJPcHVzIikmJnkuaW5jbHVkZXMoIndpdGgiKXx8eS5pbmNsdWRlcygiU29ubmV0IikmJnkuaW5jbHVkZXMoIndpdGgiKXx8eS5pbmNsdWRlcygiQVBJIFVzYWdlIil8fHkuaW5jbHVkZXMoIkJpbGxpbmciKXx8eS5pbmNsdWRlcygiZm9yIHNob3J0Y3V0cyIpfHx5LmluY2x1ZGVzKCIvZWZmb3J0Iil8fHkubWF0Y2goL15b4pa44paQ4pad4paY4paX4paW4paI4paM4paN4paO4paP4paU4paB4paC4paD4paE4paF4paG4paH4paI4paIXS8pfHx5Lm1hdGNoKC9eW+KWuOKWkOKWneKWmOKWl+KWluKWiOKWjOKWjeKWjuKWj+KWlOKWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWiF17Myx9Lyl8fHkubGVuZ3RoPjMmJmcucHVzaCh5KX1nLmxlbmd0aD4wJiZhLnB1c2goe2JlZm9yZU1lc3NhZ2U6Zi5pbmRleCxjb250ZW50Omcuam9pbihgCmApfSl9ZD12K2YudGV4dC5sZW5ndGgrMn1yZXR1cm4gYX1mdW5jdGlvbiBBYShlKXtpZighZSlyZXR1cm4gbnVsbDt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7cmV0dXJuIHR8fCh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQuY2xhc3NOYW1lPSJjaGF0LW1lc3NhZ2VzIixlLmFwcGVuZENoaWxkKHQpLHQpfWZ1bmN0aW9uIGNvKGUsdCl7dmFyIHI9QWEoZSk7cmV0dXJuIHI/KHIuaW5uZXJIVE1MPXQscnIoKSxLZSgpLHIpOm51bGx9ZnVuY3Rpb24gZmkoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtb3V0cHV0Iik7aWYoIXQpcmV0dXJuO3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihSKXtyZXR1cm4gUi5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKCFyKXtuLmxhc3RSZW5kZXJlZEVtcHR5IT09Im5vbmUiJiYoY28odCwnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU2NzJBXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREPC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2PicpLG4ubGFzdFJlbmRlcmVkRW1wdHk9Im5vbmUiLG4ubGFzdFJlbmRlcmVkTXNnQ291bnQ9MCk7cmV0dXJufXZhciBpPW4uY3VycmVudE1lc3NhZ2VzLGE9JHAoaSk7aWYoSWE9WHAoaSksaS5sZW5ndGg9PT0wKXtpZihuLmxhc3RSZW5kZXJlZEVtcHR5IT09ImVtcHR5Iil7dmFyIHU9IiI7b2UocikmJih1PSc8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS10cmlvLXdyYXAiPjxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlLXRyaW8taGludCI+XHU5RUQ4XHU4QkE0XHU0RjFBXHU2MzA5XHU0RUU1XHU0RTBCXHU4QkJFXHU3RjZFXHU1M0QxXHU5MDAxXHVGRjBDXHU1M0VGXHU3MEI5XHU1MUZCXHU4QzAzXHU2NTc0XHVGRjFBPC9kaXY+JytSYShyLHtraW5kOiJkcm9wZG93biJ9KSsiPC9kaXY+IiksY28odCwnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU1QkY5XHU4QkREXHU1REYyXHU1RjAwXHU1OUNCPC9zdHJvbmc+PGJyPlx1NTcyOFx1NEUwQlx1NjVCOVx1OEY5M1x1NTE2NVx1Njg0Nlx1NTNEMVx1OTAwMVx1NkQ4OFx1NjA2Rlx1RkYwQ0NsYXVkZSBcdTRGMUFcdTgxRUFcdTUyQThcdTU2REVcdTU5MERcdTMwMDI8L2Rpdj4nK3UpLG4ubGFzdFJlbmRlcmVkRW1wdHk9ImVtcHR5IixuLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTB9WmEobnVsbCxyKSxTYShbXSk7cmV0dXJufXZhciBzPWkubGVuZ3RoO3M+bi5jaGF0UmVuZGVyZWRDb3VudCYmKG4uY2hhdFJlbmRlcmVkQ291bnQ9cyk7dmFyIG89TWF0aC5tYXgoMCxzLW4uY2hhdFJlbmRlcmVkQ291bnQpLGw9bz4wP2kuc2xpY2Uobyk6aSxjPW8+MCxkPWwubGVuZ3RoLGY9ci5vdXRwdXQ/ci5vdXRwdXQubGVuZ3RoOjA7aWYoci5tZXNzYWdlcyYmci5tZXNzYWdlcy5sZW5ndGg+MCl7Zm9yKHZhciB2PTAsbT0wLGI9MDtiPHIubWVzc2FnZXMubGVuZ3RoO2IrKyl7dmFyIGc9ci5tZXNzYWdlc1tiXS5jb250ZW50O2lmKGcpaWYoQXJyYXkuaXNBcnJheShnKSl7dis9Zy5sZW5ndGg7Zm9yKHZhciB5PTA7eTxnLmxlbmd0aDt5Kyspe3ZhciB3PWdbeV07dy50ZXh0JiYobSs9dy50ZXh0Lmxlbmd0aCksdy50aGlua2luZyYmKG0rPXcudGhpbmtpbmcubGVuZ3RoKSx3LmNvbnRlbnQmJihtKz13LmNvbnRlbnQubGVuZ3RoKSx3LmlkJiYobSs9dy5pZC5sZW5ndGgpLHcudG9vbF91c2VfaWQmJihtKz13LnRvb2xfdXNlX2lkLmxlbmd0aCksdy5kZXNjcmlwdGlvbiYmKG0rPXcuZGVzY3JpcHRpb24ubGVuZ3RoKSx3LmlucHV0JiYobSs9SlNPTi5zdHJpbmdpZnkody5pbnB1dCkubGVuZ3RoKX19ZWxzZSB2Kz0xLG09U3RyaW5nKGcpLmxlbmd0aH1mPWQqMWU1K3YqMWUzK219dmFyIEY9ZXx8ZCE9PW4ubGFzdFJlbmRlcmVkTXNnQ291bnQ7aWYoIUYmJmQ9PT1uLmxhc3RSZW5kZXJlZE1zZ0NvdW50JiZmPT09bi5sYXN0UmVuZGVyZWRIYXNoKXt2YXIgRT10LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7RSYmWmEoRSxyKSxTYShpKTtyZXR1cm59dmFyIEE9bi5sYXN0UmVuZGVyZWRIYXNoLHg9bi5sYXN0UmVuZGVyZWRNc2dDb3VudDtpZihuLmxhc3RSZW5kZXJlZE1zZ0NvdW50PWQsbi5sYXN0UmVuZGVyZWRIYXNoPWYsRT1BYSh0KSwhRSlyZXR1cm47dmFyIFM9VGkoRSksUD1FLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKS5sZW5ndGgsej1GfHxQPT09MHx8ZCE9PVA7ZnVuY3Rpb24gRygpe2Zvcih2YXIgUj1xcChyLm91dHB1dCxsKSxzZT0iIixCZT1sLnNsaWNlKCkucmV2ZXJzZSgpLG5lPWwubGVuZ3RoLGRlPTA7ZGU8QmUubGVuZ3RoO2RlKyspe2Zvcih2YXIgTWU9QmVbZGVdLGx0PW5lLTEtZGUsZ3Q9bHQrbyxHZT1udWxsLHJ0PTA7cnQ8Ui5sZW5ndGg7cnQrKylpZihSW3J0XS5iZWZvcmVNZXNzYWdlPT09bHQpe0dlPVJbcnRdO2JyZWFrfUdlJiYoc2UrPSc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2Ugc3lzdGVtLWluZm8iPjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWNhcmQiPjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWhlYWRlciI+XHUyMTM5XHVGRTBGIFx1N0NGQlx1N0VERlx1NEZFMVx1NjA2RjwvZGl2PjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWNvbnRlbnQiPicrcChHZS5jb250ZW50KSsiPC9kaXY+PC9kaXY+PC9kaXY+Iiksc2UrPUxhKE1lLEJbZ3RdfHxudWxsLGd0LGEpfWMmJihzZSs9JzxkaXYgY2xhc3M9ImNoYXQtbG9hZC1tb3JlIiBpZD0iY2hhdC1sb2FkLW1vcmUtc2VudGluZWwiPjxidXR0b24gY2xhc3M9ImNoYXQtbG9hZC1tb3JlLWJ0biIgdHlwZT0iYnV0dG9uIj5cdTUyQTBcdThGN0RcdTY2RjRcdTY1RTlcdTc2ODQgJytNYXRoLm1pbihuLmNoYXRQYWdlU2l6ZSxvKSsiIFx1Njc2MVx1NkQ4OFx1NjA2RjwvYnV0dG9uPjwvZGl2PiIpO3ZhciBpdD0tMSxXZT0wO2lmKFA+MCYmIVMpZm9yKHZhciBrdD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCx6ZT1FLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSxEZT0wO0RlPHplLmxlbmd0aDtEZSsrKXt2YXIgX2U9emVbRGVdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKF9lLmJvdHRvbT49a3Qpe3ZhciBmZT16ZVtEZV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO2ZlIT1udWxsJiYoaXQ9cGFyc2VJbnQoZmUsMTApLFdlPV9lLnRvcC1rdCk7YnJlYWt9fWlmKEUuaW5uZXJIVE1MPXNlLChmdW5jdGlvbigpe2Zvcih2YXIgT2U9RS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIiksd2U9T2UubGVuZ3RoLFZlPTA7VmU8d2U7VmUrKylPZVtWZV0uc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKG8rd2UtMS1WZSkpfSkoKSx4PT09MCYmIW4uY2hhdEluaXRpYWxSZW5kZXJEb25lKUUuc2Nyb2xsVG9wPTAsbi5jaGF0U3RpY2tUb0JvdHRvbT0hMCxucih7cmVtb3ZlRGl2aWRlcjohMH0pLG4uY2hhdEluaXRpYWxSZW5kZXJEb25lPSEwO2Vsc2UgaWYoeD09PTAmJm4uY2hhdFN0aWNrVG9Cb3R0b20pRS5zY3JvbGxUb3A9MDtlbHNlIGlmKFMpRS5zY3JvbGxUb3A9MDtlbHNlIGlmKGl0Pj0wKXt2YXIgQWU9RS5xdWVyeVNlbGVjdG9yKCcuY2hhdC1tZXNzYWdlW2RhdGEtbXNnLWluZGV4PSInK2l0KyciXScpO2lmKEFlKXt2YXIgQz1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxjdD1BZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxBdD1jdC50b3AtQy1XZTtNYXRoLmFicyhBdCk+LjUmJihuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxFLnNjcm9sbFRvcCs9QXQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSl9fWZvKEUpLHJyKCksT2koRSk7dmFyIFFlPUUucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpO2lmKFFlKXt2YXIgJGU9UWUucXVlcnlTZWxlY3RvckFsbCgiLnRvb2wtdXNlLWNhcmQsIC5pbmxpbmUtZGlmZltkYXRhLWV4cGFuZC1rZXldIik7aWYoJGUubGVuZ3RoPjApe3ZhciB4dD0kZVswXSxYdD1Ubih4dCk7WmUoWHQpPT09bnVsbCYmeHQuY2xhc3NMaXN0LnJlbW92ZSgiY29sbGFwc2VkIik7Zm9yKHZhciBhdD0xO2F0PCRlLmxlbmd0aDthdCsrKXt2YXIgcWU9VG4oJGVbYXRdKTtpZihaZShxZSk9PT1udWxsKXtpZigkZVthdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhJGVbYXRdLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXItYW5zd2VyZWQiKSljb250aW51ZTskZVthdF0uY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIil9fX19cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7TGkoRSksS2UoKSxrbCgpfSl9ZnVuY3Rpb24gTChSLHNlKXt2YXIgQmU9Ui5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKTtCZS5mb3JFYWNoKGZ1bmN0aW9uKG5lKXt2YXIgZGU9VG4obmUpO2lmKFplKGRlKT09PW51bGwmJiEobmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhbmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlci1hbnN3ZXJlZCIpKSl7aWYoc2Upe2Zvcih2YXIgTWU9MDtNZTxzZS5sZW5ndGg7TWUrKylpZihzZVtNZV0uY29udGFpbnMobmUpKXJldHVybn1uZS5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZWQiKX19KX12YXIgQj17fTtpZigoZnVuY3Rpb24oKXtmb3IodmFyIFI9e2lucHV0VG9rZW5zOjAsb3V0cHV0VG9rZW5zOjAsY2FjaGVSZWFkSW5wdXRUb2tlbnM6MCx0b3RhbENvc3RVc2Q6MH0sc2U9LTEsQmU9MDtCZTxpLmxlbmd0aDtCZSsrKXt2YXIgbmU9aVtCZV07aWYobmUucm9sZT09PSJ1c2VyIilzZT49MCYmKFIuaW5wdXRUb2tlbnM+MHx8Ui5vdXRwdXRUb2tlbnM+MHx8Ui50b3RhbENvc3RVc2Q+MCkmJihCW3NlXT17aW5wdXRUb2tlbnM6Ui5pbnB1dFRva2VucyxvdXRwdXRUb2tlbnM6Ui5vdXRwdXRUb2tlbnMsY2FjaGVSZWFkSW5wdXRUb2tlbnM6Ui5jYWNoZVJlYWRJbnB1dFRva2Vucyx0b3RhbENvc3RVc2Q6Ui50b3RhbENvc3RVc2R9KSxSPXtpbnB1dFRva2VuczowLG91dHB1dFRva2VuczowLGNhY2hlUmVhZElucHV0VG9rZW5zOjAsdG90YWxDb3N0VXNkOjB9LHNlPS0xO2Vsc2UgaWYobmUucm9sZT09PSJhc3Npc3RhbnQiJiZuZS51c2FnZSl7dmFyIGRlPW5lLnVzYWdlO1IuaW5wdXRUb2tlbnMrPWRlLmlucHV0VG9rZW5zfHwwLFIub3V0cHV0VG9rZW5zKz1kZS5vdXRwdXRUb2tlbnN8fDAsUi5jYWNoZVJlYWRJbnB1dFRva2Vucys9ZGUuY2FjaGVSZWFkSW5wdXRUb2tlbnN8fDAsUi50b3RhbENvc3RVc2QrPWRlLnRvdGFsQ29zdFVzZHx8MCxzZT1CZX1lbHNlIG5lLnJvbGU9PT0iYXNzaXN0YW50IiYmKHNlPUJlKX1zZT49MCYmKFIuaW5wdXRUb2tlbnM+MHx8Ui5vdXRwdXRUb2tlbnM+MHx8Ui50b3RhbENvc3RVc2Q+MCkmJihCW3NlXT17aW5wdXRUb2tlbnM6Ui5pbnB1dFRva2VucyxvdXRwdXRUb2tlbnM6Ui5vdXRwdXRUb2tlbnMsY2FjaGVSZWFkSW5wdXRUb2tlbnM6Ui5jYWNoZVJlYWRJbnB1dFRva2Vucyx0b3RhbENvc3RVc2Q6Ui50b3RhbENvc3RVc2R9KX0pKCkseilHKCk7ZWxzZSBpZihkPlApe3ZhciBUPWwuc2xpY2UoUCk7VC5yZXZlcnNlKCk7Zm9yKHZhciBJPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxWPVtdLHJlPVtdLHRlPW8rUCwkPTA7JDxULmxlbmd0aDskKyspe3ZhciBpZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxVPW8rUCsoVC5sZW5ndGgtMS0kKTtpZS5pbm5lckhUTUw9TGEoVFskXSxCW1VdfHxudWxsLFUsYSk7dmFyIE09aWUuZmlyc3RFbGVtZW50Q2hpbGQ7TSYmKE0uY2xhc3NMaXN0LmFkZCgiYW5pbWF0ZS1pbiIpLE0uc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKFUpKSxWLnB1c2goTSkscmUucHVzaChVKSxJLmFwcGVuZENoaWxkKE0pKX1FLmluc2VydEJlZm9yZShJLEUuZmlyc3RDaGlsZCkscnIoKSxmbyhFKSxPaShFKSxMKEUsViksUz9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtFLmlzQ29ubmVjdGVkJiZNYXRoLmFicyhFLnNjcm9sbFRvcCk+MSYmKG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwLEUuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSksbnIoe3JlbW92ZURpdmlkZXI6ITB9KSxLZSgpfSk6KG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg8MCYmKG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg9dGUpLG4uY2hhdFVucmVhZENvdW50Kz1WLmxlbmd0aCxMaShFKSxLZSgpKX1lbHNlIGlmKGQ9PT1QJiZmIT09QSl7Zm9yKHZhciBIPUFycmF5LmZyb20oRS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIikpLE49bC5zbGljZSgpLnJldmVyc2UoKSxZPSExLEs9TWF0aC5taW4oNCxOLmxlbmd0aCxILmxlbmd0aCksWD0wO1g8SztYKyspe3ZhciBhZT1IW1hdLGxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHVlPW8rTi5sZW5ndGgtMS1YO2xlLmlubmVySFRNTD1MYShOW1hdLEJbdWVdfHxudWxsLHVlLGEpO3ZhciBDZT1sZS5maXJzdEVsZW1lbnRDaGlsZDtpZihDZSl7aWYoYWUuaW5uZXJIVE1MIT09Q2UuaW5uZXJIVE1MfHxhZS5jbGFzc05hbWUhPT1DZS5jbGFzc05hbWUpRS5yZXBsYWNlQ2hpbGQoQ2UsYWUpLE9wKENlKSxZPSEwO2Vsc2UgaWYoWD4wKWJyZWFrfX1pZighWSYmTi5sZW5ndGg+SyYmRygpLFkpe3JyKCksT2koRSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7UyYmRS5pc0Nvbm5lY3RlZCYmTWF0aC5hYnMoRS5zY3JvbGxUb3ApPjEmJihuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxFLnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe24uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpLExpKEUpLEtlKCl9KTt2YXIgRmU9RS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlIiksYmU9RS5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKSxPPW51bGw7YmUuZm9yRWFjaChmdW5jdGlvbihSKXt2YXIgc2U9VG4oUik7WmUoc2UpPT09bnVsbCYmKFIuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhUi5jbGFzc0xpc3QuY29udGFpbnMoImFzay11c2VyLWFuc3dlcmVkIil8fChGZSYmRmUuY29udGFpbnMoUik/Tz9SLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpOk89UjpSLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpKSl9KX19ZWxzZSBkPFAmJkcoKTtqZChFKSxaYShFLHIpLFNhKGkpfXZhciB4YT0hMTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgcj10LmNsb3Nlc3QoIiN0b2RvLXByb2dyZXNzLXRvZ2dsZSIpO2lmKHIpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHhhPSF4YTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2kmJmEmJih4YT8oaS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGEuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKSk6KGkuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSxhLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZGVkIikpKX19fSk7ZnVuY3Rpb24gU2EoZSl7Zm9yKHZhciB0PTAscj1lLmxlbmd0aC0xO3I+PTA7ci0tKWlmKGVbcl0mJmVbcl0ucm9sZT09PSJ1c2VyIil7dD1yKzE7YnJlYWt9Zm9yKHZhciBpPW51bGwsYT1lLmxlbmd0aC0xO2E+PXQ7YS0tKXt2YXIgdT1lW2FdO2lmKCEoIXUuY29udGVudHx8IUFycmF5LmlzQXJyYXkodS5jb250ZW50KSkpe2Zvcih2YXIgcz11LmNvbnRlbnQubGVuZ3RoLTE7cz49MDtzLS0pe3ZhciBvPXUuY29udGVudFtzXTtpZihvLnR5cGU9PT0idG9vbF91c2UiJiZvLm5hbWU9PT0iVG9kb1dyaXRlIiYmby5pbnB1dCYmby5pbnB1dC50b2Rvcyl7aT1vLmlucHV0LnRvZG9zO2JyZWFrfX1pZihpKWJyZWFrfX12YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2lmKGwpe2lmKCFpfHxpLmxlbmd0aD09PTApe2wuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksYyYmYy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59bC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxjJiZjLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO2Zvcih2YXIgZD0wLGY9MCx2PSIiLG09MDttPGkubGVuZ3RoO20rKylpW21dLnN0YXR1cz09PSJjb21wbGV0ZWQiJiZkKyssaVttXS5zdGF0dXM9PT0iaW5fcHJvZ3Jlc3MiJiYoZisrLHZ8fCh2PWlbbV0uYWN0aXZlRm9ybXx8aVttXS5jb250ZW50fHwiIikpO3ZhciBiPWQ9PT1pLmxlbmd0aCxnPWI/aS5sZW5ndGg6TWF0aC5taW4oZCsxLGkubGVuZ3RoKTtpZihiKXtsLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGMmJmMuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWVsc2UgbC5jbGFzc0xpc3QucmVtb3ZlKCJhbGwtZG9uZSIpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiKTt5JiYoeS50ZXh0Q29udGVudD1nKyIvIitpLmxlbmd0aCk7dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtdGFzayIpO3cmJih3LnRleHRDb250ZW50PXYpO3ZhciBGPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLXJpbmciKTtpZihGKXt2YXIgRT1pLmxlbmd0aD4wP2cvaS5sZW5ndGg6MDtGLnN0eWxlLnNldFByb3BlcnR5KCItLXByb2dyZXNzIixFLnRvRml4ZWQoMykpfXZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWxpc3QiKTtpZihBKXtmb3IodmFyIHg9IiIsUz0wO1M8aS5sZW5ndGg7UysrKXt2YXIgUD1pW1NdLHo9UC5zdGF0dXN8fCJwZW5kaW5nIixHPXo9PT0iaW5fcHJvZ3Jlc3MiPyJhY3RpdmUiOno9PT0iY29tcGxldGVkIj8iZG9uZSI6IiIsTD16PT09ImluX3Byb2dyZXNzIj8iYWN0aXZlIjp6PT09ImNvbXBsZXRlZCI/ImRvbmUiOiJwZW5kaW5nIixCPXo9PT0iY29tcGxldGVkIj8iXHUyNzEzIjp6PT09ImluX3Byb2dyZXNzIj8iXHUyMDNBIjoiXHUyNUNCIjt4Kz0nPGxpIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWl0ZW0gJytHKyciPjxzcGFuIGNsYXNzPSJ0b2RvLWl0ZW0taWNvbiAnK0wrJyI+JytCKyI8L3NwYW4+PHNwYW4+IitwKFAuY29udGVudHx8IiIpKyI8L3NwYW4+PC9saT4ifUEuaW5uZXJIVE1MPXh9bi5zZWxlY3RlZElkJiZvYShuLnNlbGVjdGVkSWQpfX1mdW5jdGlvbiBPcChlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb2RlLWNvcHkiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHI9dC5jbG9zZXN0KCIuY29kZS1ibG9jayIpLGk9cj9yLnF1ZXJ5U2VsZWN0b3IoImNvZGUiKTpudWxsO2kmJkxyKGkudGV4dENvbnRlbnR8fCIiLG51bGwsZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3BpZWQhIix0LmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3B5Iix0LmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfSl9KX0pfWZ1bmN0aW9uIGZvKGUpe2UucXVlcnlTZWxlY3RvckFsbCgiLmNvZGUtY29weSIpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9dC5jbG9uZU5vZGUoITApO3QucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocix0KSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBpPXIuY2xvc2VzdCgiLmNvZGUtYmxvY2siKSxhPWk/aS5xdWVyeVNlbGVjdG9yKCJjb2RlIik6bnVsbDthJiZMcihhLnRleHRDb250ZW50fHwiIixudWxsLGZ1bmN0aW9uKCl7ci50ZXh0Q29udGVudD0iQ29waWVkISIsci5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci50ZXh0Q29udGVudD0iQ29weSIsci5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX0pfSl9KSxQcChlKX12YXIgWG09e3RpbWVyOm51bGwsYWN0aXZlQnRuOm51bGx9O2Z1bmN0aW9uIFBwKGUpe3ZhciB0PXdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXM7dCYmZS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlIikuZm9yRWFjaChmdW5jdGlvbihyKXtpZighci5xdWVyeVNlbGVjdG9yKCIubXNnLWNvcHktYnRuIikpe3ZhciBpPXIucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZS1idWJibGUiKTtpZihpKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTthLmNsYXNzTmFtZT0ibXNnLWNvcHktYnRuIixhLnRleHRDb250ZW50PSJcdTU5MERcdTUyMzYiLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHUpe3Uuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHM9aS5pbm5lclRleHR8fGkudGV4dENvbnRlbnR8fCIiO0xyKHMudHJpbSgpLG51bGwsZnVuY3Rpb24oKXthLnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLGEuY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dChmdW5jdGlvbigpe2EudGV4dENvbnRlbnQ9Ilx1NTkwRFx1NTIzNiIsYS5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKSxhLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0sMTUwMCl9KX0pLHIuYXBwZW5kQ2hpbGQoYSl9fX0pfShmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXM7aWYodCl7dmFyIHI9bnVsbCxpPTA7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oYSl7dmFyIHU9YS50YXJnZXQuY2xvc2VzdCgiLmNoYXQtbWVzc2FnZSIpO2lmKHUpe3ZhciBzPXUucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZS1idWJibGUiKTtzJiYoaT1hLnRvdWNoZXNbMF0uY2xpZW50WSxyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIi5tc2ctY29weS1idG4iKTtvJiYoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1zZy1jb3B5LWJ0bi52aXNpYmxlIikuZm9yRWFjaChmdW5jdGlvbihsKXtsLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0pLG8uY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpKX0sNTAwKSl9fSx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oYSl7ciYmTWF0aC5hYnMoYS50b3VjaGVzWzBdLmNsaWVudFktaSk+MTAmJihjbGVhclRpbWVvdXQocikscj1udWxsKX0se3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXtyJiYoY2xlYXJUaW1lb3V0KHIpLHI9bnVsbCl9LHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGEpe2EudGFyZ2V0LmNsb3Nlc3QoIi5tc2ctY29weS1idG4iKXx8ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1zZy1jb3B5LWJ0bi52aXNpYmxlIikuZm9yRWFjaChmdW5jdGlvbih1KXt1LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0pfSl9fSkoKTtmdW5jdGlvbiBIcChlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1TdHJpbmcoZSkudHJpbSgpO3JldHVybiB0PyEhKHQuaW5kZXhPZigiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIik9PT0wfHx0PT09Ilx1Mjc2RiJ8fHQ9PT0iXHUyMDNBInx8L15b4pWt4pWw4pSC4pSM4pSU4pSQ4pSY4pSc4pSk4pSs4pS04pS84pSA4pWQXXsyLH0kLy50ZXN0KHQpfHwvXlviloHiloLiloPiloTiloXilobilofilojilpTilpXilo/ilpBdKyQvLnRlc3QodCl8fHQuaW5kZXhPZigiZXNjIHRvIGludGVycnVwdCIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIENvZGUgdiIpIT09LTF8fC9eU29ubmV0XGIvLnRlc3QodCl8fHQuaW5kZXhPZigiRmFpbGVkIHRvIGluc3RhbGwgQW50aHJvcGljIikhPT0tMXx8dC5pbmRleE9mKCJDbGF1ZGUgQ29kZSBoYXMgc3dpdGNoZWQiKSE9PS0xfHx0LmluZGV4T2YoIj8gZm9yIHNob3J0Y3V0cyIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIGlzIHdhaXRpbmciKSE9PS0xfHx0LmluZGV4T2YoIlt3YW5kXSIpIT09LTF8fHQuaW5kZXhPZigiMDsiKT09PTB8fHQuaW5kZXhPZigiOTsiKT09PTB8fHQuaW5kZXhPZigiY3RybCtnIikhPT0tMXx8dC5pbmRleE9mKCIvZWZmb3J0IikhPT0tMXx8L15Vc2luZyAuKiBmb3IgLiogc2Vzc2lvbi8udGVzdCh0KXx8dC5pbmRleE9mKCJQcmVzcyAiKT09PTAmJnQuaW5kZXhPZigiIGZvciIpIT09LTF8fHQuaW5kZXhPZigidHlwZSAiKT09PTAmJnQuaW5kZXhPZigiIHRvICIpIT09LTF8fHQuaW5kZXhPZigiYXV0byBtb2RlIGlzIHVuYXZhaWxhYmxlIikhPT0tMXx8L01DUCBzZXJ2ZXIuKmZhaWxlZC9pLnRlc3QodCl8fHQuaW5kZXhPZigiR2VybWluYXRpbmciKSE9PS0xfHx0LmluZGV4T2YoIkRvb2RsaW5nIikhPT0tMXx8dC5pbmRleE9mKCJCcmV3aW5nIikhPT0tMXx8dC5pbmRleE9mKCJQZXJtaXNzaW9ucyIpIT09LTEmJnQuaW5kZXhPZigibW9kZSIpIT09LTF8fHQuaW5kZXhPZigiXHUyNUNGIik9PT0wJiZ0LmluZGV4T2YoIlx4QjciKSE9PS0xfHx0LmluZGV4T2YoIls+Iik9PT0wfHx0LmluZGV4T2YoIls8Iik9PT0wfHx0LmluZGV4T2YoIkNhcHR1cmVkIENsYXVkZSBzZXNzaW9uIElEIikhPT0tMXx8L14+X1xzKk9wZW5BSSBDb2RleFxiLy50ZXN0KHQpfHwvXk9wZW5BSSBDb2RleFxiL2kudGVzdCh0KXx8L14obW9kZWx8ZGlyZWN0b3J5KTpccysvaS50ZXN0KHQpfHwvXih0aXB8Y29udGV4dCk6XHMrL2kudGVzdCh0KXx8L153b3JrKHRyZWV8c3BhY2UpOlxzKy9pLnRlc3QodCl8fC9eKGFwcHJvdmFscz98c2FuZGJveHxwcm92aWRlcnxzZXNzaW9uIGlkKTpccysvaS50ZXN0KHQpfHwvXih0aGlua2luZ3x3b3JraW5nKShcLlwuXC584oCmKT8kL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrV29ya2luZ1xiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrKFJ1bm5pbmd8UGxhbm5pbmd8QXBwbHlpbmd8UmVhZGluZ3xTZWFyY2hpbmcpXGIvaS50ZXN0KHQpfHwvXlvigKLil6bCt11ccysoSW5zcGVjdGluZ3xSZXZpZXdpbmd8U3VtbWFyaXppbmd8RWRpdGluZ3xVcGRhdGluZ3xXcml0aW5nKVxiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrQ29tcGxldGVkXGIvaS50ZXN0KHQpfHwvXihjdHJsfGVudGVyfHRhYnxzaGlmdHxlc2N8YWx0KVwrL2kudGVzdCh0KXx8L1xiKG9wZW58Y2xvc2V8dG9nZ2xlKSAoY2hhdHx0ZXJtaW5hbClcYi9pLnRlc3QodCl8fC9cYihhcHByb3ZlfGRlbnkpXGIuKlxiKHBlcm1pc3Npb258YXBwcm92YWwpXGIvaS50ZXN0KHQpfHwvXih1c2V8cHJlc3MpIC4qICh0b3xmb3IpIC4qL2kudGVzdCh0KXx8L14oPzp0b2tlbnxjb250ZXh0IHdpbmRvd3xyZW1haW5pbmcgY29udGV4dHxjb252ZXJzYXRpb24pOlxzKy9pLnRlc3QodCl8fC9eKD86Y3dkfHBhdGgpOlxzK1wvL2kudGVzdCh0KXx8L15bPD7ilILilIbilY5dLipbPD7ilILilIbilY5dJC8udGVzdCh0KSYmdC5sZW5ndGg8OCk6ITF9ZnVuY3Rpb24gX3AoZSl7cmV0dXJuIFN0cmluZyhlfHwiIikucmVwbGFjZSgvXHgxYlxdW15ceDA3XSooXHgwN3xceDFiXFwpL2csIiIpLnJlcGxhY2UoL1x4MWJcWyhcZCspQy9nLGZ1bmN0aW9uKHQscil7cmV0dXJuIiAiLnJlcGVhdChOdW1iZXIocil8fDEpfSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbQUJdL2csYApgKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltzdV0vZywiIikucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbSGZKS3JdL2csYApgKS5yZXBsYWNlKC9ceDFiTS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbU1RdL2csYApgKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKlthLXpBLVpdL2csIiIpLnJlcGxhY2UoL1x4MWJbPjw9ZVBYXl9dL2csIiIpLnJlcGxhY2UoL1tcdTAwYTBcdTIwMGItXHUyMDBkXHVmZWZmXS9nLCIgIikucmVwbGFjZSgvW1x4MDAtXHgwOFx4MGJceDBjXHgwZS1ceDFmXS9nLCIiKS5yZXBsYWNlKC9cclxuPy9nLGAKYCkucmVwbGFjZSgvWyBcdF0rXG4vZyxgCmApLnJlcGxhY2UoL1xuezMsfS9nLGAKCmApfWZ1bmN0aW9uIGpwKGUsdCl7dmFyIHI9W107aWYoIWUpcmV0dXJuIHI7dmFyIGk9U3RyaW5nKGV8fCIiKSxhPWAKYCx1PSJcciIscz0iXHgxQiI7aWYoL15jb2RleFxiLy50ZXN0KFN0cmluZyh0fHwiIikudHJpbSgpKSl7bGV0IGNlPWZ1bmN0aW9uKFcpe3JldHVybiBTdHJpbmcoV3x8IiIpLnJlcGxhY2UoL1x4MWJcXVteXHgwN10qKFx4MDd8XHgxYlxcKS9nLCIiKS5yZXBsYWNlKC9ceDFiXFsoXGQrKUMvZyxmdW5jdGlvbihfLFEpe3JldHVybiIgIi5yZXBlYXQoTnVtYmVyKFEpfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW3N1XS9nLCIiKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltIZkpLcl0vZyxhKS5yZXBsYWNlKC9ceDFiTS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW2EtekEtWl0vZywiIikucmVwbGFjZSgvXHgxYls+PD1lUFheX10vZywiIikucmVwbGFjZSgvW1x1MDBhMFx1MjAwYi1cdTIwMGRcdWZlZmZdL2csIiAiKS5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwYlx4MGNceDBlLVx4MWZdL2csIiIpLnJlcGxhY2UoL1sgXHRdK1xuL2csYSl9LHV0PWZ1bmN0aW9uKFcpe3JldHVybiBTdHJpbmcoV3x8IiIpLnJlcGxhY2UoL1xzKy9nLCIgIikucmVwbGFjZSgvW01dKyQvZywiIikudHJpbSgpfSxlZT1mdW5jdGlvbihXKXtyZXR1cm4gU3RyaW5nKFd8fCIiKS5yZXBsYWNlKC9e4oC6XHMqLywiIikucmVwbGFjZSgvXj5ccyovLCIiKS50cmltKCl9LHhlPWZ1bmN0aW9uKFcpe3ZhciBfPVN0cmluZyhXfHwiIikudHJpbSgpO3JldHVybiEhKCFffHxIcChfKXx8Ri50ZXN0KF8pfHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdLy50ZXN0KF8pfHwvXlxbPlswLTk7P10qdSQvaS50ZXN0KF8pfHwvXk0rJC9pLnRlc3QoXyl8fC9eKD86T3BlbkFJIENvZGV4fENvZGV4KVxiL2kudGVzdChfKXx8L14oPzp0b2tlbnM/fGNvbnRleHQgd2luZG93fHJlbWFpbmluZyBjb250ZXh0fGFwcHJvdmFscz98c2FuZGJveHxwcm92aWRlcnxzZXNzaW9uIGlkKTpccyovaS50ZXN0KF8pfHwvXig/OnRoaW5raW5nfHdvcmtpbmcpXHMqKD86XC5cLlwufOKApik/JC9pLnRlc3QoXyl8fC9eW+KAouKXpsK3XVxzKyg/OnRoaW5raW5nfHdvcmtpbmd8cnVubmluZ3xwbGFubmluZ3xhcHBseWluZ3xyZWFkaW5nfHNlYXJjaGluZ3xpbnNwZWN0aW5nfHJldmlld2luZ3xzdW1tYXJpemluZ3xlZGl0aW5nfHVwZGF0aW5nfHdyaXRpbmd8Y29tcGxldGVkKVxiL2kudGVzdChfKXx8L14oPzptb2RlbHxkaXJlY3Rvcnl8dGlwfGNvbnRleHR8Y3dkfHBhdGgpOlxzKy9pLnRlc3QoXykpfSxTZT1mdW5jdGlvbihXKXt2YXIgXz1TdHJpbmcoV3x8IiIpLnRyaW0oKTtpZighL17igLooPzpcc3wkKS8udGVzdChfKXx8Ri50ZXN0KF8pKXJldHVybiBudWxsO3ZhciBRPXV0KGVlKF8pKTtyZXR1cm4hUXx8eGUoUSk/bnVsbDpRfSx5dD1mdW5jdGlvbihXKXt2YXIgXz1TdHJpbmcoV3x8IiIpLnRyaW0oKTtpZighL15b4oCi4pemwrfij7pdLy50ZXN0KF8pKXJldHVybiBudWxsO3ZhciBRPV8ucmVwbGFjZSgvXlvigKLil6bCt11ccyovLCIiKS5yZXBsYWNlKC9e4o+6XHMrLywiIikucmVwbGFjZSgvXuKUglxzKi8sIiIpLnRyaW0oKTtyZXR1cm4hUXx8L15b4oCi4pemwrfij7pdJC8udGVzdChRKXx8KFE9US5yZXBsYWNlKC9ccypcKFxkK1tzbWhdP1xzKuKAolxzKmVzYyB0byBpbnRlcnJ1cHRcKVtcc1xTXSokL2ksIiIpLnJlcGxhY2UoLyg/OlthLXpdezEsNn0pP+KAultcc1xTXSokLywiIikucmVwbGFjZSgvXHN7Mix9Z3B0LVxkW1xzXFNdKiQvaSwiIikucmVwbGFjZSgvXGIoPzpPcGVuQUkgQ29kZXh8bW9kZWw6fGRpcmVjdG9yeTp8VGlwOilcYltcc1xTXSokL2ksIiIpLFE9dXQoUSksIVF8fFEubGVuZ3RoPDJ8fEUudGVzdChRKXx8eGUoUSkpP251bGw6UX0sZHQ9ZnVuY3Rpb24oVyl7dmFyIF89dXQoVyk7cmV0dXJuIV98fHhlKF8pfHwvXlvigKLil6bCt+KPuuKAul0vLnRlc3QoXyl8fC9eW1xbXF08PjAtOTs/XSt1PyQvaS50ZXN0KF8pfHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdLy50ZXN0KF8pfHxfLmxlbmd0aD41MDA/bnVsbDpffSxwZT1mdW5jdGlvbihXLF8pe2lmKFcuaW5kZXhPZihfKSE9PTApcmV0dXJuITE7dmFyIFE9Vy5zbGljZShfLmxlbmd0aCk7cmV0dXJuL15bYS16XXsxLDR9JC9pLnRlc3QoUSl9LFhlPWZ1bmN0aW9uKFcpe2Zvcih2YXIgXz1bXSxRPTA7UTxXLmxlbmd0aDtRKyspe3ZhciBtZT11dChXW1FdKTtpZighKCFtZXx8bWUubGVuZ3RoPDJ8fHhlKG1lKSkpe3ZhciBJZT1fW18ubGVuZ3RoLTFdO2lmKCFJZSl7Xy5wdXNoKG1lKTtjb250aW51ZX1pZihtZSE9PUllKXtpZihtZS5pbmRleE9mKEllKT09PTApe19bXy5sZW5ndGgtMV09bWU7Y29udGludWV9aWYoSWUuaW5kZXhPZihtZSk9PT0wKXtwZShJZSxtZSkmJihfW18ubGVuZ3RoLTFdPW1lKTtjb250aW51ZX1fLnB1c2gobWUpfX19cmV0dXJuIF8uam9pbihhKS50cmltKCl9LGJ0PWZ1bmN0aW9uKFcpe2Zvcih2YXIgXz0wO188Vy5sZW5ndGg7XysrKXt2YXIgUT1TdHJpbmcoV1tfXXx8IiIpLnRyaW0oKTtpZihRKXt2YXIgbWU9U2UoUSk7aWYobWUpcmV0dXJuIG1lO2lmKFE9PT0iXHUyMDNBIilmb3IodmFyIEllPV8rMTtJZTxXLmxlbmd0aDtJZSsrKXt2YXIgVHQ9dXQoV1tJZV0pO2lmKCEoIVR0fHxGLnRlc3QoVHQpfHx4ZShUdCkpKXJldHVybiBUdH19fXJldHVybiBudWxsfSxabj1mdW5jdGlvbihXKXtmb3IodmFyIF89W10sUT0hMSxtZT0wO21lPFcubGVuZ3RoO21lKyspe3ZhciBJZT1TdHJpbmcoV1ttZV18fCIiKS50cmltKCk7aWYoIUllKXtpZihRKWJyZWFrO2NvbnRpbnVlfXZhciBUdD15dChJZSk7aWYoVHQpe18ucHVzaChUdCksUT0hMDtjb250aW51ZX1pZihRKXtpZihJZT09PSJcdTIwM0EifHwvXuKAuig/OlxzfCQpLy50ZXN0KEllKXx8Ri50ZXN0KEllKXx8eGUoSWUpKWJyZWFrO18ucHVzaCh1dChJZSkpfX1yZXR1cm4gX307Zm9yKHZhciBvPWNlLGw9dXQsYz1lZSxkPXhlLGY9U2Usdj15dCxtPWR0LGI9cGUsZz1YZSx5PWJ0LHc9Wm4sRj0vXGJncHQtXGQrKD86XC5cZCspPyg/OlxzK1thLXowLTkuLV0rKT9ccyvCt1xzK1xkKyVccytsZWZ0XHMrwrdccysoPzpcL3x+XC8pLisvaSxFPS9eKD86dGhpbmtpbmd8d29ya2luZ3xydW5uaW5nfHBsYW5uaW5nfGFwcGx5aW5nfHJlYWRpbmd8c2VhcmNoaW5nfGluc3BlY3Rpbmd8cmV2aWV3aW5nfHN1bW1hcml6aW5nfGVkaXRpbmd8dXBkYXRpbmd8d3JpdGluZ3xjb21wbGV0ZWQpXGIvaSxBPVtdLHg9MCxTPWkucmVwbGFjZSgvXHJcbj8vZyxhKS5zcGxpdChhKSxQPTA7UDxTLmxlbmd0aDtQKyspZm9yKHZhciB6PWNlKFNbUF0pLEc9ei5zcGxpdChhKSxMPTA7TDxHLmxlbmd0aDtMKyspe3ZhciBCPVN0cmluZyhHW0xdfHwiIikudHJpbSgpO2lmKEIpe3ZhciBUPVNlKEIpO2lmKFQpe0EucHVzaCh7a2luZDoidXNlciIsb3JkZXI6eCsrLHRleHQ6VH0pO2NvbnRpbnVlfXZhciBJPXl0KEIpO2lmKEkpe0EucHVzaCh7a2luZDoiYXNzaXN0YW50IixvcmRlcjp4KyssdGV4dDpJfSk7Y29udGludWV9dmFyIFY9ZHQoQik7ViYmQS5wdXNoKHtraW5kOiJlY2hvIixvcmRlcjp4KyssdGV4dDpWfSl9fWZvcih2YXIgcmU9QS5maWx0ZXIoZnVuY3Rpb24oVyxfLFEpe3ZhciBtZT1RW18tMV07cmV0dXJuIW1lfHxtZS5raW5kIT09Vy5raW5kfHxtZS50ZXh0IT09Vy50ZXh0fSksdGU9cmUuZmlsdGVyKGZ1bmN0aW9uKFcpe3JldHVybiBXLmtpbmQ9PT0idXNlciJ9KSwkPXJlLmZpbHRlcihmdW5jdGlvbihXKXtyZXR1cm4gVy5raW5kPT09ImFzc2lzdGFudCJ9KSxpZT1yZS5maWx0ZXIoZnVuY3Rpb24oVyl7cmV0dXJuIFcua2luZD09PSJlY2hvIn0pLFU9X3AoaSksTT1VLnNwbGl0KGEpLm1hcChmdW5jdGlvbihXKXtyZXR1cm4gU3RyaW5nKFd8fCIiKS50cmltRW5kKCl9KSxIPWJ0KE0pLE49dGUubGVuZ3RoP3RlW3RlLmxlbmd0aC0xXTpudWxsLFk9aWUubWFwKGZ1bmN0aW9uKFcpe3JldHVybiBXLnRleHR9KS5maWx0ZXIoZnVuY3Rpb24oVyl7cmV0dXJuIFcubGVuZ3RoPj0zfSksSz1udWxsLFg9WS5sZW5ndGgtMTtYPj0wO1gtLSlpZihZW1hdIT09SCl7Sz1ZW1hdO2JyZWFrfSFLJiZZLmxlbmd0aCYmKEs9WVtZLmxlbmd0aC0xXSk7Zm9yKHZhciBhZT1OP04udGV4dDpLLGxlPSQuZmlsdGVyKGZ1bmN0aW9uKFcpe3JldHVybiFOfHxXLm9yZGVyPk4ub3JkZXJ9KS5tYXAoZnVuY3Rpb24oVyl7cmV0dXJuIFcudGV4dH0pLHVlPVtdLENlPVUubWF0Y2goL15bIFx0XSpb4oCi4pemwrfij7pdWyBcdF0qKC4rKSQvZ20pfHxbXSxGZT0wO0ZlPENlLmxlbmd0aDtGZSsrKXt2YXIgYmU9dXQoQ2VbRmVdLnJlcGxhY2UoL15bIFx0XSpb4oCi4pemwrfij7pdWyBcdF0qLywiIikpO2JlJiYoRS50ZXN0KGJlKXx8Ri50ZXN0KGJlKXx8L1xiKD86T3BlbkFJIENvZGV4fG1vZGVsOnxkaXJlY3Rvcnk6fFRpcDp8ZXNjIHRvIGludGVycnVwdClcYi9pLnRlc3QoYmUpfHx1ZS5wdXNoKGJlKSl9dmFyIE89WGUobGUpfHxYZShabihNKSl8fCh1ZS5sZW5ndGg/dWVbdWUubGVuZ3RoLTFdOm51bGwpO3JldHVybiBhZSYmci5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OmFlfSksTyYmci5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6T30pLCFyLmxlbmd0aCYmTj9yLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6Ti50ZXh0fSk6IXIubGVuZ3RoJiZLJiZyLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6S30pLHJ9Zm9yKHZhciBSPSJcMCIsc2U9IlxiIixCZT0iXHYiLG5lPSJcZiIsZGU9Ig4iLE1lPSIfIixsdD0iXHhBMCIsZ3Q9Ilx4MDciLEdlPW5ldyBSZWdFeHAocysiXFxbWzAtOTs/XSpbYS16QS1aXXwiK3MrIlxcXVteIitndCsiXSooIitndCsifCIrcysiXFxcXFxcXFwpfCIrcysiWz48PWVQX1heXXxbIitSKyItIitzZStCZStuZStkZSsiLSIrTWUrIl18IitsdCsifCIrdSwiZyIpLHJ0PWkucmVwbGFjZShHZSxmdW5jdGlvbihjZSl7cmV0dXJuIGNlPT09bHQ/IiAiOmNlPT09dT9hOiIifSkuc3BsaXQodSkuam9pbihhKSxpdD1ydC5zcGxpdChhKS5tYXAoZnVuY3Rpb24oY2Upe3JldHVybiBjZS50cmltKCl9KS5maWx0ZXIoQm9vbGVhbiksV2U9Wy90aGlua2luZyB3aXRoIGhpZ2ggZWZmb3J0L2ksL3RoaW5raW5nIHdpdGggbWVkaXVtIGVmZm9ydC9pLC90aGlua2luZyB3aXRoIGxvdyBlZmZvcnQvaSxuZXcgUmVnRXhwKCJ0aG91Z2h0IGZvciBbMC05XStzIiwiaSIpLG5ldyBSZWdFeHAoIlNhdXRlZWQgZm9yIFswLTldK20iLCJpIiksL0dlcm1pbmF0aW5nL2ksL0Rvb2RsaW5nL2ksL0JyZXdpbmcvaV0sa3Q9bnVsbCx6ZT0tMSxEZT1bXSxfZT1bXSxmZT1bXSxBZT0wO0FlPGl0Lmxlbmd0aDtBZSsrKXt2YXIgQz1pdFtBZV0sY3Q9Qy5yZXBsYWNlKC9e4p2vXHMqLywiIik7aWYoY3QuaW5kZXhPZignVHJ5IicpPT09MHx8Y3QuaW5kZXhPZignVHJ5ICInKT09PTApe0RlLnB1c2goY3QpO2NvbnRpbnVlfWZvcih2YXIgQXQ9ITEsUWU9MDtRZTxXZS5sZW5ndGg7UWUrKylpZihXZVtRZV0udGVzdChDKSl7QXQ9ITAsZmUucHVzaChDKTticmVha31pZighQXQmJkMmJkMuaW5kZXhPZigiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIikhPT0wJiZDIT09Ilx1Mjc2RiImJkMuaW5kZXhPZigiZXNjIHRvIGludGVycnVwdCIpPT09LTEmJkMuaW5kZXhPZigiQ2xhdWRlIENvZGUgdiIpPT09LTEmJkMuaW5kZXhPZigiU29ubmV0Iik9PT0tMSYmQy5pbmRleE9mKCJ+LyIpIT09MCYmQy5pbmRleE9mKCJcdTI1Q0YgaGlnaCIpPT09LTEmJkMuaW5kZXhPZigiRmFpbGVkIHRvIGluc3RhbGwgQW50aHJvcGljIG1hcmtldHBsYWNlIik9PT0tMSYmQy5pbmRleE9mKCJDbGF1ZGUgQ29kZSBoYXMgc3dpdGNoZWQgZnJvbSBucG0gdG8gbmF0aXZlIGluc3RhbGxlciIpPT09LTEmJkMuaW5kZXhPZigiRmx1dHRlcmluZyIpPT09LTEmJkMuaW5kZXhPZigiPyBmb3Igc2hvcnRjdXRzIik9PT0tMSYmQy5pbmRleE9mKCIwOyIpIT09MCYmQy5pbmRleE9mKCI5OyIpIT09MCYmQy5pbmRleE9mKCJDbGF1ZGUgaXMgd2FpdGluZyIpPT09LTEmJiEoQy5pbmRleE9mKCJcdTI3MjIiKSE9PS0xfHxDLmluZGV4T2YoIlx1MjczMyIpIT09LTF8fEMuaW5kZXhPZigiXHUyNzM2IikhPT0tMXx8Qy5pbmRleE9mKCJcdTI3M0IiKSE9PS0xfHxDLmluZGV4T2YoIlx1MjczRCIpIT09LTEpJiYhKEMuaW5kZXhPZigiXHUyNTkwIik9PT0wfHxDLmluZGV4T2YoIlx1MjU5RCIpPT09MHx8Qy5pbmRleE9mKCJcdTI1OTgiKT09PTApJiYhKChDPT09Imx1Inx8Qz09PSJ1ZSJ8fEM9PT0idHIifHxDPT09InRpInx8Qz09PSJnInx8Qz09PSJuInx8Qz09PSJpXHUyMDI2Inx8Qz09PSJcdTIwMjYifHxDPT09InV0cyJ8fEM9PT0ibHQifHxDPT09InJnInx8Qz09PSJceEI3IikmJkMubGVuZ3RoPDQpJiYhKEMuaW5kZXhPZigiXHUyNzNERiIpPT09MHx8Qy5pbmRleE9mKCJcdTI3M0JGIik9PT0wKSYmQy5pbmRleE9mKCJucG0gV0FSTiIpPT09LTEmJkMuaW5kZXhPZigibnBtIG5vdGljZSIpPT09LTEmJiEoQy5pbmRleE9mKCJhZGRlZCAiKSE9PS0xJiZDLmluZGV4T2YoIiBwYWNrYWdlcyIpIT09LTEpJiZDLmluZGV4T2YoImF1ZGl0ZWQgIik9PT0tMSYmIShDLmluZGV4T2YoImZvdW5kICIpIT09LTEmJkMuaW5kZXhPZigiIHZ1bG5lcmFiaWxpdGllcyIpIT09LTEpJiYhKEMuaW5kZXhPZigiVXNpbmcgIikhPT0tMSYmQy5pbmRleE9mKCIgZm9yICIpIT09LTEmJkMuaW5kZXhPZigic2Vzc2lvbiIpIT09LTEpJiZDLmluZGV4T2YoIllvdSBjYW4gdXNlIik9PT0tMSYmIShDLmluZGV4T2YoIlByZXNzICIpIT09LTEmJkMuaW5kZXhPZigiIGZvciIpIT09LTEpJiYhKEMuaW5kZXhPZigidHlwZSAiKT09PTAmJkMuaW5kZXhPZigiIHRvICIpIT09LTEpJiZDLmluZGV4T2YoIlt3YW5kXSIpIT09MCYmQy5pbmRleE9mKCJDYXB0dXJlZCBDbGF1ZGUgc2Vzc2lvbiBJRCIpPT09LTEmJkMuaW5kZXhPZigiXHUyM0Y1Iik9PT0tMSYmQy5pbmRleE9mKCJhY2NlcHRlZGl0Iik9PT0tMSYmQy5pbmRleE9mKCJzaGlmdCt0YWIiKT09PS0xJiZDLmluZGV4T2YoInRhYnRvY3ljbGUiKT09PS0xJiZDLmluZGV4T2YoImN0cmwrZyIpPT09LTEmJkMuaW5kZXhPZigiL2VmZm9ydCIpPT09LTEmJiEoQy5pbmRleE9mKCJPcHVzIikhPT0tMSYmQy5pbmRleE9mKCJtb2RlbCIpIT09LTEpJiZDLmluZGV4T2YoIkhhaWt1Iik9PT0tMSYmQy5pbmRleE9mKCJ0byBjeWNsZSIpPT09LTEmJiEoQy5pbmRleE9mKCJoaWdoIFx4QjciKSE9PS0xfHxDLmluZGV4T2YoImhpZ2hceEI3IikhPT0tMSkmJiEoQy5pbmRleE9mKCJtZWRpdW0gXHhCNyIpIT09LTF8fEMuaW5kZXhPZigibWVkaXVtXHhCNyIpIT09LTEpJiYhKEMuaW5kZXhPZigibG93IFx4QjciKSE9PS0xfHxDLmluZGV4T2YoImxvd1x4QjciKSE9PS0xKSl7aWYoQy5pbmRleE9mKCJcdTI1Q0YiKT09PTApe2lmKEM9Qy5zbGljZSgxKS50cmltKCksIUMpY29udGludWU7X2UucHVzaChDKTtjb250aW51ZX1DLmxlbmd0aDwzJiYhL15bYS16QS1aXXszfSQvLnRlc3QoQyl8fF9lLnB1c2goQyl9fWlmKGZlLmxlbmd0aD4wKXt2YXIgJGU9ZmVbZmUubGVuZ3RoLTFdLHh0PSRlLm1hdGNoKG5ldyBSZWdFeHAoImZvciAoWzAtOV0rW21zXSt8IFswLTldK20gWzAtOV0rcykiLCJpIikpLFh0PXh0PyJcdTZERjFcdTVFQTZcdTYwMURcdTgwMDMgIit4dFswXS5yZXBsYWNlKC9mb3IgL2ksIiIpOiJcdTZERjFcdTVFQTZcdTYwMURcdTgwMDNcdTRFMkQuLi4iO3IucHVzaCh7cm9sZToidGhpbmtpbmciLGNvbnRlbnQ6WHQsdHlwZToiZGVlcC10aG91Z2h0In0pfWlmKERlLmxlbmd0aD4wKXt2YXIgYXQ9RGVbRGUubGVuZ3RoLTFdLnJlcGxhY2UoL15UcnlccyovLCIiKS50cmltKCk7ci5wdXNoKHtyb2xlOiJwcm9tcHQiLGNvbnRlbnQ6YXQsdHlwZToic3VnZ2VzdGlvbiJ9KX1pZighX2UubGVuZ3RoKXJldHVybiByO2Zvcih2YXIgcWU9W10sT2U9bnVsbCx3ZT1bXSxBZT0wO0FlPF9lLmxlbmd0aDtBZSsrKWlmKEM9X2VbQWVdLEMuaW5kZXhPZigiXHUyNzZGIik9PT0wKXt2YXIgVmU9Qy5yZXBsYWNlKC9e4p2vXHMqLywiIikudHJpbSgpO2lmKFZlLmluZGV4T2YoJ1RyeSInKT09PTB8fFZlLmluZGV4T2YoJ1RyeSAiJyk9PT0wKWNvbnRpbnVlO09lIT09bnVsbCYmd2UubGVuZ3RoPjAmJihxZS5wdXNoKHt1c2VyOk9lLGFzc2lzdGFudExpbmVzOndlfSksd2U9W10pLFZlP09lPVZlOihPZSE9PW51bGwmJndlLmxlbmd0aD4wJiYocWUucHVzaCh7dXNlcjpPZSxhc3Npc3RhbnRMaW5lczp3ZX0pLHdlPVtdKSxPZT1udWxsKX1lbHNlIE9lIT09bnVsbCYmKEMuaW5kZXhPZigiXHUyM0ZBIikhPT0tMSYmKEMuaW5kZXhPZigiSGkhIikhPT0tMXx8Qy5pbmRleE9mKCJIZWxsbyIpIT09LTF8fEMuaW5kZXhPZigiV2hhdCIpIT09LTF8fEMuaW5kZXhPZigid29ya2luZyIpIT09LTEpP3dlLnB1c2goQyk6Qy5pbmRleE9mKCJcdTIzRkEiKT09PTA/d2UucHVzaChDLnNsaWNlKDEpLnRyaW0oKXx8Qyk6Qy5sZW5ndGg+PTgmJkMuaW5kZXhPZigiXHUyNzIyIik9PT0tMSYmQy5pbmRleE9mKCJcdTI3MzMiKT09PS0xJiZDLmluZGV4T2YoIlx1MjczNiIpPT09LTEmJkMuaW5kZXhPZigiXHUyNzNCIik9PT0tMSYmQy5pbmRleE9mKCJcdTI3M0QiKT09PS0xJiZDLmluZGV4T2YoIlx1MjU5MCIpIT09MCYmQy5pbmRleE9mKCJcdTI1OUQiKSE9PTAmJkMuaW5kZXhPZigiXHUyNTk4IikhPT0wJiZDLmluZGV4T2YoImVzY3RvaW50ZXJydXB0Iik9PT0tMSYmQy5pbmRleE9mKCI/Zm9yIikhPT0wJiZDLmluZGV4T2YoIj8gZm9yIikhPT0wJiZ3ZS5wdXNoKEMpKTtpZihPZSE9PW51bGwmJndlLmxlbmd0aD4wJiZxZS5wdXNoKHt1c2VyOk9lLGFzc2lzdGFudExpbmVzOndlfSkscWUubGVuZ3RoPT09MCl7Zm9yKHZhciBTdD0iIixodD0tMSxBZT0wO0FlPF9lLmxlbmd0aDtBZSsrKWlmKEM9X2VbQWVdLCEoQy5pbmRleE9mKCdUcnkiJyk9PT0wfHxDLmluZGV4T2YoJ1RyeSAiJyk9PT0wKSYmQy5pbmRleE9mKCJGYWlsZWQgdG8gaW5zdGFsbCIpPT09LTEmJkMuaW5kZXhPZigiY3RybCtnIik9PT0tMSYmQy5pbmRleE9mKCJcdTI1Q0YgIikhPT0wJiYhKEMubGVuZ3RoPDJ8fEMubGVuZ3RoPjEwMCkmJi9eW2EtekEtWl0vLnRlc3QoQykpe1N0PUMudHJpbSgpLGh0PUFlO2JyZWFrfWlmKFN0JiZodD49MCl7dmFyIGduPV9lLnNsaWNlKGh0KzEpLmZpbHRlcihmdW5jdGlvbihjZSl7cmV0dXJuIGNlLmxlbmd0aD49OH0pO2duLmxlbmd0aD4wJiZxZS5wdXNoKHt1c2VyOlN0LGFzc2lzdGFudExpbmVzOmdufSl9fWZvcih2YXIgSXQ9MDtJdDxxZS5sZW5ndGg7SXQrKylpZihyLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6cWVbSXRdLnVzZXJ9KSxxZVtJdF0uYXNzaXN0YW50TGluZXMubGVuZ3RoPjApe3ZhciBTbj1zdihxZVtJdF0uYXNzaXN0YW50TGluZXMuam9pbihhKSk7ci5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6U259KX1yZXR1cm4gcn12YXIgcG89InRyYW5zcGFyZW50IjtmdW5jdGlvbiBwaShlLHQpe2Zvcih2YXIgcj10fHwzLGk9ZVswXS5sZW5ndGgqcixhPWUubGVuZ3RoKnIsdT0iIixzPTA7czxlLmxlbmd0aDtzKyspZm9yKHZhciBvPTA7bzxlW3NdLmxlbmd0aDtvKyspZVtzXVtvXSE9PXBvJiYodSs9JzxyZWN0IHg9IicrbypyKyciIHk9IicrcypyKyciIHdpZHRoPSInK3IrJyIgaGVpZ2h0PSInK3IrJyIgZmlsbD0iJytlW3NdW29dKyciLz4nKTtyZXR1cm4nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAnK2krIiAiK2ErJyIgY2xhc3M9InBpeGVsLWF2YXRhci1zdmciPicrdSsiPC9zdmc+In1mdW5jdGlvbiB2aShlKXt2YXIgdD1wbyxyPWUuYmFzZSxpPWUuZGFyayxhPWUubGlnaHR8fGUuYmFzZSx1PWUuYWNjZW50fHwiI0ZGRkZGRiIscz1lLmV5ZXx8IiMyRDJEMkQiLG89ZS5tb3V0aHx8IiNGMjhCOUEiLGw9ZS5ub3NlfHxlLmRhcms7cmV0dXJuW1t0LGksdCx0LHQsdCx0LHQsaSx0XSxbaSxyLGksdCx0LHQsdCxpLHIsaV0sW2kscixyLHIscixyLHIscixyLGldLFtyLHIsdSxzLHIscix1LHMscixyXSxbcixyLHUsdSxyLHIsdSx1LHIscl0sW3IscixyLHIsbyxvLHIscixyLHJdLFtyLGwscixhLHIscixhLHIsbCxyXSxbdCxyLHIscixyLHIscixyLHIsdF0sW3QsdCxyLGkscixyLGkscix0LHRdLFt0LHQsdCxyLHQsdCxyLHQsdCx0XV19dmFyIE5wPXtiYXNlOiIjRjA5MjNBIixkYXJrOiIjQzQ2QTFBIixsaWdodDoiI0YwOTIzQSIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRjI4QjlBIixub3NlOiIjRTg3RDVBIn0sUnA9e2Jhc2U6IiM5RUFBQjgiLGRhcms6IiM2QjdCOEQiLGxpZ2h0OiIjQzVDRUQ4IixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzdFQzg4QiIsbW91dGg6IiNGMjhCOUEifSx2bz1be2Jhc2U6IiM1QThGRTAiLGRhcms6IiMyRTVCQjMiLGxpZ2h0OiIjOUNDMEYyIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiI0ZGRDY2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM1QThGRTAifSx7YmFzZToiI0EwNkZFMCIsZGFyazoiIzZCNDVBOCIsbGlnaHQ6IiNDOEE0RjIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZFMzZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiI0EwNkZFMCJ9LHtiYXNlOiIjN0JCNzZCIixkYXJrOiIjNEY4QTQwIixsaWdodDoiI0E5RDQ5QyIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjN0JCNzZCIn0se2Jhc2U6IiNEODZBODgiLGRhcms6IiM5QzNBNTciLGxpZ2h0OiIjRThBNEI1IixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGRkZGRkYiLHByaW1hcnk6IiNEODZBODgifSx7YmFzZToiIzVCQjdCMCIsZGFyazoiIzJFNzg3MyIsbGlnaHQ6IiM5Q0Q2RDIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZENjZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzVCQjdCMCJ9LHtiYXNlOiIjNEE0QTYwIixkYXJrOiIjMUYxRjJFIixsaWdodDoiIzZFNkU4NCIsYWNjZW50OiIjRjVGNUY1IixleWU6IiNGRkQ2NkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjNEE0QTYwIn0se2Jhc2U6IiNEOEE4NUEiLGRhcms6IiM5QzcwMjgiLGxpZ2h0OiIjRUJDNzhBIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiNEOEE4NUEifV07ZnVuY3Rpb24gV3AoZSx0KXtmb3IodmFyIHI9U3RyaW5nKGV8fCIiKSxpPTAsYT0wO2E8ci5sZW5ndGg7YSsrKWk9KGk8PDUpLWkrci5jaGFyQ29kZUF0KGEpfDA7cmV0dXJuIE1hdGguYWJzKGkpJXR9dmFyIG1vPXsiZ2VuZXJhbC1wdXJwb3NlIjoiXHU0RTA3XHU4MEZEXHU3MzJCIixFeHBsb3JlOiJcdTRGQTZcdTYzQTJcdTczMkIiLCJjb2RlLWV4cGxvcmVyIjoiXHU0RkE2XHU2M0EyXHU3MzJCIiwiY29kZS1yZXZpZXdlciI6Ilx1NUJBMVx1NjdFNVx1NzMyQiIsImNvZGUtYXJjaGl0ZWN0IjoiXHU2N0I2XHU2Nzg0XHU3MzJCIiwiY29kZS1zaW1wbGlmaWVyIjoiXHU3QjgwXHU1MzE2XHU3MzJCIiwiY29kZS1ndWlkZSI6Ilx1NTQxMVx1NUJGQ1x1NzMyQiIsUGxhbjoiXHU3QjU2XHU1MjEyXHU3MzJCIiwiZmVhdHVyZS1kZXYiOiJcdTVGMDBcdTUzRDFcdTczMkIiLCJwci10ZXN0LWFuYWx5emVyIjoiXHU2RDRCXHU4QkQ1XHU3MzJCIiwic2lsZW50LWZhaWx1cmUtaHVudGVyIjoiXHU2MkE0XHU1MzZCXHU3MzJCIiwidHlwZS1kZXNpZ24tYW5hbHl6ZXIiOiJcdTdDN0JcdTU3OEJcdTczMkIiLCJjb21tZW50LWFuYWx5emVyIjoiXHU2Q0U4XHU5MUNBXHU3MzJCIn0sSWE9bnVsbDtmdW5jdGlvbiBnbyhlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1lLmFnZW50VHlwZXx8IiI7aWYodCYmbW9bdF0pcmV0dXJuIG1vW3RdO2lmKHQpcmV0dXJuIHQ7dmFyIHI9KGUudGFza0lkfHwiIikuc2xpY2UoLTQpfHwoYXUoKT09PSJFbmdsaXNoIj8iPyI6Ilx1NjcyQVx1NzdFNSIpO3JldHVybiBVZSgic3ViYWdlbnQuaGVscGVyX2ZhbGxiYWNrX3ByZWZpeCIpK3J9ZnVuY3Rpb24gaG8oZSl7dmFyIHQ9Z28oZSk7aWYoIXQpcmV0dXJuIHQ7dmFyIHI9SWEmJmUmJmUudGFza0lkP0lhLmdldChlLnRhc2tJZCk6bnVsbDtyZXR1cm4gcj90K3I6dH1mdW5jdGlvbiB5byhlKXt2YXIgdD1lJiYoZS5hZ2VudFR5cGV8fGUudGFza0lkKXx8InN1YmFnZW50IjtyZXR1cm4gdm9bV3AodCx2by5sZW5ndGgpXX1mdW5jdGlvbiBabShlKXt2YXIgdD15byhlKSxyPWhvKGUpLGk9cGkodmkodCkpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYXZhdGFyIGFzc2lzdGFudCBzdWJhZ2VudCIgc3R5bGU9Ii0tYWdlbnQtY29sb3I6Jyt0LnByaW1hcnkrJyI+PGRpdiBjbGFzcz0icGl4ZWwtYXZhdGFyIj4nK2krJzwvZGl2PjxzcGFuIGNsYXNzPSJhdmF0YXItbmFtZSI+JytwKHIpKyI8L3NwYW4+PC9kaXY+In1mdW5jdGlvbiB6cChlLHQpe2lmKCFlfHxlLnR5cGUhPT0idG9vbF9yZXN1bHQiKXJldHVybiIiO3ZhciByPWxuKGUuY29udGVudCksaT1lLmlzX2Vycm9yPT09ITAsYT10eXBlb2Ygcj09InN0cmluZyI/cjpyPT1udWxsPyIiOlN0cmluZyhyKTtpZighaSYmIWEudHJpbSgpKXJldHVybic8ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseSBwZW5kaW5nIj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyIHBlbmRpbmciPicrcChVZSgic3ViYWdlbnQucnVubmluZyIpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eXBpbmctaW5kaWNhdG9yIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+Jzt2YXIgdT1hLnRyaW0oKT9hOlVlKCJzdWJhZ2VudC5ub19vdXRwdXQiKSxzPWEudHJpbSgpP1BhKHUpOnAodSksbz1VZShpPyJzdWJhZ2VudC50YXNrLmZhaWxlZCI6InN1YmFnZW50LnRhc2suZG9uZSIpLGw9aT8iXHUyNzE3IjoiXHUyNzEzIjtyZXR1cm4nPGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHkgZmluYWwnKyhpPyIgZXJyb3IiOiIiKSsnIj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXIgJysoaT8iZXJyb3IiOiJkb25lIikrJyI+PHNwYW4gY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlci1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytsKyc8L3NwYW4+PHNwYW4gY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlci1sYWJlbCI+JytwKG8pKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktY29udGVudCI+JytzKyI8L2Rpdj48L2Rpdj4ifXZhciBtaT17YXNzaXN0YW50OnBpKHZpKE5wKSksdXNlcjpwaSh2aShScCkpfSxibz17dXNlcjp7bmFtZToiXHU4RDVCXHU1MzVBXHU4NjRFXHU1OTlFIixhdmF0YXJTdmc6bWkudXNlcn0sYXNzaXN0YW50OntuYW1lOiJcdTUyRTRcdTUyQjNcdTUyMURcdTRFOEMiLGF2YXRhclN2ZzptaS5hc3Npc3RhbnR9fTtmdW5jdGlvbiBUYShlKXt2YXIgdD1uLmNvbmZpZyYmbi5jb25maWcuc3RydWN0dXJlZENoYXRQZXJzb25hLHI9dCYmdFtlXT90W2VdOm51bGwsaT1ib1tlXXx8Ym8uYXNzaXN0YW50O3JldHVybntuYW1lOnImJnR5cGVvZiByLm5hbWU9PSJzdHJpbmciJiZyLm5hbWUudHJpbSgpP3IubmFtZS50cmltKCk6aS5uYW1lLGF2YXRhcjpyJiZ0eXBlb2Ygci5hdmF0YXI9PSJzdHJpbmciJiZyLmF2YXRhci50cmltKCk/ci5hdmF0YXIudHJpbSgpOm51bGwsYXZhdGFyU3ZnOmkuYXZhdGFyU3ZnfX1mdW5jdGlvbiBFbyhlKXtyZXR1cm4nPGRpdiBjbGFzcz0icGl4ZWwtYXZhdGFyIj4nK2UrIjwvZGl2PiJ9ZnVuY3Rpb24gZWcoZSx0KXtpZighKCFlfHwhZS5wYXJlbnROb2RlKSl7dmFyIHI9VGEodD09PSJ1c2VyIj8idXNlciI6ImFzc2lzdGFudCIpO2Uub3V0ZXJIVE1MPUVvKHIuYXZhdGFyU3ZnKX19ZnVuY3Rpb24gS24oZSx0KXt0PXR8fHt9O3ZhciByPWU9PT0idXNlciI/InVzZXIiOiJhc3Npc3RhbnQiLGk9VGEociksYT1pLmF2YXRhcj8nPGltZyBjbGFzcz0icGl4ZWwtYXZhdGFyLWltYWdlIiBzcmM9IicrcChpLmF2YXRhcikrJyIgYWx0PSInK3AoaS5uYW1lKSsnIiBvbmVycm9yPSJoYW5kbGVDaGF0QXZhdGFySW1hZ2VFcnJvcih0aGlzLCAnK0pTT04uc3RyaW5naWZ5KHIpKycpIiAvPic6RW8oaS5hdmF0YXJTdmcpLHU9dC5sZWZ0U2xvdD90LmxlZnRTbG90OiIiO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYXZhdGFyICcrZSsnIj4nK2ErJzxzcGFuIGNsYXNzPSJhdmF0YXItbmFtZSI+JytwKGkubmFtZSkrIjwvc3Bhbj4iK3UrIjwvZGl2PiJ9ZnVuY3Rpb24gVnAoKXt2YXIgZT1IdCgpO3JldHVybiFlfHwhb2UoZSk/IiI6UmEoZSx7a2luZDoiY29tcGFjdCJ9KX1mdW5jdGlvbiBMYShlLHQscixpKXtpZihlLnJvbGU9PT0idGhpbmtpbmciKXt2YXIgYT10eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIj9lLmNvbnRlbnQ6IiI7aWYoIWEudHJpbSgpKXJldHVybiIiO3ZhciB1PUt0KCJ0aGlua2luZyIsW2Z1KGUsciksInB0eSJdKSxzPVplKHUpLG89cz09PW51bGw/Qm4oInRoaW5raW5nIik6cztyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHRoaW5raW5nIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctcHR5ICcrKG8/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKHUpKyciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChhKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyhvPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PjwvZGl2PiJ9aWYoZS5yb2xlPT09InByb21wdCIpcmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBwcm9tcHQiPjxkaXYgY2xhc3M9InByb21wdC1jYXJkIj48ZGl2IGNsYXNzPSJwcm9tcHQtaWNvbiI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icHJvbXB0LWNvbnRlbnQiPlx1OEJENVx1OEJENVx1RkYxQTxzcGFuIGNsYXNzPSJwcm9tcHQtdGV4dCI+JytwKGUuY29udGVudCkrIjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj4iO2lmKEFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gZXYoZSx0LHIsaSk7dmFyIGw9S24oZS5yb2xlKSxjPWUucm9sZT09PSJhc3Npc3RhbnQiP1BhKGUuY29udGVudCk6cChlLmNvbnRlbnQpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJytlLnJvbGUrJyI+JytsKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYnViYmxlIj4nK2MrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gVXAoZSl7dmFyIHQ9e307aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWVbcl07aWYoaSYmaS50eXBlPT09InRvb2xfcmVzdWx0Iil7dmFyIGE9aS50b29sX3VzZV9pZDtpZighYSljb250aW51ZTt0W2FdfHwodFthXT1bXSksdFthXS5wdXNoKGkpfX1yZXR1cm4gdH1mdW5jdGlvbiBGbyhlLHQpe3ZhciByPWUmJnQ/ZVt0XTpudWxsO2lmKCFyfHwhci5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKHZhciBpPTA7aTxyLmxlbmd0aC0xO2krKylpZihxbyhyW2ldLHJbaSsxXSkpcmV0dXJuIHJbaSsxXTtyZXR1cm4gcltyLmxlbmd0aC0xXX1mdW5jdGlvbiBLcChlLHQpe3ZhciByPWUmJnQ/ZVt0XTpudWxsO2lmKCFyfHxyLmxlbmd0aDwyKXJldHVybiExO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGgtMTtpKyspaWYocW8ocltpXSxyW2krMV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEpwKGUpe3JldHVybic8ZGl2IGNsYXNzPSJzdHJ1Y3R1cmVkLXRvb2wtaGludCI+XHU1REYyXHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU0RTAwXHU2QjIxICcrcChPYShlKSkrIiBcdTUzQzJcdTY1NzBcdTk1RUVcdTk4OTg8L2Rpdj4ifXZhciB3bz17UmVhZDoxLEdsb2I6MSxHcmVwOjEsV2ViRmV0Y2g6MSxXZWJTZWFyY2g6MSxUb2RvUmVhZDoxfTtmdW5jdGlvbiBZcChlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7KXt2YXIgaT1lW3JdO2lmKGkudHlwZT09PSJ0b29sX3Jlc3VsdCIpe3IrKztjb250aW51ZX1pZihpLnR5cGU9PT0idG9vbF91c2UiJiZ3b1tpLm5hbWVdKXtmb3IodmFyIGE9W3tibG9jazppLGluZGV4OnJ9XSx1PXIrMTt1PGUubGVuZ3RoOyl7aWYoZVt1XS50eXBlPT09InRvb2xfcmVzdWx0Iil7dSsrO2NvbnRpbnVlfWlmKGVbdV0udHlwZT09PSJ0b29sX3VzZSImJndvW2VbdV0ubmFtZV0pYS5wdXNoKHtibG9jazplW3VdLGluZGV4OnV9KSx1Kys7ZWxzZSBicmVha31hLmxlbmd0aD49Mj90LnB1c2goe3R5cGU6Imdyb3VwIixpdGVtczphLGVuZEluZGV4OnV9KTp0LnB1c2goe3R5cGU6InNpbmdsZSIsYmxvY2s6aSxpbmRleDpyfSkscj11fWVsc2UgdC5wdXNoKHt0eXBlOiJzaW5nbGUiLGJsb2NrOmksaW5kZXg6cn0pLHIrK31yZXR1cm4gdH12YXIgR3A9e1JlYWQ6Ilx1OEJGQlx1NTNENiIsR2xvYjoiXHU2NDFDXHU3RDIyIixHcmVwOiJcdTY0MUNcdTdEMjIiLFdlYkZldGNoOiJcdTYyOTNcdTUzRDYiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyIixUb2RvUmVhZDoiXHU1Rjg1XHU1MjlFIn07ZnVuY3Rpb24gUXAoZSx0LHIsaSl7Zm9yKHZhciBhPXt9LHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIHM9ZVt1XS5ibG9jay5uYW1lO2Fbc109KGFbc118fDApKzF9Zm9yKHZhciBvPSEwLGw9ITEsdT0wO3U8ZS5sZW5ndGg7dSsrKXt2YXIgYz1lW3VdLmJsb2NrLGQ9Rm8ocixjLmlkKTtkP2QuaXNfZXJyb3ImJihsPSEwKTpvPSExfXZhciBmPW8/bD8iXHUyNzE3IjoiXHUyNzEzIjoiXHUyMDI2Iix2PW8/bD8iZXJyb3IiOiJkb25lIjoicGVuZGluZyIsbT1bXTtmb3IodmFyIGIgaW4gYSltLnB1c2goYVtiXSsiICIrKEdwW2JdfHxiKSk7Zm9yKHZhciBnPW0uam9pbigiIFx4QjcgIikseT1LdCgidG9vbC1ncm91cCIsW2ksZVswXSYmZVswXS5pbmRleCxlLmxlbmd0aF0pLHc9WmUoeSksRj13PT09bnVsbD9CbigidG9vbEdyb3VwIik6dyxFPSIiLHU9MDt1PGUubGVuZ3RoO3UrKyl0cnl7RSs9RG8oZVt1XS5ibG9jayx0LHIsZVt1XS5pbmRleCxpKX1jYXRjaHtFKz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTVERTVcdTUxNzdcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybic8ZGl2IGNsYXNzPSJ0b29sLWdyb3VwIiBkYXRhLWV4cGFuZC1raW5kPSJ0b29sLWdyb3VwIiBkYXRhLWV4cGFuZC1rZXk9IicrcCh5KSsnIiBkYXRhLWV4cGFuZGVkPSInKyhGPyJ0cnVlIjoiZmFsc2UiKSsnIiBkYXRhLXN0YXR1cz0iJyt2KyciPjxkaXYgY2xhc3M9InRvb2wtZ3JvdXAtc3VtbWFyeSIgb25jbGljaz0iX190b29sR3JvdXBUb2dnbGUodGhpcy5wYXJlbnROb2RlKSI+PHNwYW4gY2xhc3M9InRvb2wtZ3JvdXAtc3RhdHVzIj4nK2YrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC10ZXh0Ij4nK3AoZykrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC1jb3VudCI+JytlLmxlbmd0aCsnIFx1NEUyQVx1OEMwM1x1NzUyODwvc3Bhbj48c3ZnIGNsYXNzPSJ0b29sLWdyb3VwLWNoZXZyb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0eWxlPSJ0cmFuc2Zvcm06JysoRj8icm90YXRlKDE4MGRlZykiOiIiKSsnIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9InRvb2wtZ3JvdXAtYm9keSIgc3R5bGU9ImRpc3BsYXk6JysoRj8iYmxvY2siOiJub25lIikrJzsiPicrRSsiPC9kaXY+PC9kaXY+In13aW5kb3cuX190b29sR3JvdXBUb2dnbGU9ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKT09PSJ0cnVlIjtlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsdD8iZmFsc2UiOiJ0cnVlIik7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1ib2R5Iik7ciYmKHIuc3R5bGUuZGlzcGxheT10PyJub25lIjoiYmxvY2siKTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWNoZXZyb24iKTtpJiYoaS5zdHlsZS50cmFuc2Zvcm09dD8iIjoicm90YXRlKDE4MGRlZykiKSxibihlLCJ0b29sLWdyb3VwIil9fTtmdW5jdGlvbiBNYShlKXtpZighZXx8ZS50eXBlIT09InRvb2xfdXNlIilyZXR1cm4gbnVsbDt2YXIgdD1lLmlucHV0fHx7fSxyPXR5cGVvZiB0LnN1YmFnZW50X3R5cGU9PSJzdHJpbmciP3Quc3ViYWdlbnRfdHlwZTpudWxsO3JldHVybiFyJiZlLm5hbWUhPT0iVGFzayImJmUubmFtZSE9PSJBZ2VudCI/bnVsbDp7dGFza0lkOmUuaWQsYWdlbnRUeXBlOnJ8fHZvaWQgMCx0YXNrRGVzY3JpcHRpb246dHlwZW9mIHQuZGVzY3JpcHRpb249PSJzdHJpbmciP3QuZGVzY3JpcHRpb246dm9pZCAwfX1mdW5jdGlvbiAkcChlKXt2YXIgdD1uZXcgTWFwO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgaT1lW3JdO2lmKCEoIWl8fGkucm9sZSE9PSJhc3Npc3RhbnQifHwhQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpKSlmb3IodmFyIGE9MDthPGkuY29udGVudC5sZW5ndGg7YSsrKXt2YXIgdT1pLmNvbnRlbnRbYV07aWYoISghdXx8dS50eXBlIT09InRvb2xfdXNlIikpe3ZhciBzPXUuX19zdWJhZ2VudHx8TWEodSk7cyYmdC5zZXQodS5pZCxzKX19fXJldHVybiB0fWZ1bmN0aW9uIFhwKGUpe3ZhciB0PW5ldyBNYXA7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7dmFyIHI9bmV3IE1hcCxpPW5ldyBTZXQ7ZnVuY3Rpb24gYShkKXtpZighKCFkfHwhZC50YXNrSWQpJiYhaS5oYXMoZC50YXNrSWQpKXtpLmFkZChkLnRhc2tJZCk7dmFyIGY9Z28oZCk7ZiYmKHIuaGFzKGYpfHxyLnNldChmLFtdKSxyLmdldChmKS5wdXNoKGQudGFza0lkKSl9fWZvcih2YXIgdT0wO3U8ZS5sZW5ndGg7dSsrKXt2YXIgcz1lW3VdO2lmKCEoIXN8fCFBcnJheS5pc0FycmF5KHMuY29udGVudCkpKWZvcih2YXIgbz0wO288cy5jb250ZW50Lmxlbmd0aDtvKyspe3ZhciBsPXMuY29udGVudFtvXTtpZihsKXt2YXIgYz1sLl9fc3ViYWdlbnR8fChsLnR5cGU9PT0idG9vbF91c2UiP01hKGwpOm51bGwpO2MmJmEoYyl9fX1yZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGQpe2lmKCEoZC5sZW5ndGg8MikpZm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspdC5zZXQoZFtmXSwiICMiKyhmKzEpKX0pLHR9ZnVuY3Rpb24gQ28oZSx0KXt2YXIgcj1bXTtpZighQXJyYXkuaXNBcnJheShlKXx8IWUubGVuZ3RoKXJldHVybiByO2Zvcih2YXIgaT1udWxsLGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIHU9ZVthXSxzPXUmJnUudHlwZT09PSJ0ZXh0IiYmdS5fX3Byb2Nlc3Npbmc9PT0hMDtpZihzJiZpKXtpLmJsb2Nrcy5wdXNoKHUpO2NvbnRpbnVlfXZhciBvPXUmJnUuX19zdWJhZ2VudD91Ll9fc3ViYWdlbnQ6bnVsbDtvfHwobz1NYSh1KSksIW8mJnUmJnUudHlwZT09PSJ0b29sX3Jlc3VsdCImJnQmJnQuaGFzKHUudG9vbF91c2VfaWQpJiYobz10LmdldCh1LnRvb2xfdXNlX2lkKSk7dmFyIGw9bz9vLnRhc2tJZDpudWxsOyghaXx8aS5rZXkhPT1sKSYmKGk9e2tleTpsLHN1YmFnZW50Om8sYmxvY2tzOltdLGZpcnN0SW5kZXg6YX0sci5wdXNoKGkpKSxpLmJsb2Nrcy5wdXNoKHUpfXJldHVybiByfWZ1bmN0aW9uIHFhKGUsdCxyLGksYSl7dmFyIHU9IiI7dHJ5e2Zvcih2YXIgcz1ZcChlKSxvPTA7bzxzLmxlbmd0aDtvKyspe3ZhciBsPXNbb107dHJ5e2lmKGwudHlwZT09PSJncm91cCIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxsLml0ZW1zLmxlbmd0aDtkKyspYy5wdXNoKHtibG9jazpsLml0ZW1zW2RdLmJsb2NrLGluZGV4OmwuaXRlbXNbZF0uaW5kZXgrdH0pO3UrPVFwKGMscixpLGEpfWVsc2UgdSs9RG8obC5ibG9jayxyLGksbC5pbmRleCt0LGEpfWNhdGNoe3UrPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NkQ4OFx1NjA2Rlx1NTc1N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9fX1jYXRjaHt1Kz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTZEODhcdTYwNkZcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybiB1fWZ1bmN0aW9uIEJvKGUsdCxyLGksYSx1KXtmb3IodmFyIHM9dXx8e30sbz1zLnNob3dIYW5kb2ZmIT09ITEsbD0iIixjPW51bGwsZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1lW2RdLHY9cWEoZi5ibG9ja3MsZi5maXJzdEluZGV4LHQsaSxhKTtpZighKCF2fHwhdi50cmltKCkpKWlmKGYuc3ViYWdlbnQpe3ZhciBtPW8mJmMhPT1mLnN1YmFnZW50LnRhc2tJZDtsKz1acChmLHIsdixhLG0pLGM9Zi5zdWJhZ2VudC50YXNrSWR9ZWxzZSBsKz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLXNlZ21lbnQgcGFyZW50Ij4nK0tuKHQpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+Jyt2KyI8L2Rpdj48L2Rpdj4iLGM9bnVsbH1yZXR1cm4gbH1mdW5jdGlvbiBacChlLHQscixpLGEpe3ZhciB1PWUuc3ViYWdlbnQscz15byh1KSxvPWhvKHUpLGw9dS50YXNrSWR8fCIiLGM9cGkodmkocykpLGQ7aWYoYSl7dmFyIGY9JzxzdHJvbmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLW5hbWUiPicrcChvKSsnPC9zdHJvbmc+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhZyIgdGl0bGU9IicrcChVZSgic3ViYWdlbnQudGFnX3RpdGxlIikpKyciPicrcChVZSgic3ViYWdlbnQudGFnIikpKyI8L3NwYW4+Iix2PSEhKHUudGFza0Rlc2NyaXB0aW9uJiZTdHJpbmcodS50YXNrRGVzY3JpcHRpb24pLnRyaW0oKSksbT12P1VlKCJzdWJhZ2VudC5oYW5kb2ZmLndpdGhfZGVzYyIse3BhcmVudDpwKHQpLHN1YjpmfSk6VWUoInN1YmFnZW50LmhhbmRvZmYiLHtwYXJlbnQ6cCh0KSxzdWI6Zn0pLGI9dj8nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhc2stZGVzYyI+JytwKHUudGFza0Rlc2NyaXB0aW9uKSsiPC9zcGFuPiI6IiI7ZD0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWFycm93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHUyMUIzPC9zcGFuPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1hdHRyaWJ1dGlvbiI+JyttK2IrIjwvc3Bhbj4ifWVsc2UgZD0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9uIj48c3Ryb25nIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1uYW1lIj4nK3AobykrJzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YXNrLWRlc2MiPiAnK3AoVWUoInN1YmFnZW50LmNvbnRpbnVlZCIpKSsiPC9zcGFuPjwvc3Bhbj4iO3ZhciBnPUt0KCJzdWJhZ2VudC1wYW5lbCIsW2ksbF0pLHk9WmUoZyksdz15PT09bnVsbD8hMTohIXk7ZnVuY3Rpb24gRihFKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10b2dnbGUiIGRhdGEtcG9zaXRpb249IicrRSsnIiBvbmNsaWNrPSJfX3N1YmFnZW50UGFuZWxUb2dnbGUoZXZlbnQsIHRoaXMpIiBhcmlhLWV4cGFuZGVkPSInKyh3PyJ0cnVlIjoiZmFsc2UiKSsnIiBhcmlhLWxhYmVsPSInK3AoVWUodz8idWkuY29sbGFwc2VfcGFuZWxfYXJpYSI6InVpLmV4cGFuZF9wYW5lbF9hcmlhIikpKyciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10b2dnbGUtbGFiZWwiPicrcChVZSh3PyJ1aS5jb2xsYXBzZSI6InVpLmV4cGFuZCIpKSsnPC9zcGFuPjxzdmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLXRvZ2dsZS1pY29uIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0yLjUgMy43NUw1IDYuMjVMNy41IDMuNzUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+PC9idXR0b24+J31yZXR1cm4nPGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwiIGRhdGEtZXhwYW5kLWtpbmQ9InN1YmFnZW50LXBhbmVsIiBkYXRhLWV4cGFuZC1rZXk9IicrcChnKSsnIiBkYXRhLWFnZW50LWlkPSInK3AobCkrJyIgZGF0YS1leHBhbmRlZD0iJysodz8idHJ1ZSI6ImZhbHNlIikrJyIgc3R5bGU9Ii0tYWdlbnQtY29sb3I6JytzLnByaW1hcnkrJyI+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtaGVhZGVyIiBvbmNsaWNrPSJfX3N1YmFnZW50UGFuZWxUb2dnbGUoZXZlbnQsIHRoaXMpIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSInK3AoVWUoInN1YmFnZW50LnRpdGxlX2FyaWEiKSkrJyI+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF2YXRhciIgYXJpYS1oaWRkZW49InRydWUiPicrYysiPC9zcGFuPiIrZCtGKCJ0b3AiKSsnPC9kaXY+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtYm9keSI+JytyKyc8L2Rpdj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1mb290ZXIiPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1mb290ZXItaGludCIgYXJpYS1oaWRkZW49InRydWUiPlx1MjAxNCAnK3AobykrIiBcdTIwMTQ8L3NwYW4+IitGKCJib3R0b20iKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBldihlLHQscixpKXt2YXIgYT1lLnJvbGUsdT1mdShlLHIpLHM9YT09PSJ1c2VyIiYmZS5jb250ZW50JiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihBKXtyZXR1cm4gQS5fX3F1ZXVlZH0pO2lmKCFlLmNvbnRlbnR8fGUuY29udGVudC5sZW5ndGg9PT0wKXJldHVybiBhPT09ImFzc2lzdGFudCI/JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyI+JytLbihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWJ1YmJsZSI+PGRpdiBjbGFzcz0idHlwaW5nLWluZGljYXRvciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+JzonPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIGVtcHR5LW1lc3NhZ2UiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK0tuKGEpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+PHNwYW4gY2xhc3M9ImVtcHR5LW1lc3NhZ2UtaGludCI+XHVGRjA4XHU3QTdBXHU2RDg4XHU2MDZGXHVGRjA5PC9zcGFuPjwvZGl2PjwvZGl2Pic7dmFyIG89VXAoZS5jb250ZW50KSxsPVRhKCJhc3Npc3RhbnQiKTtpZihhIT09ImFzc2lzdGFudCIpe3ZhciBjPUNvKGUuY29udGVudCxpKSxkPWMuc29tZShmdW5jdGlvbihBKXtyZXR1cm4gQS5zdWJhZ2VudH0pLGY9cz8iIHF1ZXVlZCI6IiIsdj1zPyc8c3BhbiBjbGFzcz0icXVldWVkLWJhZGdlIj5cdTYzOTJcdTk2MUZcdTRFMkQ8L3NwYW4+JzoiIixtPVZwKCk7aWYoZCl7dmFyIGI9Qm8oYyxhLGwubmFtZSxvLHUse3Nob3dIYW5kb2ZmOiExfSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErZisnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytiK3YrIjwvZGl2PiJ9dmFyIGc9cWEoZS5jb250ZW50LDAsYSxvLHUpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJythK2YrJyIgZGF0YS1tZXNzYWdlLWtleT0iJytwKHUpKyciPicrS24oYSx7bGVmdFNsb3Q6bX0pKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+JytnK3YrIjwvZGl2PjwvZGl2PiJ9dmFyIHk9Q28oZS5jb250ZW50LGkpLHc9eS5zb21lKGZ1bmN0aW9uKEEpe3JldHVybiBBLnN1YmFnZW50fSk7aWYoIXcpe3ZhciBGPXFhKGUuY29udGVudCwwLGEsbyx1KTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytLbihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicrRisiPC9kaXY+PC9kaXY+In12YXIgRT0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JztyZXR1cm4gRSs9Qm8oeSxhLGwubmFtZSxvLHUse3Nob3dIYW5kb2ZmOiEwfSksRSs9IjwvZGl2PiIsRX1mdW5jdGlvbiBEbyhlLHQscixpLGEpe2lmKCFlfHwhZS50eXBlfHxlLnR5cGU9PT0idG9vbF91c2UiJiZlLl9fc3ViYWdlbnQmJmUuX19zdWJhZ2VudC50YXNrSWQ9PT1lLmlkKXJldHVybiIiO2lmKGUudHlwZT09PSJ0b29sX3Jlc3VsdCImJmUuX19zdWJhZ2VudCYmZS5fX3N1YmFnZW50LnRhc2tJZD09PWUudG9vbF91c2VfaWQpcmV0dXJuIHpwKGUsdCk7c3dpdGNoKGUudHlwZSl7Y2FzZSJ0ZXh0IjpyZXR1cm4gdD09PSJhc3Npc3RhbnQiJiZlLl9fcHJvY2Vzc2luZz8nPGRpdiBjbGFzcz0idHlwaW5nLWluZGljYXRvciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+Jzp0PT09ImFzc2lzdGFudCI/UGEoZS50ZXh0fHwiIik6cChlLnRleHR8fCIiKTtjYXNlInRoaW5raW5nIjp2YXIgdT1lLnRoaW5raW5nfHwiIixzPWUudGhpbmtpbmc9PT12b2lkIDAmJmUudHlwZT09PSJ0aGlua2luZyI7aWYocylyZXR1cm4nPGRpdiBjbGFzcz0idGhpbmtpbmctaW5saW5lIHRoaW5raW5nLXN0cmVhbWluZyIgZGF0YS10aGlua2luZz0iIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1zdHJlYW1pbmctaW5uZXIiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1zdHJlYW1pbmctaWNvbiBzcGlubmluZyI+XHUyOUJGPC9zcGFuPjxkaXYgY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy10ZXh0Ij48L2Rpdj48L2Rpdj48L2Rpdj4nO2lmKCF1LnRyaW0oKSlyZXR1cm4iIjt2YXIgbz11Lmxlbmd0aD42MD91LnNsaWNlKDAsNTcpKyJcdTIwMjYiOnUsbD1LdCgidGhpbmtpbmciLFthLGldKSxjPVplKGwpLGQ9Yz09PW51bGw/Qm4oInRoaW5raW5nIik6YztyZXR1cm4nPGRpdiBjbGFzcz0idGhpbmtpbmctaW5saW5lICcrKGQ/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKGwpKyciIGRhdGEtdGhpbmtpbmc9IicrcCh1KSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChkP3U6bykrJzwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWFjdGlvbiI+JysoZD8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIikrIjwvc3Bhbj48L2Rpdj4iO2Nhc2UidG9vbF91c2UiOnZhciBmPUZvKHIsZS5pZCksdj1pdihlLGYsaSxhKTtyZXR1cm4gS3AocixlLmlkKSYmKHY9SnAoZS5uYW1lfHwiXHU1REU1XHU1MTc3IikrdiksdjtjYXNlInRvb2xfcmVzdWx0IjpyZXR1cm4iIjtkZWZhdWx0OnZhciBtPWUmJmUudHlwZT9TdHJpbmcoZS50eXBlKToiXHU2NzJBXHU3N0U1IixiPSIiO3RyeXtiPUpTT04uc3RyaW5naWZ5KGUsbnVsbCwyKX1jYXRjaHtiPSJ7fSJ9cmV0dXJuYDxkaXYgY2xhc3M9InVua25vd24tYmxvY2sgY29sbGFwc2VkIiBvbmNsaWNrPSJ0aGlzLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpIj48ZGl2IGNsYXNzPSJ1bmtub3duLWJsb2NrLWhlYWRlciI+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2staWNvbiI+Pzwvc3Bhbj48c3BhbiBjbGFzcz0idW5rbm93bi1ibG9jay1sYWJlbCI+XHU2NzJBXHU4QkM2XHU1MjJCXHU3Njg0XHU1MTg1XHU1QkI5XHU1NzU3XHVGRjFBYCtwKG0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2stdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PHByZSBjbGFzcz0idW5rbm93bi1ibG9jay1ib2R5Ij4nK3AoYikrIjwvcHJlPjwvZGl2PiJ9fWZ1bmN0aW9uIHR2KGUsdCxyLGksYSx1LHMpe3ZhciBvPWUuaWR8fCJ0b29sLSIrcixsPUt0KCJpbmxpbmUtdG9vbCIsW3Usb3x8cyxzXSksYz1aZShsKSxkPWUuaW5wdXR8fHt9LGY9bG4odCYmdC5jb250ZW50KSx2PXQmJnQuaXNfZXJyb3IsbT1mLmxlbmd0aD4wLGI9dj8iXHUyNzE3IjptPyJcdTI3MTMiOiJcdTIwMjYiLGc9IiIseT0iIix3PSIiLEY9IiI7aWYocj09PSJSZWFkIil7Zz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PHBhdGggZD0iTTEgMy41QTEuNSAxLjUgMCAwIDEgMi41IDJoMi43NjRjLjk1OCAwIDEuNzYuNTYgMi4zMTEgMS4xODRDOC40MDUgMy43NyA5LjE0NiA0IDEwIDRoMy41QTEuNSAxLjUgMCAwIDEgMTUgNS41djdhMS41IDEuNSAwIDAgMS0xLjUgMS41aC0xMUExLjUgMS41IDAgMCAxIDEgMTIuNXYtOXoiLz48cGF0aCBkPSJNMiA1LjVoMTJNMiA4aDhNMiAxMC41aDUiLz48L3N2Zz4nO3ZhciBFPWQuZmlsZV9wYXRofHxkLnBhdGh8fGl8fCIiLEE9IiI7ZC5saW1pdCYmKEE9IiAiK2Qub2Zmc2V0KyItIisoZC5vZmZzZXQrZC5saW1pdCkpLHk9RSx3PUF9ZWxzZSBpZihyPT09Ikdsb2IiKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNSIvPjxwYXRoIGQ9Ik0xMC41IDEwLjVMMTQgMTQiLz48L3N2Zz4nO3ZhciB4PWQucGF0dGVybnx8IiIsUz1kLnBhdGh8fGl8fCIiO3k9eCx3PVN9ZWxzZSBpZihyPT09IkdyZXAiKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI2LjUiIGN5PSI2LjUiIHI9IjQuNSIvPjxwYXRoIGQ9Ik0xMS41IDExLjVMMTUgMTUiLz48L3N2Zz4nO3ZhciB4PWQucGF0dGVybnx8IiIsUz1kLnBhdGh8fGl8fCIiO3k9eCx3PVMsZC5jb250ZXh0JiYodys9IiAtQyIrZC5jb250ZXh0KX1lbHNlIGlmKHI9PT0iV2ViRmV0Y2giKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI4IiBjeT0iOCIgcj0iNi41Ii8+PHBhdGggZD0iTTggMS41djEzTTEuNSA4aDEzIi8+PC9zdmc+Jzt2YXIgUD1kLnVybHx8IiI7eT1QLHc9YXx8IiJ9ZWxzZSBpZihyPT09IldlYlNlYXJjaCIpe2c9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSI1Ii8+PHBhdGggZD0iTTEwLjUgMTAuNUwxNCAxNCIvPjxwYXRoIGQ9Ik01IDdoNE03IDV2NCIvPjwvc3ZnPic7dmFyIHo9ZC5xdWVyeXx8IiI7eT16LHc9YXx8IiJ9ZWxzZSByPT09IlRvZG9SZWFkIj8oZz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDhsMiAyIDQtNCIvPjwvc3ZnPicseT0iXHU4QkZCXHU1M0Q2XHU1Rjg1XHU1MjlFXHU1MjE3XHU4ODY4Iix3PWF8fCIiKTooZz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PGNpcmNsZSBjeD0iOCIgY3k9IjgiIHI9IjYuNSIvPjxwYXRoIGQ9Ik04IDV2My41TTggMTFoLjAxIi8+PC9zdmc+Jyx5PU9hKHIpLHc9YXx8IiIpO2lmKG0pe3ZhciBHPWYuc3BsaXQoYApgKTtHLmxlbmd0aD4xMD9GPUcuc2xpY2UoMCwxMCkuam9pbihgCmApK2AKXHUyMDI2YDpGPWZ9dmFyIEw9cChmKSxCPXAoRiksVD1mLEk9IiIsVj1jPT09bnVsbD9CbigiaW5saW5lVG9vbHMiKTpjO20/ST0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhWPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0Ij4nK2tvKGYscikrIjwvZGl2PjwvZGl2PiI6dj9JPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1leHBhbmRlZCIgc3R5bGU9ImRpc3BsYXk6ICcrKFY/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQgaW5saW5lLXRvb2wtZXJyb3IiPicrcChmfHwiXHU2NENEXHU0RjVDXHU1OTMxXHU4RDI1IikrIjwvZGl2PjwvZGl2PiI6dHx8KEk9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLWV4cGFuZGVkIiBzdHlsZT0iZGlzcGxheTogJysoVj8iYmxvY2siOiJub25lIikrJzsiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLWxvYWRpbmciPlx1N0I0OVx1NUY4NVx1NTRDRFx1NUU5NFx1MjAyNjwvZGl2PjwvZGl2PicpO3ZhciByZT10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCx0ZT13Pyc8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtbWV0YSI+JytwKHcpKyI8L3NwYW4+IjoiIiwkPXY/ImlubGluZS10b29sLWVycm9yLWlubGluZSI6IiI7ViYmKCQrPSIgaW5saW5lLXRvb2wtb3BlbiIpO3ZhciBpZT1yZT8nZGF0YS10cnVuY2F0ZWQ9InRydWUiIGRhdGEtdG9vbC11c2UtaWQ9IicrcChlLmlkfHwiIikrJyIgJzoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wgJyskKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImlubGluZS10b29sIiBkYXRhLWV4cGFuZC1rZXk9IicrcChsKSsnIiBkYXRhLXJlc3VsdD0iJytwKFQpKyciIGRhdGEtcHJldmlldz0iJytCKyciIGRhdGEtc3RhdHVzPSInKyh2PyJlcnJvciI6bT8iZG9uZSI6InBlbmRpbmciKSsnIiAnK2llKydvbmNsaWNrPSJfX2lubGluZVRvb2xUb2dnbGUodGhpcykiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLXJvdyI+PHNwYW4gY2xhc3M9ImlubGluZS10b29sLXN0YXR1cyI+JytiKyI8L3NwYW4+IitnKyc8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtdGl0bGUiPicrcCh5KSsiPC9zcGFuPiIrdGUrIjwvZGl2PiIrSSsiPC9kaXY+In1mdW5jdGlvbiBudihlLHQscixpLGEpe3ZhciB1PWUuaW5wdXR8fHt9LHM9dS5jb21tYW5kfHx1LmNtZHx8IiIsbz1sbih0JiZ0LmNvbnRlbnQpLGw9ZS5pZHx8InRvb2wtIityLGM9S3QoInRlcm1pbmFsIixbaSxsfHxhLGFdKSxkPVplKGMpLGY9dCYmdC5pc19lcnJvcix2PXUuZXhpdENvZGUsbT1vLmxlbmd0aD4wLGI9IiI7dD9mP2I9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS1lcnJvciI+PC9zcGFuPic6dj09PTB8fHY9PT12b2lkIDA/Yj0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLXN1Y2Nlc3MiPjwvc3Bhbj4nOmI9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS13YXJuIj48L3NwYW4+JzpiPSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0tcnVubmluZyI+PC9zcGFuPic7Zm9yKHZhciBnPSc8c3BhbiBjbGFzcz0idGVybS1wcm9tcHQiPiQ8L3NwYW4+Jyx5PXAocyksdz1vLnNwbGl0KGAKYCksRj0iIixFPTA7RTx3Lmxlbmd0aDtFKyspe3ZhciBBPXdbRV07IUEmJkU9PT13Lmxlbmd0aC0xfHwoRis9JzxkaXYgY2xhc3M9InRlcm0tbGluZSI+JytwKEEpKyI8L2Rpdj4iKX12YXIgeD0iIjtpZih0JiZ2IT09dm9pZCAwKXt2YXIgUz12PT09MD8idGVybS1leGl0LXN1Y2Nlc3MiOiJ0ZXJtLWV4aXQtZXJyb3IiO3g9JzxkaXYgY2xhc3M9InRlcm0tZXhpdCAnK1MrJyI+ZXhpdCAnK3YrIjwvZGl2PiJ9dmFyIFA9cy5sZW5ndGg+ODA/cy5zbGljZSgwLDc3KSsiXHUyMDI2IjpzLHo9ZD09PW51bGw/Qm4oInRlcm1pbmFsIik6ZCxHPXQmJnQuX3RydW5jYXRlZD09PSEwLEw9Rz8nIGRhdGEtdHJ1bmNhdGVkPSJ0cnVlIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AoZS5pZHx8IiIpKyciJzoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iaW5saW5lLXRlcm1pbmFsIiBkYXRhLWV4cGFuZC1raW5kPSJ0ZXJtaW5hbCIgZGF0YS1leHBhbmQta2V5PSInK3AoYykrJyIgZGF0YS1leHBhbmRlZD0iJysoej8idHJ1ZSI6ImZhbHNlIikrJyInK0wrJz48ZGl2IGNsYXNzPSJ0ZXJtLWhlYWRlciIgb25jbGljaz0iX190ZXJtaW5hbEV4cGFuZCh0aGlzKSI+JytiKyc8c3BhbiBjbGFzcz0idGVybS1jbWQtcHJldmlldyI+PHNwYW4gY2xhc3M9InRlcm0tcHJvbXB0Ij4kPC9zcGFuPiAnK3AoUCkrJzwvc3Bhbj48c3BhbiBjbGFzcz0idGVybS10b2dnbGUtaWNvbiI+Jysoej8iXHUyNUJDIjoiXHUyNUI2IikrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXJtLWJvZHkiIHN0eWxlPSJkaXNwbGF5OicrKHo/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJ0ZXJtLWNvbW1hbmQiPjxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4gJyt5KyI8L2Rpdj4iKyhGPyc8ZGl2IGNsYXNzPSJ0ZXJtLW91dHB1dCI+JytGKyI8L2Rpdj4iOiIiKSt4KyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGxuKGUpe3JldHVybiBlP3R5cGVvZiBlPT0ic3RyaW5nIj9lOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoZnVuY3Rpb24odCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjtpZih0LnR5cGU9PT0idGV4dCImJnR5cGVvZiB0LnRleHQ9PSJzdHJpbmciKXJldHVybiB0LnRleHQ7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1jYXRjaHtyZXR1cm4iIn19KS5maWx0ZXIoQm9vbGVhbikuam9pbihgCmApOiIiOiIifWZ1bmN0aW9uIHJ2KGUsdCxyLGksYSl7dmFyIHU9ZS5pbnB1dHx8e30scz11LmZpbGVfcGF0aHx8dS5wYXRofHwiIixvPXMuc3BsaXQoIi8iKS5wb3AoKXx8cyxsPWUuaWR8fCJ0b29sLSIrcisiLSIrKHR5cGVvZiBhPT0ibnVtYmVyIj9hOjApLGM9dS5vbGRfc3RyaW5nfHwiIixkPXUubmV3X3N0cmluZ3x8dS5jb250ZW50fHwiIixmPXUub2xkX2NvbnRlbnR8fCIiLHY9dS5uZXdfY29udGVudHx8IiIsbT1yPT09IldyaXRlInx8cj09PSJNdWx0aUVkaXQiLGI9dCYmdC5pc19lcnJvcixnPWxuKHQmJnQuY29udGVudCkseT0hIShnJiZnLnRyaW0oKS5sZW5ndGg+MCksdz0iIixGPSIiO20/Rj0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtYWRkIj4rICcrcCh2KSsiPC9kaXY+IjooYyYmKHc9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLXJlbW92ZSI+LSAnK3AoYykrIjwvZGl2PiIpLGQmJihGPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgZGlmZi1hZGQiPisgJytwKGQpKyI8L2Rpdj4iKSk7dmFyIEU9IiIsQT0iIjt0P2I/KEU9ImRpZmYtZXJyb3IiLEE9Zy5pbmRleE9mKCJoYXZlbid0IGdyYW50ZWQiKSE9PS0xfHxnLmluZGV4T2YoInBlcm1pc3Npb24iKSE9PS0xPyJcdTdCNDlcdTVGODVcdTYzODhcdTY3NDMiOiJcdTU5MzFcdThEMjUiKTooRT0iZGlmZi1zdWNjZXNzIixBPSJcdTVERjJcdTRGRUVcdTY1MzkiKTooRT0iZGlmZi1wZW5kaW5nIixBPSJcdTYyNjdcdTg4NENcdTRFMkQiKTt2YXIgeD1LdCgiZGlmZiIsW2ksbHx8YSxhXSksUz1aZSh4KSxQPUJuKCJlZGl0Q2FyZHMiKSx6PVM9PT1udWxsP0U9PT0iZGlmZi1wZW5kaW5nInx8UDpTLEc9ej8iIjoiIGNvbGxhcHNlZCIsTD13JiZGLEI9TD8iZGlmZi1jb2wtaGFsZiI6ImRpZmYtY29sLWZ1bGwiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtZGlmZicrRysnIiBkYXRhLXRvb2wtbmFtZT0iJytwKHIpKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImRpZmYiIGRhdGEtZXhwYW5kLWtleT0iJytwKHgpKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcChsKSsnIj48ZGl2IGNsYXNzPSJkaWZmLWhlYWRlciIgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSI+PHNwYW4gY2xhc3M9ImRpZmYtZmlsZS1pY29uIj48L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtZmlsZS1uYW1lIj4nK3AobykrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1wYXRoIj4nK3AocykrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1zdGF0dXMgJytFKyciPicrQSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImRpZmYtYm9keSI+PGRpdiBjbGFzcz0iZGlmZi1jb2x1bW5zIj4nKyhMPyc8ZGl2IGNsYXNzPSJkaWZmLWNvbCAnK0IrJyI+PGRpdiBjbGFzcz0iZGlmZi1jb2wtbGFiZWwiPlx1NjVFNzwvZGl2PicrdysiPC9kaXY+IjoiIikrJzxkaXYgY2xhc3M9ImRpZmYtY29sICcrQisnIj48ZGl2IGNsYXNzPSJkaWZmLWNvbC1sYWJlbCI+JysoTD8iXHU2NUIwIjoiIikrIjwvZGl2PiIrKEZ8fHcpKyI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGtvKGUsdCl7cmV0dXJuIGU/JzxwcmUgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdC10ZXh0IiBzdHlsZT0ibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87Ij4nK3AoZSkrIjwvcHJlPiI6JzxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC1lbXB0eSI+XHU2NUUwXHU4RjkzXHU1MUZBPC9zcGFuPid9ZnVuY3Rpb24gaXYoZSx0LHIsaSl7dmFyIGE9ZS5uYW1lfHwidW5rbm93biIsdT1lLmlkfHwidG9vbC0iK2ErIi0iKyh0eXBlb2Ygcj09Im51bWJlciI/cjowKSxzPXV2KGEsZS5pbnB1dCk7aWYoYT09PSJSZWFkInx8YT09PSJHbG9iInx8YT09PSJHcmVwInx8YT09PSJXZWJGZXRjaCJ8fGE9PT0iV2ViU2VhcmNoInx8YT09PSJUb2RvUmVhZCIpcmV0dXJuIHR2KGUsdCxhLHMsIiIsaSxyKTtpZihhPT09IkJhc2giKXJldHVybiBudihlLHQsYSxpLHIpO2lmKGE9PT0iRWRpdCJ8fGE9PT0iV3JpdGUifHxhPT09Ik11bHRpRWRpdCIpcmV0dXJuIHJ2KGUsdCxhLGkscik7aWYoYT09PSJBc2tVc2VyUXVlc3Rpb24iJiZlLmlucHV0JiZlLmlucHV0LnF1ZXN0aW9ucyl7dmFyIG89ZS5pbnB1dC5xdWVzdGlvbnM7aWYobyYmby5sZW5ndGg+MCl7Zm9yKHZhciBsPSEhdCxjPW4uYXNrVXNlclNlbGVjdGlvbnNbdV18fHt9LGQ9ISFjLnN1Ym1pdHRlZCxmPWw/bG4odC5jb250ZW50KToiIix2PWY/Zi50cmltKCkuc3BsaXQoYApgKTpbXSxtPSIiLGI9MDtiPG8ubGVuZ3RoO2IrKylpZihvW2JdLmhlYWRlcil7bT1vW2JdLmhlYWRlcjticmVha312YXIgZz1tPyc8c3BhbiBjbGFzcz0idG9vbC11c2Utc3VtbWFyeSI+JytwKG0pKyI8L3NwYW4+IjoiIix5PSIiO28uZm9yRWFjaChmdW5jdGlvbihPLFIpe3ZhciBzZT0hIU8ubXVsdGlTZWxlY3QsQmU9Ty5xdWVzdGlvbj8nPGRpdiBjbGFzcz0iYXNrLXVzZXItdGl0bGUiPicrcChPLnF1ZXN0aW9uKSsiPC9kaXY+IjoiIixuZT0iIjtPLm9wdGlvbnMmJk8ub3B0aW9ucy5sZW5ndGg+MCYmKG5lPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb25zIiBkYXRhLW11bHRpLXNlbGVjdD0iJytzZSsnIj4nLE8ub3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRlLE1lKXt2YXIgbHQ9ZGUubGFiZWw/cChkZS5sYWJlbCk6Ilx1OTAwOVx1OTg3OSAiKyhNZSsxKSxndD1kZS5kZXNjcmlwdGlvbj8nPGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWRlc2MiPicrcChkZS5kZXNjcmlwdGlvbikrIjwvZGl2PiI6IiI7aWYobCl7dmFyIEdlPXZbUl18fHZbMF18fCIiLHJ0PUdlLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHplKXtyZXR1cm4gemUudHJpbSgpfSksaXQ9cnQuaW5kZXhPZihkZS5sYWJlbHx8IiIpIT09LTE7bmUrPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24gYXNrLXVzZXItb3B0aW9uLXJlYWRvbmx5JysoaXQ/IiBhc2stdXNlci1vcHRpb24tY2hvc2VuIjoiIikrJyI+PHNwYW4gY2xhc3M9ImFzay11c2VyLWluZGljYXRvciI+PC9zcGFuPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1jb250ZW50Ij48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tbGFiZWwiPicrbHQrIjwvZGl2PiIrZ3QrIjwvZGl2PjwvZGl2PiJ9ZWxzZXt2YXIgV2U9KGNbUl18fFtdKS5pbmRleE9mKE1lKSE9PS0xLGt0PWQ/IiBkaXNhYmxlZCI6IiI7bmUrPSc8YnV0dG9uIGNsYXNzPSJhc2stdXNlci1vcHRpb24nKyhXZT8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1vcHRpb24taW5kZXg9IicrTWUrJyIgZGF0YS1xdWVzdGlvbi1pbmRleD0iJytSKyciIGRhdGEtb3B0aW9uLWxhYmVsPSInK3AoZGUubGFiZWx8fCJcdTkwMDlcdTk4NzkgIisoTWUrMSkpK2AiIG9uY2xpY2s9Il9fYXNrU2VsZWN0KCdgK3AodSkrIicsIitSKyIsIitNZSsiLCIrc2UrJykiJytrdCsnPjxzcGFuIGNsYXNzPSJhc2stdXNlci1pbmRpY2F0b3IiPjwvc3Bhbj48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tY29udGVudCI+PGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWxhYmVsIj4nK2x0KyI8L2Rpdj4iK2d0KyI8L2Rpdj48L2J1dHRvbj4ifX0pLG5lKz0iPC9kaXY+IikseSs9JzxkaXYgY2xhc3M9ImFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiBkYXRhLXF1ZXN0aW9uLWluZGV4PSInK1IrJyI+JytCZStuZSsiPC9kaXY+In0pO3ZhciB3PSIiO2lmKCFsKXtmb3IodmFyIEY9ITAsRT0wO0U8by5sZW5ndGg7RSsrKWlmKCFjW0VdfHxjW0VdLmxlbmd0aD09PTApe0Y9ITE7YnJlYWt9dmFyIEE9IUZ8fGQ/IiBkaXNhYmxlZCI6IiIseD1kPyIgYXNrLXVzZXItc3VibWl0dGVkIjoiIixTPWQ/Ilx1NURGMlx1NjNEMFx1NEVBNC4uLiI6Ilx1Nzg2RVx1OEJBNFx1NjNEMFx1NEVBNCI7dz0nPGRpdiBjbGFzcz0iYXNrLXVzZXItYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYXNrLXVzZXItc3VibWl0Jyt4KyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcCh1KStgIiBvbmNsaWNrPSJfX2Fza1N1Ym1pdCgnYCtwKHUpK2AnKSJgK0ErIj4iK1MrIjwvYnV0dG9uPjwvZGl2PiJ9dmFyIFA9IiI7aWYobCYmZil7dmFyIHo9Zi50cmltKCkucmVwbGFjZSgvXG4vZywiLCAiKTt6Lmxlbmd0aD40MCYmKHo9ei5zbGljZSgwLDM3KSsiLi4uIiksUD0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcCh6KSsiPC9zcGFuPiJ9dmFyIEc9S3QoInRvb2wtY2FyZCIsW2ksdV0pLEw9WmUoRyksQj1MPT09bnVsbD8hbDpMLFQ9Qj8iIjoiIGNvbGxhcHNlZCIsST1sPyIgYXNrLXVzZXItYW5zd2VyZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b29sLXVzZS1jYXJkIGFzay11c2VyJytJK1QrJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKHUpKyciIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtY2FyZCIgZGF0YS1leHBhbmQta2V5PSInK3AoRykrJyI+PGRpdiBjbGFzcz0idG9vbC11c2UtaGVhZGVyIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1pY29uIj4nKyhsPyJcdTI3MTMiOiI/IikrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC11c2UtbmFtZSI+XHU2M0QwXHU5NUVFPC9zcGFuPicrZytQKyc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSBhc2stdXNlci1ib2R5Ij4nK3krdysiPC9kaXY+PC9kaXY+In19dmFyIFY9ZS5kZXNjcmlwdGlvbnx8ZS5pbnB1dCYmZS5pbnB1dC5kZXNjcmlwdGlvbnx8IiIscmU9YXYoZS5uYW1lLGUuaW5wdXQpLHRlPSIiLCQ9IiI7Vj8odGU9Vi5sZW5ndGg+ODA/Vi5zbGljZSgwLDc3KSsiLi4uIjpWLHMmJigkPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtZmlsZSI+JytwKHMpKyI8L3NwYW4+IikpOih0ZT1PYShhKSxzJiYoJD0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcChzKSsiPC9zcGFuPiIpLHJlJiYoJCs9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zdW1tYXJ5Ij4nK3AocmUpKyI8L3NwYW4+IikpO3ZhciBpZT1lLmlucHV0P0pTT04uc3RyaW5naWZ5KGUuaW5wdXQsbnVsbCwyKToie30iLFU9ImxvYWRpbmciLE09JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zcGlubmVyIj48L3NwYW4+JyxIPSIiO2lmKHQpe3ZhciBOPXQuaXNfZXJyb3IsWT1sbih0LmNvbnRlbnQpO1U9Tj8iZXJyb3IiOiJzdWNjZXNzIixNPUFvKGEpO3ZhciBLPVkmJlkudHJpbSgpLmxlbmd0aD4wO0s/SD0nPHByZSBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWNvbnRlbnQiPicrcChZKSsiPC9wcmU+IjpIPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWVtcHR5Ij5cdTY1RTBcdThGOTNcdTUxRkE8L3NwYW4+J31lbHNlIE09QW8oYSk7dmFyIFg9S3QoInRvb2wtY2FyZCIsW2ksdV0pLGFlPVplKFgpLGxlPUJuKCJlZGl0Q2FyZHMiKSx1ZT1hZT09PW51bGw/VT09PSJsb2FkaW5nInx8bGU6YWUsQ2U9dCYmdC5fdHJ1bmNhdGVkPT09ITAsRmU9dWU/IiI6IiBjb2xsYXBzZWQiLGJlPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0idG9vbC11c2UtY2FyZCAnK1UrRmUrJyIgZGF0YS1leHBhbmQta2luZD0idG9vbC1jYXJkIiBkYXRhLWV4cGFuZC1rZXk9IicrcChYKSsnIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AodSkrJyInKyhDZT8nIGRhdGEtdHJ1bmNhdGVkPSJ0cnVlIic6IiIpKyc+PGRpdiBjbGFzcz0idG9vbC11c2UtaGVhZGVyIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1pY29uIj4nK00rJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC11c2UtbmFtZSI+JytwKHRlKSsiPC9zcGFuPiIrJCtiZSsnPC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSI+JysoVj8nPGRpdiBjbGFzcz0idG9vbC11c2UtbWV0YSI+PHNwYW4gY2xhc3M9InRvb2wtdXNlLW1ldGEtbGFiZWwiPlx1NURFNVx1NTE3N1x1RkYxQTwvc3Bhbj4nK3AoYSkrIjwvZGl2PiI6IiIpKyc8cHJlIGNsYXNzPSJ0b29sLXVzZS1jb250ZW50Ij4nK3AoaWUpKyI8L3ByZT4iKyhIPyc8ZGl2IGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQiPicrSCsiPC9kaXY+IjoiIikrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gT2EoZSl7dmFyIHQ9e1JlYWQ6Ilx1OEJGQlx1NTNENlx1NjU4N1x1NEVGNiIsV3JpdGU6Ilx1NTE5OVx1NTE2NVx1NjU4N1x1NEVGNiIsRWRpdDoiXHU3RjE2XHU4RjkxXHU2NTg3XHU0RUY2IixNdWx0aUVkaXQ6Ilx1NTkxQVx1NTkwNFx1N0YxNlx1OEY5MSIsQmFzaDoiXHU2MjY3XHU4ODRDXHU1NDdEXHU0RUU0IixHcmVwOiJcdTY0MUNcdTdEMjJcdTUxODVcdTVCQjkiLEdsb2I6Ilx1NjdFNVx1NjI3RVx1NjU4N1x1NEVGNiIsV2ViRmV0Y2g6Ilx1ODNCN1x1NTNENlx1N0Y1MVx1OTg3NSIsV2ViU2VhcmNoOiJcdTY0MUNcdTdEMjJcdTdGNTFcdTk4NzUiLFRhc2s6Ilx1NEVGQlx1NTJBMSIsVG9kb1dyaXRlOiJcdTY2RjRcdTY1QjBcdTVGODVcdTUyOUUiLFRvZG9SZWFkOiJcdThCRkJcdTUzRDZcdTVGODVcdTUyOUUiLE5vdGVib29rRWRpdDoiXHU3RjE2XHU4RjkxXHU3QjE0XHU4QkIwXHU2NzJDIixBZ2VudDoiXHU1QjUwXHU0RUUzXHU3NDA2IixBc2tVc2VyUXVlc3Rpb246Ilx1NjNEMFx1OTVFRSIsRXhpdDoiXHU5MDAwXHU1MUZBIn07cmV0dXJuIHRbZV18fGV9ZnVuY3Rpb24gQW8oZSl7dmFyIHQ9e1JlYWQ6IlIiLFdyaXRlOiJXIixFZGl0OiJFIixNdWx0aUVkaXQ6IkUiLEJhc2g6IiQiLEdyZXA6IkciLEdsb2I6IkYiLFdlYkZldGNoOiJcdTIxRTMiLFdlYlNlYXJjaDoiXHUyMUUyIixUYXNrOiJUIixUb2RvV3JpdGU6Ilx1MjYxMCIsVG9kb1JlYWQ6Ilx1MjYxMSIsTm90ZWJvb2tFZGl0OiJOIixBZ2VudDoiQSIsRXhpdDoiXHhENyJ9O3JldHVybiB0W2VdfHwiXHhCNyJ9ZnVuY3Rpb24gYXYoZSx0KXtpZighdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiIiO3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKHIubGVuZ3RoPT09MClyZXR1cm4ie30iO2lmKGU9PT0iUmVhZCIpcmV0dXJuIlx1OEJGQlx1NTNENlx1NjU4N1x1NEVGNiI7aWYoZT09PSJXcml0ZSIpcmV0dXJuIlx1NTE5OVx1NTE2NVx1NjU4N1x1NEVGNiI7aWYoZT09PSJFZGl0Iil7dmFyIGk9dC5lZGl0cz90LmVkaXRzLmxlbmd0aDowO3JldHVybiJcdTdGMTZcdThGOTEgKCIraSsiIFx1NTkwNFx1NEZFRVx1NjUzOSkifWlmKGU9PT0iQmFzaCIpe3ZhciBhPXQuY29tbWFuZHx8IiI7aWYoYSl7dmFyIHU9YS5sZW5ndGg+NjA/YS5zbGljZSgwLDYwKSsiLi4uIjphO3JldHVybiJcdTU0N0RcdTRFRTRcdUZGMUEiK3V9fWlmKGU9PT0iR3JlcCIpe3ZhciBzPXQucGF0dGVybnx8IiIsbz10LnBhdGh8fCIiO2lmKHMpcmV0dXJuIlx1NjQxQ1x1N0QyMlx1RkYxQSIrcysobz8iIChcdTU3MjggIitvKyIpIjoiIil9aWYoZT09PSJHbG9iIil7dmFyIHM9dC5wYXR0ZXJufHwiIjtpZihzKXJldHVybiJcdTY3RTVcdTYyN0VcdUZGMUEiK3N9aWYoZT09PSJBZ2VudCIpe3ZhciBsPXQucHJvbXB0fHx0LnRhc2t8fCIiO2lmKGwpe3ZhciBjPWwubGVuZ3RoPjQwP2wuc2xpY2UoMCw0MCkrIi4uLiI6bDtyZXR1cm4iXHU0RUZCXHU1MkExXHVGRjFBIitjfX1pZihlPT09IlRhc2siKXt2YXIgbD10LnRhc2t8fHQuZGVzY3JpcHRpb258fCIiO2lmKGwpe3ZhciBjPWwubGVuZ3RoPjQwP2wuc2xpY2UoMCw0MCkrIi4uLiI6bDtyZXR1cm4iXHU0RUZCXHU1MkExXHVGRjFBIitjfX1pZihlPT09IlRvZG9Xcml0ZSIpe3ZhciBkPXQudG9kb3N8fFtdO3JldHVybiJcdTY2RjRcdTY1QjBcdTVGODVcdTUyOUUgKCIrZC5sZW5ndGgrIiBcdTk4NzkpIn1pZihlPT09IldlYlNlYXJjaCIpe3ZhciBmPXQucXVlcnl8fCIiO2lmKGYpcmV0dXJuIlx1NjQxQ1x1N0QyMlx1RkYxQSIrZn12YXIgdj1yWzBdLG09dFt2XTtpZih0eXBlb2YgbT09InN0cmluZyIpe3ZhciBiPW0ubGVuZ3RoPjUwP20uc2xpY2UoMCw1MCkrIi4uLiI6bTtyZXR1cm4gdisiOiAiK2J9cmV0dXJuIHIubGVuZ3RoKyIgXHU0RTJBXHU1M0MyXHU2NTcwIn1mdW5jdGlvbiB1dihlLHQpe2lmKCF0KXJldHVybiBudWxsO3ZhciByPXQuZmlsZV9wYXRofHx0LnBhdGh8fHQuY3dkO3JldHVybiByP3IubGVuZ3RoPjUwPyIuLi4iK3Iuc2xpY2UoLTQ3KTpyOm51bGx9ZnVuY3Rpb24gc3YoZSl7aWYoIWUpcmV0dXJuIiI7Zm9yKHZhciB0PWAKYCxyPWUuc3BsaXQodCksaT1bXSxhPSExLHU9MDt1PHIubGVuZ3RoO3UrKyl7dmFyIHM9clt1XSxvPXMudHJpbSgpO2lmKCEoIWEmJiFvKSl7aWYoYT0hMCxvLmluZGV4T2YoIlx1MjNGQSIpPT09MCYmby5sZW5ndGg+Mil7aS5wdXNoKG8uc2xpY2UoMSkudHJpbSgpKTtjb250aW51ZX1pZihvLmluZGV4T2YoIlx1MjVDRiIpPT09MCl7aWYobz1vLnNsaWNlKDEpLnRyaW0oKSwhbyljb250aW51ZTtzPW99aS5wdXNoKHMpfX1mb3IoO2kubGVuZ3RoPjAmJiFpW2kubGVuZ3RoLTFdLnRyaW0oKTspaS5wb3AoKTtmb3IodmFyIGw9W10sYz17fSxkPTA7ZDxpLmxlbmd0aDtkKyspe3ZhciBmPWlbZF0ucmVwbGFjZSgvXHMrL2csIiIpO2YubGVuZ3RoPjUmJmNbZl18fChmLmxlbmd0aD41JiYoY1tmXT0hMCksbC5wdXNoKGlbZF0pKX1yZXR1cm4gbC5qb2luKHQpfWZ1bmN0aW9uIHhvKGUpe3ZhciB0PWAKYCxyPWUuc3BsaXQodCksaT1bXSxhPTA7ZnVuY3Rpb24gdShnKXt2YXIgeT1nLnRyaW0oKTtyZXR1cm4geS5jaGFyQXQoMCk9PT0ifCImJih5PXkuc2xpY2UoMSkpLHkuY2hhckF0KHkubGVuZ3RoLTEpPT09InwiJiYoeT15LnNsaWNlKDAsLTEpKSx5LnNwbGl0KCJ8Iil9ZnVuY3Rpb24gcyhnKXtyZXR1cm4gZz8nIHN0eWxlPSJ0ZXh0LWFsaWduOicrZysnIic6IiJ9ZnVuY3Rpb24gbyhnLHksdyl7dmFyIEY9Ijx0aGVhZD48dHI+IitnLm1hcChmdW5jdGlvbihBLHgpe3JldHVybiI8dGgiK3MoeVt4XSkrIj4iK0EudHJpbSgpKyI8L3RoPiJ9KS5qb2luKCIiKSsiPC90cj48L3RoZWFkPiIsRT13Lmxlbmd0aD8iPHRib2R5PiIrdy5tYXAoZnVuY3Rpb24oQSl7cmV0dXJuIjx0cj4iK0EubWFwKGZ1bmN0aW9uKHgsUyl7cmV0dXJuIjx0ZCIrcyh5W1NdKSsiPiIreC50cmltKCkrIjwvdGQ+In0pLmpvaW4oIiIpKyI8L3RyPiJ9KS5qb2luKCIiKSsiPC90Ym9keT4iOiIiO3JldHVybic8ZGl2IGNsYXNzPSJtZC10YWJsZS13cmFwIj48dGFibGUgY2xhc3M9Im1kLXRhYmxlIj4nK0YrRSsiPC90YWJsZT48L2Rpdj4ifWZvcig7YTxyLmxlbmd0aDspe3ZhciBsPXJbYV07aWYobC5pbmRleE9mKCJ8IikhPT0tMSYmYSsxPHIubGVuZ3RoKXt2YXIgYz1yW2ErMV0udHJpbSgpO2lmKC9eXHw/XHMqOj8tKzo/KFxzKlx8XHMqOj8tKzo/KStccypcfD8kLy50ZXN0KGMpKXtmb3IodmFyIGQ9dShsKSxmPXUoYykubWFwKGZ1bmN0aW9uKGcpe3ZhciB5PWcudHJpbSgpLHc9eS5jaGFyQXQoMCk9PT0iOiIsRj15LmNoYXJBdCh5Lmxlbmd0aC0xKT09PSI6IjtyZXR1cm4gdyYmRj8iY2VudGVyIjpGPyJyaWdodCI6dz8ibGVmdCI6IiJ9KSx2PVtdLG09YSsyO208ci5sZW5ndGg7KXt2YXIgYj1yW21dLnRyaW0oKTtpZighYnx8Yi5pbmRleE9mKCJ8Iik9PT0tMSlicmVhazt2LnB1c2godShyW21dKSksbSs9MX1pLnB1c2goIiIsbyhkLGYsdiksIiIpLGE9bTtjb250aW51ZX19aS5wdXNoKGwpLGErPTF9cmV0dXJuIGkuam9pbih0KX1mdW5jdGlvbiBQYShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1wKGUpLHI9ImAiLGk9YApgO2Z1bmN0aW9uIGEoTSxILE4sWSl7Zm9yKHZhciBLPTA7Oyl7dmFyIFg9TS5pbmRleE9mKEgsSyk7aWYoWD09PS0xKWJyZWFrO3ZhciBhZT1NLmluZGV4T2YoSCxYK0gubGVuZ3RoKTtpZihhZT09PS0xKWJyZWFrO3ZhciBsZT1NLnNsaWNlKFgrSC5sZW5ndGgsYWUpO2lmKCFsZSl7Sz1hZStILmxlbmd0aDtjb250aW51ZX12YXIgdWU9TitsZStZO009TS5zbGljZSgwLFgpK3VlK00uc2xpY2UoYWUrSC5sZW5ndGgpLEs9WCt1ZS5sZW5ndGh9cmV0dXJuIE19ZnVuY3Rpb24gdShNKXtyZXR1cm4gTT49NDgmJk08PTU3fHxNPj02NSYmTTw9OTB8fE0+PTk3JiZNPD0xMjJ8fE09PT05NX1mdW5jdGlvbiBzKE0sSCxOKXtmb3IodmFyIFk9MDtZPE0ubGVuZ3RoOyl7dmFyIEs9TS5pbmRleE9mKCJfIixZKTtpZihLPT09LTEpYnJlYWs7dmFyIFg9Sz4wP00uY2hhckNvZGVBdChLLTEpOjA7aWYodShYKSl7WT1LKzE7Y29udGludWV9Zm9yKHZhciBhZT1LKzEsbGU9LTE7YWU8TS5sZW5ndGg7KXt2YXIgdWU9TS5pbmRleE9mKCJfIixhZSk7aWYodWU9PT0tMSlicmVhazt2YXIgQ2U9dWUrMSxGZT1DZTxNLmxlbmd0aD9NLmNoYXJDb2RlQXQoQ2UpOjA7aWYoIXUoRmUpKXtsZT11ZTticmVha31hZT11ZSsxfWlmKGxlPT09LTEpYnJlYWs7dmFyIGJlPU0uc2xpY2UoSysxLGxlKTtpZighYmUpe1k9bGUrMTtjb250aW51ZX12YXIgTz1IK2JlK047TT1NLnNsaWNlKDAsSykrTytNLnNsaWNlKGxlKzEpLFk9SytPLmxlbmd0aH1yZXR1cm4gTX1mdW5jdGlvbiBvKE0sSCxOLFkpe3JldHVybiBNLnNwbGl0KGkpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSy5pbmRleE9mKEgpIT09MD9LOk4rSy5zbGljZShILmxlbmd0aCkrWX0pLmpvaW4oaSl9ZnVuY3Rpb24gbChNKXtyZXR1cm4gTS5zcGxpdChpKS5tYXAoZnVuY3Rpb24oSCl7dmFyIE49SC5pbmRleE9mKCIuICIpO2lmKE48PTApcmV0dXJuIEg7Zm9yKHZhciBZPTA7WTxOO1krPTEpe3ZhciBLPUguY2hhckNvZGVBdChZKTtpZihLPDQ4fHxLPjU3KXJldHVybiBIfXJldHVybiI8bGk+IitILnNsaWNlKE4rMikrIjwvbGk+In0pLmpvaW4oaSl9ZnVuY3Rpb24gYyhNKXtyZXR1cm4gTS5zcGxpdChpK2kpLm1hcChmdW5jdGlvbihIKXt2YXIgTj1ILnRyaW0oKTtyZXR1cm4gTj9OLmluZGV4T2YoIjxkaXYiKT09PTB8fE4uaW5kZXhPZigiPGgxIik9PT0wfHxOLmluZGV4T2YoIjxoMiIpPT09MHx8Ti5pbmRleE9mKCI8aDMiKT09PTB8fE4uaW5kZXhPZigiPGg0Iik9PT0wfHxOLmluZGV4T2YoIjxoNSIpPT09MHx8Ti5pbmRleE9mKCI8aDYiKT09PTB8fE4uaW5kZXhPZigiPHVsIik9PT0wfHxOLmluZGV4T2YoIjxvbCIpPT09MHx8Ti5pbmRleE9mKCI8bGkiKT09PTB8fE4uaW5kZXhPZigiPGJsb2NrcXVvdGUiKT09PTB8fE4uaW5kZXhPZigiPHByZSIpPT09MD9OOiI8cD4iK04uc3BsaXQoaSkuam9pbigiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oIiIpfWZvcih2YXIgZD0wOzspe3ZhciBmPXQuaW5kZXhPZihyK3IrcixkKTtpZihmPT09LTEpYnJlYWs7dmFyIHY9dC5pbmRleE9mKHIrcityLGYrMyk7aWYodj09PS0xKWJyZWFrO3ZhciBtPXQuc2xpY2UoZiszLHYpLGI9bS5pbmRleE9mKGkpLGc9IiIseT1tO2lmKGIhPT0tMSYmYjwzMCl7Zm9yKHZhciB3PW0uc2xpY2UoMCxiKS50cmltKCksRj13Lmxlbmd0aD4wLEU9MDtFPHcubGVuZ3RoO0UrPTEpe3ZhciBBPXcuY2hhckNvZGVBdChFKSx4PUE+PTQ4JiZBPD01NyxTPUE+PTY1JiZBPD05MCxQPUE+PTk3JiZBPD0xMjI7aWYoIXgmJiFTJiYhUCl7Rj0hMTticmVha319RiYmKGc9dyx5PW0uc2xpY2UoYisxKSl9dmFyIHo9b3YoeS50cmltKCksZyksRz16LnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpLEw9JzxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPjxkaXYgY2xhc3M9ImNvZGUtYmxvY2staGVhZGVyIj48c3BhbiBjbGFzcz0iY29kZS1sYW5nIj4nKyhnfHwiY29kZSIpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iY29kZS1jb3B5Ij5Db3B5PC9idXR0b24+PC9kaXY+PHByZT48Y29kZT4nK0crIjwvY29kZT48L3ByZT48L2Rpdj4iO3Q9dC5zbGljZSgwLGYpK0wrdC5zbGljZSh2KzMpLGQ9ZitMLmxlbmd0aH1mb3IoZD0wOzspe3ZhciBCPXQuaW5kZXhPZihyLGQpO2lmKEI9PT0tMSlicmVhazt2YXIgVD10LmluZGV4T2YocixCKzEpO2lmKFQ9PT0tMSlicmVhaztpZihUPT09QisxKXtkPVQrMTtjb250aW51ZX12YXIgST10LnNsaWNlKEIrMSxUKSxWPUkucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IikscmU9Jzxjb2RlIGNsYXNzPSJjb2RlLWlubGluZSI+JytWKyI8L2NvZGU+Ijt0PXQuc2xpY2UoMCxCKStyZSt0LnNsaWNlKFQrMSksZD1CK3JlLmxlbmd0aH10PWEodCwiKioiLCI8c3Ryb25nPiIsIjwvc3Ryb25nPiIpLHQ9YSh0LCIqIiwiPGVtPiIsIjwvZW0+IiksdD1zKHQsIjxlbT4iLCI8L2VtPiIpLHQ9byh0LCIjIyMgIiwiPGgzPiIsIjwvaDM+IiksdD1vKHQsIiMjICIsIjxoMj4iLCI8L2gyPiIpLHQ9byh0LCIjICIsIjxoMT4iLCI8L2gxPiIpLHQ9byh0LCImZ3Q7ICIsIjxibG9ja3F1b3RlPiIsIjwvYmxvY2txdW90ZT4iKSx0PW8odCwiLSAiLCI8bGk+IiwiPC9saT4iKSx0PW8odCwiKiAiLCI8bGk+IiwiPC9saT4iKSx0PWwodCksdD14byh0KTt2YXIgdGU9dC5zcGxpdChpKSwkPVtdLGllPVtdO2Z1bmN0aW9uIFUoKXtpZS5sZW5ndGgmJigkLnB1c2goIjx1bD4iK2llLmpvaW4oIiIpKyI8L3VsPiIpLGllPVtdKX1yZXR1cm4gdGUuZm9yRWFjaChmdW5jdGlvbihNKXtpZihNLmluZGV4T2YoIjxsaT4iKT09PTAmJk0ubGFzdEluZGV4T2YoIjwvbGk+Iik9PT1NLmxlbmd0aC01KXtpZS5wdXNoKE0pO3JldHVybn1VKCksJC5wdXNoKE0pfSksVSgpLHQ9YygkLmpvaW4oaSkpLCc8ZGl2IGNsYXNzPSJtYXJrZG93bi1jb250ZW50Ij4nK3QrIjwvZGl2PiJ9ZnVuY3Rpb24gb3YoZSx0KXtyZXR1cm4gZT1lLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKSxlfWZ1bmN0aW9uIGdpKGUpe3ZhciB0PVN0cmluZyhlfHwiIikudHJpbSgpO3JldHVybiB0Lmxlbmd0aDw9MjQ/dHx8Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCI6dC5zbGljZSgwLDIxKSsiLi4uIn1mdW5jdGlvbiBIYShlKXtyZXR1cm4gU3RyaW5nKGV8fCIiKS5yZXBsYWNlKC9cclxyXG4vZyxgXHIKYCkucmVwbGFjZSgvXHUwMDAwL2csIiIpfWZ1bmN0aW9uIF9hKCl7aWYoIW4ubG9naW5QZW5kaW5nKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1lcnJvciIpOyFlfHwhdHx8IXJ8fCh0aShyKSxlLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKSxuLmxvZ2luUGVuZGluZz0hMCx0LmRpc2FibGVkPSEwLHQudGV4dENvbnRlbnQ9Ilx1NzY3Qlx1NUY1NVx1NEUyRC4uLiIsZmV0Y2goIi9hcGkvbG9naW4iLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGFzc3dvcmQ6ZS52YWx1ZX0pLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLm9rP2ZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTooZS5kYXRhc2V0LmVycm9yPSJ0cnVlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwidHJ1ZSIpLE5lKHIsIlx1NUJDNlx1NzgwMVx1OTUxOVx1OEJFRlx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHBhc3N3b3JkIikpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe24uY29uZmlnPWk7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cy1kb3QiKSx1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMtdGV4dCIpO3JldHVybiBhJiZhLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLHUmJih1LnRleHRDb250ZW50PSJcdTVERjJcdTc2N0JcdTVGNTUiKSxqdCgpfSkudGhlbihmdW5jdGlvbigpe1F1KCksR3QoKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2NvbnNvbGUuZXJyb3IoIlt3YW5kXSBMb2dpbiBlcnJvcjoiLGkpLGkhPT0iSW52YWxpZCBwYXNzd29yZCImJihlLmRhdGFzZXQuZXJyb3I9InRydWUiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJ0cnVlIiksTmUociwiXHU3NjdCXHU1RjU1XHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIikpfSkuZmluYWxseShmdW5jdGlvbigpe24ubG9naW5QZW5kaW5nPSExLHQuZGlzYWJsZWQ9ITEsdC50ZXh0Q29udGVudD0iXHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwIn0pKX19ZnVuY3Rpb24gamEoKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5zd2l0Y2hTZXJ2ZXI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gU28oKXtpZihqYSgpKXRyeXtXYW5kTmF0aXZlLnN3aXRjaFNlcnZlcigpfWNhdGNoe319ZnVuY3Rpb24gSW8oKXtmZXRjaCgiL2FwaS9sb2dvdXQiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS5jYXRjaChmdW5jdGlvbigpe30pLG5zKCksQW4oITEpLGJhKCkscHIoKSxuLmNvbmZpZz1udWxsLG4uc2VsZWN0ZWRJZD1udWxsLHllKCksbi5zZXNzaW9ucz1bXSxuLmNsYXVkZUhpc3Rvcnk9W10sbi5jbGF1ZGVIaXN0b3J5TG9hZGVkPSExLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSExLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlycz17fSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxHdCgpfWZ1bmN0aW9uIGp0KCl7cmV0dXJuIGRuKCl9ZnVuY3Rpb24gbHYoZSl7cmV0dXJuIGU9PT0iZnVsbC1hY2Nlc3MiPyJcdTUxNjhcdTY3NDNcdTk2NTAiOmU9PT0iZGVmYXVsdCI/Ilx1OUVEOFx1OEJBNCI6ZT09PSJuYXRpdmUiPyJcdTUzOUZcdTc1MUYiOmU9PT0iYXV0by1lZGl0Ij8iXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIjplPT09Im1hbmFnZWQiPyJcdTYyNThcdTdCQTEiOmV9ZnVuY3Rpb24gdnQoKXtyZXR1cm4gbi5zZXNzaW9uVG9vbHx8bi5wcmVmZXJyZWRDb21tYW5kfHwiY2xhdWRlIn1mdW5jdGlvbiBjdigpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PW4uc2VsZWN0ZWRJZH0pO3JldHVybiBlJiZlLnByb3ZpZGVyfHxuLnByZWZlcnJlZENvbW1hbmR8fCJjbGF1ZGUifWZ1bmN0aW9uIFRvKGUsdCl7cmV0dXJuIHQ/Ilx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mlx1NEUyRCI6ZSYmKGUuc3RhdHVzPT09ImV4aXRlZCJ8fGUuc3RhdHVzPT09ImZhaWxlZCJ8fGUuc3RhdHVzPT09InN0b3BwZWQiKT9tYShlKT8iIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIjpvZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0PyJcdTU2REVcdTU5MERcdTRFMkRcdTIwMjZFbnRlciBcdTYzOTJcdTk2MUYgXHhCNyBcdTI2QTEgXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxIjoiIn1mdW5jdGlvbiBMbyhlLHQpe3JldHVybiBlPT09ImNvZGV4Ij8iQ29kZXggXHU2NTJGXHU2MzAxIFBUWSBcdTdFQzhcdTdBRUZcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTZcdUZGMDhKU09OTFx1RkYwOVx1NEUyNFx1NzlDRFx1NEYxQVx1OEJERFx1RkYwQ1x1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NjMwOSBmdWxsLWFjY2VzcyBcdTU0MkZcdTUyQThcdTMwMDIiOnQ9PT0iZnVsbC1hY2Nlc3MiPyJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTY3NDNcdTk2NTBcdThCRjdcdTZDNDJcdTRFMEVcdTlBRDhcdTY3NDNcdTk2NTBcdTY0Q0RcdTRGNUNcdUZGMENcdTkwMDJcdTU0MDhcdTRGNjBcdTc4NkVcdThCQTRcdTczQUZcdTU4ODNcdTVCODlcdTUxNjhcdTU0MEVcdTc2ODRcdThGREVcdTdFRURcdTRGRUVcdTY1MzlcdTMwMDIiOnQ9PT0iYXV0by1lZGl0Ij8iXHU0RkREXHU3NTU5XHU0RUE0XHU0RTkyXHU1RjBGXHU0RjFBXHU4QkREXHVGRjBDXHU1NDBDXHU2NUY2XHU2NkY0XHU1MDRGXHU1NDExXHU3NkY0XHU2M0E1XHU3RjE2XHU4RjkxXHU0RUUzXHU3ODAxXHUzMDAyIjp0PT09Im5hdGl2ZSI/Ilx1OEMwM1x1NzUyOCBDbGF1ZGUgXHU1MzlGXHU3NTFGIEFQSSBcdThGOTNcdTUxRkFcdUZGMENcdTkwMDJcdTU0MDhcdTVGRUJcdTkwMUZcdTk1RUVcdTdCNTRcdTYyMTZcdTRFMDBcdTZCMjFcdTYwMjdcdTc1MUZcdTYyMTBcdTMwMDIiOnQ9PT0ibWFuYWdlZCI/IkFJIFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NjI0MFx1NjcwOVx1NURFNVx1NEY1Q1x1RkYwQ1x1NjVFMFx1OTcwMFx1NEUyRFx1OTAxNFx1Nzg2RVx1OEJBNFx1RkYwQ1x1OTAwMlx1NTQwOFx1NjcwOVx1NjYwRVx1Nzg2RVx1NzZFRVx1NjgwN1x1NzY4NFx1NEVGQlx1NTJBMVx1MzAwMiI6Ilx1NEZERFx1NzU1OVx1NjgwN1x1NTFDNlx1NEVBNFx1NEU5Mlx1NkQ0MVx1N0EwQlx1RkYwQ1x1OTAwMlx1NTQwOFx1NjI0Qlx1NTJBOFx1Nzg2RVx1OEJBNFx1NkJDRlx1NEUwMFx1NkI2NVx1MzAwMiJ9ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIGU9PT0iY29kZXgiP1siZnVsbC1hY2Nlc3MiXTpbImRlZmF1bHQiLCJmdWxsLWFjY2VzcyIsImF1dG8tZWRpdCIsIm5hdGl2ZSIsIm1hbmFnZWQiXX1mdW5jdGlvbiBOdChlLHQpe3ZhciByPU5hKGUpO2lmKHIuaW5kZXhPZih0KSE9PS0xKXJldHVybiB0O3ZhciBpPW4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZT9uLmNvbmZpZy5kZWZhdWx0TW9kZToiZGVmYXVsdCI7cmV0dXJuIHIuaW5kZXhPZihpKSE9PS0xP2k6clswXX1mdW5jdGlvbiB0ZyhlLHQpe3JldHVybiBOYShlKS5tYXAoZnVuY3Rpb24ocil7dmFyIGk9TW8ocik7cmV0dXJuJzxvcHRpb24gdmFsdWU9IicrcChyKSsnIicrKHI9PT10PyIgc2VsZWN0ZWQiOiIiKSsnIHRpdGxlPSInK2krJyI+JytwKGx2KHIpKSsiPC9vcHRpb24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIE1vKGUpe3ZhciB0PXtkZWZhdWx0OiJcdTY4MDdcdTUxQzZcdTZBMjFcdTVGMEYgLSBcdTk3MDBcdTg5ODFcdTc4NkVcdThCQTRcdTY1ODdcdTRFRjZcdTRGRUVcdTY1MzkiLCJmdWxsLWFjY2VzcyI6Ilx1NUI4Q1x1NTE2OFx1OEJCRlx1OTVFRSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1NEUwRVx1NjRDRFx1NEY1QyIsImF1dG8tZWRpdCI6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1NjU4N1x1NEVGNlx1NEZFRVx1NjUzOSIsbmF0aXZlOiJcdTUzOUZcdTc1MUZcdTZBMjFcdTVGMEYgLSBcdThGRDRcdTU2REVcdTdFRDNcdTY3ODRcdTUzMTZcdThGOTNcdTUxRkEiLG1hbmFnZWQ6Ilx1NjI1OFx1N0JBMVx1NkEyMVx1NUYwRiAtIEFJIFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NjI0MFx1NjcwOVx1NURFNVx1NEY1QyJ9O3JldHVybiB0W2VdfHwiIn1mdW5jdGlvbiBkdihlKXt2YXIgdD1lJiZlLnByb3ZpZGVyP2UucHJvdmlkZXI6ImNsYXVkZSI7cmV0dXJuKG9lKGUpPyJcdTdFRDNcdTY3ODRcdTUzMTYiOiJcdTdFQzhcdTdBRUYiKSsiIFx4QjcgIit0fWZ1bmN0aW9uIGZ2KGUpe3JldHVybiBvZShlKT8iXHU3RUQzXHU2Nzg0XHU1MzE2IFx4QjcgXHU1NzU3XHU3RUE3XHU4QkIwXHU1RjU1IjplJiZlLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHU3RUM4XHU3QUVGIFx4QjcgQ29kZXggUFRZXHVGRjA4Y2hhdCBcdTRFM0FcdTg5RTNcdTY3OTBcdTg5QzZcdTU2RkVcdUZGMDkiOiJcdTdFQzhcdTdBRUYgXHhCNyBQVFkgXHU0RjFBXHU4QkREIn1mdW5jdGlvbiBwdihlKXtyZXR1cm4gZT9vZShlKXx8ZS5wcm92aWRlcj09PSJjb2RleCI6ITF9ZnVuY3Rpb24gcW8oZSx0KXtpZighZXx8IWUuaXNfZXJyb3J8fCF0fHx0LmlzX2Vycm9yKXJldHVybiExO3ZhciByPWxuKGUuY29udGVudCkudG9Mb3dlckNhc2UoKSxpPWxuKHQuY29udGVudCkudG9Mb3dlckNhc2UoKTtyZXR1cm4gcj9yLmluZGV4T2YoImludmFsaWQgcGFnZXMgcGFyYW1ldGVyIikhPT0tMSYmaS5sZW5ndGg+MDohMX1mdW5jdGlvbiBvZShlKXtyZXR1cm4hIWUmJihlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxlLnJ1bm5lcj09PSJjbGF1ZGUtY2xpLXByaW50Iil9ZnVuY3Rpb24gaGkoKXtuLmNoYXRNb2RlPU50KCJjbGF1ZGUiLG4uY2hhdE1vZGUpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWhpbnQiKTtlJiYoZS50ZXh0Q29udGVudD1NbyhuLmNoYXRNb2RlKSksSm4oKX1mdW5jdGlvbiBSYShlLHQpe3Q9dHx8e307dmFyIHI9dC5raW5kPT09ImNvbXBhY3QifHx0LmtpbmQ9PT0icG9wb3ZlciI/dC5raW5kOiJkcm9wZG93biIsaT12dCgpLGE9bi5jaGF0TW9kZXx8ImRlZmF1bHQiLHU9UG8oZSl8fCJkZWZhdWx0IixzPWpvKGUpO2Z1bmN0aW9uIG8obCxjLGQsZil7dmFyIHY9cj09PSJjb21wYWN0Ij8iIjonPHNwYW4gY2xhc3M9ImNoYXQtbW9kZS10cmlvLXRhZyI+JytwKGMpKyI8L3NwYW4+IjtyZXR1cm4nPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtcGlsbCBjaGF0LW1vZGUtdHJpby1waWxsIiBkYXRhLW1vZGUtY29udHJvbC1waWxsPSInK2wrJyIgdGl0bGU9IicrcChjKSsnIj4nK3YrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LWxhYmVsIj4nK3AoZCkrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSInK2wrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsPSInK3AoYykrJyI+JytmKyI8L3NlbGVjdD48L3NwYW4+In1yZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tb2RlLXRyaW8gY2hhdC1tb2RlLXRyaW8tJytyKyciIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJcdTRGMUFcdThCRERcdThCQkVcdTdGNkUiPicrbygibW9kZSIsIlx1NkEyMVx1NUYwRiIsYSxPbyhpLGEpKSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtc2VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHhCNzwvc3Bhbj4nK28oIm1vZGVsIiwiXHU2QTIxXHU1NzhCIix1LF9vKHUsZSkpKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceEI3PC9zcGFuPicrbygidGhpbmtpbmciLCJcdTYwMURcdTgwMDMiLHMsTm8ocykpKyI8L2Rpdj4ifWZ1bmN0aW9uIEpuKCl7dmFyIGU9bXQoKSx0PXZ0KCkscj1uLmNoYXRNb2RlfHwiZGVmYXVsdCIsaT1QbyhlKXx8ImRlZmF1bHQiLGE9am8oZSksdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tb2RlLXRyaW8iKTt1LmZvckVhY2goZnVuY3Rpb24ocyl7ZnVuY3Rpb24gbyhsLGMsZCl7dmFyIGY9cy5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0iJytsKyciXScpO2lmKGYpe3ZhciB2PWYucXVlcnlTZWxlY3RvcigiLmNvbXBvc2VyLXRleHQtbGFiZWwiKTt2JiYodi50ZXh0Q29udGVudD1jKTt2YXIgbT1mLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbD0iJytsKyciXScpO20mJihkJiYobS5pbm5lckhUTUw9ZCksbS52YWx1ZSE9PWMmJihtLnZhbHVlPWMpKX19bygibW9kZSIscixPbyh0LHIpKSxvKCJtb2RlbCIsaSxfbyhpLGUpKSxvKCJ0aGlua2luZyIsYSxObyhhKSl9KX1mdW5jdGlvbiBPbyhlLHQpe3JldHVybiBOYShlKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuJzxvcHRpb24gdmFsdWU9IicrcChyKSsnIicrKHI9PT10PyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChyKSsiPC9vcHRpb24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIFBvKGUpe3JldHVybiBlJiZlLnNlbGVjdGVkTW9kZWw/ZS5zZWxlY3RlZE1vZGVsOm4uY2hhdE1vZGVsP24uY2hhdE1vZGVsOm4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWw/bi5jb25maWcuZGVmYXVsdE1vZGVsOiIifWZ1bmN0aW9uIEhvKGUpe3ZhciB0PWUmJmUucHJvdmlkZXJ8fG4uc2Vzc2lvblRvb2x8fCJjbGF1ZGUiO3JldHVybiB0PT09ImNvZGV4Ij9uLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXTpuLmF2YWlsYWJsZU1vZGVsc3x8W119ZnVuY3Rpb24gdnYoZSx0KXtmb3IodmFyIHI9SG8odCksaT0nPG9wdGlvbiB2YWx1ZT0iIj5cdTlFRDhcdThCQTRcdUZGMDhcdThEREZcdTk2OEZcdThCQkVcdTdGNkVcdUZGMDk8L29wdGlvbj4nLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIHU9clthXSxzPXUubGFiZWx8fHUuaWQ7aSs9JzxvcHRpb24gdmFsdWU9IicrcCh1LmlkKSsnIicrKHUuaWQ9PT1lPyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChzKSsiPC9vcHRpb24+In1yZXR1cm4gZSYmIXIuc29tZShmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KSYmKGkrPSc8b3B0aW9uIHZhbHVlPSInK3AoZSkrJyIgc2VsZWN0ZWQ+JytwKGUpKyJcdUZGMDhcdTgxRUFcdTVCOUFcdTRFNDlcdUZGMDk8L29wdGlvbj4iKSxpfWZ1bmN0aW9uIF9vKGUsdCl7Zm9yKHZhciByPUhvKHQpLGk9JzxvcHRpb24gdmFsdWU9IiI+ZGVmYXVsdDwvb3B0aW9uPicsYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yW2FdO2krPSc8b3B0aW9uIHZhbHVlPSInK3AodS5pZCkrJyInKyh1LmlkPT09ZT8iIHNlbGVjdGVkIjoiIikrIj4iK3AodS5pZCkrIjwvb3B0aW9uPiJ9cmV0dXJuIGUmJiFyLnNvbWUoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lfSkmJihpKz0nPG9wdGlvbiB2YWx1ZT0iJytwKGUpKyciIHNlbGVjdGVkPicrcChlKSsiPC9vcHRpb24+IiksaX1mdW5jdGlvbiBZbihlKXtKbigpfXZhciBjbj1be2lkOiJvZmYiLGxhYmVsOiJvZmYiLGhpbnQ6Ilx1NEUwRFx1NTQyRlx1NzUyOFx1NjAxRFx1ODAwM1x1RkYwOENMSSBcdTY1RTBcdTUyNERcdTdGMDBcdUZGMUJTREsgXHU1MTczXHU5NUVEIHRoaW5raW5nXHVGRjFCQ29kZXggbWluaW1hbFx1RkYwOSJ9LHtpZDoic3RhbmRhcmQiLGxhYmVsOiJ0aGluayIsaGludDoiQ2xhdWRlIENMSTogdGhpbmsgXHhCNyBTREsgYnVkZ2V0IDQwOTYgXHhCNyBDb2RleCBsb3cifSx7aWQ6ImRlZXAiLGxhYmVsOiJ0aGluayBoYXJkIixoaW50OiJDbGF1ZGUgQ0xJOiB0aGluayBoYXJkIFx4QjcgU0RLIGJ1ZGdldCAxNjAwMCBceEI3IENvZGV4IG1lZGl1bSJ9LHtpZDoibWF4IixsYWJlbDoidWx0cmF0aGluayIsaGludDoiQ2xhdWRlIENMSTogdWx0cmF0aGluayBceEI3IFNESyBidWRnZXQgMzE5OTkgXHhCNyBDb2RleCBoaWdoIn1dO2Z1bmN0aW9uIG12KGUpe2Zvcih2YXIgdD0wO3Q8Y24ubGVuZ3RoO3QrKylpZihjblt0XS5pZD09PWUpcmV0dXJuIGNuW3RdLmxhYmVsO3JldHVybiBjblswXS5sYWJlbH1mdW5jdGlvbiBqbyhlKXtyZXR1cm4gZSYmZS50aGlua2luZ0VmZm9ydD9lLnRoaW5raW5nRWZmb3J0Om4uY2hhdFRoaW5raW5nP24uY2hhdFRoaW5raW5nOiJvZmYifWZ1bmN0aW9uIG5nKGUpe2Zvcih2YXIgdD1lfHwib2ZmIixyPSIiLGk9MDtpPGNuLmxlbmd0aDtpKyspe3ZhciBhPWNuW2ldO3IrPSc8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09dD8iIHNlbGVjdGVkIjoiIikrJyB0aXRsZT0iJytwKGEuaGludCkrJyI+JytwKGEubGFiZWwpKyI8L29wdGlvbj4ifXJldHVybiByfWZ1bmN0aW9uIE5vKGUpe2Zvcih2YXIgdD1lfHwib2ZmIixyPSIiLGk9MDtpPGNuLmxlbmd0aDtpKyspe3ZhciBhPWNuW2ldO3IrPSc8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09dD8iIHNlbGVjdGVkIjoiIikrIj4iK3AoYS5pZCkrIjwvb3B0aW9uPiJ9cmV0dXJuIHJ9ZnVuY3Rpb24gcmcoZSl7Sm4oKX1mdW5jdGlvbiBndihlKXt2YXIgdD0oZXx8Im9mZiIpLnRyaW0oKTt0IT09Im9mZiImJnQhPT0ic3RhbmRhcmQiJiZ0IT09ImRlZXAiJiZ0IT09Im1heCImJih0PSJvZmYiKSxuLmNoYXRUaGlua2luZz10O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiLHQpfWNhdGNoe31KbigpO3ZhciByPW10KCk7ciYmZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5pZCkrIi90aGlua2luZy1lZmZvcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHt0aGlua2luZ0VmZm9ydDp0fSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaSYmaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1pJiZpLmlkJiYoWihpKSx0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK212KHQpLCJzdWNjZXNzIikpfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCJcdTUyMDdcdTYzNjJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTU5MzFcdThEMjUiLCJlcnJvciIpfSl9ZnVuY3Rpb24gUm8oZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS5tb2RlO3JldHVybiB0PT09Im1hbmFnZWQifHx0PT09ImZ1bGwtYWNjZXNzIn1mdW5jdGlvbiBodihlKXtpZighZXx8Um8oZSkpcmV0dXJuIiI7dmFyIHQ9ISFlLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7cmV0dXJuIHQ/JzxzcGFuIGlkPSJhdXRvLWFwcHJvdmUtdG9nZ2xlIiBjbGFzcz0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciBhY3RpdmUiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjggXHUyMDE0IFx1NzBCOVx1NTFGQlx1NTE3M1x1OTVFRCI+JytKKCJzaGllbGRDaGVjayIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU4MUVBXHU1MkE4PC9zcGFuPjwvc3Bhbj4nOic8c3BhbiBpZD0iYXV0by1hcHByb3ZlLXRvZ2dsZSIgY2xhc3M9ImNvbXBvc2VyLXBpbGwgY29tcG9zZXItcGlsbC1jaGlwIGF1dG8tYXBwcm92ZS1pbmRpY2F0b3IiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQgXHUyMDE0IFx1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiI+JytKKCJzaGllbGQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuNyxjbHM6ImNvbXBvc2VyLXBpbGwtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXBpbGwtbGFiZWwiPlx1NjI0Qlx1NTJBODwvc3Bhbj48L3NwYW4+J31mdW5jdGlvbiBXbygpe3JldHVybiBmZXRjaCgiL2FwaS9tb2RlbHMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlJiZBcnJheS5pc0FycmF5KGUubW9kZWxzKSYmKG4uYXZhaWxhYmxlTW9kZWxzPWUubW9kZWxzLG4uYXZhaWxhYmxlQ29kZXhNb2RlbHM9QXJyYXkuaXNBcnJheShlLmNvZGV4TW9kZWxzKT9lLmNvZGV4TW9kZWxzOltdLFluKG10KCkpLHlpKGUpKSxlfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pfWZ1bmN0aW9uIHl2KCl7aWYobi5tb2RlbHNSZWZyZXNoaW5nKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7bi5tb2RlbHNSZWZyZXNoaW5nPSEwO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbC1yZWZyZXNoIik7cmV0dXJuIGUmJihlLmRpc2FibGVkPSEwLGUudGV4dENvbnRlbnQ9Ilx1NTIzN1x1NjVCMFx1NEUyRC4uLiIpLGZldGNoKCIvYXBpL21vZGVscy9yZWZyZXNoIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0JiZBcnJheS5pc0FycmF5KHQubW9kZWxzKSYmKG4uYXZhaWxhYmxlTW9kZWxzPXQubW9kZWxzLG4uYXZhaWxhYmxlQ29kZXhNb2RlbHM9QXJyYXkuaXNBcnJheSh0LmNvZGV4TW9kZWxzKT90LmNvZGV4TW9kZWxzOltdLFluKG10KCkpLHlpKHQpLHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKCJcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTVERjJcdTUyMzdcdTY1QjAiKyh0LmNsYXVkZVZlcnNpb24/Ilx1RkYwOGNsYXVkZSAiK3QuY2xhdWRlVmVyc2lvbisiXHVGRjA5IjoiIiksInN1Y2Nlc3MiKSksdH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKCJcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTU5MzFcdThEMjUiLCJlcnJvciIpLG51bGx9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5tb2RlbHNSZWZyZXNoaW5nPSExLGUmJihlLmRpc2FibGVkPSExLGUudGV4dENvbnRlbnQ9Ilx1NTIzN1x1NjVCMCIpfSl9ZnVuY3Rpb24gYnYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtpZighZSl7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIiksZS5pZD0iZW52LXByZXZpZXctbW9kYWwiLGUuY2xhc3NOYW1lPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iLGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtb2RhbCBlbnYtcHJldmlldy1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9ImVudi1wcmV2aWV3LXRpdGxlIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXRpdGxlIj5cdTVDMDZcdTZDRThcdTUxNjVcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0Y8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXN1YnRpdGxlIj5cdThGRDlcdTRFOUJcdTUzRDhcdTkxQ0ZcdTRGMUFcdTg4QUJcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXhcdUZGMDhQVFkgXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2XHU4RkQwXHU4ODRDXHU1NjY4XHU0RTAwXHU4MUY0XHVGRjA5XHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImVudi1wcmV2aWV3LWNsb3NlIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSBlbnYtcHJldmlldy1ib2R5Ij48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy10b29sYmFyIj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1tZXRhIiBpZD0iZW52LXByZXZpZXctbWV0YSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctY29udHJvbHMiPjxpbnB1dCBpZD0iZW52LXByZXZpZXctc2VhcmNoIiBjbGFzcz0iZW52LXByZXZpZXctc2VhcmNoIiB0eXBlPSJzZWFyY2giIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTUzRDhcdTkxQ0ZcdTU0MERcdTIwMjYiIC8+PGxhYmVsIGNsYXNzPSJlbnYtcHJldmlldy1yZXZlYWwiPjxpbnB1dCBpZD0iZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIgdHlwZT0iY2hlY2tib3giIC8+PHNwYW4+XHU2NjNFXHU3OTNBXHU2NTRGXHU2MTFGXHU1MDNDPC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbGlzdCIgaWQ9ImVudi1wcmV2aWV3LWxpc3QiIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIgZW52LXByZXZpZXctZm9vdGVyIj48c3BhbiBjbGFzcz0iZW52LXByZXZpZXctaGludCI+XHU2NTRGXHU2MTFGXHU1QjU3XHU2QkI1XHVGRjA4XHU1NDJCIEtFWS9UT0tFTi9TRUNSRVQgXHU3QjQ5XHVGRjA5XHU5RUQ4XHU4QkE0XHU2M0E5XHU3ODAxXHVGRjBDXHU1M0VGXHU1MkZFXHU5MDA5XHUzMDBDXHU2NjNFXHU3OTNBXHU2NTRGXHU2MTFGXHU1MDNDXHUzMDBEXHU0RTM0XHU2NUY2XHU4RkQ4XHU1MzlGXHUzMDAyPC9zcGFuPjxidXR0b24gaWQ9ImVudi1wcmV2aWV3LWNsb3NlLTIiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1MTczXHU5NUVEPC9idXR0b24+PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKG8pe28udGFyZ2V0PT09ZSYmV2EoKX0pO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LWNsb3NlIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsV2EpO3ZhciByPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LWNsb3NlLTIiKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixXYSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctc2VhcmNoIik7YSYmYS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtWbygpfSk7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIpO2kmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3pvKGkuY2hlY2tlZCl9KX1lLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LXJldmVhbC10b2dnbGUiKTtpJiYoaS5jaGVja2VkPSExKTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1zZWFyY2giKTthJiYoYS52YWx1ZT0iIiksem8oITEpfWZ1bmN0aW9uIFdhKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LW1vZGFsIik7ZSYmVWEoZSl9ZnVuY3Rpb24gem8oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LWxpc3QiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbnYtcHJldmlldy1tZXRhIik7dCYmKHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2Iik7dmFyIGk9Ii9hcGkvc2V0dGluZ3MvZW52LXByZXZpZXciKyhlPyI/cmV2ZWFsPTEiOiIiKTtmZXRjaChpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKCFhfHwhQXJyYXkuaXNBcnJheShhLmVudHJpZXMpKXt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdThCRkJcdTUzRDZcdTU5MzFcdThEMjVcdTMwMDI8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU4QkZCXHU1M0Q2XHU1OTMxXHU4RDI1Iik7cmV0dXJufWlmKG4uX2VudlByZXZpZXc9YSxyKXt2YXIgdT1hLmluaGVyaXRFbnY/Ilx1N0VFN1x1NjI3Rlx1NzIzNlx1OEZEQlx1N0EwQiI6Ilx1NjcwMFx1NUMwRlx1NzY3RFx1NTQwRFx1NTM1NSI7ci5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1waWxsICcrKGEuaW5oZXJpdEVudj8iaXMtaW5oZXJpdCI6ImlzLW1pbmltYWwiKSsnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZW52LXByZXZpZXctY291bnQiPlx1NTE3MSAnK2EudG90YWwrIiBcdTk4Nzk8L3NwYW4+In1WbygpfSkuY2F0Y2goZnVuY3Rpb24oKXt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdThCRkJcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdThCRjdcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDI8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU4QkZCXHU1M0Q2XHU1OTMxXHU4RDI1Iil9KX1mdW5jdGlvbiBWbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbnYtcHJldmlldy1saXN0Iik7aWYoZSl7dmFyIHQ9bi5fZW52UHJldmlldztpZighdHx8IUFycmF5LmlzQXJyYXkodC5lbnRyaWVzKSl7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdTVDMUFcdTY3MkFcdTUyQTBcdThGN0RcdTMwMDI8L2Rpdj4nO3JldHVybn1mb3IodmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LXNlYXJjaCIpLGk9KHImJnIudmFsdWV8fCIiKS50cmltKCkudG9Mb3dlckNhc2UoKSxhPSIiLHU9MCxzPTA7czx0LmVudHJpZXMubGVuZ3RoO3MrKyl7dmFyIG89dC5lbnRyaWVzW3NdO2lmKCEoaSYmby5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihpKT09PS0xKSl7dSsrO3ZhciBsPXR5cGVvZiBvLnZhbHVlPT0ic3RyaW5nIiYmby52YWx1ZS5jaGFyQXQoMCk9PT0iPCImJm8udmFsdWUuY2hhckF0KG8udmFsdWUubGVuZ3RoLTEpPT09Ij4iO2ErPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1yb3cnKyhvLnNlbnNpdGl2ZT8iIGlzLXNlbnNpdGl2ZSI6IiIpKyciPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LW5hbWUiPicrcChvLm5hbWUpKyhvLnNlbnNpdGl2ZT8nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LWJhZGdlIiB0aXRsZT0iXHU4OEFCXHU4QkM2XHU1MjJCXHU0RTNBXHU2NTRGXHU2MTFGXHU1QjU3XHU2QkI1Ij5cdTY1NEZcdTYxMUY8L3NwYW4+JzoiIikrKGw/JzxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1iYWRnZSBlbnYtcHJldmlldy1iYWRnZS1ydW50aW1lIiB0aXRsZT0iXHU2MzA5XHU0RjFBXHU4QkREXHU1MkE4XHU2MDAxXHU2Q0U4XHU1MTY1Ij5cdThGRDBcdTg4NENcdTY1RjY8L3NwYW4+JzoiIikrJzwvZGl2PjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXZhbHVlJysobD8iIGlzLXJ1bnRpbWUiOiIiKSsnIiB0aXRsZT0iJytwKFN0cmluZyhvLnZhbHVlKSkrJyI+JytwKFN0cmluZyhvLnZhbHVlKSkrJzwvZGl2PjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxlbiI+JytvLmxlbmd0aCsiIFx1NUI1N1x1N0IyNjwvZGl2PjwvZGl2PiJ9fXU9PT0wJiYoYT0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTMzOVx1OTE0RFx1NzY4NFx1NTNEOFx1OTFDRlx1MzAwMjwvZGl2PicpLGUuaW5uZXJIVE1MPWF9fWZ1bmN0aW9uIHlpKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbCIpO2lmKHQpe3ZhciByPXQudmFsdWUsaT1yfHxuLmNvbmZpZ0RlZmF1bHRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiI7dC5pbm5lckhUTUw9dnYoaSx7cHJvdmlkZXI6ImNsYXVkZSJ9KSx0LnZhbHVlPWk7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsLXZlcnNpb24iKTthJiZlJiYoYS50ZXh0Q29udGVudD1lLmNsYXVkZVZlcnNpb24/Ilx1NURGMlx1NjhDMFx1NkQ0Qlx1NTIzMCBjbGF1ZGUgIitlLmNsYXVkZVZlcnNpb246Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1NjVGNlx1OUVEOFx1OEJBNFx1NEY3Rlx1NzUyOFx1OEJFNVx1NkEyMVx1NTc4Qlx1MzAwMiIpfX1mdW5jdGlvbiBtdCgpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuIG51bGw7Zm9yKHZhciBlPTA7ZTxuLnNlc3Npb25zLmxlbmd0aDtlKyspaWYobi5zZXNzaW9uc1tlXS5pZD09PW4uc2VsZWN0ZWRJZClyZXR1cm4gbi5zZXNzaW9uc1tlXTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBFdihlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtuLmNoYXRNb2RlbD10O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIix0KX1jYXRjaHt9Sm4oKTt2YXIgcj1tdCgpO3ImJmZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuaWQpKyIvbW9kZWwiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHttb2RlbDp0fHxudWxsfSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaSYmaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1pZihpJiZpLmlkJiYoWihpKSx0eXBlb2Ygaz09ImZ1bmN0aW9uIikpe3ZhciBhPXR8fCJcdTlFRDhcdThCQTQiLHU9ci5wcm92aWRlcj09PSJjb2RleCI/Ilx1RkYwOFx1NEUwQlx1NkIyMVx1NUJGOVx1OEJERFx1NzUxRlx1NjU0OFx1RkYwOSI6IiI7aygiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCIFx1MjE5MiAiK2ErdSwic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7aygiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1IiwiZXJyb3IiKX0pfWZ1bmN0aW9uIFVvKGUsdCxyLGkpe3ZhciBhPW4uc2Vzc2lvblRvb2w9PT0iY29kZXgiPyJjb2RleCI6ImNsYXVkZSIsdT1uLmNoYXRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiIscz1uLmNoYXRUaGlua2luZ3x8Im9mZiIsbz17Y3dkOnR8fEplKCksbW9kZTpyfHxuLmNoYXRNb2RlfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixwcm92aWRlcjphLHJ1bm5lcjphPT09ImNvZGV4Ij8iY29kZXgtY2xpLWV4ZWMiOm4uY29uZmlnJiZuLmNvbmZpZy5zdHJ1Y3R1cmVkUnVubmVyPT09InNkayI/ImNsYXVkZS1zZGsiOm4uc3RydWN0dXJlZFJ1bm5lcnx8ImNsYXVkZS1jbGktcHJpbnQiLHByb21wdDplfHx2b2lkIDAsd29ya3RyZWVFbmFibGVkOmk9PT0hMCxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6c307cmV0dXJuIGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG8pfSkudGhlbihmdW5jdGlvbihsKXtyZXR1cm4gbC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGwpe2lmKGwuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGwuZXJyb3IpO3JldHVybiBuLnNlbGVjdGVkSWQ9bC5pZCx5ZSgpLG4uZHJhZnRzW2wuaWRdPSIiLEN0KCksWihsKSx2ZSgpLEVyKGwuaWQpLHhuKGwuaWQpLGZuKGwuaWQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbH0pfSl9ZnVuY3Rpb24gYmkoKXt2YXIgZT0hIW4uc2VsZWN0ZWRJZCx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxhPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PW4uc2VsZWN0ZWRJZH0pLHU9b2UoYSkscz1lJiYhdSYmbi5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCIsbz1lJiYodXx8bi5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpO3U/bi5jdXJyZW50Vmlldz0iY2hhdCI6ZXx8KG4uY3VycmVudFZpZXc9InRlcm1pbmFsIiksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixzKSx0LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIXMpKSxyJiYoci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG8pLHIuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhbykpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixlKSxyJiZvJiZBYShyKSxycigpLEtlKCksRnIoKX1mdW5jdGlvbiBrcigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWRlc2NyaXB0aW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWRlc2NyaXB0aW9uIikscj1uLnNlc3Npb25Ub29sfHwiY2xhdWRlIixpPW4uc2Vzc2lvbkNyZWF0ZUtpbmR8fCJzdHJ1Y3R1cmVkIjtuLnNlc3Npb25Ub29sPXIsbi5tb2RlVmFsdWU9TnQocixuLm1vZGVWYWx1ZXx8bi5jaGF0TW9kZXx8ImRlZmF1bHQiKTt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcHJvdmlkZXItY2FyZHMgLnByb3ZpZGVyLWNhcmQiKTthLmxlbmd0aCYmYS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBsPW8uZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7by5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGw9PT1yKSxvLmNsYXNzTGlzdC5yZW1vdmUoImRpc2FibGVkIil9KTt2YXIgdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjc2Vzc2lvbi1raW5kLWNhcmRzIC5zZXNzaW9uLWtpbmQtY2FyZCIpO3UubGVuZ3RoJiZ1LmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGw9by5nZXRBdHRyaWJ1dGUoImRhdGEtc2Vzc2lvbi1raW5kIiksYz0hMTtvLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbD09PWkpLG8uY2xhc3NMaXN0LnRvZ2dsZSgiZGlzYWJsZWQiLGMpfSk7dmFyIHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI21vZGUtY2FyZHMgLm1vZGUtY2FyZCIpO3MubGVuZ3RoJiZzLmZvckVhY2goZnVuY3Rpb24obyl7by5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG8uZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKT09PW4ubW9kZVZhbHVlKX0pLHQmJih0LnRleHRDb250ZW50PU51KGkpKSxlJiYoZS50ZXh0Q29udGVudD1MbyhyLG4ubW9kZVZhbHVlKSl9ZnVuY3Rpb24gWihlKXtpZighKCFlfHwhZS5pZCkpe3ZhciB0PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PWUuaWR9KXx8bnVsbCxyPUlsKGUsdCksaT0hMSxhPW51bGw7bi5zZXNzaW9ucz1uLnNlc3Npb25zLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZCE9PXIuaWQ/czooYT1zLGk9ITAsT2JqZWN0LmFzc2lnbih7fSxzLHIpKX0pLGl8fG4uc2Vzc2lvbnMudW5zaGlmdChyKTt2YXIgdT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1yLmlkfSl8fHI7dSYmQXJyYXkuaXNBcnJheSh1LnF1ZXVlZE1lc3NhZ2VzKSYmci5pZD09PW4uc2VsZWN0ZWRJZCYmKGpyKHUpLG91KCksdW4oKSksci5pZD09PW4uc2VsZWN0ZWRJZCYmKEVhKCksSnQoKSksci5zdGF0dXMmJnIuc3RhdHVzIT09InJ1bm5pbmciJiZuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZzZXRUaW1lb3V0KGFpLDApfX1mdW5jdGlvbiB4bihlKXshZXx8IW4ud3N8fG4ud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOfHxuLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InN1YnNjcmliZSIsc2Vzc2lvbklkOmV9KSl9ZnVuY3Rpb24gRnYoZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgcj1PYmplY3QuYXNzaWduKHt9LGUsdCksaT1lLm91dHB1dHx8IiIsYT10Lm91dHB1dHx8IiIsdT1pLmxlbmd0aD5hLmxlbmd0aCxzPWUuc3RydWN0dXJlZFN0YXRlfHxudWxsLG89dC5zdHJ1Y3R1cmVkU3RhdGV8fG51bGwsbD1lLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHx0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGM9ISEoZS5tZXNzYWdlcyYmZS5tZXNzYWdlcy5sZW5ndGgmJihmdW5jdGlvbigpe3ZhciBnPWUubWVzc2FnZXNbZS5tZXNzYWdlcy5sZW5ndGgtMV07cmV0dXJuIGcmJmcucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGcuY29udGVudCkmJmcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSksZD1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2w/YXIoZS5tZXNzYWdlcyk6ZS5tZXNzYWdlczpbXSxmPUFycmF5LmlzQXJyYXkodC5tZXNzYWdlcyk/bD9hcih0Lm1lc3NhZ2VzKTp0Lm1lc3NhZ2VzOltdLHY9Zi5sZW5ndGg+MCYmKGZ1bmN0aW9uKCl7dmFyIGc9ZltmLmxlbmd0aC0xXTtyZXR1cm4gZyYmZy5yb2xlPT09ImFzc2lzdGFudCImJkFycmF5LmlzQXJyYXkoZy5jb250ZW50KSYmIWcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSxtPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCImJiEhcyYmcy5pbkZsaWdodD09PSEwJiYoIW98fG8uaW5GbGlnaHQhPT0hMCkmJmMmJiEhcy5hY3RpdmVSZXF1ZXN0SWQmJiEhbyYmISFvLmFjdGl2ZVJlcXVlc3RJZCYmby5hY3RpdmVSZXF1ZXN0SWQ9PT1zLmFjdGl2ZVJlcXVlc3RJZCYmIXYsYj1kLmxlbmd0aD5mLmxlbmd0aHx8ZC5sZW5ndGg+MCYmZi5sZW5ndGg+MCYmSlNPTi5zdHJpbmdpZnkoZFtkLmxlbmd0aC0xXSkhPT1KU09OLnN0cmluZ2lmeShmW2YubGVuZ3RoLTFdKSYmSlNPTi5zdHJpbmdpZnkoZCkubGVuZ3RoPkpTT04uc3RyaW5naWZ5KGYpLmxlbmd0aDtyZXR1cm4gdSYmKHIub3V0cHV0PWkpLG0mJihyLnN0YXR1cz1lLnN0YXR1c3x8ci5zdGF0dXMsci5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxvfHx7fSxzLHtpbkZsaWdodDohMH0pLHIubWVzc2FnZXM9ZS5tZXNzYWdlcyksYiYmKHIubWVzc2FnZXM9ZCksZS5pZD09PW4uc2VsZWN0ZWRJZCYmKGUucGVybWlzc2lvbkJsb2NrZWQmJnQucGVybWlzc2lvbkJsb2NrZWQ9PT0hMXx8ZS5wZXJtaXNzaW9uQmxvY2tlZCYmIXQucGVybWlzc2lvbkJsb2NrZWQmJihyLnBlcm1pc3Npb25CbG9ja2VkPSEwKSxlLnBlbmRpbmdFc2NhbGF0aW9uJiYhdC5wZW5kaW5nRXNjYWxhdGlvbiYmdC5wZXJtaXNzaW9uQmxvY2tlZCE9PSExJiYoci5wZW5kaW5nRXNjYWxhdGlvbj1lLnBlbmRpbmdFc2NhbGF0aW9uKSxlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wJiYoIXQubWVzc2FnZXN8fHQubWVzc2FnZXMubGVuZ3RoPT09MCkmJihyLm1lc3NhZ2VzPWUubWVzc2FnZXMpKSxyfWZ1bmN0aW9uIHR0KGUsdCxyKXtpZihlJiZlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wKXJldHVybiBlLm1lc3NhZ2VzO2lmKGUmJmUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpcmV0dXJuW107aWYoIXIpcmV0dXJuW107dmFyIGk9dHlwZW9mIHQ9PSJzdHJpbmciP3Q6ZSYmZS5vdXRwdXR8fCIiO3JldHVybiBpP2pwKGksZSYmZS5jb21tYW5kKTpbXX1mdW5jdGlvbiB3dihlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiBudWxsO2lmKG4uc2VsZWN0ZWRJZCl7dmFyIHQ9ZS5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIHQ/dC5pZDpudWxsfXZhciByPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGF0dXM9PT0icnVubmluZyJ9KTtpZihyKXJldHVybiByLmlkO3ZhciBpPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4hYS5hcmNoaXZlZH0pO3JldHVybiBpP2kuaWQ6ZVswXS5pZH1mdW5jdGlvbiBkbihlKXt2YXIgdD1lfHx7fTtyZXR1cm4gZmV0Y2goIi9hcGkvc2Vzc2lvbnMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtpZihyLnN0YXR1cz09PTQwMSl7SW8oKTtyZXR1cm59cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXt2YXIgaT1yfHxbXSxhPW5ldyBTZXQoaS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWR9KSk7T2JqZWN0LmtleXMobi5kcmFmdHMpLmZvckVhY2goZnVuY3Rpb24oZil7YS5oYXMoZil8fGRlbGV0ZSBuLmRyYWZ0c1tmXX0pLG4uc2Vzc2lvbnM9aS5tYXAoZnVuY3Rpb24oZil7dmFyIHY9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG0pe3JldHVybiBtLmlkPT09Zi5pZH0pO3JldHVybiBGdih2LGYpfSk7dmFyIHU9d3Yobi5zZXNzaW9ucyk7aWYodSE9PXZvaWQgMCYmKG4uc2VsZWN0ZWRJZD11KSxjdSgpLHVuKCksbi5ib290c3RyYXBwaW5nPSExLHllKCksbi5tb2RhbE9wZW4pdmUoKTtlbHNle3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1saXN0Iiksbz1XaSgpO2lmKHMmJnMuaW5uZXJIVE1MPT09byl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtsJiYobC50ZXh0Q29udGVudD1TdHJpbmcobi5zZXNzaW9ucy5sZW5ndGgpKX1lbHNle3MmJihzLmlubmVySFRNTD1vKTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1jb3VudCIpO2wmJihsLnRleHRDb250ZW50PVN0cmluZyhuLnNlc3Npb25zLmxlbmd0aCkpfX1BcigpLG4uc2VsZWN0ZWRJZCYmbi5naXRTdGF0dXNTZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCk7dmFyIGM9UHJvbWlzZS5yZXNvbHZlKCk7aWYoIXQuc2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkJiZuLnNlbGVjdGVkSWQpYz1mbihuLnNlbGVjdGVkSWQpO2Vsc2UgaWYobi5zZWxlY3RlZElkKXt2YXIgZD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1uLnNlbGVjdGVkSWR9KTtvZShkKSYmKEN0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxsbyghMCkpfXJldHVybiBjLnRoZW4oZnVuY3Rpb24oKXtuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZhaSgpLEJ0KCksc2EoKX0pfSkuY2F0Y2goZnVuY3Rpb24ocil7dmFyIGk9ciYmci5tZXNzYWdlfHwiIixhPWk9PT0iRmFpbGVkIHRvIGZldGNoInx8aT09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fGk9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KGkpO2F8fGNvbnNvbGUuZXJyb3IoIlt3YW5kXSBsb2FkU2Vzc2lvbnMgZmFpbGVkOiIscil9KX12YXIgemE9bnVsbDtmdW5jdGlvbiBLbygpe3phfHwoemE9c2V0VGltZW91dChmdW5jdGlvbigpe3phPW51bGwsdmUoKX0sMjAwKSl9ZnVuY3Rpb24gdmUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtlJiYoZS5pbm5lckhUTUw9V2koKSksdCYmKHQudGV4dENvbnRlbnQ9U3RyaW5nKG4uc2Vzc2lvbnMubGVuZ3RoKSksdHlwZW9mICR0PT0iZnVuY3Rpb24iJiYkdCgpLEFyKCksbi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCYmQnQoKX1mdW5jdGlvbiBBcigpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PW4uc2VsZWN0ZWRJZH0pO2V8fChBbighMSksYmEoKSxHcygpKTt2YXIgdD1lP2dpKGUuY29tbWFuZCk6IldhbmQiLHI9ZT9vcihlKToiXHU1RjAwXHU1OUNCXHU1QkY5XHU4QkREIixpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN1bW1hcnktdmFsdWUiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC10aXRsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWluZm8iKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0Iiksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2kmJmkudGV4dENvbnRlbnQhPT10JiYoaS50ZXh0Q29udGVudD10KSxhJiZhLnRleHRDb250ZW50IT09dCYmKGEudGV4dENvbnRlbnQ9dCksdSYmKHUudGV4dENvbnRlbnQ9ZT9yKyIgXHhCNyAiK2Z2KGUpOnIpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWtpbmQtZGlzcGxheSIpLGY9ZT9kdihlKToiXHU3RUM4XHU3QUVGIjtkJiZkLnRleHRDb250ZW50IT09ZiYmKGQudGV4dENvbnRlbnQ9ZiksdHMoKSwhbi50ZXJtaW5hbCYmbyYmZSYmem4oKSxuLnRlcm1pbmFsJiZvJiYhby5jb250YWlucyhuLnRlcm1pbmFsLmVsZW1lbnQpJiYocHIoKSx6bigpKSxlfHwobi50ZXJtaW5hbFNlc3Npb25JZD1udWxsLG4udGVybWluYWxPdXRwdXQ9IiIsbi50ZXJtaW5hbE91dHB1dE1hcmtlcj0wKSxuLnRlcm1pbmFsJiZlJiZuLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmZnQoInZpZXciKTt2YXIgdj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlPyhzJiZzLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLG8mJm8uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbCYmbC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx2JiZ2LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKToocyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxvJiZvLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGwmJmwuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksYyYmYy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx2JiZ2LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSxoaSgpLFluKG10KCkpLGJpKCksRWEoKX1mdW5jdGlvbiBmbihlKXtuLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChuLmNoYXRSZW5kZXJUaW1lciksbi5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pLHI9Ii9hcGkvc2Vzc2lvbnMvIitlO3JldHVybiBwdih0KSYmKHIrPSI/Zm9ybWF0PWNoYXQiKSxmZXRjaChyLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe24uc2VsZWN0ZWRJZD09PWUmJihuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpKSxkbigpO3JldHVybn1pZihaKGkpLEFyKCksbi50ZXJtaW5hbCYmZT09PW4uc2VsZWN0ZWRJZCYmaS5vdXRwdXQhPT12b2lkIDApe3ZhciBhPSEhbi53cyYmKG4ud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOfHxuLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuQ09OTkVDVElORyk7YT9ldCgic2Vzc2lvbi1zd2l0Y2giKTooWnIoZSxpLm91dHB1dCx7bW9kZToiYXBwZW5kIn0pLGV0KCJzZXNzaW9uLXN3aXRjaCIse2ZvcmNlUmVwbGF5OiEwfSkpfXZhciB1PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PWV9KTtuLmN1cnJlbnRNZXNzYWdlcz1SZSh1LHR0KHUsaS5vdXRwdXQsITEpKSxZZSghMSl9KX1mdW5jdGlvbiBSdChlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lfSk7aWYodCl7bi5zZWxlY3RlZElkIT09ZSYmcHIoKSxuLnNlbGVjdGVkSWQ9ZSx5ZSgpLG4udG9vbENvbnRlbnRDYWNoZT17fSxuLm1lc3NhZ2VRdWV1ZT1bXSxuLnBlbmRpbmdNZXNzYWdlcz1bXSxqcih0KSxjdSgpLHVuKCksQ3QoKSxuLmN1cnJlbnRNZXNzYWdlcz1bXSxuLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChuLmNoYXRSZW5kZXJUaW1lciksbi5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MiKTtyJiZyLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKTtpJiZpLnJlbW92ZSgpLG4uX3N0YXR1c0JhclRpbWVySWQmJihjbGVhckludGVydmFsKG4uX3N0YXR1c0JhclRpbWVySWQpLG4uX3N0YXR1c0JhclRpbWVySWQ9bnVsbCksbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7YSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKTt2YXIgdT10O24ucHJlZmVycmVkQ29tbWFuZD12dCgpLG4uY2hhdE1vZGU9TnQoImNsYXVkZSIsdSYmdS5tb2RlP3UubW9kZTpuLmNoYXRNb2RlKSxuLnRlcm1pbmFsSW50ZXJhY3RpdmUmJnUmJnUuc3RhdHVzIT09InJ1bm5pbmciJiZBbighMSksdmUoKSxFcihlKSxuLmZpbGVQYW5lbE9wZW4mJihQbCh1KSxNdCgpKSxmbihlKS50aGVuKGZ1bmN0aW9uKCl7X3QoITApfSkseG4oZSksbi5naXRTdGF0dXM9bnVsbCxuLmdpdFN0YXR1c1Nlc3Npb25JZD1udWxsLE5pKCksRW4oZSx7Zm9yY2U6ITB9KX19ZnVuY3Rpb24gQ3YoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKSxyPVBlKCksaT0hIW4uc2lkZWJhclBpbm5lZCYmISFuLnNpZGViYXJDb2xsYXBzZWQsYT1pfHwhciYmKCEhbi5zaWRlYmFyUGlubmVkfHwhIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuKTtlJiYoZS5jbGFzc0xpc3QudG9nZ2xlKCJwaW5uZWQiLGEpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIixpKSksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1waW5uZWQiLGEpLHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1jb2xsYXBzZWQiLGkpKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgicGlubmVkIiwhIW4uc2lkZWJhclBpbm5lZCksdS50aXRsZT1uLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsdS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4uc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIiksdS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsbi5zaWRlYmFyUGlubmVkPyJ0cnVlIjoiZmFsc2UiKSl9ZnVuY3Rpb24geHIoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIikscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHB1KCkpLHImJnIuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1vcGVuIixuLnNlc3Npb25zRHJhd2VyT3Blbik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbi5zZXNzaW9uc0RyYXdlck9wZW4pLEN2KCl9ZnVuY3Rpb24gQnYoKXt2YXIgZT1QZSgpO2lmKCFlKXt2YXIgdD1uLnNpZGViYXJQaW5uZWQ/ITE6IW4uc2Vzc2lvbnNEcmF3ZXJPcGVuO24uc2Vzc2lvbnNEcmF3ZXJPcGVuPXQsdCYmKG4uc2lkZWJhckNvbGxhcHNlZD0hMSxrZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0bigpLElyKCk7cmV0dXJufWlmKG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSFuLnNlc3Npb25zRHJhd2VyT3BlbixrZSgid2FuZC1zaWRlYmFyLW9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSxuLnNlc3Npb25zRHJhd2VyT3Blbil7bi5maWxlUGFuZWxPcGVuPSExO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLCJmYWxzZSIpfWNhdGNoe319dG4oKX1mdW5jdGlvbiBTcigpe3ZhciBlPVBlKCk7aWYoIWUpe2lmKCFuLnNpZGViYXJQaW5uZWQmJiFuLnNlc3Npb25zRHJhd2VyT3BlbilyZXR1cm47QnIoKSxuLnNpZGViYXJQaW5uZWQ9ITEsbi5zZXNzaW9uc0RyYXdlck9wZW49ITEsa2UoIndhbmQtc2lkZWJhci1waW5uZWQiLCExKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx0bigpLElyKCk7cmV0dXJufW4uc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoQnIoKSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx0bigpKX1mdW5jdGlvbiBEdigpe2lmKFBlKCkpe1NyKCk7cmV0dXJufW4uc2lkZWJhclBpbm5lZHx8bi5zaWRlYmFyQ29sbGFwc2VkfHwhbi5zZXNzaW9uc0RyYXdlck9wZW58fChCcigpLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHRuKCksSXIoKSl9ZnVuY3Rpb24gSm8oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtuLnBsdXNQb3BvdmVyT3Blbj0hIWUsdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFlKSxyJiYoci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhZSksci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGU/InRydWUiOiJmYWxzZSIpKX1mdW5jdGlvbiBrdigpe0pvKCFuLnBsdXNQb3BvdmVyT3Blbil9ZnVuY3Rpb24gRWkoKXtuLnBsdXNQb3BvdmVyT3BlbiYmSm8oITEpfWZ1bmN0aW9uIFd0KCl7UGUoKSYmbi5zZXNzaW9uc0RyYXdlck9wZW4mJlNyKCl9ZnVuY3Rpb24gSXIoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtpZihlKXt2YXIgdD1mdW5jdGlvbihyKXtyLnByb3BlcnR5TmFtZT09PSJwYWRkaW5nLWxlZnQiJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0KSxPdCghMCkpfTtlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHQpfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtPdCghMCl9LDM1MCl9dmFyIHp0PW51bGw7ZnVuY3Rpb24gQXYoKXtyZXR1cm4genQmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoenQpfHwoenQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksenQuY2xhc3NOYW1lPSJzaWRlYmFyLXRpbGUtYnViYmxlIix6dC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sdGlwIiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh6dCkpLHp0fWZ1bmN0aW9uICR0KCl7enQmJnp0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX1mdW5jdGlvbiB4dihlLHQpe2lmKCF0KXskdCgpO3JldHVybn12YXIgcj1BdigpO3IudGV4dENvbnRlbnQ9dC5sZW5ndGg+NDAwP3Quc2xpY2UoMCw0MDApKyJcdTIwMjYiOnQ7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKTt2YXIgYT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9aS50b3AraS5oZWlnaHQvMixzPXUtYS5oZWlnaHQvMixvPTgsbD13aW5kb3cuaW5uZXJIZWlnaHQtYS5oZWlnaHQtODtzPG8mJihzPW8pLHM+bCYmKHM9TWF0aC5tYXgobyxsKSksci5zdHlsZS5sZWZ0PWkucmlnaHQrMTIrInB4IixyLnN0eWxlLnRvcD1zKyJweCIsci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1idWJibGUtdGFpbC15Iix1LXMrInB4Iil9ZnVuY3Rpb24gU3YoZSl7aWYoZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZH0pO2lmKCF0KXJldHVybiIiO3ZhciByPWdjKHQpO3JldHVybiByfHx0LnN1bW1hcnl8fHQuY29tbWFuZHx8IiJ9aWYoZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7dmFyIGk9bi5jbGF1ZGVIaXN0b3J5LmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZH0pO2lmKGkmJmkuZmlyc3RVc2VyTWVzc2FnZSlyZXR1cm4gaS5maXJzdFVzZXJNZXNzYWdlfXJldHVybiIifWZ1bmN0aW9uIEl2KGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIHI9dC5jbG9zZXN0KCIuc2lkZWJhci1jb2xsYXBzZWQtdGlsZSIpO2lmKCFyKXskdCgpO3JldHVybn12YXIgaT1TdihyKTtpZighaSl7JHQoKTtyZXR1cm59eHYocixpKX19ZnVuY3Rpb24gVHYoZSl7dmFyIHQ9ZS5yZWxhdGVkVGFyZ2V0O3QmJnQgaW5zdGFuY2VvZiBFbGVtZW50JiZ0LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIil8fCR0KCl9ZnVuY3Rpb24gTHYoKXt2YXIgZT1QZSgpO24uc2lkZWJhclBpbm5lZHx8KG4uc2lkZWJhclBpbm5lZD0hMCxrZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsITApKSxuLnNpZGViYXJDb2xsYXBzZWQ9IW4uc2lkZWJhckNvbGxhcHNlZCxrZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsbi5zaWRlYmFyQ29sbGFwc2VkKSxuLnNpZGViYXJDb2xsYXBzZWQ/bi5zZXNzaW9uc0RyYXdlck9wZW49ITE6ZT8obi5zaWRlYmFyUGlubmVkPSExLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLGtlKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMSkpOm4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsbi5zZXNzaW9uc0RyYXdlck9wZW4pLHRuKCksdmUoKSxxdigpLCR0KCksSXIoKX1mdW5jdGlvbiBNdigpe1BlKCl8fChuLnNpZGViYXJQaW5uZWQ9IW4uc2lkZWJhclBpbm5lZCxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsbi5zaWRlYmFyUGlubmVkKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSx0bigpLElyKCkpfWZ1bmN0aW9uIHF2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7aWYoZSl7dmFyIHQ9ISFuLnNpZGViYXJQaW5uZWQmJiEhbi5zaWRlYmFyQ29sbGFwc2VkO2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIix0KSxlLnRpdGxlPXQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIpLGUuaW5uZXJIVE1MPXQ/Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTAgNiAxNiAxMiAxMCAxOCIvPjxsaW5lIHgxPSIyMCIgeTE9IjUiIHgyPSIyMCIgeTI9IjE5Ii8+PC9zdmc+JzonPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNCA2IDggMTIgMTQgMTgiLz48bGluZSB4MT0iNCIgeTE9IjUiIHgyPSI0IiB5Mj0iMTkiLz48L3N2Zz4nfX1mdW5jdGlvbiBPdihlKXtpZihlKXtlLnN0eWxlLmxlZnQ9IiIsZS5zdHlsZS5yaWdodD0iIjt2YXIgdD1lLm9mZnNldFBhcmVudHx8ZS5wYXJlbnRFbGVtZW50O2lmKHQpe3ZhciByPTgsaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PXdpbmRvdy5pbm5lcldpZHRoO2EubGVmdDxyPyhlLnN0eWxlLnJpZ2h0PSJhdXRvIixlLnN0eWxlLmxlZnQ9ci1pLmxlZnQrInB4Iik6YS5yaWdodD51LXImJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9aS5yaWdodC0odS1yKSsicHgiKX19fWZ1bmN0aW9uIFZhKCl7UW4oKSxuLm1vZGFsT3Blbj0hMCxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx4cigpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7ZSYmKGUuX3dhbmRDbG9zZVRpbWVyJiYoY2xlYXJUaW1lb3V0KGUuX3dhbmRDbG9zZVRpbWVyKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsKSxlLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG4ubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbi5zZXNzaW9uVG9vbD12dCgpLG4ucHJlZmVycmVkQ29tbWFuZD1uLnNlc3Npb25Ub29sLG4uc2Vzc2lvbkNyZWF0ZUtpbmQ9InN0cnVjdHVyZWQiLG4uc2Vzc2lvbkNyZWF0ZVdvcmt0cmVlPSExLG4ubW9kZVZhbHVlPU50KG4uc2Vzc2lvblRvb2wsbi5tb2RlVmFsdWV8fG4uY2hhdE1vZGUpLGtyKCksdW0oKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGUtY2FyZHMiKTt0JiZ0LmZvY3VzKCl9LDIwKSxGaShlKSl9ZnVuY3Rpb24gcG4oKXtuLm1vZGFsT3Blbj0hMTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2UmJihuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxuLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIG4ubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpLFVhKGUpKSxYbigpfWZ1bmN0aW9uIFVhKGUpe2lmKGUmJiFlLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpe3ZhciB0PSExO3RyeXt0PXdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzfWNhdGNoe31pZih0fHxkb2N1bWVudC5oaWRkZW4pe2UuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWUuX3dhbmRDbG9zZVRpbWVyJiYoY2xlYXJUaW1lb3V0KGUuX3dhbmRDbG9zZVRpbWVyKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsKSxlLmNsYXNzTGlzdC5hZGQoImNsb3NpbmciKSxlLl93YW5kQ2xvc2VUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsfSwxNzApfX1mdW5jdGlvbiBGaShlKXtuLmZvY3VzVHJhcEhhbmRsZXImJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLG4uZm9jdXNUcmFwSGFuZGxlcik7dmFyIHQ9J2J1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBhW2hyZWZdLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJztuLmZvY3VzVHJhcEhhbmRsZXI9ZnVuY3Rpb24ocil7aWYoci5rZXk9PT0iVGFiIil7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yQWxsKHQpLGE9aVswXSx1PWlbaS5sZW5ndGgtMV07IWF8fCF1fHwoci5zaGlmdEtleT9kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSYmKHIucHJldmVudERlZmF1bHQoKSx1LmZvY3VzKCkpOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT11JiYoci5wcmV2ZW50RGVmYXVsdCgpLGEuZm9jdXMoKSkpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbi5mb2N1c1RyYXBIYW5kbGVyKX1mdW5jdGlvbiBQdigpe3JldHVybiBuLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQmJm4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PW4uYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZH0pfHxudWxsfWZ1bmN0aW9uIFRyKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWNvbnRlbnQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jb25maXJtLWJ1dHRvbiIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWVycm9yIiksaT1QdigpLGE9bi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ7aWYoISghZXx8IXQpKXtpZighaXx8IWkud29ya3RyZWUpe2UuaW5uZXJIVE1MPSc8cCBjbGFzcz0iZmllbGQtaGludCI+XHU2NzJBXHU2MjdFXHU1MjMwXHU1M0VGXHU1NDA4XHU1RTc2XHU3Njg0IHdvcmt0cmVlIFx1NEYxQVx1OEJERFx1MzAwMjwvcD4nLHQuZGlzYWJsZWQ9ITA7cmV0dXJufXImJihuLndvcmt0cmVlTWVyZ2VFcnJvcj9OZShyLG4ud29ya3RyZWVNZXJnZUVycm9yKTp0aShyKSk7dmFyIHU9Wyc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1Njc2NVx1NkU5MFx1NTIwNlx1NjUyRjwvc3Bhbj48c3Ryb25nPicrcChpLndvcmt0cmVlLmJyYW5jaHx8Ii0iKSsiPC9zdHJvbmc+PC9kaXY+IiwnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTVERTVcdTRGNUNcdTc2RUVcdTVGNTU8L3NwYW4+PHN0cm9uZz4nK3AoaS53b3JrdHJlZS5wYXRofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iXTthPyh1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU3NkVFXHU2ODA3XHU1MjA2XHU2NTJGPC9zcGFuPjxzdHJvbmc+JytwKGEudGFyZ2V0QnJhbmNofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iKSx1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU1Rjg1XHU1NDA4XHU1RTc2XHU2M0QwXHU0RUE0PC9zcGFuPjxzdHJvbmc+JytwKFN0cmluZyhhLmFoZWFkQ291bnR8fDApKSsiPC9zdHJvbmc+PC9kaXY+IiksdS5wdXNoKCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NjcyQVx1NjNEMFx1NEVBNFx1NjUzOVx1NTJBODwvc3Bhbj48c3Ryb25nPicrcChhLmhhc1VuY29tbWl0dGVkQ2hhbmdlcz8iXHU2NzA5IjoiXHU2NUUwIikrIjwvc3Ryb25nPjwvZGl2PiIpLHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTUxQjJcdTdBODFcdTk4Q0VcdTk2Njk8L3NwYW4+PHN0cm9uZz4nK3AoYS5oYXNDb25mbGljdHM/Ilx1NjcwOSI6Ilx1NjVFMCIpKyI8L3N0cm9uZz48L2Rpdj4iKSxhLnJlYXNvbiYmdS5wdXNoKCc8cCBjbGFzcz0iZmllbGQtaGludCI+JytwKGEucmVhc29uKSsiPC9wPiIpKTpuLndvcmt0cmVlTWVyZ2VMb2FkaW5nJiZ1LnB1c2goJzxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTZCNjNcdTU3MjhcdTY4QzBcdTY3RTUgd29ya3RyZWUgXHU1NDA4XHU1RTc2XHU3MkI2XHU2MDAxXHUyMDI2PC9wPicpLGUuaW5uZXJIVE1MPXUuam9pbigiIiksdC5kaXNhYmxlZD1uLndvcmt0cmVlTWVyZ2VMb2FkaW5nfHxuLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nfHwhYXx8YS5vayE9PSEwLHQudGV4dENvbnRlbnQ9bi53b3JrdHJlZU1lcmdlU3VibWl0dGluZz8iXHU1NDA4XHU1RTc2XHU0RTJELi4uIjoiXHU3ODZFXHU4QkE0XHU1NDA4XHU1RTc2XHU1RTc2XHU2RTA1XHU3NDA2In19ZnVuY3Rpb24gWW8oZSl7bi5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPWUsbi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxuLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSEwLG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIscG4oKSxRbigpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIpO3QmJih0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG4ubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsRmkodCkpLFRyKCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi93b3JrdHJlZS9tZXJnZS9jaGVjayIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXRocm93IG5ldyBFcnJvcihyLmVycm9yKTtyJiZyLnNlc3Npb24mJlooci5zZXNzaW9uKSxuLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1yLnJlc3VsdHx8bnVsbCxuLndvcmt0cmVlTWVyZ2VFcnJvcj0iIn0pLmNhdGNoKGZ1bmN0aW9uKHIpe24ud29ya3RyZWVNZXJnZUVycm9yPXImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe24ud29ya3RyZWVNZXJnZUxvYWRpbmc9ITEsVHIoKX0pfWZ1bmN0aW9uIEduKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7bi5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPW51bGwsbi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxuLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSExLG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIsZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxuLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIG4ubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpfWZ1bmN0aW9uIEh2KCl7IW4uYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZHx8bi53b3JrdHJlZU1lcmdlU3VibWl0dGluZ3x8KG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITAsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIsVHIoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQpKyIvd29ya3RyZWUvbWVyZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlJiZlLmVycm9yKXRocm93IG5ldyBFcnJvcihlLmVycm9yKTtyZXR1cm4gZSYmZS5zZXNzaW9uJiZaKGUuc2Vzc2lvbiksaygiXHU1REYyXHU1NDA4XHU1RTc2XHU1MjMwICIrcChlLnJlc3VsdCYmZS5yZXN1bHQudGFyZ2V0QnJhbmNofHwiXHU0RTNCXHU1MjA2XHU2NTJGIikrKGUucmVzdWx0JiZlLnJlc3VsdC5jbGVhbnVwRG9uZT09PSExPyJcdUZGMENcdTRGNDZcdTVERTVcdTRGNUNcdTY4MTFcdTVGODVcdTZFMDVcdTc0MDZcdTMwMDIiOiJcdTMwMDIiKSwiaW5mbyIpLEduKCksanQoKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe24ud29ya3RyZWVNZXJnZUVycm9yPWUmJmUubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQwOFx1NUU3NiB3b3JrdHJlZVx1MzAwMiIsVHIoKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nPSExLFRyKCl9KSl9ZnVuY3Rpb24gR28oZSl7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi93b3JrdHJlZS9jbGVhbnVwIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe2lmKHQmJnQuZXJyb3IpdGhyb3cgbmV3IEVycm9yKHQuZXJyb3IpO3JldHVybiB0JiZ0LnNlc3Npb24mJloodC5zZXNzaW9uKSxrKCJcdTVERjJcdTVCOENcdTYyMTAgd29ya3RyZWUgXHU2RTA1XHU3NDA2XHUzMDAyIiwiaW5mbyIpLGp0KCl9KS5jYXRjaChmdW5jdGlvbih0KXtrKHQmJnQubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNiB3b3JrdHJlZVx1MzAwMiIsImVycm9yIil9KX1mdW5jdGlvbiBfdigpe3BuKCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLW1vZGFsIik7aWYoZSl7ZS5fd2FuZENsb3NlVGltZXImJihjbGVhclRpbWVvdXQoZS5fd2FuZENsb3NlVGltZXIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGwpLGUuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbi5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV3LXBhc3N3b3JkIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpO3QmJih0LnZhbHVlPSIiKSxyJiYoci52YWx1ZT0iIiksUW8oKSxGaShlKSxOdigpLEthKCJhYm91dCIpLFZ2KCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtpJiYoaS5jaGVja2VkPW4ubm90aWZTb3VuZCksYSYmKGEuY2hlY2tlZD1uLm5vdGlmQnViYmxlKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXZvbHVtZSIpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIik7aWYodSl7dS52YWx1ZT1uLm5vdGlmVm9sdW1lLHMmJihzLnRleHRDb250ZW50PW4ubm90aWZWb2x1bWUrIiUiKTt0cnl7dS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiLHtidWJibGVzOiEwfSkpfWNhdGNoe319dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2lmKG8mJihvLnN0eWxlLmRpc3BsYXk9bi5ub3RpZlNvdW5kPyIiOiJub25lIiksbW4oKSx0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiIpdHJ5e1pvKFdhbmROYXRpdmUuZ2V0QXBwSWNvbigpfHwic2hvcnRoYWlyIil9Y2F0Y2h7fWlmKEhlJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXROb3RpZmljYXRpb25Tb3VuZD09ImZ1bmN0aW9uIil0cnl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKTtsJiYobC52YWx1ZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCkpfWNhdGNoe31pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXt2YXIgYz1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblZvbHVtZSgpO2lmKG4ubm90aWZWb2x1bWU9Yyx1JiYodS52YWx1ZT1TdHJpbmcoYykpLHMmJihzLnRleHRDb250ZW50PWMrIiUiKSx1KXRyeXt1LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSl9Y2F0Y2h7fXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiLFN0cmluZyhjKSl9Y2F0Y2h7fX1jYXRjaHt9aWYoSGUmJnR5cGVvZiBXYW5kTmF0aXZlLmlzSGFwdGljRW5hYmxlZD09ImZ1bmN0aW9uIil0cnl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2QmJihkLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKSl9Y2F0Y2h7fX19ZnVuY3Rpb24gUW4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtlJiYobi5mb2N1c1RyYXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbi5mb2N1c1RyYXBIYW5kbGVyKSxuLmZvY3VzVHJhcEhhbmRsZXI9bnVsbCksbi5sYXN0Rm9jdXNlZEVsZW1lbnQmJnR5cGVvZiBuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cz09ImZ1bmN0aW9uIiYmbi5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKSxVYShlKSl9ZnVuY3Rpb24gUW8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtZXJyb3IiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1zdWNjZXNzIik7ZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfWZ1bmN0aW9uIGp2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5ldy1wYXNzd29yZCIpLnZhbHVlLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbmZpcm0tcGFzc3dvcmQiKS52YWx1ZSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1lcnJvciIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXN1Y2Nlc3MiKTtpZihRbygpLCFlfHxlLmxlbmd0aDw2KXtyLnRleHRDb250ZW50PSJcdTVCQzZcdTc4MDFcdTk1N0ZcdTVFQTZcdTgxRjNcdTVDMTFcdTRFM0EgNiBcdTRFMkFcdTVCNTdcdTdCMjZcdTMwMDIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7cmV0dXJufWlmKGUhPT10KXtyLnRleHRDb250ZW50PSJcdTRFMjRcdTZCMjFcdThGOTNcdTUxNjVcdTc2ODRcdTVCQzZcdTc4MDFcdTRFMERcdTRFMDBcdTgxRjRcdTMwMDIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7cmV0dXJufWZldGNoKCIvYXBpL3NldC1wYXNzd29yZCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtwYXNzd29yZDplfSksY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhLmVycm9yKXtyLnRleHRDb250ZW50PWEuZXJyb3Isci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59aS50ZXh0Q29udGVudD0iXHU1QkM2XHU3ODAxXHU0RkVFXHU2NTM5XHU2MjEwXHU1MjlGXHVGRjAxIixpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXctcGFzc3dvcmQiKS52YWx1ZT0iIixkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpLnZhbHVlPSIifSkuY2F0Y2goZnVuY3Rpb24oKXtyLnRleHRDb250ZW50PSJGYWlsZWQgdG8gc2F2ZSBwYXNzd29yZC4iLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9KX1mdW5jdGlvbiBLYShlKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXBhbmVsIiksaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldLmdldEF0dHJpYnV0ZSgiZGF0YS10YWIiKT09PWU7YT90W2ldLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOnRbaV0uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksdFtpXS5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLGE/InRydWUiOiJmYWxzZSIpLHRbaV0uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsYT8iMCI6Ii0xIil9Zm9yKHZhciB1PTA7dTxyLmxlbmd0aDt1Kyspe3ZhciBzPXJbdV0uaWQ9PT0ic2V0dGluZ3MtdGFiLSIrZTtzPyhyW3VdLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLHJbdV0ucmVtb3ZlQXR0cmlidXRlKCJoaWRkZW4iKSk6KHJbdV0uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksclt1XS5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsImhpZGRlbiIpKX19ZnVuY3Rpb24gJG8oZSl7aWYoZSYmIShlLmtleSE9PSJBcnJvd1VwIiYmZS5rZXkhPT0iQXJyb3dEb3duIiYmZS5rZXkhPT0iSG9tZSImJmUua2V5IT09IkVuZCIpKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIikpO2lmKHQubGVuZ3RoKXt2YXIgcj10LmluZGV4T2YoZS5jdXJyZW50VGFyZ2V0KTtpZihyIT09LTEpe2UucHJldmVudERlZmF1bHQoKTt2YXIgaT1yO2Uua2V5PT09IkFycm93VXAiJiYoaT1yPjA/ci0xOnQubGVuZ3RoLTEpLGUua2V5PT09IkFycm93RG93biImJihpPXI8dC5sZW5ndGgtMT9yKzE6MCksZS5rZXk9PT0iSG9tZSImJihpPTApLGUua2V5PT09IkVuZCImJihpPXQubGVuZ3RoLTEpO3ZhciBhPXRbaV07aWYoYSl7dmFyIHU9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik7dSYmS2EodSksdHlwZW9mIGEuZm9jdXM9PSJmdW5jdGlvbiImJmEuZm9jdXMoKX19fX19ZnVuY3Rpb24gTnYoKXtmb3IodmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLCRvKSxlW3RdLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCRvKX1mdW5jdGlvbiBSdihlKXtpZihlKXt2YXIgdD1lLmNvbmZpZ3x8e30scj17YWJvdXQ6ZS52ZXJzaW9uPyJcdTVGNTNcdTUyNEQgdiIrZS52ZXJzaW9uOiJcdTcyNDhcdTY3MkNcdTRFMEVcdTY2RjRcdTY1QjBcdTRGRTFcdTYwNkYiLGdlbmVyYWw6W3QuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iix0Lmxhbmd1YWdlfHwiXHU4MUVBXHU1MkE4XHU4QkVEXHU4QTAwIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiBceEI3ICIpLG5vdGlmaWNhdGlvbnM6bi5ub3RpZlNvdW5kPyJcdTYzRDBcdTc5M0FcdTk3RjMgIituLm5vdGlmVm9sdW1lKyIlIjoiXHU2M0QwXHU3OTNBXHU5N0YzXHU1REYyXHU1MTczXHU5NUVEIixzZWN1cml0eTplLmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IjoiXHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2XHU3QkExXHU3NDA2IixwcmVzZXRzOnQuY29tbWFuZFByZXNldHMmJnQuY29tbWFuZFByZXNldHMubGVuZ3RoP3QuY29tbWFuZFByZXNldHMubGVuZ3RoKyIgXHU2NzYxXHU5ODg0XHU4QkJFIjoiXHU2NjgyXHU2NUUwXHU5ODg0XHU4QkJFIixkaXNwbGF5OiJcdTYzQTdcdTUyMzZcdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDAifTtmb3IodmFyIGkgaW4gcilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNldHRpbmdzLXRhYltkYXRhLXRhYj0iJytpKyciXSAuc2V0dGluZ3MtdGFiLW1ldGEnKTthJiYoYS50ZXh0Q29udGVudD1yW2ldfHwiIil9fX1mdW5jdGlvbiBXdihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksaT13aW5kb3cuUVJDb2RlTGliO2lmKHQpe2lmKCFpfHx0eXBlb2YgaS50b0NhbnZhcyE9ImZ1bmN0aW9uIil7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NUU5M1x1NjcyQVx1NTJBMFx1OEY3RCIpO3JldHVybn10cnl7aS50b0NhbnZhcyh0LGUse3dpZHRoOjIyMCxtYXJnaW46MSxlcnJvckNvcnJlY3Rpb25MZXZlbDoiTSIsY29sb3I6e2Rhcms6IiMxZjFiMTciLGxpZ2h0OiIjZmZmZmZmMDAifX0sZnVuY3Rpb24oYSl7aWYoYSl7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsci5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJufXImJihyLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0LnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUifSl9Y2F0Y2h7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsci5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9fX1mdW5jdGlvbiB6dihlKXt2YXIgdD13aW5kb3cuUVJDb2RlTGliO2lmKCF0fHx0eXBlb2YgdC50b0NhbnZhcyE9ImZ1bmN0aW9uIilyZXR1cm47dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbm5lY3QtcXItbW9kYWwiKTtyJiZyLnJlbW92ZSgpO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuaWQ9ImNvbm5lY3QtcXItbW9kYWwiLGkuY2xhc3NOYW1lPSJjb25uZWN0LXFyLW1vZGFsLW92ZXJsYXkiLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb25uZWN0LXFyLW1vZGFsLWNhcmQiPjxjYW52YXMgaWQ9ImNvbm5lY3QtcXItbW9kYWwtY2FudmFzIj48L2NhbnZhcz48cCBjbGFzcz0iY29ubmVjdC1xci1tb2RhbC1oaW50Ij5cdTc1MjggV2FuZCBBcHAgXHU2MjZCXHU0RTAwXHU2MjZCXHVGRjBDXHU4RkRFXHU2M0E1XHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU1NjY4PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGNvbm5lY3QtcXItbW9kYWwtY2xvc2UiPlx1NTE3M1x1OTVFRDwvYnV0dG9uPjwvZGl2PicsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTt2YXIgYT1pLnF1ZXJ5U2VsZWN0b3IoIiNjb25uZWN0LXFyLW1vZGFsLWNhbnZhcyIpLHU9TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KSouNzt1PDI0MCYmKHU9MjQwKSx1PjQ4MCYmKHU9NDgwKTt0cnl7dC50b0NhbnZhcyhhLGUse3dpZHRoOnUsbWFyZ2luOjIsZXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ik0iLGNvbG9yOntkYXJrOiIjMWYxYjE3IixsaWdodDoiI2ZmZmZmZiJ9fSl9Y2F0Y2h7fWZ1bmN0aW9uIHMoKXtpLnJlbW92ZSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGwpe2wudGFyZ2V0PT09aSYmcygpfSk7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuY29ubmVjdC1xci1tb2RhbC1jbG9zZSIpO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMpfWZ1bmN0aW9uIExyKGUsdCxyKXtpZighZSlyZXR1cm47ZnVuY3Rpb24gaSgpe2lmKFZuKCJsaWdodCIpLHIpe3IoKTtyZXR1cm59aWYodCl7dmFyIGE9dC50ZXh0Q29udGVudDt0LnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PWF9LDE1MDApfX1pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuY29weVRvQ2xpcGJvYXJkPT0iZnVuY3Rpb24iKXRyeXtpZihXYW5kTmF0aXZlLmNvcHlUb0NsaXBib2FyZChlKT09PSJvayIpe2koKTtyZXR1cm59fWNhdGNoe31uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKGkpLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTthLnZhbHVlPWUsYS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGEuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxhLnNlbGVjdCgpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKSxpKCl9KX1mdW5jdGlvbiB2bihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFpc0Zpbml0ZShlKXx8ZTwwKXJldHVybiItIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjtmb3IodmFyIHQ9WyJLQiIsIk1CIiwiR0IiLCJUQiJdLHI9ZS8xMDI0LGk9MDtyPj0xMDI0JiZpPHQubGVuZ3RoLTE7KXI9ci8xMDI0LGkrPTE7dmFyIGE9cj49MTA/ci50b0ZpeGVkKDApOnIudG9GaXhlZCgxKTtyZXR1cm4gYSsiICIrdFtpXX1mdW5jdGlvbiBWdigpe2ZldGNoKCIvYXBpL3NldHRpbmdzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtSdihlKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtcGtnLW5hbWUiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy12ZXJzaW9uIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3Mtbm9kZS1yZXEiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1yZXBvLXVybCIpO3QmJih0LnRleHRDb250ZW50PWUucGFja2FnZU5hbWV8fCItIiksciYmKHIudGV4dENvbnRlbnQ9ZS52ZXJzaW9ufHwiLSIpLGkmJihpLnRleHRDb250ZW50PWUubm9kZVZlcnNpb258fCItIiksYSYmZS5yZXBvVXJsJiYoYS5pbm5lckhUTUw9JzxhIGhyZWY9IicrcChlLnJlcG9VcmwpKyciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4nK3AoZS5yZXBvVXJsKSsiPC9hPiIpO3ZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1sYXRlc3QtdmVyc2lvbiIpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXVwZGF0ZS1idXR0b24iKTtlLmxhdGVzdFZlcnNpb24mJnUmJih1LnRleHRDb250ZW50PWUubGF0ZXN0VmVyc2lvbixlLnVwZGF0ZUF2YWlsYWJsZSYmcyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTtvJiYoby5jaGVja2VkPWUudXBkYXRlQ2hhbm5lbD09PSJiZXRhIik7dmFyIGw9ZS5hdXRvVXBkYXRlfHx7fSxjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7YyYmKGMuY2hlY2tlZD0hIWwud2ViKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO2QmJihkLmNoZWNrZWQ9ISFEbiYmISFsLmFwayk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiKTtmJiYoZi5jaGVja2VkPSEhcm4mJiEhbC5kbWcpO2Z1bmN0aW9uIHYoZWUseGUpe3R5cGVvZiB3aW5kb3cud2FuZEFsZXJ0PT0iZnVuY3Rpb24iP3dpbmRvdy53YW5kQWxlcnQoZWUse3R5cGU6eGU9PT0iZXJyb3IiPyJkYW5nZXIiOiJpbmZvIn0pOnR5cGVvZiBrPT0iZnVuY3Rpb24iP2soZWUseGU9PT0iZXJyb3IiPyJlcnJvciI6ImluZm8iKTp4ZT09PSJlcnJvciImJmFsZXJ0KGVlKX1mdW5jdGlvbiBtKGVlLHhlLFNlKXt2YXIgeXQ9U2U/U2UudGV4dENvbnRlbnQ6IiI7U2UmJihTZS5kaXNhYmxlZD0hMCxTZS50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEXHU0RTJEXHUyMDI2Iik7ZnVuY3Rpb24gZHQoKXtTZSYmKFNlLmRpc2FibGVkPSExLFNlLnRleHRDb250ZW50PXl0KX1mZXRjaChlZSx7bWV0aG9kOiJIRUFEIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihwZSl7aWYoIXBlLm9rKXt2KHBlLnN0YXR1cz09PTQwND8iXHU0RTBCXHU4RjdEXHU2NzJBXHU1NDJGXHU3NTI4XHU2MjE2XHU2NTg3XHU0RUY2XHU1REYyXHU3OUZCXHU5NjY0IjoiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1IChIVFRQICIrcGUuc3RhdHVzKyIpIiwiZXJyb3IiKSxkdCgpO3JldHVybn12YXIgWGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1hlLmhyZWY9ZWUsWGUuZG93bmxvYWQ9eGV8fCIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoWGUpLFhlLmNsaWNrKCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChYZSksdigiXHU1REYyXHU1RjAwXHU1OUNCXHU0RTBCXHU4RjdEXHVGRjBDXHU4QkY3XHU1NzI4XHU5MDFBXHU3N0U1XHU2ODBGL1x1NEUwQlx1OEY3RFx1N0JBMVx1NzQwNlx1NEUyRFx1NjdFNVx1NzcwQiIsImluZm8iKSxkdCgpfSkuY2F0Y2goZnVuY3Rpb24ocGUpe3YoIlx1NEUwQlx1OEY3RFx1NTkzMVx1OEQyNTogIisocGUmJnBlLm1lc3NhZ2U/cGUubWVzc2FnZTpwZSksImVycm9yIiksZHQoKX0pfWZ1bmN0aW9uIGIoZWUseGUpe2Z1bmN0aW9uIFNlKGJ0KXtyZXR1cm4gU3RyaW5nKGJ0fHwiIikucmVwbGFjZSgvXnYvLCIiKS5zcGxpdCgiLSIpWzBdLnNwbGl0KCIuIikubWFwKGZ1bmN0aW9uKFpuKXtyZXR1cm4gcGFyc2VJbnQoWm4sMTApfHwwfSl9Zm9yKHZhciB5dD1TZShlZSksZHQ9U2UoeGUpLHBlPTA7cGU8MztwZSsrKXt2YXIgWGU9KHl0W3BlXXx8MCktKGR0W3BlXXx8MCk7aWYoWGUhPT0wKXJldHVybiBYZT4wPzE6LTF9cmV0dXJuIDB9ZnVuY3Rpb24gZyhlZSx4ZSxTZSx5dCxkdCl7ZWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZWUuZGlzYWJsZWQ9ITEseGU+MD9lZS50ZXh0Q29udGVudD0iXHU1MzQ3XHU3RUE3Ijp4ZT09PTA/KGVlLnRleHRDb250ZW50PSJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAiLGVlLmRpc2FibGVkPSEwKTplZS50ZXh0Q29udGVudD0iXHU5MUNEXHU2NUIwXHU1Qjg5XHU4OEM1IixlZS5vbmNsaWNrPWVlLmRpc2FibGVkP251bGw6ZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZShTZSx5dCxkdCl9Y2F0Y2gocGUpe3YoIlx1OEMwM1x1NzUyOFx1NEUwQlx1OEY3RFx1NTkzMVx1OEQyNTogIisocGUmJnBlLm1lc3NhZ2U/cGUubWVzc2FnZTpwZSksImVycm9yIil9fX12YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstc2VjdGlvbiIpLHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWN1cnJlbnQtcm93IiksRj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYW5kcm9pZC1hcGstY3VycmVudCIpLEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWdpdGh1Yi1yb3ciKSxBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1hbmRyb2lkLWFway1naXRodWIiKSx4PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3dubG9hZC1naXRodWItYXBrLWJ0biIpLFM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWxvY2FsLXJvdyIpLFA9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWFuZHJvaWQtYXBrLWxvY2FsIiksej1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWQtbG9jYWwtYXBrLWJ0biIpLEc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLW1lc3NhZ2UiKSxMPWUuYW5kcm9pZEFwa3x8e30sQj0hIURuLFQ9TC5lbmFibGVkIT09ITEsST1CfHxUJiYoISFMLmdpdGh1Ynx8ISFMLmxvY2FsKTtpZih5JiYoST95LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOnkuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikpLEIpe2lmKHcmJkYmJihGLnRleHRDb250ZW50PSJ2IitEbix3LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxMLmdpdGh1YiYmRSYmQSl7dmFyIFY9TC5naXRodWIudmVyc2lvbj8idiIrTC5naXRodWIudmVyc2lvbjpMLmdpdGh1Yi5maWxlTmFtZTtpZih0eXBlb2YgTC5naXRodWIuc2l6ZT09Im51bWJlciImJihWKz0iIFx4QjcgIit2bihMLmdpdGh1Yi5zaXplKSksQS50ZXh0Q29udGVudD1WLEUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseCl7dmFyIHJlPUwuZ2l0aHViLnZlcnNpb24/YihMLmdpdGh1Yi52ZXJzaW9uLERuKToxO2coeCxyZSxMLmdpdGh1Yi5kb3dubG9hZFVybCxMLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsImdpdGh1YiIpfX1pZihMLmxvY2FsJiZTJiZQKXt2YXIgdGU9TC5sb2NhbC52ZXJzaW9uPyJ2IitMLmxvY2FsLnZlcnNpb246TC5sb2NhbC5maWxlTmFtZTtpZih0eXBlb2YgTC5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKHRlKz0iIFx4QjcgIit2bihMLmxvY2FsLnNpemUpKSxQLnRleHRDb250ZW50PXRlLFMuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseil7dmFyICQ9TC5sb2NhbC52ZXJzaW9uP2IoTC5sb2NhbC52ZXJzaW9uLERuKToxO2coeiwkLEwubG9jYWwuZG93bmxvYWRVcmwsTC5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsImxvY2FsIil9fSFMLmdpdGh1YiYmIUwubG9jYWwmJkcmJihHLnRleHRDb250ZW50PSJcdTY2ODJcdTY1RTBcdTUzRUZcdTc1MjhcdTY2RjRcdTY1QjAiLEcuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO3ZhciBpZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hdXRvLXVwZGF0ZS1yb3ciKSxVPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWF1dG8tdXBkYXRlLWhpbnQiKTtpZSYmaWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVSYmVS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX1lbHNle2lmKEwuZ2l0aHViJiZFJiZBKXt2YXIgTT1MLmdpdGh1Yi52ZXJzaW9uPyJ2IitMLmdpdGh1Yi52ZXJzaW9uOkwuZ2l0aHViLmZpbGVOYW1lO3R5cGVvZiBMLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKE0rPSIgXHhCNyAiK3ZuKEwuZ2l0aHViLnNpemUpKSxBLnRleHRDb250ZW50PU0sRS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx4JiYoeC50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEIix4LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHgub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKEwuZ2l0aHViLmRvd25sb2FkVXJsLCJfYmxhbmsiKSx2KCJcdTZCNjNcdTU3MjhcdTYyNTNcdTVGMDBcdTRFMEJcdThGN0RcdTk4NzVcdTIwMjYiLCJpbmZvIil9KX1pZihMLmxvY2FsJiZTJiZQKXt2YXIgSD1MLmxvY2FsLnZlcnNpb24/InYiK0wubG9jYWwudmVyc2lvbjpMLmxvY2FsLmZpbGVOYW1lO3R5cGVvZiBMLmxvY2FsLnNpemU9PSJudW1iZXIiJiYoSCs9IiBceEI3ICIrdm4oTC5sb2NhbC5zaXplKSksUC50ZXh0Q29udGVudD1ILFMuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseiYmKHoudGV4dENvbnRlbnQ9Ilx1NEUwQlx1OEY3RCIsei5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx6Lm9uY2xpY2s9ZnVuY3Rpb24oKXttKEwubG9jYWwuZG93bmxvYWRVcmwsTC5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIseil9KX0hTC5naXRodWImJiFMLmxvY2FsJiZHJiYoRy50ZXh0Q29udGVudD1UPyJcdTU3MjhcdTdFQkZcdTcyNDhcdTY3MkNcdTY2ODJcdTY1RjZcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdTUzRUZcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDUiOiJBbmRyb2lkIFx1NEUwQlx1OEY3RFx1NjcyQVx1NTcyOFx1NjcwRFx1NTJBMVx1N0FFRlx1NTQyRlx1NzUyOCIsRy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIE49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1zZWN0aW9uIiksWT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLWN1cnJlbnQtcm93IiksSz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWN1cnJlbnQiKSxYPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctZ2l0aHViLXJvdyIpLGFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tYWNvcy1kbWctZ2l0aHViIiksbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWdpdGh1Yi1kbWctYnRuIiksdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1sb2NhbC1yb3ciKSxDZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWxvY2FsIiksRmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWxvY2FsLWRtZy1idG4iKSxiZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLW1lc3NhZ2UiKSxPPWUubWFjb3NEbWd8fHt9LFI9ISFybixzZT1PLmVuYWJsZWQhPT0hMSxCZT1SfHxzZSYmKCEhTy5naXRodWJ8fCEhTy5sb2NhbCk7aWYoTiYmKEJlP04uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6Ti5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSksUil7aWYoWSYmSyYmKEsudGV4dENvbnRlbnQ9InYiK3JuLFkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLE8uZ2l0aHViJiZYJiZhZSl7dmFyIG5lPU8uZ2l0aHViLnZlcnNpb24/InYiK08uZ2l0aHViLnZlcnNpb246Ty5naXRodWIuZmlsZU5hbWU7aWYodHlwZW9mIE8uZ2l0aHViLnNpemU9PSJudW1iZXIiJiYobmUrPSIgXHhCNyAiK3ZuKE8uZ2l0aHViLnNpemUpKSxhZS50ZXh0Q29udGVudD1uZSxYLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlKXt2YXIgZGU9Ty5naXRodWIudmVyc2lvbj9iKE8uZ2l0aHViLnZlcnNpb24scm4pOjE7ZyhsZSxkZSxPLmdpdGh1Yi5kb3dubG9hZFVybCxPLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsImdpdGh1YiIpfX1pZihPLmxvY2FsJiZ1ZSYmQ2Upe3ZhciBNZT1PLmxvY2FsLnZlcnNpb24/InYiK08ubG9jYWwudmVyc2lvbjpPLmxvY2FsLmZpbGVOYW1lO2lmKHR5cGVvZiBPLmxvY2FsLnNpemU9PSJudW1iZXIiJiYoTWUrPSIgXHhCNyAiK3ZuKE8ubG9jYWwuc2l6ZSkpLENlLnRleHRDb250ZW50PU1lLHVlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEZlKXt2YXIgbHQ9Ty5sb2NhbC52ZXJzaW9uP2IoTy5sb2NhbC52ZXJzaW9uLHJuKToxO2coRmUsbHQsTy5sb2NhbC5kb3dubG9hZFVybCxPLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuZG1nIiwibG9jYWwiKX19IU8uZ2l0aHViJiYhTy5sb2NhbCYmYmUmJihiZS50ZXh0Q29udGVudD0iXHU2NjgyXHU2NUUwXHU1M0VGXHU3NTI4XHU2NkY0XHU2NUIwIixiZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIGd0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1hdXRvLXVwZGF0ZS1yb3ciKSxHZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtYXV0by11cGRhdGUtaGludCIpO2d0JiZndC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxHZSYmR2UuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9ZWxzZXtpZihPLmdpdGh1YiYmWCYmYWUpe3ZhciBydD1PLmdpdGh1Yi52ZXJzaW9uPyJ2IitPLmdpdGh1Yi52ZXJzaW9uOk8uZ2l0aHViLmZpbGVOYW1lO3R5cGVvZiBPLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKHJ0Kz0iIFx4QjcgIit2bihPLmdpdGh1Yi5zaXplKSksYWUudGV4dENvbnRlbnQ9cnQsWC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxsZSYmKGxlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLGxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cub3BlbihPLmdpdGh1Yi5kb3dubG9hZFVybCwiX2JsYW5rIiksdigiXHU2QjYzXHU1NzI4XHU2MjUzXHU1RjAwXHU0RTBCXHU4RjdEXHU5ODc1XHUyMDI2IiwiaW5mbyIpfSl9aWYoTy5sb2NhbCYmdWUmJkNlKXt2YXIgaXQ9Ty5sb2NhbC52ZXJzaW9uPyJ2IitPLmxvY2FsLnZlcnNpb246Ty5sb2NhbC5maWxlTmFtZTt0eXBlb2YgTy5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKGl0Kz0iIFx4QjcgIit2bihPLmxvY2FsLnNpemUpKSxDZS50ZXh0Q29udGVudD1pdCx1ZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxGZSYmKEZlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLEZlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEZlLm9uY2xpY2s9ZnVuY3Rpb24oKXttKE8ubG9jYWwuZG93bmxvYWRVcmwsTy5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsRmUpfSl9IU8uZ2l0aHViJiYhTy5sb2NhbCYmYmUmJihiZS50ZXh0Q29udGVudD1zZT8iXHU1NzI4XHU3RUJGXHU3MjQ4XHU2NzJDXHU2NjgyXHU2NUY2XHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1XHVGRjBDXHU1M0VGXHU3QTBEXHU1NDBFXHU5MUNEXHU4QkQ1IjoibWFjT1MgXHU0RTBCXHU4RjdEXHU2NzJBXHU1NzI4XHU2NzBEXHU1MkExXHU3QUVGXHU1NDJGXHU3NTI4IixiZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIFdlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtY29kZSIpLGt0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtcXIiKSx6ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksRGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1xci13cmFwIik7aWYoV2Upe1dlLnRleHRDb250ZW50PSJcdTUyQTBcdThGN0RcdTRFMkQuLi4iLHplJiYoemUudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NEUyRFx1MjAyNiIpLGt0JiYoa3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIik7dmFyIF9lPSIvYXBpL2FwcC1jb25uZWN0LWNvZGUiO3dpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLm9yaWdpbiYmKF9lKz0iP29yaWdpbj0iK2VuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKSksZmV0Y2goX2Use2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGVlKXtyZXR1cm4gZWUuanNvbigpfSkudGhlbihmdW5jdGlvbihlZSl7ZWUuY29kZT8oV2UudGV4dENvbnRlbnQ9ZWUuY29kZSxuLmFuZHJvaWRDb25uZWN0Q29kZT1lZS5jb2RlLFd2KGVlLmNvZGUpKTooV2UudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsemUmJih6ZS50ZXh0Q29udGVudD0iXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1IikpfSkuY2F0Y2goZnVuY3Rpb24oKXtXZS50ZXh0Q29udGVudD0iXHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1Iix6ZSYmKHplLnRleHRDb250ZW50PSJcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjUiKX0pfURlJiYhRGUuZGF0YXNldC5ib3VuZCYmKERlLmRhdGFzZXQuYm91bmQ9IjEiLERlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uYW5kcm9pZENvbm5lY3RDb2RlJiZ6dihuLmFuZHJvaWRDb25uZWN0Q29kZSl9KSk7dmFyIGZlPWUuY29uZmlnfHx7fSxBZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWhvc3QiKSxDPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctcG9ydCIpLGN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaHR0cHMiKSxBdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW1vZGUiKSxRZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWN3ZCIpLCRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc2hlbGwiKTtBZSYmKEFlLnZhbHVlPWZlLmhvc3R8fCIiKSxDJiYoQy52YWx1ZT1mZS5wb3J0fHwiIiksY3QmJihjdC5jaGVja2VkPWZlLmh0dHBzPT09ITApLEF0JiYoQXQudmFsdWU9ZmUuZGVmYXVsdE1vZGV8fCJkZWZhdWx0IiksUWUmJihRZS52YWx1ZT1mZS5kZWZhdWx0Q3dkfHwiIiksJGUmJigkZS52YWx1ZT1mZS5zaGVsbHx8IiIpO3ZhciB4dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWxhbmd1YWdlIik7eHQmJih4dC52YWx1ZT1mZS5sYW5ndWFnZXx8IiIpO3ZhciBYdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIik7WHQmJihYdC52YWx1ZT1mZS5zdHJ1Y3R1cmVkUnVubmVyfHwiY2xpIik7dmFyIGF0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaW5oZXJpdC1lbnYiKTthdCYmKGF0LmNoZWNrZWQ9ZmUuaW5oZXJpdEVudiE9PSExKSxuLmNvbmZpZ0RlZmF1bHRNb2RlbD1mZS5kZWZhdWx0TW9kZWx8fCIiLHlpKCksV28oKS50aGVuKGZ1bmN0aW9uKCl7eWkoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk7dmFyIHFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZXJ0LXN0YXR1cyIpO3FlJiYocWUudGV4dENvbnRlbnQ9ZS5oYXNDZXJ0PyJcdTVERjJcdTVCODlcdTg4QzUgU1NMIFx1OEJDMVx1NEU2NiI6Ilx1NjcyQVx1NUI4OVx1ODhDNVx1OEJDMVx1NEU2Nlx1RkYwOFx1NEY3Rlx1NzUyOFx1ODFFQVx1N0I3RVx1NTQwRFx1NjIxNiBIVFRQXHVGRjA5IixxZS5zdHlsZS5jb2xvcj1lLmhhc0NlcnQ/InZhcigtLXN1Y2Nlc3MpIjoidmFyKC0tdGV4dC1zZWNvbmRhcnkpIik7dmFyIE9lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVzZXRzLWxpc3QiKTtpZihPZSYmZmUuY29tbWFuZFByZXNldHMpe2Zvcih2YXIgd2U9IiIsVmU9MDtWZTxmZS5jb21tYW5kUHJlc2V0cy5sZW5ndGg7VmUrKyl7dmFyIFN0PWZlLmNvbW1hbmRQcmVzZXRzW1ZlXTt3ZSs9JzxkaXYgY2xhc3M9InByZXNldC1pdGVtIj48c3BhbiBjbGFzcz0icHJlc2V0LWxhYmVsIj4nK3AoU3QubGFiZWwpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InByZXNldC1kZXRhaWwiPicrcChTdC5jb21tYW5kKSsoU3QubW9kZT8iICgiK3AoU3QubW9kZSkrIikiOiIiKSsiPC9zcGFuPjwvZGl2PiJ9d2V8fCh3ZT0nPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtY29tcGFjdCI+PHNwYW4gY2xhc3M9ImVtcHR5LWljb24iPlx1MjY5OTwvc3Bhbj48c3Bhbj5cdTZDQTFcdTY3MDlcdTU0N0RcdTRFRTRcdTk4ODRcdThCQkU8L3NwYW4+PHNwYW4gY2xhc3M9ImhpbnQiPlx1NTcyOCBjb25maWcuanNvbiBcdTc2ODQgY29tbWFuZFByZXNldHMgXHU0RTJEXHU5MTREXHU3RjZFPC9zcGFuPjwvZGl2PicpLE9lLmlubmVySFRNTD13ZX12YXIgaHQ9ZmUuY2FyZERlZmF1bHRzfHx7fSxnbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtZWRpdCIpLEl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1pbmxpbmUiKSxTbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGVybWluYWwiKSxjZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGhpbmtpbmciKSx1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdG9vbGdyb3VwIik7Z24mJihnbi5jaGVja2VkPWh0LmVkaXRDYXJkcz09PSEwKSxJdCYmKEl0LmNoZWNrZWQ9aHQuaW5saW5lVG9vbHM9PT0hMCksU24mJihTbi5jaGVja2VkPWh0LnRlcm1pbmFsPT09ITApLGNlJiYoY2UuY2hlY2tlZD1odC50aGlua2luZz09PSEwKSx1dCYmKHV0LmNoZWNrZWQ9aHQudG9vbEdyb3VwPT09ITApfSkuY2F0Y2goZnVuY3Rpb24oKXt9KX1mdW5jdGlvbiBVdigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maWctbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PXtob3N0Oihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWhvc3QiKXx8e30pLnZhbHVlLHBvcnQ6TnVtYmVyKChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXBvcnQiKXx8e30pLnZhbHVlKSxodHRwczooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1odHRwcyIpfHx7fSkuY2hlY2tlZCxkZWZhdWx0TW9kZTooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1tb2RlIil8fHt9KS52YWx1ZSxkZWZhdWx0Q3dkOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWN3ZCIpfHx7fSkudmFsdWUsc2hlbGw6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc2hlbGwiKXx8e30pLnZhbHVlLGxhbmd1YWdlOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWxhbmd1YWdlIil8fHt9KS52YWx1ZXx8IiIsZGVmYXVsdE1vZGVsOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtbW9kZWwiKXx8e30pLnZhbHVlfHwiIixzdHJ1Y3R1cmVkUnVubmVyOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIil8fHt9KS52YWx1ZXx8ImNsaSIsaW5oZXJpdEVudjooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1pbmhlcml0LWVudiIpfHx7fSkuY2hlY2tlZCE9PSExfSxyPW4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiLGk9dC5kZWZhdWx0TW9kZWx8fCIiO2ZldGNoKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoZSYmKGEuZXJyb3I/KGUudGV4dENvbnRlbnQ9YS5lcnJvcixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiKTooZS50ZXh0Q29udGVudD1hLnJlc3RhcnRSZXF1aXJlZD8iXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHVGRjBDXHU5MEU4XHU1MjA2XHU5MEU4XHU3RjcyXHU1QjU3XHU2QkI1XHVGRjA4aG9zdC9wb3J0L2h0dHBzL3NoZWxsXHVGRjA5XHU5NzAwXHU4OTgxXHU5MUNEXHU1NDJGXHU2NzBEXHU1MkExXHU2MjREXHU3NTFGXHU2NTQ4XHUzMDAyIjoiXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLCghYXx8IWEuZXJyb3IpJiYobi5jb25maWcmJihuLmNvbmZpZy5kZWZhdWx0TW9kZWw9aSksbi5jb25maWdEZWZhdWx0TW9kZWw9aSxpIT09cikpe24uY2hhdE1vZGVsPSIiO3RyeXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1jaGF0LW1vZGVsIil9Y2F0Y2h7fVluKG10KCkpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pfWZ1bmN0aW9uIEt2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpc3BsYXktbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PXtjYXJkRGVmYXVsdHM6e2VkaXRDYXJkczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtZWRpdCIpfHx7fSkuY2hlY2tlZCxpbmxpbmVUb29sczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtaW5saW5lIil8fHt9KS5jaGVja2VkLHRlcm1pbmFsOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10ZXJtaW5hbCIpfHx7fSkuY2hlY2tlZCx0aGlua2luZzohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGhpbmtpbmciKXx8e30pLmNoZWNrZWQsdG9vbEdyb3VwOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10b29sZ3JvdXAiKXx8e30pLmNoZWNrZWR9fTtmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHQpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2UmJihyLmVycm9yPyhlLnRleHRDb250ZW50PXIuZXJyb3IsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIik6KGUudGV4dENvbnRlbnQ9Ilx1NjYzRVx1NzkzQVx1OEJCRVx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSwhci5lcnJvciYmbi5jb25maWcmJihuLmNvbmZpZy5jYXJkRGVmYXVsdHM9dC5jYXJkRGVmYXVsdHMpfSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9ZnVuY3Rpb24gSnYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1rZXktZmlsZSIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtY2VydC1maWxlIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1tZXNzYWdlIik7aWYociYmKHIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci50ZXh0Q29udGVudD0iIiksIWV8fCFlLmZpbGVzfHwhZS5maWxlc1swXXx8IXR8fCF0LmZpbGVzfHwhdC5maWxlc1swXSl7ciYmKHIudGV4dENvbnRlbnQ9Ilx1OEJGN1x1OTAwOVx1NjJFOVx1NzlDMVx1OTRBNVx1NTQ4Q1x1OEJDMVx1NEU2Nlx1NjU4N1x1NEVGNlx1MzAwMiIsci5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixyLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTtyZXR1cm59dmFyIGk9bmV3IEZpbGVSZWFkZXI7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYT1pLnJlc3VsdCx1PW5ldyBGaWxlUmVhZGVyO3Uub25sb2FkPWZ1bmN0aW9uKCl7dmFyIHM9dS5yZXN1bHQ7ZmV0Y2goIi9hcGkvc2V0dGluZ3MvdXBsb2FkLWNlcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtrZXk6YSxjZXJ0OnN9KX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtpZihyKXtpZihvLmVycm9yKXIudGV4dENvbnRlbnQ9by5lcnJvcixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiO2Vsc2V7ci50ZXh0Q29udGVudD0iXHU4QkMxXHU0RTY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU5MUNEXHU1NDJGXHU1NDBFXHU3NTFGXHU2NTQ4XHUzMDAyIixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSI7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtc3RhdHVzIik7bCYmKGwudGV4dENvbnRlbnQ9Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IixsLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpfXIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtyJiYoci50ZXh0Q29udGVudD0iXHU0RTBBXHU0RjIwXHU1OTMxXHU4RDI1XHUzMDAyIixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9LHUucmVhZEFzVGV4dCh0LmZpbGVzWzBdKX0saS5yZWFkQXNUZXh0KGUuZmlsZXNbMF0pfWZ1bmN0aW9uIFhvKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1tZXNzYWdlIik7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NEUyRC4uLiIpLHImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxmZXRjaCgiL2FwaS9jaGVjay11cGRhdGUiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe2UmJihlLnRleHRDb250ZW50PSJcdTY4QzBcdTY3RTVcdTU5MzFcdThEMjUiKTtyZXR1cm59dmFyIGE9aS5jaGFubmVsPT09ImJldGEiO2lmKGUmJihlLnRleHRDb250ZW50PWkubGF0ZXN0fHwoYT8iYmV0YSBcdTY3MkFcdTUzRDFcdTVFMDMiOiItIikpLCFpLmxhdGVzdCl7ciYmKHIudGV4dENvbnRlbnQ9YT8iXHU2NUUwXHU2Q0Q1XHU4QkZCXHU1M0Q2IG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1MzAwMiI6Ilx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMCBucG0gcmVnaXN0cnlcdTMwMDIiLHIuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7cmV0dXJufWkudXBkYXRlQXZhaWxhYmxlJiZ0JiYodC50ZXh0Q29udGVudD1hPyJcdTY2RjRcdTY1QjBcdTUyMzAgQmV0YSI6Ilx1NjZGNFx1NjVCMFx1NTIzMFx1NjcwMFx1NjVCMFx1NzI0OCIsdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksIWkudXBkYXRlQXZhaWxhYmxlJiZyJiYoci50ZXh0Q29udGVudD1hPyJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAgQmV0YSBcdTcyNDhcdTY3MkNcdTMwMDIiOiJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjBcdTcyNDhcdTY3MkNcdTMwMDIiLHIuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixyLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NTkzMVx1OEQyNSIpfSl9ZnVuY3Rpb24gWXYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLW1lc3NhZ2UiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby11cGRhdGUtYnV0dG9uIik7dCYmKHQuZGlzYWJsZWQ9ITAsZSYmKGUudGV4dENvbnRlbnQ9Ilx1NkI2M1x1NTcyOFx1NjZGNFx1NjVCMFx1RkYwQ1x1OEJGN1x1N0EwRFx1NTAxOS4uLiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyLmVycm9yKXtlJiYoZS50ZXh0Q29udGVudD1yLmVycm9yLGUuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksdC5kaXNhYmxlZD0hMTtyZXR1cm59aWYoZSYmKGUudGV4dENvbnRlbnQ9KHIubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiLGUuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSx0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHIuZGV0YWNoZWRVcGRhdGUpYW4oKTtlbHNlIGlmKHIucmVzdGFydFJlcXVpcmVkIT09ITEpQXMobnVsbCxlKTtlbHNle3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby1yZXN0YXJ0LWJ1dHRvbiIpO2kmJmkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU2NkY0XHU2NUIwXHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLHQuZGlzYWJsZWQ9ITF9KSl9ZnVuY3Rpb24gR3YoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tcmVzdGFydC1idXR0b24iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGRhdGUtbWVzc2FnZSIpO0FzKGUsdCl9ZnVuY3Rpb24gUXYoKXtmZXRjaCgiL2FwaS9hdXRvLXVwZGF0ZSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7aWYoZS5hcGspcmV0dXJuIGZldGNoKCIvYXBpL2FuZHJvaWQtYXBrLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChEbikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5hcGsiLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uICR2KCl7cm4mJmZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlLmRtZylyZXR1cm4gZmV0Y2goIi9hcGkvbWFjb3MtZG1nLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChybikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5kbWciLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIEphKGUsdCl7dmFyIHI9e307cltlXT10LGZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShyKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWFway10b2dnbGUiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1kbWctdG9nZ2xlIik7YSYmKGEuY2hlY2tlZD0hIWkud2ViKSx1JiYodS5jaGVja2VkPSEhaS5hcGspLHMmJihzLmNoZWNrZWQ9ISFpLmRtZyl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS0iK2UrIi10b2dnbGUiKTtpJiYoaS5jaGVja2VkPSF0KX0pfWZ1bmN0aW9uIFh2KGUpe2ZldGNoKCIvYXBpL3VwZGF0ZS1jaGFubmVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2hhbm5lbDplfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTtyJiYoci5jaGVja2VkPXQuY2hhbm5lbD09PSJiZXRhIiksWG8oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTt0JiYodC5jaGVja2VkPWUhPT0iYmV0YSIpfSl9ZnVuY3Rpb24gWm8oZSl7Zm9yKHZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24iKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl0uZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKT09PWU7dFtyXS5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsaSksdFtyXS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsaT8idHJ1ZSI6ImZhbHNlIil9fWZ1bmN0aW9uIG1uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXN0YXR1cyIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7aWYoZSl7dmFyIGE9bmkoKTtpZihhPT09bnVsbCl7aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe2UudGV4dENvbnRlbnQ9Ilx1NEUwRFx1NjUyRlx1NjMwMSIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZmctbXV0ZWQpIix0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWE9Tm90aWZpY2F0aW9uLnBlcm1pc3Npb259YT09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHU1REYyXHU2Mzg4XHU2NzQzIFx1MjcxMyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSk6YT09PSJkZW5pZWQiPyhlLnRleHRDb250ZW50PSJcdTVERjJcdTYyRDJcdTdFREQiLGUuc3R5bGUuY29sb3I9InZhcigtLWRhbmdlcikiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9Ilx1NjcyQVx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0td2FybmluZykiLHQmJnQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIFp2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKTtpZihIZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24odCl7bW4oKSxlJiYodD09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKTooZS50ZXh0Q29udGVudD0iXHUyNzE3IFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwQ1x1OEJGN1x1NTcyOFx1N0NGQlx1N0VERlx1OEJCRVx1N0Y2RVx1NEUyRFx1NUYwMFx1NTQyRiBXYW5kIFx1NzY4NFx1OTAxQVx1NzdFNVx1Njc0M1x1OTY1MCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZGFuZ2VyKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJufXR5cGVvZiBOb3RpZmljYXRpb24+InUifHxOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKGZ1bmN0aW9uKHQpe2lmKG1uKCksdD09PSJncmFudGVkIillJiYoZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO2Vsc2UgaWYodD09PSJkZW5pZWQiJiZlKXt2YXIgcj1sb2NhdGlvbi5vcmlnaW47ZS5pbm5lckhUTUw9J1x1NkQ0Rlx1ODlDOFx1NTY2OFx1NURGMlx1NjJFNlx1NjIyQVx1NjM4OFx1Njc0M1x1NUYzOVx1N0E5N1x1RkYwQ1x1OEJGN1x1NjI0Qlx1NTJBOFx1OTFDRFx1N0Y2RVx1RkYxQTxicj48c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDttYXJnaW46NHB4IDAiPlx1MjQ2MCBcdTcwQjlcdTUxRkJcdTU3MzBcdTU3NDBcdTY4MEZcdTVERTZcdTRGQTdcdTc2ODQgPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Zm9udC1zaXplOjExcHg7dmVydGljYWwtYWxpZ246bWlkZGxlIj5pPC9zcGFuPiBcdTYyMTZcdTk1MDFcdTU2RkVcdTY4MDc8L3NwYW4+PGJyPlx1MjQ2MSBcdTYyN0VcdTUyMzBcdTMwMENcdTkwMUFcdTc3RTVcdTMwMERcdTIxOTIgXHU2NTM5XHU0RTNBXHUzMDBDXHU1MTQxXHU4QkI4XHUzMDBEPGJyPlx1MjQ2MiBcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTUzNzNcdTUzRUYnLGUuc3R5bGUuY29sb3I9InZhcigtLWZnLW11dGVkKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19KX1mdW5jdGlvbiBlbCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTtlJiYoZS5kaXNhYmxlZD0hMSxlLnRleHRDb250ZW50PSIxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDEiKX1mdW5jdGlvbiBlbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7bi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXImJihjbGVhclRpbWVvdXQobi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXIpLG4uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTt0JiYodC5kaXNhYmxlZD0hMCx0LnRleHRDb250ZW50PSJcdTVERjJcdTVCODlcdTYzOTJcdUZGMDgxMHNcdUZGMDkiKSxlJiYoZS5pbm5lckhUTUw9Ilx1NURGMlx1NUI4OVx1NjM5MiAxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDFcdTZENEJcdThCRDVcdTkwMUFcdTc3RTVcdUZGMENcdThCRjdcdTUyMDdcdTUyMzBcdTU0MEVcdTUzRjBcdTdCNDlcdTVGODVcdTMwMDIiLGUuc3R5bGUuY29sb3I9InZhcigtLXRleHQtc2Vjb25kYXJ5KSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksbi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwsZWwoKSx0bCgpfSwxZTQpfWZ1bmN0aW9uIHRsKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKSx0PVtdO24uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyKSxuLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lcj1udWxsLGVsKCkpO3ZhciByPWRmKCk7dC5wdXNoKHI/Ilx1MjcxMyBcdTYzRDBcdTc5M0FcdTk3RjMiOiJcdTI3MTcgXHU2M0QwXHU3OTNBXHU5N0YzXHVGRjA4XHU2NUUwXHU2Q0Q1XHU2NEFEXHU2NTNFXHVGRjA5Iik7dmFyIGk9bi5ub3RpZkJ1YmJsZTtpZihhYSh7dGl0bGU6Ilx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIsYm9keToiXHU4RkQ5XHU2NjJGXHU0RTAwXHU2NzYxXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1XHUzMDAyIix0eXBlOiJpbmZvIixpY29uOiJcdTI2NkEiLGR1cmF0aW9uOjVlMyxwbGF5U291bmQ6ITF9KSx0LnB1c2goaT8iXHUyNzEzIFx1NUU5NFx1NzUyOFx1NTE4NVx1NkMxNFx1NkNFMSI6Ilx1MjAxMyBcdTVFOTRcdTc1MjhcdTUxODVcdTZDMTRcdTZDRTFcdUZGMDhcdTVERjJcdTUxNzNcdTk1RURcdUZGMDkiKSxIZSl7dmFyIGE9bmkoKTtpZihhPT09ImdyYW50ZWQiKXRyeXtXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb24oIldhbmQgXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1IiwiXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1REYyXHU2QjYzXHU1RTM4XHU1REU1XHU0RjVDXHUzMDAyIiwid2FuZC10ZXN0IiksdC5wdXNoKCJcdTI3MTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1Iil9Y2F0Y2h7dC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHVGRjA5Iil9ZWxzZSBpZihhPT09ImRlbmllZCIpdC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1REYyXHU2MkQyXHU3RUREXHVGRjBDXHU4QkY3XHU1NzI4XHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFXHU0RTJEXHU1RjAwXHU1NDJGXHVGRjA5Iik7ZWxzZXt3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdD1mdW5jdGlvbihvKXtpZihtbigpLG89PT0iZ3JhbnRlZCIpdHJ5e1dhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbigiV2FuZCBcdTZENEJcdThCRDVcdTkwMUFcdTc3RTUiLCJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTVERjJcdTZCNjNcdTVFMzhcdTVERTVcdTRGNUNcdTMwMDIiLCJ3YW5kLXRlc3QiKSx0LnB1c2goIlx1MjcxMyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTVERjJcdTYzODhcdTY3NDNcdUZGMDkiKX1jYXRjaHt0LnB1c2goIlx1MjcxNyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjVcdUZGMDkiKX1lbHNlIHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpOyRuKGUsdCksZGVsZXRlIHdpbmRvdy5fb25OYXRpdmVQZXJtaXNzaW9uUmVzdWx0fTt0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59JG4oZSx0KTtyZXR1cm59aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe3QucHVzaCgiXHUyMDEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NEUwRFx1NjUyRlx1NjMwMVx1RkYwOSIpLCRuKGUsdCk7cmV0dXJufXZhciB1PU5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uO2lmKHU9PT0iZ3JhbnRlZCIpe3RyeXt2YXIgcz1uZXcgTm90aWZpY2F0aW9uKCJXYW5kIFx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIse2JvZHk6Ilx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NkI2M1x1NUUzOFx1NURFNVx1NEY1Q1x1MzAwMiIsaWNvbjoiL2Zhdmljb24uaWNvIix0YWc6IndhbmQtdGVzdCJ9KTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5jbG9zZSgpfSw1ZTMpLHQucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNSIpfWNhdGNoe3QucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1RkYwQ1x1NTNFRlx1ODBGRFx1OTcwMFx1ODk4MSBIVFRQU1x1RkYwOSIpfSRuKGUsdCl9ZWxzZSB1PT09ImRlbmllZCI/KHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjJEMlx1N0VERFx1RkYwOSIpLCRuKGUsdCkpOk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24obyl7bW4oKSxvPT09ImdyYW50ZWQiP3QucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjM4OFx1Njc0M1x1RkYwOSIpOnQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpLCRuKGUsdCl9KX1mdW5jdGlvbiAkbihlLHQpe2lmKGUpe2UuaW5uZXJIVE1MPXQubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBwKGkpfSkuam9pbigiPGJyPiIpO3ZhciByPXQuZXZlcnkoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaW5kZXhPZigiXHUyNzEzIik9PT0wfHxpLmluZGV4T2YoIlx1MjAxMyIpPT09MH0pO2Uuc3R5bGUuY29sb3I9cj8idmFyKC0tc3VjY2VzcykiOiJ2YXIoLS13YXJuaW5nKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19ZnVuY3Rpb24gb3QoZSl7aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0Inx8IW4udGVybWluYWwpcmV0dXJuIGU7dHJ5e3R5cGVvZiBuLnRlcm1pbmFsLnJlbWVhc3VyZT09ImZ1bmN0aW9uIiYmbi50ZXJtaW5hbC5yZW1lYXN1cmUoKX1jYXRjaHt9dmFyIHQ9bi50ZXJtaW5hbC5jb2xzLHI9bi50ZXJtaW5hbC5yb3dzO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnR5cGVvZiByPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocikmJnQ+MCYmcj4wJiYoZS5jb2xzPXQsZS5yb3dzPXIpLGV9ZnVuY3Rpb24gbmwoKXtyZXR1cm4gbi50ZXJtaW5hbCYmbi50ZXJtaW5hbC5jb2xzP1Byb21pc2UucmVzb2x2ZSgpOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExLHI9ZnVuY3Rpb24oKXt0fHwodD0hMCxlKCkpfSxpPXNldFRpbWVvdXQociwyZTMpO3RyeXt6bigpfWNhdGNoe31yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLmNvbHMmJihjbGVhclRpbWVvdXQoaSkscigpKX0pfSl9KX1mdW5jdGlvbiBybCgpe3ZhciBlPXZ0KCksdD1KZSgpLHI9TnQoZSxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGU/bi5jb25maWcuZGVmYXVsdE1vZGU6ImRlZmF1bHQiKTtuLnByZWZlcnJlZENvbW1hbmQ9ZSxuLmNoYXRNb2RlPU50KGUsbi5jaGF0TW9kZSksbmwoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDplLHByb3ZpZGVyOmUsY3dkOnQsbW9kZTpyfSkpfSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1yZXR1cm4gbi5zZWxlY3RlZElkPWkuaWQseWUoKSxuLmRyYWZ0c1tpLmlkXT0iIixDdCgpLGp0KCl9KS50aGVuKGZ1bmN0aW9uKCl7X3QoITApfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9dmFyIE1yPSExO2Z1bmN0aW9uIHRtKCl7aWYoIU1yKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kYWwtZXJyb3IiKSxyPXZ0KCksaT1uLnNlc3Npb25DcmVhdGVLaW5kfHwic3RydWN0dXJlZCIsYT1uLnNlc3Npb25DcmVhdGVXb3JrdHJlZT09PSEwO3RpKHQpO3ZhciB1PUplKCkscz0oZT9lLnZhbHVlLnRyaW0oKToiIil8fHUsbz1OdChyLG4ubW9kZVZhbHVlKTtpZihpPT09InN0cnVjdHVyZWQiKXtubShzLG8sYSx0KTtyZXR1cm59cm0ocixzLG8sYSx0KX19ZnVuY3Rpb24gbm0oZSx0LHIsaSl7dmFyIGE9bi5zZXNzaW9uVG9vbD09PSJjb2RleCI/ImNvZGV4IjoiY2xhdWRlIjtyZXR1cm4gTXI9ITAsbi5tb2RlVmFsdWU9dCxuLmNoYXRNb2RlPXQsbi5zZXNzaW9uVG9vbD1hLG4ucHJlZmVycmVkQ29tbWFuZD1hLGhpKCksWW4obXQoKSksVW8odm9pZCAwLGUsdCxyKS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiBZdChlKSxwbigpLFd0KCksdX0pLnRoZW4oZnVuY3Rpb24oKXtfdCghMCl9KS5jYXRjaChmdW5jdGlvbih1KXtOZShpLHUmJnUubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBDbGF1ZGUgXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHUzMDAyIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7TXI9ITF9KX1mdW5jdGlvbiBybShlLHQscixpLGEpe01yPSEwLG4ubW9kZVZhbHVlPXIsbi5jaGF0TW9kZT1yLG4uc2Vzc2lvblRvb2w9ZSxuLnByZWZlcnJlZENvbW1hbmQ9ZSxoaSgpLG5sKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6ZSxwcm92aWRlcjplLGN3ZDp0LG1vZGU6cix3b3JrdHJlZUVuYWJsZWQ6aX0pKX0pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe2lmKHUuZXJyb3Ipe05lKGEsdS5lcnJvcik7cmV0dXJufXJldHVybiBuLnNlbGVjdGVkSWQ9dS5pZCx5ZSgpLFl0KHQpLG4uZHJhZnRzW3UuaWRdPSIiLEN0KCkscG4oKSxXdCgpLGp0KCl9KS50aGVuKGZ1bmN0aW9uKCl7bi5zZWxlY3RlZElkP1J0KG4uc2VsZWN0ZWRJZCk6X3QoITApfSkuY2F0Y2goZnVuY3Rpb24oKXtOZShhLGU9PT0iY29kZXgiPyJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ29kZXggXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IGNvZGV4IFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1NUU3Nlx1NTNFRlx1NTcyOFx1N0VDOFx1N0FFRlx1NEUyRFx1NjI2N1x1ODg0Q1x1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IENsYXVkZSBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTMwMDIiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtNcj0hMX0pfWZ1bmN0aW9uIGltKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkIik7ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGlsKSxlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpeyh0LmtleT09PSJFbnRlciJ8fHQua2V5PT09IiAiKSYmKHQucHJldmVudERlZmF1bHQoKSxpbCgpKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtZHJvcGRvd24iKTtpZighKCFyfHxyLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpJiYhdC50YXJnZXQuY2xvc2VzdCgiLmJsYW5rLWNoYXQtY3dkLXdyYXAiKSl7ci5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpJiYoaS50ZXh0Q29udGVudD0iXHUyNUJDIil9fSkpfWZ1bmN0aW9uIGlsKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpZihlKXt2YXIgcj1lLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIik7cj8oYW0oZSksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx0JiYodC50ZXh0Q29udGVudD0iXHUyNUIyIikpOihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQmJih0LnRleHRDb250ZW50PSJcdTI1QkMiKSl9fWZ1bmN0aW9uIGFtKGUpe3ZhciB0PWVuKCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRC4uLjwvZGl2PicsJGkoZnVuY3Rpb24ocil7dmFyIGk9IiIsYT1uLndvcmtpbmdEaXJ8fHQ7aWYoaSs9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0nKyhhPT09dD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKHQpKyciPjxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtLWxhYmVsIj5cdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0tcGF0aCI+JytwKHQpKyI8L3NwYW4+PC9kaXY+IixyLmxlbmd0aCl7dmFyIHU9e307dVt0XT0hMCxyLmZvckVhY2goZnVuY3Rpb24ocyl7dVtzLnBhdGhdfHwodVtzLnBhdGhdPSEwLGkrPSc8ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtJysoYT09PXMucGF0aD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKHMucGF0aCkrJyI+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0tcGF0aCI+JytwKHMucGF0aCkrIjwvc3Bhbj48L2Rpdj4iKX0pfWUuaW5uZXJIVE1MPWksZS5xdWVyeVNlbGVjdG9yQWxsKCIuYmxhbmstY2hhdC1jd2QtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24ocyl7cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obyl7by5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbD1zLmRhdGFzZXQucGF0aDtuLndvcmtpbmdEaXI9bDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiLGwpfWNhdGNoe312YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtcGF0aCIpO2MmJihjLnRleHRDb250ZW50PWwpLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWFycm93Iik7ZCYmKGQudGV4dENvbnRlbnQ9Ilx1MjVCQyIpO3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0Iik7ZiYmKGYudmFsdWU9bCl9KX0pfSl9ZnVuY3Rpb24gdW0oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjZW50LXBhdGhzLWJ1YmJsZXMiKTtlJiYkaShmdW5jdGlvbih0KXtpZighdC5sZW5ndGgpe2UuaW5uZXJIVE1MPSIiO3JldHVybn1lLmlubmVySFRNTD10Lm1hcChmdW5jdGlvbihyKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0icmVjZW50LXBhdGgtYnViYmxlIiBkYXRhLXBhdGg9IicrcChyLnBhdGgpKyciIHRpdGxlPSInK3Aoci5wYXRoKSsnIj4nK3Aoci5uYW1lKSsiPC9idXR0b24+In0pLmpvaW4oIiIpLGUucXVlcnlTZWxlY3RvckFsbCgiLnJlY2VudC1wYXRoLWJ1YmJsZSIpLmZvckVhY2goZnVuY3Rpb24ocil7ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7aSYmKGkudmFsdWU9ci5kYXRhc2V0LnBhdGh8fCIiLG4uY3dkVmFsdWU9ci5kYXRhc2V0LnBhdGh8fCIiKX0pfSl9KX1mdW5jdGlvbiBhbCgpe24uc3VnZ2VzdGlvblRpbWVyJiZjbGVhclRpbWVvdXQobi5zdWdnZXN0aW9uVGltZXIpLG4uc3VnZ2VzdGlvblRpbWVyPXNldFRpbWVvdXQoc20sMTIwKX1mdW5jdGlvbiBzbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7aWYoZSYmZS5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKXtYbigpO3JldHVybn12YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7dCYmZmV0Y2goIi9hcGkvcGF0aC1zdWdnZXN0aW9ucz9xPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQudmFsdWUudHJpbSgpKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihvbSkuY2F0Y2goWG4pfWZ1bmN0aW9uIG9tKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtpZighdHx8IWUubGVuZ3RoKXtYbigpO3JldHVybn10LmlubmVySFRNTD1lLm1hcChmdW5jdGlvbihyKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0ic3VnZ2VzdGlvbi1pdGVtIiBkYXRhLXBhdGg9IicrcChyLnBhdGgpKyciPjxzdHJvbmc+JytwKHIubmFtZSkrIjwvc3Ryb25nPjxzbWFsbD4iK3Aoci5wYXRoKSsiPC9zbWFsbD48L2J1dHRvbj4ifSkuam9pbigiIiksdC5xdWVyeVNlbGVjdG9yQWxsKCIuc3VnZ2VzdGlvbi1pdGVtIikuZm9yRWFjaChmdW5jdGlvbihyKXtyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKS52YWx1ZT1yLmRhdGFzZXQucGF0aHx8IiIsbi5jd2RWYWx1ZT1yLmRhdGFzZXQucGF0aHx8IiIsWG4oKX0pfSksdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX1mdW5jdGlvbiBYbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtlJiYoZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmlubmVySFRNTD0iIil9ZnVuY3Rpb24gbG0oZSl7aWYoIWUuaXNDb21wb3Npbmcpe2lmKFVzKGUpKXtGYShlKTtyZXR1cm59aWYoZS5rZXk9PT0iRW50ZXIiKXtpZihlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHQpe3ZhciByPXQuc2VsZWN0aW9uU3RhcnR8fDAsaT10LnZhbHVlLGE9aS5zbGljZSgwLHIpK2AKYCtpLnNsaWNlKHIpO3QudmFsdWU9YSx0LnNlbGVjdGlvblN0YXJ0PXIrMSx0LnNlbGVjdGlvbkVuZD1yKzEsbnQoYSwhMCksUHQodCl9cmV0dXJufWUucHJldmVudERlZmF1bHQoKTt2YXIgdT0hIShlLm1ldGFLZXl8fGUuY3RybEtleSk7T3ModT97aW50ZXJydXB0OiEwfTp2b2lkIDApO3JldHVybn1pZihlLmtleT09PSJCYWNrc3BhY2UiKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2cmJm50KGcudmFsdWUsITApfSwwKTtyZXR1cm59aWYoZS5rZXk9PT0iVGFiIil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZih0KXt2YXIgcj10LnNlbGVjdGlvblN0YXJ0fHwwLGk9dC52YWx1ZSxhPWkuc2xpY2UoMCxyKSsiCSIraS5zbGljZShyKTt0LnZhbHVlPWEsbnQoYSwhMCl9cmV0dXJufWlmKGUua2V5PT09IkVzY2FwZSIpe2UucHJldmVudERlZmF1bHQoKTt2YXIgcz1tdCgpO29lKHMpP3MmJnMuc3RydWN0dXJlZFN0YXRlJiZzLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmd2EoKTpwdCh3cigiZXNjYXBlIiksImVzY2FwZSIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImMiKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksbD1vJiZvLnNlbGVjdGlvblN0YXJ0IT09by5zZWxlY3Rpb25FbmR8fG9pKCk7aWYobClyZXR1cm47dmFyIGM9bXQoKTtpZihvZShjKSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGMmJmMuc3RydWN0dXJlZFN0YXRlJiZjLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmd2EoKTtyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLHB0KHdyKCJjdHJsX2MiKSwiY3RybF9jIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iZCIpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxmPWQmJmQuc2VsZWN0aW9uU3RhcnQhPT1kLnNlbGVjdGlvbkVuZHx8b2koKTtpZihmKXJldHVybjt2YXIgdj1tdCgpO2lmKG9lKHYpKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWUucHJldmVudERlZmF1bHQoKSxwdCh3cigiY3RybF9kIiksImN0cmxfZCIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImwiKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIG09bXQoKTtpZihvZShtKSlyZXR1cm47cHQod3IoImN0cmxfbCIpLCJjdHJsX2wiKTtyZXR1cm59aWYoISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImEiKSYmISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09InYiKSl7aWYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJ4Iil7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGI9dCYmdC5zZWxlY3Rpb25TdGFydCE9PXQuc2VsZWN0aW9uRW5kO2lmKGIpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwdCgiGCIsImN0cmxfeCIpO3JldHVybn1lLmtleS5sZW5ndGg9PT0xJiYhZS5jdHJsS2V5JiYhZS5tZXRhS2V5JiYhZS5hbHRLZXkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7ZyYmbnQoZy52YWx1ZSl9LDApfX19dmFyIGNtPTEwKjEwMjQqMTAyNDtmdW5jdGlvbiBkbShlKXtyZXR1cm4gZTwxMDI0P2UrIiBCIjplPDEwMjQqMTAyND8oZS8xMDI0KS50b0ZpeGVkKDEpKyIgS0IiOihlLygxMDI0KjEwMjQpKS50b0ZpeGVkKDEpKyIgTUIifWZ1bmN0aW9uIGZtKGUpe3JldHVybi9eaW1hZ2VcLyhwbmd8anBlP2d8Z2lmfHdlYnB8Ym1wfHN2Z1wreG1sKS8udGVzdChlKX1mdW5jdGlvbiBZYShlKXtpZihlKXtpZihlLnNpemU+Y20pe2soIlx1NjU4N1x1NEVGNlx1OEZDN1x1NTkyN1x1RkYwOFx1NEUwQVx1OTY1MCAxMCBNQlx1RkYwOTogIitlLm5hbWUsImVycm9yIik7cmV0dXJufXZhciB0PXtmaWxlOmUsbmFtZTplLm5hbWUsc2l6ZTplLnNpemUscHJldmlld1VybDpudWxsfTtmbShlLnR5cGUpJiYodC5wcmV2aWV3VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwoZSkpLG4ucGVuZGluZ0F0dGFjaG1lbnRzLnB1c2godCksR2EoKX19ZnVuY3Rpb24gcG0oZSl7dmFyIHQ9bi5wZW5kaW5nQXR0YWNobWVudHMuc3BsaWNlKGUsMSk7dC5sZW5ndGgmJnRbMF0ucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTCh0WzBdLnByZXZpZXdVcmwpLEdhKCl9ZnVuY3Rpb24gdm0oKXtuLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTChlLnByZXZpZXdVcmwpfSksbi5wZW5kaW5nQXR0YWNobWVudHM9W10sR2EoKX1mdW5jdGlvbiBHYSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2htZW50LXByZXZpZXciKTtpZihlKXt2YXIgdD1uLnBlbmRpbmdBdHRhY2htZW50cztpZih0Lmxlbmd0aD09PTApe2UuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7Zm9yKHZhciByPSIiLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXSx1PWEucHJldmlld1VybD8nPGltZyBzcmM9IicrcChhLnByZXZpZXdVcmwpKyciIGFsdD0iIj4nOic8c3BhbiBjbGFzcz0iYXR0LWljb24iPicrSigiZmlsZSIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrIjwvc3Bhbj4iO3IrPSc8c3BhbiBjbGFzcz0iYXR0YWNobWVudC1waWxsIiBkYXRhLWluZGV4PSInK2krJyI+Jyt1Kyc8c3BhbiBjbGFzcz0iYXR0LW5hbWUiIHRpdGxlPSInK3AoYS5uYW1lKSsnIj4nK3AoYS5uYW1lKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhdHQtc2l6ZSI+JytkbShhLnNpemUpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYXR0LXJlbW92ZSIgZGF0YS1pbmRleD0iJytpKyciIHRpdGxlPSJcdTc5RkJcdTk2NjQiPlx4RDc8L2J1dHRvbj48L3NwYW4+J31lLmlubmVySFRNTD1yLGUucXVlcnlTZWxlY3RvckFsbCgiLmF0dC1yZW1vdmUiKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3MuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKG8pe28ucHJldmVudERlZmF1bHQoKSxvLnN0b3BQcm9wYWdhdGlvbigpLHBtKHBhcnNlSW50KHMuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IiksMTApKX0pfSl9fWZ1bmN0aW9uIG1tKGUpe2lmKCFuLnBlbmRpbmdBdHRhY2htZW50cy5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7dmFyIHQ9bmV3IEZvcm1EYXRhO3JldHVybiBuLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3QuYXBwZW5kKCJmaWxlcyIsci5maWxlLHIubmFtZSl9KSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3VwbG9hZCIse21ldGhvZDoiUE9TVCIsYm9keTp0LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLm9rP3IuanNvbigpOnIuanNvbigpLnRoZW4oZnVuY3Rpb24oaSl7dGhyb3cgbmV3IEVycm9yKGkuZXJyb3J8fCJcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5maWxlc3x8W119KX1mdW5jdGlvbiBnbShlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiIiO3ZhciB0PWUubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLnNhdmVkUGF0aH0pO3JldHVybmBbXHU5NjQ0XHU0RUY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU4QkY3XHU2N0U1XHU3NzBCXHU0RUU1XHU0RTBCXHU2NTg3XHU0RUY2OgpgK3Quam9pbihgCmApK2BdCgpgfWZ1bmN0aW9uIHVsKGUpe2lmKCFuLnRlcm1pbmFsSW50ZXJhY3RpdmV8fCFlKXJldHVybiExO3ZhciB0PWUudmFsdWV8fCIiO3JldHVybiB0PyhwdCh0LCJpbnRlcmFjdGl2ZV90ZXh0IikuY2F0Y2goZnVuY3Rpb24oKXt9KSxlLnZhbHVlPSIiLFB0KGUpLG50KCIiLCEwKSwhMCk6ITF9ZnVuY3Rpb24gaG0oZSl7dmFyIHQ9ZS5jbGlwYm9hcmREYXRhJiZlLmNsaXBib2FyZERhdGEuaXRlbXM7aWYodCYmIW4udGVybWluYWxJbnRlcmFjdGl2ZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYodFtyXS50eXBlLmluZGV4T2YoImltYWdlLyIpPT09MCl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPXRbcl0uZ2V0QXNGaWxlKCk7aSYmWWEoaSk7cmV0dXJufX12YXIgYT1lLmNsaXBib2FyZERhdGEmJmUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0Iik7aWYoYSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4udGVybWluYWxJbnRlcmFjdGl2ZSl7cHQoYSwicGFzdGUiKS5jYXRjaChmdW5jdGlvbigpe30pO3JldHVybn12YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYodSl7dmFyIHM9dS5zZWxlY3Rpb25TdGFydHx8MCxvPXUuc2VsZWN0aW9uRW5kfHwwLGw9dS52YWx1ZSxjPWwuc2xpY2UoMCxzKSthK2wuc2xpY2Uobyk7dS52YWx1ZT1jLG50KGMpfX19ZnVuY3Rpb24gaWcoZSl7cHQoZSksbnQoeW0oKStlKX1mdW5jdGlvbiB5bSgpe2lmKG4uc2VsZWN0ZWRJZCl7aWYobi5kcmFmdHNbbi5zZWxlY3RlZElkXSE9PXZvaWQgMClyZXR1cm4gbi5kcmFmdHNbbi5zZWxlY3RlZElkXTt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtZHJhZnQtIituLnNlbGVjdGVkSWQpO2lmKGUpcmV0dXJuIGV9Y2F0Y2h7fX1yZXR1cm4iIn1mdW5jdGlvbiBudChlLHQpe2lmKG4uc2VsZWN0ZWRJZCl7bi5kcmFmdHNbbi5zZWxlY3RlZElkXT1lO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1kcmFmdC0iK24uc2VsZWN0ZWRJZCxlKX1jYXRjaHt9aWYoIXQpe3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtyJiYoci52YWx1ZT1lKX19fXZhciBRYT0hMTtmdW5jdGlvbiBibSgpe2lmKCFRYSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb21wdC1vcHRpbWl6ZS1idG4iKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKGUpe3ZhciBpPShlLnZhbHVlfHwiIikudHJpbSgpO2lmKCFpKXt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU4QkY3XHU1MTQ4XHU4RjkzXHU1MTY1XHU4OTgxXHU0RjE4XHU1MzE2XHU3Njg0XHU1MTg1XHU1QkI5XHUzMDAyIiwiaW5mbyIpLGUuZm9jdXMoKTtyZXR1cm59UWE9ITAsdCYmKHQuY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpLHQuZGlzYWJsZWQ9ITAsdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QjYzXHU1NzI4XHU0RjE4XHU1MzE2XHUyMDI2IikpLHImJnIuY2xhc3NMaXN0LmFkZCgiaXMtb3B0aW1pemluZyIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIik7dmFyIGE9ZS5yZWFkT25seTtlLnJlYWRPbmx5PSEwO3ZhciB1PXt0ZXh0Oml9O24mJm4uc2VsZWN0ZWRJZCYmKHUuc2Vzc2lvbklkPW4uc2VsZWN0ZWRJZCksZmV0Y2goIi9hcGkvb3B0aW1pemUtcHJvbXB0Iix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh1KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJue29rOnMub2ssZGF0YTpvfX0pfSkudGhlbihmdW5jdGlvbihzKXtpZighcy5vayl0aHJvdyBuZXcgRXJyb3Iocy5kYXRhJiZzLmRhdGEuZXJyb3J8fCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdTU5MzFcdThEMjVcdTMwMDIiKTt2YXIgbz1zLmRhdGEmJnMuZGF0YS5vcHRpbWl6ZWR8fCIiO2lmKCFvKXRocm93IG5ldyBFcnJvcigiQ2xhdWRlIFx1OEZENFx1NTZERVx1NEUzQVx1N0E3QVx1MzAwMiIpO0VtKGUsbyl9KS5jYXRjaChmdW5jdGlvbihzKXt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmayhzJiZzLm1lc3NhZ2V8fCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdTU5MzFcdThEMjVcdTMwMDIiLCJlcnJvciIpLHQmJih0LmNsYXNzTGlzdC5yZW1vdmUoImlzLWxvYWRpbmciKSx0LmNsYXNzTGlzdC5hZGQoImlzLXNoYWtlIiksc2V0VGltZW91dChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtc2hha2UiKX0sNDAwKSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7UWE9ITEsdCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtbG9hZGluZyIpLHQuZGlzYWJsZWQ9ITEsdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2XHVGRjA4QUlcdUZGMDkiKSksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJpcy1vcHRpbWl6aW5nIiksZS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYnVzeSIpLGUucmVhZE9ubHk9YX0pfX19ZnVuY3Rpb24gRW0oZSx0KXtpZighZSlyZXR1cm47dmFyIHI9QXJyYXkuZnJvbSh0KSxpPXIubGVuZ3RoO2lmKGk9PT0wKXtlLnZhbHVlPSIiLG50KCIiLCEwKSxQdChlKTtyZXR1cm59dmFyIGE9TWF0aC5taW4oNzAwLE1hdGgubWF4KDIyMCxpKjgpKSx1PU1hdGgubWluKGksNjApLHM9TWF0aC5jZWlsKGkvdSksbz1hL3UsbD0wO2UudmFsdWU9IiIsUHQoZSk7ZnVuY3Rpb24gYygpe2lmKGw9TWF0aC5taW4oaSxsK3MpLGUudmFsdWU9ci5zbGljZSgwLGwpLmpvaW4oIiIpLFB0KGUpLGw8aSlzZXRUaW1lb3V0KGMsbyk7ZWxzZXtudCh0LCEwKTt0cnl7ZS5zZXRTZWxlY3Rpb25SYW5nZSh0Lmxlbmd0aCx0Lmxlbmd0aCl9Y2F0Y2h7fX19YygpfWZ1bmN0aW9uIHdpKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKHQpe3ZhciByPWV8fGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPSEhKHImJnIudmFsdWUmJnIudmFsdWUubGVuZ3RoPjApO3QuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLXRleHQiLGkpfX1uLl9zdGF0dXNCYXJUaW1lcklkPW51bGwsbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIHFyPW51bGwsQ2k9MDtmdW5jdGlvbiAkYShlKXtpZighZSlyZXR1cm57YWN0aXZlOiExfTtpZihlLmFyY2hpdmVkKXJldHVybnthY3RpdmU6ITF9O3ZhciB0PSEhZS5wZXJtaXNzaW9uQmxvY2tlZCxyPSEhKG9lKGUpJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpLGk9IW9lKGUpJiZlLnN0YXR1cz09PSJydW5uaW5nIjtyZXR1cm57YWN0aXZlOnJ8fGl8fHQsaW5GbGlnaHQ6cixwdHlSdW5uaW5nOmkscGVybWlzc2lvbkJsb2NrZWQ6dH19ZnVuY3Rpb24gRm0oZSl7dmFyIHQ9TWF0aC5tYXgoMCxNYXRoLmZsb29yKGUvMWUzKSk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIHI9TWF0aC5mbG9vcih0LzYwKSxpPXQlNjA7aWYocjw2MClyZXR1cm4gcisibSIrKGk/IiAiK2krInMiOiIiKTt2YXIgYT1NYXRoLmZsb29yKHIvNjApLHU9ciU2MDtyZXR1cm4gYSsiaCIrKHU/IiAiK3UrIm0iOiIiKX1mdW5jdGlvbiBYYShlKXt2YXIgdD0kYShlKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5tYWluLWhlYWRlci1yb3ciKSxpPXI/ci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdGF0dXMtcGlsbCIpOm51bGwsYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKHImJihyLmNsYXNzTGlzdC50b2dnbGUoImlzLXJ1bm5pbmciLHQuYWN0aXZlKSxyLmNsYXNzTGlzdC50b2dnbGUoImlzLXBlcm1pc3Npb24tYmxvY2tlZCIsdC5wZXJtaXNzaW9uQmxvY2tlZCkpLGkpe3ZhciB1PWkucXVlcnlTZWxlY3RvcigiLnNlc3Npb24tc3RhdHVzLWVsYXBzZWQiKTtpZih0LmluRmxpZ2h0KXtDaXx8KENpPW4uX3N0YXR1c0JhclN0YXJ0VGltZT4wP24uX3N0YXR1c0JhclN0YXJ0VGltZTpEYXRlLm5vdygpKTt2YXIgcz1GbShEYXRlLm5vdygpLUNpKTt1fHwodT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdS5jbGFzc05hbWU9InNlc3Npb24tc3RhdHVzLWVsYXBzZWQiLGkuYXBwZW5kQ2hpbGQodSkpLHUudGV4dENvbnRlbnQ9c31lbHNlIENpPTAsdSYmdS5yZW1vdmUoKX10LmFjdGl2ZT9xcnx8KHFyPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIG89bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGwpe3JldHVybiBsLmlkPT09bi5zZWxlY3RlZElkfSk7WGEobyl9LDFlMykpOnFyJiYoY2xlYXJJbnRlcnZhbChxcikscXI9bnVsbCl9ZnVuY3Rpb24gWmEoZSx0KXtYYSh0KTt2YXIgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItdG9wLXJvdyIpLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN0cnVjdHVyZWQtc3RhdHVzLWJhciIpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYoIXR8fCFvZSh0KSl7aSYmaS5yZW1vdmUoKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImluLWZsaWdodCIpLGNsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsO3JldHVybn12YXIgdT10LnN0cnVjdHVyZWRTdGF0ZSYmdC5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQ7aWYodSl7aWYobi5fc3RhdHVzQmFyVGltZXJJZHx8KG4uX3N0YXR1c0JhclN0YXJ0VGltZT1EYXRlLm5vdygpKSxhJiZhLmNsYXNzTGlzdC5hZGQoImluLWZsaWdodCIpLCFpJiZyKXt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmNsYXNzTmFtZT0ic3RydWN0dXJlZC1zdGF0dXMtYmFyIixzLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InN0YXR1cy1iYXItZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYXItbGFiZWwiPlx1NTZERVx1NTkwRFx1NEUyRDwvc3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhci10aW1lciI+MC4wczwvc3Bhbj4nLHIuYXBwZW5kQ2hpbGQocyksaT1zfWVsc2UgaWYoaSYmaS5jbGFzc0xpc3QuY29udGFpbnMoImNvbXBsZXRlZCIpKXtpLmNsYXNzTGlzdC5yZW1vdmUoImNvbXBsZXRlZCIpLGkuc3R5bGUuYW5pbWF0aW9uPSJub25lIixpLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWxhYmVsIikudGV4dENvbnRlbnQ9Ilx1NTZERVx1NTkwRFx1NEUyRCI7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1kb3QiKTtvJiYoby5zdHlsZS5kaXNwbGF5PSIiKSxuLl9zdGF0dXNCYXJTdGFydFRpbWU9RGF0ZS5ub3coKX1uLl9zdGF0dXNCYXJUaW1lcklkfHwobi5fc3RhdHVzQmFyVGltZXJJZD1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXI6bm90KC5jb21wbGV0ZWQpIik7aWYoIWMpe2NsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsO3JldHVybn12YXIgZD0oKERhdGUubm93KCktbi5fc3RhdHVzQmFyU3RhcnRUaW1lKS8xZTMpLnRvRml4ZWQoMSksZj1jLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLXRpbWVyIik7ZiYmKGYudGV4dENvbnRlbnQ9ZCsicyIpfSwxMDApKX1lbHNlIGlmKGNsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsLGEmJmEuY2xhc3NMaXN0LnJlbW92ZSgiaW4tZmxpZ2h0IiksaSYmIWkuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21wbGV0ZWQiKSl7dmFyIGw9bi5fc3RhdHVzQmFyU3RhcnRUaW1lPygoRGF0ZS5ub3coKS1uLl9zdGF0dXNCYXJTdGFydFRpbWUpLzFlMykudG9GaXhlZCgxKToiMC4wIjtpLmNsYXNzTGlzdC5hZGQoImNvbXBsZXRlZCIpLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItbGFiZWwiKS50ZXh0Q29udGVudD0iXHU1QjhDXHU2MjEwIixpLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLXRpbWVyIikudGV4dENvbnRlbnQ9bCsicyI7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1kb3QiKTtvJiYoby5zdHlsZS5kaXNwbGF5PSJub25lIiksbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTAsc2V0VGltZW91dChmdW5jdGlvbigpe2kucGFyZW50Tm9kZSYmaS5yZW1vdmUoKX0sM2UzKX19ZnVuY3Rpb24gcChlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywiJiMzOTsiKX0ic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3ImJihmZXRjaCgiL3N3LmpzIix7Y2FjaGU6Im5vLWNhY2hlIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoIi9zdy5qcyIpOihjb25zb2xlLmxvZygiU1cgZmV0Y2ggZmFpbGVkLCBza2lwcGluZyBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24iKSxQcm9taXNlLnJlamVjdCgiU2VydmljZSB3b3JrZXIgc2NyaXB0IG5vdCBhdmFpbGFibGUiKSl9KS5jYXRjaChmdW5jdGlvbihlKXt2YXIgdD1lJiZlLm1lc3NhZ2V8fFN0cmluZyhlfHwiIikscj1lJiZlLm5hbWU9PT0iVHlwZUVycm9yInx8L2NlcnRpZmljYXRlfFNTTHxFUlJfQ0VSVC9pLnRlc3QodCk7ciYmbG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij9jb25zb2xlLndhcm4oYFt3YW5kXSBQV0EgLyBTZXJ2aWNlIFdvcmtlciBcdTU2RTAgVExTIFx1OEJDMVx1NEU2Nlx1NEUwRFx1NTNFRlx1NEZFMVx1ODAwQ1x1OERGM1x1OEZDN1x1MzAwMgpcdTg5RTNcdTUxQjNcdTUyOUVcdTZDRDVcdUZGMDhcdTRFRkJcdTkwMDlcdTRFMDBcdTc5Q0RcdUZGMDlcdUZGMUEKICAxKSBcdTRFQ0UgYCtsb2NhdGlvbi5vcmlnaW4rYC9jZXJ0L3NlcnZlci5jcnQgXHU0RTBCXHU4RjdEXHU2NzJDXHU2NzNBXHU4MUVBXHU3QjdFXHU4QkMxXHU0RTY2XHVGRjBDXHU1QkZDXHU1MTY1XHU1MjMwXHU3Q0ZCXHU3RURGL1x1NkQ0Rlx1ODlDOFx1NTY2OCJcdTUzRDdcdTRGRTFcdTRFRkJcdTY4MzlcdThCQzFcdTRFNjZcdTk4ODFcdTUzRDFcdTY3M0FcdTY3ODQiCiAgMikgXHU1NzI4XHU2NzJDXHU2NzNBXHU3NTI4IG1rY2VydCBcdTdCN0VcdTUzRDFcdTUzRDdcdTRGRTFcdTRFRkJcdThCQzFcdTRFNjZcdUZGMENcdTVFNzZcdTU3Mjggfi8ud2FuZC9jb25maWcuanNvbiBcdTkxNERcdTdGNkUgdGxzLmNlcnRQYXRoIC8gdGxzLmtleVBhdGgKICAzKSBcdTc1MjhcdTUxODVcdTdGNTEgQ0EgXHU2MjE2IExldCdzIEVuY3J5cHQgXHU3RUQ5XHU1N0RGXHU1NDBEXHU3QjdFXHU3NzFGXHU4QkMxXHU0RTY2XHVGRjA4XHU1NDBDXHU0RTBBXHU5MTREXHU3RjZFIHRsc1x1RkYwOWApOmNvbnNvbGUubG9nKCJTVyByZWdpc3RyYXRpb24gZmFpbGVkOiIsdCl9KSxldT0hMSx0dT0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHU9ITB9LDNlMyksbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigiY29udHJvbGxlcmNoYW5nZSIsZnVuY3Rpb24oKXtldXx8IXR1fHwoZXU9ITAsbG9jYXRpb24ucmVsb2FkKCkpfSkpLChmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgcj0iYnJvd3NlciI7cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiB3aW5kb3ctY29udHJvbHMtb3ZlcmxheSkiKS5tYXRjaGVzP3I9IndpbmRvdy1jb250cm9scy1vdmVybGF5Ijp3aW5kb3cubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiKS5tYXRjaGVzP3I9InN0YW5kYWxvbmUiOndpbmRvdy5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/cj0iZnVsbHNjcmVlbiI6bmF2aWdhdG9yLnN0YW5kYWxvbmU9PT0hMCYmKHI9InN0YW5kYWxvbmUiKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLWRpc3BsYXktbW9kZSIsciksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImlzLXB3YSIsciE9PSJicm93c2VyIikscn1lKCksWyJzdGFuZGFsb25lIiwid2luZG93LWNvbnRyb2xzLW92ZXJsYXkiLCJmdWxsc2NyZWVuIl0uZm9yRWFjaChmdW5jdGlvbihyKXt3aW5kb3cubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogIityKyIpIikuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixlKX0pO3RyeXt2YXIgdD1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnR8fCIiOy9XYW5kQXBwXC8vLnRlc3QodCkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy13YW5kLWFwcCIpfWNhdGNoe319KSgpO3ZhciBldSx0dX0pKCk7Cg=="),
|
|
8
|
+
scriptsJs: decode("InVzZSBzdHJpY3QiOygoKT0+e3ZhciBEbT0iJHtlc2NhcGVIdG1sKGNvbmZpZ1BhdGgpfSIseGk9IndhbmQtY2hhdC1leHBhbmQtc3RhdGUtdjEiLEhyPVtmdW5jdGlvbigpe31dOyhmdW5jdGlvbigpe3RyeXt2YXIgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1scy1zY2hlbWEiKSxyPXQ9PW51bGw/MDpwYXJzZUludCh0LDEwKTtyPj0wfHwocj0wKTtmb3IodmFyIGk9cjtpPEhyLmxlbmd0aDtpKyspdHJ5e0hyW2ldKCl9Y2F0Y2h7fXI8SHIubGVuZ3RoJiZsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1scy1zY2hlbWEiLFN0cmluZyhIci5sZW5ndGgpKX1jYXRjaHt9fSkoKTtmdW5jdGlvbiBTaShlLHQpe3RyeXt2YXIgcj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTtyZXR1cm4gcj09PSJ0cnVlIj8hMDpyPT09ImZhbHNlIj8hMTp0fWNhdGNoe3JldHVybiB0fX1mdW5jdGlvbiBrZShlLHQpe3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLFN0cmluZyghIXQpKX1jYXRjaHt9fXZhciBuPXtzZWxlY3RlZElkOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIpfHxudWxsfWNhdGNoe3JldHVybiBudWxsfX0pKCkscG9sbFRpbWVyOm51bGwsY29uZmlnOm51bGwsc2Vzc2lvbnM6W10sc3VnZ2VzdGlvblRpbWVyOm51bGwsdGVybWluYWw6bnVsbCx0ZXJtaW5hbEZpdEluUHJvZ3Jlc3M6ITEsdGVybWluYWxTZXNzaW9uSWQ6bnVsbCx0ZXJtaW5hbE91dHB1dDoiIix0ZXJtaW5hbE91dHB1dE1hcmtlcjowLHRlcm1pbmFsTGl2ZVN0cmVhbVNlc3Npb25zOnt9LHN5bmNPdXRwdXRCdWZmZXI6bnVsbCxzeW5jT3V0cHV0RGVhZGxpbmU6MCxzeW5jRnJhbWluZ1Jlc2lkdWU6ITEsbGFzdENodW5rQXQ6MCx0ZXJtaW5hbEhlYWx0aFRpbWVyOm51bGwsbGFzdFRlcm1pbmFsUmVzeW5jQXQ6MCx0ZXJtaW5hbEF1dG9Gb2xsb3c6ITAsdGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbDowLHRlcm1pbmFsU2Nyb2xsSWRsZVRpbWVyOm51bGwsdGVybWluYWxTY3JvbGxUaHJlc2hvbGQ6MTIsc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tOiExLHRlcm1pbmFsVmlld3BvcnRFbDpudWxsLHRlcm1pbmFsVmlld3BvcnRTY3JvbGxIYW5kbGVyOm51bGwsdGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcjpudWxsLHRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcjpudWxsLHRlcm1pbmFsVG91Y2hTdGFydFk6MCx0ZXJtaW5hbENvbXBvc2luZzohMSxyZXNpemVPYnNlcnZlcjpudWxsLHJlc2l6ZUhhbmRsZXI6bnVsbCxyZXNpemVUaW1lcjpudWxsLGlucHV0UXVldWU6UHJvbWlzZS5yZXNvbHZlKCkscGVuZGluZ01lc3NhZ2VzOltdLG1lc3NhZ2VRdWV1ZTpbXSxjcm9zc1Nlc3Npb25RdWV1ZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtY3Jvc3Mtc2Vzc2lvbi1xdWV1ZSIpLHQ9ZT9KU09OLnBhcnNlKGUpOltdO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q6W119Y2F0Y2h7cmV0dXJuW119fSkoKSxzdHJ1Y3R1cmVkSW5wdXRRdWV1ZTpbXSxxdWV1ZUJhckhvdmVySW5kZXg6bnVsbCxxdWV1ZUJhckRyYWc6bnVsbCxkcmFmdHM6e30saXNTeW5jaW5nSW5wdXRCb3g6ITEsbG9naW5QZW5kaW5nOiExLGxvZ2luQ2hlY2tlZDohMSxib290c3RyYXBwaW5nOiEwLHNlc3Npb25zRHJhd2VyT3BlbjpTaSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxzaWRlYmFyUGlubmVkOlNpKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMCksc2lkZWJhckNvbGxhcHNlZDpTaSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpLG1vZGFsT3BlbjohMSxwcmVzZXRWYWx1ZToiIixjd2RWYWx1ZToiIixtb2RlVmFsdWU6Im1hbmFnZWQiLGNoYXRNb2RlOiJtYW5hZ2VkIixjaGF0TW9kZWw6KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIil8fCIifWNhdGNoe3JldHVybiIifX0pKCksY2hhdFRoaW5raW5nOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiKXx8Im9mZiI7cmV0dXJuIGU9PT0ib2ZmInx8ZT09PSJzdGFuZGFyZCJ8fGU9PT0iZGVlcCJ8fGU9PT0ibWF4Ij9lOiJvZmYifWNhdGNoe3JldHVybiJvZmYifX0pKCksYXZhaWxhYmxlTW9kZWxzOltdLGF2YWlsYWJsZUNvZGV4TW9kZWxzOltdLG1vZGVsc1JlZnJlc2hpbmc6ITEsc2Vzc2lvbkNyZWF0ZUtpbmQ6InN0cnVjdHVyZWQiLHNlc3Npb25DcmVhdGVXb3JrdHJlZTohMSxzZXNzaW9uVG9vbDoiY2xhdWRlIixhY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkOm51bGwsd29ya3RyZWVNZXJnZUNoZWNrUmVzdWx0Om51bGwsd29ya3RyZWVNZXJnZUxvYWRpbmc6ITEsd29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc6ITEsd29ya3RyZWVNZXJnZUVycm9yOiIiLHByZWZlcnJlZENvbW1hbmQ6ImNsYXVkZSIsc3RydWN0dXJlZFJ1bm5lcjoiY2xhdWRlLWNsaS1wcmludCIsbGFzdFJlc2l6ZTp7Y29sczowLHJvd3M6MH0saXNPbmxpbmU6bmF2aWdhdG9yLm9uTGluZSxkZWZlcnJlZFByb21wdDpudWxsLHNob3dJbnN0YWxsUHJvbXB0OiExLHdzOm51bGwsd3NDb25uZWN0ZWQ6ITEsbGFzdFdzTWVzc2FnZUF0OjAsd3NIZWFydGJlYXRDaGVja1RpbWVyOm51bGwsX3VwZGF0ZUJ1YmJsZVNob3duOiExLG5vdGlmaWNhdGlvbkhpc3Rvcnk6e30sZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyOm51bGwsbm90aWZTb3VuZDooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtbm90aWYtc291bmQiKTtyZXR1cm4gZT09PW51bGw/ITA6ZT09PSJ0cnVlIn1jYXRjaHtyZXR1cm4hMH19KSgpLG5vdGlmVm9sdW1lOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiKTtyZXR1cm4gZT09PW51bGw/ODA6TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAscGFyc2VJbnQoZSwxMCl8fDgwKSl9Y2F0Y2h7cmV0dXJuIDgwfX0pKCksbm90aWZCdWJibGU6KGZ1bmN0aW9uKCl7dHJ5e3ZhciBlPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLW5vdGlmLWJ1YmJsZSIpO3JldHVybiBlPT09bnVsbD8hMDplPT09InRydWUifWNhdGNoe3JldHVybiEwfX0pKCksdG9vbENvbnRlbnRDYWNoZTp7fSxsYXN0U2VxQnlTZXNzaW9uOnt9LGN1cnJlbnRWaWV3OiJ0ZXJtaW5hbCIsdGVybWluYWxTY2FsZTooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiKTtyZXR1cm4gZT9wYXJzZUZsb2F0KGUpOjF9Y2F0Y2h7cmV0dXJuIDF9fSkoKSx0ZXJtaW5hbEJhc2VGb250U2l6ZToxMyxrZXlib2FyZFBvcHVwT3BlbjohMSxmaWxlUGFuZWxPcGVuOihmdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtZmlsZS1wYW5lbC1vcGVuIik9PT0idHJ1ZSJ9Y2F0Y2h7cmV0dXJuITF9fSkoKSx0b3BiYXJNb3JlT3BlbjohMSxnaXRTdGF0dXM6bnVsbCxnaXRTdGF0dXNTZXNzaW9uSWQ6bnVsbCxnaXRTdGF0dXNMb2FkaW5nOiExLGdpdFN0YXR1c0luZmxpZ2h0Om51bGwsZ2l0U3RhdHVzTGFzdEZldGNoQXQ6MCxxdWlja0NvbW1pdE9wZW46ITEscXVpY2tDb21taXRTdWJtaXR0aW5nOiExLHF1aWNrQ29tbWl0R2VuZXJhdGluZzohMSxxdWlja0NvbW1pdEVycm9yOiIiLHF1aWNrQ29tbWl0Rm9ybTp7Y3VzdG9tTWVzc2FnZToiIix0YWc6IiIsdGFnRWRpdGVkOiExfSxxdWlja0NvbW1pdFB1c2hpbmc6ITEscXVpY2tDb21taXRQdXNoRXJyb3I6IiIscXVpY2tDb21taXRSZXN1bHQ6bnVsbCxxdWlja0NvbW1pdERyYWdBY3Rpb246ImNvbW1pdCIscXVpY2tDb21taXRTdWJtb2R1bGVJbnRlbnQ6ITEsY2hhdFN0aWNrVG9Cb3R0b206ITAsY2hhdFVucmVhZENvdW50OjAsY2hhdFVucmVhZFN0YXJ0SW5kZXg6LTEsY2hhdFNjcm9sbFRocmVzaG9sZDoxNjAsY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsOiExLGNoYXRTY3JvbGxFbGVtZW50Om51bGwsY2hhdFNjcm9sbEhhbmRsZXI6bnVsbCxjaGF0U2Nyb2xsV2hlZWxIYW5kbGVyOm51bGwsY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyOm51bGwsY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXI6bnVsbCxjaGF0VG91Y2hTdGFydFk6MCxjaGF0SW5pdGlhbFJlbmRlckRvbmU6ITEsbGFzdEZvcmVncm91bmRTeW5jQXQ6MCxmb3JlZ3JvdW5kU3luY1RpbWVyOm51bGwsd3NSZWNvbm5lY3RBdHRlbXB0czowLHdzUmVjb25uZWN0VGltZXI6bnVsbCxjdXJyZW50TWVzc2FnZXM6W10sbGFzdFJlbmRlcmVkSGFzaDowLGxhc3RSZW5kZXJlZE1zZ0NvdW50OjAsbGFzdFJlbmRlcmVkRW1wdHk6bnVsbCxyZW5kZXJQZW5kaW5nOiExLGNoYXRQYWdlU2l6ZToyMCxjaGF0UmVuZGVyZWRDb3VudDoyMCxjdXJyZW50VGFzazpudWxsLHRlcm1pbmFsSW50ZXJhY3RpdmU6ITEsbWluaUtleWJvYXJkVmlzaWJsZTohMSxtb2RpZmllcnM6e2N0cmw6ITEsYWx0OiExLHNoaWZ0OiExfSxqb3lzdGlja1BvczooZnVuY3Rpb24oKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtYmFsbC1wb3MiKTtpZighZSlyZXR1cm4gbnVsbDt2YXIgdD1KU09OLnBhcnNlKGUpO3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCI/dDpudWxsfWNhdGNoe3JldHVybiBudWxsfX0pKCksam95c3RpY2tQaW5uZWRPcGVuOiExLGpveXN0aWNrUm9vdEVsOm51bGwsam95c3RpY2tQYW5lbEVsOm51bGwsam95c3RpY2tCYWNrZHJvcEVsOm51bGwsam95c3RpY2tCYWxsRWw6bnVsbCxqb3lzdGlja1BvaW50ZXJJZDpudWxsLGpveXN0aWNrR2VzdHVyZTpudWxsLGpveXN0aWNrUHJlc3NTdGFydDpudWxsLGpveXN0aWNrTG9uZ1ByZXNzVGltZXI6bnVsbCxqb3lzdGlja01vdmVIYW5kbGVyOm51bGwsam95c3RpY2tVcEhhbmRsZXI6bnVsbCxqb3lzdGlja1Jlc2l6ZUhhbmRsZXI6bnVsbCxmaWxlU2VhcmNoUXVlcnk6IiIsZmlsZUV4cGxvcmVyTG9hZGluZzohMSxhbGxGaWxlczpbXSxmaWxlRXhwbG9yZXJDd2Q6IiIsZmlsZUV4cGxvcmVyVHJ1bmNhdGVkOiExLGZpbGVFeHBsb3JlclRvdGFsOjAsY2xhdWRlSGlzdG9yeTpbXSxjbGF1ZGVIaXN0b3J5TG9hZGVkOiExLGNsYXVkZUhpc3RvcnlFeHBhbmRlZDohMSxjbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzOnt9LGFyY2hpdmVkRXhwYW5kZWQ6ITEsc2Vzc2lvbnNNYW5hZ2VNb2RlOiExLHNlbGVjdGVkU2Vzc2lvbklkczp7fSxzZWxlY3RlZENsYXVkZUhpc3RvcnlJZHM6e30sY29kZXhIaXN0b3J5OltdLGNvZGV4SGlzdG9yeUxvYWRlZDohMSxjb2RleEhpc3RvcnlFeHBhbmRlZERpcnM6e30sc2VsZWN0ZWRDb2RleEhpc3RvcnlJZHM6e30sYXNrVXNlclNlbGVjdGlvbnM6e30scXVldWVFcG9jaDowLHBlbmRpbmdBdHRhY2htZW50czpbXSx3b3JraW5nRGlyOihmdW5jdGlvbigpe3RyeXt2YXIgZT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgid2FuZC13b3JraW5nLWRpciIpO3JldHVybiBlfHwiIn1jYXRjaHtyZXR1cm4iIn19KSgpfSxJaT0iXHU0RTJEXHU2NTg3Iixfcj17XHU0RTJEXHU2NTg3Onsic3ViYWdlbnQudGFnIjoiXHU1QjUwXHU0RUUzXHU3NDA2Iiwic3ViYWdlbnQuaGFuZG9mZiI6IntwYXJlbnR9IFx1OEJBOSB7c3VifSBcdTVFMkVcdTVGRDkiLCJzdWJhZ2VudC5oYW5kb2ZmLndpdGhfZGVzYyI6IntwYXJlbnR9IFx1OEJBOSB7c3VifSBcdTVFMkVcdTVGRDlcdUZGMUEiLCJzdWJhZ2VudC5jb250aW51ZWQiOiJcdTdFRTdcdTdFRURcdThGOTNcdTUxRkEiLCJzdWJhZ2VudC50YXNrLmRvbmUiOiJcdTRFRkJcdTUyQTFcdTVCOENcdTYyMTAiLCJzdWJhZ2VudC50YXNrLmZhaWxlZCI6Ilx1NEVGQlx1NTJBMVx1NTkzMVx1OEQyNSIsInN1YmFnZW50LnJ1bm5pbmciOiJcdThGRDBcdTg4NENcdTRFMkQiLCJzdWJhZ2VudC5ub19vdXRwdXQiOiJcdUZGMDhcdTY1RTBcdThGOTNcdTUxRkFcdUZGMDkiLCJzdWJhZ2VudC5oZWxwZXJfZmFsbGJhY2tfcHJlZml4IjoiXHU1MzRGXHU0RjVDXHU3MzJCXHhCNyIsInN1YmFnZW50LnRpdGxlX2FyaWEiOiJcdTcwQjlcdTUxRkJcdTVDNTVcdTVGMDAgLyBcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJzdWJhZ2VudC50YWdfdGl0bGUiOiJcdTVCNTBcdTRFRTNcdTc0MDYgLyBzdWJhZ2VudCIsInVpLmV4cGFuZCI6Ilx1NUM1NVx1NUYwMCIsInVpLmNvbGxhcHNlIjoiXHU2NTM2XHU4RDc3IiwidWkuZXhwYW5kX3BhbmVsX2FyaWEiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiLCJ1aS5jb2xsYXBzZV9wYW5lbF9hcmlhIjoiXHU2NTM2XHU4RDc3XHU1QjUwXHU0RUUzXHU3NDA2XHU4RjkzXHU1MUZBIn0sRW5nbGlzaDp7InN1YmFnZW50LnRhZyI6IlN1YmFnZW50Iiwic3ViYWdlbnQuaGFuZG9mZiI6IntwYXJlbnR9IGFza2VkIHtzdWJ9IGZvciBoZWxwIiwic3ViYWdlbnQuaGFuZG9mZi53aXRoX2Rlc2MiOiJ7cGFyZW50fSBhc2tlZCB7c3VifSBmb3IgaGVscCB3aXRoOiAiLCJzdWJhZ2VudC5jb250aW51ZWQiOiJjb250aW51ZWQiLCJzdWJhZ2VudC50YXNrLmRvbmUiOiJUYXNrIGNvbXBsZXRlIiwic3ViYWdlbnQudGFzay5mYWlsZWQiOiJUYXNrIGZhaWxlZCIsInN1YmFnZW50LnJ1bm5pbmciOiJSdW5uaW5nIiwic3ViYWdlbnQubm9fb3V0cHV0IjoiKG5vIG91dHB1dCkiLCJzdWJhZ2VudC5oZWxwZXJfZmFsbGJhY2tfcHJlZml4IjoiSGVscGVyXHhCNyIsInN1YmFnZW50LnRpdGxlX2FyaWEiOiJDbGljayB0byBleHBhbmQgLyBjb2xsYXBzZSBzdWJhZ2VudCBvdXRwdXQiLCJzdWJhZ2VudC50YWdfdGl0bGUiOiJTdWJhZ2VudCIsInVpLmV4cGFuZCI6IkV4cGFuZCIsInVpLmNvbGxhcHNlIjoiQ29sbGFwc2UiLCJ1aS5leHBhbmRfcGFuZWxfYXJpYSI6IkV4cGFuZCBzdWJhZ2VudCBvdXRwdXQiLCJ1aS5jb2xsYXBzZV9wYW5lbF9hcmlhIjoiQ29sbGFwc2Ugc3ViYWdlbnQgb3V0cHV0In19O2Z1bmN0aW9uIGF1KCl7dmFyIGU9bi5jb25maWcmJnR5cGVvZiBuLmNvbmZpZy5sYW5ndWFnZT09InN0cmluZyI/bi5jb25maWcubGFuZ3VhZ2UudHJpbSgpOiIiO2lmKCFlKXJldHVybiBJaTtpZihfcltlXSlyZXR1cm4gZTt2YXIgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHQ9PT0iZW5nbGlzaCJ8fHQ9PT0iZW4ifHx0LmluZGV4T2YoImVuZ2xpc2giKT09PTB8fHQuaW5kZXhPZigiXHU4MkYxIik9PT0wPyJFbmdsaXNoIjp0PT09Ilx1NEUyRFx1NjU4NyJ8fHQ9PT0iemgifHx0LmluZGV4T2YoInpoIik9PT0wfHx0LmluZGV4T2YoIlx1NEUyRCIpPT09MHx8dC5pbmRleE9mKCJjaGluZXNlIik9PT0wPyJcdTRFMkRcdTY1ODciOiJFbmdsaXNoIn1mdW5jdGlvbiBVZShlLHQpe3ZhciByPWF1KCksaT1fcltyXXx8X3JbSWldLGE9aSYmZSBpbiBpP2lbZV06bnVsbDtpZihhPT1udWxsKXt2YXIgdT1fcltJaV07YT11JiZlIGluIHU/dVtlXTplfWlmKHQmJnR5cGVvZiBhPT0ic3RyaW5nIilmb3IodmFyIHMgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxzKSYmKGE9YS5zcGxpdCgieyIrcysifSIpLmpvaW4odFtzXSkpO3JldHVybiBhfXZhciBEbD17c2hpZWxkOic8cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ii8+JyxzaGllbGRDaGVjazonPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjxwb2x5bGluZSBwb2ludHM9IjkgMTIgMTEgMTQgMTUgMTAiLz4nLGtleWJvYXJkOic8cmVjdCB4PSIyIiB5PSI2IiB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHJ4PSIyIi8+PGxpbmUgeDE9IjYiIHkxPSIxMCIgeDI9IjYiIHkyPSIxMCIvPjxsaW5lIHgxPSIxMCIgeTE9IjEwIiB4Mj0iMTAiIHkyPSIxMCIvPjxsaW5lIHgxPSIxNCIgeTE9IjEwIiB4Mj0iMTQiIHkyPSIxMCIvPjxsaW5lIHgxPSIxOCIgeTE9IjEwIiB4Mj0iMTgiIHkyPSIxMCIvPjxsaW5lIHgxPSI2IiB5MT0iMTQiIHgyPSI2IiB5Mj0iMTQiLz48bGluZSB4MT0iMTgiIHkxPSIxNCIgeDI9IjE4IiB5Mj0iMTQiLz48bGluZSB4MT0iOSIgeTE9IjE0IiB4Mj0iMTUiIHkyPSIxNCIvPicsY2xvdWQ6JzxwYXRoIGQ9Ik0xNy41IDE5YTQuNSA0LjUgMCAxIDAtMS04LjkgNiA2IDAgMCAwLTExLjUgMS43QTQgNCAwIDAgMCA2IDE5aDExLjV6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCA3IDkgMTIgNCAxNyIvPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMjAiIHkyPSIxNyIvPicsY2hhdDonPHBhdGggZD0iTTIxIDEyYTggOCAwIDAgMS0xMi45IDYuM0wzIDIwbDEuNy01LjFBOCA4IDAgMSAxIDIxIDEyeiIvPicsZm9sZGVyOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6Ii8+Jyxmb2xkZXJPcGVuOic8cGF0aCBkPSJNMyA3YTIgMiAwIDAgMSAyLTJoNGwyIDJoOGEyIDIgMCAwIDEgMiAyIi8+PHBhdGggZD0iTTMgOWgxOGwtMiA4YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIvPicsdHJhc2g6Jzxwb2x5bGluZSBwb2ludHM9IjMgNiA1IDYgMjEgNiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDEzYTIgMiAwIDAgMS0yIDJIOGEyIDIgMCAwIDEtMi0yTDUgNiIvPjxwYXRoIGQ9Ik0xMCAxMXY2Ii8+PHBhdGggZD0iTTE0IDExdjYiLz48cGF0aCBkPSJNOSA2VjRhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MiIvPicsc2xhc2g6Jzxwb2x5bGluZSBwb2ludHM9IjQgMTcgMTAgMTEgNCA1Ii8+PGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIyMCIgeTI9IjE5Ii8+JyxjaGV2cm9uRG93bjonPHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiLz4nLGNoZXZyb25VcDonPHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+JyxjaGV2cm9uUmlnaHQ6Jzxwb2x5bGluZSBwb2ludHM9IjkgNiAxNSAxMiA5IDE4Ii8+JyxiZWxsOic8cGF0aCBkPSJNMTggMTZ2LTVhNiA2IDAgMSAwLTEyIDB2NWwtMiAyaDE2eiIvPjxwYXRoIGQ9Ik0xMCAyMWEyIDIgMCAwIDAgNCAwIi8+JyxtdXNpYzonPHBhdGggZD0iTTkgMThWNWwxMi0ydjEzIi8+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSIxNiIgcj0iMyIvPicsdmlicmF0ZTonPHJlY3QgeD0iOSIgeT0iNCIgd2lkdGg9IjYiIGhlaWdodD0iMTYiIHJ4PSIxIi8+PHBhdGggZD0iTTUgOHY4Ii8+PHBhdGggZD0iTTMgMTB2NCIvPjxwYXRoIGQ9Ik0xOSA4djgiLz48cGF0aCBkPSJNMjEgMTB2NCIvPicsZ2xvYmU6JzxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiLz48bGluZSB4MT0iMyIgeTE9IjEyIiB4Mj0iMjEiIHkyPSIxMiIvPjxwYXRoIGQ9Ik0xMiAzYTE0IDE0IDAgMCAxIDAgMTgiLz48cGF0aCBkPSJNMTIgM2ExNCAxNCAwIDAgMCAwIDE4Ii8+JyxzbWFydHBob25lOic8cmVjdCB4PSI2IiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHJ4PSIyLjUiLz48bGluZSB4MT0iMTEiIHkxPSIxOCIgeDI9IjEzIiB5Mj0iMTgiLz4nLGRlc2t0b3A6JzxyZWN0IHg9IjMiIHk9IjQiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjIiLz48bGluZSB4MT0iOCIgeTE9IjIwIiB4Mj0iMTYiIHkyPSIyMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIyMCIvPicsbGluazonPHBhdGggZD0iTTEwIDE0YTQuNSA0LjUgMCAwIDAgNi4zNiAwbDMtM2E0LjUgNC41IDAgMSAwLTYuMzYtNi4zNmwtMS40MiAxLjQxIi8+PHBhdGggZD0iTTE0IDEwYTQuNSA0LjUgMCAwIDAtNi4zNiAwbC0zIDNhNC41IDQuNSAwIDEgMCA2LjM2IDYuMzZsMS40Mi0xLjQxIi8+JyxwYWxldHRlOic8Y2lyY2xlIGN4PSIxMy41IiBjeT0iNi41IiByPSIxIi8+PGNpcmNsZSBjeD0iMTcuNSIgY3k9IjEwLjUiIHI9IjEiLz48Y2lyY2xlIGN4PSI4LjUiIGN5PSI3LjUiIHI9IjEiLz48Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIxIi8+PHBhdGggZD0iTTEyIDNhOSA5IDAgMSAwIDAgMTggMS41IDEuNSAwIDAgMCAxLjEtMi41IDEuNSAxLjUgMCAwIDEgMS4xLTIuNWgyLjNBNC41IDQuNSAwIDAgMCAyMSAxMS41QzIxIDYuOCAxNi45NyAzIDEyIDN6Ii8+JyxwbGF5Oic8cG9seWdvbiBwb2ludHM9IjYgNCAyMCAxMiA2IDIwIDYgNCIvPicsaW5ib3g6Jzxwb2x5bGluZSBwb2ludHM9IjIyIDEzIDE2IDEzIDE0IDE2IDEwIDE2IDggMTMgMiAxMyIvPjxwYXRoIGQ9Ik01IDVoMTRsMyA4djZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTZ6Ii8+Jyx6YXA6Jzxwb2x5Z29uIHBvaW50cz0iMTMgMiA0IDE0IDExIDE0IDEwIDIyIDIwIDkgMTMgOSAxMyAyIi8+Jyx3cmVuY2g6JzxwYXRoIGQ9Ik0xNC43IDYuM2E0IDQgMCAxIDEgNCA0bC05IDktMy41IDEgMS0zLjUgNy41LTcuNXoiLz4nLHBhdzonPGNpcmNsZSBjeD0iNy41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjYuOCIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxNi41IiBjeT0iOSIgcj0iMiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjEzLjMiIHI9IjEuOCIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNNy4yIDE2LjNjLjUtMi45IDIuMy00LjggNC44LTQuOHM0LjMgMS45IDQuOCA0LjhjLjMgMS44LS45IDMuMi0yLjYgMi42LS44LS4zLTEuNC0uNi0yLjItLjZzLTEuNC4zLTIuMi42Yy0xLjcuNi0yLjktLjgtMi42LTIuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgc3Ryb2tlPSJub25lIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyIDIuMTIgMCAwIDEgMyAzTDcgMTlsLTQgMSAxLTR6Ii8+JyxjaGVjazonPHBvbHlsaW5lIHBvaW50cz0iNSAxMiAxMCAxNyAxOSA3Ii8+JyxzaWduYWw6JzxwYXRoIGQ9Ik0yIDEyYTE1IDE1IDAgMCAxIDIwIDAiLz48cGF0aCBkPSJNNSAxNmExMCAxMCAwIDAgMSAxNCAwIi8+PHBhdGggZD0iTTkgMjBhNCA0IDAgMCAxIDYgMCIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMjAiIHI9IjAuNSIgZmlsbD0iY3VycmVudENvbG9yIi8+JyxmaWxlOic8cGF0aCBkPSJNMTQgM0g2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTQgMyAxNCA5IDIwIDkiLz4nLGltYWdlOic8cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PGNpcmNsZSBjeD0iOSIgY3k9IjEwIiByPSIxLjUiLz48cG9seWxpbmUgcG9pbnRzPSIzIDE4IDkgMTIgMTQgMTcgMjEgMTIiLz4nLHNpZ21hOic8cG9seWxpbmUgcG9pbnRzPSIxOCA0IDYgNCAxMyAxMiA2IDIwIDE4IDIwIi8+Jyx4Oic8cGF0aCBkPSJNMTggNiA2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPicscGx1czonPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPicsbWljOic8cmVjdCB4PSI5IiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgcng9IjMiLz48cGF0aCBkPSJNNSAxMWE3IDcgMCAwIDAgMTQgMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE4IiB4Mj0iMTIiIHkyPSIyMSIvPjxsaW5lIHgxPSI5IiB5MT0iMjEiIHgyPSIxNSIgeTI9IjIxIi8+JyxwYXBlcmNsaXA6JzxwYXRoIGQ9Ik0yMS40NCAxMS4wNSAxMi4yNSAyMC4yNGE2IDYgMCAwIDEtOC40OS04LjQ5bDguODQtOC44NGE0IDQgMCAxIDEgNS42NiA1LjY2TDkuNDEgMTcuNDFhMiAyIDAgMSAxLTIuODMtMi44M2w4Ljg0LTguODMiLz4nfTtmdW5jdGlvbiBKKGUsdCl7dmFyIHI9RGxbZV07aWYoIXIpcmV0dXJuIiI7dD10fHx7fTt2YXIgaT10LnNpemV8fDE0LGE9dC5zdHJva2VXaWR0aHx8MS44LHU9dC5jbHM/JyBjbGFzcz0iJyt0LmNscysnIic6IiIscz10LmZpbGx8fCJub25lIjtyZXR1cm4iPHN2ZyIrdSsnIHdpZHRoPSInK2krJyIgaGVpZ2h0PSInK2krJyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSInK3MrJyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iJythKyciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPicrcisiPC9zdmc+In1mdW5jdGlvbiBJbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpO2lmKCFlKXJldHVybiBuLmNoYXRTY3JvbGxFbGVtZW50PW51bGwsbnVsbDt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7cmV0dXJuIHQ/KG4uY2hhdFNjcm9sbEVsZW1lbnQ9dCx0KToobi5jaGF0U2Nyb2xsRWxlbWVudD1udWxsLG51bGwpfWZ1bmN0aW9uIFRpKGUpe3ZhciB0PWV8fEluKCk7cmV0dXJuIHQ/TWF0aC5hYnModC5zY3JvbGxUb3ApPG4uY2hhdFNjcm9sbFRocmVzaG9sZDohMH1mdW5jdGlvbiBrbShlKXtuLmNoYXRTdGlja1RvQm90dG9tPSEhZSxuLmNoYXRTdGlja1RvQm90dG9tJiZucih7cmVtb3ZlRGl2aWRlcjohMH0pLEtlKCl9ZnVuY3Rpb24gbnIoZSl7ZT1lfHx7fTt2YXIgdD1uLmNoYXRVbnJlYWRDb3VudD4wfHxuLmNoYXRVbnJlYWRTdGFydEluZGV4Pj0wO2lmKG4uY2hhdFVucmVhZENvdW50PTAsbi5jaGF0VW5yZWFkU3RhcnRJbmRleD0tMSxlLnJlbW92ZURpdmlkZXIhPT0hMSl7dmFyIHI9SW4oKTtpZihyKXt2YXIgaT1yLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyIik7aSYmaS5wYXJlbnROb2RlJiZpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSl9fXQmJktlKCl9ZnVuY3Rpb24gTGkoZSl7aWYoZXx8KGU9SW4oKSksISFlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyIik7aWYobi5jaGF0VW5yZWFkU3RhcnRJbmRleDwwfHxuLmNoYXRVbnJlYWRDb3VudDw9MCl7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCk7cmV0dXJufWZvcih2YXIgcj1uLmNoYXRVbnJlYWRTdGFydEluZGV4LGk9ZS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlIiksYT1udWxsLHU9MDt1PGkubGVuZ3RoO3UrKyl7dmFyIHM9aVt1XS5nZXRBdHRyaWJ1dGUoImRhdGEtbXNnLWluZGV4Iik7aWYocyE9PW51bGwpe3ZhciBvPXBhcnNlSW50KHMsMTApO2lmKCFpc05hTihvKSYmbzxyKXthPWlbdV07YnJlYWt9fX12YXIgbD1uLmNoYXRVbnJlYWRDb3VudCsiIFx1Njc2MVx1NjVCMFx1NkQ4OFx1NjA2RiI7dHx8KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImNoYXQtdW5yZWFkLWRpdmlkZXIiLHQuc2V0QXR0cmlidXRlKCJyb2xlIiwic2VwYXJhdG9yIiksdC5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1kaXZpZGVyLWxpbmUiPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJjaGF0LXVucmVhZC1kaXZpZGVyLWxpbmUiPjwvc3Bhbj4nKSx0LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LXVucmVhZC1kaXZpZGVyLWxhYmVsIikudGV4dENvbnRlbnQ9bCxhPyh0Lm5leHRTaWJsaW5nIT09YXx8dC5wYXJlbnROb2RlIT09ZSkmJmUuaW5zZXJ0QmVmb3JlKHQsYSk6KHQucGFyZW50Tm9kZSE9PWV8fHQubmV4dFNpYmxpbmchPT1udWxsKSYmZS5hcHBlbmRDaGlsZCh0KX19ZnVuY3Rpb24gS2UoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC11bnJlYWQtYnViYmxlIik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG8pe3JldHVybiBvLmlkPT09bi5zZWxlY3RlZElkfSkscj0hVGkoKSxpPSEhdCYmbi5jdXJyZW50Vmlldz09PSJjaGF0IiYmcjtlLmNsYXNzTGlzdC50b2dnbGUoInZpc2libGUiLGkpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLXVucmVhZCIsbi5jaGF0VW5yZWFkQ291bnQ+MCk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuY2hhdC11bnJlYWQtYnViYmxlLWNvdW50Iik7YSYmKG4uY2hhdFVucmVhZENvdW50PjA/KGEudGV4dENvbnRlbnQ9bi5jaGF0VW5yZWFkQ291bnQ+OTk/Ijk5KyI6U3RyaW5nKG4uY2hhdFVucmVhZENvdW50KSxhLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKSk6KGEudGV4dENvbnRlbnQ9IiIsYS5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpKTt2YXIgdT1uLmNoYXRVbnJlYWRDb3VudD4wP24uY2hhdFVucmVhZENvdW50KyIgXHU2NzYxXHU2NUIwXHU2RDg4XHU2MDZGXHVGRjBDXHU3MEI5XHU1MUZCXHU2N0U1XHU3NzBCIjoiXHU1NkRFXHU1MjMwXHU2NzAwXHU2NUIwXHU2RDg4XHU2MDZGIjtlLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsdSksZS5zZXRBdHRyaWJ1dGUoInRpdGxlIix1KTt2YXIgcz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKTtzJiZzLmNsYXNzTGlzdC50b2dnbGUoImhhcy1qdW1wLWJ0biIsaSl9fWZ1bmN0aW9uIGtsKGUpe3ZhciB0PUluKCk7aWYoISghdHx8IXQuaXNDb25uZWN0ZWQpKXtuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMDt2YXIgcj1mdW5jdGlvbigpe24uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExLG4uY2hhdFN0aWNrVG9Cb3R0b209ITAsbnIoe3JlbW92ZURpdmlkZXI6ITB9KSxLZSgpfTtpZihlJiZ0eXBlb2YgdC5zY3JvbGxUbz09ImZ1bmN0aW9uIil7dC5zY3JvbGxUbyh7dG9wOjAsYmVoYXZpb3I6InNtb290aCJ9KSxzZXRUaW1lb3V0KHIsMjYwKTtyZXR1cm59dC5zY3JvbGxUb3A9MCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUocil9fWZ1bmN0aW9uIHJyKCl7dmFyIGU9SW4oKTtpZighKCFlfHwhZS5pc0Nvbm5lY3RlZCkpe2lmKG4uY2hhdFNjcm9sbEVsZW1lbnQ9PT1lJiZuLmNoYXRTY3JvbGxIYW5kbGVyKXtLZSgpO3JldHVybn1uLmNoYXRTY3JvbGxFbGVtZW50JiYobi5jaGF0U2Nyb2xsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4uY2hhdFNjcm9sbEhhbmRsZXIpLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyKSxuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciksbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4uY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIpKSxuLmNoYXRTY3JvbGxFbGVtZW50PWUsbi5jaGF0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKGUuaXNDb25uZWN0ZWQpe2lmKG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsKXtLZSgpO3JldHVybn12YXIgdD1UaShlKTt0PyhuLmNoYXRTdGlja1RvQm90dG9tPSEwLG5yKHtyZW1vdmVEaXZpZGVyOiEwfSkpOm4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKX19LG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1mdW5jdGlvbih0KXtuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbHx8dC5kZWx0YVk8MCYmKG4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKSl9LG4uY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKHQpeyF0LnRvdWNoZXN8fHQudG91Y2hlcy5sZW5ndGg9PT0wfHwobi5jaGF0VG91Y2hTdGFydFk9dC50b3VjaGVzWzBdLmNsaWVudFkpfSxuLmNoYXRTY3JvbGxUb3VjaE1vdmVIYW5kbGVyPWZ1bmN0aW9uKHQpe2lmKCFuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbCYmISghdC50b3VjaGVzfHx0LnRvdWNoZXMubGVuZ3RoPT09MCkpe3ZhciByPXQudG91Y2hlc1swXS5jbGllbnRZLW4uY2hhdFRvdWNoU3RhcnRZO3I+NCYmKG4uY2hhdFN0aWNrVG9Cb3R0b209ITEsS2UoKSl9fSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbi5jaGF0U2Nyb2xsSGFuZGxlcix7cGFzc2l2ZTohMH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcix7cGFzc2l2ZTohMH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsbi5jaGF0U2Nyb2xsVG91Y2hTdGFydEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcix7cGFzc2l2ZTohMH0pLEtlKCl9fWZ1bmN0aW9uIHV1KCl7bi5jaGF0UmVuZGVyZWRDb3VudD49bi5jdXJyZW50TWVzc2FnZXMubGVuZ3RofHwobi5jaGF0UmVuZGVyZWRDb3VudCs9bi5jaGF0UGFnZVNpemUsWWUoITApKX12YXIgaXI9bnVsbDtmdW5jdGlvbiBBbCgpe2lyJiYoaXIuZGlzY29ubmVjdCgpLGlyPW51bGwpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LWxvYWQtbW9yZS1zZW50aW5lbCIpO2lmKGUpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiLmNoYXQtbG9hZC1tb3JlLWJ0biIpO3QmJih0Lm9uY2xpY2s9ZnVuY3Rpb24oKXt1dSgpfSksISh0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXI+InUiKSYmKGlyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihyKXtmb3IodmFyIGk9MDtpPHIubGVuZ3RoO2krKylpZihyW2ldLmlzSW50ZXJzZWN0aW5nKXt1dSgpO2JyZWFrfX0se3Jvb3Q6SW4oKSxyb290TWFyZ2luOiIyMDBweCJ9KSxpci5vYnNlcnZlKGUpKX19ZnVuY3Rpb24geWUoKXt0cnl7bi5zZWxlY3RlZElkP2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXNlbGVjdGVkLXNlc3Npb24iLG4uc2VsZWN0ZWRJZCk6bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIndhbmQtc2VsZWN0ZWQtc2Vzc2lvbiIpfWNhdGNoe319ZnVuY3Rpb24gTWkoZSl7cmV0dXJuIGUmJkFycmF5LmlzQXJyYXkoZS5xdWV1ZWRNZXNzYWdlcyk/ZS5xdWV1ZWRNZXNzYWdlczpuLnN0cnVjdHVyZWRJbnB1dFF1ZXVlfWZ1bmN0aW9uIHhsKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIE1pKGUpfWZ1bmN0aW9uIGpyKGUpe3ZhciB0PU1pKGUpO24uc3RydWN0dXJlZElucHV0UXVldWU9QXJyYXkuaXNBcnJheSh0KT90LnNsaWNlKCk6W119ZnVuY3Rpb24gc3UoZSx0KXtyZXR1cm4hIShlJiZBcnJheS5pc0FycmF5KGUuY29udGVudCkmJmUuY29udGVudC5zb21lKGZ1bmN0aW9uKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJnJbdF19KSl9ZnVuY3Rpb24gU2woZSl7cmV0dXJuISEoZSYmZS5yb2xlPT09InVzZXIiJiZzdShlLCJfX3F1ZXVlZCIpKX1mdW5jdGlvbiBJbChlKXtyZXR1cm4hIShlJiZlLnJvbGU9PT0iYXNzaXN0YW50IiYmc3UoZSwiX19wcm9jZXNzaW5nIikpfWZ1bmN0aW9uIGFyKGUpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybltdO2Zvcih2YXIgdD0hMSxyPVtdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIGE9ZVtpXTtpZihTbChhKXx8SWwoYSkpe3Q9ITA7Y29udGludWV9ci5wdXNoKGEpfXJldHVybiB0P3I6ZX1mdW5jdGlvbiBUbChlLHQpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKSlyZXR1cm4gZTt2YXIgcj1lLnNlc3Npb25LaW5kfHx0JiZ0LnNlc3Npb25LaW5kO2lmKHIhPT0ic3RydWN0dXJlZCIpcmV0dXJuIGU7dmFyIGk9YXIoZS5tZXNzYWdlcyk7cmV0dXJuIGk9PT1lLm1lc3NhZ2VzP2U6T2JqZWN0LmFzc2lnbih7fSxlLHttZXNzYWdlczppfSl9ZnVuY3Rpb24gb3UoKXt0cnl7dmFyIGU9eGwoKTtpZighbi5zZWxlY3RlZElkfHxlLmxlbmd0aD09PTApcmV0dXJuO2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiLEpTT04uc3RyaW5naWZ5KHtzZXNzaW9uSWQ6bi5zZWxlY3RlZElkLGl0ZW1zOmV9KSl9Y2F0Y2h7fX1mdW5jdGlvbiBsdShlKXt0cnl7dmFyIHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtc3RydWN0dXJlZC1xdWV1ZSIpO2lmKCF0KXJldHVybjt2YXIgcj1KU09OLnBhcnNlKHQpOyghZXx8IXJ8fHIuc2Vzc2lvbklkPT09ZSkmJmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKX1jYXRjaHtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1zdHJ1Y3R1cmVkLXF1ZXVlIil9fWZ1bmN0aW9uIGN1KCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoZSYmQXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKSl7anIoZSksb3UoKTtyZXR1cm59dHJ5e3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ3YW5kLXN0cnVjdHVyZWQtcXVldWUiKTtpZighdClyZXR1cm47dmFyIHI9SlNPTi5wYXJzZSh0KTtpZighcnx8ci5zZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWR8fCFBcnJheS5pc0FycmF5KHIuaXRlbXMpKXJldHVybjtuLnN0cnVjdHVyZWRJbnB1dFF1ZXVlPXIuaXRlbXMuc2xpY2UoMCwxMCl9Y2F0Y2h7bi5zdHJ1Y3R1cmVkSW5wdXRRdWV1ZT1bXX19ZnVuY3Rpb24gVXQoKXt0cnl7aWYobi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg9PT0wKXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1jcm9zcy1zZXNzaW9uLXF1ZXVlIik7cmV0dXJufWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLWNyb3NzLXNlc3Npb24tcXVldWUiLEpTT04uc3RyaW5naWZ5KG4uY3Jvc3NTZXNzaW9uUXVldWUpKX1jYXRjaHt9fWZ1bmN0aW9uIGVuKCl7cmV0dXJuIG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0Q3dkfHwiL3RtcCJ9ZnVuY3Rpb24gZHUoKXt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oeGkpO2lmKCFlKXJldHVybnt9O3ZhciB0PUpTT04ucGFyc2UoZSk7cmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0Ij90Ont9fWNhdGNoe3JldHVybnt9fX1mdW5jdGlvbiBMbChlKXt0cnl7aWYoIWV8fE9iamVjdC5rZXlzKGUpLmxlbmd0aD09PTApe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHhpKTtyZXR1cm59bG9jYWxTdG9yYWdlLnNldEl0ZW0oeGksSlNPTi5zdHJpbmdpZnkoZSkpfWNhdGNoe319ZnVuY3Rpb24gTWwoKXt2YXIgZT1uLnNlbGVjdGVkSWQ7aWYoIWUpcmV0dXJue307dmFyIHQ9ZHUoKSxyPXRbZV07cmV0dXJuIHImJnR5cGVvZiByPT0ib2JqZWN0Ij9yOnt9fWZ1bmN0aW9uIFplKGUpe2lmKCFlfHwhbi5zZWxlY3RlZElkKXJldHVybiBudWxsO3ZhciB0PU1sKCk7cmV0dXJuIHR5cGVvZiB0W2VdPT0iYm9vbGVhbiI/dFtlXTpudWxsfWZ1bmN0aW9uIHFsKGUsdCl7aWYoISghZXx8IW4uc2VsZWN0ZWRJZCkpe3ZhciByPWR1KCksaT1uLnNlbGVjdGVkSWQsYT1yW2ldOyghYXx8dHlwZW9mIGEhPSJvYmplY3QiKSYmKGE9e30pLGFbZV09ISF0LHJbaV09YSxMbChyKX19ZnVuY3Rpb24gZnUoZSx0KXtyZXR1cm4gZT9lLnV1aWQ/Im1zZzoiK2UudXVpZDplLmlkPyJtc2c6IitlLmlkOmUubWVzc2FnZUlkPyJtc2c6IitlLm1lc3NhZ2VJZDplLnR1cm5JZD8ibXNnOiIrZS50dXJuSWQ6Im1zZzoiKyh0eXBlb2YgdD09Im51bWJlciI/dDowKToibXNnOnVua25vd24tIisodHlwZW9mIHQ9PSJudW1iZXIiP3Q6MCl9ZnVuY3Rpb24gS3QoZSx0KXtmb3IodmFyIHI9W10saT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldO2E9PW51bGx8fGE9PT0iInx8ci5wdXNoKFN0cmluZyhhKSl9cmV0dXJuIGUrIjoiK3Iuam9pbigiOiIpfWZ1bmN0aW9uIFRuKGUpe3JldHVybiFlfHwhZS5kYXRhc2V0PyIiOmUuZGF0YXNldC5leHBhbmRLZXl8fCIifWZ1bmN0aW9uIE9sKGUsdCl7aWYoIWUpcmV0dXJuITE7c3dpdGNoKHQpe2Nhc2UidG9vbC1jYXJkIjpjYXNlImRpZmYiOnJldHVybiFlLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7Y2FzZSJ0aGlua2luZyI6cmV0dXJuIGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJleHBhbmRlZCIpJiYhZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2Nhc2UiaW5saW5lLXRvb2wiOnJldHVybiBlLmNsYXNzTGlzdC5jb250YWlucygiaW5saW5lLXRvb2wtb3BlbiIpO2Nhc2UidGVybWluYWwiOnt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtyZXR1cm4gcj9yLnN0eWxlLmRpc3BsYXkhPT0ibm9uZSI6ZS5kYXRhc2V0LmV4cGFuZGVkPT09InRydWUifWNhc2UidG9vbC1ncm91cCI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7Y2FzZSJzdWJhZ2VudC1yZXBseSI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7Y2FzZSJzdWJhZ2VudC1wYW5lbCI6cmV0dXJuIGUuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gcWkoZSx0LHIpe2lmKGUpc3dpdGNoKHQpe2Nhc2UidG9vbC1jYXJkIjpjYXNlImRpZmYiOntlLmNsYXNzTGlzdC50b2dnbGUoImNvbGxhcHNlZCIsIXIpO2JyZWFrfWNhc2UidGhpbmtpbmciOntlLmNsYXNzTGlzdC50b2dnbGUoImNvbGxhcHNlZCIsIXIpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiZXhwYW5kZWQiLCEhcik7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLXByZXZpZXciKTtpZihpKXt2YXIgYT1lLmRhdGFzZXQudGhpbmtpbmd8fCIiLHU9YS5zbGljZSgwLDU3KSsoYS5sZW5ndGg+NjA/Ilx1MjAyNiI6IiIpO2kudGV4dENvbnRlbnQ9cj9hOnV9dmFyIHM9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO3MmJihzLnRleHRDb250ZW50PXI/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpO2JyZWFrfWNhc2UiaW5saW5lLXRvb2wiOntlLmNsYXNzTGlzdC50b2dnbGUoImlubGluZS10b29sLW9wZW4iLCEhcik7dmFyIG89ZS5xdWVyeVNlbGVjdG9yKCIuaW5saW5lLXRvb2wtZXhwYW5kZWQiKTtvJiYoby5zdHlsZS5kaXNwbGF5PXI/ImJsb2NrIjoibm9uZSIpO2JyZWFrfWNhc2UidGVybWluYWwiOnt2YXIgbD1lLnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtsJiYobC5zdHlsZS5kaXNwbGF5PXI/ImJsb2NrIjoibm9uZSIpLGUuZGF0YXNldC5leHBhbmRlZD1yPyJ0cnVlIjoiZmFsc2UiO3ZhciBjPWUucXVlcnlTZWxlY3RvcigiLnRlcm0tdG9nZ2xlLWljb24iKTtjJiYoYy50ZXh0Q29udGVudD1yPyJcdTI1QkMiOiJcdTI1QjYiKTticmVha31jYXNlInRvb2wtZ3JvdXAiOntlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIscj8idHJ1ZSI6ImZhbHNlIik7dmFyIGQ9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1ib2R5Iik7ZCYmKGQuc3R5bGUuZGlzcGxheT1yPyJibG9jayI6Im5vbmUiKTt2YXIgZj1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWNoZXZyb24iKTtmJiYoZi5zdHlsZS50cmFuc2Zvcm09cj8icm90YXRlKDE4MGRlZykiOiIiKTticmVha31jYXNlInN1YmFnZW50LXJlcGx5Ijp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpO3ZhciB2PWUucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXJlcGx5LXRvZ2dsZS1sYWJlbCIpO3YmJih2LnRleHRDb250ZW50PXI/Ilx1NjUzNlx1OEQ3NyI6Ilx1NUM1NVx1NUYwMCIpO3ZhciBtPWUucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXJlcGx5LXRvZ2dsZSIpO20mJihtLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIscj8idHJ1ZSI6ImZhbHNlIiksbS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHI/Ilx1NjUzNlx1OEQ3N1x1NUI1MFx1NEVFM1x1NzQwNlx1NTZERVx1NTkwRCI6Ilx1NUM1NVx1NUYwMFx1NUI1MFx1NEVFM1x1NzQwNlx1NTZERVx1NTkwRFx1NTE2OFx1NjU4NyIpKTticmVha31jYXNlInN1YmFnZW50LXBhbmVsIjp7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpO2Zvcih2YXIgYj1lLnF1ZXJ5U2VsZWN0b3JBbGwoIi5zdWJhZ2VudC1wYW5lbC10b2dnbGUiKSxnPTA7ZzxiLmxlbmd0aDtnKyspe3ZhciB5PWJbZ107eS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLHI/InRydWUiOiJmYWxzZSIpLHkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixyPyJcdTY1MzZcdThENzdcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiOiJcdTVDNTVcdTVGMDBcdTVCNTBcdTRFRTNcdTc0MDZcdThGOTNcdTUxRkEiKTt2YXIgdz15LnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1wYW5lbC10b2dnbGUtbGFiZWwiKTt3JiYody50ZXh0Q29udGVudD1yPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKX12YXIgRj1lLnF1ZXJ5U2VsZWN0b3IoIi5zdWJhZ2VudC1wYW5lbC1ib2R5Iik7RiYmKHI/Ri5zY3JvbGxUb3A9MDpGLnNjcm9sbFRvcD1GLnNjcm9sbEhlaWdodCk7YnJlYWt9fX1mdW5jdGlvbiBibihlLHQpe3ZhciByPVRuKGUpO3ImJnFsKHIsT2woZSx0KSl9ZnVuY3Rpb24gT2koZSl7IWV8fCFuLnNlbGVjdGVkSWR8fGUucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZXhwYW5kLWtleV0iKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciByPVRuKHQpLGk9dC5kYXRhc2V0LmV4cGFuZEtpbmR8fCIiLGE9WmUocik7YT09PW51bGx8fCFpfHxxaSh0LGksYSl9KX1mdW5jdGlvbiBQZSgpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aDw9NzY4fWZ1bmN0aW9uIHB1KCl7cmV0dXJuISFuLnNlc3Npb25zRHJhd2VyT3BlbiYmKFBlKCl8fCFuLnNpZGViYXJQaW5uZWQpfWZ1bmN0aW9uIFBpKGUpe24uZmlsZVBhbmVsT3Blbj1lO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLFN0cmluZyhuLmZpbGVQYW5lbE9wZW4pKX1jYXRjaHt9bi5maWxlUGFuZWxPcGVuJiZQZSgpJiYobi5zZXNzaW9uc0RyYXdlck9wZW49ITEsa2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMSkpLHRuKCksbi5maWxlUGFuZWxPcGVuJiZNdCgpfWZ1bmN0aW9uIE5yKCl7UGkoIW4uZmlsZVBhbmVsT3Blbil9ZnVuY3Rpb24gUGwoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zaWRlLXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1jb250ZW50Iikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC10b2dnbGUtYnRuIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1wYW5lbC1iYWNrZHJvcCIpO2UmJmUuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsbi5maWxlUGFuZWxPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoImZpbGUtcGFuZWwtb3BlbiIsbi5maWxlUGFuZWxPcGVuKSxpJiZpLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLG4uZmlsZVBhbmVsT3BlbiksciYmci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG4uZmlsZVBhbmVsT3Blbil9ZnVuY3Rpb24gdG4oKXt4cigpLFBsKCl9ZnVuY3Rpb24gSGwoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIHI9ZSYmZS5jd2Q/ZS5jd2Q6ZW4oKTt0LnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10JiYodC52YWx1ZT1yKTp0LnRleHRDb250ZW50PXIsdC50aXRsZT1yfX1mdW5jdGlvbiB2dSgpe24uZmlsZVBhbmVsT3BlbiYmUGkoITEpfWZ1bmN0aW9uIG11KGUpe3ZhciB0PW4udGVybWluYWxTY2FsZStlO2lmKHQ9TWF0aC5tYXgoLjUsTWF0aC5taW4oMix0KSksdD1NYXRoLnJvdW5kKHQqNCkvNCx0IT09bi50ZXJtaW5hbFNjYWxlKXtuLnRlcm1pbmFsU2NhbGU9dDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtdGVybWluYWwtc2NhbGUiLFN0cmluZyh0KSl9Y2F0Y2h7fWd1KCksX2woKX19ZnVuY3Rpb24gZ3UoKXtpZighKCFuLnRlcm1pbmFsfHwhbi50ZXJtaW5hbC5lbGVtZW50KSl7dmFyIGU9bi50ZXJtaW5hbEJhc2VGb250U2l6ZSpuLnRlcm1pbmFsU2NhbGUsdD1NYXRoLm1heCgxLE1hdGgucm91bmQoZSkpLHI9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKGUqMS41KSk7bi50ZXJtaW5hbC5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXRlcm0tZm9udC1zaXplIix0KyJweCIpLG4udGVybWluYWwuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS10ZXJtLXJvdy1oZWlnaHQiLHIrInB4IiksdHlwZW9mIG4udGVybWluYWwucmVtZWFzdXJlPT0iZnVuY3Rpb24iJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLnJlbWVhc3VyZSgpfSl9fWZ1bmN0aW9uIF9sKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLXNjYWxlLWxhYmVsLXRvcCIpO2UmJihlLnRleHRDb250ZW50PU1hdGgucm91bmQobi50ZXJtaW5hbFNjYWxlKjEwMCkrIiUiKX12YXIgamw9eyJjaGV2cm9uLWxlZnQiOic8cGF0aCBkPSJNMTUgMThsLTYtNiA2LTYiLz4nLCJhcnJvdy11cCI6JzxwYXRoIGQ9Ik0xMiAxOVY1Ii8+PHBhdGggZD0iTTUgMTJsNy03IDcgNyIvPicscmVmcmVzaDonPHBhdGggZD0iTTIxIDEyYTkgOSAwIDEgMS0zLTYuNyIvPjxwYXRoIGQ9Ik0yMSA0djVoLTUiLz4nLGV5ZTonPHBhdGggZD0iTTEgMTJzNC03IDExLTcgMTEgNyAxMSA3LTQgNy0xMSA3UzEgMTIgMSAxMnoiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+JywiZXllLW9mZiI6JzxwYXRoIGQ9Ik0xNy45NCAxNy45NEExMC45NCAxMC45NCAwIDAgMSAxMiAxOWMtNyAwLTExLTctMTEtN2ExOS44NiAxOS44NiAwIDAgMSA0LjIyLTUuMTgiLz48cGF0aCBkPSJNMSAxbDIyIDIyIi8+PHBhdGggZD0iTTkuOSA0LjI0QTEwLjk0IDEwLjk0IDAgMCAxIDEyIDRjNyAwIDExIDcgMTEgN2ExOS44MyAxOS44MyAwIDAgMS0zLjM2IDQuMjciLz48cGF0aCBkPSJNMTQuMTIgMTQuMTJhMyAzIDAgMSAxLTQuMjQtNC4yNCIvPicseDonPHBhdGggZD0iTTE4IDZMNiAxOCIvPjxwYXRoIGQ9Ik02IDZsMTIgMTIiLz4nLHNlYXJjaDonPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0yMSAyMWwtNC4zLTQuMyIvPicsY29weTonPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDE1VjVhMiAyIDAgMCAxIDItMmgxMCIvPicsY2xpcGJvYXJkOic8cmVjdCB4PSI4IiB5PSIzIiB3aWR0aD0iOCIgaGVpZ2h0PSI0IiByeD0iMSIvPjxwYXRoIGQ9Ik0xNiA1aDJhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoMiIvPicsZG93bmxvYWQ6JzxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBhdGggZD0iTTcgMTBsNSA1IDUtNSIvPjxwYXRoIGQ9Ik0xMiAxNVYzIi8+JyxlZGl0Oic8cGF0aCBkPSJNMTIgMjBoOSIvPjxwYXRoIGQ9Ik0xNi41IDMuNWEyLjEyMSAyLjEyMSAwIDAgMSAzIDNMNyAxOWwtNCAxIDEtNHoiLz4nLHNhdmU6JzxwYXRoIGQ9Ik0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyeiIvPjxwYXRoIGQ9Ik0xNyAyMXYtOEg3djgiLz48cGF0aCBkPSJNNyAzdjVoOCIvPicsInJvdGF0ZS1jY3ciOic8cGF0aCBkPSJNMyAxMmE5IDkgMCAxIDAgMy02LjciLz48cGF0aCBkPSJNMyA0djVoNSIvPicsIndyYXAtdGV4dCI6JzxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNMyAxMmgxNWEzIDMgMCAxIDEgMCA2aC00Ii8+PHBhdGggZD0iTTE2IDE2bC0yIDIgMiAyIi8+PHBhdGggZD0iTTMgMThoNiIvPicsdHlwZTonPHBhdGggZD0iTTQgN1Y0aDE2djMiLz48cGF0aCBkPSJNOSAyMGg2Ii8+PHBhdGggZD0iTTEyIDR2MTYiLz4nLG1pbnVzOic8cGF0aCBkPSJNNSAxMmgxNCIvPicscGx1czonPHBhdGggZD0iTTEyIDV2MTQiLz48cGF0aCBkPSJNNSAxMmgxNCIvPicsInNlbmQtdG8taW5wdXQiOic8cGF0aCBkPSJNMjIgMkwxMSAxMyIvPjxwYXRoIGQ9Ik0yMiAybC03IDIwLTQtOS05LTR6Ii8+Jyx0ZXJtaW5hbDonPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiLz48bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiLz4nLCJmb2xkZXItb3BlbiI6JzxwYXRoIGQ9Ik02IDE0bDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIi8+JyxpbmZvOic8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIiIHkyPSIxMiIvPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMi4wMSIgeTI9IjgiLz4nfTtmdW5jdGlvbiBMZShlLHQpe3Q9dHx8e307dmFyIHI9amxbZV18fCIiLGk9dC5zaXplfHwxNixhPXQuY2xhc3NOYW1lPyIgIit0LmNsYXNzTmFtZToiIjtyZXR1cm4nPHN2ZyBjbGFzcz0id2FuZC1pY29uIHdhbmQtaWNvbi0nK2UrYSsnIiB3aWR0aD0iJytpKyciIGhlaWdodD0iJytpKyciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytyKyI8L3N2Zz4ifWZ1bmN0aW9uIE5sKGUpe3ZhciB0PWV8fGVuKCk7cmV0dXJuIHQ/JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj48ZGl2IGNsYXNzPSJ0cmVlLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2Pic6JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NjcyQVx1OTE0RFx1N0Y2RVx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NVx1MzAwMjwvZGl2Pid9dmFyIFJsPXtwbmc6Ilx1ezFGNUJDfVx1RkUwRiIsanBnOiJcdXsxRjVCQ31cdUZFMEYiLGpwZWc6Ilx1ezFGNUJDfVx1RkUwRiIsZ2lmOiJcdXsxRjVCQ31cdUZFMEYiLHdlYnA6Ilx1ezFGNUJDfVx1RkUwRiIsc3ZnOiJcdXsxRjVCQ31cdUZFMEYiLGF2aWY6Ilx1ezFGNUJDfVx1RkUwRiIsYm1wOiJcdXsxRjVCQ31cdUZFMEYiLGljbzoiXHV7MUY1QkN9XHVGRTBGIixoZWljOiJcdXsxRjVCQ31cdUZFMEYiLGhlaWY6Ilx1ezFGNUJDfVx1RkUwRiIscGRmOiJcdXsxRjRENX0iLGRvYzoiXHV7MUY0RDh9Iixkb2N4OiJcdXsxRjREOH0iLG9kdDoiXHV7MUY0RDh9Iix4bHM6Ilx1ezFGNENBfSIseGxzeDoiXHV7MUY0Q0F9Iixjc3Y6Ilx1ezFGNENBfSIsdHN2OiJcdXsxRjRDQX0iLHBwdDoiXHV7MUY0RDl9IixwcHR4OiJcdXsxRjREOX0iLG1wNDoiXHV7MUYzQUN9Iix3ZWJtOiJcdXsxRjNBQ30iLG1vdjoiXHV7MUYzQUN9Iixta3Y6Ilx1ezFGM0FDfSIsbTR2OiJcdXsxRjNBQ30iLG9ndjoiXHV7MUYzQUN9IixtcDM6Ilx1ezFGM0I1fSIsd2F2OiJcdXsxRjNCNX0iLG9nZzoiXHV7MUYzQjV9IixtNGE6Ilx1ezFGM0I1fSIsZmxhYzoiXHV7MUYzQjV9IixhYWM6Ilx1ezFGM0I1fSIsb3B1czoiXHV7MUYzQjV9Iix6aXA6Ilx1ezFGNEU2fSIsdGFyOiJcdXsxRjRFNn0iLGd6OiJcdXsxRjRFNn0iLHRnejoiXHV7MUY0RTZ9IixiejI6Ilx1ezFGNEU2fSIsIjd6IjoiXHV7MUY0RTZ9IixyYXI6Ilx1ezFGNEU2fSIseHo6Ilx1ezFGNEU2fSIsbWQ6Ilx1ezFGNEREfSIsbWFya2Rvd246Ilx1ezFGNEREfSIsbWR4OiJcdXsxRjRERH0iLHJzdDoiXHV7MUY0RER9Iix0eHQ6Ilx1ezFGNEREfSIsbG9nOiJcdXsxRjRERH0iLGh0bWw6Ilx1ezFGMzEwfSIsaHRtOiJcdXsxRjMxMH0iLHhtbDoiXHV7MUYzMTB9Iixjc3M6Ilx1ezFGM0E4fSIsc2NzczoiXHV7MUYzQTh9IixsZXNzOiJcdXsxRjNBOH0iLGpzb246Ilx1MjY5OVx1RkUwRiIsanNvbmM6Ilx1MjY5OVx1RkUwRiIseWFtbDoiXHUyNjk5XHVGRTBGIix5bWw6Ilx1MjY5OVx1RkUwRiIsdG9tbDoiXHUyNjk5XHVGRTBGIixpbmk6Ilx1MjY5OVx1RkUwRiIsY2ZnOiJcdTI2OTlcdUZFMEYiLGNvbmY6Ilx1MjY5OVx1RkUwRiIsZW52OiJcdTI2OTlcdUZFMEYiLGVkaXRvcmNvbmZpZzoiXHUyNjk5XHVGRTBGIix0czoiXHV7MUY0REN9Iix0c3g6Ilx1ezFGNERDfSIsanM6Ilx1ezFGNERDfSIsanN4OiJcdXsxRjREQ30iLG1qczoiXHV7MUY0REN9IixjanM6Ilx1ezFGNERDfSIscHk6Ilx1ezFGNERDfSIscmI6Ilx1ezFGNERDfSIsZ286Ilx1ezFGNERDfSIscnM6Ilx1ezFGNERDfSIsamF2YToiXHV7MUY0REN9IixjOiJcdXsxRjREQ30iLGNwcDoiXHV7MUY0REN9IixoOiJcdXsxRjREQ30iLGhwcDoiXHV7MUY0REN9IixjczoiXHV7MUY0REN9Iixzd2lmdDoiXHV7MUY0REN9IixrdDoiXHV7MUY0REN9IixzY2FsYToiXHV7MUY0REN9IixwaHA6Ilx1ezFGNERDfSIsc2g6Ilx1ezFGNERDfSIsYmFzaDoiXHV7MUY0REN9Iix6c2g6Ilx1ezFGNERDfSIsZmlzaDoiXHV7MUY0REN9IixsdWE6Ilx1ezFGNERDfSIsc3FsOiJcdXsxRjREQ30iLGdyYXBocWw6Ilx1ezFGNERDfSIscHJvdG86Ilx1ezFGNERDfSIsdnVlOiJcdXsxRjREQ30iLHN2ZWx0ZToiXHV7MUY0REN9IixkaWZmOiJcdXsxRjREQ30iLHBhdGNoOiJcdXsxRjREQ30iLHR0ZjoiXHV7MUY1MjR9IixvdGY6Ilx1ezFGNTI0fSIsd29mZjoiXHV7MUY1MjR9Iix3b2ZmMjoiXHV7MUY1MjR9Iixlb3Q6Ilx1ezFGNTI0fSJ9O2Z1bmN0aW9uIGh1KGUpe2lmKCFlKXJldHVybiJcdXsxRjRDNH0iO2lmKGUudHlwZT09PSJkaXIiKXJldHVybiJcdXsxRjRDMX0iO3ZhciB0PShlLm5hbWV8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKHQ9PT0iZG9ja2VyZmlsZSIpcmV0dXJuIlx1ezFGNDMzfSI7aWYodD09PSJtYWtlZmlsZSIpcmV0dXJuIlx1ezFGNkUwfVx1RkUwRiI7aWYodD09PSJsaWNlbnNlIilyZXR1cm4iXHV7MUY0REN9IjtpZih0PT09InJlYWRtZSIpcmV0dXJuIlx1ezFGNEREfSI7dmFyIHI9dC5sYXN0SW5kZXhPZigiLiIpO2lmKHI8MHx8cj09PXQubGVuZ3RoLTEpcmV0dXJuIlx1ezFGNEM0fSI7dmFyIGk9dC5zbGljZShyKzEpO3JldHVybiBSbFtpXXx8Ilx1ezFGNEM0fSJ9ZnVuY3Rpb24gTG4oZSl7aWYodHlwZW9mIGUhPSJudW1iZXIifHwhaXNGaW5pdGUoZSl8fGU8MClyZXR1cm4iIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjt2YXIgdD1lLzEwMjQ7aWYodDwxMDI0KXJldHVybih0Pj0xMD9NYXRoLnJvdW5kKHQpOnQudG9GaXhlZCgxKSkrIiBLQiI7dmFyIHI9dC8xMDI0O2lmKHI8MTAyNClyZXR1cm4ocj49MTA/TWF0aC5yb3VuZChyKTpyLnRvRml4ZWQoMSkpKyIgTUIiO3ZhciBpPXIvMTAyNDtyZXR1cm4oaT49MTA/TWF0aC5yb3VuZChpKTppLnRvRml4ZWQoMSkpKyIgR0IifWZ1bmN0aW9uIFdsKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PURhdGUucGFyc2UoZSk7cmV0dXJuIGlzTmFOKHQpPyIiOm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKCl9ZnVuY3Rpb24geXUoKXtpZihuLmZpbGVFeHBsb3JlckN3ZClyZXR1cm4gbi5maWxlRXhwbG9yZXJDd2Q7aWYobi5zZWxlY3RlZElkKXt2YXIgZT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZihlJiZlLmN3ZClyZXR1cm4gZS5jd2R9cmV0dXJuIGVuKCl9ZnVuY3Rpb24gTXQoZSl7ZT1lfHx7fTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtZXhwbG9yZXItY3dkIik7aWYodCl7dmFyIGk9ZS5jd2R8fHl1KCk7aWYoIWkpe3QuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmaWxlLWV4cGxvcmVyIGVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTY2M0VcdTc5M0FcdTc2ODRcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L2Rpdj4nO3JldHVybn1uLmZpbGVFeHBsb3JlckN3ZD1pLG4uZmlsZUV4cGxvcmVyTG9hZGluZz0hMCxuLmFsbEZpbGVzPVtdLG4uZmlsZUV4cGxvcmVyVHJ1bmNhdGVkPSExLG4uZmlsZUV4cGxvcmVyVG90YWw9MCx0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciI+PGRpdiBjbGFzcz0idHJlZS1sb2FkaW5nIiBzdHlsZT0icGFkZGluZzoxMnB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTowLjgxMjVyZW07Ij5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj4nLHImJihyLnRhZ05hbWU9PT0iSU5QVVQiP2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiYoci52YWx1ZT1pKTpyLnRleHRDb250ZW50PWksci50aXRsZT1pKTt2YXIgYT0iL2FwaS9kaXJlY3Rvcnk/cT0iK2VuY29kZVVSSUNvbXBvbmVudChpKSsiJmdpdFN0YXR1cz10cnVlIjtmZXRjaChhLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtpZighdS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeS4iKTtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe24uZmlsZUV4cGxvcmVyTG9hZGluZz0hMTt2YXIgcyxvLGw7aWYoQXJyYXkuaXNBcnJheSh1KT8ocz11LG89ITEsbD11Lmxlbmd0aCk6KHM9dSYmdS5pdGVtc3x8W10sbz0hISh1JiZ1LnRydW5jYXRlZCksbD11JiZ1LnRvdGFsfHxzLmxlbmd0aCksIXN8fHMubGVuZ3RoPT09MCl7dC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1N0E3QVx1NzZFRVx1NUY1NVx1NjIxNlx1NjVFMFx1NkNENVx1OEJCRlx1OTVFRVx1MzAwMjwvZGl2Pic7cmV0dXJufW4uYWxsRmlsZXM9cyxuLmZpbGVFeHBsb3JlclRydW5jYXRlZD1vLG4uZmlsZUV4cGxvcmVyVG90YWw9bCxidSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtuLmZpbGVFeHBsb3JlckxvYWRpbmc9ITEsdC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtZXhwbG9yZXIgZW1wdHkiPlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNVx1RkYwQ1x1OEJGN1x1NjhDMFx1NjdFNVx1OERFRlx1NUY4NFx1NjIxNlx1Njc0M1x1OTY1MFx1MzAwMjwvZGl2Pid9KX19ZnVuY3Rpb24gYnUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3JlciIpO2lmKGUpe3ZhciB0PW4uZmlsZUV4cGxvcmVyQ3dkfHwiIjtpZih0KXt2YXIgcj1uLmZpbGVTZWFyY2hRdWVyeSxpPW4uYWxsRmlsZXN8fFtdLGE9aTtpZihyKXt2YXIgdT1yLnRvTG93ZXJDYXNlKCk7YT1pLmZpbHRlcihmdW5jdGlvbihsKXtyZXR1cm4gbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZih1KSE9PS0xfSl9aWYoYS5sZW5ndGg9PT0wKXtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciBlbXB0eSI+Jysocj8iXHU2Q0ExXHU2NzA5XHU2MjdFXHU1MjMwXHU1MzM5XHU5MTREXHU3Njg0XHU2NTg3XHU0RUY2IjoiXHU3QTdBXHU3NkVFXHU1RjU1IikrIjwvZGl2PiI7cmV0dXJufXZhciBzPSIiO2lmKCFyJiZuLmZpbGVFeHBsb3JlclRydW5jYXRlZCl7dmFyIG89aS5sZW5ndGg7cz0nPGRpdiBjbGFzcz0idHJlZS10cnVuY2F0ZWQiIHRpdGxlPSJcdTU0MEVcdTdBRUZcdTYzMDlcdTVCNTdcdTZCQ0RcdTVFOEZcdTY3MDBcdTU5MUFcdThGRDRcdTU2REUgJytvKycgXHU5ODc5Ij5cdTY2M0VcdTc5M0FcdTUyNEQgJytvKyIgXHU5ODc5IC8gXHU1MTcxICIrbi5maWxlRXhwbG9yZXJUb3RhbCsiIFx1OTg3OTwvZGl2PiJ9ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtdHJlZSIgaWQ9ImZpbGUtdHJlZSIgZGF0YS1jd2Q9IicrcCh0KSsnIj4nK2EubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBFdShsKX0pLmpvaW4oIiIpKyI8L2Rpdj4iK3MsRnUoKX19fWZ1bmN0aW9uIEV1KGUsdCl7dD10fHwwO3ZhciByPXAoZS5uYW1lKSxpPWUudHlwZT09PSJkaXIiLGE9aHUoZSksdT1pPyJcdTI1QjgiOiIiLHM9aT8iIjoiIGVtcHR5IixvPWUuZ2l0U3RhdHVzLGw9emwobyksYz0iIjtyZXR1cm4haSYmdHlwZW9mIGUuc2l6ZT09Im51bWJlciImJihjPSc8c3BhbiBjbGFzcz0idHJlZS1tZXRhIiB0aXRsZT0iXHU1OTI3XHU1QzBGXHVGRjFBJytwKExuKGUuc2l6ZSkpKyhlLm10aW1lP2AKXHU0RkVFXHU2NTM5XHU2NUY2XHU5NUY0XHVGRjFBYCtwKFdsKGUubXRpbWUpKToiIikrJyI+JytwKExuKGUuc2l6ZSkpKyI8L3NwYW4+IiksJzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgZGF0YS1wYXRoPSInK3AoZS5wYXRoKSsnIiBkYXRhLXR5cGU9IicrcChlLnR5cGUpKyciIGRhdGEtbmFtZT0iJytwKGUubmFtZSkrJyIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJ0cmVlLXRvZ2dsZScrcysnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1pY29uIj4nK2ErJzwvc3Bhbj48c3BhbiBjbGFzcz0idHJlZS1uYW1lIj4nK3IrIjwvc3Bhbj4iK2MrKGw/JzxzcGFuIGNsYXNzPSJnaXQtc3RhdHVzLWJhZGdlICcrbC5jbGFzcysnIiB0aXRsZT0iJytsLnRpdGxlKyciPicrbC50ZXh0KyI8L3NwYW4+IjoiIikrIjwvZGl2PiJ9ZnVuY3Rpb24gemwoZSl7cmV0dXJuIGU/ZS5zdGFnZWQ9PT0iYWRkZWQiP3t0ZXh0OiJBIixjbGFzczoiZ2l0LWFkZGVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU2NUIwXHU1ODlFXHVGRjA5In06ZS5zdGFnZWQ9PT0ibW9kaWZpZWQiP3t0ZXh0OiJNIixjbGFzczoiZ2l0LW1vZGlmaWVkIix0aXRsZToiXHU1REYyXHU2NjgyXHU1QjU4XHVGRjA4XHU0RkVFXHU2NTM5XHVGRjA5In06ZS5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtZGVsZXRlZCIsdGl0bGU6Ilx1NURGMlx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUuc3RhZ2VkPT09InJlbmFtZWQiP3t0ZXh0OiJSIixjbGFzczoiZ2l0LXJlbmFtZWQiLHRpdGxlOiJcdTVERjJcdTY2ODJcdTVCNThcdUZGMDhcdTkxQ0RcdTU0N0RcdTU0MERcdUZGMDkifTplLnVuc3RhZ2VkPT09Im1vZGlmaWVkIj97dGV4dDoiTSIsY2xhc3M6ImdpdC11bnN0YWdlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NEZFRVx1NjUzOVx1RkYwOSJ9OmUudW5zdGFnZWQ9PT0iZGVsZXRlZCI/e3RleHQ6IkQiLGNsYXNzOiJnaXQtdW5zdGFnZWQtZGVsZXRlZCIsdGl0bGU6Ilx1NjcyQVx1NjY4Mlx1NUI1OFx1RkYwOFx1NTIyMFx1OTY2NFx1RkYwOSJ9OmUudW50cmFja2VkP3t0ZXh0OiI/IixjbGFzczoiZ2l0LXVudHJhY2tlZCIsdGl0bGU6Ilx1NjcyQVx1OERERlx1OEUyQSJ9Om51bGw6bnVsbH1mdW5jdGlvbiBGdSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXRyZWUiKTtpZihlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi50cmVlLWl0ZW1bZGF0YS10eXBlPSdkaXInXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7VmwoaSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbVtkYXRhLXR5cGU9J2ZpbGUnXSIpLmZvckVhY2goZnVuY3Rpb24oaSl7dmFyIGE9ZnVuY3Rpb24oKXtfaShpLmRhdGFzZXQucGF0aCl9O2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGEpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLGEpfSk7dmFyIHQ9bnVsbCxyPSExO2UucXVlcnlTZWxlY3RvckFsbCgiLnRyZWUtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oaSl7aS5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLHd1KGEuY2xpZW50WCxhLmNsaWVudFksaSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe3I9ITEsdD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cj0hMDt2YXIgdT1hLnRvdWNoZXMmJmEudG91Y2hlc1swXTt3dSh1P3UuY2xpZW50WDowLHU/dS5jbGllbnRZOjAsaSl9LDUwMCl9LHtwYXNzaXZlOiEwfSksaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oKXt0JiYoY2xlYXJUaW1lb3V0KHQpLHQ9bnVsbCl9KX0pfX1mdW5jdGlvbiBWbChlKXt2YXIgdD1lLmRhdGFzZXQucGF0aCxyPWUucXVlcnlTZWxlY3RvcigiLnRyZWUtdG9nZ2xlIiksaT1lLm5leHRFbGVtZW50U2libGluZztpZihpJiZpLmNsYXNzTGlzdC5jb250YWlucygidHJlZS1jaGlsZHJlbiIpKXt2YXIgYT1pLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO2kuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIpLHImJnIuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsIWEpO3ZhciB1PWUucXVlcnlTZWxlY3RvcigiLnRyZWUtaWNvbiIpO3UmJih1LnRleHRDb250ZW50PWE/Ilx1ezFGNEMxfSI6Ilx1ezFGNEMyfSIpO3JldHVybn1yJiZyLmNsYXNzTGlzdC5hZGQoIm9wZW4iKTt2YXIgcz1lLnF1ZXJ5U2VsZWN0b3IoIi50cmVlLWljb24iKTtzJiYocy50ZXh0Q29udGVudD0iXHV7MUY0QzJ9Iik7dmFyIG89Ii9hcGkvZGlyZWN0b3J5P3E9IitlbmNvZGVVUklDb21wb25lbnQodCkrIiZnaXRTdGF0dXM9dHJ1ZSI7ZmV0Y2gobyx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24obCl7cmV0dXJuIGwuanNvbigpfSkudGhlbihmdW5jdGlvbihsKXt2YXIgYztBcnJheS5pc0FycmF5KGwpP2M9bDpjPWwmJmwuaXRlbXN8fFtdO3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NOYW1lPSJ0cmVlLWNoaWxkcmVuIG9wZW4iLCFjfHxjLmxlbmd0aD09PTA/ZC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InRyZWUtaXRlbSIgc3R5bGU9ImNvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpkZWZhdWx0OyI+PHNwYW4gY2xhc3M9InRyZWUtdG9nZ2xlIGVtcHR5Ij5cdTI1Qjg8L3NwYW4+PHNwYW4gY2xhc3M9InRyZWUtbmFtZSI+XHVGRjA4XHU3QTdBXHU3NkVFXHU1RjU1XHVGRjA5PC9zcGFuPjwvZGl2Pic6ZC5pbm5lckhUTUw9Yy5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIEV1KGYpfSkuam9pbigiIiksZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLGUubmV4dFNpYmxpbmcpLEZ1KCl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFVsKCl7dmFyIGU9eXUoKTtpZihlKXt2YXIgdD1lLnJlcGxhY2UoL1wvKyQvLCIiKS5yZXBsYWNlKC9cL1teXC9dKyQvLCIiKTt0fHwodD0iLyIpLHQhPT1lJiZNdCh7Y3dkOnR9KX19ZnVuY3Rpb24gSGkoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCF0KXJldHVybiExO3ZhciByPXQudmFsdWV8fCIiLGk9ciYmIXIuZW5kc1dpdGgoIiAiKSYmIXIuZW5kc1dpdGgoYApgKT8iICI6IiI7dC52YWx1ZT1yK2krZSx0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSk7dHJ5e3QuZm9jdXMoKSx0LnNldFNlbGVjdGlvblJhbmdlKHQudmFsdWUubGVuZ3RoLHQudmFsdWUubGVuZ3RoKX1jYXRjaHt9cmV0dXJuITB9ZnVuY3Rpb24gUnIoZSl7aWYobmF2aWdhdG9yLmNsaXBib2FyZCYmbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQpcmV0dXJuIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGUpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQoKX0pO3JldHVybiBQcm9taXNlLnJlc29sdmUodCgpKTtmdW5jdGlvbiB0KCl7dHJ5e3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7ci52YWx1ZT1lLHIuc3R5bGUucG9zaXRpb249ImZpeGVkIixyLnN0eWxlLmxlZnQ9Ii05OTk5cHgiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksci5zZWxlY3QoKTt2YXIgaT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHIpLGl9Y2F0Y2h7cmV0dXJuITF9fX1mdW5jdGlvbiBGdChlKXtpZih0eXBlb2Ygd2luZG93LnNob3dUb2FzdD09ImZ1bmN0aW9uIil7d2luZG93LnNob3dUb2FzdChlKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9IndhbmQtbWluaS10b2FzdCIsdC50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LmFkZCgic2hvdyIpfSwxMCksc2V0VGltZW91dChmdW5jdGlvbigpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnJlbW92ZSgpfSwyMjApfSwxNjAwKX1mdW5jdGlvbiBNbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWNvbnRleHQtbWVudSIpO2UmJmUucmVtb3ZlKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLE1uLCEwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLE1uLCEwKX1mdW5jdGlvbiB3dShlLHQscil7TW4oKTt2YXIgaT1yLmRhdGFzZXQucGF0aHx8IiIsYT1yLmRhdGFzZXQudHlwZXx8ImZpbGUiLHU9bi5maWxlRXhwbG9yZXJDd2R8fCIiLHM9aTt1JiZpLmluZGV4T2YodSk9PT0wJiYocz1pLnNsaWNlKHUubGVuZ3RoKS5yZXBsYWNlKC9eXC8rLywiIil8fCIuIik7dmFyIG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5pZD0iZmlsZS1jb250ZXh0LW1lbnUiLG8uY2xhc3NOYW1lPSJmaWxlLWNvbnRleHQtbWVudSI7dmFyIGw9W107YT09PSJmaWxlIj9sLnB1c2goe2xhYmVsOiJcdTYyNTNcdTVGMDBcdTk4ODRcdTg5QzgiLGljb246Ilx1ezFGNDQxfSIscnVuOmZ1bmN0aW9uKCl7X2koaSl9fSk6bC5wdXNoKHtsYWJlbDoiXHU4RkRCXHU1MTY1XHU2QjY0XHU3NkVFXHU1RjU1IixpY29uOiJcdXsxRjRDMn0iLHJ1bjpmdW5jdGlvbigpe010KHtjd2Q6aX0pfX0pLGwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NUI4Q1x1NjU3NFx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtScihpKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSkscyYmcyE9PWkmJmwucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIsaWNvbjoiXHV7MUY0Q0J9IixydW46ZnVuY3Rpb24oKXtScihzKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1NzZGOFx1NUJGOVx1OERFRlx1NUY4NCIpfSl9fSksbC5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU4REVGXHU1Rjg0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOiJcdTI3MEZcdUZFMEYiLHJ1bjpmdW5jdGlvbigpe0hpKGkpJiZGdCgiXHU1REYyXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2Iil9fSksYT09PSJmaWxlIiYmbC5wdXNoKHtsYWJlbDoiXHU0RTBCXHU4RjdEXHU2NTg3XHU0RUY2IixpY29uOiJcdTJCMDciLHJ1bjpmdW5jdGlvbigpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtiLmhyZWY9Ii9hcGkvZmlsZS1yYXc/ZG93bmxvYWQ9MSZwYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KGkpLGIucmVsPSJub29wZW5lciIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiKSxiLmNsaWNrKCksYi5yZW1vdmUoKX19KSxvLmlubmVySFRNTD1sLm1hcChmdW5jdGlvbihiLGcpe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImZpbGUtY29udGV4dC1tZW51LWl0ZW0iIGRhdGEtaWR4PSInK2crJyI+PHNwYW4gY2xhc3M9ImN0eC1pY29uIj4nK2IuaWNvbisnPC9zcGFuPjxzcGFuIGNsYXNzPSJjdHgtbGFiZWwiPicrcChiLmxhYmVsKSsiPC9zcGFuPjwvYnV0dG9uPiJ9KS5qb2luKCIiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pO3ZhciBjPXdpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0LGY9by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PU1hdGgubWluKGUsYy1mLndpZHRoLTgpLG09TWF0aC5taW4odCxkLWYuaGVpZ2h0LTgpO28uc3R5bGUubGVmdD1NYXRoLm1heCg4LHYpKyJweCIsby5zdHlsZS50b3A9TWF0aC5tYXgoOCxtKSsicHgiLG8ucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtY29udGV4dC1tZW51LWl0ZW0iKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGcpe2cuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHk9cGFyc2VJbnQoYi5kYXRhc2V0LmlkeCwxMCk7TW4oKSxsW3ldJiZsW3ldLnJ1bigpfSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLE1uLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLE1uLCEwKX0sMCl9dmFyIHE9bnVsbDtmdW5jdGlvbiBfaShlKXt2YXIgdD1xJiZxLm92ZXJsYXk7aWYodCl7cS5wYXRoPWUscS5lZGl0aW5nPSExLHEuZGlydHk9ITE7dmFyIHM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIik7cyYmKHMuaW5uZXJIVE1MPSc8c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWljb24iPlx1ezFGNEM0fTwvc3Bhbj48ZGl2IGNsYXNzPSJmaWxlLXByZXZpZXctbmFtZS1ibG9jayI+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtcm93Ij48c3BhbiBjbGFzcz0iZmlsZS1wcmV2aWV3LWZpbGVuYW1lIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L3NwYW4+PC9kaXY+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1wYXRoIiB0aXRsZT0iIj48L3NwYW4+PC9kaXY+Jyk7dmFyIG89dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRvb2xiYXIiKTtvJiYoby5pbm5lckhUTUw9IiIpO3ZhciBsPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1wYXRoIik7bCYmKGwudGV4dENvbnRlbnQ9IiIsbC50aXRsZT0iIik7dmFyIGM9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtjJiYoYy5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj4nKX1lbHNle3Q9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdC5jbGFzc05hbWU9ImZpbGUtcHJldmlldy1vdmVybGF5Iix0LmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW1vZGFsIiB0YWJpbmRleD0iLTEiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10aXRsZSI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1pY29uIj5cdXsxRjRDNH08L3NwYW4+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2siPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1uYW1lLXJvdyI+PHNwYW4gY2xhc3M9ImZpbGUtcHJldmlldy1maWxlbmFtZSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJmaWxlLXByZXZpZXctcGF0aCIgdGl0bGU9IiI+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy10b29sYmFyIj48L2Rpdj48YnV0dG9uIGNsYXNzPSJmaWxlLXByZXZpZXctY2xvc2UiIHRpdGxlPSJcdTUxNzNcdTk1RUQgKEVzYykiIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+JytMZSgieCIse3NpemU6MTh9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1wcmV2aWV3LWJvZHkiPjxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTk4ODRcdTg5QzhcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj4nLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIHI9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWNsb3NlIiksaT1mdW5jdGlvbigpe2lmKHEmJnEuZGlydHkmJnR5cGVvZiBubj09ImZ1bmN0aW9uIil7bm4oe3R5cGU6Indhcm5pbmciLHRpdGxlOiJcdTY1M0VcdTVGMDNcdTY3MkFcdTRGRERcdTVCNThcdTc2ODRcdTRGRUVcdTY1MzlcdUZGMUYiLG1lc3NhZ2U6Ilx1NUY1M1x1NTI0RFx1NjU4N1x1NEVGNlx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NjUzOVx1NTJBOFx1RkYwQ1x1NTE3M1x1OTVFRFx1NTQwRVx1NEYxQVx1NEUyMlx1NTkzMVx1MzAwMiIsYnV0dG9uczpbe2xhYmVsOiJcdTdFRTdcdTdFRURcdTdGMTZcdThGOTEiLHZhbHVlOiExLGtpbmQ6Imdob3N0In0se2xhYmVsOiJcdTY1M0VcdTVGMDNcdTRGRUVcdTY1MzkiLHZhbHVlOiEwLGtpbmQ6ImRhbmdlciIsYXV0b2ZvY3VzOiEwfV0sY2FuY2VsVmFsdWU6ITF9KS50aGVuKGZ1bmN0aW9uKGYpe2YmJmEoKX0pO3JldHVybn1hKCl9LGE9ZnVuY3Rpb24oKXt0LnJlbW92ZSgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHUpLHE9bnVsbH07ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaSksdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZil7Zi50YXJnZXQ9PT10JiZpKCl9KTt2YXIgdT1mdW5jdGlvbihmKXtpZigoZi5rZXk9PT0icyJ8fGYua2V5PT09IlMiKSYmKGYuY3RybEtleXx8Zi5tZXRhS2V5KSYmcSYmcS5lZGl0aW5nKXtmLnByZXZlbnREZWZhdWx0KCkseHUoKTtyZXR1cm59aWYoZi5rZXk9PT0iRXNjYXBlIil7aWYocSYmcS5lZGl0aW5nKXtmLnByZXZlbnREZWZhdWx0KCksQXUoKTtyZXR1cm59aSgpO3JldHVybn1xJiYoZi50YXJnZXQmJihmLnRhcmdldC50YWdOYW1lPT09IklOUFVUInx8Zi50YXJnZXQudGFnTmFtZT09PSJURVhUQVJFQSIpfHxxLmVkaXRpbmd8fChmLmtleT09PSJBcnJvd0xlZnQiPyhmLnByZXZlbnREZWZhdWx0KCksQ3UoLTEpKTpmLmtleT09PSJBcnJvd1JpZ2h0IiYmKGYucHJldmVudERlZmF1bHQoKSxDdSgxKSkpKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdSkscT17b3ZlcmxheTp0LGNsb3NlOmkscGF0aDplLGRhdGE6bnVsbCxlZGl0aW5nOiExLGRpcnR5OiExfX12YXIgZD10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctcGF0aCIpO2QmJihkLnRleHRDb250ZW50PWUsZC50aXRsZT1lKSxmZXRjaCgiL2FwaS9maWxlLXByZXZpZXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudChlKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZil7cmV0dXJuIGYuanNvbigpLnRoZW4oZnVuY3Rpb24odil7cmV0dXJue29rOmYub2ssc3RhdHVzOmYuc3RhdHVzLGRhdGE6dn19KX0pLnRoZW4oZnVuY3Rpb24oZil7dmFyIHY9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtpZighZi5va3x8Zi5kYXRhJiZmLmRhdGEuZXJyb3Ipe3ZhciBtPWYuZGF0YSYmZi5kYXRhLmVycm9yfHwiXHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1IjtmLnN0YXR1cz09PTQxMyYmZi5kYXRhJiZmLmRhdGEuc2l6ZSYmKG0rPSJcdUZGMDhcdTY1ODdcdTRFRjZcdTU5MjdcdTVDMEZcdUZGMUEiK0xuKGYuZGF0YS5zaXplKSsiXHVGRjA5Iiksdi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1lcnJvciI+PHNwYW4gY2xhc3M9InByZXZpZXctZXJyb3ItaWNvbiI+XHUyNkEwPC9zcGFuPjxzcGFuPicrcChtKSsiPC9zcGFuPjwvZGl2PiIsZi5zdGF0dXM9PT00MTMmJmppKHQse2tpbmQ6ImJpbmFyeSIscGF0aDplLG5hbWU6ZS5zcGxpdCgiLyIpLnBvcCgpfHxlLGV4dDoiIixzaXplOmYuZGF0YSYmZi5kYXRhLnNpemV8fDB9KTtyZXR1cm59cS5kYXRhPWYuZGF0YSxCdSh0LGYuZGF0YSl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBmPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7Zi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImZpbGUtcHJldmlldy1lcnJvciI+PHNwYW4gY2xhc3M9InByZXZpZXctZXJyb3ItaWNvbiI+XHUyNkEwPC9zcGFuPjxzcGFuPlx1NTJBMFx1OEY3RFx1OTg4NFx1ODlDOFx1NTkzMVx1OEQyNTwvc3Bhbj48L2Rpdj4nfSl9ZnVuY3Rpb24gQ3UoZSl7aWYocSl7dmFyIHQ9KG4uYWxsRmlsZXN8fFtdKS5maWx0ZXIoZnVuY3Rpb24obyl7cmV0dXJuIG8udHlwZT09PSJmaWxlIn0pO2lmKHQubGVuZ3RoKXtmb3IodmFyIHI9cS5wYXRoLGk9LTEsYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHRbYV0ucGF0aD09PXIpe2k9YTticmVha31pZighKGk8MCkpe3ZhciB1PShpK2UrdC5sZW5ndGgpJXQubGVuZ3RoLHM9dFt1XS5wYXRoO3MmJnMhPT1yJiZfaShzKX19fX1mdW5jdGlvbiBCdShlLHQpe3ZhciByPWUucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1maWxlbmFtZSIpO3ImJihyLnRleHRDb250ZW50PXQubmFtZSk7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWljb24iKTtpJiYoaS50ZXh0Q29udGVudD1odSh7bmFtZTp0Lm5hbWUsdHlwZToiZmlsZSJ9KSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LXRpdGxlIiksdT1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctbGFuZyIpO3UmJnUucmVtb3ZlKCk7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3MuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctbGFuZyI7dmFyIG89e2ltYWdlOiJcdTU2RkVcdTcyNDciLHBkZjoiUERGIix2aWRlbzoiXHU4OUM2XHU5ODkxIixhdWRpbzoiXHU5N0YzXHU5ODkxIixiaW5hcnk6Ilx1NEU4Q1x1OEZEQlx1NTIzNiJ9O3Qua2luZD09PSJ0ZXh0Ij9zLnRleHRDb250ZW50PXQubGFuZ3x8KHQuZXh0fHwiIikucmVwbGFjZSgiLiIsIiIpfHwidGV4dCI6cy50ZXh0Q29udGVudD1vW3Qua2luZF18fCh0LmV4dHx8IiIpLnJlcGxhY2UoIi4iLCIiKXx8dC5raW5kLGEmJmEuYXBwZW5kQ2hpbGQocyksamkoZSx0KTt2YXIgbD1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctYm9keSIpO2wuaW5uZXJIVE1MPSIiLGwuY2xhc3NMaXN0LnJlbW92ZSgia2luZC10ZXh0Iiwia2luZC1pbWFnZSIsImtpbmQtcGRmIiwia2luZC12aWRlbyIsImtpbmQtYXVkaW8iLCJraW5kLWJpbmFyeSIpLGwuY2xhc3NMaXN0LmFkZCgia2luZC0iKyh0LmtpbmR8fCJ0ZXh0IikpLHQua2luZD09PSJpbWFnZSI/SmwobCx0KTp0LmtpbmQ9PT0icGRmIj9ZbChsLHQpOnQua2luZD09PSJ2aWRlbyI/R2wobCx0KTp0LmtpbmQ9PT0iYXVkaW8iP1FsKGwsdCk6dC5raW5kPT09ImJpbmFyeSI/JGwobCx0KTp0Lmxhbmc9PT0ibWFya2Rvd24ifHwvXC4obWR8bWFya2Rvd258bWR4KSQvaS50ZXN0KHQubmFtZXx8IiIpP2wuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtYXJrZG93bi1wcmV2aWV3Ij4nK3RjKHQuY29udGVudHx8IiIpKyI8L2Rpdj4iOktsKGwsdCl9ZnVuY3Rpb24gS2woZSx0KXt2YXIgcj1JdSh0LmNvbnRlbnR8fCIiLHQubGFuZyksaT1yLnNwbGl0KGAKYCksYT1pLm1hcChmdW5jdGlvbih1LHMpe3JldHVybiBzKzF9KTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iY29kZS1wcmV2aWV3LXdyYXBwZXIiPjxkaXYgY2xhc3M9ImNvZGUtcHJldmlldy1saW5lcyI+JythLmpvaW4oYApgKSsnPC9kaXY+PGRpdiBjbGFzcz0iY29kZS1wcmV2aWV3LWNvbnRlbnQiPjxwcmU+JytpLmpvaW4oYApgKSsiPC9wcmU+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBKbChlLHQpe3ZhciByPSIvYXBpL2ZpbGUtcmF3P3BhdGg9IitlbmNvZGVVUklDb21wb25lbnQodC5wYXRoKTtlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iaW1hZ2UtcHJldmlldy13cmFwcGVyIj48aW1nIGNsYXNzPSJpbWFnZS1wcmV2aWV3LWltZyIgc3JjPSInK3IrJyIgYWx0PSInK3AodC5uYW1lKSsnIiAvPjwvZGl2Pic7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtcHJldmlldy1pbWciKTtpZihpKXt2YXIgYT0hMTtpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2E9IWEsaS5jbGFzc0xpc3QudG9nZ2xlKCJ6b29tZWQiLGEpfSl9fWZ1bmN0aW9uIFlsKGUsdCl7dmFyIHI9Ii9hcGkvZmlsZS1yYXc/cGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8aWZyYW1lIGNsYXNzPSJwZGYtcHJldmlldy1mcmFtZSIgc3JjPSInK3IrJyIgdGl0bGU9IicrcCh0Lm5hbWUpKyciPjwvaWZyYW1lPid9ZnVuY3Rpb24gR2woZSx0KXt2YXIgcj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctd3JhcHBlciI+PHZpZGVvIGNsYXNzPSJtZWRpYS1wcmV2aWV3LXZpZGVvIiBjb250cm9scyBwcmVsb2FkPSJtZXRhZGF0YSIgc3JjPSInK3IrJyI+XHU2MEE4XHU3Njg0XHU2RDRGXHU4OUM4XHU1NjY4XHU0RTBEXHU2NTJGXHU2MzAxIHZpZGVvIFx1NjgwN1x1N0I3RVx1MzAwMjwvdmlkZW8+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1tZXRhIj4nK3AoTG4odC5zaXplKSkrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gUWwoZSx0KXt2YXIgcj0iL2FwaS9maWxlLXJhdz9wYXRoPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQucGF0aCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9Im1lZGlhLXByZXZpZXctd3JhcHBlciBhdWRpbyI+PGRpdiBjbGFzcz0ibWVkaWEtcHJldmlldy1pY29uIj5cdXsxRjNCNX08L2Rpdj48ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LW5hbWUiPicrcCh0Lm5hbWUpKyc8L2Rpdj48YXVkaW8gY2xhc3M9Im1lZGlhLXByZXZpZXctYXVkaW8iIGNvbnRyb2xzIHByZWxvYWQ9Im1ldGFkYXRhIiBzcmM9IicrcisnIj5cdTYwQThcdTc2ODRcdTZENEZcdTg5QzhcdTU2NjhcdTRFMERcdTY1MkZcdTYzMDEgYXVkaW8gXHU2ODA3XHU3QjdFXHUzMDAyPC9hdWRpbz48ZGl2IGNsYXNzPSJtZWRpYS1wcmV2aWV3LW1ldGEiPicrcChMbih0LnNpemUpKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiAkbChlLHQpe3ZhciByPSIvYXBpL2ZpbGUtcmF3P2Rvd25sb2FkPTEmcGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpO2UuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1jYXJkIj48ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1pY29uIj5cdXsxRjRFNn08L2Rpdj48ZGl2IGNsYXNzPSJiaW5hcnktcHJldmlldy1uYW1lIj4nK3AodC5uYW1lKSsnPC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctbWV0YSI+PHNwYW4+JytwKCh0LmV4dHx8IiIpLnJlcGxhY2UoL15cLi8sIiIpfHwiXHU2NzJBXHU3N0U1XHU2ODNDXHU1RjBGIikrIjwvc3Bhbj48c3Bhbj5ceEI3PC9zcGFuPjxzcGFuPiIrcChMbih0LnNpemUpKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LXBhdGgiIHRpdGxlPSInK3AodC5wYXRoKSsnIj4nK3AodC5wYXRoKSsnPC9kaXY+PGRpdiBjbGFzcz0iYmluYXJ5LXByZXZpZXctYWN0aW9ucyI+PGEgY2xhc3M9ImJpbmFyeS1wcmV2aWV3LWJ0biIgaHJlZj0iJytyKyciIGRvd25sb2FkPSInK3AodC5uYW1lKSsnIj5cdTRFMEJcdThGN0RcdTY1ODdcdTRFRjY8L2E+PGJ1dHRvbiBjbGFzcz0iYmluYXJ5LXByZXZpZXctYnRuIiB0eXBlPSJidXR0b24iIGRhdGEtYWN0aW9uPSJ2aWV3LWNhdCI+XHU1NzI4XHU3RUM4XHU3QUVGXHU0RTJEXHU2N0U1XHU3NzBCPC9idXR0b24+PC9kaXY+PC9kaXY+Jzt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWFjdGlvbj0idmlldy1jYXQiXScpO2kmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7SGkoJ2NhdCAtLSAiJyt0LnBhdGgrJyInKSYmRnQoIlx1NTQ3RFx1NEVFNFx1NURGMlx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiIpfSl9ZnVuY3Rpb24gamkoZSx0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctdG9vbGJhciIpO2lmKHIpe2lmKHIuaW5uZXJIVE1MPSIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLHEmJnEuZWRpdGluZyl7ci5jbGFzc0xpc3QuYWRkKCJlZGl0aW5nIiksdXIoZSx0KTtyZXR1cm59dmFyIGk9W107dC5raW5kPT09InRleHQiJiZpLnB1c2goe2xhYmVsOiJcdTdGMTZcdThGOTFcdTY1ODdcdTRFRjYgKEUpIixpY29uOkxlKCJlZGl0IikscHJpbWFyeTohMCxhY3Rpb246ZnVuY3Rpb24oKXtYbCgpfX0pLGkucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIsaWNvbjpMZSgiY2xpcGJvYXJkIiksYWN0aW9uOmZ1bmN0aW9uKCl7UnIodC5wYXRoKS50aGVuKGZ1bmN0aW9uKCl7RnQoIlx1NURGMlx1NTkwRFx1NTIzNlx1OERFRlx1NUY4NCIpfSl9fSksaS5wdXNoKHtsYWJlbDoiXHU3Qzk4XHU4RDM0XHU1MjMwXHU4RjkzXHU1MTY1XHU2ODQ2IixpY29uOkxlKCJzZW5kLXRvLWlucHV0IiksYWN0aW9uOmZ1bmN0aW9uKCl7SGkodC5wYXRoKSYmRnQoIlx1NURGMlx1N0M5OFx1OEQzNFx1NTIzMFx1OEY5M1x1NTE2NVx1Njg0NiIpfX0pLGkucHVzaCh7bGFiZWw6Ilx1NEUwQlx1OEY3RCIsaWNvbjpMZSgiZG93bmxvYWQiKSxhY3Rpb246ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5ocmVmPSIvYXBpL2ZpbGUtcmF3P2Rvd25sb2FkPTEmcGF0aD0iK2VuY29kZVVSSUNvbXBvbmVudCh0LnBhdGgpLGEuZG93bmxvYWQ9dC5uYW1lfHwiIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpLGEuY2xpY2soKSxhLnJlbW92ZSgpfX0pLHQua2luZD09PSJ0ZXh0IiYmKGkucHVzaCh7bGFiZWw6Ilx1NTkwRFx1NTIzNlx1NTE2OFx1OTBFOFx1NTE4NVx1NUJCOSIsaWNvbjpMZSgiY29weSIpLGFjdGlvbjpmdW5jdGlvbigpe1JyKHQuY29udGVudHx8IiIpLnRoZW4oZnVuY3Rpb24oKXtGdCgiXHU1REYyXHU1OTBEXHU1MjM2XHU1MTg1XHU1QkI5Iil9KX19KSxpLnB1c2goe2xhYmVsOiJcdTUyMDdcdTYzNjJcdTgxRUFcdTUyQThcdTYzNjJcdTg4NEMiLGljb246TGUoIndyYXAtdGV4dCIpLHRvZ2dsZUNsYXNzOiJ0b29sYmFyLWFjdGl2ZSIsZ2V0SW5pdGlhbDpmdW5jdGlvbigpe3ZhciBhPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtcHJldmlldy1jb250ZW50IHByZSIpO3JldHVybiBhJiZhLmNsYXNzTGlzdC5jb250YWlucygid3JhcCIpfSxhY3Rpb246ZnVuY3Rpb24oYSl7dmFyIHU9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgid3JhcCIpLGEuY2xhc3NMaXN0LnRvZ2dsZSgidG9vbGJhci1hY3RpdmUiLHUuY2xhc3NMaXN0LmNvbnRhaW5zKCJ3cmFwIikpKX19KSxpLnB1c2goe2tpbmQ6Imdyb3VwIixjbGFzc05hbWU6InRvb2xiYXItZ3JvdXAtZm9udHNpemUiLGNoaWxkcmVuOlt7bGFiZWw6Ilx1N0YyOVx1NUMwRlx1NUI1N1x1NTNGNyIsaWNvbjpMZSgibWludXMiKSxhY3Rpb246ZnVuY3Rpb24oKXtTdShlLC0xKX19LHtraW5kOiJsYWJlbCIsaWNvbjpMZSgidHlwZSIpLGxhYmVsOiJcdTVCNTdcdTUzRjcifSx7bGFiZWw6Ilx1NjUzRVx1NTkyN1x1NUI1N1x1NTNGNyIsaWNvbjpMZSgicGx1cyIpLGFjdGlvbjpmdW5jdGlvbigpe1N1KGUsMSl9fV19KSksRHUocixpLGUpfX1mdW5jdGlvbiBEdShlLHQscil7dC5mb3JFYWNoKGZ1bmN0aW9uKGkpe2lmKGkua2luZD09PSJncm91cCIpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1ncm91cCIrKGkuY2xhc3NOYW1lPyIgIitpLmNsYXNzTmFtZToiIiksaS5jaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHUua2luZD09PSJsYWJlbCIpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmNsYXNzTmFtZT0iZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXBsYWJlbCIscy50aXRsZT11LmxhYmVsfHwiIixzLmlubmVySFRNTD11Lmljb258fCIiLGEuYXBwZW5kQ2hpbGQocyk7cmV0dXJufWEuYXBwZW5kQ2hpbGQoa3UodSkpfSksZS5hcHBlbmRDaGlsZChhKTtyZXR1cm59ZS5hcHBlbmRDaGlsZChrdShpKSl9KX1mdW5jdGlvbiBrdShlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTtyZXR1cm4gdC50eXBlPSJidXR0b24iLHQuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctdG9vbGJhci1idG4iLGUucHJpbWFyeSYmdC5jbGFzc0xpc3QuYWRkKCJwcmltYXJ5IiksZS5kYW5nZXImJnQuY2xhc3NMaXN0LmFkZCgiZGFuZ2VyIiksdC50aXRsZT1lLmxhYmVsLHQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlLmxhYmVsKSx0LmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InRvb2xiYXItaWNvbiI+JysoZS5pY29ufHwiIikrIjwvc3Bhbj4iKyhlLnRleHQ/JzxzcGFuIGNsYXNzPSJ0b29sYmFyLXRleHQiPicrcChlLnRleHQpKyI8L3NwYW4+IjoiIiksZS5nZXRJbml0aWFsJiZlLmdldEluaXRpYWwoKSYmdC5jbGFzc0xpc3QuYWRkKCJ0b29sYmFyLWFjdGl2ZSIpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCksdHlwZW9mIGUuYWN0aW9uPT0iZnVuY3Rpb24iJiZlLmFjdGlvbih0KX0pLHR9ZnVuY3Rpb24gdXIoZSx0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctdG9vbGJhciIpO2lmKHIpe3IuaW5uZXJIVE1MPSIiO3ZhciBpPXEmJnEuc2F2aW5nLGE9W3tsYWJlbDoiXHU0RkREXHU1QjU4IChDdHJsK1MpIixpY29uOkxlKCJzYXZlIiksdGV4dDoiXHU0RkREXHU1QjU4IixwcmltYXJ5OiEwLGFjdGlvbjpmdW5jdGlvbigpe3h1KCl9fSx7bGFiZWw6Ilx1NjRBNFx1OTUwMFx1NjUzOVx1NTJBOCIsaWNvbjpMZSgicm90YXRlLWNjdyIpLGFjdGlvbjpmdW5jdGlvbigpe1psKCl9fSx7bGFiZWw6Ilx1OTAwMFx1NTFGQVx1N0YxNlx1OEY5MSAoRXNjKSIsaWNvbjpMZSgieCIpLGFjdGlvbjpmdW5jdGlvbigpe0F1KCl9fV07RHUocixhLGUpLGkmJnIucXVlcnlTZWxlY3RvckFsbCgiLmZpbGUtcHJldmlldy10b29sYmFyLWJ0biIpLmZvckVhY2goZnVuY3Rpb24odSl7dS5kaXNhYmxlZD0hMH0pfX1mdW5jdGlvbiBYbCgpe2lmKCEoIXF8fCFxLmRhdGEpKXt2YXIgZT1xLmRhdGE7aWYoZS5raW5kPT09InRleHQiKXtxLmVkaXRpbmc9ITAscS5kaXJ0eT0hMSxxLm9yaWdpbmFsQ29udGVudD1lLmNvbnRlbnR8fCIiO3ZhciB0PXEub3ZlcmxheSxyPXQucXVlcnlTZWxlY3RvcigiLmZpbGUtcHJldmlldy1ib2R5Iik7aWYocil7ci5jbGFzc0xpc3QuYWRkKCJlZGl0aW5nIiksci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImNvZGUtZWRpdG9yLXdyYXBwZXIiPjx0ZXh0YXJlYSBjbGFzcz0iY29kZS1lZGl0b3ItdGV4dGFyZWEiIHNwZWxsY2hlY2s9ImZhbHNlIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgd3JhcD0ib2ZmIj48L3RleHRhcmVhPjwvZGl2Pic7dmFyIGk9ci5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTtpJiYoaS52YWx1ZT1lLmNvbnRlbnR8fCIiLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7dmFyIGE9aS52YWx1ZSE9PShxLm9yaWdpbmFsQ29udGVudHx8IiIpO2EhPT1xLmRpcnR5JiYocS5kaXJ0eT1hLHNyKCkpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihhKXtpZihhLmtleT09PSJUYWIiKXthLnByZXZlbnREZWZhdWx0KCk7dmFyIHU9aS5zZWxlY3Rpb25TdGFydCxzPWkuc2VsZWN0aW9uRW5kLG89IiAgIjtpLnZhbHVlPWkudmFsdWUuc2xpY2UoMCx1KStvK2kudmFsdWUuc2xpY2UocyksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD11K28ubGVuZ3RoLGkuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpfX0pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmZvY3VzKCksaS5zZXRTZWxlY3Rpb25SYW5nZSgwLDApLGkuc2Nyb2xsVG9wPTB9LDMwKSksamkodCxlKSxzcigpfX19fWZ1bmN0aW9uIEF1KCl7aWYoISghcXx8IXEuZWRpdGluZykpe3ZhciBlPWZ1bmN0aW9uKCl7cS5lZGl0aW5nPSExLHEuZGlydHk9ITE7dmFyIHQ9cS5vdmVybGF5LHI9dC5xdWVyeVNlbGVjdG9yKCIuZmlsZS1wcmV2aWV3LWJvZHkiKTtyJiZyLmNsYXNzTGlzdC5yZW1vdmUoImVkaXRpbmciKSxCdSh0LHEuZGF0YSksc3IoKX07aWYocS5kaXJ0eSYmdHlwZW9mIG5uPT0iZnVuY3Rpb24iKXtubih7dHlwZToid2FybmluZyIsdGl0bGU6Ilx1NjUzRVx1NUYwM1x1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NEZFRVx1NjUzOVx1RkYxRiIsbWVzc2FnZToiXHU1RjUzXHU1MjREXHU2NTg3XHU0RUY2XHU2NzA5XHU2NzJBXHU0RkREXHU1QjU4XHU3Njg0XHU2NTM5XHU1MkE4XHVGRjBDXHU5MDAwXHU1MUZBXHU3RjE2XHU4RjkxXHU1NDBFXHU0RjFBXHU0RTIyXHU1OTMxXHUzMDAyIixidXR0b25zOlt7bGFiZWw6Ilx1N0VFN1x1N0VFRFx1N0YxNlx1OEY5MSIsdmFsdWU6ITEsa2luZDoiZ2hvc3QifSx7bGFiZWw6Ilx1NjUzRVx1NUYwM1x1NEZFRVx1NjUzOSIsdmFsdWU6ITAsa2luZDoiZGFuZ2VyIixhdXRvZm9jdXM6ITB9XSxjYW5jZWxWYWx1ZTohMX0pLnRoZW4oZnVuY3Rpb24odCl7dCYmZSgpfSk7cmV0dXJufWUoKX19ZnVuY3Rpb24gWmwoKXtpZighKCFxfHwhcS5lZGl0aW5nKSl7dmFyIGU9cS5vdmVybGF5LHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTt0JiYodC52YWx1ZT1xLm9yaWdpbmFsQ29udGVudHx8IiIscS5kaXJ0eT0hMSxzcigpLHQuZm9jdXMoKSl9fWZ1bmN0aW9uIHh1KCl7aWYoISghcXx8IXEuZWRpdGluZykmJiFxLnNhdmluZyl7dmFyIGU9cS5vdmVybGF5LHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3ItdGV4dGFyZWEiKTtpZih0KXt2YXIgcj10LnZhbHVlO2lmKHI9PT0ocS5vcmlnaW5hbENvbnRlbnR8fCIiKSl7RnQoIlx1NkNBMVx1NjcwOVx1NjUzOVx1NTJBOCIpO3JldHVybn1xLnNhdmluZz0hMCx1cihlLHEuZGF0YSksZmV0Y2goIi9hcGkvZmlsZS13cml0ZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3BhdGg6cS5wYXRoLGNvbnRlbnQ6cn0pfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCkudGhlbihmdW5jdGlvbihhKXtyZXR1cm57b2s6aS5vayxzdGF0dXM6aS5zdGF0dXMsZGF0YTphfX0pfSkudGhlbihmdW5jdGlvbihpKXtpZihxLnNhdmluZz0hMSwhaS5va3x8aS5kYXRhJiZpLmRhdGEuZXJyb3Ipe3ZhciBhPWkuZGF0YSYmaS5kYXRhLmVycm9yfHwiXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1ICgiK2kuc3RhdHVzKyIpIjtGdChhKSx1cihlLHEuZGF0YSk7cmV0dXJufWlmKHEuZGF0YS5jb250ZW50PXIscS5kYXRhLnNpemU9aS5kYXRhJiZpLmRhdGEuc2l6ZXx8ci5sZW5ndGgscS5vcmlnaW5hbENvbnRlbnQ9cixxLmRpcnR5PSExLEZ0KCJcdTVERjJcdTRGRERcdTVCNTgiKSxzcigpLHVyKGUscS5kYXRhKSx0eXBlb2YgTXQ9PSJmdW5jdGlvbiIpdHJ5e010KCl9Y2F0Y2h7fX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3Euc2F2aW5nPSExLEZ0KCJcdTRGRERcdTVCNThcdTU5MzFcdThEMjVcdUZGMUEiKyhpJiZpLm1lc3NhZ2U/aS5tZXNzYWdlOiJcdTdGNTFcdTdFRENcdTk1MTlcdThCRUYiKSksdXIoZSxxLmRhdGEpfSl9fX1mdW5jdGlvbiBzcigpe2lmKHEpe3ZhciBlPXEub3ZlcmxheTtpZihlKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctbmFtZS1yb3ciKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXByZXZpZXctZGlydHkiKTtpZihxLmRpcnR5KXtpZighcil7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2kuY2xhc3NOYW1lPSJmaWxlLXByZXZpZXctZGlydHkiLGkudGl0bGU9Ilx1NjcwOVx1NjcyQVx1NEZERFx1NUI1OFx1NzY4NFx1NEZFRVx1NjUzOSIsaS50ZXh0Q29udGVudD0iXHUyNUNGIFx1NjcyQVx1NEZERFx1NUI1OCIsdC5hcHBlbmRDaGlsZChpKX19ZWxzZSByJiZyLnJlbW92ZSgpfX19fWZ1bmN0aW9uIFN1KGUsdCl7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1wcmV2aWV3LWNvbnRlbnQgcHJlIiksaT1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLXByZXZpZXctbGluZXMiKTtpZihyKXt2YXIgYT1wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUocikuZm9udFNpemUpfHwxMyx1PU1hdGgubWF4KDEwLE1hdGgubWluKDIyLGErdCkpO3Iuc3R5bGUuZm9udFNpemU9dSsicHgiLGkmJihpLnN0eWxlLmZvbnRTaXplPXUrInB4Iil9fWZ1bmN0aW9uIEl1KGUsdCl7dmFyIHI9ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IiksaT1lYygpO2lmKCFpKXJldHVybiByO3ZhciBhPVtdO2Zvcih2YXIgdSBpbiBpKXt2YXIgcz1pW3VdO3MmJnMucGF0dGVybiYmYS5wdXNoKHtwYXR0ZXJuOnMucGF0dGVybixjbHM6cy5jbHMscHJpb3JpdHk6cy5wcmlvcml0eXx8NX0pfWEuc29ydChmdW5jdGlvbihjLGQpe3JldHVybiBkLnByaW9yaXR5LWMucHJpb3JpdHl9KTt2YXIgbz1hLm1hcChmdW5jdGlvbihjKXtyZXR1cm4iKCIrYy5wYXR0ZXJuLnNvdXJjZSsiKSJ9KSxsPW5ldyBSZWdFeHAoby5qb2luKCJ8IiksImdtIik7cmV0dXJuIHIucmVwbGFjZShsLGZ1bmN0aW9uKGMpe2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZj1hW2RdLHY9bmV3IFJlZ0V4cCgiXiIrZi5wYXR0ZXJuLnNvdXJjZSsiJCIsImdtIik7aWYodi50ZXN0KGMpKXJldHVybic8c3BhbiBjbGFzcz0iJytmLmNscysnIj4nK2MrIjwvc3Bhbj4ifXJldHVybiBjfSl9ZnVuY3Rpb24gZWMoKXtyZXR1cm57Y29tbWVudDp7cGF0dGVybjovXC9cLy4qfCNbXlxuXSoveSxjbHM6InN5bnRheC1jb21tZW50Iixwcmlvcml0eToxfSxzdHJpbmc6e3BhdHRlcm46LyIoPzpbXiJcXF18XFwuKSoifCcoPzpbXidcXF18XFwuKSonfGAoPzpbXmBcXF18XFwuKSpgL3ksY2xzOiJzeW50YXgtc3RyaW5nIixwcmlvcml0eToyfSxrZXl3b3JkOntwYXR0ZXJuOi9cYig/OmFzeW5jfGF3YWl0fGJyZWFrfGNhc2V8Y2F0Y2h8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVidWdnZXJ8ZGVjbGFyZXxkZWZhdWx0fGRlbGV0ZXxkb3xlbHNlfGVudW18ZXhwb3J0fGV4dGVuZHN8ZmluYWxseXxmb3J8ZnJvbXxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG1vZHVsZXxuYW1lc3BhY2V8bmV3fG51bGx8b2Z8b3ZlcnJpZGV8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRyeXx0eXBlfHR5cGVvZnx1bmRlZmluZWR8dmFyfHZvaWR8d2hpbGV8eWllbGR8YWJzdHJhY3R8YXN8YmFzZXxib29sfGJ5dGV8Y2hhcnxkZWNpbWFsfGRvdWJsZXxldmVudHxleHBsaWNpdHxleHRlcm58ZmFsc2V8Zml4ZWR8ZmxvYXR8Zm9yZWFjaHxnb3RvfGltcGxpY2l0fGlufGludHxpbnRlcm5hbHxpc3xsb2NrfGxvbmd8b2JqZWN0fG9wZXJhdG9yfG91dHxwYXJhbXN8cGFydGlhbHxyZWFkb25seXxyZWZ8c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0cmluZ3xzdHJ1Y3R8c3dpdGNofHRocm93fHRydWV8dHJ5fHVpbnR8dWxvbmd8dW5jaGVja2VkfHVuc2FmZXx1c2hvcnR8dXNpbmd8dmlydHVhbHx2b2xhdGlsZXx3aGVyZXx3aGlsZXx3aXRofHlpZWxkfGRlZnxlbGlmfGVsc2V8ZXhjZXB0fGV4ZWN8ZmluYWxseXxmb3J8ZnJvbXxnbG9iYWx8aWZ8aW1wb3J0fGxhbWJkYXxub25sb2NhbHxub3R8b3J8cGFzc3xwcmludHxyYWlzZXxyZXR1cm58dHJ5fHdoaWxlfHdpdGh8eWllbGR8VHJ1ZXxGYWxzZXxOb25lfGFuZHxpbnxpc3xsYW1iZGF8bm90fG9yfGZufHB1Ynx1c2V8bW9kfGltcGx8dHJhaXR8c3RydWN0fGVudW18bWF0Y2h8bG9vcHx3aGlsZXxmb3J8aWZ8ZWxzZXxyZXR1cm58c2VsZnxzdXBlcnxjcmF0ZXx3aGVyZXxhc3luY3xhd2FpdHxtb3ZlfHJlZnxtdXR8c3RhdGljfGNvbnN0fHVuc2FmZXxleHRlcm58dXNlfGFzfGltcGx8c3RydWN0fGVudW18dHlwZXxmbnxsZXR8bG9vcHxpZnxlbHNlfG1hdGNofHJldHVybnxzZWxmfFNlbGZ8bW9kfHB1YnxjcmF0ZXxtYWNyb3xkZXJpdmV8d2hlcmV8YXN5bmN8YXdhaXR8ZHlufHNlbGZ8cGFja2FnZXxmdW5jfGdvfHJldHVybnxkZWZlcnxnb3xpZnxlbHNlfHN3aXRjaHxjYXNlfGRlZmF1bHR8Zm9yfHJhbmdlfHNlbGVjdHxicmVha3xjb250aW51ZXxmYWxsdGhyb3VnaHxjb25zdHxzdHJ1Y3R8ZW51bXx0eXBlfGludGVyZmFjZXxtYXB8Y2hhbnx2YXJ8bmlsfHRydWV8ZmFsc2V8aW90YXxsZW58Y2FwfGFwcGVuZHxtYWtlfG5ld3xwYW5pY3xyZWNvdmVyfHNlbGVjdHxlbHNlfGlmfGVsaWZ8ZW5kfGZvcnxmdW5jdGlvbnxpZnxpbnxsb2NhbHxuaWx8bm90fG9yfHJlcGVhdHxyZXR1cm58dGhlbnx0cnVlfHVudGlsfHdoaWxlfGVuZHxhbmR8YmVnaW58ZG98ZW5kfGZhbHNlfGZvcnxmdW5jdGlvbnxpZnxpbnxsb2NhbHxuaWx8bm90fG9yfHJlcGVhdHxyZXR1cm58dGhlbnx0cnVlfHVudGlsfHdoaWxlKVxiL3ksY2xzOiJzeW50YXgta2V5d29yZCIscHJpb3JpdHk6M30sbnVtYmVyOntwYXR0ZXJuOi9cYig/OjB4W1xkYS1mQS1GXSt8MGJbMDFdK3wwb1swLTddK3xcZCtcLj9cZCooPzplWystXT9cZCspPylcYi95LGNsczoic3ludGF4LW51bWJlciIscHJpb3JpdHk6Mn0sZnVuY3Rpb246e3BhdHRlcm46L1xiW0EtWl1bYS16QS1aMC05XSpbYS16XVx3Kig/PVxzKlwoKS95LGNsczoic3ludGF4LWZ1bmN0aW9uIixwcmlvcml0eTo0fSx0eXBlOntwYXR0ZXJuOi9cYig/OnN0cmluZ3xudW1iZXJ8Ym9vbGVhbnx2b2lkfGFueXx1bmtub3dufG5ldmVyfG9iamVjdHxzeW1ib2x8YmlnaW50fEFycmF5fE9iamVjdHxTdHJpbmd8TnVtYmVyfEJvb2xlYW58TWFwfFNldHxXZWFrTWFwfFdlYWtTZXR8UHJvbWlzZXxFcnJvcnxUeXBlfEludGVyZmFjZXxFbnVtfENsYXNzfFN0cnVjdHxJbXBsfFRyYWl0fGZufGZuY3xmdW5jfGZ1bmN0aW9ufGRlZnxwcm9jfGZ1bnxwdWJ8c3RhdGljfGNvbnN0fGxldHx2YXJ8aW50fGZsb2F0fGRvdWJsZXxib29sfGNoYXJ8Ynl0ZXxzdHJpbmd8dTh8dTE2fHUzMnx1NjR8aTh8aTE2fGkzMnxpNjR8ZjMyfGY2NHx1c2l6ZXxpc2l6ZXxzdHJ8VmVjfEhhc2hNYXB8T3B0aW9ufFJlc3VsdHxCb3h8UmN8QXJjfENlbGx8UmVmQ2VsbClcYi95LGNsczoic3ludGF4LXR5cGUiLHByaW9yaXR5OjR9LG9wZXJhdG9yOntwYXR0ZXJuOi9bK1wtKi8lPTw+ISZ8Xn4/Ol0rfFwuXC5cLj8veSxjbHM6InN5bnRheC1vcGVyYXRvciIscHJpb3JpdHk6NX0scHVuY3R1YXRpb246e3BhdHRlcm46L1t7fVtcXSgpOyxcLl0veSxjbHM6InN5bnRheC1wdW5jdHVhdGlvbiIscHJpb3JpdHk6Nn19fWZ1bmN0aW9uIHRjKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PXAoZSk7dD10LnJlcGxhY2UoL2BgYChcdyopXG4oW1xzXFNdKj8pYGBgL2csZnVuY3Rpb24oaSxhLHUpe3ZhciBzPUl1KHUudHJpbSgpLGEpLG89cy5yZXBsYWNlKC9fL2csIiYjOTU7IikucmVwbGFjZSgvXCovZywiJiM0MjsiKTtyZXR1cm4nPHByZT48Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtJythKyciPicrbysiPC9jb2RlPjwvcHJlPiJ9KSx0PXQucmVwbGFjZSgvYChbXmBdKylgL2csZnVuY3Rpb24oaSxhKXtyZXR1cm4iPGNvZGU+IithLnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpKyI8L2NvZGU+In0pLHQ9dC5yZXBsYWNlKC9eIyMjIyMjXHMrKC4qKSQvZ20sIjxoNj4kMTwvaDY+IiksdD10LnJlcGxhY2UoL14jIyMjI1xzKyguKikkL2dtLCI8aDU+JDE8L2g1PiIpLHQ9dC5yZXBsYWNlKC9eIyMjI1xzKyguKikkL2dtLCI8aDQ+JDE8L2g0PiIpLHQ9dC5yZXBsYWNlKC9eIyMjXHMrKC4qKSQvZ20sIjxoMz4kMTwvaDM+IiksdD10LnJlcGxhY2UoL14jI1xzKyguKikkL2dtLCI8aDI+JDE8L2gyPiIpLHQ9dC5yZXBsYWNlKC9eI1xzKyguKikkL2dtLCI8aDE+JDE8L2gxPiIpLHQ9dC5yZXBsYWNlKC9cKlwqXCooLis/KVwqXCpcKi9nLCI8c3Ryb25nPjxlbT4kMTwvZW0+PC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqXCooLis/KVwqXCovZywiPHN0cm9uZz4kMTwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC9cKiguKz8pXCovZywiPGVtPiQxPC9lbT4iKSx0PXQucmVwbGFjZSgvKF58W15cd10pX19fKFxTKD86W15cbl0qP1xTKT8pX19fKD8hXHcpL2csIiQxPHN0cm9uZz48ZW0+JDI8L2VtPjwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfXyhcUyg/OlteXG5dKj9cUyk/KV9fKD8hXHcpL2csIiQxPHN0cm9uZz4kMjwvc3Ryb25nPiIpLHQ9dC5yZXBsYWNlKC8oXnxbXlx3XSlfKFxTKD86W15cbl9dKj9cUyk/KV8oPyFcdykvZywiJDE8ZW0+JDI8L2VtPiIpLHQ9dC5yZXBsYWNlKC9+figuKz8pfn4vZywiPGRlbD4kMTwvZGVsPiIpLHQ9dC5yZXBsYWNlKC9cWyhbXlxdXSspXF1cKChbXildKylcKS9nLCc8YSBocmVmPSIkMiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiQxPC9hPicpLHQ9dC5yZXBsYWNlKC8hXFsoW15cXV0qKVxdXCgoW14pXSspXCkvZywnPGltZyBzcmM9IiQyIiBhbHQ9IiQxIj4nKSx0PXQucmVwbGFjZSgvXiZndDtccysoLiopJC9nbSwiPGJsb2NrcXVvdGU+JDE8L2Jsb2NrcXVvdGU+IiksdD10LnJlcGxhY2UoL14tLS0rJC9nbSwiPGhyPiIpLHQ9dC5yZXBsYWNlKC9eXCpcKlwqKyQvZ20sIjxocj4iKSx0PXQucmVwbGFjZSgvXltcLVwqXVxzKyguKikkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC8oPGxpPi4qPFwvbGk+XG4/KSsvZywiPHVsPiQmPC91bD4iKSx0PXQucmVwbGFjZSgvXlxkK1wuXHMrKC4qKSQvZ20sIjxsaT4kMTwvbGk+IiksdD1Tbyh0KTt2YXIgcj10LnNwbGl0KC9cbnsyLH0vKTtyZXR1cm4gdD1yLm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaT1pLnRyaW0oKSxpPy9ePChoWzEtNl18dWx8b2x8bGl8YmxvY2txdW90ZXxwcmV8dGFibGV8aHJ8ZGl2KS8udGVzdChpKT9pOiI8cD4iK2kucmVwbGFjZSgvXG4vZywiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oYApgKSx0fWZ1bmN0aW9uIFR1KCl7aWYoIW4uc2VsZWN0ZWRJZHx8IW4uZ2l0U3RhdHVzfHwhbi5naXRTdGF0dXMuaXNHaXR8fG4uZ2l0U3RhdHVzU2Vzc2lvbklkIT09bi5zZWxlY3RlZElkKXJldHVybiIiO3ZhciBlPW4uZ2l0U3RhdHVzLmJyYW5jaHx8Ij8iLHQ9bi5naXRTdGF0dXMubW9kaWZpZWRDb3VudHx8MCxyPWUrKHQ/IiAgXHhCNyAgIit0KyIgXHU0RTJBXHU2NTg3XHU0RUY2XHU1Rjg1XHU2M0QwXHU0RUE0IjoiICBceEI3ICBcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzAiKTtyZXR1cm4nPGJ1dHRvbiBpZD0idG9wYmFyLWdpdC1iYWRnZSIgY2xhc3M9InRvcGJhci1naXQtYmFkZ2UiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9IicrcChyKSsnIiBhcmlhLWxhYmVsPSJcdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQiPjxzdmcgY2xhc3M9InRvcGJhci1naXQtaWNvbiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyIi8+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIyIi8+PGNpcmNsZSBjeD0iMTgiIGN5PSI5IiByPSIyIi8+PHBhdGggZD0iTTYgOHY4Ii8+PHBhdGggZD0iTTE4IDExdjFhMyAzIDAgMCAxLTMgM0g5Ii8+PC9zdmc+PHNwYW4gY2xhc3M9InRvcGJhci1naXQtYnJhbmNoIj4nK3AoZSkrIjwvc3Bhbj4iKyh0PjA/JzxzcGFuIGNsYXNzPSJ0b3BiYXItZ2l0LWNvdW50Ij5ceEI3Jyt0KyI8L3NwYW4+IjonPHNwYW4gY2xhc3M9InRvcGJhci1naXQtY2xlYW4iIGFyaWEtaGlkZGVuPSJ0cnVlIj5cdTI3MTM8L3NwYW4+JykrIjwvYnV0dG9uPiJ9ZnVuY3Rpb24gTmkoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWdpdC1zbG90Iik7aWYoZSl7ZS5pbm5lckhUTUw9VHUoKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWdpdC1iYWRnZSIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHIpe3IucHJldmVudERlZmF1bHQoKSxMdSgpfSl9fWZ1bmN0aW9uIG5jKGUpe2lmKCFlKXJldHVybiIiO3ZhciB0PW4udG9wYmFyTW9yZU9wZW4scj0hIWUuY2xhdWRlU2Vzc2lvbklkLGk9ISFlLmN3ZCxhPWUud29ya3RyZWVFbmFibGVkJiZlLndvcmt0cmVlJiZlLndvcmt0cmVlLmJyYW5jaCYmZS53b3JrdHJlZS5wYXRoLHU9ZS53b3JrdHJlZU1lcmdlU3RhdHVzPT09Im1lcmdlZCImJmUud29ya3RyZWVNZXJnZUluZm8mJmUud29ya3RyZWVNZXJnZUluZm8uY2xlYW51cERvbmU9PT0hMSxzPWUuc3RhdHVzPT09InJ1bm5pbmcifHxlLndvcmt0cmVlTWVyZ2VTdGF0dXM9PT0ibWVyZ2luZyIsbz1hJiZlLndvcmt0cmVlTWVyZ2VTdGF0dXMhPT0ibWVyZ2VkIixsPXUsYz1yfHxpfHwhMCxkPW98fGx8fCEwLGY9Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiLz48cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIi8+PC9zdmc+Jyx2PSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xNy41IDE5YTQuNSA0LjUgMCAxIDAtMS41LTguNzRBNiA2IDAgMSAwIDYgMTRoMTEuNXoiLz48L3N2Zz4nLG09Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6Ii8+PC9zdmc+JyxiPSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSI0IiB5MT0iOSIgeDI9IjIwIiB5Mj0iOSIvPjxsaW5lIHgxPSI0IiB5MT0iMTUiIHgyPSIyMCIgeTI9IjE1Ii8+PGxpbmUgeDE9IjEwIiB5MT0iMyIgeDI9IjgiIHkyPSIyMSIvPjxsaW5lIHgxPSIxNiIgeTE9IjMiIHgyPSIxNCIgeTI9IjIxIi8+PC9zdmc+JyxnPSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDdoMTAiLz48cGF0aCBkPSJNNyAxMmgxMCIvPjxwYXRoIGQ9Ik03IDE3aDEwIi8+PHBhdGggZD0iTTUgN2wtMiAyIDIgMiIvPjxwYXRoIGQ9Ik0xOSAxNWwyIDItMiAyIi8+PC9zdmc+Jyx5PSc8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPicsdz0iIjtpZihyKXt2YXIgRj1lLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHU1OTBEXHU1MjM2IENvZGV4IHRocmVhZCBJRCI6Ilx1NTkwRFx1NTIzNiBDbGF1ZGUgXHU0RjFBXHU4QkREIElEIjt3Kz0nPGJ1dHRvbiBjbGFzcz0idG9wYmFyLW1vcmUtaXRlbSIgZGF0YS1hY3Rpb249ImNvcHktY2xhdWRlLXNlc3Npb24taWQiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrdisiPHNwYW4+IitGKyI8L3NwYW4+PC9idXR0b24+In1pJiYodys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LWN3ZCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+JyttKyI8c3Bhbj5cdTU5MERcdTUyMzZcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTU8L3NwYW4+PC9idXR0b24+Iiksdys9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJjb3B5LXNlc3Npb24taWQiIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrYisiPHNwYW4+XHU1OTBEXHU1MjM2XHU0RjFBXHU4QkREIElEPC9zcGFuPjwvYnV0dG9uPiI7dmFyIEU9IiI7bz9FKz0nPGJ1dHRvbiBjbGFzcz0idG9wYmFyLW1vcmUtaXRlbSIgZGF0YS1hY3Rpb249Indvcmt0cmVlLW1lcmdlIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIicrKHM/IiBkaXNhYmxlZCI6IiIpKyI+IitnKyI8c3Bhbj5cdTU0MDhcdTVFNzZcdTUyMzBcdTRFM0JcdTUyMDZcdTY1MkZcdTIwMjY8L3NwYW4+PC9idXR0b24+IjpsJiYoRSs9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1jbGVhbnVwIiB0eXBlPSJidXR0b24iIHJvbGU9Im1lbnVpdGVtIj4nK2crIjxzcGFuPlx1OTFDRFx1OEJENSB3b3JrdHJlZSBcdTZFMDVcdTc0MDY8L3NwYW4+PC9idXR0b24+IiksRSs9JzxidXR0b24gY2xhc3M9InRvcGJhci1tb3JlLWl0ZW0gdG9wYmFyLW1vcmUtaXRlbS1kYW5nZXIiIGRhdGEtYWN0aW9uPSJkZWxldGUtc2Vzc2lvbiIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbSI+Jyt5KyI8c3Bhbj5cdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQ8L3NwYW4+PC9idXR0b24+Ijt2YXIgQT1jJiZkPyc8ZGl2IGNsYXNzPSJ0b3BiYXItbW9yZS1kaXZpZGVyIiByb2xlPSJzZXBhcmF0b3IiPjwvZGl2Pic6IiI7cmV0dXJuJzxkaXYgY2xhc3M9InRvcGJhci1tb3JlLXdyYXAiPjxidXR0b24gaWQ9InRvcGJhci1tb3JlLWJ1dHRvbiIgY2xhc3M9InRvcGJhci1idG4gc3F1YXJlJysodD8iIGFjdGl2ZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU2NENEXHU0RjVDIiBhcmlhLWhhc3BvcHVwPSJtZW51IiBhcmlhLWV4cGFuZGVkPSInKyh0PyJ0cnVlIjoiZmFsc2UiKSsnIiB0aXRsZT0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU2NENEXHU0RjVDIj48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjUiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxIi8+PC9zdmc+PC9idXR0b24+PGRpdiBpZD0idG9wYmFyLW1vcmUtbWVudSIgY2xhc3M9InRvcGJhci1tb3JlLW1lbnUnKyh0PyIiOiIgaGlkZGVuIikrJyIgcm9sZT0ibWVudSIgYXJpYS1sYWJlbD0iXHU1RjUzXHU1MjREXHU0RjFBXHU4QkREIj4nK3crQStFKyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEVuKGUsdCl7aWYoIWUpcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTt2YXIgcj10JiZ0LmZvcmNlLGk9RGF0ZS5ub3coKTtpZighciYmbi5naXRTdGF0dXNTZXNzaW9uSWQ9PT1lJiZuLmdpdFN0YXR1cyYmaS1uLmdpdFN0YXR1c0xhc3RGZXRjaEF0PDFlMylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG4uZ2l0U3RhdHVzKTtpZihuLmdpdFN0YXR1c0luZmxpZ2h0JiZuLmdpdFN0YXR1c0luZmxpZ2h0LnNlc3Npb25JZD09PWUpcmV0dXJuIG4uZ2l0U3RhdHVzSW5mbGlnaHQucHJvbWlzZTtuLmdpdFN0YXR1c0xvYWRpbmc9ITA7dmFyIGE9ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9naXQtc3RhdHVzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHUub2s/dS5qc29uKCk6e2lzR2l0OiExfX0pLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIG4uZ2l0U3RhdHVzPXV8fHtpc0dpdDohMX0sbi5naXRTdGF0dXNTZXNzaW9uSWQ9ZSxuLmdpdFN0YXR1c0xhc3RGZXRjaEF0PURhdGUubm93KCksTmkoKSx1fSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gbi5naXRTdGF0dXM9e2lzR2l0OiExfSxuLmdpdFN0YXR1c1Nlc3Npb25JZD1lLG4uZ2l0U3RhdHVzTGFzdEZldGNoQXQ9RGF0ZS5ub3coKSxOaSgpLG51bGx9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5naXRTdGF0dXNMb2FkaW5nPSExLG4uZ2l0U3RhdHVzSW5mbGlnaHQmJm4uZ2l0U3RhdHVzSW5mbGlnaHQuc2Vzc2lvbklkPT09ZSYmKG4uZ2l0U3RhdHVzSW5mbGlnaHQ9bnVsbCl9KTtyZXR1cm4gbi5naXRTdGF0dXNJbmZsaWdodD17c2Vzc2lvbklkOmUscHJvbWlzZTphfSxhfXZhciBGbj1udWxsLHduPW51bGwsQW09bnVsbDtmdW5jdGlvbiByYyhlKXtyZXR1cm4gZT09PSJjb21taXQtdGFnInx8ZT09PSJjb21taXQtdGFnLXB1c2gifHxlPT09ImNvbW1pdC1wdXNoIj9lOiJjb21taXQifWZ1bmN0aW9uIGljKGUpe3JldHVybiBlPXJjKGUpLGU9PT0iY29tbWl0LXRhZy1wdXNoIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFRhZyArIFB1c2giLHZlcmI6Ilx1NjNEMFx1NEVBNFx1MzAwMVx1NjI1MyBUYWcgXHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiEwLHB1c2g6ITAsdG9uZToiYWxsIn06ZT09PSJjb21taXQtdGFnIj97YWN0aW9uOmUsbGFiZWw6IkNvbW1pdCArIFRhZyIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2MjUzIFRhZyIsd2l0aFRhZzohMCxwdXNoOiExLHRvbmU6InRhZyJ9OmU9PT0iY29tbWl0LXB1c2giP3thY3Rpb246ZSxsYWJlbDoiQ29tbWl0ICsgUHVzaCIsdmVyYjoiXHU2M0QwXHU0RUE0XHU1RTc2XHU2M0E4XHU5MDAxIix3aXRoVGFnOiExLHB1c2g6ITAsdG9uZToicHVzaCJ9OnthY3Rpb246ImNvbW1pdCIsbGFiZWw6IkNvbW1pdCIsdmVyYjoiXHU0RUM1XHU2M0QwXHU0RUE0Iix3aXRoVGFnOiExLHB1c2g6ITEsdG9uZToiY29tbWl0In19ZnVuY3Rpb24gTHUoKXtpZihuLnNlbGVjdGVkSWQpe24ucXVpY2tDb21taXRPcGVuPSEwLG4ucXVpY2tDb21taXRTdWJtaXR0aW5nPSExLG4ucXVpY2tDb21taXRBdXRvR2VuZXJhdGluZz0hMSxuLnF1aWNrQ29tbWl0RXJyb3I9IiIsbi5xdWlja0NvbW1pdEZvcm09e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0sbi5xdWlja0NvbW1pdFB1c2hpbmc9ITEsbi5xdWlja0NvbW1pdFB1c2hFcnJvcj0iIixuLnF1aWNrQ29tbWl0UmVzdWx0PW51bGwsbi5xdWlja0NvbW1pdERyYWdBY3Rpb249ImNvbW1pdCIsR24oKSxwbigpLFFuKCkscXQoKTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7ZSYmKGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbi5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxGaShlKSksRm4mJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxGbj1mdW5jdGlvbih0KXt0LmtleT09PSJFc2NhcGUiJiZuLnF1aWNrQ29tbWl0T3BlbiYmIW4ucXVpY2tDb21taXRTdWJtaXR0aW5nJiYhbi5xdWlja0NvbW1pdFB1c2hpbmcmJnFuKCl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxFbihuLnNlbGVjdGVkSWQse2ZvcmNlOiEwfSkudGhlbihmdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiZxdCgpfSl9fWZ1bmN0aW9uIHFuKCl7bi5xdWlja0NvbW1pdE9wZW49ITEsbi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc9ITEsbi5xdWlja0NvbW1pdEVycm9yPSIiLG4ucXVpY2tDb21taXRSZXN1bHQ9bnVsbCxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj0iY29tbWl0Ijt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1vZGFsIik7ZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxGbiYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLEZuKSxGbj1udWxsKSx3biYmKHduKCksd249bnVsbCksbi5sYXN0Rm9jdXNlZEVsZW1lbnQmJnR5cGVvZiBuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cz09ImZ1bmN0aW9uIiYmbi5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKX1mdW5jdGlvbiBxdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbW9kYWwiKTtpZihlKXt3biYmKHduKCksd249bnVsbCk7dmFyIHQ9T3UoKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuaW5uZXJIVE1MPXQ7dmFyIGk9ci5xdWVyeVNlbGVjdG9yKCIjcXVpY2stY29tbWl0LW1vZGFsIik7aSYmKGUuaW5uZXJIVE1MPWkuaW5uZXJIVE1MLE11KCkpfX1mdW5jdGlvbiBNdSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtY2xvc2UtYnRuIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscW4pO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtY2FuY2VsLWJ0biIpO3QmJnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHFuKTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LWFpLWJ0biIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG9jKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVpY2stY29tbWl0LW1lc3NhZ2UiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlPWkudmFsdWV9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHMpeyhzLm1ldGFLZXl8fHMuY3RybEtleSkmJnMua2V5PT09IkVudGVyIiYmKHMucHJldmVudERlZmF1bHQoKSxPbigiY29tbWl0IikpfSkpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtdGFnIik7YSYmKGEuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdEZvcm0udGFnPWEudmFsdWUsbi5xdWlja0NvbW1pdEZvcm0udGFnRWRpdGVkPSEwfSksYS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihzKXtzLmtleT09PSJFbnRlciImJihzLnByZXZlbnREZWZhdWx0KCksT24oImNvbW1pdC10YWciKSl9KSk7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1wdXNoLWFmdGVyLWJ0biIpO3UmJnUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHM9bi5xdWlja0NvbW1pdFJlc3VsdHx8e307bGMoe3B1c2hDb21taXRzOiEwLHB1c2hUYWdzOiEhcy50YWdOYW1lLGNsb3NlT25TdWNjZXNzOiEwfSl9KSxzYygpfWZ1bmN0aW9uIGFjKGUpe3ZhciB0PSEhKGUmJmUudGFnKSxyPSEhKGUmJmUucHVzaCk7cmV0dXJuIHQmJnI/ImNvbW1pdC10YWctcHVzaCI6dD8iY29tbWl0LXRhZyI6cj8iY29tbWl0LXB1c2giOiJjb21taXQifXZhciB1Yz01OCxXcj0xMDtmdW5jdGlvbiBxdShlKXtyZXR1cm4gZT09PSJ0YWciP3thY3Rpb246ImNvbW1pdC10YWciLHN1YjohMX06ZT09PSJwdXNoIj97YWN0aW9uOiJjb21taXQtcHVzaCIsc3ViOiExfTplPT09InN1YiI/e2FjdGlvbjoiY29tbWl0IixzdWI6ITB9OnthY3Rpb246ImNvbW1pdCIsc3ViOiExfX1mdW5jdGlvbiBzYygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxYy1kb2NrLWZpZWxkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1zdGFnZSIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stbGF1bmNoIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicWMtZG9jay1jbHVzdGVyIik7aWYoIWV8fCF0fHwhcnx8IWkpcmV0dXJuO3ZhciBhPVsiY29tbWl0IiwidGFnIiwicHVzaCJdLHU9e307aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKEIpe3VbQl09ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jaGlwPSInK0IrJyJdJyl9KSwhdS5jb21taXR8fCF1LnRhZ3x8IXUucHVzaClyZXR1cm47dS5zdWI9ZS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1jaGlwPSJzdWIiXScpO3ZhciBzPSEhdS5zdWIsbz1zP2EuY29uY2F0KFsic3ViIl0pOmE7ZnVuY3Rpb24gbChCKXtyZXR1cm4gdVtCXT91W0JdLm9mZnNldFdpZHRoOjkwfWZ1bmN0aW9uIGMoKXtyZXR1cm4gdS5jb21taXQ/dS5jb21taXQub2Zmc2V0SGVpZ2h0OjM4fWZ1bmN0aW9uIGQoKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA3MjBweCkiKS5tYXRjaGVzfWZ1bmN0aW9uIGYoKXt2YXIgQj1lLmNsaWVudFdpZHRoLFQ9ZS5jbGllbnRIZWlnaHQsST1jKCksVj1sKCJjb21taXQiKSxyZT1sKCJ0YWciKSx0ZT1sKCJwdXNoIik7aWYoZCgpJiZzKXt2YXIgJD1NYXRoLm1heCg4LFQqLjItSS8yKSxpZT1NYXRoLm1pbihULUktOCxUKi43LUkvMiksVT1mdW5jdGlvbih1ZSl7cmV0dXJuIE1hdGgubWF4KDgsQiouMjctdWUvMil9LE09ZnVuY3Rpb24odWUpe3JldHVybiBNYXRoLm1pbihCLXVlLTgsQiouNzMtdWUvMil9O3JldHVybntjb21taXQ6e3g6VShWKSx5OiR9LHRhZzp7eDpNKHJlKSx5OiR9LHB1c2g6e3g6VSh0ZSkseTppZX0sc3ViOnt4Ok0obCgic3ViIikpLHk6aWV9fX12YXIgSD1kKCksTj1IP01hdGgubWF4KDgsVCouMTgtSS8yKTpNYXRoLm1heCg4LFQqLjEyKSxZPUg/TWF0aC5taW4oVC1JLTgsVCouNzItSS8yKTpNYXRoLm1pbihULUktOCxUKi44OC1JKSxLPUg/LjI0Oi4yOCxYPUg/Ljc2Oi43MixhZT17Y29tbWl0Ont4Ok1hdGgubWF4KDgsKEItVikvMikseTpOfSx0YWc6e3g6TWF0aC5tYXgoOCxCKkstcmUvMikseTpZfSxwdXNoOnt4Ok1hdGgubWluKEItdGUtOCxCKlgtdGUvMikseTpZfX07aWYocyl7dmFyIGxlPWwoInN1YiIpO2FlLnN1Yj17eDpNYXRoLm1pbihCLWxlLTgsQiouOTQtbGUvMikseTpNYXRoLm1heCg4LE1hdGgubWluKFQtSS04LChULUkpLzIpKX19cmV0dXJuIGFlfXZhciB2PXt9O2Z1bmN0aW9uIG0oQixULEkpe3VbQl0mJih1W0JdLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKCIrVC50b0ZpeGVkKDEpKyJweCwiK0kudG9GaXhlZCgxKSsicHgpIil9ZnVuY3Rpb24gYihCKXt2PWYoKSxvLmZvckVhY2goZnVuY3Rpb24oVCl7dVtUXS5jbGFzc0xpc3QudG9nZ2xlKCJxYy1jaGlwLS1hbmltIiwhIUIpLG0oVCx2W1RdLngsdltUXS55KX0pfWIoITEpO3ZhciBnPW51bGw7ZnVuY3Rpb24geShCLFQsSSl7dmFyIFY9YygpLHJlPTUsdGU9by5maWx0ZXIoZnVuY3Rpb24oSCl7cmV0dXJuIEIuaW5kZXhPZihIKT49MH0pLCQ9dGUucmVkdWNlKGZ1bmN0aW9uKEgsTil7cmV0dXJuIEgrbChOKX0sMCkrTWF0aC5tYXgoMCx0ZS5sZW5ndGgtMSkqcmUsaWU9ZS5jbGllbnRIZWlnaHQsVT1ULSQvMixNPU1hdGgubWF4KDIsTWF0aC5taW4oaWUtVi0yLEktVi8yKSk7cmV0dXJuIHRlLmZvckVhY2goZnVuY3Rpb24oSCl7bShILFUsTSksVSs9bChIKStyZX0pLHt4OlQtJC8yLTcseTpNLTcsdzokKzE0LGg6VisxNH19ZnVuY3Rpb24gdyhCKXtpLmNsYXNzTGlzdC5hZGQoImlzLWFjdGl2ZSIpLGkuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitCLngudG9GaXhlZCgxKSsicHgsIitCLnkudG9GaXhlZCgxKSsicHgpIixpLnN0eWxlLndpZHRoPUIudy50b0ZpeGVkKDEpKyJweCIsaS5zdHlsZS5oZWlnaHQ9Qi5oLnRvRml4ZWQoMSkrInB4In1mdW5jdGlvbiBGKCl7aS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1hY3RpdmUiKX1mdW5jdGlvbiBFKEIpe3JldHVybiBhYyh7Y29tbWl0OiEwLHRhZzpCLmluZGV4T2YoInRhZyIpPj0wLHB1c2g6Qi5pbmRleE9mKCJwdXNoIik+PTB9KX1mdW5jdGlvbiBBKEIpe3JldHVybiBCLmluZGV4T2YoInN1YiIpPj0wfWZ1bmN0aW9uIHgoQil7dmFyIFQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInFjLWRvY2stbGF1bmNoLWxhYmVsIik7VCYmKFQudGV4dENvbnRlbnQ9Qil9ZnVuY3Rpb24gUyhCLFQpe3ZhciBJPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIEI+PUkubGVmdCYmQjw9SS5yaWdodCYmVD49SS50b3AmJlQ8PUkuYm90dG9tfWZ1bmN0aW9uIFAoQil7cmV0dXJuIGZ1bmN0aW9uKFQpe2lmKCEodVtCXS5kaXNhYmxlZHx8enIoKSkpe2c9e2FuY2hvcjpCLHBvaW50ZXJJZDpULnBvaW50ZXJJZCxzdGFydFg6VC5jbGllbnRYLHN0YXJ0WTpULmNsaWVudFksbW92ZWQ6ITEsbWVtYmVyczpbQl19LG8uZm9yRWFjaChmdW5jdGlvbihJKXt1W0ldLmNsYXNzTGlzdC5yZW1vdmUoInFjLWNoaXAtLWFuaW0iKX0pLHVbQl0uY2xhc3NMaXN0LmFkZCgiaXMtZ3JhYmJpbmciKTt0cnl7dVtCXS5zZXRQb2ludGVyQ2FwdHVyZShULnBvaW50ZXJJZCl9Y2F0Y2h7fXQuY2xhc3NMaXN0LmFkZCgiaXMtZHJhZ2dpbmciKSxULnByZXZlbnREZWZhdWx0KCl9fX1mdW5jdGlvbiB6KEIpe2lmKCEoIWd8fGcucG9pbnRlcklkIT09Qi5wb2ludGVySWQpKXsoTWF0aC5hYnMoQi5jbGllbnRYLWcuc3RhcnRYKT4zfHxNYXRoLmFicyhCLmNsaWVudFktZy5zdGFydFkpPjMpJiYoZy5tb3ZlZD0hMCk7dmFyIFQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxJPUIuY2xpZW50WC1ULmxlZnQsVj1CLmNsaWVudFktVC50b3A7aWYoYS5mb3JFYWNoKGZ1bmN0aW9uKEgpe2lmKCEoZy5tZW1iZXJzLmluZGV4T2YoSCk+PTApKXt2YXIgTj12W0hdLngrbChIKS8yLFk9dltIXS55K2MoKS8yLEs9SS1OLFg9Vi1ZO01hdGguc3FydChLKksrWCpYKTx1YyYmKGcubWVtYmVycy5wdXNoKEgpLHVbSF0uY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHVbSF0uY2xhc3NMaXN0LmFkZCgiaXMtYXR0YWNoZWQiKSl9fSkscyYmZy5tZW1iZXJzLmluZGV4T2YoInN1YiIpPDApe3ZhciByZT12LnN1Yi54LVdyLHRlPXYuc3ViLnktV3IsJD12LnN1Yi54K2woInN1YiIpK1dyLGllPXYuc3ViLnkrYygpK1dyO0k+PXJlJiZJPD0kJiZWPj10ZSYmVjw9aWUmJihnLm1lbWJlcnMucHVzaCgic3ViIiksdS5zdWIuY2xhc3NMaXN0LnJlbW92ZSgicWMtY2hpcC0tYW5pbSIpLHUuc3ViLmNsYXNzTGlzdC5hZGQoImlzLWF0dGFjaGVkIikpfXZhciBVPXkoZy5tZW1iZXJzLEksViksTT1TKEIuY2xpZW50WCxCLmNsaWVudFkpO3Quc2V0QXR0cmlidXRlKCJkYXRhLWhvdCIsTT8iMSI6IjAiKSx0LnNldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iLEUoZy5tZW1iZXJzKSksZy5tZW1iZXJzLmxlbmd0aD4xP3coVSk6RigpLHgoTT8iXHU2NzdFXHU2MjRCXHU2MjY3XHU4ODRDIjoiXHU2M0QwXHU0RUE0Iil9fWZ1bmN0aW9uIEcoQixUKXtpZighKCFnfHxnLnBvaW50ZXJJZCE9PUIucG9pbnRlcklkKSl7dmFyIEk9ZztnPW51bGwsdC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1kcmFnZ2luZyIpLHQuc2V0QXR0cmlidXRlKCJkYXRhLWhvdCIsIjAiKSx4KCJcdTYzRDBcdTRFQTQiKSxGKCksby5mb3JFYWNoKGZ1bmN0aW9uKHJlKXt1W3JlXS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1ncmFiYmluZyIsImlzLWF0dGFjaGVkIil9KTt0cnl7dVtJLmFuY2hvcl0ucmVsZWFzZVBvaW50ZXJDYXB0dXJlKEkucG9pbnRlcklkKX1jYXRjaHt9aWYoIVQmJiFJLm1vdmVkKXt2YXIgVj1xdShJLmFuY2hvcik7T24oVi5hY3Rpb24sVi5zdWIpO3JldHVybn1pZighVCYmUyhCLmNsaWVudFgsQi5jbGllbnRZKSl7T24oRShJLm1lbWJlcnMpLEEoSS5tZW1iZXJzKSk7cmV0dXJufXQuc2V0QXR0cmlidXRlKCJkYXRhLWFjdGlvbiIsImNvbW1pdCIpLGIoITApfX12YXIgTD1mdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiYhZyYmYighMSl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLEwpLG8uZm9yRWFjaChmdW5jdGlvbihCKXt2YXIgVD11W0JdO1QuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLFAoQikpLFQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHopLFQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixmdW5jdGlvbihJKXtHKEksITEpfSksVC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixmdW5jdGlvbihJKXtHKEksITApfSksVC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmdW5jdGlvbihJKXtpZighKFQuZGlzYWJsZWR8fHpyKCkpJiYoSS5rZXk9PT0iRW50ZXIifHxJLmtleT09PSIgInx8SS5rZXk9PT0iU3BhY2ViYXIiKSl7SS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBWPXF1KEIpO09uKFYuYWN0aW9uLFYuc3ViKX19KX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ci5kaXNhYmxlZHx8enIoKXx8Z3x8T24oImNvbW1pdCIpfSksd249ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixMKSxnPW51bGx9fWZ1bmN0aW9uIG9jKCl7aWYoISghbi5zZWxlY3RlZElkfHxuLnF1aWNrQ29tbWl0R2VuZXJhdGluZykpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbWVzc2FnZSIpO2UmJihuLnF1aWNrQ29tbWl0Rm9ybS5jdXN0b21NZXNzYWdlPWUudmFsdWUpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtdGFnIik7dCYmKG4ucXVpY2tDb21taXRGb3JtLnRhZz10LnZhbHVlKSxuLnF1aWNrQ29tbWl0R2VuZXJhdGluZz0hMCxuLnF1aWNrQ29tbWl0RXJyb3I9IiIscXQoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvZ2VuZXJhdGUtY29tbWl0LW1lc3NhZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJue29rOnIub2ssZGF0YTppfX0pfSkudGhlbihmdW5jdGlvbihyKXtpZighci5vayl0aHJvdyBuZXcgRXJyb3Ioci5kYXRhJiZyLmRhdGEuZXJyb3J8fCJBSSBcdTc1MUZcdTYyMTBcdTU5MzFcdThEMjVcdTMwMDIiKTt2YXIgaT1yLmRhdGF8fHt9LGE9dHlwZW9mIGkubWVzc2FnZT09InN0cmluZyI/aS5tZXNzYWdlOiIiLHU9dHlwZW9mIGkuc3VnZ2VzdGVkVGFnPT0ic3RyaW5nIj9pLnN1Z2dlc3RlZFRhZy50cmltKCk6IiIscz0obi5xdWlja0NvbW1pdEZvcm0uY3VzdG9tTWVzc2FnZXx8IiIpLnRyaW0oKTshcyYmYSYmKG4ucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9YSksdSYmKG4ucXVpY2tDb21taXRGb3JtLnRhZ0VkaXRlZHx8KG4ucXVpY2tDb21taXRGb3JtLnRhZz11KSxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj0iY29tbWl0LXRhZyIpfSkuY2F0Y2goZnVuY3Rpb24ocil7bi5xdWlja0NvbW1pdEVycm9yPXImJnIubWVzc2FnZXx8IkFJIFx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNVx1MzAwMiJ9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdEdlbmVyYXRpbmc9ITEsbi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KX19ZnVuY3Rpb24gT24oZSx0KXtpZighKCFuLnNlbGVjdGVkSWR8fG4ucXVpY2tDb21taXRTdWJtaXR0aW5nKSl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC1tZXNzYWdlIik7ciYmKG4ucXVpY2tDb21taXRGb3JtLmN1c3RvbU1lc3NhZ2U9ci52YWx1ZSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1aWNrLWNvbW1pdC10YWciKTtpJiYobi5xdWlja0NvbW1pdEZvcm0udGFnPWkudmFsdWUpO3ZhciBhPW4ucXVpY2tDb21taXRGb3JtfHx7fSx1PWljKGV8fG4ucXVpY2tDb21taXREcmFnQWN0aW9ufHwiY29tbWl0Iikscz11LndpdGhUYWcsbz1zPyhhLnRhZ3x8IiIpLnRyaW0oKToiIixsPShhLmN1c3RvbU1lc3NhZ2V8fCIiKS50cmltKCksYz0hbCxkPXticmFuY2g6KG4uZ2l0U3RhdHVzfHx7fSkuYnJhbmNofHwiIixjb21taXRIYXNoOihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQmJihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc2hvcnRIYXNoPyhuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc2hvcnRIYXNoOihuLmdpdFN0YXR1c3x8e30pLmhlYWQ/KG4uZ2l0U3RhdHVzfHx7fSkuaGVhZC5zdWJzdHJpbmcoMCw3KToiIixjb21taXRTdWJqZWN0OihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQmJihuLmdpdFN0YXR1c3x8e30pLmxhc3RDb21taXQuc3ViamVjdD8obi5naXRTdGF0dXN8fHt9KS5sYXN0Q29tbWl0LnN1YmplY3Q6IiIsdGFnOihuLmdpdFN0YXR1c3x8e30pLmxhdGVzdFRhZ3x8IiJ9LGY9e2F1dG9NZXNzYWdlOmMsY3VzdG9tTWVzc2FnZTpjPyIiOmwsdGFnOm8sYXV0b1RhZzohIShzJiYhbykscHVzaDohIXUucHVzaCxzdWJtb2R1bGU6ISF0fTtuLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMCxuLnF1aWNrQ29tbWl0U3VibW9kdWxlSW50ZW50PSEhdCxuLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9Y3x8Zi5hdXRvVGFnLG4ucXVpY2tDb21taXRFcnJvcj0iIixuLnF1aWNrQ29tbWl0UHVzaEVycm9yPSIiLG4ucXVpY2tDb21taXRSZXN1bHQ9bnVsbCxuLnF1aWNrQ29tbWl0RHJhZ0FjdGlvbj11LmFjdGlvbixxdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi9xdWljay1jb21taXQiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KGYpfSkudGhlbihmdW5jdGlvbih2KXtyZXR1cm4gdi5qc29uKCkudGhlbihmdW5jdGlvbihtKXtyZXR1cm57b2s6di5vayxkYXRhOm19fSl9KS50aGVuKGZ1bmN0aW9uKHYpe2lmKCF2Lm9rKXRocm93IG5ldyBFcnJvcih2LmRhdGEmJnYuZGF0YS5lcnJvcnx8Ilx1NUZFQlx1NjM3N1x1NjNEMFx1NEVBNFx1NTkzMVx1OEQyNVx1MzAwMiIpO3ZhciBtPXYuZGF0YXx8e30sYj1tLmNvbW1pdCYmbS5jb21taXQuaGFzaD9tLmNvbW1pdC5oYXNoLnN1YnN0cmluZygwLDcpOiIiLGc9bS50YWcmJm0udGFnLm5hbWU/bS50YWcubmFtZToiIix5PUFycmF5LmlzQXJyYXkobS5zdWJtb2R1bGVDb21taXRzKT9tLnN1Ym1vZHVsZUNvbW1pdHM6W10sdz15Lmxlbmd0aD4wPyJcdTVERjJcdTUxNDhcdTYzRDBcdTRFQTQgIit5Lmxlbmd0aCsiIFx1NEUyQSBzdWJtb2R1bGVcdUZGMDgiK3kubWFwKGZ1bmN0aW9uKEUpe3JldHVybiBFLnBhdGh9KS5qb2luKCJcdTMwMDEiKSsiXHVGRjA5XHVGRjBDIjoiIixGPXcrIlx1NURGMlx1NjNEMFx1NEVBNCIrKGI/IiAiK2I6IiIpKyhnPyJcdUZGMENcdTVERjJcdTYyNTMgVGFnICIrZzoiIik7bi5xdWlja0NvbW1pdFJlc3VsdD17YWN0aW9uOnUuYWN0aW9uLGluY2x1ZGVTdWJtb2R1bGU6ISF0LHB1c2hlZDohIW0ucHVzaGVkLHB1c2hFcnJvcjptLnB1c2hFcnJvcnx8IiIsY29tbWl0SGFzaDpiLGNvbW1pdE1lc3NhZ2U6bS5jb21taXQmJm0uY29tbWl0Lm1lc3NhZ2U/bS5jb21taXQubWVzc2FnZTpsLHRhZ05hbWU6ZyxvbGRUYWc6ZC50YWcsb2xkQ29tbWl0SGFzaDpkLmNvbW1pdEhhc2gsb2xkQ29tbWl0U3ViamVjdDpkLmNvbW1pdFN1YmplY3Qsc3VibW9kdWxlQ291bnQ6eS5sZW5ndGh9LHUucHVzaCYmIW0ucHVzaEVycm9yPyh0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmayhGKyJcdUZGMENcdTVERjJcdTYzQThcdTkwMDFcdTMwMDIiLCJzdWNjZXNzIikscW4oKSk6KHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKEYrKG0ucHVzaEVycm9yPyJcdUZGMUJwdXNoIFx1NTkzMVx1OEQyNVx1RkYxQSIrbS5wdXNoRXJyb3I6Ilx1MzAwMiIpLG0ucHVzaEVycm9yPyJlcnJvciI6InN1Y2Nlc3MiKSxuLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KS50aGVuKGZ1bmN0aW9uKCl7bi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KSl9KS5jYXRjaChmdW5jdGlvbih2KXtuLnF1aWNrQ29tbWl0RXJyb3I9diYmdi5tZXNzYWdlfHwiXHU1RkVCXHU2Mzc3XHU2M0QwXHU0RUE0XHU1OTMxXHU4RDI1XHUzMDAyIn0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0U3VibWl0dGluZz0hMSxuLnF1aWNrQ29tbWl0QXV0b0dlbmVyYXRpbmc9ITEsbi5xdWlja0NvbW1pdE9wZW4mJnF0KCl9KX19ZnVuY3Rpb24gbGMoZSl7aWYoISghbi5zZWxlY3RlZElkfHxuLnF1aWNrQ29tbWl0UHVzaGluZykpe3ZhciB0PSEhKGUmJmUucHVzaENvbW1pdHMpLHI9ISEoZSYmZS5wdXNoVGFncyksaT0hIShlJiZlLmNsb3NlT25TdWNjZXNzKTtpZighKCF0JiYhcikpe3ZhciBhPW4ucXVpY2tDb21taXRSZXN1bHR8fHt9LHU9ISFhLmluY2x1ZGVTdWJtb2R1bGU7bi5xdWlja0NvbW1pdFB1c2hpbmc9ITAsbi5xdWlja0NvbW1pdFB1c2hFcnJvcj0iIixxdCgpLGZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi9naXQvcHVzaCIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe3B1c2hDb21taXRzOnQscHVzaFRhZ3M6cixzdWJtb2R1bGU6dSx0YWc6YS50YWdOYW1lfHwiIn0pfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5qc29uKCkudGhlbihmdW5jdGlvbihvKXtyZXR1cm57b2s6cy5vayxkYXRhOm99fSl9KS50aGVuKGZ1bmN0aW9uKHMpe3ZhciBvPXMuZGF0YXx8e307aWYoIXMub2spdGhyb3cgbmV3IEVycm9yKG8mJm8uZXJyb3J8fCJcdTYzQThcdTkwMDFcdTU5MzFcdThEMjVcdTMwMDIiKTtpZihvLmVycm9yKXtuLnF1aWNrQ29tbWl0UHVzaEVycm9yPW8uZXJyb3IsdHlwZW9mIGs9PSJmdW5jdGlvbiImJmsoIlx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1RkYxQSIrby5lcnJvciwiZXJyb3IiKTtyZXR1cm59dmFyIGw9W107by5wdXNoZWRDb21taXRzJiZsLnB1c2goImNvbW1pdHMiKSxvLnB1c2hlZFRhZ3MmJmwucHVzaCgidGFncyIpO3ZhciBjPWwubGVuZ3RoP2wuam9pbigiIFx1NTQ4QyAiKToiXHVGRjA4XHU2NUUwXHU1MTg1XHU1QkI5XHVGRjA5Ijt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU1REYyXHU2M0E4XHU5MDAxICIrYywic3VjY2VzcyIpLG4ucXVpY2tDb21taXRSZXN1bHQmJihuLnF1aWNrQ29tbWl0UmVzdWx0LnB1c2hlZD0hMCksaT8ocW4oKSxuLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCx7Zm9yY2U6ITB9KSk6bi5zZWxlY3RlZElkJiZFbihuLnNlbGVjdGVkSWQse2ZvcmNlOiEwfSkudGhlbihmdW5jdGlvbigpe24ucXVpY2tDb21taXRPcGVuJiZxdCgpfSl9KS5jYXRjaChmdW5jdGlvbihzKXtuLnF1aWNrQ29tbWl0UHVzaEVycm9yPXMmJnMubWVzc2FnZXx8Ilx1NjNBOFx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIsdHlwZW9mIGs9PSJmdW5jdGlvbiImJmsobi5xdWlja0NvbW1pdFB1c2hFcnJvciwiZXJyb3IiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLnF1aWNrQ29tbWl0UHVzaGluZz0hMSxuLnF1aWNrQ29tbWl0T3BlbiYmcXQoKX0pfX19ZnVuY3Rpb24gY2MoZSl7dmFyIHQ9KGV8fCIiKS50cmltKCk7aWYodD09PSI/PyIpcmV0dXJue2xldHRlcjoiVSIsY2xzOiJ1bnRyYWNrZWQiLHRpdGxlOiJcdTY3MkFcdThEREZcdThFMkEifTtpZih0PT09IiEhIilyZXR1cm57bGV0dGVyOiJJIixjbHM6Imlnbm9yZWQiLHRpdGxlOiJcdTVERjJcdTVGRkRcdTc1NjUifTtmb3IodmFyIHI9IiIsaT0wO2k8ZS5sZW5ndGg7aSsrKWlmKGVbaV0mJmVbaV0hPT0iLiImJmVbaV0hPT0iICIpe3I9ZVtpXTticmVha31yPShyfHx0WzBdfHwiPyIpLnRvVXBwZXJDYXNlKCk7dmFyIGE9e0E6e2NsczoiYWRkIix0aXRsZToiXHU2NUIwXHU1ODlFIn0sTTp7Y2xzOiJtb2QiLHRpdGxlOiJcdTRGRUVcdTY1MzkifSxEOntjbHM6ImRlbCIsdGl0bGU6Ilx1NTIyMFx1OTY2NCJ9LFI6e2NsczoicmVuIix0aXRsZToiXHU5MUNEXHU1NDdEXHU1NDBEIn0sQzp7Y2xzOiJyZW4iLHRpdGxlOiJcdTU5MERcdTUyMzYifSxUOntjbHM6Im1vZCIsdGl0bGU6Ilx1N0M3Qlx1NTc4Qlx1NTNEOFx1NjZGNCJ9LFU6e2NsczoiZGVsIix0aXRsZToiXHU1MUIyXHU3QTgxIn19LHU9YVtyXXx8e2Nsczoib3RoZXIiLHRpdGxlOiJcdTVERjJcdTY2RjRcdTY1MzkifTtyZXR1cm57bGV0dGVyOnIsY2xzOnUuY2xzLHRpdGxlOnUudGl0bGV9fWZ1bmN0aW9uIHhtKGUpe3ZhciB0PWUubWFwKGZ1bmN0aW9uKHIpe3ZhciBpPWNjKHIuc3RhdHVzfHwiIiksYT1yLnBhdGh8fCIiLHU9YS5sYXN0SW5kZXhPZigiLyIpLHM9dT49MD9hLnNsaWNlKDAsdSsxKToiIixvPXU+PTA/YS5zbGljZSh1KzEpOmEsbD0iIjtpZihyLmlzU3VibW9kdWxlKXt2YXIgYz1yLnN1Ym1vZHVsZVN0YXRlfHx7fSxkPVtdO2MuY29tbWl0Q2hhbmdlZCYmZC5wdXNoKCJcdTY1QjBcdTYzMDdcdTk0ODgiKSxjLmhhc1RyYWNrZWRDaGFuZ2VzJiZkLnB1c2goImRpcnR5IiksYy5oYXNVbnRyYWNrZWQmJmQucHVzaCgiXHU2NzJBXHU4RERGXHU4RTJBIik7dmFyIGY9ZC5sZW5ndGg/InN1Ym1vZHVsZSBceEI3ICIrZC5qb2luKCIgLyAiKToic3VibW9kdWxlIjtsPSc8c3BhbiBjbGFzcz0icWMtc3VibW9kdWxlLWJhZGdlIj4nK3AoZikrIjwvc3Bhbj4ifXJldHVybic8ZGl2IGNsYXNzPSJxYy1maWxlLXJvdyIgdGl0bGU9IicrcChhKSsnIj48c3BhbiBjbGFzcz0icWMtZmlsZS1iYWRnZSBxYy1iYWRnZS0nK2kuY2xzKyciIHRpdGxlPSInK3AoaS50aXRsZSkrJyI+JytwKGkubGV0dGVyKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxYy1maWxlLXBhdGgiPicrKHM/JzxzcGFuIGNsYXNzPSJxYy1maWxlLWRpciI+JytwKHMpKyI8L3NwYW4+IjoiIikrJzxzcGFuIGNsYXNzPSJxYy1maWxlLW5hbWUiPicrcChvKSsiPC9zcGFuPjwvc3Bhbj4iK2wrIjwvZGl2PiJ9KS5qb2luKCIiKTtyZXR1cm4gdHx8JzxkaXYgY2xhc3M9InFjLWVtcHR5Ij5cdTZDQTFcdTY3MDlcdTUzRUZcdTYzRDBcdTRFQTRcdTc2ODRcdTY1MzlcdTUyQThcdTMwMDI8L2Rpdj4nfWZ1bmN0aW9uIHpyKCl7cmV0dXJuIG4ucXVpY2tDb21taXRTdWJtaXR0aW5nfHxuLnF1aWNrQ29tbWl0UHVzaGluZ31mdW5jdGlvbiBWcihlLHQscixpKXtyZXR1cm4nPGRpdiBjbGFzcz0icWMtcGFpcicrKGk/IiAiK2k6IiIpKyciPjxkaXYgY2xhc3M9InFjLXBhaXItbGFiZWwiPicrcChlKSsnPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci1mbG93Ij48ZGl2IGNsYXNzPSJxYy1wYWlyLXZhbHVlIHFjLXBhaXItdmFsdWUtLWZyb20iPicrdCsnPC9kaXY+PGRpdiBjbGFzcz0icWMtcGFpci1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPlx1MjE5MjwvZGl2PjxkaXYgY2xhc3M9InFjLXBhaXItdmFsdWUgcWMtcGFpci12YWx1ZS0tdG8iPicrcisiPC9kaXY+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBkYygpe3ZhciBlPW4uZ2l0U3RhdHVzfHx7fTtpZihlLmhhc1N1Ym1vZHVsZT09PSEwKXJldHVybiEwO2Zvcih2YXIgdD1lLmZpbGVzfHxbXSxyPTA7cjx0Lmxlbmd0aDtyKyspaWYodFtyXSYmdFtyXS5pc1N1Ym1vZHVsZT09PSEwKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGZjKGUpe3ZhciB0PSFlfHx6cigpLHI9ZGMoKTtpZihuLnF1aWNrQ29tbWl0U3VibWl0dGluZyl7dmFyIGk9bi5xdWlja0NvbW1pdFN1Ym1vZHVsZUludGVudD8iXHVGRjA4XHU1NDJCIHN1Ym1vZHVsZVx1RkYwOSI6IiIsYT0obi5xdWlja0NvbW1pdEF1dG9HZW5lcmF0aW5nPyJBSSBcdTc1MUZcdTYyMTAgKyBcdTYzRDBcdTRFQTRcdTRFMkRcdTIwMjYiOiJcdTYyNjdcdTg4NENcdTRFMkRcdTIwMjYiKStpO3JldHVybic8ZGl2IGNsYXNzPSJxYy1kb2NrLXdyYXAiPjxkaXYgY2xhc3M9InFjLWRvY2stYnVzeSIgcm9sZT0ic3RhdHVzIj48c3BhbiBjbGFzcz0icWMtZG9jay1idXN5LWRvdCI+PC9zcGFuPicrcChhKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiB1KG8sbCxjKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxYy1jaGlwIHFjLWNoaXAtLScrbysnIiBkYXRhLWNoaXA9IicrbysnIicrKGM/JyB0aXRsZT0iJytwKGMpKyciJzoiIikrKHQ/IiBkaXNhYmxlZCI6IiIpKyc+PHNwYW4gY2xhc3M9InFjLWNoaXAtZG90IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJxYy1jaGlwLWxhYmVsIj4nK2wrIjwvc3Bhbj48L2J1dHRvbj4ifXZhciBzPXQ/ZT8iIjoiXHU1REU1XHU0RjVDXHU1MzNBXHU1RTcyXHU1MUMwXHVGRjBDXHU2NUUwXHU1M0VGXHU2M0QwXHU0RUE0IjoiXHU2MkQ2XHU1MkE4XHU3OEMxXHU1NDM4XHU3RUM0XHU1NDA4IFx4QjcgXHU0RTIyXHU4RkRCXHU2M0QwXHU0RUE0XHU1MzNBXHU2MjY3XHU4ODRDIFx4QjcgXHU1MzU1XHU1MUZCXHU3NkY0XHU2M0E1XHU2MjY3XHU4ODRDXHU4QkU1XHU5ODc5Iisocj8iIFx4QjcgU3ViIFx1NzQwM1x1NTNFRlx1OTAwOVx1RkYwQ1x1N0VCM1x1NTE2NVx1NTQwRVx1OTAxMlx1NUY1Mlx1NTkwNFx1NzQwNiBzdWJtb2R1bGUiOiIiKTtyZXR1cm4nPGRpdiBjbGFzcz0icWMtZG9jay13cmFwIHFjLWRvY2std3JhcC0tbWFnbmV0aWMiJysodD8nIGRhdGEtZGlzYWJsZWQ9IjEiJzoiIikrJz48ZGl2IGlkPSJxYy1kb2NrLXN0YWdlIiBjbGFzcz0icWMtZG9jay1zdGFnZSIgZGF0YS1hY3Rpb249ImNvbW1pdCIgZGF0YS1ob3Q9IjAiPjxkaXYgaWQ9InFjLWRvY2stZmllbGQiIGNsYXNzPSJxYy1kb2NrLWZpZWxkIj48ZGl2IGlkPSJxYy1kb2NrLWNsdXN0ZXIiIGNsYXNzPSJxYy1kb2NrLWNsdXN0ZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4nK3UoImNvbW1pdCIsIkNvbW1pdCIpK3UoInRhZyIsIlRhZyIpK3UoInB1c2giLCJQdXNoIikrKHI/dSgic3ViIiwiU3ViIiwiXHU2M0QwXHU0RUE0XHU3MjM2XHU0RUQzXHU1RTkzXHU1RTc2XHU5MDEyXHU1RjUyXHU4RkRCXHU1MTY1IHN1Ym1vZHVsZVx1RkYwOGNvbW1pdCAvIHRhZyAvIFx1NTIwNlx1NTIyQlx1NjNBOFx1OTAwMVx1RkYwOSIpOiIiKSsnPC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJxYy1kb2NrLWxhdW5jaCIgY2xhc3M9InFjLWRvY2stbGF1bmNoIicrKHQ/IiBkaXNhYmxlZCI6IiIpKycgYXJpYS1sYWJlbD0iXHU2MjY3XHU4ODRDXHU2M0QwXHU0RUE0Ij48c3BhbiBjbGFzcz0icWMtZG9jay1sYXVuY2gtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIyIiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgMTJoMTJNMTMgNmw2IDYtNiA2Ii8+PC9zdmc+PC9zcGFuPjxzcGFuIGlkPSJxYy1kb2NrLWxhdW5jaC1sYWJlbCIgY2xhc3M9InFjLWRvY2stbGF1bmNoLWxhYmVsIj5cdTYzRDBcdTRFQTQ8L3NwYW4+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0icWMtZG9jay1oaW50Ij4nK3AocykrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gcGMoKXt2YXIgZT1uLnF1aWNrQ29tbWl0UmVzdWx0O2lmKCFlKXJldHVybiIiO3ZhciB0PWUub2xkQ29tbWl0SGFzaD8iPGNvZGU+IitwKGUub2xkQ29tbWl0SGFzaCkrIjwvY29kZT4iKyhlLm9sZENvbW1pdFN1YmplY3Q/IjxzcGFuPiIrcChlLm9sZENvbW1pdFN1YmplY3QpKyI8L3NwYW4+IjoiIik6JzxzcGFuIGNsYXNzPSJxYy1tdXRlZCI+XHU2NUUwPC9zcGFuPicscj1lLmNvbW1pdEhhc2g/Ijxjb2RlPiIrcChlLmNvbW1pdEhhc2gpKyI8L2NvZGU+PHNwYW4+IitwKGUuY29tbWl0TWVzc2FnZXx8IiIpKyI8L3NwYW4+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTA8L3NwYW4+JyxpPWUub2xkVGFnPyI8Y29kZT4iK3AoZS5vbGRUYWcpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTAgdGFnPC9zcGFuPicsYT1lLnRhZ05hbWU/Ijxjb2RlPiIrcChlLnRhZ05hbWUpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY3MkFcdTYyNTMgdGFnPC9zcGFuPicsdT1lLnB1c2hlZD8nPHNwYW4gY2xhc3M9InFjLXJlc3VsdC1wdXNoZWQiPlx1NURGMlx1NjNBOFx1OTAwMTwvc3Bhbj4nOic8YnV0dG9uIGlkPSJxdWljay1jb21taXQtcHVzaC1hZnRlci1idG4iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iJysobi5xdWlja0NvbW1pdFB1c2hpbmc/IiBkaXNhYmxlZCI6IiIpKyI+Iisobi5xdWlja0NvbW1pdFB1c2hpbmc/Ilx1NjNBOFx1OTAwMVx1NEUyRC4uLiI6IlB1c2ggJiBDbG9zZSIpKyI8L2J1dHRvbj4iO3JldHVybic8c2VjdGlvbiBjbGFzcz0icWMtcmVzdWx0LXBhbmVsIj4nK1ZyKCJDb21taXQiLHQsciwiIikrVnIoIlRhZyIsaSxhLCJxYy1wYWlyLS10YWciKSsoZS5wdXNoRXJyb3J8fG4ucXVpY2tDb21taXRQdXNoRXJyb3I/JzxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj4nK3AoZS5wdXNoRXJyb3J8fG4ucXVpY2tDb21taXRQdXNoRXJyb3IpKyI8L3A+IjoiIikrJzxkaXYgY2xhc3M9InFjLXJlc3VsdC1hY3Rpb25zIj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2FuY2VsLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTE3M1x1OTVFRDwvYnV0dG9uPicrdSsiPC9kaXY+PC9zZWN0aW9uPiJ9ZnVuY3Rpb24gT3UoKXt2YXIgZT1uLmdpdFN0YXR1c3x8e30sdD1uLnF1aWNrQ29tbWl0Rm9ybXx8e2N1c3RvbU1lc3NhZ2U6IiIsdGFnOiIiLHRhZ0VkaXRlZDohMX0scj0oZS5tb2RpZmllZENvdW50fHwwKT4wLGk9bi5xdWlja0NvbW1pdEdlbmVyYXRpbmcsYT1lLmxhc3RDb21taXR8fHt9LHU9YS5zaG9ydEhhc2g/Ijxjb2RlPiIrcChhLnNob3J0SGFzaCkrIjwvY29kZT48c3Bhbj4iK3AoYS5zdWJqZWN0fHwiIikrIjwvc3Bhbj4iOmUuaGVhZD8iPGNvZGU+IitwKGUuaGVhZC5zdWJzdHJpbmcoMCw3KSkrIjwvY29kZT4iOic8c3BhbiBjbGFzcz0icWMtbXV0ZWQiPlx1NjVFMCBjb21taXQ8L3NwYW4+JyxzPWUubGF0ZXN0VGFnPyI8Y29kZT4iK3AoZS5sYXRlc3RUYWcpKyI8L2NvZGU+IjonPHNwYW4gY2xhc3M9InFjLW11dGVkIj5cdTY1RTAgdGFnPC9zcGFuPicsbz0nPGlucHV0IHR5cGU9InRleHQiIGlkPSJxdWljay1jb21taXQtdGFnIiBjbGFzcz0iZmllbGQtaW5wdXQgcWMtdGFnLWZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iXHU3NTU5XHU3QTdBXHU1MjE5IEFJIFx1NzUxRlx1NjIxMCIgdmFsdWU9IicrcCh0LnRhZ3x8IiIpKyciJysobi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc/IiBkaXNhYmxlZCI6IiIpKyI+IixsPSc8dGV4dGFyZWEgaWQ9InF1aWNrLWNvbW1pdC1tZXNzYWdlIiBjbGFzcz0iZmllbGQtaW5wdXQgcWMtbWVzc2FnZS1pbnB1dCIgcm93cz0iMyIgcGxhY2Vob2xkZXI9Ik5ldyBjb21taXQgbWVzc2FnZSIgJysobi5xdWlja0NvbW1pdFN1Ym1pdHRpbmc/ImRpc2FibGVkIjoiIikrIj4iK3AodC5jdXN0b21NZXNzYWdlfHwiIikrIjwvdGV4dGFyZWE+IixjPVtdO2MucHVzaChlLmJyYW5jaHx8IihubyBicmFuY2gpIiksYy5wdXNoKHI/KGUubW9kaWZpZWRDb3VudHx8MCkrIiBcdTRFMkFcdTY1MzlcdTUyQTgiOiJcdTVERTVcdTRGNUNcdTUzM0FcdTVFNzJcdTUxQzAiKSx0eXBlb2YgZS5haGVhZD09Im51bWJlciImJmUuYWhlYWQ+MCYmYy5wdXNoKCJcdTIxOTEiK2UuYWhlYWQpLHR5cGVvZiBlLmJlaGluZD09Im51bWJlciImJmUuYmVoaW5kPjAmJmMucHVzaCgiXHUyMTkzIitlLmJlaGluZCk7dmFyIGQ9bi5xdWlja0NvbW1pdFJlc3VsdD8iIjonPHNlY3Rpb24gY2xhc3M9InFjLXJlbGVhc2UtcGFuZWwiPjxkaXYgY2xhc3M9InFjLW1lc3NhZ2UtaGVhZGVyIj48c3BhbiBjbGFzcz0icWMtc2VjdGlvbi10aXRsZSI+TmV3PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0icXVpY2stY29tbWl0LWFpLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHFjLWFpLWJ0biInKyhpPyIgZGlzYWJsZWQiOiIiKSsnIHRpdGxlPSJBSSBcdTc1MUZcdTYyMTAgY29tbWl0IG1lc3NhZ2UgXHU0RTBFIHRhZyI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik04IDEuNWwxLjQgMy42TDEzIDYuNSA5LjQgNy45IDggMTEuNSA2LjYgNy45IDMgNi41bDMuNi0xLjRMOCAxLjV6TTEyLjUgMTAuNWwuNyAxLjggMS44LjctMS44LjctLjcgMS44LS43LTEuOC0xLjgtLjcgMS44LS43LjctMS44eiIgZmlsbD0iY3VycmVudENvbG9yIi8+PC9zdmc+PHNwYW4+JysoaT8iXHU3NTFGXHU2MjEwXHU0RTJELi4uIjoiQUkiKSsiPC9zcGFuPjwvYnV0dG9uPjwvZGl2PiIrVnIoIkNvbW1pdCIsdSxsLCJxYy1wYWlyLS1jb21taXQiKStWcigiVGFnIixzLG8sInFjLXBhaXItLXRhZyIpKyhuLnF1aWNrQ29tbWl0RXJyb3I/JzxwIGNsYXNzPSJlcnJvci1tZXNzYWdlIj4nK3Aobi5xdWlja0NvbW1pdEVycm9yKSsiPC9wPiI6IiIpK2ZjKHIpKyc8ZGl2IGNsYXNzPSJxYy1tb2RhbC1hY3Rpb25zIj48YnV0dG9uIGlkPSJxdWljay1jb21taXQtY2FuY2VsLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTNENlx1NkQ4ODwvYnV0dG9uPjwvZGl2Pjwvc2VjdGlvbj4nLGY9cGMoKTtyZXR1cm4nPHNlY3Rpb24gaWQ9InF1aWNrLWNvbW1pdC1tb2RhbCIgY2xhc3M9Im1vZGFsLWJhY2tkcm9wJysobi5xdWlja0NvbW1pdE9wZW4/IiI6IiBoaWRkZW4iKSsnIj48ZGl2IGNsYXNzPSJtb2RhbCBxdWljay1jb21taXQtbW9kYWwiIHJvbGU9ImRpYWxvZyIgYXJpYS1sYWJlbGxlZGJ5PSJxdWljay1jb21taXQtdGl0bGUiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgaWQ9InF1aWNrLWNvbW1pdC10aXRsZSIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTVGRUJcdTYzNzdcdTYzRDBcdTRFQTQ8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+JytwKGMuam9pbigiIFx4QjcgIikpKyc8L3A+PC9kaXY+PGJ1dHRvbiBpZD0icXVpY2stY29tbWl0LWNsb3NlLWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPicrZCtmKyI8L2Rpdj48L2Rpdj48L3NlY3Rpb24+In1mdW5jdGlvbiB2Yygpe3JldHVybic8c2VjdGlvbiBpZD0id29ya3RyZWUtbWVyZ2UtbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHdvcmt0cmVlLW1lcmdlLW1vZGFsIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU1NDA4XHU1RTc2IFdvcmt0cmVlPC9oMj48cCBjbGFzcz0ibW9kYWwtc3VidGl0bGUiPlx1NjhDMFx1NjdFNVx1NUY1M1x1NTI0RFx1NEVGQlx1NTJBMVx1NTIwNlx1NjUyRlx1NUU3Nlx1NUZFQlx1NjM3N1x1NTQwOFx1NUU3Nlx1NTIzMFx1NEUzQlx1NTIwNlx1NjUyRlx1MzAwMjwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS13b3JrdHJlZS1tZXJnZS1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij48ZGl2IGlkPSJ3b3JrdHJlZS1tZXJnZS1jb250ZW50IiBjbGFzcz0id29ya3RyZWUtbWVyZ2UtY29udGVudCI+PC9kaXY+PHAgaWQ9Indvcmt0cmVlLW1lcmdlLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1hY3Rpb25zIj48YnV0dG9uIGlkPSJ3b3JrdHJlZS1tZXJnZS1jYW5jZWwtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiPlx1NTNENlx1NkQ4ODwvYnV0dG9uPjxidXR0b24gaWQ9Indvcmt0cmVlLW1lcmdlLWNvbmZpcm0tYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5Ij5cdTc4NkVcdThCQTRcdTU0MDhcdTVFNzZcdTVFNzZcdTZFMDVcdTc0MDY8L2J1dHRvbj48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+J31mdW5jdGlvbiBtYygpe3JldHVybic8c2VjdGlvbiBpZD0ic2V0dGluZ3MtbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHNldHRpbmdzLW1vZGFsIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIgc2V0dGluZ3MtbW9kYWwtaGVhZGVyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1tb2RhbC10aXRsZS1ncm91cCI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU4QkJFXHU3RjZFPC9oMj48cCBjbGFzcz0ic2V0dGluZ3MtbW9kYWwtc3VidGl0bGUiPlx1OEMwM1x1NjU3NFx1NUU5NFx1NzUyOFx1OTE0RFx1N0Y2RVx1MzAwMVx1OTAxQVx1NzdFNVx1MzAwMVx1NUI4OVx1NTE2OFx1NTQ4Q1x1NjYzRVx1NzkzQVx1NTA0Rlx1NTk3RDwvcD48L2Rpdj48YnV0dG9uIGlkPSJjbG9zZS1zZXR0aW5ncy1idXR0b24iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1pY29uIG1vZGFsLWNsb3NlLWJ0biIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1ib2R5IHNldHRpbmdzLW1vZGFsLWJvZHkiPjxkaXYgY2xhc3M9InNldHRpbmdzLWxheW91dCI+PGFzaWRlIGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zaWRlYmFyLWhlYWRlciI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2lkZWJhci10aXRsZSI+XHU1MDRGXHU1OTdEXHU4QkJFXHU3RjZFPC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2lkZWJhci1oaW50Ij5cdTVERTZcdTRGQTdcdTUyMDdcdTYzNjJcdTUyMDZcdTUzM0FcdUZGMENcdTUzRjNcdTRGQTdcdTY3RTVcdTc3MEJcdThCRTZcdTdFQzZcdThCRjRcdTY2MEVcdTRFMEVcdTkwMDlcdTk4NzlcdTMwMDI8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10YWJzIiByb2xlPSJ0YWJsaXN0IiBhcmlhLWxhYmVsPSJcdThCQkVcdTdGNkVcdTUyMDZcdTdFQzQiIGFyaWEtb3JpZW50YXRpb249InZlcnRpY2FsIj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIgYWN0aXZlIiBkYXRhLXRhYj0iYWJvdXQiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLWFib3V0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTE3M1x1NEU4RTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NzI0OFx1NjcyQ1x1MzAwMVx1NjZGNFx1NjVCMFx1NEUwRVx1OEZERVx1NjNBNVx1NjVCOVx1NUYwRjwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJnZW5lcmFsIiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItZ2VuZXJhbCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTU3RkFcdTY3MkNcdTkxNERcdTdGNkU8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTRFM0JcdTY3M0FcdTMwMDFcdTZBMjFcdTVGMEZcdTMwMDFcdThCRURcdThBMDBcdTMwMDFcdTc2RUVcdTVGNTU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0ic2V0dGluZ3MtdGFiIiBkYXRhLXRhYj0ibm90aWZpY2F0aW9ucyIgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSIgYXJpYS1jb250cm9scz0ic2V0dGluZ3MtdGFiLW5vdGlmaWNhdGlvbnMiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU5MDFBXHU3N0U1PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU2M0QwXHU3OTNBXHU5N0YzXHU0RTBFXHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9InNlY3VyaXR5IiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItc2VjdXJpdHkiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWFpbiI+XHU1Qjg5XHU1MTY4PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10YWItbWV0YSI+XHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InNldHRpbmdzLXRhYiIgZGF0YS10YWI9InByZXNldHMiIHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiIGFyaWEtY29udHJvbHM9InNldHRpbmdzLXRhYi1wcmVzZXRzIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1haW4iPlx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdGFiLW1ldGEiPlx1NjdFNVx1NzcwQlx1NURGMlx1NjcwOVx1OTg4NFx1OEJCRTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJzZXR0aW5ncy10YWIiIGRhdGEtdGFiPSJkaXNwbGF5IiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIiBhcmlhLWNvbnRyb2xzPSJzZXR0aW5ncy10YWItZGlzcGxheSI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tYWluIj5cdTY2M0VcdTc5M0E8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRhYi1tZXRhIj5cdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTg4NENcdTRFM0E8L3NwYW4+PC9idXR0b24+PC9kaXY+PC9hc2lkZT48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCBhY3RpdmUiIGlkPSJzZXR0aW5ncy10YWItYWJvdXQiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTE3M1x1NEU4RSBXYW5kPC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU2N0U1XHU3NzBCXHU3MjQ4XHU2NzJDXHU0RkUxXHU2MDZGXHUzMDAxXHU2NkY0XHU2NUIwXHU3MkI2XHU2MDAxXHU1NDhDIEFuZHJvaWQgQXBwIFx1OEZERVx1NjNBNVx1NjVCOVx1NUYwRlx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1pbmZvIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1MzA1XHU1NDBEPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLXBrZy1uYW1lIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtdmVyc2lvbiI+LTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+Tm9kZS5qcyBcdTg5ODFcdTZDNDI8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3Mtbm9kZS1yZXEiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NEVEM1x1NUU5M1x1NTczMFx1NTc0MDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJzZXR0aW5ncy1yZXBvLXVybCI+PGEgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPi08L2E+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uIiBpZD0id2ViLXVwZGF0ZS1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigiZ2xvYmUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5XZWIgXHU3QUVGPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OEJCRlx1OTVFRVx1NzY4NFx1NjcwRFx1NTJBMVx1NzI0OFx1NjcyQzwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3ciPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzAwXHU2NUIwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIj4tPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIj48YnV0dG9uIGlkPSJjaGVjay11cGRhdGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIj5cdTY4QzBcdTY3RTVcdTY2RjRcdTY1QjA8L2J1dHRvbj48YnV0dG9uIGlkPSJkby11cGRhdGUtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbSBoaWRkZW4iPlx1NjZGNFx1NjVCMFx1NTIzMFx1NjcwMFx1NjVCMFx1NzI0ODwvYnV0dG9uPjxidXR0b24gaWQ9ImRvLXJlc3RhcnQtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbSBoaWRkZW4iPlx1OTFDRFx1NTQyRlx1NzUxRlx1NjU0ODwvYnV0dG9uPjwvZGl2PjxwIGlkPSJ1cGRhdGUtbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPkJldGEgXHU5MDFBXHU5MDUzPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU2NkY0XHU2NUIwXHU1MjMwIG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1RkYwOHRhZyArIGNvbW1pdCBcdTVDM0VcdTY4MDdcdUZGMDlcdUZGMENcdTVDMURcdTlDOUNcdTY1QjBcdTUyOUZcdTgwRkRcdUZGMENcdTUzRUZcdTgwRkRcdTRFMERcdTdBMzNcdTVCOUFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9ImJldGEtY2hhbm5lbC10b2dnbGUiIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIj48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMDwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OFx1NjcyQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NEUwQlx1OEY3RFx1NUI4OVx1ODhDNVx1NUU3Nlx1OTFDRFx1NTQyRlx1NjcwRFx1NTJBMVx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy11cGRhdGUtc2VjdGlvbiBoaWRkZW4iIGlkPSJhbmRyb2lkLWFway1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigic21hcnRwaG9uZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPkFuZHJvaWQgQXBwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NTM5Rlx1NzUxRlx1NUJBMlx1NjIzN1x1N0FFRlx1NzI0OFx1NjcyQ1x1NEUwRSBBUEsgXHU0RTBCXHU4RjdEPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXBrLWN1cnJlbnQtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IGhpZGRlbiI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWxhYmVsIj5cdTVGNTNcdTUyNERcdTcyNDhcdTY3MkM8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXZhbHVlIiBpZD0ic2V0dGluZ3MtYW5kcm9pZC1hcGstY3VycmVudCI+LTwvc3Bhbj48L2Rpdj48ZGl2IGlkPSJhbmRyb2lkLWFway1naXRodWItcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1N0VCRlx1NEUwQVx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLWFuZHJvaWQtYXBrLWdpdGh1YiI+LTwvc3Bhbj48YnV0dG9uIGlkPSJkb3dubG9hZC1naXRodWItYXBrLWJ0biIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU0RTBCXHU4RjdEPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iYW5kcm9pZC1hcGstbG9jYWwtcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NjcyQ1x1NTczMFx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLWFuZHJvaWQtYXBrLWxvY2FsIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWxvY2FsLWFway1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImFuZHJvaWQtYXV0by11cGRhdGUtcm93IiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyBoaWRkZW4iPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIj5cdTgxRUFcdTUyQThcdTY2RjRcdTY1QjA8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIiBpZD0iYW5kcm9pZC1hdXRvLXVwZGF0ZS1oaW50Ij5cdTY4QzBcdTZENEJcdTUyMzBcdTY1QjBcdTcyNDggQVBLIFx1NjVGNlx1ODFFQVx1NTJBOFx1NjJDOVx1OEQ3N1x1NEUwQlx1OEY3RFx1RkYwQ1x1NUI4OVx1ODhDNVx1NEVDRFx1OTcwMFx1NTcyOFx1N0NGQlx1N0VERlx1NEUyRFx1Nzg2RVx1OEJBNFx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIgY2xhc3M9InN3aXRjaC10b2dnbGUiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48cCBpZD0iYW5kcm9pZC1hcGstbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24gaGlkZGVuIiBpZD0ibWFjb3MtZG1nLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytKKCJkZXNrdG9wIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+bWFjT1MgQXBwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1NTM5Rlx1NzUxRlx1NUJBMlx1NjIzN1x1N0FFRlx1NzI0OFx1NjcyQ1x1NEUwRSBETUcgXHU0RTBCXHU4RjdEPC9wPjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1jdXJyZW50LXJvdyIgY2xhc3M9InNldHRpbmdzLWFib3V0LXJvdyBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU1RjUzXHU1MjREXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSIgaWQ9InNldHRpbmdzLW1hY29zLWRtZy1jdXJyZW50Ij4tPC9zcGFuPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1naXRodWItcm93IiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93IHNldHRpbmdzLWFib3V0LXJvdy1hY3Rpb24gaGlkZGVuIj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1N0VCRlx1NEUwQVx1NzI0OFx1NjcyQzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUgc2V0dGluZ3MtdmFsdWUtZmxleCIgaWQ9InNldHRpbmdzLW1hY29zLWRtZy1naXRodWIiPi08L3NwYW4+PGJ1dHRvbiBpZD0iZG93bmxvYWQtZ2l0aHViLWRtZy1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWRtZy1sb2NhbC1yb3ciIGNsYXNzPSJzZXR0aW5ncy1hYm91dC1yb3cgc2V0dGluZ3MtYWJvdXQtcm93LWFjdGlvbiBoaWRkZW4iPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+XHU2NzJDXHU1NzMwXHU3MjQ4XHU2NzJDPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy12YWx1ZSBzZXR0aW5ncy12YWx1ZS1mbGV4IiBpZD0ic2V0dGluZ3MtbWFjb3MtZG1nLWxvY2FsIj4tPC9zcGFuPjxidXR0b24gaWQ9ImRvd25sb2FkLWxvY2FsLWRtZy1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NEUwQlx1OEY3RDwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9Im1hY29zLWF1dG8tdXBkYXRlLXJvdyIgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3cgaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSI+XHU4MUVBXHU1MkE4XHU2NkY0XHU2NUIwPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyIgaWQ9Im1hY29zLWF1dG8tdXBkYXRlLWhpbnQiPlx1NjhDMFx1NkQ0Qlx1NTIzMFx1NjVCMFx1NzI0OCBETUcgXHU1QzA2XHU4MUVBXHU1MkE4XHU0RTBCXHU4RjdEXHU1RTc2XHU2MzAyXHU4RjdEXHUzMDAyPC9zcGFuPjwvZGl2PjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJhdXRvLXVwZGF0ZS1kbWctdG9nZ2xlIiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSI+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxwIGlkPSJtYWNvcy1kbWctbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24iIGlkPSJhbmRyb2lkLWNvbm5lY3Qtc2VjdGlvbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooImxpbmsiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5BcHAgXHU4RkRFXHU2M0E1XHU3ODAxPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1N0M5OFx1OEQzNFx1NTIzMCBBbmRyb2lkIEFwcCBcdTUzNzNcdTUzRUZcdTgxRUFcdTUyQThcdThGREVcdTYzQTVcdUZGMENcdTY1RTBcdTk3MDBcdTVCQzZcdTc4MDFcdUZGMUJcdTY1MzlcdTVCQzZcdTc4MDFcdTU0MEVcdTU5MzFcdTY1NDhcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC11cmwtYm94Ij48Y29kZSBpZD0iYW5kcm9pZC1jb25uZWN0LWNvZGUiIGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXVybC10ZXh0Ij4tPC9jb2RlPjxidXR0b24gaWQ9ImNvcHktY29ubmVjdC1jb2RlLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU1OTBEXHU1MjM2XHU4RkRFXHU2M0E1XHU3ODAxIj5cdTU5MERcdTUyMzY8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLWJveCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY29ubmVjdC1xci13cmFwIiBpZD0iYW5kcm9pZC1jb25uZWN0LXFyLXdyYXAiIHRpdGxlPSJcdTcwQjlcdTUxRkJcdTY1M0VcdTU5MjciPjxjYW52YXMgaWQ9ImFuZHJvaWQtY29ubmVjdC1xciIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiPjwvY2FudmFzPjxkaXYgY2xhc3M9InNldHRpbmdzLWNvbm5lY3QtcXItZW1wdHkiIGlkPSJhbmRyb2lkLWNvbm5lY3QtcXItZW1wdHkiPlx1NzUxRlx1NjIxMFx1NEUyRFx1MjAyNjwvZGl2PjwvZGl2PjxwIGNsYXNzPSJzZXR0aW5ncy1jb25uZWN0LXFyLWhpbnQiPlx1NzUyOCBXYW5kIEFwcCBcdTYyNkJcdTRFMDBcdTYyNkJcdUZGMENcdTUzNzNcdTUzRUZcdTRFMDBcdTk1MkVcdTU4NkJcdTUxNjVcdTY3MERcdTUyQTFcdTU2NjhcdTU3MzBcdTU3NDBcdTRFMEVcdThGREVcdTYzQTVcdTc4MDFcdTMwMDI8L3A+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwiIGlkPSJzZXR0aW5ncy10YWItbm90aWZpY2F0aW9ucyIgcm9sZT0idGFicGFuZWwiPjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsLWhlYWRlciI+PGgzIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC10aXRsZSI+XHU5MDFBXHU3N0U1PC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtZGVzYyI+XHU4QkJFXHU3RjZFXHU2M0QwXHU3OTNBXHU5N0YzXHUzMDAxXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1NDhDXHU2RDRGXHU4OUM4XHU1NjY4XHU5MDFBXHU3N0U1XHU3Njg0XHU4ODRDXHU0RTNBXHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigiYmVsbCIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1OTAxQVx1NzdFNVx1NTA0Rlx1NTk3RDwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTYzRDBcdTc5M0FcdTk3RjNcdTRFMEVcdTVFOTRcdTc1MjhcdTUxODVcdTkwMUFcdTc3RTVcdTZDMTRcdTZDRTE8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1ub3RpZi1zb3VuZCI+XHU2NEFEXHU2NTNFXHU2M0QwXHU3OTNBXHU5N0YzPC9sYWJlbD48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWRlc2MiPlx1OTFDRFx1ODk4MVx1OTAxQVx1NzdFNVx1RkYwOFx1NzI0OFx1NjcyQ1x1NjZGNFx1NjVCMFx1MzAwMVx1Njc0M1x1OTY1MFx1N0I0OVx1NUY4NVx1N0I0OVx1RkYwOVx1NjVGNlx1NjRBRFx1NjUzRVx1NjdENFx1NTQ4Q1x1NjNEMFx1NzkzQVx1OTdGM1x1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctbm90aWYtc291bmQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcmFuZ2Utcm93IiBpZD0ibm90aWYtdm9sdW1lLWZpZWxkIj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXJhbmdlLWxhYmVsIiBmb3I9ImNmZy1ub3RpZi12b2x1bWUiPlx1OTdGM1x1OTFDRjwvbGFiZWw+PGlucHV0IGlkPSJjZmctbm90aWYtdm9sdW1lIiB0eXBlPSJyYW5nZSIgbWluPSIwIiBtYXg9IjEwMCIgc3RlcD0iNSIgY2xhc3M9InNldHRpbmdzLXJhbmdlIiAvPjxzcGFuIGlkPSJjZmctbm90aWYtdm9sdW1lLXZhbCIgY2xhc3M9InNldHRpbmdzLXJhbmdlLXZhbHVlIj44MCU8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1ub3RpZi1idWJibGUiPlx1NUU5NFx1NzUyOFx1NTE4NVx1OTAxQVx1NzdFNVx1NkMxNFx1NkNFMTwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTU3MjhcdTk4NzVcdTk3NjJcdTk4NzZcdTkwRThcdTVGMzlcdTUxRkFcdTZENkVcdTUyQThcdTkwMUFcdTc3RTVcdTZDMTRcdTZDRTFcdTMwMDI8L3NwYW4+PC9kaXY+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy1zd2l0Y2giPjxpbnB1dCBpZD0iY2ZnLW5vdGlmLWJ1YmJsZSIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJuYXRpdmUtc291bmQtc2VjdGlvbiIgY2xhc3M9InNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uIGhpZGRlbiI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooIm11c2ljIix7c2l6ZToxOCxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZC10ZXh0Ij48aDQgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZGluZyI+XHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU5NEMzXHU1OEYwPC9oND48cCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1zdWIiPlx1OTAwOVx1NjJFOSBBbmRyb2lkIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NEY3Rlx1NzUyOFx1NzY4NFx1OTRDM1x1NThGMDwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24iPjxzZWxlY3QgaWQ9Im5hdGl2ZS1zb3VuZC1zZWxlY3QiIGNsYXNzPSJmaWVsZC1pbnB1dCBmaWVsZC1zZWxlY3QiPjwvc2VsZWN0PjxidXR0b24gaWQ9Im5hdGl2ZS1zb3VuZC1wcmV2aWV3IiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGJ0bi13aXRoLWljb24iIHR5cGU9ImJ1dHRvbiI+JytKKCJwbGF5Iix7c2l6ZToxMSxzdHJva2VXaWR0aDoxLjgsZmlsbDoiY3VycmVudENvbG9yIn0pKyc8c3Bhbj5cdThCRDVcdTU0MkM8L3NwYW4+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0ibmF0aXZlLWhhcHRpYy1zZWN0aW9uIiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24gaGlkZGVuIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWljb24iPicrSigidmlicmF0ZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1ODlFNlx1NjExRlx1NTNDRFx1OTk4ODwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTYzMDlcdTk0QUVcdTY0Q0RcdTRGNUNcdTU0OENcdTRFRkJcdTUyQTFcdTVCOENcdTYyMTBcdTY1RjZcdTYzRDBcdTRGOUJcdTYzMkZcdTUyQThcdTUzQ0RcdTk5ODg8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXJvdyI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRleHQiPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLXRpdGxlIiBmb3I9ImNmZy1oYXB0aWMtZW5hYmxlZCI+XHU1NDJGXHU3NTI4XHU4OUU2XHU2MTFGXHU1M0NEXHU5OTg4PC9sYWJlbD48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaGFwdGljLWVuYWJsZWQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24iPjxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taGVhZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLXNlY3Rpb24taWNvbiI+JytKKCJnbG9iZSIse3NpemU6MTgsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dCI+PGg0IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmciPlx1NkQ0Rlx1ODlDOFx1NTY2OFx1OTAxQVx1NzdFNTwvaDQ+PHAgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24tc3ViIj5cdTY3NjVcdTgxRUFcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTRFMkRcdTVGQzNcdTc2ODRcdTVGMzlcdTdBOTc8L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtYWJvdXQtcm93Ij48c3BhbiBjbGFzcz0ic2V0dGluZ3MtbGFiZWwiPlx1NjM4OFx1Njc0M1x1NzJCNlx1NjAwMTwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtdmFsdWUiIGlkPSJub3RpZmljYXRpb24tcGVybWlzc2lvbi1zdGF0dXMiPi08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdXBkYXRlLWFjdGlvbnMiPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tc20gaGlkZGVuIiB0eXBlPSJidXR0b24iPlx1NjM4OFx1Njc0M1x1OTAxQVx1NzdFNTwvYnV0dG9uPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi1yZXNldC1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBoaWRkZW4iIHR5cGU9ImJ1dHRvbiI+XHU5MUNEXHU2NUIwXHU2Mzg4XHU2NzQzPC9idXR0b24+PGJ1dHRvbiBpZD0ibm90aWZpY2F0aW9uLXRlc3QtYnRuIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIiB0eXBlPSJidXR0b24iPlx1NTNEMVx1OTAwMVx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNTwvYnV0dG9uPjxidXR0b24gaWQ9Im5vdGlmaWNhdGlvbi10ZXN0LWRlbGF5LWJ0biIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIiB0eXBlPSJidXR0b24iPjEwIFx1NzlEMlx1NTQwRVx1NTNEMVx1OTAwMTwvYnV0dG9uPjwvZGl2PjxwIGlkPSJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIiBjbGFzcz0iaGludCBoaWRkZW4iPjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1nZW5lcmFsIiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTU3RkFcdTY3MkNcdTkxNERcdTdGNkU8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTkxNERcdTdGNkVcdTY3MERcdTUyQTFcdTc2RDFcdTU0MkNcdTU3MzBcdTU3NDBcdTMwMDFcdTlFRDhcdThCQTRcdTZBMjFcdTVGMEZcdTMwMDFcdThCRURcdThBMDBcdTU0OENcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtcm93Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctaG9zdCI+XHU3NkQxXHU1NDJDXHU1NzMwXHU1NzQwIChob3N0KTwvbGFiZWw+PGlucHV0IGlkPSJjZmctaG9zdCIgdHlwZT0idGV4dCIgY2xhc3M9ImZpZWxkLWlucHV0IiBwbGFjZWhvbGRlcj0iMTI3LjAuMC4xIiAvPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1wb3J0Ij5cdTdBRUZcdTUzRTMgKHBvcnQpPC9sYWJlbD48aW5wdXQgaWQ9ImNmZy1wb3J0IiB0eXBlPSJudW1iZXIiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ijg0NDMiIG1pbj0iMSIgbWF4PSI2NTUzNSIgLz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtcm93Ij48ZGl2IGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGV4dCI+PGxhYmVsIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtdGl0bGUiIGZvcj0iY2ZnLWh0dHBzIj5cdTU0MkZcdTc1MjggSFRUUFM8L2xhYmVsPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy10b2dnbGUtZGVzYyI+XHU0RjdGXHU3NTI4XHU4MUVBXHU3QjdFXHU1NDBEXHU4QkMxXHU0RTY2XHU1MkEwXHU1QkM2XHU2RDRGXHU4OUM4XHU1NjY4XHU1MjMwXHU2NzBEXHU1MkExXHU3Njg0XHU4RkRFXHU2M0E1XHVGRjBDaG9zdCBcdTRFM0FcdTk3NUUgMTI3LjAuMC4xIFx1NjVGNlx1NUVGQVx1OEJBRVx1NUYwMFx1NTQyRlx1MzAwMjwvc3Bhbj48L2Rpdj48bGFiZWwgY2xhc3M9InNldHRpbmdzLXN3aXRjaCI+PGlucHV0IGlkPSJjZmctaHR0cHMiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQtcm93Ij48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctbW9kZSI+XHU5RUQ4XHU4QkE0XHU2MjY3XHU4ODRDXHU2QTIxXHU1RjBGPC9sYWJlbD48c2VsZWN0IGlkPSJjZmctbW9kZSIgY2xhc3M9ImZpZWxkLWlucHV0Ij48b3B0aW9uIHZhbHVlPSJkZWZhdWx0Ij5kZWZhdWx0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iYXNzaXN0Ij5hc3Npc3Q8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZ2VudCI+YWdlbnQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJhZ2VudC1tYXgiPmFnZW50LW1heDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9ImF1dG8tZWRpdCI+YXV0by1lZGl0PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iZnVsbC1hY2Nlc3MiPmZ1bGwtYWNjZXNzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0ibmF0aXZlIj5uYXRpdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJtYW5hZ2VkIj5tYW5hZ2VkPC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY2ZnLWxhbmd1YWdlIj5cdTU2REVcdTU5MERcdThCRURcdThBMDA8L2xhYmVsPjxzZWxlY3QgaWQ9ImNmZy1sYW5ndWFnZSIgY2xhc3M9ImZpZWxkLWlucHV0Ij48b3B0aW9uIHZhbHVlPSIiPlx1ODFFQVx1NTJBOFx1RkYwOFx1NEUwRFx1NjMwN1x1NUI5QVx1RkYwOTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1NEUyRFx1NjU4NyI+XHU0RTJEXHU2NTg3PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRW5nbGlzaCI+RW5nbGlzaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1NjVFNVx1NjcyQ1x1OEE5RSI+XHU2NUU1XHU2NzJDXHU4QTlFPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iXHVENTVDXHVBRDZEXHVDNUI0Ij5cdUQ1NUNcdUFENkRcdUM1QjQ8L29wdGlvbj48b3B0aW9uIHZhbHVlPSJFc3BhXHhGMW9sIj5Fc3BhXHhGMW9sPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRnJhblx4RTdhaXMiPkZyYW5ceEU3YWlzPC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iRGV1dHNjaCI+RGV1dHNjaDwvb3B0aW9uPjxvcHRpb24gdmFsdWU9Ilx1MDQyMFx1MDQ0M1x1MDQ0MVx1MDQ0MVx1MDQzQVx1MDQzOFx1MDQzOSI+XHUwNDIwXHUwNDQzXHUwNDQxXHUwNDQxXHUwNDNBXHUwNDM4XHUwNDM5PC9vcHRpb24+PC9zZWxlY3Q+PC9kaXY+PC9kaXY+PHAgY2xhc3M9ImZpZWxkLWhpbnQiIHN0eWxlPSJtYXJnaW4tdG9wOi00cHg7Ij5cdThCQkVcdTdGNkVcdTU2REVcdTU5MERcdThCRURcdThBMDBcdTU0MEVcdUZGMENDbGF1ZGUgXHU1QzA2XHU1QzNEXHU5MUNGXHU0RjdGXHU3NTI4XHU2MzA3XHU1QjlBXHU4QkVEXHU4QTAwXHU1NkRFXHU1OTBEXHUzMDAyPC9wPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1zdHJ1Y3R1cmVkLXJ1bm5lciI+XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREIFJ1bm5lcjwvbGFiZWw+PHNlbGVjdCBpZD0iY2ZnLXN0cnVjdHVyZWQtcnVubmVyIiBjbGFzcz0iZmllbGQtaW5wdXQiPjxvcHRpb24gdmFsdWU9InNkayI+U0RLXHVGRjA4QGFudGhyb3BpYy1haS9jbGF1ZGUtYWdlbnQtc2RrXHVGRjBDXHU5RUQ4XHU4QkE0XHVGRjA5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0iY2xpIj5DTElcdUZGMDhzcGF3biBjbGF1ZGUgLXBcdUZGMDk8L29wdGlvbj48L3NlbGVjdD48cCBjbGFzcz0iZmllbGQtaGludCIgc3R5bGU9Im1hcmdpbi10b3A6NHB4OyI+U0RLIFx1NkEyMVx1NUYwRlx1NEY3Rlx1NzUyOFx1NUI5OFx1NjVCOSBBZ2VudCBTREsgXHU2NkZGXHU0RUUzIENMSSBzdWJwcm9jZXNzXHVGRjBDXHU2M0E1XHU1M0UzXHU2NkY0XHU2NTc0XHU2RDAxXHVGRjBDXHU1MjlGXHU4MEZEXHU3QjQ5XHU0RUY3XHUzMDAyXHU0RkREXHU1QjU4XHU1NDBFXHU1QkY5XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU3QUNCXHU1MzczXHU3NTFGXHU2NTQ4XHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1yb3ciPjxkaXYgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10ZXh0Ij48bGFiZWwgY2xhc3M9InNldHRpbmdzLXRvZ2dsZS10aXRsZSIgZm9yPSJjZmctaW5oZXJpdC1lbnYiPlx1N0VFN1x1NjI3Rlx1NzNBRlx1NTg4M1x1NTNEOFx1OTFDRjwvbGFiZWw+PHNwYW4gY2xhc3M9InNldHRpbmdzLXRvZ2dsZS1kZXNjIj5cdTU0MkZcdTUyQTggUFRZIC8gXHU3RUQzXHU2Nzg0XHU1MzE2XHU1QjUwXHU4RkRCXHU3QTBCXHU2NUY2XHVGRjBDXHU2MjhBXHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU4RkRCXHU3QTBCXHU3Njg0XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGXHU0RjIwXHU3RUQ5IGNsYXVkZSAvIGNvZGV4XHUzMDAyXHU1MTczXHU5NUVEXHU1NDBFXHU1QjUwXHU4RkRCXHU3QTBCXHU0RUM1XHU4M0I3XHU1Rjk3XHU2NzAwXHU1QzBGXHU1M0VGXHU3NTI4XHU3M0FGXHU1ODgzXHVGRjA4UEFUSC9IT01FL1NIRUxML0xBTkcvVEVSTSBcdTdCNDlcdUZGMDlcdUZGMENcdTUzRUZcdTc1MjhcdTRFOEVcdTk2OTRcdTc5QkIgQVBJIGtleSBcdTdCNDlcdTY1NEZcdTYxMUZcdTUxRURcdTYzNkVcdTMwMDI8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtdG9nZ2xlLWFzaWRlIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy12aWV3LWVudi1idG4iIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHRpdGxlPSJcdTY3RTVcdTc3MEJcdTVCOUVcdTk2NDVcdTRGMUFcdTZDRThcdTUxNjVcdTUyMzBcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0YiPlx1NjdFNVx1NzcwQjwvYnV0dG9uPjxsYWJlbCBjbGFzcz0ic2V0dGluZ3Mtc3dpdGNoIj48aW5wdXQgaWQ9ImNmZy1pbmhlcml0LWVudiIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9sYWJlbD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZmctZGVmYXVsdC1tb2RlbCI+XHU5RUQ4XHU4QkE0XHU2QTIxXHU1NzhCPC9sYWJlbD48ZGl2IGNsYXNzPSJzZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24iPjxzZWxlY3QgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsIiBjbGFzcz0iZmllbGQtaW5wdXQgZmllbGQtc2VsZWN0Ij48b3B0aW9uIHZhbHVlPSIiPlx1OERERlx1OTY4RiBDbGF1ZGUgQ29kZSBcdTlFRDhcdThCQTQ8L29wdGlvbj48L3NlbGVjdD48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNmZy1kZWZhdWx0LW1vZGVsLXJlZnJlc2giIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjgiPlx1NTIzN1x1NjVCMDwvYnV0dG9uPjwvZGl2PjxwIGNsYXNzPSJmaWVsZC1oaW50IiBpZD0iY2ZnLWRlZmF1bHQtbW9kZWwtdmVyc2lvbiI+XHU2NUIwXHU1RUZBXHU0RjFBXHU4QkREXHU2NUY2XHU5RUQ4XHU4QkE0XHU0RjdGXHU3NTI4XHU4QkU1XHU2QTIxXHU1NzhCXHVGRjFCXHU4RkQwXHU4ODRDXHU0RTJEXHU3Njg0XHU0RjFBXHU4QkREXHU1M0VGXHU1NzI4XHU4RjkzXHU1MTY1XHU2ODQ2XHU1MjA3XHU2MzYyXHUzMDAyPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1jd2QiPlx1OUVEOFx1OEJBNFx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NTwvbGFiZWw+PGlucHV0IGlkPSJjZmctY3dkIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIvaG9tZS91c2VyIiAvPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImNmZy1zaGVsbCI+U2hlbGw8L2xhYmVsPjxpbnB1dCBpZD0iY2ZnLXNoZWxsIiB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSIvYmluL2Jhc2giIC8+PC9kaXY+JysodHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXRBcHBJY29uPT0iZnVuY3Rpb24iPyc8ZGl2IGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1ibG9jayI+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkIj48c3BhbiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1pY29uIj4nK0ooInBhbGV0dGUiLHtzaXplOjE4LHN0cm9rZVdpZHRoOjEuN30pKyc8L3NwYW4+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkLXRleHQiPjxoNCBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi1oZWFkaW5nIj5cdTVFOTRcdTc1MjhcdTU2RkVcdTY4MDc8L2g0PjxwIGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uLXN1YiI+XHU5MDA5XHU2MkU5IEFwcCBcdTU0MkZcdTUyQThcdTU2NjhcdTU2RkVcdTY4MDdcdUZGMENcdThGRDRcdTU2REVcdTY4NENcdTk3NjJcdTU0MEVcdTc1MUZcdTY1NDg8L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXBwLWljb24tcGlja2VyIiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tcGlja2VyIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIgZGF0YS1pY29uPSJzaG9ydGhhaXIiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1hcHAtaWNvbi1wcmV2aWV3Ij4nK21pLnVzZXIrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2V0dGluZ3MtYXBwLWljb24tbGFiZWwiPlx1OEQ1Qlx1NTM1QVx1ODY0RVx1NTk5RTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIgZGF0YS1pY29uPSJnYXJmaWVsZCI+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLXByZXZpZXciPicrbWkuYXNzaXN0YW50Kyc8L3NwYW4+PHNwYW4gY2xhc3M9InNldHRpbmdzLWFwcC1pY29uLWxhYmVsIj5cdTUyRTRcdTUyQjNcdTUyMURcdTRFOEM8L3NwYW4+PC9idXR0b24+PC9kaXY+PHAgaWQ9ImFwcC1pY29uLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2Pic6IiIpKyc8ZGl2IGNsYXNzPSJzZXR0aW5ncy1hY3Rpb25zIHNldHRpbmdzLWFjdGlvbnMtc3RpY2t5Ij48YnV0dG9uIGlkPSJzYXZlLWNvbmZpZy1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTRGRERcdTVCNThcdTkxNERcdTdGNkU8L2J1dHRvbj48L2Rpdj48cCBpZD0iY29uZmlnLW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiBzZXR0aW5ncy1zdGF0dXMtbWVzc2FnZSI+PC9wPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLXNlY3VyaXR5IiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTVCODlcdTUxNjg8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTdCQTFcdTc0MDZcdTc2N0JcdTVGNTVcdTVCQzZcdTc4MDFcdTRFMEUgU1NMIFx1OEJDMVx1NEU2Nlx1RkYwQ1x1NjU0Rlx1NjExRlx1NTNEOFx1NjZGNFx1OEJGN1x1Nzg2RVx1OEJBNFx1NTQwRVx1NTE4RFx1NEZERFx1NUI1OFx1MzAwMjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iPlx1ezFGNTEyfTwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5cdTRGRUVcdTY1MzlcdTVCQzZcdTc4MDE8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWRlc2MiPlx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYxQlx1NEZERFx1NUI1OFx1NTQwRVx1NEUwQlx1NkIyMVx1NzY3Qlx1NUY1NVx1NzUxRlx1NjU0OFx1MzAwMjwvcD48L2Rpdj48L2Rpdj48Zm9ybSBpZD0iY2hhbmdlLXBhc3N3b3JkLWZvcm0iIGF1dG9jb21wbGV0ZT0ib24iIG9uc3VibWl0PSJyZXR1cm4gZmFsc2U7Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiIHZhbHVlPSJ3YW5kIiB0YWJpbmRleD0iLTEiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotOTk5OXB4O3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lIiByZWFkb25seSAvPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9Im5ldy1wYXNzd29yZCI+XHU2NUIwXHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9Im5ldy1wYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIGNsYXNzPSJmaWVsZC1pbnB1dCIgcGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NjVCMFx1NUJDNlx1NzgwMVx1RkYwOFx1ODFGM1x1NUMxMSA2IFx1NEUyQVx1NUI1N1x1N0IyNlx1RkYwOSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIC8+PC9kaXY+PGRpdiBjbGFzcz0iZmllbGQiPjxsYWJlbCBjbGFzcz0iZmllbGQtbGFiZWwiIGZvcj0iY29uZmlybS1wYXNzd29yZCI+XHU3ODZFXHU4QkE0XHU1QkM2XHU3ODAxPC9sYWJlbD48aW5wdXQgaWQ9ImNvbmZpcm0tcGFzc3dvcmQiIHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZmllbGQtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTUxOERcdTZCMjFcdThGOTNcdTUxNjVcdTY1QjBcdTVCQzZcdTc4MDEiIGF1dG9jb21wbGV0ZT0ibmV3LXBhc3N3b3JkIiAvPjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLWNhcmQtYWN0aW9ucyI+PGJ1dHRvbiBpZD0ic2F2ZS1wYXNzd29yZC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIHR5cGU9InN1Ym1pdCI+XHU0RkREXHU1QjU4XHU1QkM2XHU3ODAxPC9idXR0b24+PC9kaXY+PHAgaWQ9InNldHRpbmdzLWVycm9yIiBjbGFzcz0iZXJyb3ItbWVzc2FnZSBoaWRkZW4iPjwvcD48cCBpZD0ic2V0dGluZ3Mtc3VjY2VzcyIgY2xhc3M9ImhpbnQgc2V0dGluZ3Mtc3VjY2Vzcy1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZm9ybT48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQiPjxzcGFuIGNsYXNzPSJzZXR0aW5ncy1jYXJkLWljb24iPlx1ezFGNTEwfTwvc3Bhbj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1jYXJkLWhlYWQtdGV4dCI+PGgzIGNsYXNzPSJzZXR0aW5ncy1jYXJkLXRpdGxlIj5TU0wgXHU4QkMxXHU0RTY2PC9oMz48cCBjbGFzcz0ic2V0dGluZ3MtY2FyZC1kZXNjIiBpZD0iY2VydC1zdGF0dXMiPlx1NTJBMFx1OEY3RFx1NEUyRC4uLjwvcD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZXJ0LWtleS1maWxlIj5cdTc5QzFcdTk0QTVcdTY1ODdcdTRFRjYgKC5rZXkpPC9sYWJlbD48ZGl2IGNsYXNzPSJmaWxlLXBpY2tlciI+PGlucHV0IGlkPSJjZXJ0LWtleS1maWxlIiB0eXBlPSJmaWxlIiBjbGFzcz0iZmlsZS1waWNrZXItaW5wdXQiIGFjY2VwdD0iLmtleSwucGVtIiAvPjxsYWJlbCBmb3I9ImNlcnQta2V5LWZpbGUiIGNsYXNzPSJmaWxlLXBpY2tlci10cmlnZ2VyIj48c3ZnIGNsYXNzPSJmaWxlLXBpY2tlci1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0yMS40NCAxMS4wNWwtOS4xOSA5LjE5YTYgNiAwIDAgMS04LjQ5LTguNDlsOS4xOS05LjE5YTQgNCAwIDAgMSA1LjY2IDUuNjZsLTkuMiA5LjE5YTIgMiAwIDAgMS0yLjgzLTIuODNsOC40OS04LjQ4Ij48L3BhdGg+PC9zdmc+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLWxhYmVsIj5cdTkwMDlcdTYyRTlcdTc5QzFcdTk0QTU8L3NwYW4+PC9sYWJlbD48c3BhbiBjbGFzcz0iZmlsZS1waWNrZXItbmFtZSIgZGF0YS1kZWZhdWx0PSJcdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjYiPlx1NjcyQVx1OTAwOVx1NjJFOVx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCIgZm9yPSJjZXJ0LWNlcnQtZmlsZSI+XHU4QkMxXHU0RTY2XHU2NTg3XHU0RUY2ICguY3J0Ly5wZW0pPC9sYWJlbD48ZGl2IGNsYXNzPSJmaWxlLXBpY2tlciI+PGlucHV0IGlkPSJjZXJ0LWNlcnQtZmlsZSIgdHlwZT0iZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLWlucHV0IiBhY2NlcHQ9Ii5jcnQsLnBlbSwuY2VydCIgLz48bGFiZWwgZm9yPSJjZXJ0LWNlcnQtZmlsZSIgY2xhc3M9ImZpbGUtcGlja2VyLXRyaWdnZXIiPjxzdmcgY2xhc3M9ImZpbGUtcGlja2VyLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjE0IDIgMTQgOCAyMCA4Ij48L3BvbHlsaW5lPjwvc3ZnPjxzcGFuIGNsYXNzPSJmaWxlLXBpY2tlci1sYWJlbCI+XHU5MDA5XHU2MkU5XHU4QkMxXHU0RTY2PC9zcGFuPjwvbGFiZWw+PHNwYW4gY2xhc3M9ImZpbGUtcGlja2VyLW5hbWUiIGRhdGEtZGVmYXVsdD0iXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2Ij5cdTY3MkFcdTkwMDlcdTYyRTlcdTY1ODdcdTRFRjY8L3NwYW4+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3MtY2FyZC1hY3Rpb25zIj48YnV0dG9uIGlkPSJ1cGxvYWQtY2VydC1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiPlx1NEUwQVx1NEYyMFx1OEJDMVx1NEU2NjwvYnV0dG9uPjwvZGl2PjxwIGlkPSJjZXJ0LW1lc3NhZ2UiIGNsYXNzPSJoaW50IGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNldHRpbmdzLXBhbmVsIiBpZD0ic2V0dGluZ3MtdGFiLXByZXNldHMiIHJvbGU9InRhYnBhbmVsIj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1oZWFkZXIiPjxoMyBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtdGl0bGUiPlx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRTwvaDM+PHAgY2xhc3M9InNldHRpbmdzLXBhbmVsLWRlc2MiPlx1NUY1M1x1NTI0RFx1NTQ3RFx1NEVFNFx1OTg4NFx1OEJCRVx1NEVDRSBjb25maWcuanNvbiBcdThCRkJcdTUzRDZcdUZGMENcdTUzRUZcdTU3MjhcdThGRDlcdTkxQ0NcdTVGRUJcdTkwMUZcdTY3RTVcdTc3MEJcdTVERjJcdTY3MDlcdTkxNERcdTdGNkVcdTMwMDI8L3A+PC9kaXY+PGRpdiBpZD0icHJlc2V0cy1saXN0IiBjbGFzcz0icHJlc2V0cy1saXN0Ij48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1wYW5lbCIgaWQ9InNldHRpbmdzLXRhYi1kaXNwbGF5IiByb2xlPSJ0YWJwYW5lbCI+PGRpdiBjbGFzcz0ic2V0dGluZ3MtcGFuZWwtaGVhZGVyIj48aDMgY2xhc3M9InNldHRpbmdzLXBhbmVsLXRpdGxlIj5cdTY2M0VcdTc5M0E8L2gzPjxwIGNsYXNzPSJzZXR0aW5ncy1wYW5lbC1kZXNjIj5cdTYzQTdcdTUyMzZcdTgwNEFcdTU5MjlcdTg5QzZcdTU2RkVcdTkxQ0NcdTRFMERcdTU0MENcdTUzNjFcdTcyNDdcdTdDN0JcdTU3OEJcdTc2ODRcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDFcdTMwMDI8L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbi10aXRsZSI+XHU1MzYxXHU3MjQ3XHU5RUQ4XHU4QkE0XHU1QzU1XHU1RjAwXHU3MkI2XHU2MDAxPC9kaXY+PHAgY2xhc3M9ImhpbnQgc2V0dGluZ3MtaW5saW5lLWhpbnQiPlx1OEJCRVx1N0Y2RVx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1ODlDNlx1NTZGRVx1NEUyRFx1NTQwNFx1N0M3Qlx1NTM2MVx1NzI0N1x1NzY4NFx1OUVEOFx1OEJBNFx1NUM1NVx1NUYwMC9cdTYyOThcdTUzRTBcdTcyQjZcdTYwMDFcdTMwMDJcdTYyNEJcdTUyQThcdTY0Q0RcdTRGNUNcdTc2ODRcdTVDNTVcdTVGMDBcdTcyQjZcdTYwMDFcdTRGMThcdTUxNDhcdTRFOEVcdTZCNjRcdTlFRDhcdThCQTRcdThCQkVcdTdGNkVcdTMwMDI8L3A+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtbGlzdCI+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC1lZGl0Ij48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU3RjE2XHU4RjkxXHU1MzYxXHU3MjQ3IChFZGl0L1dyaXRlKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLWVkaXQiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSIgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciI+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWRlc2MiPlx1NjU4N1x1NEVGNlx1N0YxNlx1OEY5MVx1NTQ4Q1x1NTE5OVx1NTE2NVx1NjRDRFx1NEY1Q1x1NzY4NCBkaWZmIFx1ODlDNlx1NTZGRTwvZGl2PjwvbGFiZWw+PGxhYmVsIGNsYXNzPSJzd2l0Y2gtY2FyZCIgZm9yPSJjZmctY2FyZC1pbmxpbmUiPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTUxODVcdTgwNTRcdTVERTVcdTUxNzcgKFJlYWQvR2xvYi9HcmVwKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLWlubGluZSIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU2NTg3XHU0RUY2XHU4QkZCXHU1M0Q2XHUzMDAxXHU2NDFDXHU3RDIyXHU3QjQ5XHU1REU1XHU1MTc3XHU3Njg0XHU3RUQzXHU2NzlDPC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLXRlcm1pbmFsIj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1oZWFkZXIiPjxzcGFuIGNsYXNzPSJzd2l0Y2gtY2FyZC10aXRsZSI+XHU3RUM4XHU3QUVGXHU4RjkzXHU1MUZBIChCYXNoKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRlcm1pbmFsIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5cdTU0N0RcdTRFRTRcdTg4NENcdTYyNjdcdTg4NENcdTdFRDNcdTY3OUM8L2Rpdj48L2xhYmVsPjxsYWJlbCBjbGFzcz0ic3dpdGNoLWNhcmQiIGZvcj0iY2ZnLWNhcmQtdGhpbmtpbmciPjxkaXYgY2xhc3M9InN3aXRjaC1jYXJkLWhlYWRlciI+PHNwYW4gY2xhc3M9InN3aXRjaC1jYXJkLXRpdGxlIj5cdTYwMURcdTgwMDNcdThGQzdcdTdBMEIgKFRoaW5raW5nKTwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRoaW5raW5nIiB0eXBlPSJjaGVja2JveCIgY2xhc3M9InN3aXRjaC10b2dnbGUiIC8+PHNwYW4gY2xhc3M9InN3aXRjaC1zbGlkZXIiPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJzd2l0Y2gtY2FyZC1kZXNjIj5DbGF1ZGUgXHU3Njg0XHU2MDFEXHU4MDAzXHU4RkM3XHU3QTBCXHU1NzU3PC9kaXY+PC9sYWJlbD48bGFiZWwgY2xhc3M9InN3aXRjaC1jYXJkIiBmb3I9ImNmZy1jYXJkLXRvb2xncm91cCI+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtaGVhZGVyIj48c3BhbiBjbGFzcz0ic3dpdGNoLWNhcmQtdGl0bGUiPlx1NURFNVx1NTE3N1x1N0VDNDwvc3Bhbj48aW5wdXQgaWQ9ImNmZy1jYXJkLXRvb2xncm91cCIgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJzd2l0Y2gtdG9nZ2xlIiAvPjxzcGFuIGNsYXNzPSJzd2l0Y2gtc2xpZGVyIj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3dpdGNoLWNhcmQtZGVzYyI+XHU4RkRFXHU3RUVEXHU1NDBDXHU3QzdCXHU1REU1XHU1MTc3XHU4QzAzXHU3NTI4XHU3Njg0XHU2Mjk4XHU1M0UwXHU3RUM0PC9kaXY+PC9sYWJlbD48L2Rpdj48ZGl2IGNsYXNzPSJzZXR0aW5ncy1hY3Rpb25zIHNldHRpbmdzLWFjdGlvbnMtc3RpY2t5Ij48YnV0dG9uIGlkPSJzYXZlLWRpc3BsYXktYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1ibG9jayI+XHU0RkREXHU1QjU4XHU2NjNFXHU3OTNBXHU4QkJFXHU3RjZFPC9idXR0b24+PC9kaXY+PHAgaWQ9ImRpc3BsYXktbWVzc2FnZSIgY2xhc3M9ImhpbnQgaGlkZGVuIHNldHRpbmdzLXN0YXR1cy1tZXNzYWdlIj48L3A+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPid9ZnVuY3Rpb24gU20oZSl7dmFyIHQ9SmUoKTtyZXR1cm4gZS5zZWxlY3RlZElkPyIiOic8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3QiIGlkPSJmb2xkZXItcGlja2VyLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1jb21wYWN0LXJvdyI+PHNwYW4gY2xhc3M9ImZvbGRlci1waWNrZXItY29tcGFjdC1pY29uIj4nK0ooImZvbGRlciIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZvbGRlci1waWNrZXItaW5wdXQiIGNsYXNzPSJmb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXQiIHZhbHVlPSInK3AodCkrJyIgcGxhY2Vob2xkZXI9Ilx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSIgYXV0b2NvbXBsZXRlPSJvZmYiIC8+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJmb2xkZXItcGlja2VyLXRvZ2dsZSIgY2xhc3M9ImZvbGRlci1waWNrZXItdG9nZ2xlIiB0aXRsZT0iXHU5MDA5XHU2MkU5XHU3NkVFXHU1RjU1IiBhcmlhLWxhYmVsPSJcdTkwMDlcdTYyRTlcdTc2RUVcdTVGNTUiPicrSigiY2hldnJvbkRvd24iLHtzaXplOjExLHN0cm9rZVdpZHRoOjJ9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBpZD0iZm9sZGVyLXBpY2tlci1kcm9wZG93biIgY2xhc3M9ImZvbGRlci1waWNrZXItZHJvcGRvd24gaGlkZGVuIj48ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLXJvdyI+PGJ1dHRvbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1idG4iIGRhdGEtcGF0aD0iL3RtcCI+XHU0RTM0XHU2NUY2PC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1idG4iIGRhdGEtcGF0aD0iLyI+XHU2ODM5XHU3NkVFXHU1RjU1PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIiBjbGFzcz0iZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIj48L2Rpdj48L2Rpdj4nfWZ1bmN0aW9uIEltKGUpe3ZhciB0PUplKCkscj10O2lmKGUuc2VsZWN0ZWRJZCl7dmFyIGk9ZS5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09ZS5zZWxlY3RlZElkfSk7cj1pJiZpLmN3ZD9pLmN3ZDp0fXZhciBhPXI7cmV0dXJuIGEubGVuZ3RoPjI4JiYoYT0iLi4uIithLnNsaWNlKC0yNSkpLCc8ZGl2IGNsYXNzPSJ3b3JraW5nLWRpci1pbmRpY2F0b3IiIGlkPSJ3b3JraW5nLWRpci1pbmRpY2F0b3IiIHRpdGxlPSInK3AocikrJyIgZGF0YS1wYXRoPSInK3AocikrJyI+PHNwYW4gY2xhc3M9IndvcmtpbmctZGlyLWluZGljYXRvci1pY29uIj4nK0ooImZvbGRlciIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0id29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGgiPicrcChhKSsiPC9zcGFuPjwvZGl2PiJ9ZnVuY3Rpb24gUHUoZSl7aWYoIWUpcmV0dXJuIiI7dmFyIHQ9RGF0ZS5ub3coKSxyPW5ldyBEYXRlKGUpLmdldFRpbWUoKSxpPU1hdGgubWF4KDAsdC1yKSxhPU1hdGguZmxvb3IoaS8xZTMpO2lmKGE8NjApcmV0dXJuIlx1NTIxQVx1NTIxQSI7dmFyIHU9TWF0aC5mbG9vcihhLzYwKTtpZih1PDYwKXJldHVybiB1KyJcdTUyMDZcdTk0OUZcdTUyNEQiO3ZhciBzPU1hdGguZmxvb3IodS82MCk7aWYoczwyNClyZXR1cm4gcysiXHU1QzBGXHU2NUY2XHU1MjREIjt2YXIgbz1NYXRoLmZsb29yKHMvMjQpO3JldHVybiBvPDMwP28rIlx1NTkyOVx1NTI0RCI6TWF0aC5mbG9vcihvLzMwKSsiXHU0RTJBXHU2NzA4XHU1MjREIn1mdW5jdGlvbiBIdShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1EYXRlLm5vdygpLHI9bmV3IERhdGUoZSkuZ2V0VGltZSgpLGk9TWF0aC5tYXgoMCx0LXIpLGE9TWF0aC5mbG9vcihpLzFlMyksdT1NYXRoLmZsb29yKGEvNjApLHM9TWF0aC5mbG9vcih1LzYwKTtyZXR1cm4gcz4wP3MrImgiKyh1JTYwPjA/dSU2MCsibSI6IiIpOnU+MD91KyJtIjphKyJzIn1mdW5jdGlvbiBvcihlKXtpZighZSlyZXR1cm4iIjtpZihlLmFyY2hpdmVkKXJldHVybiJcdTVERjJcdTVGNTJcdTY4NjMiO2lmKGUucGVybWlzc2lvbkJsb2NrZWQpcmV0dXJuIlx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0MyI7aWYob2UoZSkmJmUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodClyZXR1cm4iXHU2MDFEXHU4MDAzXHU0RTJEIjt2YXIgdD17aWRsZToiXHU3QTdBXHU5NUYyIixzdG9wcGVkOiJcdTVERjJcdTUwNUNcdTZCNjIiLHJ1bm5pbmc6Ilx1OEZEMFx1ODg0Q1x1NEUyRCIsZXhpdGVkOiJcdTVERjJcdTkwMDBcdTUxRkEiLGZhaWxlZDoiXHU1REYyXHU1OTMxXHU4RDI1In07cmV0dXJuIHRbZS5zdGF0dXNdfHxlLnN0YXR1c31mdW5jdGlvbiBfdShlKXtyZXR1cm4gZT9lLmFyY2hpdmVkPyJhcmNoaXZlZCI6ZS5wZXJtaXNzaW9uQmxvY2tlZD8icGVybWlzc2lvbi1ibG9ja2VkIjpvZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0PyJydW5uaW5nIjplLnN0YXR1c3x8IiI6IiJ9ZnVuY3Rpb24gZ2MoZSl7cmV0dXJuIGU/ZS5wZXJtaXNzaW9uQmxvY2tlZD8iXHU3QjQ5XHU1Rjg1XHU0RjYwXHU3Njg0XHU2Mzg4XHU2NzQzIjplLnN0YXR1cyE9PSJydW5uaW5nIj8iIjplLmlkPT09bi5zZWxlY3RlZElkJiZuLmN1cnJlbnRUYXNrJiZuLmN1cnJlbnRUYXNrLnRpdGxlP24uY3VycmVudFRhc2sudGl0bGU6ZS5jdXJyZW50VGFza1RpdGxlP2UuY3VycmVudFRhc2tUaXRsZToiIjoiIn1mdW5jdGlvbiBoYyhlKXt2YXIgdD1lJiZlLm1lc3NhZ2VzO2lmKCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciByPXQubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPXRbcl07aWYoISghaXx8aS5yb2xlIT09InVzZXIiKSl7dmFyIGE9aS5jb250ZW50O2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIHU9YS50cmltKCk7aWYodSlyZXR1cm4gdTtjb250aW51ZX1pZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgcz0wO3M8YS5sZW5ndGg7cysrKXt2YXIgbz1hW3NdO2lmKCEoIW98fG8udHlwZSE9PSJ0ZXh0Inx8IW8udGV4dCkmJiFvLl9fcXVldWVkKXt2YXIgbD1TdHJpbmcoby50ZXh0KS50cmltKCk7aWYobClyZXR1cm4gbH19fX1yZXR1cm4iIn1mdW5jdGlvbiB5YyhlKXt2YXIgdD1lJiZlLm1lc3NhZ2VzO2lmKCF0fHx0Lmxlbmd0aD09PTApcmV0dXJuIiI7Zm9yKHZhciByPXQubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPXRbcl07aWYoaS5yb2xlPT09ImFzc2lzdGFudCIpe2Zvcih2YXIgYT1pLmNvbnRlbnR8fFtdLHU9MDt1PGEubGVuZ3RoO3UrKylpZihhW3VdLnR5cGU9PT0idGV4dCImJmFbdV0udGV4dCYmYVt1XS50ZXh0LnRyaW0oKSl7dmFyIHM9YVt1XS50ZXh0LnRyaW0oKTtzPXMucmVwbGFjZSgvXiMrXHMrL2dtLCIiKS5yZXBsYWNlKC9cKlwqL2csIiIpLnJlcGxhY2UoL2AvZywiIik7dmFyIG89cy5zcGxpdChgCmApWzBdLnRyaW0oKTtyZXR1cm4gby5zbGljZSgwLDEwMCl9fX1yZXR1cm4iIn1mdW5jdGlvbiBSaShlLHQpe3ZhciByPWUuaWQ9PT1uLnNlbGVjdGVkSWQ/IiBhY3RpdmUiOiIiLGk9bi5zZXNzaW9uc01hbmFnZU1vZGUmJm4uc2VsZWN0ZWRTZXNzaW9uSWRzW2UuaWRdPyIgc2VsZWN0ZWQiOiIiLGE9b3IoZSksdT1fdShlKSxzPSIiLG89SnUoInNlc3Npb25zIixlLmlkLCJcdTkwMDlcdTYyRTlcdTRGMUFcdThCREQgIitlLmNvbW1hbmQpO2lmKChlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5jbGF1ZGVTZXNzaW9uSWQmJmUuc3RhdHVzIT09InJ1bm5pbmciJiYhbi5zZXNzaW9uc01hbmFnZU1vZGUmJiFvZShlKSl7dmFyIGw9ZS5wcm92aWRlcj09PSJjb2RleCI/Ilx1NjA2Mlx1NTkwRCBDb2RleCBcdTRGMUFcdThCREQiOiJcdTYwNjJcdTU5MEQgQ2xhdWRlIFx1NEYxQVx1OEJERCI7cz0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIiBkYXRhLWFjdGlvbj0icmVzdW1lIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IicrbCsnIiB0aXRsZT0iJytsKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEgNHY2aDYiLz48cGF0aCBkPSJNMy41MSAxNWE5IDkgMCAxMDUuNjQtMTEuMzZMMyAxMCIvPjwvc3ZnPjwvYnV0dG9uPid9dmFyIGM9IW4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiZlLndvcmt0cmVlRW5hYmxlZCYmZS53b3JrdHJlZSYmZS53b3JrdHJlZS5icmFuY2gmJmUud29ya3RyZWUucGF0aCxkPWUud29ya3RyZWVNZXJnZVN0YXR1cz09PSJtZXJnZWQiJiZlLndvcmt0cmVlTWVyZ2VJbmZvJiZlLndvcmt0cmVlTWVyZ2VJbmZvLmNsZWFudXBEb25lPT09ITEsZj1lLnN0YXR1cz09PSJydW5uaW5nInx8ZS53b3JrdHJlZU1lcmdlU3RhdHVzPT09Im1lcmdpbmciLHY9ZD8iXHU5MUNEXHU4QkQ1XHU2RTA1XHU3NDA2IHdvcmt0cmVlIjoiXHU1NDA4XHU1RTc2XHU1MjMwXHU0RTNCXHU1MjA2XHU2NTJGIixtPWMmJmUud29ya3RyZWVNZXJnZVN0YXR1cyE9PSJtZXJnZWQiPyc8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gbWVyZ2UtYnRuIiBkYXRhLWFjdGlvbj0id29ya3RyZWUtbWVyZ2UiIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iJytwKHYpKyciIHRpdGxlPSInK3AodikrJyInKyhmPyIgZGlzYWJsZWQiOiIiKSsnPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgN2gxMCIvPjxwYXRoIGQ9Ik03IDEyaDEwIi8+PHBhdGggZD0iTTcgMTdoMTAiLz48cGF0aCBkPSJNNSA3bC0yIDIgMiAyIi8+PHBhdGggZD0iTTE5IDE1bDIgMi0yIDIiLz48L3N2Zz48L2J1dHRvbj4nOmQ/JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBtZXJnZS1idG4iIGRhdGEtYWN0aW9uPSJ3b3JrdHJlZS1jbGVhbnVwIiBkYXRhLXNlc3Npb24taWQ9IicrZS5pZCsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSIgdGl0bGU9Ilx1OTFDRFx1OEJENVx1NkUwNVx1NzQwNiB3b3JrdHJlZSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyA2aDE4Ii8+PHBhdGggZD0iTTggNlY0YTIgMiAwIDAxMi0yaDRhMiAyIDAgMDEyIDJ2MiIvPjxwYXRoIGQ9Ik0xOSA2bC0xIDE0YTIgMiAwIDAxLTIgMkg4YTIgMiAwIDAxLTItMkw1IDYiLz48L3N2Zz48L2J1dHRvbj4nOiIiLGI9bi5zZXNzaW9uc01hbmFnZU1vZGU/IiI6JzxidXR0b24gY2xhc3M9InNlc3Npb24tYWN0aW9uLWJ0biBkZWxldGUtYnRuIiBkYXRhLWFjdGlvbj0iZGVsZXRlLXNlc3Npb24iIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIiB0aXRsZT0iXHU1MjIwXHU5NjY0XHU2QjY0XHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjwvYnV0dG9uPicsZz0nPHNwYW4gY2xhc3M9InNlc3Npb24tYWN0aW9ucyI+JytzK20rYisiPC9zcGFuPiIseT1lLnN1bW1hcnk/JzxkaXYgY2xhc3M9InNlc3Npb24tdGl0bGUiPicrcChlLnN1bW1hcnkpKyI8L2Rpdj4iOic8ZGl2IGNsYXNzPSJzZXNzaW9uLWNvbW1hbmQiPicrcChlLnJlc3VtZWRGcm9tU2Vzc2lvbklkP2UuY29tbWFuZC5yZXBsYWNlKC9ccystLXJlc3VtZVxzK1xTKy8sIiIpLnJlcGxhY2UoL1xzK3Jlc3VtZVxzK1swLTlhLWYtXSsvLCIiKTplLmNvbW1hbmQpKyI8L2Rpdj4iLHc9Z2MoZSksRj0iIjtlLnN0YXR1cz09PSJydW5uaW5nIiYmdyYmKEY9JzxkaXYgY2xhc3M9InNlc3Npb24tYWN0aXZpdHkiPicrcCh3KSsiPC9kaXY+Iik7dmFyIEU9IiI7ZS5zdGF0dXM9PT0icnVubmluZyI/RT0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9Ilx1NURGMlx1OEZEMFx1ODg0QyAnK3AoSHUoZS5zdGFydGVkQXQpKSsnIj4nK3AoSHUoZS5zdGFydGVkQXQpKSsiPC9zcGFuPiI6ZS5lbmRlZEF0P0U9JzxzcGFuIGNsYXNzPSJzZXNzaW9uLXRpbWUiIHRpdGxlPSInK3AobmV3IERhdGUoZS5lbmRlZEF0KS50b0xvY2FsZVN0cmluZygpKSsnIj4nK3AoUHUoZS5lbmRlZEF0KSkrIjwvc3Bhbj4iOmUuc3RhcnRlZEF0JiYoRT0nPHNwYW4gY2xhc3M9InNlc3Npb24tdGltZSIgdGl0bGU9IicrcChuZXcgRGF0ZShlLnN0YXJ0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKSkrJyI+JytwKFB1KGUuc3RhcnRlZEF0KSkrIjwvc3Bhbj4iKTt2YXIgQT1qdShlKSx4PWUuYXV0b1JlY292ZXJlZD8nPHNwYW4gY2xhc3M9InNlc3Npb24tcmVjb3ZlcnktaGludCI+XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEPC9zcGFuPic6IiI7cmV0dXJuJzxkaXYgY2xhc3M9InNlc3Npb24taXRlbScrcitpKyciIGRhdGEtc2Vzc2lvbi1pZD0iJytlLmlkKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9InNlc3Npb24taXRlbS1jb250ZW50Ij48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tcm93Ij4nK28rJzxkaXYgY2xhc3M9InNlc3Npb24tbWFpbiI+PGRpdiBjbGFzcz0ic2Vzc2lvbi10aXRsZS1yb3ciPicreStFKyI8L2Rpdj4iK0YrJzxkaXYgY2xhc3M9InNlc3Npb24tbWV0YSI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzICcrdSsnIj4nK3AoYSkrIjwvc3Bhbj4iK0EreCsiPC9kaXY+PC9kaXY+IitnKyI8L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGJjKGUpe2lmKCFlfHwhZS53b3JrdHJlZU1lcmdlU3RhdHVzKXJldHVybiIiO3ZhciB0PXtyZWFkeToiXHU1M0VGXHU1NDA4XHU1RTc2IixjaGVja2luZzoiXHU2OEMwXHU2N0U1XHU0RTJEIixtZXJnaW5nOiJcdTU0MDhcdTVFNzZcdTRFMkQiLG1lcmdlZDplLndvcmt0cmVlTWVyZ2VJbmZvJiZlLndvcmt0cmVlTWVyZ2VJbmZvLmNsZWFudXBEb25lPT09ITE/Ilx1NURGMlx1NTQwOFx1NUU3Nlx1NUY4NVx1NkUwNVx1NzQwNiI6Ilx1NURGMlx1NTQwOFx1NUU3NiIsZmFpbGVkOiJcdTU0MDhcdTVFNzZcdTU5MzFcdThEMjUifTtyZXR1cm4gdFtlLndvcmt0cmVlTWVyZ2VTdGF0dXNdfHwiIn1mdW5jdGlvbiBFYyhlKXt2YXIgdD1iYyhlKTtyZXR1cm4gdD8nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSB3b3JrdHJlZS1tZXJnZSAnK3AoZS53b3JrdHJlZU1lcmdlU3RhdHVzfHwiIikrJyI+JytwKHQpKyI8L3NwYW4+IjoiIn1mdW5jdGlvbiBqdShlKXtpZighZXx8IWUud29ya3RyZWVFbmFibGVkKXJldHVybiIiO3ZhciB0PVtdO2Uud29ya3RyZWUmJmUud29ya3RyZWUuYnJhbmNoJiZ0LnB1c2goIldvcmt0cmVlOiAiK2Uud29ya3RyZWUuYnJhbmNoKSxlLndvcmt0cmVlJiZlLndvcmt0cmVlLnBhdGgmJnQucHVzaCgiUGF0aDogIitlLndvcmt0cmVlLnBhdGgpO3ZhciByPXQubGVuZ3RoPjA/JyB0aXRsZT0iJytwKHQuam9pbihgCmApKSsnIic6IiI7cmV0dXJuJzxzcGFuIGNsYXNzPSJzZXNzaW9uLWtpbmQtYmFkZ2Ugd29ya3RyZWUiJytyKyI+V29ya3RyZWU8L3NwYW4+IitFYyhlKX1mdW5jdGlvbiBUbShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1vZShlKT8nPHNwYW4gY2xhc3M9InNlc3Npb24ta2luZC1iYWRnZSBzdHJ1Y3R1cmVkIj5TdHJ1Y3R1cmVkPC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLWtpbmQtYmFkZ2UgcHR5Ij5QVFk8L3NwYW4+JztyZXR1cm4gdCtqdShlKX1mdW5jdGlvbiBGYyhlKXt2YXIgdD1be2lkOiJtYW5hZ2VkIixsYWJlbDoiXHU2MjU4XHU3QkExIixkZXNjOiJcdTUxNjhcdTgxRUFcdTUyQThcdTVCOENcdTYyMTBcdTRFRkJcdTUyQTEifSx7aWQ6ImZ1bGwtYWNjZXNzIixsYWJlbDoiXHU1MTY4XHU2NzQzXHU5NjUwIixkZXNjOiJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTY3NDNcdTk2NTAifSx7aWQ6ImF1dG8tZWRpdCIsbGFiZWw6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSIsZGVzYzoiXHU4MUVBXHU1MkE4XHU3ODZFXHU4QkE0XHU0RkVFXHU2NTM5In0se2lkOiJkZWZhdWx0IixsYWJlbDoiXHU2ODA3XHU1MUM2IixkZXNjOiJcdTkwMTBcdTZCNjVcdTc4NkVcdThCQTRcdTY0Q0RcdTRGNUMifSx7aWQ6Im5hdGl2ZSIsbGFiZWw6Ilx1NTM5Rlx1NzUxRiIsZGVzYzoiXHU1MzlGXHU3NTFGXHU3RUQzXHU2Nzg0XHU1MzE2XHU4RjkzXHU1MUZBIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihyKXt2YXIgaT1yLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkJytpKyciIGRhdGEtbW9kZT0iJytyLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrci5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytyLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gd2MoZSl7dmFyIHQ9W3tpZDoiY2xhdWRlIixsYWJlbDoiQ2xhdWRlIixkZXNjOiJcdTVCOENcdTY1NzQgQ2xhdWRlIFx1NEYxQVx1OEJERFx1ODBGRFx1NTI5QiJ9LHtpZDoiY29kZXgiLGxhYmVsOiJDb2RleCIsZGVzYzoiXHU3RUQzXHU2Nzg0XHU1MzE2IEpTT05MIFx1NjIxNiBQVFkgXHU0RjFBXHU4QkREIn1dO3JldHVybiB0Lm1hcChmdW5jdGlvbihyKXt2YXIgaT1yLmlkPT09ZT8iIGFjdGl2ZSI6IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHByb3ZpZGVyLWNhcmQnK2krJyIgZGF0YS1wcm92aWRlcj0iJytyLmlkKyciPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtbGFiZWwiPicrci5sYWJlbCsnPC9zcGFuPjxzcGFuIGNsYXNzPSJtb2RlLWNhcmQtZGVzYyI+JytyLmRlc2MrIjwvc3Bhbj48L2J1dHRvbj4ifSkuam9pbigiIil9ZnVuY3Rpb24gQ2MoZSl7dmFyIHQ9W3tpZDoic3RydWN0dXJlZCIsbGFiZWw6Ilx1N0VEM1x1Njc4NFx1NTMxNiIsZGVzYzoiXHU2NjdBXHU4MEZEXHU1QkY5XHU4QkREXHU2QTIxXHU1RjBGIn0se2lkOiJwdHkiLGxhYmVsOiJQVFkiLGRlc2M6Ilx1NEVBNFx1NEU5Mlx1NUYwRlx1N0VDOFx1N0FFRlx1NEYxQVx1OEJERCJ9XTtyZXR1cm4gdC5tYXAoZnVuY3Rpb24ocil7dmFyIGk9ci5pZD09PWU/IiBhY3RpdmUiOiIiLGE9IiI7cmV0dXJuJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibW9kZS1jYXJkIHNlc3Npb24ta2luZC1jYXJkJytpK2ErJyIgZGF0YS1zZXNzaW9uLWtpbmQ9Iicrci5pZCsnIj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWxhYmVsIj4nK3IubGFiZWwrJzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9kZS1jYXJkLWRlc2MiPicrci5kZXNjKyI8L3NwYW4+PC9idXR0b24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIExtKGUpe3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZSIgZm9yPSJzZXNzaW9uLXdvcmt0cmVlLXRvZ2dsZSIgdGl0bGU9Ilx1NEUzQVx1OEJFNVx1NEYxQVx1OEJERFx1NTIxQlx1NUVGQVx1NzJFQ1x1N0FDQlx1NzY4NCBnaXQgd29ya3RyZWUgXHU1MjA2XHU2NTJGIj48c3ZnIGNsYXNzPSJzZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxjaXJjbGUgY3g9IjYiIGN5PSI2IiByPSIyLjIiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjYiIHI9IjIuMiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTgiIHI9IjIuMiIvPjxwYXRoIGQ9Ik02IDguMnYzLjRhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWOC4yIi8+PHBhdGggZD0iTTEyIDEzLjZ2Mi4yIi8+PC9zdmc+PHNwYW4gY2xhc3M9InNlc3Npb24taW5saW5lLXRvZ2dsZS1sYWJlbCI+V29ya3RyZWUgXHU2QTIxXHU1RjBGPC9zcGFuPjxpbnB1dCBpZD0ic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0ic3dpdGNoLXRvZ2dsZSInKyhlPyIgY2hlY2tlZCI6IiIpKycgLz48c3BhbiBjbGFzcz0ic3dpdGNoLXNsaWRlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gTnUoZSl7dmFyIHQ9bi5zZXNzaW9uVG9vbHx8ImNsYXVkZSI7cmV0dXJuIGU9PT0ic3RydWN0dXJlZCI/dD09PSJjb2RleCI/IkNvZGV4IEpTT05MIFx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6Ilx1N0VEM1x1Njc4NFx1NTMxNlx1ODA0QVx1NTkyOVx1NzU0Q1x1OTc2Mlx1RkYwQ1x1NjUyRlx1NjMwMVx1NTkxQVx1OEY2RVx1NUJGOVx1OEJERFx1MzAwMVx1NkQ0MVx1NUYwRlx1OEY5M1x1NTFGQVx1NTQ4Q1x1NURFNVx1NTE3N1x1OEMwM1x1NzUyOFx1NUM1NVx1NzkzQVx1MzAwMiI6dD09PSJjb2RleCI/IkNvZGV4IFBUWSBcdTdFQzhcdTdBRUZcdTRGMUFcdThCRERcdUZGMUJ0ZXJtaW5hbCBcdTY2MkZcdTUzOUZcdTU5Q0JcdThGOTNcdTUxRkFcdUZGMENjaGF0IFx1NjYyRlx1ODlFM1x1Njc5MFx1NTQwRVx1NzY4NFx1OTYwNVx1OEJGQlx1ODlDNlx1NTZGRVx1MzAwMiI6Ilx1NTM5Rlx1NTlDQiBQVFkgXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREXHVGRjBDXHU2NTJGXHU2MzAxXHU2MzAxXHU3RUVEXHU0RUE0XHU0RTkyXHUzMDAxXHU3RUM4XHU3QUVGXHU4OUM2XHU1NkZFXHU1NDhDXHU2NzQzXHU5NjUwXHU2RDQxXHUzMDAyIn1mdW5jdGlvbiBCYygpe3ZhciBlPXZ0KCksdD1OdChlLG4ubW9kZVZhbHVlfHxuLmNoYXRNb2RlfHwiZGVmYXVsdCIpLHI9bi5zZXNzaW9uQ3JlYXRlS2luZHx8InN0cnVjdHVyZWQiLGk9bi5zZXNzaW9uQ3JlYXRlV29ya3RyZWU9PT0hMDtyZXR1cm4nPHNlY3Rpb24gaWQ9InNlc3Npb24tbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIHNlc3Npb24tbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGRpdj48aDIgY2xhc3M9Im1vZGFsLXRpdGxlIj5cdTY1QjBcdTVCRjlcdThCREQ8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSI+XHU1NDJGXHU1MkE4IENsYXVkZSBcdTYyMTYgQ29kZXggXHU0RjFBXHU4QkREXHVGRjBDXHU5MDA5XHU2MkU5IHByb3ZpZGVyXHUzMDAxXHU0RjFBXHU4QkREXHU3QzdCXHU1NzhCXHUzMDAxXHU2QTIxXHU1RjBGXHU1NDhDXHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1XHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImNsb3NlLW1vZGFsLWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLWljb24gbW9kYWwtY2xvc2UtYnRuIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NTE3M1x1OTVFRCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIj5Qcm92aWRlcjwvbGFiZWw+PGRpdiBpZD0icHJvdmlkZXItY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK3djKGUpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZCI+PGxhYmVsIGNsYXNzPSJmaWVsZC1sYWJlbCI+XHU0RjFBXHU4QkREXHU3QzdCXHU1NzhCPC9sYWJlbD48ZGl2IGlkPSJzZXNzaW9uLWtpbmQtY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK0NjKHIpKyc8L2Rpdj48ZGl2IGNsYXNzPSJmaWVsZC1oaW50IHNlc3Npb24ta2luZC1oaW50LXJvdyI+PHNwYW4gaWQ9InNlc3Npb24ta2luZC1kZXNjcmlwdGlvbiI+JytwKE51KHIpKSsnPC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIj5cdTZBMjFcdTVGMEY8L2xhYmVsPjxkaXYgaWQ9Im1vZGUtY2FyZHMiIGNsYXNzPSJtb2RlLWNhcmRzIj4nK0ZjKHQpKyc8L2Rpdj48cCBpZD0ibW9kZS1kZXNjcmlwdGlvbiIgY2xhc3M9ImZpZWxkLWhpbnQiPicrcChNbyhlLHQpKSsnPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9ImN3ZCI+XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9sYWJlbD48ZGl2IGNsYXNzPSJzdWdnZXN0aW9ucy13cmFwIj48aW5wdXQgaWQ9ImN3ZCIgdHlwZT0idGV4dCIgY2xhc3M9ImZpZWxkLWlucHV0IiBhdXRvY29tcGxldGU9Im9mZiIgcGxhY2Vob2xkZXI9IicrcChKZSgpKSsnIiAvPjxkaXYgaWQ9ImN3ZC1zdWdnZXN0aW9ucyIgY2xhc3M9InN1Z2dlc3Rpb25zIGhpZGRlbiI+PC9kaXY+PC9kaXY+PHAgY2xhc3M9ImZpZWxkLWhpbnQiPlx1NzU1OVx1N0E3QVx1NTIxOVx1NEY3Rlx1NzUyOFx1NEUwQVx1NjVCOVx1NzZFRVx1NUY1NVx1RkYwQ1x1NjUyRlx1NjMwMVx1OERFRlx1NUY4NFx1ODFFQVx1NTJBOFx1ODg2NVx1NTE2OFx1MzAwMjwvcD48ZGl2IGlkPSJyZWNlbnQtcGF0aHMtYnViYmxlcyIgY2xhc3M9InJlY2VudC1wYXRocy1idWJibGVzIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPjxidXR0b24gaWQ9InJ1bi1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj5cdTU0MkZcdTUyQThcdTRGMUFcdThCREQ8L2J1dHRvbj48cCBpZD0ibW9kYWwtZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiI+PC9wPjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4nfWZ1bmN0aW9uIFJ1KCl7dmFyIGU9RGF0ZS5ub3coKS04NjRlNSx0PVtdO3JldHVybiBuLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24ocil7aWYoIXIuYXJjaGl2ZWQpe3ZhciBpPXIuc3RhcnRlZEF0P25ldyBEYXRlKHIuc3RhcnRlZEF0KS5nZXRUaW1lKCk6MDt0LnB1c2goe2tpbmQ6InNlc3Npb24iLHJlZjpyLHQ6aXNGaW5pdGUoaSk/aTowfSl9fSksbi5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZQbigpLmZvckVhY2goZnVuY3Rpb24ocil7aWYoci50aW1lc3RhbXApe3ZhciBpPW5ldyBEYXRlKHIudGltZXN0YW1wKS5nZXRUaW1lKCk7IWlzRmluaXRlKGkpfHxpPD1lfHx0LnB1c2goe2tpbmQ6Imhpc3RvcnkiLHJlZjpyLHQ6aX0pfX0pLHQuc29ydChmdW5jdGlvbihyLGkpe3JldHVybiBpLnQtci50fSksdH1mdW5jdGlvbiBEYygpe3ZhciBlPW4uc2Vzc2lvbnMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLmFyY2hpdmVkfSksdD1bXTt0LnB1c2goV3UoKSk7dmFyIHI9UnUoKSxpPVRjKCk7cmV0dXJuIHIubGVuZ3RoPjAmJnQucHVzaChTYyhyKSksZS5sZW5ndGg+MCYmdC5wdXNoKHhjKGUpKSxyLmxlbmd0aD09PTAmJmUubGVuZ3RoPT09MCYmIWk/V3UoKSsnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU4RkQ4XHU2Q0ExXHU2NzA5XHU0RjFBXHU4QkREXHU4QkIwXHU1RjU1PC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2Pic6KGkmJnQucHVzaChpKSx0LmpvaW4oIiIpKX1mdW5jdGlvbiBrYygpe3JldHVybiEhbi5zaWRlYmFyUGlubmVkJiYhIW4uc2lkZWJhckNvbGxhcHNlZH1mdW5jdGlvbiBBYygpe3ZhciBlPVJ1KCksdD1lLm1hcChmdW5jdGlvbihpLGEpe3ZhciB1PWErMTtpZihpLmtpbmQ9PT0ic2Vzc2lvbiIpe3ZhciBzPWkucmVmLG89cy5pZD09PW4uc2VsZWN0ZWRJZD8iIGFjdGl2ZSI6IiIsbD1zLnN1bW1hcnl8fHMuY29tbWFuZHx8Ilx1NEYxQVx1OEJERCAiK3U7cmV0dXJuJzxidXR0b24gY2xhc3M9InNpZGViYXItY29sbGFwc2VkLXRpbGUnK28rJyIgdHlwZT0iYnV0dG9uIiBkYXRhLWNvbGxhcHNlZC1zZXNzaW9uLWlkPSInK3Aocy5pZCkrJyIgdGl0bGU9IicrcChsKSsnIj4nK3UrIjwvYnV0dG9uPiJ9dmFyIGM9aS5yZWYsZD1jLmZpcnN0VXNlck1lc3NhZ2V8fCIoXHU3QTdBXHU0RjFBXHU4QkREKSIsZj1kKyIgXHhCNyAiK1l1KGMudGltZXN0YW1wKTtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZSBoaXN0b3J5IiB0eXBlPSJidXR0b24iIGRhdGEtY29sbGFwc2VkLWhpc3RvcnktaWQ9IicrcChjLmNsYXVkZVNlc3Npb25JZCkrJyIgZGF0YS1jd2Q9IicrcChjLmN3ZHx8IiIpKyciIHRpdGxlPSInK3AoZikrJyI+Jyt1KyI8L2J1dHRvbj4ifSkuam9pbigiIikscj0nPGJ1dHRvbiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZSBhZGQiIHR5cGU9ImJ1dHRvbiIgZGF0YS1jb2xsYXBzZWQtbmV3LXNlc3Npb249IjEiIHRpdGxlPSJcdTY1QjBcdTVFRkFcdTRGMUFcdThCREQiIGFyaWEtbGFiZWw9Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERCI+PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSIvPjxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIi8+PC9zdmc+PC9idXR0b24+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2lkZWJhci1jb2xsYXBzZWQtdGlsZXMiPicrdCtyKyI8L2Rpdj4ifWZ1bmN0aW9uIFdpKCl7cmV0dXJuIGtjKCk/QWMoKTpEYygpfWZ1bmN0aW9uIFd1KCl7aWYoIW4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1iYXIiPjxzcGFuIGNsYXNzPSJzaWRlYmFyLWludHJvIj5cdTY3MDBcdThGRDFcdTc2ODRcdTRGMUFcdThCRERcdThCQjBcdTVGNTU8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4teHMgc2Vzc2lvbi1tYW5hZ2UtdG9nZ2xlIiBkYXRhLWFjdGlvbj0idG9nZ2xlLW1hbmFnZS1tb2RlIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjExIiBoZWlnaHQ9IjExIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMTFsMyAzTDIyIDQiLz48cGF0aCBkPSJNMjEgMTJ2N2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTEiLz48L3N2Zz48c3Bhbj5cdTdCQTFcdTc0MDY8L3NwYW4+PC9idXR0b24+PC9kaXY+Jzt2YXIgZT16dSgpLmxlbmd0aCx0PVZ1KCkubGVuZ3RoLHI9ZSt0LGk9cj4wLGE9cWMoKSx1PWE+MCYmcj49YSxzPXU/Ilx1NTNENlx1NkQ4OFx1NTE2OFx1OTAwOSI6Ilx1NTE2OFx1OTAwOSIsbz11PyJjbGVhci1zZWxlY3Rpb24iOiJzZWxlY3QtYWxsLXZpc2libGUiLGw9YT09PTA/IiBkaXNhYmxlZCI6IiIsYz0nPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtZXhpdCIgZGF0YS1hY3Rpb249InRvZ2dsZS1tYW5hZ2UtbW9kZSIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTdCQTFcdTc0MDZcdTZBMjFcdTVGMEYiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCIvPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48L3N2Zz48L2J1dHRvbj4nLGQ9aT8nPHNwYW4gY2xhc3M9InNlc3Npb24tbWFuYWdlLWNvdW50Ij4nK3IrJzwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbCI+XHU1REYyXHU5MDA5XHU2MkU5PC9zcGFuPic6JzxzcGFuIGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsIG11dGVkIj5cdTkwMDlcdTYyRTlcdTg5ODFcdTdCQTFcdTc0MDZcdTc2ODRcdTk4NzlcdTc2RUU8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0ic2Vzc2lvbi1tYW5hZ2UtYmFyIGFjdGl2ZSI+JytjKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1hbmFnZS1zdW1tYXJ5Ij4nK2QrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWFuYWdlLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXhzIiBkYXRhLWFjdGlvbj0iJytvKyciIHR5cGU9ImJ1dHRvbiInK2wrIj4iK3MrJzwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJ0biBidG4tZGFuZ2VyIGJ0bi14cyIgZGF0YS1hY3Rpb249ImRlbGV0ZS1zZWxlY3RlZCIgdHlwZT0iYnV0dG9uIicrKGk/IiI6IiBkaXNhYmxlZCIpKyI+XHU1MjIwXHU5NjY0IisoaT8iICIrcjoiIikrIjwvYnV0dG9uPjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gTW0oZSx0LHIpe3JldHVybic8c2VjdGlvbiBjbGFzcz0ic2Vzc2lvbi1ncm91cCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1ncm91cC10aXRsZSI+JytwKGUpKyI8L2Rpdj4iK3QubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBSaShpLHIpfSkuam9pbigiIikrIjwvc2VjdGlvbj4ifWZ1bmN0aW9uIHhjKGUpe3ZhciB0PSEhbi5hcmNoaXZlZEV4cGFuZGVkLHI9dD8iJiM5NjYyOyI6IiYjOTY1NjsiLGk9JzxkaXYgY2xhc3M9InNlc3Npb24tZ3JvdXAtdGl0bGUgY2xhdWRlLWhpc3RvcnktdG9nZ2xlIiBkYXRhLWFjdGlvbj0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JytyKyc8L3NwYW4+IFx1NURGMlx1NUY1Mlx1Njg2MyA8c3BhbiBjbGFzcz0iaGlzdG9yeS1jb3VudCI+JytlLmxlbmd0aCsiPC9zcGFuPjwvZGl2PiI7aWYoIXQpcmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIj4nK2krIjwvc2VjdGlvbj4iO3ZhciBhPWUubWFwKGZ1bmN0aW9uKHUpe3JldHVybiBSaSh1LCJzZXNzaW9ucyIpfSkuam9pbigiIik7cmV0dXJuJzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIj4nK2krYSsiPC9zZWN0aW9uPiJ9ZnVuY3Rpb24gU2MoZSl7dmFyIHQ9JzxzZWN0aW9uIGNsYXNzPSJzZXNzaW9uLWdyb3VwIHNlc3Npb24tZ3JvdXAtLXJlY2VudCI+JztyZXR1cm4gdCs9ZS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIua2luZD09PSJzZXNzaW9uIj9SaShyLnJlZiwic2Vzc2lvbnMiKTp6aShyLnJlZiwiaGlzdG9yeSIpfSkuam9pbigiIiksdCs9Ijwvc2VjdGlvbj4iLHR9ZnVuY3Rpb24gSWMoKXt2YXIgZT1EYXRlLm5vdygpLTg2NGU1O3JldHVybiBQbigpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4hdC50aW1lc3RhbXB8fG5ldyBEYXRlKHQudGltZXN0YW1wKS5nZXRUaW1lKCk8PWV9KX1mdW5jdGlvbiBUYygpe3ZhciBlPUljKCksdD0hIW4uY2xhdWRlSGlzdG9yeUxvYWRlZCxyPXpjKCksaT0hIW4uY29kZXhIaXN0b3J5TG9hZGVkLGE9dCYmaSx1PSh0P2UubGVuZ3RoOjApKyhpP3IubGVuZ3RoOjApO2lmKGEmJnU9PT0wKXJldHVybiIiO3ZhciBzPSEhbi5jbGF1ZGVIaXN0b3J5RXhwYW5kZWQsbz1zPyImIzk2NjI7IjoiJiM5NjU2OyIsbD1hP3U+OTk5PyI5OTkrIjpTdHJpbmcodSk6Ilx4QjdceEI3XHhCNyIsYz0nPGRpdiBjbGFzcz0ic2Vzc2lvbi1ncm91cC10aXRsZSBjbGF1ZGUtaGlzdG9yeS10b2dnbGUgc2Vzc2lvbi1oaXN0b3J5LXRvZ2dsZSIgaWQ9ImNsYXVkZS1oaXN0b3J5LXRvZ2dsZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgYXJpYS1leHBhbmRlZD0iJytzKyciIHRpdGxlPSInKyhzPyJcdTY1MzZcdThENzdcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiOiJcdTVDNTVcdTVGMDBcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiKSsnIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JytvKyc8L3NwYW4+IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCA8c3BhbiBjbGFzcz0iaGlzdG9yeS1jb3VudCcrKGE/IiI6IiBsb2FkaW5nIikrJyI+JytsKyI8L3NwYW4+PC9kaXY+IixkPXM/JzxkaXYgY2xhc3M9InNlc3Npb24taGlzdG9yeS1ib2R5Ij4nK0xjKGUpK2pjKHIpKyI8L2Rpdj4iOiIiO3JldHVybic8c2VjdGlvbiBjbGFzcz0ic2Vzc2lvbi1ncm91cCBzZXNzaW9uLWdyb3VwLS1oaXN0b3J5Ij4nK2MrZCsiPC9zZWN0aW9uPiJ9ZnVuY3Rpb24gTGMoZSl7aWYoIW4uY2xhdWRlSGlzdG9yeUxvYWRlZClyZXR1cm4nPGRpdiBjbGFzcz0iY2xhdWRlLWhpc3RvcnktbG9hZGluZyI+XHU2MjZCXHU2M0NGXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHU0RTJEXHUyMDI2PC9kaXY+JztpZihlLmxlbmd0aD09PTApcmV0dXJuIiI7dmFyIHQ9e30scj1bXTtlLmZvckVhY2goZnVuY3Rpb24odSl7dFt1LmN3ZF18fCh0W3UuY3dkXT1bXSxyLnB1c2godS5jd2QpKSx0W3UuY3dkXS5wdXNoKHUpfSk7dmFyIGk9JzxkaXYgY2xhc3M9InNpZGViYXItaGlzdG9yeS10b29sYmFyIj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi14cyBzaWRlYmFyLWhpc3RvcnktY2xlYXIiIGRhdGEtYWN0aW9uPSJjbGVhci1hbGwtaGlzdG9yeSIgdHlwZT0iYnV0dG9uIj5cdTZFMDVcdTdBN0FcdTUxNjhcdTkwRTg8L2J1dHRvbj48L2Rpdj4nLGE9IiI7cmV0dXJuIHIuZm9yRWFjaChmdW5jdGlvbih1KXt2YXIgcz11LnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pLnNsaWNlKC0zKS5qb2luKCIvIiksbz0hIW4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlyc1t1XTthKz1OYyh1LHMsdFt1XS5sZW5ndGgsbyksbyYmKGErPXRbdV0ubWFwKGZ1bmN0aW9uKGwpe3JldHVybiB6aShsLCJoaXN0b3J5Iil9KS5qb2luKCIiKSl9KSxpKyc8ZGl2IGNsYXNzPSJzaWRlYmFyLWhpc3Rvcnktc2Nyb2xsIj4nK2ErIjwvZGl2PiJ9ZnVuY3Rpb24gUG4oKXt2YXIgZT1uZXcgU2V0O3JldHVybiBuLnNlc3Npb25zLmZvckVhY2goZnVuY3Rpb24odCl7dC5jbGF1ZGVTZXNzaW9uSWQmJmUuYWRkKHQuY2xhdWRlU2Vzc2lvbklkKX0pLG4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGFzQ29udmVyc2F0aW9uJiYhdC5tYW5hZ2VkQnlXYW5kJiYhZS5oYXModC5jbGF1ZGVTZXNzaW9uSWQpfSl9ZnVuY3Rpb24genUoKXtyZXR1cm4gT2JqZWN0LmtleXMobi5zZWxlY3RlZFNlc3Npb25JZHMpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hIW4uc2VsZWN0ZWRTZXNzaW9uSWRzW2VdfSl9ZnVuY3Rpb24gVnUoKXtyZXR1cm4gT2JqZWN0LmtleXMobi5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHMpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hIW4uc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzW2VdfSl9ZnVuY3Rpb24gVXIoKXtuLnNlbGVjdGVkU2Vzc2lvbklkcz17fSxuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz17fX1mdW5jdGlvbiBNYyhlKXtuLnNlc3Npb25zTWFuYWdlTW9kZT10eXBlb2YgZT09ImJvb2xlYW4iP2U6IW4uc2Vzc2lvbnNNYW5hZ2VNb2RlLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiYhbi5jbGF1ZGVIaXN0b3J5TG9hZGVkJiZLcigpLnRoZW4odmUpLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlfHwoVXIoKSxCcigpKSx2ZSgpfWZ1bmN0aW9uIFV1KCl7cmV0dXJuIG4uc2Vzc2lvbnMuc2xpY2UoKX1mdW5jdGlvbiBxYygpe3JldHVybiBVdSgpLmxlbmd0aCtQbigpLmxlbmd0aH1mdW5jdGlvbiBLdSgpe2lmKCFuLmNsYXVkZUhpc3RvcnlMb2FkZWQpe0tyKCkudGhlbihLdSk7cmV0dXJufW4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSEwO3ZhciBlPXt9O1V1KCkuZm9yRWFjaChmdW5jdGlvbihyKXtlW3IuaWRdPSEwfSk7dmFyIHQ9e307UG4oKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3Rbci5jbGF1ZGVTZXNzaW9uSWRdPSEwfSksbi5zZWxlY3RlZFNlc3Npb25JZHM9ZSxuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcz10LHZlKCl9ZnVuY3Rpb24gT2MoKXtVcigpLHZlKCl9ZnVuY3Rpb24gbHIoZSx0KXtpZighKCFuLnNlc3Npb25zTWFuYWdlTW9kZXx8IXQpKXt2YXIgcj1lPT09Imhpc3RvcnkiP24uc2VsZWN0ZWRDbGF1ZGVIaXN0b3J5SWRzOm4uc2VsZWN0ZWRTZXNzaW9uSWRzO3JbdF0/ZGVsZXRlIHJbdF06clt0XT0hMCx2ZSgpfX1mdW5jdGlvbiBKdShlLHQscil7aWYoIW4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXJldHVybiIiO3ZhciBpPWU9PT0iaGlzdG9yeSI/ISFuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkc1t0XTohIW4uc2VsZWN0ZWRTZXNzaW9uSWRzW3RdO3JldHVybic8bGFiZWwgY2xhc3M9InNlc3Npb24tbWFuYWdlLWNoZWNrIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRhdGEtYWN0aW9uPSJ0b2dnbGUtc2VsZWN0aW9uIiBkYXRhLWtpbmQ9IicrcChlKSsnIiBkYXRhLWlkPSInK3AodCkrJyInKyhpPyIgY2hlY2tlZCI6IiIpKycgYXJpYS1sYWJlbD0iJytwKHIpKyciPjxzcGFuPjwvc3Bhbj48L2xhYmVsPid9ZnVuY3Rpb24gSG4oZSx0KXtyZXR1cm4gdHlwZW9mIHdpbmRvdy53YW5kQ29uZmlybT09ImZ1bmN0aW9uIj93aW5kb3cud2FuZENvbmZpcm0oZSxPYmplY3QuYXNzaWduKHt0eXBlOiJkYW5nZXIiLGRhbmdlcjohMCxva0xhYmVsOiJcdTUyMjBcdTk2NjQifSx0fHx7fSkpOlByb21pc2UucmVzb2x2ZSh3aW5kb3cuY29uZmlybShlKSl9ZnVuY3Rpb24gUGMoKXt2YXIgZT16dSgpLHQ9VnUoKSxyPWUubGVuZ3RoK3QubGVuZ3RoO3ImJkhuKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdTYyNDBcdTkwMDkgIityKyIgXHU5ODc5XHU1NDE3XHVGRjFGXHU2QjY0XHU2NENEXHU0RjVDXHU2NUUwXHU2Q0Q1XHU2NEE0XHU5NTAwXHUzMDAyIix7dGl0bGU6Ilx1NTIyMFx1OTY2NFx1NjI0MFx1OTAwOSAiK3IrIiBcdTk4NzkifSkudGhlbihmdW5jdGlvbihpKXtpZihpKXt2YXIgYT1bXTtlLmxlbmd0aD4wJiZhLnB1c2goZmV0Y2goIi9hcGkvc2Vzc2lvbnMvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7c2Vzc2lvbklkczplfSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pKSx0Lmxlbmd0aD4wJiZhLnB1c2goZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvYmF0Y2gtZGVsZXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2xhdWRlU2Vzc2lvbklkczp0fSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1Lmpzb24oKX0pKSxQcm9taXNlLmFsbChhKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUuaW5kZXhPZihuLnNlbGVjdGVkSWQpIT09LTEmJihuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpKSxuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdC5pbmRleE9mKHUuY2xhdWRlU2Vzc2lvbklkKT09PS0xfSksVXIoKSxqdCgpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUodSwiXHU2NUUwXHU2Q0Q1XHU2Mjc5XHU5MUNGXHU1MjIwXHU5NjY0XHU2MjQwXHU5MDA5XHU5ODc5XHU3NkVFXHUzMDAyIil9KX19KX1mdW5jdGlvbiBIYygpe3ZhciBlPURhdGUubm93KCktODY0ZTUsdD1QbigpLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hci50aW1lc3RhbXB8fG5ldyBEYXRlKHIudGltZXN0YW1wKS5nZXRUaW1lKCk8PWV9KTtpZih0Lmxlbmd0aClyZXR1cm4gSG4oIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NUY1M1x1NTI0RFx1NjYzRVx1NzkzQVx1NzY4NCAiK3QubGVuZ3RoKyIgXHU2NzYxIENsYXVkZSBcdTUzODZcdTUzRjJcdTU0MTdcdUZGMUYiLHt0aXRsZToiXHU2RTA1XHU3QTdBIENsYXVkZSBcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHIpe3ZhciBpPXQubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXVkZVNlc3Npb25JZH0pO3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtaGlzdG9yeS9iYXRjaC1kZWxldGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtjbGF1ZGVTZXNzaW9uSWRzOml9KX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhJiZhLmVycm9yKXRocm93IG5ldyBFcnJvcihhLmVycm9yKTtuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gaS5pbmRleE9mKHUuY2xhdWRlU2Vzc2lvbklkKT09PS0xfSksVXIoKSx2ZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUoYSwiXHU2NUUwXHU2Q0Q1XHU2RTA1XHU3QTdBXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHUzMDAyIil9KX19KX1mdW5jdGlvbiBfYyhlLHQscixpKXt2YXIgYT1pPyJcdTI1QkUiOiJcdTI1QjgiO3JldHVybic8ZGl2IGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIGNvZGV4LWhpc3RvcnktZGlyZWN0b3J5LWhlYWRlciIgZGF0YS1hY3Rpb249InRvZ2dsZS1jb2RleC1oaXN0b3J5LWRpcmVjdG9yeSIgZGF0YS1jd2Q9IicrcChlKSsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRpdGxlIGNsYXVkZS1oaXN0b3J5LWRpcmVjdG9yeS10aXRsZSI+PHNwYW4gY2xhc3M9ImNoZXZyb24iPicrYSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktbGFiZWwiPicrcCh0KSsiICgiK3IrIik8L3NwYW4+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBqYyhlKXtpZighbi5jb2RleEhpc3RvcnlMb2FkZWQpcmV0dXJuJzxkaXYgY2xhc3M9ImNsYXVkZS1oaXN0b3J5LWxvYWRpbmciPlx1NjI2Qlx1NjNDRiBDb2RleCBcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTRFMkRcdTIwMjY8L2Rpdj4nO2lmKGUubGVuZ3RoPT09MClyZXR1cm4iIjt2YXIgdD17fSxyPVtdO2UuZm9yRWFjaChmdW5jdGlvbihhKXt0W2EuY3dkXXx8KHRbYS5jd2RdPVtdLHIucHVzaChhLmN3ZCkpLHRbYS5jd2RdLnB1c2goYSl9KTt2YXIgaT0nPGRpdiBjbGFzcz0ic2lkZWJhci1oaXN0b3J5LXNlY3Rpb24tbGFiZWwiPkNvZGV4PC9kaXY+JztyZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciB1PWEuc3BsaXQoIi8iKS5maWx0ZXIoQm9vbGVhbikuc2xpY2UoLTMpLmpvaW4oIi8iKSxzPSEhbi5jb2RleEhpc3RvcnlFeHBhbmRlZERpcnNbYV07aSs9X2MoYSx1LHRbYV0ubGVuZ3RoLHMpLHMmJihpKz10W2FdLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gemkobywiY29kZXgiKX0pLmpvaW4oIiIpKX0pLCc8ZGl2IGNsYXNzPSJzaWRlYmFyLWhpc3Rvcnktc2Nyb2xsIGNvZGV4LWhpc3Rvcnktc2Nyb2xsIj4nK2krIjwvZGl2PiJ9ZnVuY3Rpb24gTmMoZSx0LHIsaSl7dmFyIGE9aT8iJiM5NjYyOyI6IiYjOTY1NjsiO3JldHVybic8ZGl2IGNsYXNzPSJjbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIiBkYXRhLWFjdGlvbj0idG9nZ2xlLWhpc3RvcnktZGlyZWN0b3J5IiBkYXRhLWN3ZD0iJytwKGUpKyciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiPjxkaXYgY2xhc3M9InNlc3Npb24tZ3JvdXAtdGl0bGUgY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LXRpdGxlIj48c3BhbiBjbGFzcz0iY2hldnJvbiI+JythKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImNsYXVkZS1oaXN0b3J5LWRpcmVjdG9yeS1sYWJlbCI+JytwKHQpKyIgKCIrcisnKTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhbmdlciBidG4teHMgY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWNsZWFyLWJ0biIgZGF0YS1hY3Rpb249ImRlbGV0ZS1oaXN0b3J5LWRpcmVjdG9yeSIgZGF0YS1jd2Q9IicrcChlKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCI+XHU2RTA1XHU3QTdBXHU2QjY0XHU3NkVFXHU1RjU1PC9idXR0b24+PC9kaXY+PC9kaXY+J31mdW5jdGlvbiB6aShlLHQpe3ZhciByPXQ9PT0iY29kZXgiLGk9cj8icmVzdW1lLWNvZGV4LWhpc3RvcnkiOiJyZXN1bWUtaGlzdG9yeSIsYT1yPyJkZWxldGUtY29kZXgtaGlzdG9yeSI6ImRlbGV0ZS1oaXN0b3J5Iix1PXI/bi5zZWxlY3RlZENvZGV4SGlzdG9yeUlkczpuLnNlbGVjdGVkQ2xhdWRlSGlzdG9yeUlkcyxzPWUuY2xhdWRlU2Vzc2lvbklkLnNsaWNlKDAsOCksbz1lLmZpcnN0VXNlck1lc3NhZ2V8fCIoXHU3QTdBXHU0RjFBXHU4QkREKSIsbD1ZdShlLnRpbWVzdGFtcCksYz1KdSh0LGUuY2xhdWRlU2Vzc2lvbklkLCJcdTkwMDlcdTYyRTlcdTUzODZcdTUzRjJcdTRGMUFcdThCREQgIitvKSxkPW4uc2Vzc2lvbnNNYW5hZ2VNb2RlPyIiOic8YnV0dG9uIGNsYXNzPSJzZXNzaW9uLWFjdGlvbi1idG4gZGVsZXRlLWJ0biIgZGF0YS1hY3Rpb249IicrYSsnIiBkYXRhLWNsYXVkZS1zZXNzaW9uLWlkPSInK2UuY2xhdWRlU2Vzc2lvbklkKyciIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIiB0aXRsZT0iXHU5NjkwXHU4NUNGXHU2QjY0XHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDZoMTgiLz48cGF0aCBkPSJNOCA2VjRhMiAyIDAgMDEyLTJoNGEyIDIgMCAwMTIgMnYyIi8+PHBhdGggZD0iTTE5IDZsLTEgMTRhMiAyIDAgMDEtMiAySDhhMiAyIDAgMDEtMi0yTDUgNiIvPjwvc3ZnPjwvYnV0dG9uPicsZj1uLnNlc3Npb25zTWFuYWdlTW9kZT8iIjonPGJ1dHRvbiBjbGFzcz0ic2Vzc2lvbi1hY3Rpb24tYnRuIiBkYXRhLWFjdGlvbj0iJytpKyciIGRhdGEtY2xhdWRlLXNlc3Npb24taWQ9IicrZS5jbGF1ZGVTZXNzaW9uSWQrJyIgZGF0YS1jd2Q9IicrcChlLmN3ZCkrJyIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJcdTYwNjJcdTU5MERcdTRGMUFcdThCREQiIHRpdGxlPSInKyhyPyJcdTYwNjJcdTU5MERcdTZCNjQgQ29kZXggXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREIjoiXHU2MDYyXHU1OTBEXHU2QjY0IENsYXVkZSBcdTUzODZcdTUzRjJcdTRGMUFcdThCREQiKSsnIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xIDR2Nmg2Ii8+PHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMTA1LjY0LTExLjM2TDMgMTAiLz48L3N2Zz48L2J1dHRvbj4nO3JldHVybic8ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0gY2xhdWRlLWhpc3RvcnktaXRlbScrKG4uc2Vzc2lvbnNNYW5hZ2VNb2RlJiZ1W2UuY2xhdWRlU2Vzc2lvbklkXT8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1jbGF1ZGUtaGlzdG9yeS1pZD0iJytlLmNsYXVkZVNlc3Npb25JZCsnIiBkYXRhLWN3ZD0iJytwKGUuY3dkKSsnIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJzZXNzaW9uLWl0ZW0tY29udGVudCI+PGRpdiBjbGFzcz0ic2Vzc2lvbi1pdGVtLXJvdyI+JytjKyc8ZGl2IGNsYXNzPSJzZXNzaW9uLW1haW4iPjxkaXYgY2xhc3M9InNlc3Npb24tY29tbWFuZCBjbGF1ZGUtaGlzdG9yeS1wcmV2aWV3Ij4nK3AobykrJzwvZGl2PjxkaXYgY2xhc3M9InNlc3Npb24tbWV0YSI+PHNwYW4gY2xhc3M9InNlc3Npb24taWQiIHRpdGxlPSInK3AoZS5jbGF1ZGVTZXNzaW9uSWQpKyciPicrcChzKSsiPC9zcGFuPjxzcGFuPiIrcChsKSsnPC9zcGFuPjwvZGl2PjwvZGl2PjxzcGFuIGNsYXNzPSJzZXNzaW9uLWFjdGlvbnMiPicrZitkKyI8L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+In1mdW5jdGlvbiBZdShlKXtpZighZSlyZXR1cm4iIjt0cnl7dmFyIHQ9bmV3IERhdGUoZSkscj1uZXcgRGF0ZSxpPXItdCxhPU1hdGguZmxvb3IoaS82ZTQpO2lmKGE8MSlyZXR1cm4iXHU1MjFBXHU1MjFBIjtpZihhPDYwKXJldHVybiBhKyIgXHU1MjA2XHU5NDlGXHU1MjREIjt2YXIgdT1NYXRoLmZsb29yKGEvNjApO2lmKHU8MjQpcmV0dXJuIHUrIiBcdTVDMEZcdTY1RjZcdTUyNEQiO3ZhciBzPU1hdGguZmxvb3IodS8yNCk7cmV0dXJuIHM8MzA/cysiIFx1NTkyOVx1NTI0RCI6dC50b0xvY2FsZURhdGVTdHJpbmcoKX1jYXRjaHtyZXR1cm4iIn19ZnVuY3Rpb24gR3UoKXtyZXR1cm4gZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5vaz9lLmpzb24oKTpbXX0pLnRoZW4oZnVuY3Rpb24oZSl7bi5jbGF1ZGVIaXN0b3J5PWV8fFtdLG4uY2xhdWRlSGlzdG9yeUxvYWRlZD0hMCx2ZSgpfSkuY2F0Y2goZnVuY3Rpb24oKXtuLmNsYXVkZUhpc3RvcnlMb2FkZWQ9ITAsbi5jbGF1ZGVIaXN0b3J5PVtdLHZlKCl9KX12YXIgX249bnVsbDtmdW5jdGlvbiBLcigpe3JldHVybiBXYygpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZD9Qcm9taXNlLnJlc29sdmUoKTpfbnx8KF9uPUd1KCkudGhlbihmdW5jdGlvbigpe19uPW51bGx9LGZ1bmN0aW9uKCl7X249bnVsbH0pLF9uKX1mdW5jdGlvbiBSYygpe3JldHVybiBmZXRjaCgiL2FwaS9jb2RleC1oaXN0b3J5Iix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6W119KS50aGVuKGZ1bmN0aW9uKGUpe24uY29kZXhIaXN0b3J5PWV8fFtdLG4uY29kZXhIaXN0b3J5TG9hZGVkPSEwLHZlKCl9KS5jYXRjaChmdW5jdGlvbigpe24uY29kZXhIaXN0b3J5TG9hZGVkPSEwLG4uY29kZXhIaXN0b3J5PVtdLHZlKCl9KX12YXIgam49bnVsbDtmdW5jdGlvbiBXYygpe3JldHVybiBuLmNvZGV4SGlzdG9yeUxvYWRlZD9Qcm9taXNlLnJlc29sdmUoKTpqbnx8KGpuPVJjKCkudGhlbihmdW5jdGlvbigpe2puPW51bGx9LGZ1bmN0aW9uKCl7am49bnVsbH0pLGpuKX1mdW5jdGlvbiB6Yygpe3ZhciBlPW5ldyBTZXQ7cmV0dXJuIG4uc2Vzc2lvbnMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmNsYXVkZVNlc3Npb25JZCYmZS5hZGQodC5jbGF1ZGVTZXNzaW9uSWQpfSksbi5jb2RleEhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmhhc0NvbnZlcnNhdGlvbiYmIXQubWFuYWdlZEJ5V2FuZCYmIWUuaGFzKHQuY2xhdWRlU2Vzc2lvbklkKX0pfWZ1bmN0aW9uIFF1KCl7bnMoKSwhSnIoKSYmKG4ucG9sbFRpbWVyPXNldEludGVydmFsKGp0LDE2MDApKX1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXNzaW9uLXRpbWUiKTtlLmxlbmd0aD4wJiZKbygpfSwzZTQpO2Z1bmN0aW9uIFZpKCl7bi53c1JlY29ubmVjdFRpbWVyJiYoY2xlYXJUaW1lb3V0KG4ud3NSZWNvbm5lY3RUaW1lciksbi53c1JlY29ubmVjdFRpbWVyPW51bGwpfXZhciBWYz0xZTQsVWM9NGU0O2Z1bmN0aW9uIEtjKCl7JHUoKSxuLndzSGVhcnRiZWF0Q2hlY2tUaW1lcj1zZXRJbnRlcnZhbChYdSxWYyl9ZnVuY3Rpb24gJHUoKXtuLndzSGVhcnRiZWF0Q2hlY2tUaW1lciYmKGNsZWFySW50ZXJ2YWwobi53c0hlYXJ0YmVhdENoZWNrVGltZXIpLG4ud3NIZWFydGJlYXRDaGVja1RpbWVyPW51bGwpfWZ1bmN0aW9uIFh1KCl7aWYoISghbi53c3x8bi53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0Lk9QRU4pJiZuLmxhc3RXc01lc3NhZ2VBdCl7dmFyIGU9RGF0ZS5ub3coKS1uLmxhc3RXc01lc3NhZ2VBdDtlPlVjJiZVaSgiaGVhcnRiZWF0LXN0YWxlLSIrTWF0aC5yb3VuZChlLzFlMykrInMiKX19ZnVuY3Rpb24gVWkoZSl7aWYoVmkoKSxuLndzKXt2YXIgdD1uLndzO3RyeXt0Lm9uY2xvc2U9bnVsbH1jYXRjaHt9dHJ5e3Qub25lcnJvcj1udWxsfWNhdGNoe310cnl7dC5vbm1lc3NhZ2U9bnVsbH1jYXRjaHt9dHJ5e3QuY2xvc2UoKX1jYXRjaHt9bi53cz1udWxsfW4ud3NDb25uZWN0ZWQ9ITEsbi53c1JlY29ubmVjdEF0dGVtcHRzPTAsSnIoZSl9ZnVuY3Rpb24gWnUoKXtpZighbi53c1JlY29ubmVjdFRpbWVyJiYhZG9jdW1lbnQuaGlkZGVuKXt2YXIgZT1uLndzUmVjb25uZWN0QXR0ZW1wdHN8fDAsdD1bNTAwLDFlMywyZTMsNGUzLDhlM10scj10W2U8dC5sZW5ndGg/ZTp0Lmxlbmd0aC0xXTtuLndzUmVjb25uZWN0QXR0ZW1wdHM9ZSsxLG4ud3NSZWNvbm5lY3RUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi53c1JlY29ubmVjdFRpbWVyPW51bGwsbi5jb25maWcmJiFuLndzJiYhZG9jdW1lbnQuaGlkZGVuJiZKcigiYmFja29mZiIpfSxyKX19ZnVuY3Rpb24gSnIoZSl7aWYoIXdpbmRvdy5XZWJTb2NrZXQpcmV0dXJuITE7aWYobi53cyl7dHJ5e24ud3MuY2xvc2UoKX1jYXRjaHt9bi53cz1udWxsfXZhciB0PXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoiPyJ3c3M6Ijoid3M6IixyPXQrIi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL3dzIjt0cnl7dmFyIGk9bmV3IFdlYlNvY2tldChyKTtyZXR1cm4gaS5vbm9wZW49ZnVuY3Rpb24oKXtuLndzPWksbi53c0Nvbm5lY3RlZD0hMCxuLmxhc3RXc01lc3NhZ2VBdD1EYXRlLm5vdygpLG4ud3NSZWNvbm5lY3RBdHRlbXB0cz0wLFZpKCksbi5sYXN0U2VxQnlTZXNzaW9uPXt9LEtjKCkseG4obi5zZWxlY3RlZElkKSxwcCgpLHZyKCJ3cy1yZWNvbm5lY3QiKX0saS5vbm1lc3NhZ2U9ZnVuY3Rpb24oYSl7bi5sYXN0V3NNZXNzYWdlQXQ9RGF0ZS5ub3coKTt0cnl7dmFyIHU9SlNPTi5wYXJzZShhLmRhdGEpO2lmKHUmJnUudHlwZT09PSJwaW5nIil7aWYobi53cyYmbi53cy5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4pdHJ5e24ud3Muc2VuZChKU09OLnN0cmluZ2lmeSh7dHlwZToicG9uZyIsdDp1LnR9KSl9Y2F0Y2h7fXJldHVybn1pZih1JiZ1LnR5cGU9PT0icmVzeW5jX3JlcXVpcmVkIiYmdS5zZXNzaW9uSWQpe2lmKG4ud3MmJm4ud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOKXRyeXtuLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InJlc3luYyIsc2Vzc2lvbklkOnUuc2Vzc2lvbklkfSkpfWNhdGNoe31uLmxhc3RTZXFCeVNlc3Npb258fChuLmxhc3RTZXFCeVNlc3Npb249e30pLG4ubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09MDtyZXR1cm59aWYodSYmKHUudHlwZT09PSJpbml0Inx8dS50eXBlPT09Im91dHB1dCIpJiZ1LnNlc3Npb25JZCYmdHlwZW9mIHUuc2VxPT0ibnVtYmVyIil7bi5sYXN0U2VxQnlTZXNzaW9ufHwobi5sYXN0U2VxQnlTZXNzaW9uPXt9KTt2YXIgcz1uLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdfHwwO2lmKHUudHlwZT09PSJpbml0IiluLmxhc3RTZXFCeVNlc3Npb25bdS5zZXNzaW9uSWRdPXUuc2VxO2Vsc2UgaWYodS5zZXE9PT1zKzEpbi5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT11LnNlcTtlbHNlIGlmKHUuc2VxPnMrMSYmcz4wKXtpZihuLndzJiZuLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuT1BFTil0cnl7bi53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHt0eXBlOiJyZXN5bmMiLHNlc3Npb25JZDp1LnNlc3Npb25JZH0pKX1jYXRjaHt9bi5sYXN0U2VxQnlTZXNzaW9uW3Uuc2Vzc2lvbklkXT0wO3JldHVybn1lbHNle2lmKHUuc2VxPHMpcmV0dXJuO24ubGFzdFNlcUJ5U2Vzc2lvblt1LnNlc3Npb25JZF09dS5zZXF9fUpjKHUpfWNhdGNoe319LGkub25jbG9zZT1mdW5jdGlvbigpe24ud3M9bnVsbCxuLndzQ29ubmVjdGVkPSExLCR1KCksWnUoKX0saS5vbmVycm9yPWZ1bmN0aW9uKCl7aS5jbG9zZSgpfSwhMH1jYXRjaHtyZXR1cm4gWnUoKSwhMX19ZnVuY3Rpb24gSmMoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJvdXRwdXQiOmlmKGUuZGF0YSYmZS5zZXNzaW9uSWQmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsImlzUmVzcG9uZGluZyIpJiYobi5fbGFzdElzUmVzcG9uZGluZ3x8KG4uX2xhc3RJc1Jlc3BvbmRpbmc9e30pLG4uX2xhc3RJc1Jlc3BvbmRpbmdbZS5zZXNzaW9uSWRdPSEhZS5kYXRhLmlzUmVzcG9uZGluZyksZS5kYXRhJiZlLnNlc3Npb25JZCl7dmFyIHQ9ISFlLmRhdGEuaW5jcmVtZW50YWwscj17aWQ6ZS5zZXNzaW9uSWR9O2lmKCF0JiZlLmRhdGEub3V0cHV0IT09dm9pZCAwJiYoci5vdXRwdXQ9ZS5kYXRhLm91dHB1dCksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKHIucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInF1ZXVlZE1lc3NhZ2VzIikmJihyLnF1ZXVlZE1lc3NhZ2VzPWUuZGF0YS5xdWV1ZWRNZXNzYWdlc3x8W10sbi5xdWV1ZUVwb2NoKyspLGUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihyLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEuc2Vzc2lvbktpbmQmJihyLnNlc3Npb25LaW5kPWUuZGF0YS5zZXNzaW9uS2luZCksZS5kYXRhLm1lc3NhZ2VzKXIubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzO2Vsc2UgaWYodCYmZS5kYXRhLmxhc3RNZXNzYWdlKXt2YXIgaT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pO2lmKGkpe3ZhciBhPUFycmF5LmlzQXJyYXkoaS5tZXNzYWdlcyk/aS5tZXNzYWdlcy5zbGljZSgpOltdLHU9ZS5kYXRhLm1lc3NhZ2VDb3VudHx8MCxzPWEubGVuZ3RoPjA/YVthLmxlbmd0aC0xXTpudWxsLG89ZS5kYXRhLmxhc3RNZXNzYWdlO3MmJm8ucm9sZSYmcy5yb2xlPT09by5yb2xlP2FbYS5sZW5ndGgtMV09SGYocyxvKTphLmxlbmd0aDx1JiZhLnB1c2gobyksci5tZXNzYWdlcz1hfX12YXIgbD10JiZlLmRhdGEuY2h1bmsmJiFlLmRhdGEubGFzdE1lc3NhZ2UmJiFyLm1lc3NhZ2VzJiZyLm91dHB1dD09PXZvaWQgMCYmIWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJiFlLmRhdGEuc2Vzc2lvbktpbmQ7aWYobCl7aWYoZS5kYXRhLnBlcm1pc3Npb25CbG9ja2VkIT09dm9pZCAwKXt2YXIgYz1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pO2MmJiEhYy5wZXJtaXNzaW9uQmxvY2tlZCE9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQmJihaKHIpLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZKdCgpKX19ZWxzZSBpZigoci5vdXRwdXQhPT12b2lkIDB8fHIubWVzc2FnZXN8fHR8fGUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZCE9PXZvaWQgMCkmJihaKHIpLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkKSl7dmFyIGQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KXx8cjtuLmN1cnJlbnRNZXNzYWdlcz1SZShkLHR0KGQsZC5vdXRwdXQsITEpKSxKdCgpLGQuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fGUuZGF0YS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIj9jcigpOktpKCl9fWUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZuLnRlcm1pbmFsJiZlLmRhdGEmJihlLmRhdGEuY2h1bmsmJkpmKGUuc2Vzc2lvbklkKT8obi5sYXN0Q2h1bmtBdD1EYXRlLm5vdygpLG4udGVybWluYWxMaXZlU3RyZWFtU2Vzc2lvbnNbZS5zZXNzaW9uSWRdPSEwLFduKG4udGVybWluYWwsZS5kYXRhLmNodW5rKSxuLnRlcm1pbmFsU2Vzc2lvbklkPWUuc2Vzc2lvbklkLGUuZGF0YS5vdXRwdXQ/KG4udGVybWluYWxPdXRwdXQ9eXMoSGEoZS5kYXRhLm91dHB1dCkpLG4udGVybWluYWxPdXRwdXRNYXJrZXI9MCk6bi50ZXJtaW5hbE91dHB1dD15cygobi50ZXJtaW5hbE91dHB1dHx8IiIpK0hhKGUuZGF0YS5jaHVuaykpLGZ0KCJvdXRwdXQiKSxzdCgpKTohZS5kYXRhLmluY3JlbWVudGFsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJvdXRwdXQiKSYmWnIoZS5zZXNzaW9uSWQsZS5kYXRhLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCJ9KSk7YnJlYWs7Y2FzZSJzdGFydGVkIjpkbigpO2JyZWFrO2Nhc2UiZW5kZWQiOnt2YXIgZj1lLmRhdGEmJmUuZGF0YS5zdGF0dXM/ZS5kYXRhLnN0YXR1czoiZXhpdGVkIix2PWUuZGF0YSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKT8hIWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZDohMSxtPXtpZDplLnNlc3Npb25JZCxzdGF0dXM6ZixwZXJtaXNzaW9uQmxvY2tlZDp2fTtlLmRhdGEmJmUuZGF0YS5tZXNzYWdlcyYmKG0ubWVzc2FnZXM9ZS5kYXRhLm1lc3NhZ2VzKSxlLmRhdGEmJmUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGUmJihtLnN0cnVjdHVyZWRTdGF0ZT1lLmRhdGEuc3RydWN0dXJlZFN0YXRlKSxlLmRhdGEmJmUuZGF0YS5xdWV1ZWRNZXNzYWdlcyYmKG0ucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzKSxaKG0pLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiYoVW4oIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpLEtpKCEwKSk7dmFyIGI9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KSxnPWUuZGF0YSYmZS5kYXRhLmV4aXRDb2RlLHk9ZyE9bnVsbCYmZyE9PTAsdz1iJiZiLnN1bW1hcnl8fCIiLEY9Yj95YyhiKToiIixFPXk/Ilx1NEVGQlx1NTJBMVx1NUYwMlx1NUUzOFx1N0VEM1x1Njc1RiI6Ilx1NEVGQlx1NTJBMVx1NURGMlx1NUI4Q1x1NjIxMCIsQT0iIjt3PyhBPXcsRiYmIXkmJihBKz1gCmArRikpOkE9YiYmYi5jb21tYW5kfHxlLnNlc3Npb25JZCxWbih5PyJlcnJvciI6InN1Y2Nlc3MiKSxsZihlLnNlc3Npb25JZCxFLEEpLERzKGUuc2Vzc2lvbklkKSxzYSgpLChlLnNlc3Npb25JZCE9PW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuaGlkZGVuKSYmYWEoe3RpdGxlOkUsYm9keTpBLHR5cGU6eT8id2FybmluZyI6InN1Y2Nlc3MiLGljb246eT8iISI6Ilx1MjcxMyIsZHVyYXRpb246NmUzLGFjdGlvbkxhYmVsOiJcdTY3RTVcdTc3MEIiLGFjdGlvbjpmdW5jdGlvbigpe1J0KGUuc2Vzc2lvbklkKX19KSxuLm1lc3NhZ2VRdWV1ZT1bXSxuLnBlbmRpbmdNZXNzYWdlcz1bXTt2YXIgeD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pLFM9ZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQ/bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09bi5zZWxlY3RlZElkfSk6bnVsbCxQPSEhKHgmJnguc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCJ8fFMmJlMuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpO1AmJmUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkPyhXcygpLGx1KGUuc2Vzc2lvbklkKSk6UHx8KG4uc3RydWN0dXJlZElucHV0UXVldWU9W10sbHUobi5zZWxlY3RlZElkKSx1bigpKSxlLnNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmKFB8fEFuKCExKSxuLmN1cnJlbnRUYXNrPW51bGwsSnQoKSksZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQmJkFyKCksZG4oKS50aGVuKGZ1bmN0aW9uKCl7YWkoKX0pLGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiYoUHx8Zm4oZS5zZXNzaW9uSWQpKTticmVha31jYXNlImluaXQiOmlmKGUuc2Vzc2lvbklkPT09bi5zZWxlY3RlZElkJiZlLmRhdGEpe24uY2hhdFJlbmRlclRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uY2hhdFJlbmRlclRpbWVyKSxuLmNoYXRSZW5kZXJUaW1lcj1udWxsKSxaKGUuZGF0YSk7dmFyIHo9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKFUpe3JldHVybiBVLmlkPT09ZS5zZXNzaW9uSWR9KTtuLmN1cnJlbnRNZXNzYWdlcz1SZSh6fHxlLmRhdGEsdHQoenx8ZS5kYXRhLGUuZGF0YS5vdXRwdXQsITEpKSxjcighMCksSnQoKSxlcygpO3ZhciBHPWUuZGF0YS5vdXRwdXR8fCIiLEw9bi50ZXJtaW5hbFNlc3Npb25JZD09PWUuc2Vzc2lvbklkLEI9bi50ZXJtaW5hbE91dHB1dHx8IiIsVD1MJiZCLmxlbmd0aD4wJiZHLmxlbmd0aD49Qi5sZW5ndGgmJkcuc3RhcnRzV2l0aChCKTskYyhHLGUuc2Vzc2lvbklkLFQ/ImFwcGVuZCI6InJlcGxhY2UiKSx2cigiaW5pdCIpfWJyZWFrO2Nhc2UidXNhZ2UiOmJyZWFrO2Nhc2UidGFzayI6ZS5zZXNzaW9uSWQ9PT1uLnNlbGVjdGVkSWQmJihuLmN1cnJlbnRUYXNrPWUuZGF0YXx8bnVsbCxKdCgpKSxzZihlLnNlc3Npb25JZCxlLmRhdGF8fG51bGwpLG9hKGUuc2Vzc2lvbklkKSxKbygpO2JyZWFrO2Nhc2Uic3RhdHVzIjppZihlLnNlc3Npb25JZCYmZS5kYXRhKXt2YXIgST17aWQ6ZS5zZXNzaW9uSWR9O2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLmRhdGEsInN0YXR1cyIpJiYoSS5zdGF0dXM9ZS5kYXRhLnN0YXR1cyksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwiZXhpdENvZGUiKSYmKEkuZXhpdENvZGU9ZS5kYXRhLmV4aXRDb2RlKSxlLmRhdGEuc3RydWN0dXJlZFN0YXRlKUkuc3RydWN0dXJlZFN0YXRlPWUuZGF0YS5zdHJ1Y3R1cmVkU3RhdGU7ZWxzZSBpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZS5kYXRhLCJzdGF0dXMiKSl7dmFyIGk9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKE0pe3JldHVybiBNLmlkPT09ZS5zZXNzaW9uSWR9KTtpJiZpLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiJiYoSS5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxpLnN0cnVjdHVyZWRTdGF0ZXx8e30se2luRmxpZ2h0OmUuZGF0YS5zdGF0dXM9PT0icnVubmluZyJ9KSl9aWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicXVldWVkTWVzc2FnZXMiKSYmKEkucXVldWVkTWVzc2FnZXM9ZS5kYXRhLnF1ZXVlZE1lc3NhZ2VzfHxbXSxuLnF1ZXVlRXBvY2grKyksT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUuZGF0YSwicGVybWlzc2lvbkJsb2NrZWQiKSYmKEkucGVybWlzc2lvbkJsb2NrZWQ9ISFlLmRhdGEucGVybWlzc2lvbkJsb2NrZWQpLGUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdCl7SS5wZW5kaW5nRXNjYWxhdGlvbj17c2NvcGU6ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnNjb3BlLHRhcmdldDplLmRhdGEucGVybWlzc2lvblJlcXVlc3QudGFyZ2V0LHJlYXNvbjplLmRhdGEucGVybWlzc2lvblJlcXVlc3QucHJvbXB0fTt2YXIgVj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oVSl7cmV0dXJuIFUuaWQ9PT1lLnNlc3Npb25JZH0pLHJlPVYmJihWLnN1bW1hcnl8fFYuY29tbWFuZCl8fGUuc2Vzc2lvbklkLHRlPWUuZGF0YS5wZXJtaXNzaW9uUmVxdWVzdC5wcm9tcHR8fCJcdTk3MDBcdTg5ODFcdTY3NDNcdTk2NTBcdTVCQTFcdTYyNzkiLCQ9ZS5kYXRhLnBlcm1pc3Npb25SZXF1ZXN0LnRhcmdldCxpZT1yZTskP2llKz1gCmArdGUrIiBceEI3ICIrJDppZSs9YApgK3RlLFZuKCJtZWRpdW0iKSxvZihlLnNlc3Npb25JZCxpZSksZS5zZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWQmJmFhKHt0aXRsZToiXHU5NzAwXHU4OTgxXHU0RjYwXHU3Njg0XHU2Mzg4XHU2NzQzIixib2R5OmllLHR5cGU6Indhcm5pbmciLGljb246IiEiLGR1cmF0aW9uOjAsYWN0aW9uTGFiZWw6Ilx1NTNCQlx1NTkwNFx1NzQwNiIsYWN0aW9uOmZ1bmN0aW9uKCl7UnQoZS5zZXNzaW9uSWQpfX0pfWUuZGF0YS5wZXJtaXNzaW9uQmxvY2tlZD09PSExJiYoSS5wZW5kaW5nRXNjYWxhdGlvbj1udWxsKSxlLmRhdGEuYXBwcm92YWxTdGF0cyYmKEkuYXBwcm92YWxTdGF0cz1lLmRhdGEuYXBwcm92YWxTdGF0cyksWihJKSxvYShlLnNlc3Npb25JZCksc2EoKSxlLnNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmKEp0KCksZS5kYXRhLmFwcHJvdmFsU3RhdHMmJmVzKCksSS5zdHJ1Y3R1cmVkU3RhdGUmJihJLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodHx8KFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSxXcygpKSxLaSgpKSl9YnJlYWs7Y2FzZSJub3RpZmljYXRpb24iOmUuZGF0YSYmKGUuZGF0YS5raW5kPT09InVwZGF0ZSI/Q3MoZS5kYXRhLmN1cnJlbnR8fCItIixlLmRhdGEubGF0ZXN0fHwiLSIpOmUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXN0YXJ0Ij9tZihlLmRhdGEuY3VycmVudHx8Ii0iLGUuZGF0YS5sYXRlc3R8fCItIik6KGUuZGF0YS5raW5kPT09ImF1dG8tdXBkYXRlLXJlc3RhcnQifHxlLmRhdGEua2luZD09PSJyZXN0YXJ0IikmJmFuKCkpO2JyZWFrfX1mdW5jdGlvbiBKdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50LXRhc2siKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiKTtpZihlKXt2YXIgaT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24odil7cmV0dXJuIHYuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpJiZpLnByb3ZpZGVyPT09ImNvZGV4IiYmKHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5jbGFzc0xpc3QucmVtb3ZlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKSk7dmFyIGE9aSYmaS5wZW5kaW5nRXNjYWxhdGlvbj9pLnBlbmRpbmdFc2NhbGF0aW9uOm51bGwsdT1pJiZpLnByb3ZpZGVyIT09ImNvZGV4Ij9hfHxpLnBlcm1pc3Npb25CbG9ja2VkOiExO2lmKHUpe3ZhciBzPWkmJmkuYXV0b0FwcHJvdmVQZXJtaXNzaW9ucztpZihyKWlmKHMpci50ZXh0Q29udGVudD0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU0RTJELi4uIjtlbHNlIGlmKGEpe3ZhciBvPWEucmVhc29ufHwiXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIixsPWEudGFyZ2V0PyIgXHhCNyAiK2EudGFyZ2V0OiIiO3IudGV4dENvbnRlbnQ9bytsfWVsc2Ugci50ZXh0Q29udGVudD0iXHU3QjQ5XHU1Rjg1XHU2Mzg4XHU2NzQzIjtpZih0KXt0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiksZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO2MmJmMuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIXMpLGQmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhIXMpfWUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpO3JldHVybn1lLmNsYXNzTGlzdC5yZW1vdmUoInBlcm1pc3Npb24tYmxvY2tlZCIpLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGY9bi5jdXJyZW50VGFzaztmJiZmLnRpdGxlPyhlLnRleHRDb250ZW50PWYudGl0bGUsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIGVzKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmFsLXN0YXRzIik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LmFwcHJvdmFsU3RhdHM7aWYoIXJ8fHIudG90YWw9PT0wKXtlLmNsYXNzTmFtZT0iYXBwcm92YWwtc3RhdHMgaGlkZGVuIixlLmlubmVySFRNTD0iIjtyZXR1cm59ZS5jbGFzc05hbWU9ImFwcHJvdmFsLXN0YXRzIixlLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWRpdmlkZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIGlkPSJhcHByb3ZhbC1zdGF0cy1iYWRnZSIgdGl0bGU9Ilx1NjcyQ1x1NkIyMVx1NEYxQVx1OEJERFx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMSI+PHN2ZyBjbGFzcz0iYXBwcm92YWwtc3RhdHMtaWNvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy10b3RhbCI+JytyLnRvdGFsKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCIgaWQ9ImFwcHJvdmFsLXN0YXRzLXBvcHVwIj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1N0VERlx1OEJBMTwvc3Bhbj4nKyhyLmNvbW1hbmQ+MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK0ooInRlcm1pbmFsIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQ3RFx1NEVFNFx1NjI2N1x1ODg0Qzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IuY29tbWFuZCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsoci5maWxlPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJlZGl0Iix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NjU4N1x1NEVGNlx1NTE5OVx1NTE2NTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IuZmlsZSsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsoci50b29sPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJ3cmVuY2giLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1sYWJlbCI+XHU1MTc2XHU0RUQ2XHU1REU1XHU1MTc3PC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctY291bnQiPicrci50b29sKyI8L3NwYW4+PC9zcGFuPiI6IiIpKyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93IGFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1pY29uIj4nK0ooInNpZ21hIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTQwOFx1OEJBMTwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3IudG90YWwrIjwvc3Bhbj48L3NwYW4+PC9zcGFuPiI7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIuYXBwcm92YWwtc3RhdHMtYmFkZ2UiKTtpJiYoaS5jbGFzc0xpc3QucmVtb3ZlKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpLGkub2Zmc2V0V2lkdGgsaS5jbGFzc0xpc3QuYWRkKCJhcHByb3ZhbC1zdGF0cy1wdWxzZSIpKX19ZnVuY3Rpb24gWWMoKXtpZihWbigibGlnaHQiKSwhIW4uc2VsZWN0ZWRJZCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW55LXBlcm1pc3Npb24tYnRuIik7ZSYmKGUuZGlzYWJsZWQ9ITApLHQmJih0LmRpc2FibGVkPSEwKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvYXBwcm92ZS1wZXJtaXNzaW9uIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3Ipe2soci5lcnJvciwiZXJyb3IiKTtyZXR1cm59WihyKSxKdCgpfSkuY2F0Y2goZnVuY3Rpb24ocil7ayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYyNzlcdTUxQzZcdTYzODhcdTY3NDNcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe2UmJihlLmRpc2FibGVkPSExKSx0JiYodC5kaXNhYmxlZD0hMSl9KX19ZnVuY3Rpb24gR2MoKXtpZihWbigibGlnaHQiKSwhIW4uc2VsZWN0ZWRJZCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcHJvdmUtcGVybWlzc2lvbi1idG4iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZW55LXBlcm1pc3Npb24tYnRuIik7ZSYmKGUuZGlzYWJsZWQ9ITApLHQmJih0LmRpc2FibGVkPSEwKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvZGVueS1wZXJtaXNzaW9uIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3Ipe2soci5lcnJvciwiZXJyb3IiKTtyZXR1cm59WihyKSxKdCgpfSkuY2F0Y2goZnVuY3Rpb24ocil7ayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYyRDJcdTdFRERcdTYzODhcdTY3NDNcdTMwMDIiLCJlcnJvciIpfSkuZmluYWxseShmdW5jdGlvbigpe2UmJihlLmRpc2FibGVkPSExKSx0JiYodC5kaXNhYmxlZD0hMSl9KX19ZnVuY3Rpb24gUWMoKXtpZihuLnNlbGVjdGVkSWQpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKGUmJmUucHJvdmlkZXI9PT0iY29kZXgiKXtrKCJDb2RleCBcdTRGMUFcdThCRERcdTU2RkFcdTVCOUFcdTRFRTUgZnVsbC1hY2Nlc3MgUFRZIFx1NTQyRlx1NTJBOFx1RkYwQ1x1NEUwRFx1NjUyRlx1NjMwMVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImluZm8iKTtyZXR1cm59dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tYXBwcm92ZS10b2dnbGUiKTt0JiYodC5zdHlsZS5vcGFjaXR5PSIwLjUiKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLnNlbGVjdGVkSWQpKyIvdG9nZ2xlLWF1dG8tYXBwcm92ZSIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXtrKHIuZXJyb3IsImVycm9yIik7cmV0dXJufVoociksdHMoKTt2YXIgaT1yLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7ayhpPyJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTVGMDBcdTU0MkYiOiJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQiLCJpbmZvIil9KS5jYXRjaChmdW5jdGlvbihyKXtrKHImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTIwN1x1NjM2Mlx1ODFFQVx1NTJBOFx1NjI3OVx1NTFDNlx1MzAwMiIsImVycm9yIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dCYmKHQuc3R5bGUub3BhY2l0eT0iIil9KX19ZnVuY3Rpb24gdHMoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpLHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoV28odCkpe2UmJmUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpO3JldHVybn1pZihlKXt2YXIgcj0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciIsaT10JiZ0LmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7aT8oZS5jbGFzc05hbWU9cisiIGFjdGl2ZSIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1NDJGXHU3NTI4IFx1MjAxNCBcdTcwQjlcdTUxRkJcdTUxNzNcdTk1RUQiLGUuaW5uZXJIVE1MPUooInNoaWVsZENoZWNrIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjcsY2xzOiJjb21wb3Nlci1waWxsLWljb24ifSkrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci1waWxsLWxhYmVsIj5cdTgxRUFcdTUyQTg8L3NwYW4+Jyk6KGUuY2xhc3NOYW1lPXIsZS50aXRsZT0iXHU4MUVBXHU1MkE4XHU2Mjc5XHU1MUM2XHU1REYyXHU1MTczXHU5NUVEIFx1MjAxNCBcdTcwQjlcdTUxRkJcdTVGMDBcdTU0MkYiLGUuaW5uZXJIVE1MPUooInNoaWVsZCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU2MjRCXHU1MkE4PC9zcGFuPicpfX1mdW5jdGlvbiAkYyhlLHQscil7cmV0dXJuIG4udGVybWluYWw/WnIodHx8bi5zZWxlY3RlZElkLGUse21vZGU6cnx8ImFwcGVuZCJ9KTohMX1mdW5jdGlvbiBucygpe24ucG9sbFRpbWVyJiYoY2xlYXJJbnRlcnZhbChuLnBvbGxUaW1lciksbi5wb2xsVGltZXI9bnVsbCl9ZnVuY3Rpb24gcW0oZSl7bi5jdXJyZW50Vmlldz1lfHwidGVybWluYWwiLG4uY3VycmVudFZpZXchPT0idGVybWluYWwiJiYoQW4oITEpLFFzKCkpLGJpKCksRWEoKTt2YXIgdD1IdCgpO3QmJihuLmN1cnJlbnRNZXNzYWdlcz1SZSh0LHR0KHQsdC5vdXRwdXQsITApKSksc3QoKSxuLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmKE90KCEwKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLnJlbWVhc3VyZSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi50ZXJtaW5hbCYmbi50ZXJtaW5hbC5yZW1lYXN1cmUoKX0pKX1mdW5jdGlvbiBjcihlKXtuLnJlbmRlclBlbmRpbmcmJiFlfHwobi5yZW5kZXJQZW5kaW5nPSEwLGU/KGZpKCEwKSxuLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2ZpKCExKSxuLnJlbmRlclBlbmRpbmc9ITF9KSl9bi5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBLaShlKXtpZighKG4uY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKG4uY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQobi5jaGF0UmVuZGVyVGltZXIpLGUpe24uY2hhdFJlbmRlclRpbWVyPW51bGwsY3IoKTtyZXR1cm59dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPXI/Z3M6aHM7bi5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIGE9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7YSYmKG4uY3VycmVudE1lc3NhZ2VzPVJlKGEsdHQoYSxhLm91dHB1dCwhMCkpKSxjcigpfSxpKX19dmFyIEppPTAsWXI9MCxycz0wLEdyPTA7ZnVuY3Rpb24gWWkoKXt2YXIgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7aWYoZSYmZS5jbGFzc0xpc3QmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy1wd2EiKSlyZXR1cm4hMDt0cnl7cmV0dXJuIG5hdmlnYXRvci5zdGFuZGFsb25lPT09ITB9Y2F0Y2h7fXJldHVybiExfWZ1bmN0aW9uIGlzKGUpe3JzPU1hdGgubWF4KHJzLERhdGUubm93KCkrKGV8fDE4MDApKX1mdW5jdGlvbiBhcyhlLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5hY3RpdmVFbGVtZW50O0dpKHIpJiZyIT09dHx8aXMoZSl9LDMwKX1mdW5jdGlvbiBYYyhlKXtyZXR1cm4gTWF0aC5tYXgod2luZG93LmlubmVySGVpZ2h0fHwwLGUmJmUuaGVpZ2h0fHwwLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8MCxkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodHx8MCl9ZnVuY3Rpb24gWmMoZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHI9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZSYmZS53aWR0aHx8MCx0JiZ0LmNsaWVudFdpZHRofHwwKSxpPVhjKGUpO3JldHVybiFKaXx8TWF0aC5hYnMoci1KaSk+OD8oSmk9cixZcj1pKTppPllyJiYoWXI9aSksTWF0aC5tYXgoMSxNYXRoLnJvdW5kKFlyfHxpfHwxKSl9ZnVuY3Rpb24gZWQoZSx0LHIsaSl7cmV0dXJuIGV8fCFZaSgpPyExOnQ+MHx8aT5yKzF9ZnVuY3Rpb24gTm4oZSl7dmFyIHQ9d2luZG93LnZpc3VhbFZpZXdwb3J0O2lmKHQpe3ZhciByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZih3aW5kb3cuX193YW5kSW1lTmF0aXZlKXtyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC10b3AiLCIwcHgiKSxyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC1oZWlnaHQiLE1hdGgucm91bmQodC5oZWlnaHQpKyJweCIpO3JldHVybn12YXIgaT1aYyh0KSxhPU1hdGgubWF4KDAsTWF0aC5yb3VuZCh0Lm9mZnNldFRvcHx8MCkpLHU9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHQuaGVpZ2h0KSk7KCFlJiZZaSgpfHxlZChlLGEsdSxpKSkmJihhPTAsdT1NYXRoLm1heCh1LGkpKSxyLnN0eWxlLnNldFByb3BlcnR5KCItLWFwcC12aWV3cG9ydC10b3AiLGErInB4Iiksci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1hcHAtdmlld3BvcnQtaGVpZ2h0Iix1KyJweCIpLChlfHwod2luZG93LnNjcm9sbFl8fDApPjApJiZrYSgpfX1mdW5jdGlvbiBHaShlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1lLnRhZ05hbWU7aWYodD09PSJURVhUQVJFQSJ8fHQ9PT0iU0VMRUNUIilyZXR1cm4hMDtpZih0PT09IklOUFVUIil7dmFyIHI9KGUuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJ0ZXh0IikudG9Mb3dlckNhc2UoKTtyZXR1cm4hL14oYnV0dG9ufGNoZWNrYm94fGNvbG9yfGZpbGV8aGlkZGVufGltYWdlfHJhZGlvfHJhbmdlfHJlc2V0fHN1Ym1pdCkkL2kudGVzdChyKX1yZXR1cm4hIWUuaXNDb250ZW50RWRpdGFibGV9ZnVuY3Rpb24gdGQoKXtpZighKCJ2aXN1YWxWaWV3cG9ydCJpbiB3aW5kb3cpKXJldHVybjt2YXIgZT13aW5kb3cudmlzdWFsVmlld3BvcnQsdD1lLmhlaWdodCxyPSExLGk9TWF0aC5tYXgod2luZG93LmlubmVyV2lkdGh8fDAsZS53aWR0aHx8MCksYT1NYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApLHU9W107ZnVuY3Rpb24gcygpe3JldHVybiBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHR8fDAsZS5oZWlnaHR8fDApfWZ1bmN0aW9uIG8oKXt2YXIgbT1NYXRoLm1heCh3aW5kb3cuaW5uZXJXaWR0aHx8MCxlLndpZHRofHwwKSxiPXMoKTtpZihNYXRoLmFicyhtLWkpPjgpe2k9bSxhPWI7cmV0dXJufWI+YSYmKGE9Yil9ZnVuY3Rpb24gbChtLGIpe3ZhciBnPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQseT1nPT09bXx8R2koZyksdz1hLWUuaGVpZ2h0LEY9YS0od2luZG93LmlubmVySGVpZ2h0fHxlLmhlaWdodHx8MCksRT1EYXRlLm5vdygpPEdyO3JldHVybiBFPyEhKHkmJih3PjEyMHx8Rj4xMjApKTohIShiPjgwfHx5JiYodz4xMjB8fEY+MTIwKXx8ciYmKHc+ODB8fGI+MzIpKX1mdW5jdGlvbiBjKCl7dS5mb3JFYWNoKGZ1bmN0aW9uKG0pe2NsZWFyVGltZW91dChtKX0pLHU9WzYwLDE4MCwzNjAsNjIwLDkwMF0ubWFwKGZ1bmN0aW9uKG0pe3JldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Tm4ocil9LG0pfSl9ZnVuY3Rpb24gZCgpe2lmKGUpe3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxiPXdpbmRvdy5pbm5lckhlaWdodC1lLmhlaWdodC1lLm9mZnNldFRvcDtvKCk7dmFyIGc9bChtLGIpLHk9TWF0aC5hYnMoZS5oZWlnaHQtdCk+ODtpZihObihnKSxnJiYoIXJ8fHkpJiZMcChlLG0pJiZEYShtKSwhciYmZyl7dmFyIHc9bi50ZXJtaW5hbEF1dG9Gb2xsb3d8fGVhKCk7ZXQoImtleWJvYXJkLW9wZW4iLHtmb3JjZVJlcGxheTohMH0pLHdpbmRvdy5fX3dhbmRJbWVOYXRpdmV8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXtObighMCl9LDIyMCksYygpLHcmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZmdCgiZm9yY2UiKX0sMjIwKX1pZihyJiYhZyl7dmFyIEY9ISF3aW5kb3cuX193YW5kSW1lTmF0aXZlO0Z8fChpcygyMjAwKSxHcj1EYXRlLm5vdygpKzEyMDAsTm4oITEpLGthKCkpLGMoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Rnx8KE5uKCExKSxrYSgpKSxldCgia2V5Ym9hcmQtY2xvc2UiLHtmb3JjZVJlcGxheTohMH0pLGZ0KCJrZXlib2FyZCIpfSwyMDApfXkmJnI9PT1nJiZldCgidmlld3BvcnQiKSxyPWcsdD1lLmhlaWdodH19dmFyIGY9bnVsbDtmdW5jdGlvbiB2KCl7ZiE9PW51bGwmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKGYpLGY9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7Zj1udWxsLGQoKX0pfWUuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix2KSxlLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdiksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZnVuY3Rpb24oKXtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJih2KCksc2V0VGltZW91dCh2LDI0MCksc2V0VGltZW91dCh2LDcyMCkpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbihtKXttJiZtLnBlcnNpc3RlZCYmKHYoKSxzZXRUaW1lb3V0KHYsMjQwKSl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsZnVuY3Rpb24obSl7IW18fCFtLnRhcmdldHx8R2kobS50YXJnZXQpJiYoYXMoMTYwMCxtLnRhcmdldCksWWkoKSYmKEdyPU1hdGgubWF4KEdyLERhdGUubm93KCkrMTIwMCkpLHNldFRpbWVvdXQodiw4MCksc2V0VGltZW91dCh2LDQyMCkpfSksZCgpfWZ1bmN0aW9uIG5kKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuY2xhc3NOYW1lPSJ0ZXJtaW5hbC1yZXNpemUtaGFuZGxlIix0LmlubmVySFRNTD0iJiM4OTQyOyIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgcj0hMSxpPTAsYT0wO3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbih1KXtyPSEwLGk9dS5jbGllbnRZLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQsZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9Im5zLXJlc2l6ZSIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSJub25lIix1LnByZXZlbnREZWZhdWx0KCl9KSxuLnJlc2l6ZU1vdXNlTW92ZT1mdW5jdGlvbih1KXtpZihyKXt2YXIgcz11LmNsaWVudFktaSxvPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK3Msd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLE90KCl9fSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLG4ucmVzaXplTW91c2VNb3ZlKSxuLnJlc2l6ZU1vdXNlVXA9ZnVuY3Rpb24oKXtyJiYocj0hMSxkb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvcj0iIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9IiIsT3QoKSl9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG4ucmVzaXplTW91c2VVcCksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixmdW5jdGlvbih1KXtyPSEwLGk9dS50b3VjaGVzWzBdLmNsaWVudFksYT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCx1LnByZXZlbnREZWZhdWx0KCl9LHtwYXNzaXZlOiExfSksbi5yZXNpemVUb3VjaE1vdmU9ZnVuY3Rpb24odSl7aWYocil7dmFyIHM9dS50b3VjaGVzWzBdLmNsaWVudFktaSxvPU1hdGgubWF4KDIwMCxNYXRoLm1pbihhK3Msd2luZG93LmlubmVySGVpZ2h0LTIwMCkpO2Uuc3R5bGUuaGVpZ2h0PW8rInB4IixlLnN0eWxlLmZsZXg9Im5vbmUiLE90KCksdS5wcmV2ZW50RGVmYXVsdCgpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixuLnJlc2l6ZVRvdWNoTW92ZSx7cGFzc2l2ZTohMX0pLG4ucmVzaXplVG91Y2hFbmQ9ZnVuY3Rpb24oKXtyJiYocj0hMSxPdCgpKX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLG4ucmVzaXplVG91Y2hFbmQpfX1mdW5jdGlvbiB1cygpe3JldHVybiEhSHQoKX1mdW5jdGlvbiBRaShlKXt2YXIgdD1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJXaWR0aC1zaS1zbikscj1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJIZWlnaHQtc2ktc24pO3JldHVybntyaWdodDpNYXRoLm1pbihNYXRoLm1heChzbixlLnJpZ2h0KSx0KSxib3R0b206TWF0aC5taW4oTWF0aC5tYXgoc24sZS5ib3R0b20pLHIpfX1mdW5jdGlvbiBzcygpe2lmKG4uam95c3RpY2tCYWxsRWwpe3ZhciBlPVFpKG4uam95c3RpY2tQb3N8fHtyaWdodDoxOCxib3R0b206OTZ9KTtuLmpveXN0aWNrQmFsbEVsLnN0eWxlLnJpZ2h0PWUucmlnaHQrInB4IixuLmpveXN0aWNrQmFsbEVsLnN0eWxlLmJvdHRvbT1lLmJvdHRvbSsicHgifX1mdW5jdGlvbiByZChlLHQpe3ZhciByPVFpKHtyaWdodDplLGJvdHRvbTp0fSk7bi5qb3lzdGlja1Bvcz1yO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1iYWxsLXBvcyIsSlNPTi5zdHJpbmdpZnkocikpfWNhdGNoe319ZnVuY3Rpb24gaWQoKXtmdW5jdGlvbiBlKHUscyxvKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ3anAta2V5Jysobz8iICIrbzoiIikrJyIgZGF0YS1rZXk9IicrdSsnIj4nK3MrIjwvYnV0dG9uPiJ9dmFyIHQ9JzxkaXYgY2xhc3M9IndqcC1kcGFkIj48ZGl2IGNsYXNzPSJ3anAtZHBhZC1yb3ciPicrZSgidXAiLCJcdTIxOTEiLCJ3anAtZGlyIikrJzwvZGl2PjxkaXYgY2xhc3M9IndqcC1kcGFkLXJvdyI+JytlKCJsZWZ0IiwiXHUyMTkwIiwid2pwLWRpciIpK2UoImRvd24iLCJcdTIxOTMiLCJ3anAtZGlyIikrZSgicmlnaHQiLCJcdTIxOTIiLCJ3anAtZGlyIikrIjwvZGl2PjwvZGl2PiIscj0iIixpO2ZvcihpPTA7aTx5YS5sZW5ndGg7aSsrKXIrPWUoeWFbaV0ua2V5LHlhW2ldLmxhYmVsLCIiKTt2YXIgYT0nPGRpdiBjbGFzcz0id2pwLWhlYWRlciI+PHNwYW4gY2xhc3M9IndqcC10aXRsZSI+JytKKCJwYXciLHtzaXplOjEzLHN0cm9rZVdpZHRoOjEuNixjbHM6IndqcC10aXRsZS1pY29uIn0pKyc8c3Bhbj5cdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0Y8L3NwYW4+PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0id2pwLWNsb3NlIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RURcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiPicrSigieCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6Mn0pKyI8L2J1dHRvbj48L2Rpdj4iK3QrJzxkaXYgY2xhc3M9IndqcC1ncmlkIHdqcC1mbmtleXMiPicrcisiPC9kaXY+IjtyZXR1cm4gYX1mdW5jdGlvbiBhZCgpe2lmKCFuLmpveXN0aWNrUm9vdEVsKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtlLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1yb290Ijt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWNrZHJvcCIsZS5hcHBlbmRDaGlsZCh0KTt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1wYW5lbCIsci5pbm5lckhUTUw9aWQoKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixwZCksZS5hcHBlbmRDaGlsZChyKTt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpLmNsYXNzTmFtZT0id2FuZC1qb3lzdGljay1iYWxsIixpLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLGkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiV2FuZCBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0YiKSxpLnNldEF0dHJpYnV0ZSgidGl0bGUiLCJcdTcwQjlcdTUxRkJcdTYyNTNcdTVGMDBcdTkwNjVcdTYzQTdcdTk3NjJcdTY3N0ZcdUZGMENcdTYyRDZcdTUyQThcdTUzRUZcdTc5RkJcdTUyQThcdTRGNERcdTdGNkUiKSxpLmlubmVySFRNTD1KKCJwYXciLHtzaXplOjI1LHN0cm9rZVdpZHRoOjEuNixjbHM6IndhbmQtam95c3RpY2stbG9nbyJ9KSxlLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksbi5qb3lzdGlja1Jvb3RFbD1lLG4uam95c3RpY2tCYWNrZHJvcEVsPXQsbi5qb3lzdGlja1BhbmVsRWw9cixuLmpveXN0aWNrQmFsbEVsPWksc3MoKSxpLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix1ZCksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixmdW5jdGlvbihhKXtuLmpveXN0aWNrUGlubmVkT3BlbiYmbi5qb3lzdGlja0dlc3R1cmU9PW51bGwmJihhLnByZXZlbnREZWZhdWx0KCksZHIoKSl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKX0pLG4uam95c3RpY2tSZXNpemVIYW5kbGVyPWZ1bmN0aW9uKCl7c3MoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXIpLGRzKCl9fWZ1bmN0aW9uIHVkKGUpe2lmKHVzKCkmJiEoKGUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiIpJiZlLmJ1dHRvbiE9PTApJiZuLmpveXN0aWNrUG9pbnRlcklkPT09bnVsbCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHQ9ZS5wb2ludGVyVHlwZT09PSJtb3VzZSJ8fGUucG9pbnRlclR5cGU9PT0icGVuIjtuLmpveXN0aWNrUG9pbnRlcklkPWUucG9pbnRlcklkLG4uam95c3RpY2tQcmVzc1N0YXJ0PXt4OmUuY2xpZW50WCx5OmUuY2xpZW50WSx0OkRhdGUubm93KCl9LG4uam95c3RpY2tHZXN0dXJlPSJwZW5kaW5nIjt0cnl7bi5qb3lzdGlja0JhbGxFbC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fXR8fChuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uam95c3RpY2tHZXN0dXJlPT09InBlbmRpbmciJiZvcygpfSxRZikpLG4uam95c3RpY2tNb3ZlSGFuZGxlcj1zZCxuLmpveXN0aWNrVXBIYW5kbGVyPW9kLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixuLmpveXN0aWNrTW92ZUhhbmRsZXIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsbi5qb3lzdGlja1VwSGFuZGxlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsbi5qb3lzdGlja1VwSGFuZGxlcil9fWZ1bmN0aW9uIG9zKCl7bi5qb3lzdGlja0dlc3R1cmU9Im1vdmUiLG4uam95c3RpY2tQaW5uZWRPcGVuJiZkcigpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxuLmpveXN0aWNrQmFja2Ryb3BFbCYmbi5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIil9ZnVuY3Rpb24gbHMoZSx0KXtpZihuLmpveXN0aWNrQmFsbEVsKXt2YXIgcj1RaSh7cmlnaHQ6d2luZG93LmlubmVyV2lkdGgtZS1zaS8yLGJvdHRvbTp3aW5kb3cuaW5uZXJIZWlnaHQtdC1zaS8yfSk7bi5qb3lzdGlja0JhbGxFbC5zdHlsZS5yaWdodD1yLnJpZ2h0KyJweCIsbi5qb3lzdGlja0JhbGxFbC5zdHlsZS5ib3R0b209ci5ib3R0b20rInB4In19ZnVuY3Rpb24gc2QoZSl7aWYoIShlLnBvaW50ZXJJZCE9PW4uam95c3RpY2tQb2ludGVySWR8fCFuLmpveXN0aWNrQmFsbEVsKSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uam95c3RpY2tHZXN0dXJlPT09Im1vdmUiKXtscyhlLmNsaWVudFgsZS5jbGllbnRZKTtyZXR1cm59aWYobi5qb3lzdGlja0dlc3R1cmU9PT0icGVuZGluZyIpe3ZhciB0PWUuY2xpZW50WC1uLmpveXN0aWNrUHJlc3NTdGFydC54LHI9ZS5jbGllbnRZLW4uam95c3RpY2tQcmVzc1N0YXJ0Lnk7TWF0aC5zcXJ0KHQqdCtyKnIpPD0kZnx8KGUucG9pbnRlclR5cGU9PT0ibW91c2UifHxlLnBvaW50ZXJUeXBlPT09InBlbiI/KG9zKCksbHMoZS5jbGllbnRYLGUuY2xpZW50WSkpOihuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQobi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksbi5qb3lzdGlja0dlc3R1cmU9ImNhbmNlbGxlZCIpKX19fWZ1bmN0aW9uIG9kKGUpe2lmKGUucG9pbnRlcklkPT09bi5qb3lzdGlja1BvaW50ZXJJZCl7bi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyJiYoY2xlYXJUaW1lb3V0KG4uam95c3RpY2tMb25nUHJlc3NUaW1lciksbi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyPW51bGwpO3ZhciB0PW4uam95c3RpY2tHZXN0dXJlO2lmKHQ9PT0icGVuZGluZyIpe3ZhciByPWUuY2xpZW50WC1uLmpveXN0aWNrUHJlc3NTdGFydC54LGk9ZS5jbGllbnRZLW4uam95c3RpY2tQcmVzc1N0YXJ0Lnk7TWF0aC5zcXJ0KHIqcitpKmkpPD1YZiYmZGQoKX1lbHNlIGlmKHQ9PT0ibW92ZSIpe3ZhciBhPW4uam95c3RpY2tCYWxsRWw/bi5qb3lzdGlja0JhbGxFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTpudWxsO2EmJnJkKHdpbmRvdy5pbm5lcldpZHRoLWEucmlnaHQsd2luZG93LmlubmVySGVpZ2h0LWEuYm90dG9tKX1jcygpfX1mdW5jdGlvbiBjcygpe2lmKG4uam95c3RpY2tMb25nUHJlc3NUaW1lciYmKGNsZWFyVGltZW91dChuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXIpLG4uam95c3RpY2tMb25nUHJlc3NUaW1lcj1udWxsKSxuLmpveXN0aWNrQmFsbEVsJiZuLmpveXN0aWNrUG9pbnRlcklkIT09bnVsbCl0cnl7bi5qb3lzdGlja0JhbGxFbC5yZWxlYXNlUG9pbnRlckNhcHR1cmUobi5qb3lzdGlja1BvaW50ZXJJZCl9Y2F0Y2h7fW4uam95c3RpY2tNb3ZlSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixuLmpveXN0aWNrTW92ZUhhbmRsZXIpLG4uam95c3RpY2tNb3ZlSGFuZGxlcj1udWxsKSxuLmpveXN0aWNrVXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixuLmpveXN0aWNrVXBIYW5kbGVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixuLmpveXN0aWNrVXBIYW5kbGVyKSxuLmpveXN0aWNrVXBIYW5kbGVyPW51bGwpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxuLmpveXN0aWNrQmFja2Ryb3BFbCYmIW4uam95c3RpY2tQaW5uZWRPcGVuJiZuLmpveXN0aWNrQmFja2Ryb3BFbC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxuLmpveXN0aWNrUG9pbnRlcklkPW51bGwsbi5qb3lzdGlja0dlc3R1cmU9bnVsbCxuLmpveXN0aWNrUHJlc3NTdGFydD1udWxsfWZ1bmN0aW9uIGxkKGUpe2lmKGU9PT0iY3RybCJ8fGU9PT0iYWx0Inx8ZT09PSJzaGlmdCIpe24ubW9kaWZpZXJzW2VdPSFuLm1vZGlmaWVyc1tlXSxmcigpO3JldHVybn12YXIgdD1IdCgpO2lmKHQmJm9lKHQpKXsoZT09PSJjdHJsX2MifHxlPT09ImVzY2FwZSIpJiZjZCh0LGUpLGxpKCksZnIoKTtyZXR1cm59dmFyIHI9JHMoZSx7Y3RybDpuLm1vZGlmaWVycy5jdHJsLGFsdDpuLm1vZGlmaWVycy5hbHQsc2hpZnQ6bi5tb2RpZmllcnMuc2hpZnR9KTtyJiZHcyhyLGUpLGxpKCksZnIoKSxvcCgpfWZ1bmN0aW9uIGNkKGUsdCl7IWV8fCFlLmlkfHxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrZS5pZCsiL21lc3NhZ2VzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6IiIsaW50ZXJydXB0OiEwLHByZXNlcnZlUXVldWU6ITB9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIub2s/ci5qc29uKCk6ci5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oaSl7dGhyb3cgbmV3IEVycm9yKGkmJmkuZXJyb3J8fCJcdTRFMkRcdTY1QURcdTU5MzFcdThEMjUgKGtleT0iK3QrIikiKX0pfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmlkJiYoWihyKSxyLmlkPT09bi5zZWxlY3RlZElkKSl7dmFyIGk9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ci5pZH0pfHxyO24uY3VycmVudE1lc3NhZ2VzPVJlKGksdHQoaSxyLm91dHB1dCwhMSkpLGNyKCEwKSx0eXBlb2YgRHQ9PSJmdW5jdGlvbiImJkR0KCl9fSkuY2F0Y2goZnVuY3Rpb24ocil7ciYmci5tZXNzYWdlJiZjb25zb2xlLmRlYnVnKCJbd2FuZF0gam95c3RpY2sgaW50ZXJydXB0IG5vLW9wOiIsci5tZXNzYWdlKX0pfWZ1bmN0aW9uIGRkKCl7bi5qb3lzdGlja1Bpbm5lZE9wZW4/ZHIoKTpmZCgpfWZ1bmN0aW9uIGZkKCl7aWYoISghbi5qb3lzdGlja1BhbmVsRWx8fCFuLmpveXN0aWNrQmFsbEVsKSl7bi5qb3lzdGlja1Bpbm5lZE9wZW49ITA7dmFyIGU9bi5qb3lzdGlja0JhbGxFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtuLmpveXN0aWNrUGFuZWxFbC5zdHlsZS5yaWdodD1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJXaWR0aC1lLnJpZ2h0KSsicHgiLG4uam95c3RpY2tQYW5lbEVsLnN0eWxlLmJvdHRvbT1NYXRoLm1heChzbix3aW5kb3cuaW5uZXJIZWlnaHQtZS50b3ArMTApKyJweCIsbi5qb3lzdGlja1BhbmVsRWwuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIiksbi5qb3lzdGlja0JhbGxFbC5jbGFzc0xpc3QuYWRkKCJwYW5lbC1vcGVuIiksbi5qb3lzdGlja0JhY2tkcm9wRWwmJm4uam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLGZyKCl9fWZ1bmN0aW9uIGRyKCl7bi5qb3lzdGlja1Bpbm5lZE9wZW49ITEsbi5qb3lzdGlja1BhbmVsRWwmJm4uam95c3RpY2tQYW5lbEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLG4uam95c3RpY2tCYWxsRWwmJm4uam95c3RpY2tCYWxsRWwuY2xhc3NMaXN0LnJlbW92ZSgicGFuZWwtb3BlbiIpLG4uam95c3RpY2tCYWNrZHJvcEVsJiZuLmpveXN0aWNrR2VzdHVyZT09bnVsbCYmbi5qb3lzdGlja0JhY2tkcm9wRWwuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIil9ZnVuY3Rpb24gZnIoKXtuLmpveXN0aWNrUGFuZWxFbCYmWyJjdHJsIiwiYWx0Il0uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1uLmpveXN0aWNrUGFuZWxFbC5xdWVyeVNlbGVjdG9yKCcud2pwLW1vZFtkYXRhLWtleT0iJytlKyciXScpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIW4ubW9kaWZpZXJzW2VdKX0pfWZ1bmN0aW9uIHBkKGUpe3ZhciB0PWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAtY2xvc2UiKTpudWxsO2lmKHQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLGRyKCk7cmV0dXJufXZhciByPWUudGFyZ2V0JiZlLnRhcmdldC5jbG9zZXN0P2UudGFyZ2V0LmNsb3Nlc3QoIi53anAta2V5Iik6bnVsbDtpZihyKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1rZXkiKTtpJiZsZChpKX19ZnVuY3Rpb24gZHMoKXt2YXIgZT1uLmpveXN0aWNrUm9vdEVsO2lmKGUpe3ZhciB0PXVzKCk7ZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIix0KSx0fHwoKG4uam95c3RpY2tQb2ludGVySWQhPT1udWxsfHxuLmpveXN0aWNrR2VzdHVyZSkmJmNzKCksbi5qb3lzdGlja1Bpbm5lZE9wZW4mJmRyKCksbi5qb3lzdGlja0JhY2tkcm9wRWwmJm4uam95c3RpY2tCYWNrZHJvcEVsLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpKX19ZnVuY3Rpb24gdmQoKXtuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXImJihjbGVhclRpbWVvdXQobi5qb3lzdGlja0xvbmdQcmVzc1RpbWVyKSxuLmpveXN0aWNrTG9uZ1ByZXNzVGltZXI9bnVsbCksbi5qb3lzdGlja01vdmVIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLG4uam95c3RpY2tNb3ZlSGFuZGxlciksbi5qb3lzdGlja01vdmVIYW5kbGVyPW51bGwpLG4uam95c3RpY2tVcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLG4uam95c3RpY2tVcEhhbmRsZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLG4uam95c3RpY2tVcEhhbmRsZXIpLG4uam95c3RpY2tVcEhhbmRsZXI9bnVsbCksbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLmpveXN0aWNrUmVzaXplSGFuZGxlciksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixuLmpveXN0aWNrUmVzaXplSGFuZGxlciksbi5qb3lzdGlja1Jlc2l6ZUhhbmRsZXI9bnVsbCksbi5qb3lzdGlja1Jvb3RFbCYmbi5qb3lzdGlja1Jvb3RFbC5wYXJlbnROb2RlJiZuLmpveXN0aWNrUm9vdEVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobi5qb3lzdGlja1Jvb3RFbCksbi5qb3lzdGlja1Jvb3RFbD1udWxsLG4uam95c3RpY2tQYW5lbEVsPW51bGwsbi5qb3lzdGlja0JhY2tkcm9wRWw9bnVsbCxuLmpveXN0aWNrQmFsbEVsPW51bGwsbi5qb3lzdGlja1BvaW50ZXJJZD1udWxsLG4uam95c3RpY2tHZXN0dXJlPW51bGwsbi5qb3lzdGlja1ByZXNzU3RhcnQ9bnVsbCxuLmpveXN0aWNrUGlubmVkT3Blbj0hMX1mdW5jdGlvbiBtZCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihlKXt2YXIgdD0hUGUoKTtuLnJlc2l6ZUhhbmRsZXI9ZnVuY3Rpb24oKXtPdCghMCk7dmFyIHI9IVBlKCk7dCE9PXImJih0PXIsIXImJm4uc2lkZWJhclBpbm5lZCYmbi5zZXNzaW9uc0RyYXdlck9wZW4/KG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHhyKCkpOnImJm4uc2lkZWJhclBpbm5lZCYmIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuJiYobi5zZXNzaW9uc0RyYXdlck9wZW49ITAsa2UoIndhbmQtc2lkZWJhci1vcGVuIiwhMCkseHIoKSkpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnJlc2l6ZUhhbmRsZXIpLHdpbmRvdy52aXN1YWxWaWV3cG9ydCYmKG4udmlzdWFsVmlld3BvcnRIYW5kbGVyPWZ1bmN0aW9uKCl7T3QoITApfSx3aW5kb3cudmlzdWFsVmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnZpc3VhbFZpZXdwb3J0SGFuZGxlcikpLG4udmlzaWJpbGl0eUhhbmRsZXI9ZnVuY3Rpb24oKXtkb2N1bWVudC5oaWRkZW58fGV0KCJ2aXNpYmlsaXR5Iix7Zm9yY2VSZXBsYXk6ITB9KX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsbi52aXNpYmlsaXR5SGFuZGxlciksbi5vcmllbnRhdGlvbkhhbmRsZXI9ZnVuY3Rpb24oKXtldCgib3JpZW50YXRpb24iLHtmb3JjZVJlcGxheTohMH0pfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLG4ub3JpZW50YXRpb25IYW5kbGVyKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtPdCghMCl9KX19ZnVuY3Rpb24gZ2QoKXtuLnRlcm1pbmFsSGVhbHRoVGltZXJ8fChuLnRlcm1pbmFsSGVhbHRoVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZighKCFuLnRlcm1pbmFsfHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsInx8ZG9jdW1lbnQuaGlkZGVuKSl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7aWYoISghZXx8ZS5zZXNzaW9uS2luZD09PSJzdHJ1Y3R1cmVkIikpe2V0KCJoZWFsdGgiKTt2YXIgdD1EYXRlLm5vdygpLHI9bi5sYXN0Q2h1bmtBdD4wJiZ0LW4ubGFzdENodW5rQXQ+MzAwLGk9dC1uLmxhc3RUZXJtaW5hbFJlc3luY0F0PjNlNCxhPW4ubGFzdENodW5rQXQ+bi5sYXN0VGVybWluYWxSZXN5bmNBdDtpJiZhJiYocnx8ZS5zdGF0dXMhPT0icnVubmluZyIpJiZuLnRlcm1pbmFsT3V0cHV0JiZDbigpfX19LDVlMykpfWZ1bmN0aW9uIGhkKCl7bi50ZXJtaW5hbEhlYWx0aFRpbWVyJiYoY2xlYXJJbnRlcnZhbChuLnRlcm1pbmFsSGVhbHRoVGltZXIpLG4udGVybWluYWxIZWFsdGhUaW1lcj1udWxsKX1mdW5jdGlvbiBwcigpe2hkKCksbi5yZXNpemVUaW1lciYmKGNsZWFyVGltZW91dChuLnJlc2l6ZVRpbWVyKSxuLnJlc2l6ZVRpbWVyPW51bGwpLG4ucmVzaXplT2JzZXJ2ZXImJihuLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSxuLnJlc2l6ZU9ic2VydmVyPW51bGwpLG4ucmVzaXplSGFuZGxlciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLG4ucmVzaXplSGFuZGxlciksbi5yZXNpemVIYW5kbGVyPW51bGwpLG4udmlzdWFsVmlld3BvcnRIYW5kbGVyJiZ3aW5kb3cudmlzdWFsVmlld3BvcnQmJih3aW5kb3cudmlzdWFsVmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixuLnZpc3VhbFZpZXdwb3J0SGFuZGxlciksbi52aXN1YWxWaWV3cG9ydEhhbmRsZXI9bnVsbCksbi52aXNpYmlsaXR5SGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLG4udmlzaWJpbGl0eUhhbmRsZXIpLG4udmlzaWJpbGl0eUhhbmRsZXI9bnVsbCksbi5vcmllbnRhdGlvbkhhbmRsZXImJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLG4ub3JpZW50YXRpb25IYW5kbGVyKSxuLm9yaWVudGF0aW9uSGFuZGxlcj1udWxsKSxbWyJtb3VzZW1vdmUiLCJyZXNpemVNb3VzZU1vdmUiXSxbIm1vdXNldXAiLCJyZXNpemVNb3VzZVVwIl0sWyJ0b3VjaG1vdmUiLCJyZXNpemVUb3VjaE1vdmUiXSxbInRvdWNoZW5kIiwicmVzaXplVG91Y2hFbmQiXV0uZm9yRWFjaChmdW5jdGlvbihhKXtuW2FbMV1dJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhWzBdLG5bYVsxXV0pLG5bYVsxXV09bnVsbCl9KSxSbigpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihuLnRlcm1pbmFsVmlld3BvcnRFbCYmKG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXImJm4udGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsbi50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlciksbi50ZXJtaW5hbFZpZXdwb3J0VG91Y2hIYW5kbGVyJiZuLnRlcm1pbmFsVmlld3BvcnRFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlciksbi50ZXJtaW5hbFZpZXdwb3J0VG91Y2hTdGFydEhhbmRsZXImJm4udGVybWluYWxWaWV3cG9ydEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyKSksZSYmKG4udGVybWluYWxXaGVlbEhhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2hlZWwiLG4udGVybWluYWxXaGVlbEhhbmRsZXIpLG4udGVybWluYWxDbGlja0hhbmRsZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLG4udGVybWluYWxDbGlja0hhbmRsZXIpKSxuLnRlcm1pbmFsVmlld3BvcnRFbD1udWxsLG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaFN0YXJ0SGFuZGxlcj1udWxsLG4udGVybWluYWxXaGVlbEhhbmRsZXI9bnVsbCxuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckhpZGVUaW1lciYmKGNsZWFyVGltZW91dChuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwpLG4udGVybWluYWxTY3JvbGxiYXJFbCYmbi50ZXJtaW5hbFNjcm9sbGJhckVsLnBhcmVudE5vZGUmJm4udGVybWluYWxTY3JvbGxiYXJFbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4udGVybWluYWxTY3JvbGxiYXJFbCksbi50ZXJtaW5hbFNjcm9sbGJhckVsPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhclRodW1iRWw9bnVsbCxuLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsbi50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITEsbi50ZXJtaW5hbCYmKG4udGVybWluYWwuZGVzdHJveSgpLG4udGVybWluYWw9bnVsbCksZSlmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtc2Nyb2xsLXdyYXAiKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07aS5wYXJlbnROb2RlPT09ZSYmZS5yZW1vdmVDaGlsZChpKX1yYSgpLG4uc3luY091dHB1dEJ1ZmZlcj1udWxsLG4uc3luY091dHB1dERlYWRsaW5lPTAsbi5zeW5jRnJhbWluZ1Jlc2lkdWU9ITEsbi50ZXJtaW5hbFNlc3Npb25JZD1udWxsLG4udGVybWluYWxPdXRwdXQ9IiIsbi50ZXJtaW5hbE91dHB1dE1hcmtlcj0wLG4udGVybWluYWxBdXRvRm9sbG93PSEwLG4uc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPSExLHN0KCksbi5zb2Z0UmVzeW5jVGltZXImJihjbGVhclRpbWVvdXQobi5zb2Z0UmVzeW5jVGltZXIpLG4uc29mdFJlc3luY1RpbWVyPW51bGwpLG4uX3Jlc3luY0NodW5rVGFpbFRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uX3Jlc3luY0NodW5rVGFpbFRpbWVyKSxuLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsKSxuLl9yZXN5bmNDaHVua0xhc3RBdD0wLG4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9MCxuLl9yZXN5bmNTdGF0c0NvdW50PTAsbi5fcmVzeW5jTGFzdFdhcm5BdD0wLG4uX3Jlc3luY0luUHJvZ3Jlc3M9ITEsbi5sYXN0UmVzaXplPXtjb2xzOjAscm93czowfSx2ZCgpfWZ1bmN0aW9uIFFyKGUsdCl7aWYobi5zZWxlY3RlZElkKXt2YXIgcj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZighKCFyfHxyLnN0YXR1cyE9PSJydW5uaW5nIikmJiFvZShyKSl7ZT4yNTYmJihlPTI1NiksdD4xNjAmJih0PTE2MCk7dmFyIGk9e2NvbHM6ZSxyb3dzOnR9OyhuLmxhc3RSZXNpemUuY29scyE9PWkuY29sc3x8bi5sYXN0UmVzaXplLnJvd3MhPT1pLnJvd3MpJiYobi5sYXN0UmVzaXplPWksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIituLnNlbGVjdGVkSWQrIi9yZXNpemUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGkpfSkuY2F0Y2goZnVuY3Rpb24oKXt9KSl9fX1mdW5jdGlvbiBldChlLHQpe2lmKCFuLnRlcm1pbmFsKXJldHVybiExO3ZhciByPXR8fHt9LGk9ci5mb3JjZVJlcGxheT09PSEwLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCFhfHxhLm9mZnNldFdpZHRoPT09MHx8YS5vZmZzZXRIZWlnaHQ9PT0wKXJldHVybiB2cihlfHwiZml0LXJldHJ5Iix7Zm9yY2VSZXBsYXk6aX0pLCExO3ZhciB1PW4udGVybWluYWxBdXRvRm9sbG93fHxlYSgpLHM9bi50ZXJtaW5hbC5jb2xzLG89bi50ZXJtaW5hbC5yb3dzO3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtpZihuLnRlcm1pbmFsKXt0eXBlb2Ygbi50ZXJtaW5hbC5yZW1lYXN1cmU9PSJmdW5jdGlvbiImJm4udGVybWluYWwucmVtZWFzdXJlKCksUXIobi50ZXJtaW5hbC5jb2xzLG4udGVybWluYWwucm93cyk7dmFyIGw9bi50ZXJtaW5hbC5jb2xzIT09c3x8bi50ZXJtaW5hbC5yb3dzIT09bzshbCYmaSYmbi50ZXJtaW5hbE91dHB1dCYmQ24oe3NraXBGaXQ6ITB9KSx1JiZmdCgiZm9yY2UiKX19KX0pLCEwfWZ1bmN0aW9uIHZyKGUsdCl7aWYoIW4udGVybWluYWwpcmV0dXJuO3ZhciByPXR8fHt9LGk9ci5mb3JjZVJlcGxheSE9PSExLGE9MCx1PTg7ZnVuY3Rpb24gcygpe2lmKG4udGVybWluYWwpe3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpZihvJiZvLm9mZnNldEhlaWdodCxvJiZvLm9mZnNldFdpZHRoPjAmJm8ub2Zmc2V0SGVpZ2h0PjApe2V0KGUse2ZvcmNlUmVwbGF5Oml9KTtyZXR1cm59KythPj11fHwoYTw9ND9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocyk6c2V0VGltZW91dChzLDMyKSl9fXMoKX1mdW5jdGlvbiBPdChlKXtuLnJlc2l6ZVRpbWVyJiYoY2xlYXJUaW1lb3V0KG4ucmVzaXplVGltZXIpLG4ucmVzaXplVGltZXI9bnVsbCk7dmFyIHQ9ZT8wOjEwMDtuLnJlc2l6ZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnJlc2l6ZVRpbWVyPW51bGwscmVxdWVzdEFuaW1hdGlvbkZyYW1lKHlkKX0sdCl9ZnVuY3Rpb24geWQoKXtpZihuLnRlcm1pbmFsKXt2YXIgZT1uLnRlcm1pbmFsQXV0b0ZvbGxvd3x8ZWEoKTtlJiZmdCgiZm9yY2UiKSxRcihuLnRlcm1pbmFsLmNvbHMsbi50ZXJtaW5hbC5yb3dzKX19ZnVuY3Rpb24gWXQoZSl7bi53b3JraW5nRGlyPWU7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJ3YW5kLXdvcmtpbmctZGlyIixlKX1jYXRjaHt9YmQoZSl9ZnVuY3Rpb24gJGkoZSl7ZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXtlKHR8fFtdKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZShbXSl9KX1mdW5jdGlvbiBiZChlKXtyZXR1cm4gZmV0Y2goIi9hcGkvcmVjZW50LXBhdGhzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7cGF0aDplfSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIFhpKGUpe3ZhciB0PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PWV9KTt0JiZ0LnN0YXR1cyE9PSJydW5uaW5nIiYmIW9lKHQpP3JvKGUpOlJ0KGUpLFd0KCl9ZnVuY3Rpb24gRWQoZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgcj10LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIik7aWYociYmciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtpZihyLmRhdGFzZXQuY29sbGFwc2VkTmV3U2Vzc2lvbil7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksVmEoKTtyZXR1cm59aWYoci5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksWGkoci5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCk7cmV0dXJufWlmKHIuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBpPXIuZGF0YXNldC5jb2xsYXBzZWRIaXN0b3J5SWQsYT1yLmRhdGFzZXQuY3dkfHwiIjtjaShpLGEpLnRoZW4oZnVuY3Rpb24odil7diYmdi5pZCYmKG4uc2VsZWN0ZWRJZD12LmlkLHllKCksbi5kcmFmdHNbdi5pZF09IiIsZG4oKS50aGVuKGZ1bmN0aW9uKCl7UnQodi5pZCl9KSl9KTtyZXR1cm59fXZhciB1PXQuY2xvc2VzdCgiI2NsYXVkZS1oaXN0b3J5LXRvZ2dsZSIpO2lmKHUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSFuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCxuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZCYmIW4uY2xhdWRlSGlzdG9yeUxvYWRlZCYmS3IoKSx2ZSgpO3JldHVybn12YXIgcz10LmNsb3Nlc3QoIltkYXRhLWFjdGlvbl0iKTtpZihzJiZzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLW1hbmFnZS1tb2RlIilNYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJzZWxlY3QtYWxsLXZpc2libGUiKUt1KCk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09ImNsZWFyLXNlbGVjdGlvbiIpT2MoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLXNlbGVjdGVkIilQYygpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtc2VsZWN0aW9uIilscihzLmRhdGFzZXQua2luZCxzLmRhdGFzZXQuaWQpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtc2Vzc2lvbiImJnMuZGF0YXNldC5zZXNzaW9uSWQpKGZ1bmN0aW9uKHYpe0huKCJcdTc4NkVcdThCQTRcdTUyMjBcdTk2NjRcdThGRDlcdTRFMkFcdTRGMUFcdThCRERcdTU0MTdcdUZGMUZcdTZCNjRcdTY0Q0RcdTRGNUNcdTY1RTBcdTZDRDVcdTY0QTRcdTk1MDBcdTMwMDIiLHt0aXRsZToiXHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREIn0pLnRoZW4oZnVuY3Rpb24obSl7bSYmWHModil9KX0pKHMuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJkZWxldGUtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpKGZ1bmN0aW9uKHYsbSl7SG4oIlx1Nzg2RVx1OEJBNFx1OTY5MFx1ODVDRlx1OEZEOVx1Njc2MSBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU1NDE3XHVGRjFGIix7dGl0bGU6Ilx1OTY5MFx1ODVDRlx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERCIsb2tMYWJlbDoiXHU5NjkwXHU4NUNGIn0pLnRoZW4oZnVuY3Rpb24oYil7YiYmWnModixtKX0pfSkocy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZCxzLmNsb3Nlc3QoIi5zZXNzaW9uLWl0ZW0iKSk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InRvZ2dsZS1oaXN0b3J5LWRpcmVjdG9yeSImJnMuZGF0YXNldC5jd2Qpe3ZhciBvPXMuZGF0YXNldC5jd2Q7bi5jbGF1ZGVIaXN0b3J5RXhwYW5kZWREaXJzW29dPSFuLmNsYXVkZUhpc3RvcnlFeHBhbmRlZERpcnNbb10sdmUoKX1lbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWhpc3RvcnktZGlyZWN0b3J5IiYmcy5kYXRhc2V0LmN3ZCkoZnVuY3Rpb24odixtKXt2YXIgYj1ncCh2KSxnPVBuKCkuZmlsdGVyKGZ1bmN0aW9uKHkpe3JldHVybiB5LmN3ZD09PXZ9KS5sZW5ndGg7SG4oIlx1Nzg2RVx1OEJBNFx1NkUwNVx1N0E3QVx1NkI2NFx1NzZFRVx1NUY1NVx1NEUwQlx1NzY4NCAiK2crIiBcdTY3NjEgQ2xhdWRlIFx1NTM4Nlx1NTNGMlx1NTQxN1x1RkYxRiIse3RpdGxlOiJcdTZFMDVcdTdBN0FcdTc2RUVcdTVGNTVcdTUzODZcdTUzRjIiLG9rTGFiZWw6Ilx1NkUwNVx1N0E3QSJ9KS50aGVuKGZ1bmN0aW9uKHkpe3kmJihlbyhiLCEwKSxtcCh2LG0sYikpfSl9KShzLmRhdGFzZXQuY3dkLHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJjbGVhci1hbGwtaGlzdG9yeSIpSGMoKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0idG9nZ2xlLWFyY2hpdmVkLWdyb3VwIiluLmFyY2hpdmVkRXhwYW5kZWQ9IW4uYXJjaGl2ZWRFeHBhbmRlZCx2ZSgpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUiJiZzLmRhdGFzZXQuc2Vzc2lvbklkKWJwKHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJyZXN1bWUtaGlzdG9yeSImJnMuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQpQ3Aocyk7ZWxzZSBpZihzLmRhdGFzZXQuYWN0aW9uPT09InJlc3VtZS1jb2RleC1oaXN0b3J5IiYmcy5kYXRhc2V0LmNsYXVkZVNlc3Npb25JZClFcChzKTtlbHNlIGlmKHMuZGF0YXNldC5hY3Rpb249PT0iZGVsZXRlLWNvZGV4LWhpc3RvcnkiJiZzLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkKXdwKHMpO2Vsc2UgaWYocy5kYXRhc2V0LmFjdGlvbj09PSJ0b2dnbGUtY29kZXgtaGlzdG9yeS1kaXJlY3RvcnkiJiZzLmRhdGFzZXQuY3dkKXt2YXIgbD1zLmRhdGFzZXQuY3dkO24uY29kZXhIaXN0b3J5RXhwYW5kZWREaXJzW2xdPSFuLmNvZGV4SGlzdG9yeUV4cGFuZGVkRGlyc1tsXSx2ZSgpfWVsc2Ugcy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1tZXJnZSImJnMuZGF0YXNldC5zZXNzaW9uSWQ/R28ocy5kYXRhc2V0LnNlc3Npb25JZCk6cy5kYXRhc2V0LmFjdGlvbj09PSJ3b3JrdHJlZS1jbGVhbnVwIiYmcy5kYXRhc2V0LnNlc3Npb25JZCYmUW8ocy5kYXRhc2V0LnNlc3Npb25JZCk7cmV0dXJufXZhciBjPXQuY2xvc2VzdCgiLnNlc3Npb24taXRlbSIpO2lmKGMpe2lmKG4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXtjLmRhdGFzZXQuc2Vzc2lvbklkP2xyKCJzZXNzaW9ucyIsYy5kYXRhc2V0LnNlc3Npb25JZCk6Yy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmbHIoImhpc3RvcnkiLGMuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpO3JldHVybn1pZihjLmNsYXNzTGlzdC5jb250YWlucygic3dpcGVkIikpe0JyKCk7cmV0dXJufWlmKHRvKXJldHVybjtpZihjLmRhdGFzZXQuc2Vzc2lvbklkKVhpKGMuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYoYy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCl7dmFyIGQ9Yy5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCxmPWMuZGF0YXNldC5jd2Q7Y2koZCxmKS50aGVuKGZ1bmN0aW9uKHYpe3YmJnYuaWQmJihuLnNlbGVjdGVkSWQ9di5pZCx5ZSgpLG4uZHJhZnRzW3YuaWRdPSIiLGRuKCkudGhlbihmdW5jdGlvbigpe1J0KHYuaWQpLFd0KCl9KSl9KX19fX1mdW5jdGlvbiBGZChlKXtpZighKGUua2V5IT09IkVudGVyIiYmZS5rZXkhPT0iICIpKXt2YXIgdD1lLnRhcmdldC5jbG9zZXN0KCIuc2Vzc2lvbi1pdGVtIik7aWYodCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4uc2Vzc2lvbnNNYW5hZ2VNb2RlKXt0LmRhdGFzZXQuc2Vzc2lvbklkP2xyKCJzZXNzaW9ucyIsdC5kYXRhc2V0LnNlc3Npb25JZCk6dC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCYmbHIoImhpc3RvcnkiLHQuZGF0YXNldC5jbGF1ZGVIaXN0b3J5SWQpO3JldHVybn1pZih0LmRhdGFzZXQuc2Vzc2lvbklkKVhpKHQuZGF0YXNldC5zZXNzaW9uSWQpO2Vsc2UgaWYodC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCl7dmFyIHI9dC5kYXRhc2V0LmNsYXVkZUhpc3RvcnlJZCxpPXQuZGF0YXNldC5jd2Q7Y2kocixpKS50aGVuKGZ1bmN0aW9uKGEpe2EmJmEuaWQmJihuLnNlbGVjdGVkSWQ9YS5pZCx5ZSgpLG4uZHJhZnRzW2EuaWRdPSIiLGRuKCkudGhlbihmdW5jdGlvbigpe1J0KGEuaWQpLFd0KCl9KSl9KX19fX1mdW5jdGlvbiBaaShlLHQpe3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKHIpe3ZhciBpPXJbZV07aWYoIWkpe2soIlx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NkNBMVx1NjcwOVx1NTNFRlx1NTkwRFx1NTIzNlx1NzY4NFx1NTE4NVx1NUJCOVx1MzAwMiIsImVycm9yIik7cmV0dXJufUxyKFN0cmluZyhpKSxudWxsLGZ1bmN0aW9uKCl7ayh0fHwiXHU1REYyXHU1OTBEXHU1MjM2IiwiaW5mbyIpfSl9fWZ1bmN0aW9uIHd0KCl7cmV0dXJuIW4udGVybWluYWx8fCFuLnRlcm1pbmFsLmVsZW1lbnQ/bnVsbDoobi50ZXJtaW5hbFZpZXdwb3J0RWw9bi50ZXJtaW5hbC5lbGVtZW50LG4udGVybWluYWxWaWV3cG9ydEVsKX1mdW5jdGlvbiBSbigpe24udGVybWluYWxTY3JvbGxJZGxlVGltZXImJihjbGVhclRpbWVvdXQobi50ZXJtaW5hbFNjcm9sbElkbGVUaW1lciksbi50ZXJtaW5hbFNjcm9sbElkbGVUaW1lcj1udWxsKX1mdW5jdGlvbiBzdCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1qdW1wLWJvdHRvbSIpLHQ9ISFuLnNlbGVjdGVkSWQmJm4uY3VycmVudFZpZXc9PT0idGVybWluYWwiJiYhbi50ZXJtaW5hbEF1dG9Gb2xsb3cmJiFmcygpO24uc2hvd1Rlcm1pbmFsSnVtcFRvQm90dG9tPXQsZSYmZS5jbGFzc0xpc3QudG9nZ2xlKCJ2aXNpYmxlIix0KTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7ciYmci5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtanVtcC1idG4iLHQpfWZ1bmN0aW9uIGVhKCl7dmFyIGU9d3QoKTtpZighZSlyZXR1cm4hMDt2YXIgdD1lLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC1lLnNjcm9sbFRvcDtyZXR1cm4gdDw9bi50ZXJtaW5hbFNjcm9sbFRocmVzaG9sZH1mdW5jdGlvbiBmcygpe3ZhciBlPXd0KCk7aWYoIWUpcmV0dXJuITA7dmFyIHQ9ZS5zY3JvbGxIZWlnaHQtZS5jbGllbnRIZWlnaHQtZS5zY3JvbGxUb3A7cmV0dXJuIHQ8PTJ9ZnVuY3Rpb24gcHMoZSl7aWYobi50ZXJtaW5hbCl7dmFyIHQ9d3QoKTtpZih0KXt2YXIgcj1lPzUwMDoxMjA7bi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPU1hdGgubWF4KG4udGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCxEYXRlLm5vdygpK3IpLGU/dC5zY3JvbGxUbyh7dG9wOnQuc2Nyb2xsSGVpZ2h0LGJlaGF2aW9yOiJzbW9vdGgifSk6dC5zY3JvbGxUb3A9dC5zY3JvbGxIZWlnaHR9fX1mdW5jdGlvbiB0YSgpe24udGVybWluYWxBdXRvRm9sbG93PSExLFJuKCksbi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPTAsbi50ZXJtaW5hbCYmIl9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBuLnRlcm1pbmFsJiYobi50ZXJtaW5hbC5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209ITEpLHN0KCl9ZnVuY3Rpb24gZnQoZSl7aWYobi50ZXJtaW5hbCl7dmFyIHQ9ZT09PSJmb3JjZSI7aWYodCl7bi50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsUm4oKSxwcyghMSksc3QoKTtyZXR1cm59aWYoIW4udGVybWluYWxBdXRvRm9sbG93KXtzdCgpO3JldHVybn1wcyghMSksc3QoKX19ZnVuY3Rpb24gd2QoZSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhciI7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhci10cmFjayI7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9InRlcm1pbmFsLXNjcm9sbGJhci10aHVtYiIsci5hcHBlbmRDaGlsZChpKSx0LmFwcGVuZENoaWxkKHIpLGUuYXBwZW5kQ2hpbGQodCksbi50ZXJtaW5hbFNjcm9sbGJhckVsPXQsbi50ZXJtaW5hbFNjcm9sbGJhclRodW1iRWw9aSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLG4udGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nPSExO2Z1bmN0aW9uIGEoKXtuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyJiYoY2xlYXJUaW1lb3V0KG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXIpLG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXI9bnVsbCksdC5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9ZnVuY3Rpb24gdSgpe24udGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZ3x8KG4udGVybWluYWxTY3JvbGxiYXJIaWRlVGltZXImJmNsZWFyVGltZW91dChuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyKSxuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnRlcm1pbmFsU2Nyb2xsYmFySGlkZVRpbWVyPW51bGwsbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nfHx0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0sMTUwMCkpfWZ1bmN0aW9uIHMoKXtuLnRlcm1pbmFsU2Nyb2xsYmFyUmFmUGVuZGluZz0hMTt2YXIgZz13dCgpO2lmKGcpe3ZhciB5PWcuc2Nyb2xsSGVpZ2h0LHc9Zy5jbGllbnRIZWlnaHQ7aWYoeTw9dyl7dC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIik7cmV0dXJufXZhciBGPXIuY2xpZW50SGVpZ2h0LEU9TWF0aC5tYXgoMjgsdy95KkYpLEE9eS13LHg9Zy5zY3JvbGxUb3AvQSxTPXgqKEYtRSk7aS5zdHlsZS5oZWlnaHQ9RSsicHgiLGkuc3R5bGUudG9wPVMrInB4In19ZnVuY3Rpb24gbygpe24udGVybWluYWxTY3JvbGxiYXJSYWZQZW5kaW5nfHwobi50ZXJtaW5hbFNjcm9sbGJhclJhZlBlbmRpbmc9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKHMpKX12YXIgbD13dCgpO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmdW5jdGlvbigpe2EoKSxvKCksdSgpfSx7cGFzc2l2ZTohMH0pLHIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixmdW5jdGlvbihnKXtpZihnLnRhcmdldCE9PWkpe2cucHJldmVudERlZmF1bHQoKTt2YXIgeT13dCgpO2lmKHkpe3ZhciB3PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksRj0oZy5jbGllbnRZLXcudG9wKS93LmhlaWdodCxFPXkuc2Nyb2xsSGVpZ2h0LXkuY2xpZW50SGVpZ2h0O3kuc2Nyb2xsVG9wPUYqRX19fSk7dmFyIGM9MCxkPTA7aS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKGcpe2cucHJldmVudERlZmF1bHQoKSxnLnN0b3BQcm9wYWdhdGlvbigpLG4udGVybWluYWxTY3JvbGxiYXJEcmFnZ2luZz0hMCxpLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksYz1nLmNsaWVudFk7dmFyIHk9d3QoKTtkPXk/eS5zY3JvbGxUb3A6MCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGYpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHYpfSk7ZnVuY3Rpb24gZihnKXtnLnByZXZlbnREZWZhdWx0KCk7dmFyIHk9d3QoKTtpZih5KXt2YXIgdz1yLmNsaWVudEhlaWdodCxGPXkuc2Nyb2xsSGVpZ2h0LEU9eS5jbGllbnRIZWlnaHQsQT1GLUU7aWYoIShBPD0wKSl7dmFyIHg9TWF0aC5tYXgoMjgsRS9GKncpLFM9dy14O2lmKCEoUzw9MCkpe3ZhciBQPWcuY2xpZW50WS1jLHo9UC9TKkE7eS5zY3JvbGxUb3A9ZCt6fX19fWZ1bmN0aW9uIHYoKXtuLnRlcm1pbmFsU2Nyb2xsYmFyRHJhZ2dpbmc9ITEsaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdiksdSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oZyl7aWYoZy50b3VjaGVzLmxlbmd0aD09PTEpe2cuc3RvcFByb3BhZ2F0aW9uKCksbi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSEwLGkuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSxjPWcudG91Y2hlc1swXS5jbGllbnRZO3ZhciB5PXd0KCk7ZD15P3kuc2Nyb2xsVG9wOjAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtLHtwYXNzaXZlOiExfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLGIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIixiKX19LHtwYXNzaXZlOiExfSk7ZnVuY3Rpb24gbShnKXtpZihnLnRvdWNoZXMubGVuZ3RoPT09MSl7Zy5wcmV2ZW50RGVmYXVsdCgpO3ZhciB5PXd0KCk7aWYoeSl7dmFyIHc9ci5jbGllbnRIZWlnaHQsRj15LnNjcm9sbEhlaWdodCxFPXkuY2xpZW50SGVpZ2h0LEE9Ri1FO2lmKCEoQTw9MCkpe3ZhciB4PU1hdGgubWF4KDI4LEUvRip3KSxTPXcteDtpZighKFM8PTApKXt2YXIgUD1nLnRvdWNoZXNbMF0uY2xpZW50WS1jLHo9UC9TKkE7eS5zY3JvbGxUb3A9ZCt6fX19fX1mdW5jdGlvbiBiKCl7bi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nPSExLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG0pLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIixiKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsYiksdSgpfXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsZnVuY3Rpb24oKXthKCl9KSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7bi50ZXJtaW5hbFNjcm9sbGJhckRyYWdnaW5nfHx1KCl9KSxvKCl9ZnVuY3Rpb24gQ2QoZSl7cmV0dXJuIGU8NDM1Mj8hMTplPj00MzUyJiZlPD00NDQ3fHxlPj05MDAxJiZlPD05MDAyfHxlPj0xMTkwNCYmZTw9MTIzNTB8fGU+PTEyMzUzJiZlPD0xMzMxMXx8ZT49MTMzMTImJmU8PTE5OTAzfHxlPj0xOTk2OCYmZTw9NDA5NTl8fGU+PTQwOTYwJiZlPD00MjE5MXx8ZT49NDQwMzImJmU8PTU1MjAzfHxlPj02Mzc0NCYmZTw9NjQyNTV8fGU+PTY1MDcyJiZlPD02NTEwM3x8ZT49NjUyODAmJmU8PTY1Mzc2fHxlPj02NTUwNCYmZTw9NjU1MTB8fGU+PTEyNjk3NiYmZTw9MTI5NTM1fHxlPj0xMzEwNzImJmU8PTE5NjYwNXx8ZT49MTk2NjA4JiZlPD0yNjIxNDF9dmFyIHZzPSJcdTIwNjAiO2Z1bmN0aW9uIG1zKCl7cmV0dXJue21vZGU6Im5vcm1hbCJ9fWZ1bmN0aW9uIEJkKGUpe3JldHVybiEvW15ceDAwLVx4N2ZdLy50ZXN0KGUpJiZlLmluZGV4T2YoIlx4MUIiKT09PS0xfWZ1bmN0aW9uIERkKGUsdCl7aWYoIWUpcmV0dXJuIiI7dmFyIHI9U3RyaW5nKGUpO2lmKHQubW9kZT09PSJub3JtYWwiJiZCZChyKSlyZXR1cm4gcjtmb3IodmFyIGk9IiIsYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yLmNoYXJDb2RlQXQoYSkscz11LG89MTtpZih1Pj01NTI5NiYmdTw9NTYzMTkmJmErMTxyLmxlbmd0aCl7dmFyIGw9ci5jaGFyQ29kZUF0KGErMSk7bD49NTYzMjAmJmw8PTU3MzQzJiYocz0odS01NTI5NikqMTAyNCsobC01NjMyMCkrNjU1MzYsbz0yKX12YXIgYz1vPT09Mj9yLnN1YnN0cihhLDIpOnIuY2hhckF0KGEpO3N3aXRjaCh0Lm1vZGUpe2Nhc2Uibm9ybWFsIjpzPT09Mjc/KHQubW9kZT0iZXNjIixpKz1jKTpzPT09MTU1Pyh0Lm1vZGU9ImNzaSIsaSs9Yyk6cz09PTE1N3x8cz09PTE0NHx8cz09PTE1OHx8cz09PTE1OT8odC5tb2RlPSJzdHJpbmciLGkrPWMpOihpKz1jLENkKHMpJiYoaSs9dnMpKTticmVhaztjYXNlImVzYyI6aSs9YyxzPT09OTE/dC5tb2RlPSJjc2kiOnM9PT05M3x8cz09PTgwfHxzPT09ODh8fHM9PT05NHx8cz09PTk1P3QubW9kZT0ic3RyaW5nIjp0Lm1vZGU9Im5vcm1hbCI7YnJlYWs7Y2FzZSJjc2kiOmkrPWMscz49NjQmJnM8PTEyNiYmKHQubW9kZT0ibm9ybWFsIik7YnJlYWs7Y2FzZSJzdHJpbmciOmkrPWMscz09PTd8fHM9PT0xNTY/dC5tb2RlPSJub3JtYWwiOnM9PT0yNyYmKHQubW9kZT0ic3RyaW5nLWVzYyIpO2JyZWFrO2Nhc2Uic3RyaW5nLWVzYyI6aSs9YyxzPT09OTI/dC5tb2RlPSJub3JtYWwiOnQubW9kZT0ic3RyaW5nIjticmVha31hKz1vLTF9cmV0dXJuIGl9dmFyICRyPSJceDFCWz8yMDI2aCIsbmE9Ilx4MUJbPzIwMjZsIixrZD0yMDAsQWQ9MjU2KjEwMjQ7ZnVuY3Rpb24geGQoZSl7aWYoIWV8fG4uc3luY091dHB1dEJ1ZmZlcj09PW51bGwmJmUuaW5kZXhPZigkcik9PT0tMSlyZXR1cm4gZTtmb3IodmFyIHQ9IiIscj0wO3I8ZS5sZW5ndGg7KWlmKG4uc3luY091dHB1dEJ1ZmZlciE9PW51bGwpe3ZhciBpPWUuaW5kZXhPZihuYSxyKTtpZihpPT09LTEpcmV0dXJuIG4uc3luY091dHB1dEJ1ZmZlcis9ZS5zbGljZShyKSwobi5zeW5jT3V0cHV0QnVmZmVyLmxlbmd0aD5BZHx8RGF0ZS5ub3coKT5uLnN5bmNPdXRwdXREZWFkbGluZSkmJih0Kz1uLnN5bmNPdXRwdXRCdWZmZXIsbi5zeW5jT3V0cHV0QnVmZmVyPW51bGwsbi5zeW5jRnJhbWluZ1Jlc2lkdWU9ITApLHQ7bi5zeW5jT3V0cHV0QnVmZmVyKz1lLnNsaWNlKHIsaStuYS5sZW5ndGgpLHQrPW4uc3luY091dHB1dEJ1ZmZlcixuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxyPWkrbmEubGVuZ3RofWVsc2V7dmFyIGE9ZS5pbmRleE9mKCRyLHIpO2lmKGE9PT0tMSlyZXR1cm4gdCs9ZS5zbGljZShyKSx0O3QrPWUuc2xpY2UocixhKSxuLnN5bmNPdXRwdXRCdWZmZXI9JHIsbi5zeW5jT3V0cHV0RGVhZGxpbmU9RGF0ZS5ub3coKStrZCxyPWErJHIubGVuZ3RofXJldHVybiB0fWZ1bmN0aW9uIE9tKCl7aWYobi5zeW5jT3V0cHV0QnVmZmVyIT09bnVsbCl7dmFyIGU9bi5zeW5jT3V0cHV0QnVmZmVyO3JldHVybiBuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxlfXJldHVybiIifWZ1bmN0aW9uIFduKGUsdCl7aWYoISghZXx8dD09bnVsbCkpe24ud2lkZVBhcnNlclN0YXRlfHwobi53aWRlUGFyc2VyU3RhdGU9bXMoKSk7dmFyIHI9RGQodCxuLndpZGVQYXJzZXJTdGF0ZSksaT14ZChyKSxhPW4udGVybWluYWxBdXRvRm9sbG93IT09ITE7Il9zaG91bGRTY3JvbGxUb0JvdHRvbSJpbiBlJiYoZS5fc2hvdWxkU2Nyb2xsVG9Cb3R0b209YSksaSYmZS53cml0ZShpKSwiX3Nob3VsZFNjcm9sbFRvQm90dG9tImluIGUmJihlLl9zaG91bGRTY3JvbGxUb0JvdHRvbT1hKSxhJiYobi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsPU1hdGgubWF4KG4udGVybWluYWxQcm9ncmFtbWF0aWNTY3JvbGxVbnRpbCxEYXRlLm5vdygpKzEyMCkpLF9kKHQpfX1mdW5jdGlvbiByYSgpe24ud2lkZVBhcnNlclN0YXRlPW1zKCl9ZnVuY3Rpb24gU2QoKXt0eXBlb2YgZG9jdW1lbnQ+InUifHxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjb3B5IixmdW5jdGlvbihlKXt2YXIgdD13aW5kb3cuZ2V0U2VsZWN0aW9uJiZ3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoISghdHx8dC5pc0NvbGxhcHNlZCkpe3ZhciByPXQuYW5jaG9yTm9kZSxpPXImJnIubm9kZVR5cGU9PT0zP3IucGFyZW50Tm9kZTpyLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCEoIWF8fCFpfHwhYS5jb250YWlucyhpKSkpe3ZhciB1PXQudG9TdHJpbmcoKSxzPXUuc3BsaXQoYApgKS5tYXAoZnVuY3Rpb24obyl7cmV0dXJuIG8uc3BsaXQodnMpLmpvaW4oIiIpLnJlcGxhY2UoL1sgXHRdKyQvLCIiKX0pLmpvaW4oYApgKTtzIT09dSYmZS5jbGlwYm9hcmREYXRhJiYoZS5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLHMpLGUucHJldmVudERlZmF1bHQoKSl9fX0pfVNkKCk7dmFyIGdzPTE1MCxocz0zMCxJZD0xNjAqMTAyNCxUZD0xOTIqMTAyNDtmdW5jdGlvbiB5cyhlKXtpZighZXx8ZS5sZW5ndGg8PVRkKXJldHVybiBlO3ZhciB0PWUubGVuZ3RoLHI9ZnVuY3Rpb24oeCl7aWYoISh0eXBlb2Ygbj4idSJ8fCFuKSl7dmFyIFM9bi50ZXJtaW5hbE91dHB1dE1hcmtlcnwwO2lmKCEoUzw9MCkpe3ZhciBQPXQteDtuLnRlcm1pbmFsT3V0cHV0TWFya2VyPVM+UD9TLVA6MH19fSxpPWUubGVuZ3RoLUlkO2lmKGk+MCYmaTxlLmxlbmd0aCl7dmFyIGE9ZS5jaGFyQ29kZUF0KGkpO2E+PTU2MzIwJiZhPD01NzM0MyYmaSsrfWZvcih2YXIgdT00MDk2LHM9TWF0aC5taW4oaSt1LGUubGVuZ3RoKSxvPWk7bzxzO28rKylpZihlLmNoYXJDb2RlQXQobyk9PT0xMCl7dmFyIGw9ZS5zbGljZShvKzEpO3JldHVybiByKGwubGVuZ3RoKSxsfWZvcih2YXIgYz1NYXRoLm1heCgwLGktMjU2KSxkPS0xLGY9aS0xO2Y+PWM7Zi0tKXt2YXIgdj1lLmNoYXJDb2RlQXQoZik7aWYodj09PTI3KXtkPWY7YnJlYWt9aWYodj09PTd8fHY+PTY0JiZ2PD0xMjYpYnJlYWt9aWYoZCE9PS0xKXtmb3IodmFyIG09ITEsYj1kKzE7YjxpO2IrKyl7dmFyIGc9ZS5jaGFyQ29kZUF0KGIpO2lmKGc9PT03KXttPSEwO2JyZWFrfWlmKGc+PTY0JiZnPD0xMjYpe209ITA7YnJlYWt9fWlmKCFtKWZvcih2YXIgeT1NYXRoLm1pbihpKzI1NixlLmxlbmd0aCksdz1pO3c8eTt3Kyspe3ZhciBGPWUuY2hhckNvZGVBdCh3KTtpZihGPT09N3x8Rj49NjQmJkY8PTEyNil7dmFyIEU9ZS5zbGljZSh3KzEpO3JldHVybiByKEUubGVuZ3RoKSxFfX19dmFyIEE9ZS5zbGljZShpKTtyZXR1cm4gcihBLmxlbmd0aCksQX1mdW5jdGlvbiBYcigpe2lmKG4udGVybWluYWwpe2lmKHR5cGVvZiBuLnRlcm1pbmFsLnJlc2V0PT0iZnVuY3Rpb24iKXtuLnRlcm1pbmFsLnJlc2V0KCkscmEoKSxuLnN5bmNPdXRwdXRCdWZmZXI9bnVsbCxuLnN5bmNPdXRwdXREZWFkbGluZT0wO3JldHVybn10eXBlb2Ygbi50ZXJtaW5hbC53cml0ZT09ImZ1bmN0aW9uIiYmbi50ZXJtaW5hbC53cml0ZSgiXHgxQmMiKSxyYSgpLG4uc3luY091dHB1dEJ1ZmZlcj1udWxsLG4uc3luY091dHB1dERlYWRsaW5lPTB9fW4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ9MCxuLl9yZXN5bmNTdGF0c0NvdW50PTAsbi5fcmVzeW5jTGFzdFdhcm5BdD0wO3ZhciBMZD01ZTMsTWQ9MTIscWQ9M2U0O24uX3Jlc3luY0luUHJvZ3Jlc3M9ITE7ZnVuY3Rpb24gQ24oZSl7aWYoIW4udGVybWluYWx8fCFuLnRlcm1pbmFsT3V0cHV0KXJldHVybiExO3ZhciB0PWV8fHt9LHI9bi50ZXJtaW5hbE91dHB1dE1hcmtlcnwwO3I8MCYmKHI9MCkscj5uLnRlcm1pbmFsT3V0cHV0Lmxlbmd0aCYmKHI9bi50ZXJtaW5hbE91dHB1dC5sZW5ndGgpO3ZhciBpPXI+MD9uLnRlcm1pbmFsT3V0cHV0LnNsaWNlKHIpOm4udGVybWluYWxPdXRwdXQsYT1pLmxlbmd0aCx1PXR5cGVvZiBwZXJmb3JtYW5jZTwidSImJnBlcmZvcm1hbmNlLm5vdz9wZXJmb3JtYW5jZS5ub3coKTpEYXRlLm5vdygpO24uX3Jlc3luY0luUHJvZ3Jlc3M9ITA7dHJ5e1hyKCksV24obi50ZXJtaW5hbCxpKX1maW5hbGx5e24uX3Jlc3luY0luUHJvZ3Jlc3M9ITF9bi5sYXN0VGVybWluYWxSZXN5bmNBdD1EYXRlLm5vdygpLGZ0KCJvdXRwdXQiKSx0LnNraXBGaXR8fGV0KCJyZWZyZXNoIik7dmFyIHM9RGF0ZS5ub3coKTtpZihzLW4uX3Jlc3luY1N0YXRzV2luZG93U3RhcnQ+TGQpbi5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydD1zLG4uX3Jlc3luY1N0YXRzQ291bnQ9MTtlbHNlIGlmKG4uX3Jlc3luY1N0YXRzQ291bnQrKyxuLl9yZXN5bmNTdGF0c0NvdW50Pk1kJiZzLW4uX3Jlc3luY0xhc3RXYXJuQXQ+cWQpe24uX3Jlc3luY0xhc3RXYXJuQXQ9czt2YXIgbz10eXBlb2YgcGVyZm9ybWFuY2U8InUiJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2Uubm93KCk6RGF0ZS5ub3coKTtjb25zb2xlLndhcm4oIlt3YW5kXSBzb2Z0UmVzeW5jVGVybWluYWwgaGlnaCBmcmVxdWVuY3kiLCJjb3VudD0iK24uX3Jlc3luY1N0YXRzQ291bnQrIi8iK01hdGgucm91bmQoKHMtbi5fcmVzeW5jU3RhdHNXaW5kb3dTdGFydCkvMTAwKS8xMCsicyIsImJ1Zkxlbj0iK2EsImxhc3RSZXBsYXlNcz0iK01hdGgucm91bmQoby11KSl9cmV0dXJuITB9ZnVuY3Rpb24gT2QoZSl7bi5zb2Z0UmVzeW5jVGltZXImJmNsZWFyVGltZW91dChuLnNvZnRSZXN5bmNUaW1lciksbi5zb2Z0UmVzeW5jVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uc29mdFJlc3luY1RpbWVyPW51bGwsQ24oKX0sdHlwZW9mIGU9PSJudW1iZXIiP2U6MTUwKX12YXIgUGQ9L1x4MWJcW1xkKig/OjtcZCopP1tBQkNEZkhKS10vLGJzPTE1MDAsSGQ9ODAwO24uX3Jlc3luY0NodW5rTGFzdEF0PTAsbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbDtmdW5jdGlvbiBfZChlKXtpZighbi5fcmVzeW5jSW5Qcm9ncmVzcyYmbi5zeW5jRnJhbWluZ1Jlc2lkdWUmJihuLnN5bmNGcmFtaW5nUmVzaWR1ZT0hMSwhKCFlfHx0eXBlb2YgZSE9InN0cmluZyIpJiZlLmluZGV4T2YoIlx4MUJbIikhPT0tMSYmUGQudGVzdChlKSkpe3ZhciB0PURhdGUubm93KCkscj10LW4uX3Jlc3luY0NodW5rTGFzdEF0O2lmKHI+PWJzKXtuLl9yZXN5bmNDaHVua1RhaWxUaW1lciYmKGNsZWFyVGltZW91dChuLl9yZXN5bmNDaHVua1RhaWxUaW1lciksbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXI9bnVsbCksbi5fcmVzeW5jQ2h1bmtMYXN0QXQ9dCxDbigpO3JldHVybn1pZighbi5fcmVzeW5jQ2h1bmtUYWlsVGltZXIpe3ZhciBpPU1hdGgubWF4KEhkLGJzLXIpO24uX3Jlc3luY0NodW5rVGFpbFRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLl9yZXN5bmNDaHVua1RhaWxUaW1lcj1udWxsLG4uX3Jlc3luY0NodW5rTGFzdEF0PURhdGUubm93KCksQ24oKX0saSl9fX1mdW5jdGlvbiBacihlLHQscil7aWYoIW4udGVybWluYWwpcmV0dXJuITE7dmFyIGk9SGEodHx8IiIpLGE9ZXx8bnVsbCx1PXJ8fHt9LHM9dS5tb2RlfHwiYXBwZW5kIixvPXUuc2Nyb2xsIT09ITEsbD1uLnRlcm1pbmFsU2Vzc2lvbklkIT09YSxjPW4udGVybWluYWxPdXRwdXR8fCIiLGQ9ISEoYSYmbi50ZXJtaW5hbExpdmVTdHJlYW1TZXNzaW9uc1thXSksZj0hMTtpZihpPT09YyYmIWwpcmV0dXJuIG8mJmZ0KCJvdXRwdXQiKSxzdCgpLCExO2lmKGwmJihYcigpLGM9IiIsbi50ZXJtaW5hbE91dHB1dD0iIixuLnRlcm1pbmFsT3V0cHV0TWFya2VyPTAsbi50ZXJtaW5hbEF1dG9Gb2xsb3c9ITAsUm4oKSxzdCgpKSxzPT09InJlcGxhY2UiKWkhPT1jJiYoWHIoKSxpJiZXbihuLnRlcm1pbmFsLGkpLGY9ITApO2Vsc2V7aWYoaS5sZW5ndGg8Yy5sZW5ndGgmJiFsKXJldHVybiExO2lmKGQmJiFsJiZzIT09InJlcGxhY2UiJiZjJiYhaS5zdGFydHNXaXRoKGMpKXJldHVybiExO2lmKGkuc3RhcnRzV2l0aChjKSl7dmFyIHY9aS5zbGljZShjLmxlbmd0aCk7diYmKFduKG4udGVybWluYWwsdiksZj0hMCl9ZWxzZXtpZihjJiZjLnN0YXJ0c1dpdGgoaSkpcmV0dXJuITE7WHIoKSxpJiZXbihuLnRlcm1pbmFsLGkpLGY9ITB9fXJldHVybiBuLnRlcm1pbmFsU2Vzc2lvbklkPWEsbi50ZXJtaW5hbE91dHB1dD1pLG4udGVybWluYWxPdXRwdXRNYXJrZXI9MCxvJiYoZnx8bHx8cz09PSJyZXBsYWNlIik/ZnQobHx8cz09PSJyZXBsYWNlIj8iZm9yY2UiOiJvdXRwdXQiKTpzdCgpLGwmJlFyKG4udGVybWluYWwuY29scyxuLnRlcm1pbmFsLnJvd3MpLGZ8fGx9ZnVuY3Rpb24gem4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYoISghZXx8bi50ZXJtaW5hbHx8bi50ZXJtaW5hbEluaXRpYWxpemluZykpe2lmKHR5cGVvZiBXVGVybUxpYj4idSJ8fCFXVGVybUxpYi5XVGVybSl7bi50ZXJtaW5hbEluaXRSZXRyaWVzfHwobi50ZXJtaW5hbEluaXRSZXRyaWVzPTApLG4udGVybWluYWxJbml0UmV0cmllczwxMCYmKG4udGVybWluYWxJbml0UmV0cmllcysrLHNldFRpbWVvdXQoem4sMjAwKSk7cmV0dXJufW4udGVybWluYWxJbml0UmV0cmllcz0wLG4udGVybWluYWxJbml0aWFsaXppbmc9ITAsbi5zZWxlY3RlZElkJiYoZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxlLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpKTtmb3IodmFyIHQ9ZS5xdWVyeVNlbGVjdG9yQWxsKCIudGVybWluYWwtc2Nyb2xsLXdyYXAiKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07aS5wYXJlbnROb2RlPT09ZSYmZS5yZW1vdmVDaGlsZChpKX12YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0idGVybWluYWwtc2Nyb2xsLXdyYXAiLGUuYXBwZW5kQ2hpbGQoYSk7dmFyIHU9bmV3IFdUZXJtTGliLldUZXJtKGEse2NvbHM6MTIwLHJvd3M6MzYsYXV0b1Jlc2l6ZTohMCxjdXJzb3JCbGluazohMSxvbkRhdGE6ZnVuY3Rpb24oKXt9LG9uUmVzaXplOmZ1bmN0aW9uKG8sbCl7UXIobyxsKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsT3V0cHV0JiZDbih7c2tpcEZpdDohMH0pfX0pLHM9ZG9jdW1lbnQuZm9udHMmJnR5cGVvZiBkb2N1bWVudC5mb250cy5yZWFkeT09Im9iamVjdCI/UHJvbWlzZS5yYWNlKFtkb2N1bWVudC5mb250cy5yZWFkeSxuZXcgUHJvbWlzZShmdW5jdGlvbihvKXtzZXRUaW1lb3V0KG8sODAwKX0pXSk6UHJvbWlzZS5yZXNvbHZlKCk7cy50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHUuaW5pdCgpfSkudGhlbihmdW5jdGlvbigpe2lmKG4udGVybWluYWw9dSxuLnRlcm1pbmFsSW5pdGlhbGl6aW5nPSExLGd1KCksYS5pc0Nvbm5lY3RlZCYmKGEub2Zmc2V0SGVpZ2h0LHR5cGVvZiB1LnJlbWVhc3VyZT09ImZ1bmN0aW9uIikpdHJ5e3UucmVtZWFzdXJlKCl9Y2F0Y2h7fW4udGVybWluYWxBdXRvRm9sbG93PSEwLFJuKCk7dmFyIG89d3QoKTtpZihvJiYobi50ZXJtaW5hbFZpZXdwb3J0U2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe2lmKERhdGUubm93KCk8bi50ZXJtaW5hbFByb2dyYW1tYXRpY1Njcm9sbFVudGlsKXtzdCgpO3JldHVybn1pZihmcygpKXtuLnRlcm1pbmFsQXV0b0ZvbGxvdz0hMCxSbigpLHN0KCk7cmV0dXJufXRhKCl9LG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyPWZ1bmN0aW9uKGMpe2MudG91Y2hlcyYmYy50b3VjaGVzLmxlbmd0aD09PTEmJihuLnRlcm1pbmFsVG91Y2hTdGFydFk9Yy50b3VjaGVzWzBdLmNsaWVudFkpfSxuLnRlcm1pbmFsVmlld3BvcnRUb3VjaEhhbmRsZXI9ZnVuY3Rpb24oYyl7IWMudG91Y2hlc3x8Yy50b3VjaGVzLmxlbmd0aCE9PTF8fHR5cGVvZiBuLnRlcm1pbmFsVG91Y2hTdGFydFk9PSJudW1iZXIiJiZjLnRvdWNoZXNbMF0uY2xpZW50WS1uLnRlcm1pbmFsVG91Y2hTdGFydFk+NCYmdGEoKX0sby5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4udGVybWluYWxWaWV3cG9ydFNjcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KSxvLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoU3RhcnRIYW5kbGVyLHtwYXNzaXZlOiEwfSksby5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4udGVybWluYWxWaWV3cG9ydFRvdWNoSGFuZGxlcix7cGFzc2l2ZTohMH0pKSxuLnRlcm1pbmFsV2hlZWxIYW5kbGVyPWZ1bmN0aW9uKGMpe2MuZGVsdGFZPDAmJnRhKCksYy5zdG9wUHJvcGFnYXRpb24oKX0sZS5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi50ZXJtaW5hbFdoZWVsSGFuZGxlcix7cGFzc2l2ZTohMH0pLHdkKGUpLG4uc2VsZWN0ZWRJZCl7dmFyIGw9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09bi5zZWxlY3RlZElkfSk7bCYmWnIobC5pZCxsLm91dHB1dHx8IiIse21vZGU6ImFwcGVuZCIsc2Nyb2xsOiExfSl9ZWxzZSBXbih1LGBcdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0JcdTRGNjBcdTc2ODRcdTdCMkNcdTRFMDBcdTZCMjFcdTVCRjlcdThCRERcdTMwMDJccgpgKTtuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGMpe29pKCl8fF90KGMpfSxlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuLnRlcm1pbmFsQ2xpY2tIYW5kbGVyKSxzdCgpLG5kKCksYWQoKSxtZCgpLGdkKCksZXQoIm1vdW50Iix7Zm9yY2VSZXBsYXk6ITB9KX0pLmNhdGNoKGZ1bmN0aW9uKG8pe24udGVybWluYWxJbml0aWFsaXppbmc9ITEsY29uc29sZS5lcnJvcigiW3dhbmRdIHd0ZXJtIGluaXQgZmFpbGVkOiIsbyl9KX19ZnVuY3Rpb24gamQoZSx0KXtpZighKCFuLnNlbGVjdGVkSWR8fCFlKSl7dmFyIHI9bi5zZWxlY3RlZElkKyI6IitlO2lmKG4udG9vbENvbnRlbnRDYWNoZVtyXSl7dChudWxsLG4udG9vbENvbnRlbnRDYWNoZVtyXSk7cmV0dXJufWZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KG4uc2VsZWN0ZWRJZCkrIi90b29sLWNvbnRlbnQvIitlbmNvZGVVUklDb21wb25lbnQoZSkse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aS5lcnJvcj90KGkuZXJyb3IsbnVsbCk6KG4udG9vbENvbnRlbnRDYWNoZVtyXT1pLHQobnVsbCxpKSl9KS5jYXRjaChmdW5jdGlvbigpe3QoIlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSIsbnVsbCl9KX19ZnVuY3Rpb24gQm4oZSl7cmV0dXJuISEobi5jb25maWcmJm4uY29uZmlnLmNhcmREZWZhdWx0cyYmbi5jb25maWcuY2FyZERlZmF1bHRzW2VdKX1mdW5jdGlvbiBpYShlLHQscixpKXtpZighKCFlfHxlLmRhdGFzZXQudHJ1bmNhdGVkIT09InRydWUifHxlLmRhdGFzZXQubG9hZGVkPT09InRydWUiKSl7dmFyIGE9ZS5kYXRhc2V0LnRvb2xVc2VJZDthJiYodCYmKHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJ0b29sLWNvbnRlbnQtbG9hZGluZyI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+JyksZS5kYXRhc2V0LmxvYWRlZD0ibG9hZGluZyIsamQoYSxmdW5jdGlvbih1LHMpe2lmKHUpe3QmJih0LmlubmVySFRNTD1pfHwnPGRpdiBjbGFzcz0idG9vbC1jb250ZW50LWVycm9yIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj4nKSxlLmRhdGFzZXQubG9hZGVkPSIiO3JldHVybn1lLmRhdGFzZXQudHJ1bmNhdGVkPSJmYWxzZSIsZS5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7dmFyIG89dHlwZW9mIHMuY29udGVudD09InN0cmluZyI/cy5jb250ZW50OkpTT04uc3RyaW5naWZ5KHMuY29udGVudCk7cihvLHMpfSkpfX13aW5kb3cuX190Y1RvZ2dsZT1mdW5jdGlvbihlLHQpe3ZhciByPXQuY2xvc2VzdCgiLnRvb2wtdXNlLWNhcmQiKXx8dC5jbG9zZXN0KCIuaW5saW5lLWRpZmYiKTtpZihyKXt2YXIgaT1yLmNsYXNzTGlzdC5jb250YWlucygiY29sbGFwc2VkIik7ci5jbGFzc0xpc3QudG9nZ2xlKCJjb2xsYXBzZWQiKTt2YXIgYT1yLmRhdGFzZXQuZXhwYW5kS2luZHx8InRvb2wtY2FyZCI7aWYoYm4ocixhKSxpKXt2YXIgdT1yLnF1ZXJ5U2VsZWN0b3IoIi50b29sLXVzZS1yZXN1bHQiKTtpYShyLHUsZnVuY3Rpb24ocyl7dSYmKHUuaW5uZXJIVE1MPSc8cHJlIGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQtY29udGVudCI+JytwKHMpKyI8L3ByZT4iKX0sYDxkaXYgY2xhc3M9InRvb2wtY29udGVudC1lcnJvciIgb25jbGljaz0iX190Y1RvZ2dsZShudWxsLCB0aGlzLmNsb3Nlc3QoJy50b29sLXVzZS1jYXJkLC5pbmxpbmUtZGlmZicpLnF1ZXJ5U2VsZWN0b3IoJy50b29sLXVzZS1oZWFkZXIsLmRpZmYtaGVhZGVyJykpIj5cdTUyQTBcdThGN0RcdTU5MzFcdThEMjVcdUZGMENcdTcwQjlcdTUxRkJcdTkxQ0RcdThCRDU8L2Rpdj5gKX19ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKX0sd2luZG93Ll9fdGhpbmtpbmdUb2dnbGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlZCIpO2lmKHQpe2UuY2xhc3NMaXN0LnJlbW92ZSgiY29sbGFwc2VkIiksZS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGUucXVlcnlTZWxlY3RvcigiLnRoaW5raW5nLWlubGluZS1wcmV2aWV3IikudGV4dENvbnRlbnQ9ZS5kYXRhc2V0LnRoaW5raW5nfHwiIjt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtYWN0aW9uIik7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NjUzNlx1OEQ3NyIpfWVsc2V7ZS5jbGFzc0xpc3QucmVtb3ZlKCJleHBhbmRlZCIpLGUuY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIik7dmFyIGk9KGUuZGF0YXNldC50aGlua2luZ3x8IiIpLnNsaWNlKDAsNTcpKygoZS5kYXRhc2V0LnRoaW5raW5nfHwiIikubGVuZ3RoPjYwPyJcdTIwMjYiOiIiKTtlLnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1pbmxpbmUtcHJldmlldyIpLnRleHRDb250ZW50PWk7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIudGhpbmtpbmctaW5saW5lLWFjdGlvbiIpO3ImJihyLnRleHRDb250ZW50PSJcdTVDNTVcdTVGMDAiKX1ibihlLCJ0aGlua2luZyIpfSx3aW5kb3cuX19zdWJhZ2VudFJlcGx5VG9nZ2xlPWZ1bmN0aW9uKGUsdCl7ZSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpKTt2YXIgcj10JiZ0LmNsb3Nlc3Q/dC5jbG9zZXN0KCIuc3ViYWdlbnQtcmVwbHkiKTpudWxsO2lmKHIpe3ZhciBpPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGFuZGVkIik9PT0idHJ1ZSI7cWkociwic3ViYWdlbnQtcmVwbHkiLCFpKSxibihyLCJzdWJhZ2VudC1yZXBseSIpfX0sd2luZG93Ll9fc3ViYWdlbnRQYW5lbFRvZ2dsZT1mdW5jdGlvbihlLHQpe2UmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSk7dmFyIHI9dCYmdC5jbG9zZXN0P3QuY2xvc2VzdCgiLnN1YmFnZW50LXBhbmVsIik6bnVsbDtpZihyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIpPT09InRydWUiO3FpKHIsInN1YmFnZW50LXBhbmVsIiwhaSksYm4ociwic3ViYWdlbnQtcGFuZWwiKX19O2Z1bmN0aW9uIE5kKGUpe2lmKGUpZm9yKHZhciB0PWUucXVlcnlTZWxlY3RvckFsbCgnLnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ImZhbHNlIl0nKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl0ucXVlcnlTZWxlY3RvcigiLnN1YmFnZW50LXBhbmVsLWJvZHkiKTtpJiYoaS5zY3JvbGxUb3A9aS5zY3JvbGxIZWlnaHQpfX13aW5kb3cuX19pbmxpbmVUb29sVG9nZ2xlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY2xhc3NMaXN0LnRvZ2dsZSgiaW5saW5lLXRvb2wtb3BlbiIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIuaW5saW5lLXRvb2wtZXhwYW5kZWQiKTtyJiYoci5zdHlsZS5kaXNwbGF5PXQ/ImJsb2NrIjoibm9uZSIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiLmlubGluZS10b29sLXN0YXR1cyIpO2kmJihlLmRhdGFzZXQuc3RhdHVzPT09ImVycm9yIj9pLnRleHRDb250ZW50PSJcdTI3MTciOmUuZGF0YXNldC5zdGF0dXM9PT0iZG9uZSImJihpLnRleHRDb250ZW50PSJcdTI3MTMiKSksdCYmaWEoZSxyLGZ1bmN0aW9uKGEpe2UuZGF0YXNldC5yZXN1bHQ9YSxyJiYoci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdCI+JytBbyhhLCIiKSsiPC9kaXY+Iil9KSxibihlLCJpbmxpbmUtdG9vbCIpfSx3aW5kb3cuX190ZXJtaW5hbEV4cGFuZD1mdW5jdGlvbihlKXt2YXIgdD1lLmNsb3Nlc3QoIi5pbmxpbmUtdGVybWluYWwiKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi50ZXJtLWJvZHkiKTtpZihyKXt2YXIgaT1yLnN0eWxlLmRpc3BsYXk9PT0ibm9uZSI7ci5zdHlsZS5kaXNwbGF5PWk/ImJsb2NrIjoibm9uZSIsdC5kYXRhc2V0LmV4cGFuZGVkPWk/InRydWUiOiJmYWxzZSI7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIudGVybS10b2dnbGUtaWNvbiIpO2lmKGEmJihhLnRleHRDb250ZW50PWk/Ilx1MjVCQyI6Ilx1MjVCNiIpLGJuKHQsInRlcm1pbmFsIiksaSl7dmFyIHU9ci5xdWVyeVNlbGVjdG9yKCIudGVybS1vdXRwdXQiKTtpYSh0LHUsZnVuY3Rpb24ocyl7aWYodSl7Zm9yKHZhciBvPXMuc3BsaXQoYApgKSxsPSIiLGM9MDtjPG8ubGVuZ3RoO2MrKykhb1tjXSYmYz09PW8ubGVuZ3RoLTF8fChsKz0nPGRpdiBjbGFzcz0idGVybS1saW5lIj4nK3Aob1tjXSkrIjwvZGl2PiIpO3UuaW5uZXJIVE1MPWx9fSl9fX19O2Z1bmN0aW9uIFBtKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmciKTtpZih0KXt2YXIgcj10LnF1ZXJ5U2VsZWN0b3IoIi50aGlua2luZy1zdHJlYW1pbmctdGV4dCIpO2lmKHIpe3ZhciBpPWUuc3BsaXQoYApgKSxhPWkuc2xpY2UoLTMpO3IudGV4dENvbnRlbnQ9YS5qb2luKGAKYCksci5zY3JvbGxUb3A9ci5zY3JvbGxIZWlnaHR9fX13aW5kb3cuX19hc2tTZWxlY3Q9ZnVuY3Rpb24oZSx0LHIsaSl7dmFyIGE9bi5hc2tVc2VyU2VsZWN0aW9uc1tlXTtpZihhfHwoYT17c3VibWl0dGVkOiExfSxuLmFza1VzZXJTZWxlY3Rpb25zW2VdPWEpLCFhLnN1Ym1pdHRlZCl7dmFyIHU9YVt0XXx8W107aWYoaSl7dmFyIHM9dS5pbmRleE9mKHIpO3M9PT0tMT91LnB1c2gocik6dS5zcGxpY2UocywxKX1lbHNlIHU9dVswXT09PXI/W106W3JdO2FbdF09dSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9fSx3aW5kb3cuX19hc2tSZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZih0KXt2YXIgcj1uLmFza1VzZXJTZWxlY3Rpb25zW2VdfHx7fTt0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1vcHRpb24iKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3ZhciBvPXBhcnNlSW50KHMuZGF0YXNldC5xdWVzdGlvbkluZGV4LDEwKSxsPXBhcnNlSW50KHMuZGF0YXNldC5vcHRpb25JbmRleCwxMCksYz0ocltvXXx8W10pLmluZGV4T2YobCkhPT0tMTtzLmNsYXNzTGlzdC50b2dnbGUoInNlbGVjdGVkIixjKX0pO3ZhciBpPXQucXVlcnlTZWxlY3RvcigiLmFzay11c2VyLXN1Ym1pdCIpO2lmKGkpe3ZhciBhPXQucXVlcnlTZWxlY3RvckFsbCgiLmFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiksdT0hMDthLmZvckVhY2goZnVuY3Rpb24ocyxvKXsoIXJbb118fHJbb10ubGVuZ3RoPT09MCkmJih1PSExKX0pLGkuZGlzYWJsZWQ9IXV8fCEhci5zdWJtaXR0ZWQsci5zdWJtaXR0ZWQmJihpLnRleHRDb250ZW50PSJcdTVERjJcdTYzRDBcdTRFQTQuLi4iLGkuY2xhc3NMaXN0LmFkZCgiYXNrLXVzZXItc3VibWl0dGVkIikpfX19LHdpbmRvdy5fX2Fza1N1Ym1pdD1mdW5jdGlvbihlKXt2YXIgdD1uLmFza1VzZXJTZWxlY3Rpb25zW2VdO2lmKCEoIXR8fHQuc3VibWl0dGVkfHwhbi5zZWxlY3RlZElkKSl7dmFyIHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEtdG9vbC11c2UtaWQ9IicrZSsnIl0nKTtpZihyKXt2YXIgaT1yLnF1ZXJ5U2VsZWN0b3JBbGwoIi5hc2stdXNlci1xdWVzdGlvbi1ncm91cCIpLGE9W10sdT0hMDtpZihpLmZvckVhY2goZnVuY3Rpb24obyxsKXt2YXIgYz10W2xdfHxbXTtpZihjLmxlbmd0aD09PTApe3U9ITE7cmV0dXJufXZhciBkPVtdO2MuZm9yRWFjaChmdW5jdGlvbihmKXt2YXIgdj1vLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW9wdGlvbi1pbmRleD0iJytmKyciXScpO3YmJmQucHVzaCh2LmRhdGFzZXQub3B0aW9uTGFiZWwpfSksYS5wdXNoKGQuam9pbigiLCAiKSl9KSwhIXUpe3Quc3VibWl0dGVkPSEwLHdpbmRvdy5fX2Fza1JlbmRlcihlKTt2YXIgcz1hLmpvaW4oYApgKTtmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK24uc2VsZWN0ZWRJZCsiL2lucHV0Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7aW5wdXQ6cytgCmAsdmlldzpuLmN1cnJlbnRWaWV3fSl9KS5jYXRjaChmdW5jdGlvbihvKXtjb25zb2xlLmVycm9yKCJbd2FuZF0gRXJyb3Igc2VuZGluZyBhbnN3ZXI6IixvKSx0LnN1Ym1pdHRlZD0hMSx3aW5kb3cuX19hc2tSZW5kZXIoZSl9KX19fX07ZnVuY3Rpb24gUmQoKXtpZighbi5fX2dsb2JhbExpc3RlbmVyc0JvdW5kKXtuLl9fZ2xvYmFsTGlzdGVuZXJzQm91bmQ9ITAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItb3ZlcmZsb3ctbWVudSIpO3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgib3BlbiIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1vdmVyZmxvdy1tZW51Iik7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJvcGVuIil9KTt2YXIgZT1mdW5jdGlvbigpe24udG9wYmFyTW9yZU9wZW49ITE7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1tb3JlLW1lbnUiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKTt0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHImJihyLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpLHIuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSl9O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihuLnRvcGJhck1vcmVPcGVuKXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpLGk9ciYmci5wYXJlbnRFbGVtZW50O2kmJiFpLmNvbnRhaW5zKHQudGFyZ2V0KSYmZSgpfX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpe3Qua2V5PT09IkVzY2FwZSImJm4udG9wYmFyTW9yZU9wZW4mJmUoKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXtpZihuLnBsdXNQb3BvdmVyT3Blbil7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtyJiZyLmNvbnRhaW5zKHQudGFyZ2V0KXx8aSYmaS5jb250YWlucyh0LnRhcmdldCl8fEVpKCl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24odCl7dC5rZXk9PT0iRXNjYXBlIiYmbi5wbHVzUG9wb3Zlck9wZW4mJkVpKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24odCl7aWYoIXQudGFyZ2V0LmNsb3Nlc3QoIi5mb2xkZXItcGlja2VyLWNvbnRhaW5lciIpKXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci1kcm9wZG93biIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbih0KXt2YXIgcj10LnRhcmdldDtpZighKCFyfHxyLm5vZGVUeXBlIT09MSkmJiEodHlwZW9mIHIubWF0Y2hlcyE9ImZ1bmN0aW9uInx8IXIubWF0Y2hlcygiW2RhdGEtbW9kZS1jb250cm9sXSIpKSl7dmFyIGk9ci5nZXRBdHRyaWJ1dGUoImRhdGEtbW9kZS1jb250cm9sIiksYT1yLnZhbHVlO2k9PT0ibW9kZSI/KG4uY2hhdE1vZGU9YSxKbigpLGsmJmsoIlx1NjVCMFx1NEYxQVx1OEJERFx1NkEyMVx1NUYwRlx1RkYxQSIrYSwiaW5mbyIpKTppPT09Im1vZGVsIj9FdihhKTppPT09InRoaW5raW5nIiYmZ3YoYSksci5jbG9zZXN0JiZyLmNsb3Nlc3QoIiNjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSYmRWkoKX19KX19ZnVuY3Rpb24gV2QoKXtSZCgpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKTtpZihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfYSk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZ2luLWZvcm0iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLF9hKCl9KTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tc3dpdGNoLXNlcnZlci1idXR0b24iKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixJbyk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIiksYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9nZ2xlLXBhc3N3b3JkLWJ1dHRvbiIpO2EmJmkmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGg9aS50eXBlPT09InRleHQiO2kudHlwZT1oPyJwYXNzd29yZCI6InRleHQiLGEudGV4dENvbnRlbnQ9aD8iXHU2NjNFXHU3OTNBIjoiXHU5NjkwXHU4NUNGIixhLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaD8iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIjoiXHU5NjkwXHU4NUNGXHU1QkM2XHU3ODAxIiksYS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsaD8iZmFsc2UiOiJ0cnVlIiksaS5mb2N1cygpfSksaSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aC5rZXk9PT0iRW50ZXIiJiZfYSgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtpLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixpLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9naW4tZXJyb3IiKTtoJiZ0aShoKX0pLGkuZm9jdXMoKSk7cmV0dXJufXZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7dSYmKHUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aC5rZXk9PT0iRW50ZXIiJiYhaC5zaGlmdEtleSYmKGgucHJldmVudERlZmF1bHQoKSxxcygpKX0pLHUuZm9jdXMoKSk7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtc2VuZC1idG4iKTtzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3FzKCl9KTt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLWNsYXVkZSIpO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7aWwoKX0pO3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLXRvb2wtY29kZXgiKTtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uc2Vzc2lvblRvb2w9ImNvZGV4IixuLnByZWZlcnJlZENvbW1hbmQ9ImNvZGV4IixuLm1vZGVWYWx1ZT0iZnVsbC1hY2Nlc3MiLGlsKCl9KTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2VsY29tZS10b29sLXN0cnVjdHVyZWQiKTtjJiZjLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe0tvKCkudGhlbihmdW5jdGlvbigpe190KCEwKX0pLmNhdGNoKGZ1bmN0aW9uKGgpe2soaCYmaC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfSksaW0oKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpO2QmJihkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixFZCksZC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGZCksZC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLEl2KSxkLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IixUdiksaHAoZCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCR0LCEwKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwkdCk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb3ZpZGVyLWNhcmRzIik7ZiYmZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLnByb3ZpZGVyLWNhcmQiKTtpZighKCFEfHxELmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSkpe3ZhciBqPUQuZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7aiYmKG4uc2Vzc2lvblRvb2w9aixuLnByZWZlcnJlZENvbW1hbmQ9aixrcigpKX19KTt2YXIgdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWNhcmRzIik7diYmdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLnNlc3Npb24ta2luZC1jYXJkIik7aWYoISghRHx8RC5jbGFzc0xpc3QuY29udGFpbnMoImRpc2FibGVkIikpKXt2YXIgaj1ELmdldEF0dHJpYnV0ZSgiZGF0YS1zZXNzaW9uLWtpbmQiKTtqJiYobi5zZXNzaW9uQ3JlYXRlS2luZD1qLGtyKCkpfX0pO3ZhciBtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWNhcmRzIik7bSYmbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC50YXJnZXQuY2xvc2VzdCgiLm1vZGUtY2FyZCIpO2lmKEQpe3ZhciBqPUQuZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKTtqJiYobi5tb2RlVmFsdWU9aixrcigpKX19KTt2YXIgYj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi13b3JrdHJlZS10b2dnbGUiKTtiJiZiLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtuLnNlc3Npb25DcmVhdGVXb3JrdHJlZT1iLmNoZWNrZWR9KTt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7ZyYmKGcuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKCl7bi5jd2RWYWx1ZT1nLnZhbHVlfSksZy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7bi5jd2RWYWx1ZT1nLnZhbHVlfSksZy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdWwpLGcuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHVsKSxnLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKCl7c2V0VGltZW91dChYbiwxMjApfSkpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy10b2dnbGUtYnV0dG9uIik7eSYmeS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsQnYpO3ZhciB3PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1kcmF3ZXItYmFja2Ryb3AiKTt3JiZ3LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTcik7dmFyIEY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLWRyYXdlci1idXR0b24iKTtGJiZGLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTcik7dmFyIEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7RSYmRS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTHYpO3ZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXBpbi1idG4iKTtBJiZBLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixNdik7dmFyIHg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItbW9yZS1idG4iKSxTPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLW92ZXJmbG93LW1lbnUiKTt4JiZTJiZ4LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXtoLnN0b3BQcm9wYWdhdGlvbigpO3ZhciBEPSFTLmNsYXNzTGlzdC5jb250YWlucygib3BlbiIpO1MuY2xhc3NMaXN0LnRvZ2dsZSgib3BlbiIsRCksRCYmT3YoUyl9KTt2YXIgUD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1ob21lLWJ0biIpO1AmJlAuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5zZWxlY3RlZElkPW51bGwseWUoKSxDdCgpLFd0KCksR3QoKX0pO3ZhciB6PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyLXJlZnJlc2gtYnRuIik7eiYmei5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9KTt2YXIgRz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibG9nb3V0LWJ1dHRvbiIpO0cmJkcuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFRvKTt2YXIgTD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3dpdGNoLXNlcnZlci1idXR0b24iKTtMJiZMLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixJbyk7dmFyIEI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWJ1dHRvbiIpO0ImJkIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLF92KTt2YXIgVD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2Utc2V0dGluZ3MtYnV0dG9uIik7VCYmVC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsUW4pO3ZhciBJPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tb2RhbCIpO0kmJkkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gudGFyZ2V0LmlkPT09InNldHRpbmdzLW1vZGFsIiYmUW4oKX0pO3ZhciBWPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLXBhc3N3b3JkLWJ1dHRvbiIpO1YmJlYuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGp2KTtmb3IodmFyIHJlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy10YWIiKSx0ZT0wO3RlPHJlLmxlbmd0aDt0ZSsrKXJlW3RlXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7dmFyIEQ9aC5jdXJyZW50VGFyZ2V0fHx0aGlzLGo9RCYmRC5nZXRBdHRyaWJ1dGU/RC5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik6bnVsbDtqJiZLYShqKX0pO3ZhciAkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzYXZlLWNvbmZpZy1idXR0b24iKTskJiYkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixVdik7dmFyIGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbC1yZWZyZXNoIik7aWUmJmllLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix5dik7dmFyIFU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy12aWV3LWVudi1idG4iKTtVJiZVLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixidik7dmFyIE09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNhdmUtZGlzcGxheS1idXR0b24iKTtNJiZNLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixLdik7dmFyIEg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcC1pY29uLXBpY2tlciIpO2lmKEgpZm9yKHZhciBOPUgucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbiIpLFk9MDtZPE4ubGVuZ3RoO1krKylOW1ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBoPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKTtpZighKCFofHx0eXBlb2YgV2FuZE5hdGl2ZT4idSJ8fHR5cGVvZiBXYW5kTmF0aXZlLnNldEFwcEljb24hPSJmdW5jdGlvbiIpKXRyeXtXYW5kTmF0aXZlLnNldEFwcEljb24oaCksZWwoaCk7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcC1pY29uLW1lc3NhZ2UiKTtEJiYoRC50ZXh0Q29udGVudD0iXHU1NkZFXHU2ODA3XHU1REYyXHU1MjA3XHU2MzYyXHVGRjBDXHU4RkQ0XHU1NkRFXHU2ODRDXHU5NzYyXHU1NDBFXHU3NTFGXHU2NTQ4IixELnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIsRC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0sM2UzKSl9Y2F0Y2h7fX0pO3ZhciBLPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGxvYWQtY2VydC1idXR0b24iKTtLJiZLLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixKdik7Zm9yKHZhciBYPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5maWxlLXBpY2tlci1pbnB1dCIpLGFlPTA7YWU8WC5sZW5ndGg7YWUrKykoZnVuY3Rpb24oaCl7aC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIEQ9aC5jbG9zZXN0KCIuZmlsZS1waWNrZXIiKTtpZihEKXt2YXIgaj1ELnF1ZXJ5U2VsZWN0b3IoIi5maWxlLXBpY2tlci1uYW1lIik7aiYmKGguZmlsZXMmJmguZmlsZXNbMF0/KGoudGV4dENvbnRlbnQ9aC5maWxlc1swXS5uYW1lLEQuY2xhc3NMaXN0LmFkZCgiZmlsZS1waWNrZXItaGFzLWZpbGUiKSk6KGoudGV4dENvbnRlbnQ9ai5nZXRBdHRyaWJ1dGUoImRhdGEtZGVmYXVsdCIpfHwiXHU2NzJBXHU5MDA5XHU2MkU5XHU2NTg3XHU0RUY2IixELmNsYXNzTGlzdC5yZW1vdmUoImZpbGUtcGlja2VyLWhhcy1maWxlIikpKX19KX0pKFhbYWVdKTt2YXIgbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrLXVwZGF0ZS1idXR0b24iKTtsZSYmbGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFpvKTt2YXIgdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXVwZGF0ZS1idXR0b24iKTt1ZSYmdWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFl2KTt2YXIgQ2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXJlc3RhcnQtYnV0dG9uIik7Q2UmJkNlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHdik7dmFyIEZlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7RmUmJkZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXtKYSgid2ViIixGZS5jaGVja2VkKX0pO3ZhciBiZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO2JlJiZiZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7SmEoImFwayIsYmUuY2hlY2tlZCl9KTt2YXIgTz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtZG1nLXRvZ2dsZSIpO08mJk8uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe0phKCJkbWciLE8uY2hlY2tlZCl9KTt2YXIgUj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmV0YS1jaGFubmVsLXRvZ2dsZSIpO1ImJlIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe1h2KFIuY2hlY2tlZD8iYmV0YSI6InN0YWJsZSIpfSk7dmFyIHNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5LWNvbm5lY3QtY29kZS1idXR0b24iKTtzZSYmc2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1jb2RlIik7aCYmTHIoaC50ZXh0Q29udGVudCxzZSl9KTt2YXIgQmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpO0JlJiYoQmUuY2hlY2tlZD1uLm5vdGlmU291bmQsQmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe24ubm90aWZTb3VuZD1CZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1zb3VuZCIsU3RyaW5nKG4ubm90aWZTb3VuZCkpfWNhdGNoe31uLm5vdGlmU291bmQmJmlpKCk7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2gmJihoLnN0eWxlLmRpc3BsYXk9bi5ub3RpZlNvdW5kPyIiOiJub25lIil9KSk7dmFyIG5lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctbm90aWYtdm9sdW1lIiksZGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIiksTWU9ZnVuY3Rpb24oaCl7aWYoaCl7dmFyIEQ9TnVtYmVyKGgubWlufHwwKSxqPU51bWJlcihoLm1heHx8MTAwKSxFZT1OdW1iZXIoaC52YWx1ZXx8MCksRXQ9aj5EP01hdGgubWF4KDAsTWF0aC5taW4oMTAwLChFZS1EKS8oai1EKSoxMDApKTowO2guc3R5bGUuc2V0UHJvcGVydHkoIi0tcmFuZ2UtZmlsbCIsRXQrIiUiKX19O2lmKG5lKXtuZS52YWx1ZT1TdHJpbmcobi5ub3RpZlZvbHVtZSksZGUmJihkZS50ZXh0Q29udGVudD1uLm5vdGlmVm9sdW1lKyIlIiksTWUobmUpO3ZhciBsdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWYtdm9sdW1lLWZpZWxkIik7bHQmJihsdC5zdHlsZS5kaXNwbGF5PW4ubm90aWZTb3VuZD8iIjoibm9uZSIpO3ZhciBndD1udWxsO25lLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbigpe24ubm90aWZWb2x1bWU9cGFyc2VJbnQobmUudmFsdWUsMTApLGRlJiYoZGUudGV4dENvbnRlbnQ9bi5ub3RpZlZvbHVtZSsiJSIpLE1lKG5lKTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtbm90aWYtdm9sdW1lIixTdHJpbmcobi5ub3RpZlZvbHVtZSkpfWNhdGNoe31pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuc2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblZvbHVtZShuLm5vdGlmVm9sdW1lKX1jYXRjaHt9fSksbmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe2lpKCl9KX12YXIgR2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtHZSYmKEdlLmNoZWNrZWQ9bi5ub3RpZkJ1YmJsZSxHZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7bi5ub3RpZkJ1YmJsZT1HZS5jaGVja2VkO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi1idWJibGUiLFN0cmluZyhuLm5vdGlmQnViYmxlKSl9Y2F0Y2h7fX0pKTt2YXIgcnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpO3J0JiZydC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtpZihIZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24oKXttbigpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9fWVsc2UgdHlwZW9mIE5vdGlmaWNhdGlvbjwidSImJk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24oKXttbigpfSl9KTt2YXIgaXQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKTtpdCYmaXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFp2KTt2YXIgV2U9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LWJ0biIpO1dlJiZXZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbmwpO3ZhciBrdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9uLXRlc3QtZGVsYXktYnRuIik7aWYoa3QmJmt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlbSksbW4oKSxIZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0QXZhaWxhYmxlU291bmRzPT0iZnVuY3Rpb24iKXt2YXIgemU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWN0aW9uIiksRGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKSxfZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLXNvdW5kLXByZXZpZXciKTtpZih6ZSYmRGUpe3plLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3RyeXt2YXIgZmU9SlNPTi5wYXJzZShXYW5kTmF0aXZlLmdldEF2YWlsYWJsZVNvdW5kcygpKSxBZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCk7RGUuaW5uZXJIVE1MPSIiO2Zvcih2YXIgQz0wO0M8ZmUubGVuZ3RoO0MrKyl7dmFyIGN0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpO2N0LnZhbHVlPWZlW0NdLmlkLGN0LnRleHRDb250ZW50PWZlW0NdLm5hbWUsZmVbQ10uaWQ9PT1BZSYmKGN0LnNlbGVjdGVkPSEwKSxEZS5hcHBlbmRDaGlsZChjdCl9RGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnNldE5vdGlmaWNhdGlvblNvdW5kKERlLnZhbHVlKX1jYXRjaHt9fSksX2UmJl9lLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnByZXZpZXdTb3VuZChEZS52YWx1ZSl9Y2F0Y2h7fX0pfWNhdGNoe319fWlmKEhlJiZ0eXBlb2YgV2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQ9PSJmdW5jdGlvbiIpe3ZhciBBdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF0aXZlLWhhcHRpYy1zZWN0aW9uIiksUWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2lmKEF0JiZRZSl7QXQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7dHJ5e1FlLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKX1jYXRjaHt9UWUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe3RyeXtXYW5kTmF0aXZlLnNldEhhcHRpY0VuYWJsZWQoUWUuY2hlY2tlZCl9Y2F0Y2h7fVFlLmNoZWNrZWQmJlZuKCJtZWRpdW0iKX0pfX12YXIgJGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1uZXctc2Vzc2lvbi1idXR0b24iKTskZSYmJGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZhKTt2YXIgeHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyYXdlci1uZXctc2Vzc2lvbi1idXR0b24iKTt4dCYmeHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLFZhKTt2YXIgWHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb3NlLW1vZGFsLWJ1dHRvbiIpO1h0JiZYdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIscG4pO3ZhciBhdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2Utd29ya3RyZWUtbWVyZ2UtYnV0dG9uIik7YXQmJmF0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHbik7dmFyIHFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jYW5jZWwtYnV0dG9uIik7cWUmJnFlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixHbik7dmFyIE9lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jb25maXJtLWJ1dHRvbiIpO09lJiZPZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsSHYpO3ZhciB3ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnVuLWJ1dHRvbiIpO3dlJiZ3ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdG0pO3ZhciBWZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXBwcm92ZS1wZXJtaXNzaW9uLWJ0biIpO1ZlJiZWZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsWWMpO3ZhciBTdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVueS1wZXJtaXNzaW9uLWJ0biIpO1N0JiZTdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsR2MpO3ZhciBodD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by1hcHByb3ZlLXRvZ2dsZSIpO2h0JiZodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsUWMpO3ZhciBnbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VuZC1pbnB1dC1idXR0b24iKTtnbiYmZ24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7V3QoKSxEZigpfSk7dmFyIEl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO0l0JiZJdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsd2EpO3ZhciBTbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO1NuJiZTbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7aC50YXJnZXQuaWQ9PT0ic2Vzc2lvbi1tb2RhbCImJnBuKCksaC50YXJnZXQuaWQ9PT0id29ya3RyZWUtbWVyZ2UtbW9kYWwiJiZHbigpfSk7dmFyIGNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtjZSYmKHVvKGNlKSxjZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsbSksY2UuYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLGhtKSxjZS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtuLnRlcm1pbmFsQ29tcG9zaW5nfHxzbChjZSl8fChUcChjZSksbnQoY2UudmFsdWUsITApLHdpKGNlKSl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IixmdW5jdGlvbigpe24udGVybWluYWxJbnRlcmFjdGl2ZSYmKG4udGVybWluYWxDb21wb3Npbmc9ITApfSksY2UuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLGZ1bmN0aW9uKCl7bi50ZXJtaW5hbENvbXBvc2luZyYmKG4udGVybWluYWxDb21wb3Npbmc9ITEsbi50ZXJtaW5hbEludGVyYWN0aXZlJiZzbChjZSkpfSksY2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGZ1bmN0aW9uKCl7V3QoKSxCcCh7dGFyZ2V0OmNlfSl9KSxjZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixEcCkpO3ZhciB1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXR0YWNoLWJ0biIpLGVlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXVwbG9hZC1pbnB1dCIpLHhlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb21wb3Nlci1wbHVzLXBvcG92ZXIiKSxTZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGx1cy1hdHRhY2gtaXRlbSIpO3V0JiZ4ZSYmdXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2guc3RvcFByb3BhZ2F0aW9uKCksa3YoKX0pLFNlJiZlZSYmU2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7RWkoKSxlZS5jbGljaygpfSksZWUmJmVlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsZnVuY3Rpb24oKXt2YXIgaD1lZS5maWxlcztpZihoKWZvcih2YXIgRD0wO0Q8aC5sZW5ndGg7RCsrKVlhKGhbRF0pO2VlLnZhbHVlPSIifSk7dmFyIHl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1idG4iKTt5dCYmeXQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7ZmEoKX0pO3ZhciBkdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtY2FuY2VsLWJ0biIpO2R0JiZkdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtmYSghMSl9KTt2YXIgcGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtwZSYmKHBlLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix5ZikscGUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGJmKSxwZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLFRzKSxwZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixUcykpO3ZhciBYZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicHJvbXB0LW9wdGltaXplLWJ0biIpO1hlJiZYZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtibSgpfSk7dmFyIGJ0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2J0JiYoYnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLGJ0LmNsYXNzTGlzdC5hZGQoImRyYWctb3ZlciIpfSksYnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixmdW5jdGlvbihoKXtoLnByZXZlbnREZWZhdWx0KCksaC5zdG9wUHJvcGFnYXRpb24oKSxidC5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGJ0LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLGJ0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO3ZhciBEPWguZGF0YVRyYW5zZmVyJiZoLmRhdGFUcmFuc2Zlci5maWxlcztpZihEKWZvcih2YXIgaj0wO2o8RC5sZW5ndGg7aisrKVlhKERbal0pfSkpO3ZhciBabj1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTtabi5mb3JFYWNoKGZ1bmN0aW9uKGgpe3ZhciBEPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGgpO0QmJkQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHNwKX0pO3ZhciBXPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwd2EtaW5zdGFsbC1idXR0b24iKTtXJiZXLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uZGVmZXJyZWRQcm9tcHQmJihuLmRlZmVycmVkUHJvbXB0LnByb21wdCgpLG4uZGVmZXJyZWRQcm9tcHQudXNlckNob2ljZS50aGVuKGZ1bmN0aW9uKCl7bi5kZWZlcnJlZFByb21wdD1udWxsLG4uc2hvd0luc3RhbGxQcm9tcHQ9ITEsRXMoKX0pKX0pO3ZhciBfPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLXBhbmVsLXRvZ2dsZS1idG4iKTtfJiZfLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixOcik7dmFyIFE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtc2lkZS1wYW5lbC1jbG9zZSIpO1EmJlEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHZ1KTt2YXIgbWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGUtcGFuZWwtYmFja2Ryb3AiKTttZSYmbWUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHZ1KTt2YXIgSWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1maWxlLWJ1dHRvbiIpO0llJiZJZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTnIpO3ZhciBUdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLWN3ZCIpO1R0JiYoVHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5maWxlUGFuZWxPcGVufHxOcigpfSksVHQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7KGgua2V5PT09IkVudGVyInx8aC5rZXk9PT0iICIpJiYoaC5wcmV2ZW50RGVmYXVsdCgpLG4uZmlsZVBhbmVsT3Blbnx8TnIoKSl9KSk7dmFyIGVyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3BiYXItbW9yZS1idXR0b24iKSxCaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wYmFyLW1vcmUtbWVudSIpO2VyJiZCaSYmKGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXtoLnN0b3BQcm9wYWdhdGlvbigpLG4udG9wYmFyTW9yZU9wZW49IW4udG9wYmFyTW9yZU9wZW4sQmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhbi50b3BiYXJNb3JlT3BlbiksZXIuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixuLnRvcGJhck1vcmVPcGVuKSxlci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLG4udG9wYmFyTW9yZU9wZW4/InRydWUiOiJmYWxzZSIpfSksQmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe3ZhciBEPWgudGFyZ2V0JiZoLnRhcmdldC5jbG9zZXN0P2gudGFyZ2V0LmNsb3Nlc3QoIi50b3BiYXItbW9yZS1pdGVtIik6bnVsbDtpZihEKXt2YXIgaj1ELmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtzd2l0Y2gobi50b3BiYXJNb3JlT3Blbj0hMSxCaS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlci5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKSxlci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGope2Nhc2UiY29weS1jbGF1ZGUtc2Vzc2lvbi1pZCI6WmkoImNsYXVkZVNlc3Npb25JZCIsSHQoKSYmSHQoKS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IHRocmVhZCBJRCBcdTVERjJcdTU5MERcdTUyMzYiOiJDbGF1ZGUgXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2UiY29weS1jd2QiOlppKCJjd2QiLCJcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTVcdTVERjJcdTU5MERcdTUyMzYiKTticmVhaztjYXNlImNvcHktc2Vzc2lvbi1pZCI6WmkoImlkIiwiXHU0RjFBXHU4QkREIElEIFx1NURGMlx1NTkwRFx1NTIzNiIpO2JyZWFrO2Nhc2Uid29ya3RyZWUtbWVyZ2UiOm4uc2VsZWN0ZWRJZCYmR28obi5zZWxlY3RlZElkKTticmVhaztjYXNlIndvcmt0cmVlLWNsZWFudXAiOm4uc2VsZWN0ZWRJZCYmUW8obi5zZWxlY3RlZElkKTticmVhaztjYXNlImRlbGV0ZS1zZXNzaW9uIjpuLnNlbGVjdGVkSWQmJihmdW5jdGlvbihFZSl7SG4oIlx1Nzg2RVx1NUI5QVx1ODk4MVx1NTIyMFx1OTY2NFx1NUY1M1x1NTI0RFx1NEYxQVx1OEJERFx1NTQxN1x1RkYxRlx1NkI2NFx1NjRDRFx1NEY1Q1x1NjVFMFx1NkNENVx1NjRBNFx1OTUwMFx1MzAwMiIse3RpdGxlOiJcdTUyMjBcdTk2NjRcdTVGNTNcdTUyNERcdTRGMUFcdThCREQifSkudGhlbihmdW5jdGlvbihFdCl7RXQmJlhzKEVlKX0pfSkobi5zZWxlY3RlZElkKTticmVha319fSkpO3ZhciBvbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtZG93bi10b3AiKSxsbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtc2NhbGUtdXAtdG9wIik7b2wmJm9sLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe211KC0uMjUpfSksbGwmJmxsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe211KC4yNSl9KTt2YXIgY2w9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhZ2UtcmVmcmVzaC1idG4iKTtjbCYmY2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2lmKGgmJmguc2hpZnRLZXkpe2xvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1DbigpLEN0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxjbyghMCl9KTt2YXIgZGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWp1bXAtYm90dG9tIik7ZGwmJmRsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2Z0KCJmb3JjZSIpfSk7dmFyIGZsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LXVucmVhZC1idWJibGUiKTtmbCYmZmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7a2woITApfSk7dmFyIHBsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWxlLWV4cGxvcmVyLXJlZnJlc2giKTtwbCYmcGwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7TXQoKX0pO3ZhciB2bD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci11cCIpO3ZsJiZ2bC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsVWwpO3ZhciBqZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1leHBsb3Jlci1jd2QiKTtpZihqZSYmamUudGFnTmFtZT09PSJJTlBVVCIpe3ZhciB0cj1qZS52YWx1ZSxtbD1mdW5jdGlvbihoKXt2YXIgRD0oaHx8IiIpLnRyaW0oKTtyZXR1cm4gRD8oRD1ELnJlcGxhY2UoL1wvezIsfS9nLCIvIiksRC5sZW5ndGg+MSYmKEQ9RC5yZXBsYWNlKC9cLyskLywiIikpLEQpOiIifTtqZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsZnVuY3Rpb24oKXt0cj1qZS52YWx1ZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e2plLnNlbGVjdCgpfWNhdGNoe319LDApfSksamUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZnVuY3Rpb24oaCl7aWYoaC5rZXk9PT0iRW50ZXIiKXtoLnByZXZlbnREZWZhdWx0KCk7dmFyIEQ9bWwoamUudmFsdWUpO2lmKCFEKXJldHVybjt0cj1ELGplLnZhbHVlPUQsTXQoe2N3ZDpEfSksamUuYmx1cigpfWVsc2UgaC5rZXk9PT0iRXNjYXBlIiYmKGgucHJldmVudERlZmF1bHQoKSxqZS52YWx1ZT10cixqZS5ibHVyKCkpfSksamUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsZnVuY3Rpb24oKXt2YXIgaD1tbChqZS52YWx1ZSk7aWYoIWgpe2plLnZhbHVlPXRyO3JldHVybn1pZihoPT09dHIpe2plLnZhbHVlPWg7cmV0dXJufXRyPWgsamUudmFsdWU9aCxNdCh7Y3dkOmh9KX0pfXZhciBEaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtaW5wdXQiKSxPcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZS1zZWFyY2gtY2xlYXIiKTtEaSYmRGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLGZ1bmN0aW9uKGgpe24uZmlsZVNlYXJjaFF1ZXJ5PWgudGFyZ2V0LnZhbHVlLnRyaW0oKSxPciYmT3IuY2xhc3NMaXN0LnRvZ2dsZSgidmlzaWJsZSIsbi5maWxlU2VhcmNoUXVlcnkubGVuZ3RoPjApLGJ1KCl9KSxPciYmT3IuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7bi5maWxlU2VhcmNoUXVlcnk9IiIsRGkmJihEaS52YWx1ZT0iIiksT3IuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpfSk7dmFyIGdlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0IiksVGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKSxudT1udWxsLFZ0PS0xLGhuPVtdO2Z1bmN0aW9uIGdsKGgpe2dlJiZnZS5jbGFzc0xpc3QuYWRkKCJpbnZhbGlkIik7dmFyIEQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIpO0QmJihELnRleHRDb250ZW50PWgsRC5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIGhsKCl7Z2UmJmdlLmNsYXNzTGlzdC5yZW1vdmUoImludmFsaWQiKTt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uIik7aCYmKGgudGV4dENvbnRlbnQ9IiIsaC5jbGFzc0xpc3QucmVtb3ZlKCJ2aXNpYmxlIikpfWZ1bmN0aW9uIHdtKGgpe2lmKCFoLmxlbmd0aClyZXR1cm4iIjt2YXIgRD0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1zZWN0aW9uIj48ZGl2IGNsYXNzPSJmb2xkZXItcmVjZW50LXRpdGxlIj5cdTY3MDBcdThGRDFcdTRGN0ZcdTc1Mjg8L2Rpdj4nO3JldHVybiBoLmZvckVhY2goZnVuY3Rpb24oail7dmFyIEVlPWoucGF0aHx8ajtEKz0nPGRpdiBjbGFzcz0iZm9sZGVyLXJlY2VudC1pdGVtIiBkYXRhLXBhdGg9IicrcChFZSkrJyI+PHNwYW4gY2xhc3M9ImZvbGRlci1yZWNlbnQtaXRlbS1wYXRoIj4nK3AoRWUpKyI8L3NwYW4+PC9kaXY+In0pLEQrPSI8L2Rpdj4iLER9ZnVuY3Rpb24gQ20oKXtUZSYmJGkoZnVuY3Rpb24oaCl7dmFyIEQ9d20oaCk7RD8oVGUuaW5uZXJIVE1MPUQsVGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVGUucXVlcnlTZWxlY3RvckFsbCgiLmZvbGRlci1yZWNlbnQtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24oail7ai5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgRWU9dGhpcy5kYXRhc2V0LnBhdGg7Z2UmJihnZS52YWx1ZT1FZSxZdChFZSksWnQoRWUpKX0pfSkpOlByKCl9KX12YXIgeWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmtpbmctZGlyLWluZGljYXRvciIpO3lsJiZ5bC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpLG4uZHJhZnRzPXt9LEd0KCksc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0Iik7aCYmaC5mb2N1cygpfSw1MCl9KTt2YXIgcnU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdG9nZ2xlIiksVGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItZHJvcGRvd24iKTtydSYmVGUmJnJ1LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe1RlLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIpLHJ1LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iKX0pO3ZhciBraT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZm9sZGVyLXBpY2tlci1jb21wYWN0Iik7aWYoa2kmJihraS5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLGguc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGtpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsZnVuY3Rpb24oaCl7aC5wcmV2ZW50RGVmYXVsdCgpLGguc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGtpLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7dmFyIEQ9aC5kYXRhVHJhbnNmZXImJmguZGF0YVRyYW5zZmVyLml0ZW1zO2lmKEQpZm9yKHZhciBqPTA7ajxELmxlbmd0aDtqKyspe3ZhciBFZT1EW2pdO2lmKEVlLmtpbmQ9PT0iZmlsZSImJkVlLndlYmtpdEdldEFzRW50cnkpe3ZhciBFdD1FZS53ZWJraXRHZXRBc0VudHJ5KCk7aWYoRXQmJkV0LmlzRGlyZWN0b3J5JiZnZSl7dmFyIEx0PUV0LmZ1bGxQYXRoO2dlLnZhbHVlPUx0LFl0KEx0KSxadChMdCk7YnJlYWt9fX19KSksVGUmJlRlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihoKXt2YXIgRD1oLnRhcmdldC5jbG9zZXN0KCIuZm9sZGVyLXBpY2tlci1xdWljay1idG4iKTtpZihEJiZnZSl7dmFyIGo9RC5kYXRhc2V0LnBhdGg7Z2UudmFsdWU9aixZdChqKSxadChqKSxUZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgRWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItdG9nZ2xlIik7RWUmJkVlLmNsYXNzTGlzdC5yZW1vdmUoIm9wZW4iKX19KSxnZSl7dmFyIEJtPUplKCk7WnQoQm0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe3ZhciBoPXRoaXMudmFsdWUudHJpbSgpO2g/WnQoaCk6Q20oKX0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixmdW5jdGlvbihoKXt2YXIgRD1oLnRhcmdldC52YWx1ZS50cmltKCk7VnQ9LTEsbnUmJmNsZWFyVGltZW91dChudSksbnU9c2V0VGltZW91dChmdW5jdGlvbigpe0Q/WnQoRCk6UHIoKX0sMTUwKX0pLGdlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGgpe2lmKGgua2V5PT09IkVzY2FwZSIpUHIoKSx0aGlzLmJsdXIoKTtlbHNlIGlmKGgua2V5PT09IkFycm93RG93biIpaC5wcmV2ZW50RGVmYXVsdCgpLGhuLmxlbmd0aD4wJiYoVnQ9TWF0aC5taW4oVnQrMSxobi5sZW5ndGgtMSksYmwoKSk7ZWxzZSBpZihoLmtleT09PSJBcnJvd1VwIiloLnByZXZlbnREZWZhdWx0KCksVnQ+MCYmKFZ0LS0sYmwoKSk7ZWxzZSBpZihoLmtleT09PSJFbnRlciImJlZ0Pj0wKXtoLnByZXZlbnREZWZhdWx0KCk7dmFyIEQ9aG5bVnRdO2lmKEQpe3ZhciBqPUQuZGF0YXNldC5wYXRoO2lmKGo9PT0iLi4iKXt2YXIgRWU9Z2UudmFsdWUudHJpbSgpLEV0PUVlLnN1YnN0cmluZygwLEVlLmxhc3RJbmRleE9mKCIvIikpO0V0JiYoZ2UudmFsdWU9RXR8fCIvIixZdChnZS52YWx1ZSksWnQoRXR8fCIvIikpfWVsc2UgZ2UudmFsdWU9aixZdChqKSxQcigpfX19KX1mdW5jdGlvbiBibCgpe2huLmZvckVhY2goZnVuY3Rpb24oaCxEKXtoLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsRD09PVZ0KX0pfWZ1bmN0aW9uIGFnKGgpe31mdW5jdGlvbiBadChoKXtUZSYmKFRlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkQuLi48L2Rpdj4nLFRlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLFZ0PS0xLGhuPVtdLGZldGNoKCIvYXBpL2ZvbGRlcnM/cT0iK2VuY29kZVVSSUNvbXBvbmVudChoKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oRCl7cmV0dXJuIEQuanNvbigpLnRoZW4oZnVuY3Rpb24oail7cmV0dXJue29rOkQub2ssc3RhdHVzOkQuc3RhdHVzLGRhdGE6an19KX0pLnRoZW4oZnVuY3Rpb24oRCl7dmFyIGo9RC5kYXRhO2lmKCFELm9rfHxqLmVycm9yKXtnbChqLmVycm9yfHwiXHU4REVGXHU1Rjg0XHU2NUUwXHU2NTQ4IiksVGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWVycm9yIj4nK3Aoai5lcnJvcnx8Ilx1OERFRlx1NUY4NFx1NjVFMFx1NjU0OCIpKyI8L2Rpdj4iO3JldHVybn1obCgpLGouY3VycmVudFBhdGg7dmFyIEVlPWouaXRlbXN8fFtdLEV0PWouY3VycmVudFBhdGh8fGg7aWYoRWUubGVuZ3RoPT09MCl7VGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJmb2xkZXItcGlja2VyLWxvYWRpbmciPlx1N0E3QVx1NzZFRVx1NUY1NTwvZGl2Pic7cmV0dXJufVRlLmlubmVySFRNTD1FZS5tYXAoZnVuY3Rpb24oTHQpe3ZhciBBaT1MdC50eXBlPT09InBhcmVudCI/Ilx1MjFBOVx1RkUwRiI6Ilx1ezFGNEMxfSIsaXU9THQudHlwZT09PSJwYXJlbnQiPyIuLiAoXHU4RkQ0XHU1NkRFXHU0RTBBXHU3RUE3KSI6THQubmFtZTtyZXR1cm4nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1pdGVtIiBkYXRhLXBhdGg9IicrcChMdC5wYXRoKSsnIiBkYXRhLXR5cGU9IicrTHQudHlwZSsnIj48c3BhbiBjbGFzcz0iZm9sZGVyLXBpY2tlci1pdGVtLWljb24iPicrQWkrIjwvc3Bhbj48c3Bhbj4iK3AoaXUpKyI8L3NwYW4+PC9kaXY+In0pLmpvaW4oIiIpLGhuPUFycmF5LmZyb20oVGUucXVlcnlTZWxlY3RvckFsbCgiLmZvbGRlci1waWNrZXItaXRlbSIpKSxobi5mb3JFYWNoKGZ1bmN0aW9uKEx0KXtMdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgQWk9dGhpcy5kYXRhc2V0LnBhdGgsaXU9dGhpcy5kYXRhc2V0LnR5cGU7aWYoZ2UpaWYoaXU9PT0icGFyZW50Iil7dmFyIENsPWdlLnZhbHVlLnRyaW0oKSxCbD1DbC5zdWJzdHJpbmcoMCxDbC5sYXN0SW5kZXhPZigiLyIpKTtnZS52YWx1ZT1CbHx8Ii8iLFl0KGdlLnZhbHVlKSxadChCbHx8Ii8iKX1lbHNlIGdlLnZhbHVlPUFpLFl0KEFpKSxobCgpLFByKCl9KX0pfSkuY2F0Y2goZnVuY3Rpb24oRCl7Z2woIlx1NTJBMFx1OEY3RFx1NTkzMVx1OEQyNSIpLFRlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1lcnJvciI+XHU1MkEwXHU4RjdEXHU1OTMxXHU4RDI1PC9kaXY+J30pKX1mdW5jdGlvbiBQcigpe1RlJiZUZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxWdD0tMSxobj1bXX12YXIgeW49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvbGRlci1waWNrZXItbW9kYWwiKSxFbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvc2UtZm9sZGVyLXBpY2tlciIpO2Z1bmN0aW9uIHVnKCl7aWYoeW4pe3luLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGdlJiYoZ2UudmFsdWU9SmUoKSk7dmFyIGg9SmUoKTtadChoKX19RWwmJnluJiZFbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt5bi5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0pLHluJiZ5bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oaCl7aC50YXJnZXQ9PT15biYmeW4uY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9KTt2YXIgRmw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1naXQtYmFkZ2UiKTtGbCYmRmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gucHJldmVudERlZmF1bHQoKSxMdSgpfSk7dmFyIHdsPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJxdWljay1jb21taXQtbW9kYWwiKTt3bCYmd2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGgpe2gudGFyZ2V0LmlkPT09InF1aWNrLWNvbW1pdC1tb2RhbCImJiFuLnF1aWNrQ29tbWl0U3VibWl0dGluZyYmcW4oKX0pLE11KCksem4oKSxNcCgpLHRkKCksUGYoKSxEdCgpfWZ1bmN0aW9uIEN0KGUpe3ZhciB0PWV8fHt9O24ubGFzdFJlbmRlcmVkSGFzaD0wLG4ubGFzdFJlbmRlcmVkTXNnQ291bnQ9MCxuLmxhc3RSZW5kZXJlZEVtcHR5PW51bGwsbi5yZW5kZXJQZW5kaW5nPSExLG4uY2hhdFJlbmRlcmVkQ291bnQ9bi5jaGF0UGFnZVNpemUsbi5hc2tVc2VyU2VsZWN0aW9ucz17fSxuLmNoYXRTY3JvbGxFbGVtZW50JiYobi5jaGF0U2Nyb2xsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLG4uY2hhdFNjcm9sbEhhbmRsZXIpLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsbi5jaGF0U2Nyb2xsV2hlZWxIYW5kbGVyKSxuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixuLmNoYXRTY3JvbGxUb3VjaFN0YXJ0SGFuZGxlciksbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlciYmbi5jaGF0U2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4uY2hhdFNjcm9sbFRvdWNoTW92ZUhhbmRsZXIpKSxuLmNoYXRTY3JvbGxFbGVtZW50PW51bGwsbi5jaGF0U2Nyb2xsSGFuZGxlcj1udWxsLG4uY2hhdFNjcm9sbFdoZWVsSGFuZGxlcj1udWxsLG4uY2hhdFNjcm9sbFRvdWNoU3RhcnRIYW5kbGVyPW51bGwsbi5jaGF0U2Nyb2xsVG91Y2hNb3ZlSGFuZGxlcj1udWxsLG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExLHQucHJlc2VydmVTdGlja1N0YXRlfHwobi5jaGF0U3RpY2tUb0JvdHRvbT0hMCxuLmNoYXRVbnJlYWRDb3VudD0wLG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg9LTEsbi5jaGF0SW5pdGlhbFJlbmRlckRvbmU9ITEpfWZ1bmN0aW9uIEplKCl7cmV0dXJuIG4ud29ya2luZ0Rpcnx8ZW4oKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JlaW5zdGFsbHByb21wdCIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLG4uZGVmZXJyZWRQcm9tcHQ9ZSxuLnNob3dJbnN0YWxsUHJvbXB0PSEwLEVzKCl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixmdW5jdGlvbigpe24uaXNPbmxpbmU9ITAsZWkoKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvZmZsaW5lIixmdW5jdGlvbigpe24uaXNPbmxpbmU9ITEsZWkoKX0pO2Z1bmN0aW9uIGVpKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9mZmxpbmUtYmFubmVyIik7aWYoIW4uaXNPbmxpbmUmJiFlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmlkPSJvZmZsaW5lLWJhbm5lciIsdC5jbGFzc05hbWU9Im9mZmxpbmUtYmFubmVyIix0LnRleHRDb250ZW50PSJZb3UgYXJlIG9mZmxpbmUgLSBzb21lIGZlYXR1cmVzIG1heSBiZSBsaW1pdGVkIixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpfWVsc2Ugbi5pc09ubGluZSYmZSYmZS5yZW1vdmUoKX1mdW5jdGlvbiBFcygpe3ZhciBlPSEhKG4uc2hvd0luc3RhbGxQcm9tcHQmJm4uZGVmZXJyZWRQcm9tcHQpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInB3YS1pbnN0YWxsLWJ1dHRvbiIpO3QmJnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhZSk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvcGJhci1pbnN0YWxsLWl0ZW0iKTtyJiZyLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIWUpfWZ1bmN0aW9uIHpkKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO2UmJihlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJib290LWxvYWRpbmctY2FyZCI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXNwaW5uZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy10ZXh0Ij5cdTZCNjNcdTU3MjhcdThGREVcdTYzQTUgV2FuZFx1MjAyNjwvZGl2PjwvZGl2PjwvZGl2PicpfWZ1bmN0aW9uIG1yKGUsdCl7aWYobi5jb25maWcmJiFkb2N1bWVudC5oaWRkZW4pe3ZhciByPXQmJnQuaW1tZWRpYXRlPT09ITAsaT1EYXRlLm5vdygpOyFyJiZpLW4ubGFzdEZvcmVncm91bmRTeW5jQXQ8MTUwMHx8KG4ubGFzdEZvcmVncm91bmRTeW5jQXQ9aSxuLmZvcmVncm91bmRTeW5jVGltZXImJihjbGVhclRpbWVvdXQobi5mb3JlZ3JvdW5kU3luY1RpbWVyKSxuLmZvcmVncm91bmRTeW5jVGltZXI9bnVsbCksVmQoZSxyKSl9fWZ1bmN0aW9uIFZkKGUsdCl7cmV0dXJuIW4uY29uZmlnfHxkb2N1bWVudC5oaWRkZW4/UHJvbWlzZS5yZXNvbHZlKCk6KFh1KCksdD9VaSgicmVzdW1lLWZvcmNlIik6KCFuLndzfHxuLndzLnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTiYmbi53cy5yZWFkeVN0YXRlIT09V2ViU29ja2V0LkNPTk5FQ1RJTkcpJiZKcigpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZCYmR3UoKSxkbih7c2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkOiEwfSkuY2F0Y2goZnVuY3Rpb24ocil7Y29uc29sZS5lcnJvcigiW3dhbmRdIGZvcmVncm91bmQgc3luYyBmYWlsZWQ6IixlLHIpfSkpfWZ1bmN0aW9uIFVkKCl7d2luZG93Ll9fd2FuZEZvcmVncm91bmRTeW5jQm91bmR8fCh3aW5kb3cuX193YW5kRm9yZWdyb3VuZFN5bmNCb3VuZD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2RvY3VtZW50LmhpZGRlbj9WaSgpOihtcigidmlzaWJpbGl0eSIpLHZyKCJ2aXNpYmlsaXR5IikpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbigpe21yKCJmb2N1cyIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixmdW5jdGlvbigpe21yKCJwYWdlc2hvdyIpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc3VtZSIsZnVuY3Rpb24oKXttcigicmVzdW1lIil9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1hbmRyb2lkLXJlc3VtZSIsZnVuY3Rpb24oKXttcigiYW5kcm9pZC1yZXN1bWUiLHtpbW1lZGlhdGU6ITB9KSx2cigiYW5kcm9pZC1yZXN1bWUiKX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3YW5kLWltZS1zdGF0ZSIsZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5kZXRhaWwmJmUuZGV0YWlsLnN0YXRlO2lmKHQ9PT0ic2hvd24ifHx0PT09ImhpZGRlbiIpdHJ5e2V0KCJuYXRpdmUtaW1lLSIrdCx7Zm9yY2VSZXBsYXk6ITB9KSxmdCgibmF0aXZlLWltZSIpfWNhdGNoe319KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigid2FuZC1hbmRyb2lkLW5ldHdvcmsiLGZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuZGV0YWlsJiZlLmRldGFpbC5zdGF0ZTtpZih0PT09Imxvc3QiKXtuLmlzT25saW5lPSExO3RyeXtlaSgpfWNhdGNoe31yZXR1cm59aWYodD09PSJhdmFpbGFibGUifHx0PT09ImNoYW5nZWQifHx0PT09InZhbGlkYXRlZCIpe24uaXNPbmxpbmU9ITA7dHJ5e2VpKCl9Y2F0Y2h7fVVpKCJhbmRyb2lkLW5ldHdvcmstIit0KX19KSl9ZnVuY3Rpb24gS2QoKXtmZXRjaCgiL2FwaS9zZXNzaW9uLWNoZWNrIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/ZS5qc29uKCk6e2F1dGhlZDohMX19KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiFlfHwhZS5hdXRoZWQ/KG4ubG9naW5DaGVja2VkPSEwLEd0KCksbnVsbCk6ZmV0Y2goIi9hcGkvY29uZmlnIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIHQub2s/dC5qc29uKCk6KG4ubG9naW5DaGVja2VkPSEwLEd0KCksbnVsbCl9KX0pLnRoZW4oZnVuY3Rpb24oZSl7ZSYmKG4uY29uZmlnPWUsbi5sb2dpbkNoZWNrZWQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7dHJ5e0d0KHtza2lwU2hlbGxDaHJvbWU6ITB9KX1jYXRjaHt9VWQoKSxRdSgpLGp0KCksem8oKSxyZigpLGUudXBkYXRlQXZhaWxhYmxlJiZlLmxhdGVzdFZlcnNpb24mJkNzKGUuY3VycmVudFZlcnNpb258fCItIixlLmxhdGVzdFZlcnNpb24pLERuJiZRdigpLHJuJiYkdigpLG4uY2xhdWRlSGlzdG9yeUxvYWRlZHx8c2V0VGltZW91dChmdW5jdGlvbigpe24uY2xhdWRlSGlzdG9yeUxvYWRlZHx8S3IoKX0sNjAwKX0pKX0pLmNhdGNoKGZ1bmN0aW9uKCl7aWYobi5sb2dpbkNoZWNrZWQ9ITAsIW5hdmlnYXRvci5vbkxpbmUpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtlJiYoZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZyI+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLWNhcmQiPjxkaXYgY2xhc3M9ImJvb3QtbG9hZGluZy10ZXh0IiBzdHlsZT0iZm9udC1zaXplOjEuM2VtO21hcmdpbi1ib3R0b206MTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjhweCI+JytKKCJzaWduYWwiLHtzaXplOjIwLHN0cm9rZVdpZHRoOjEuOH0pKyc8c3Bhbj5cdTY1RTBcdTZDRDVcdThGREVcdTYzQTVcdTUyMzBcdTY3MERcdTUyQTFcdTU2Njg8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iYm9vdC1sb2FkaW5nLXRleHQiIHN0eWxlPSJvcGFjaXR5OjAuNztmb250LXNpemU6MC45NWVtIj5cdThCRjdcdTY4QzBcdTY3RTVcdTdGNTFcdTdFRENcdThGREVcdTYzQTVcdTYyMTZcdTc4NkVcdThCQTQgV2FuZCBcdTY3MERcdTUyQTFcdTZCNjNcdTU3MjhcdThGRDBcdTg4NENcdTMwMDI8L2Rpdj48YnV0dG9uIG9uY2xpY2s9ImxvY2F0aW9uLnJlbG9hZCgpIiBzdHlsZT0ibWFyZ2luLXRvcDoxOHB4O3BhZGRpbmc6OHB4IDI0cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE1MCwxMTgsODUsMC4zKTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MC45NWVtIj5cdTkxQ0RcdThCRDU8L2J1dHRvbj48L2Rpdj48L2Rpdj4nKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixmdW5jdGlvbigpe2xvY2F0aW9uLnJlbG9hZCgpfSx7b25jZTohMH0pO3JldHVybn1HdCgpfSl9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe2lmKCFQZSgpJiYhbi5zaWRlYmFyUGlubmVkJiYhbi5zaWRlYmFyQ29sbGFwc2VkJiZuLnNlc3Npb25zRHJhd2VyT3Blbil7dmFyIHQ9ZS50YXJnZXQ7IXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpfHx0LmNsb3Nlc3QoIiNzZXNzaW9ucy1kcmF3ZXIiKXx8dC5jbG9zZXN0KCIjc2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIpfHx0LmNsb3Nlc3QoIi5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSIpfHx0LmNsb3Nlc3QoIi5zaWRlYmFyLXRpbGUtYnViYmxlIil8fHQuY2xvc2VzdCgiLm1vZGFsLWJhY2tkcm9wLCAubW9kYWwtb3ZlcmxheSwgLm1vZGFsLWNvbnRhaW5lciwgW3JvbGU9J2RpYWxvZyddLCBbcm9sZT0nbWVudSddLCAudG9wYmFyLW1vcmUtbWVudSwgLnNpZGViYXItaGVhZGVyLW92ZXJmbG93LCAuZm9sZGVyLXBpY2tlci1kcm9wZG93biwgLnBhdGgtc3VnZ2VzdGlvbnMsIC5wZXJtaXNzaW9uLXByb21wdC1vdmVybGF5LCAucmVzdGFydC1vdmVybGF5Iil8fER2KCl9fSwhMCksemQoKSxLZCgpO2Z1bmN0aW9uIEd0KGUpe3ZhciB0PWUmJmUuc2tpcFNoZWxsQ2hyb21lLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpLGk9bi5jb25maWchPT1udWxsLGE9bi5tb2RhbE9wZW4sdT0haXx8ISFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7aWYodSYmcHIoKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibm8tdHJhbnNpdGlvbiIpLG4uc2lkZWJhclBpbm5lZCYmIW4uc2lkZWJhckNvbGxhcHNlZCYmIVBlKCkmJihuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSksci5pbm5lckhUTUw9aT9HZCgpOllkKCksQ3QoKSxXZCgpLHhyKCksaGkoKSxZbihIdCgpKSxiaSgpLHR8fEFyKCksaSYmbi5maWxlUGFuZWxPcGVuJiZNdCgpLGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9KSxhJiZuLm1vZGFsT3Blbil7dmFyIHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtpZihzKXtzLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKTtvJiYoby52YWx1ZT1uLmN3ZFZhbHVlKSxrcigpfX1pZihpJiZuLnNlbGVjdGVkSWQmJm4uZ2l0U3RhdHVzU2Vzc2lvbklkIT09bi5zZWxlY3RlZElkJiZFbihuLnNlbGVjdGVkSWQpLGkpe3ZhciBsPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihjKXtyZXR1cm4gYy5pZD09PW4uc2VsZWN0ZWRJZH0pO1hhKGwpfX1mdW5jdGlvbiBKZCgpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pLHQ9ZSYmZS5hcHByb3ZhbFN0YXRzO3JldHVybiF0fHx0LnRvdGFsPT09MD8nPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIGhpZGRlbiIgaWQ9ImFwcHJvdmFsLXN0YXRzIj48L3NwYW4+JzonPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzIiBpZD0iYXBwcm92YWwtc3RhdHMiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1kaXZpZGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWJhZGdlIiBpZD0iYXBwcm92YWwtc3RhdHMtYmFkZ2UiIHRpdGxlPSJcdTY3MkNcdTZCMjFcdTRGMUFcdThCRERcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTEiPjxzdmcgY2xhc3M9ImFwcHJvdmFsLXN0YXRzLWljb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHoiLz48L3N2Zz48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtdG90YWwiPicrdC50b3RhbCsnPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcG9wdXAiIGlkPSJhcHByb3ZhbC1zdGF0cy1wb3B1cCI+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXBvcHVwLXRpdGxlIj5cdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTdFREZcdThCQTE8L3NwYW4+JysodC5jb21tYW5kPjA/JzxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ciPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJ0ZXJtaW5hbCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0N0RcdTRFRTRcdTYyNjdcdTg4NEM8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LmNvbW1hbmQrIjwvc3Bhbj48L3NwYW4+IjoiIikrKHQuZmlsZT4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrSigiZWRpdCIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTY1ODdcdTRFRjZcdTUxOTlcdTUxNjU8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LmZpbGUrIjwvc3Bhbj48L3NwYW4+IjoiIikrKHQudG9vbD4wPyc8c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93Ij48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWljb24iPicrSigid3JlbmNoIix7c2l6ZToxMixzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWwiPlx1NTE3Nlx1NEVENlx1NURFNVx1NTE3Nzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWNvdW50Ij4nK3QudG9vbCsiPC9zcGFuPjwvc3Bhbj4iOiIiKSsnPHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdyBhcHByb3ZhbC1zdGF0cy1yb3ctdG90YWwiPjxzcGFuIGNsYXNzPSJhcHByb3ZhbC1zdGF0cy1yb3ctaWNvbiI+JytKKCJzaWdtYSIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS44fSkrJzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwcm92YWwtc3RhdHMtcm93LWxhYmVsIj5cdTU0MDhcdThCQTE8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudCI+Jyt0LnRvdGFsKyI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+In1mdW5jdGlvbiBZZCgpe3JldHVybiBuLmxvZ2luQ2hlY2tlZD8nPGRpdiBjbGFzcz0ibG9naW4tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJsb2dpbi1jYXJkIj48ZGl2IGNsYXNzPSJsb2dpbi1oZWFkZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28taWNvbiI+VzwvZGl2PjxzcGFuIGNsYXNzPSJsb2dpbi1sb2dvLXRleHQiPldhbmQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tc3VidGl0bGUiPlx1NTcyOFx1NkQ0Rlx1ODlDOFx1NTY2OFx1NEUyRFx1OEZEMFx1ODg0Q1x1NjcyQ1x1NjczQVx1N0VDOFx1N0FFRjwvZGl2PjwvZGl2Pjxmb3JtIGlkPSJsb2dpbi1mb3JtIiBjbGFzcz0ibG9naW4tYm9keSIgYXV0b2NvbXBsZXRlPSJvbiI+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InVzZXJuYW1lIiBhdXRvY29tcGxldGU9InVzZXJuYW1lIiB2YWx1ZT0id2FuZCIgdGFiaW5kZXg9Ii0xIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTk5OTlweDt3aWR0aDoxcHg7aGVpZ2h0OjFweDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZSIgcmVhZG9ubHkgLz48cCBjbGFzcz0ibG9naW4taGludCI+XHU4RjkzXHU1MTY1IFdhbmQgXHU4QkJGXHU5NUVFXHU1QkM2XHU3ODAxXHU0RUU1XHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwXHUzMDAyPC9wPjxkaXYgY2xhc3M9ImZpZWxkIj48bGFiZWwgY2xhc3M9ImZpZWxkLWxhYmVsIiBmb3I9InBhc3N3b3JkIj5cdTVCQzZcdTc4MDE8L2xhYmVsPjxkaXYgY2xhc3M9InBhc3N3b3JkLWZpZWxkIj48aW5wdXQgaWQ9InBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgY2xhc3M9ImZpZWxkLWlucHV0IHBhc3N3b3JkLWlucHV0IiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4QkJGXHU5NUVFXHU1QkM2XHU3ODAxIiBhdXRvY29tcGxldGU9ImN1cnJlbnQtcGFzc3dvcmQiIGRhdGEtZXJyb3I9ImZhbHNlIiBhcmlhLWRlc2NyaWJlZGJ5PSJwYXNzd29yZC1oaW50IGxvZ2luLWVycm9yIiBhcmlhLWludmFsaWQ9ImZhbHNlIiAvPjxidXR0b24gaWQ9InRvZ2dsZS1wYXNzd29yZC1idXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InBhc3N3b3JkLXRvZ2dsZSIgYXJpYS1sYWJlbD0iXHU2NjNFXHU3OTNBXHU1QkM2XHU3ODAxIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj5cdTY2M0VcdTc5M0E8L2J1dHRvbj48L2Rpdj48cCBpZD0icGFzc3dvcmQtaGludCIgY2xhc3M9ImhpbnQiPlx1NEY3Rlx1NzUyOFx1NEY2MFx1NTcyOCBXYW5kIFx1NEUyRFx1OEJCRVx1N0Y2RVx1NzY4NFx1OEJCRlx1OTVFRVx1NUJDNlx1NzgwMVx1MzAwMjwvcD48cCBpZD0ibG9naW4tZXJyb3IiIGNsYXNzPSJlcnJvci1tZXNzYWdlIGhpZGRlbiIgcm9sZT0iYWxlcnQiPjwvcD48L2Rpdj48YnV0dG9uIGlkPSJsb2dpbi1idXR0b24iIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tYmxvY2siPlx1OEZEQlx1NTE2NVx1NjNBN1x1NTIzNlx1NTNGMDwvYnV0dG9uPicrKGphKCk/JzxidXR0b24gaWQ9ImxvZ2luLXN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tYmxvY2sgbG9naW4tc3dpdGNoLXNlcnZlciIgdHlwZT0iYnV0dG9uIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxyZWN0IHg9IjIiIHk9IjEzIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiLz48bGluZSB4MT0iNiIgeTE9IjciIHgyPSI2LjAxIiB5Mj0iNyIvPjxsaW5lIHgxPSI2IiB5MT0iMTciIHgyPSI2LjAxIiB5Mj0iMTciLz48L3N2Zz48c3Bhbj5cdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2Njg8L3NwYW4+PC9idXR0b24+JzoiIikrIjwvZm9ybT48L2Rpdj48L2Rpdj4iOic8ZGl2IGNsYXNzPSJsb2dpbi1jb250YWluZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWNhcmQgbG9naW4tY2FyZC1sb2FkaW5nIj48ZGl2IGNsYXNzPSJsb2dpbi1oZWFkZXIiPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28iPjxkaXYgY2xhc3M9ImxvZ2luLWxvZ28taWNvbiI+VzwvZGl2PjxzcGFuIGNsYXNzPSJsb2dpbi1sb2dvLXRleHQiPldhbmQ8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ibG9naW4tc3VidGl0bGUiPlx1NkI2M1x1NTcyOFx1NjA2Mlx1NTkwRFx1NzY3Qlx1NUY1NVx1NzJCNlx1NjAwMTwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImxvZ2luLWJvZHkiPjxkaXYgY2xhc3M9ImxvZ2luLXN0YXR1cyI+PHNwYW4gY2xhc3M9ImxvZ2luLXNwaW5uZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PGRpdj48cCBjbGFzcz0ibG9naW4taGludCI+XHU2QjYzXHU1NzI4XHU2OEMwXHU2N0U1XHU2NzJDXHU1NzMwXHU3NjdCXHU1RjU1XHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3QTBEXHU1MDE5XHUzMDAyPC9wPjxwIGNsYXNzPSJsb2dpbi1tdXRlZCI+XHU1OTgyXHU2NzlDXHU0RjYwXHU1MjFBXHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHVGRjBDXHU4RkQ5XHU2NjJGXHU2QjYzXHU1RTM4XHU3M0IwXHU4QzYxXHUzMDAyPC9wPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pid9ZnVuY3Rpb24gR2QoKXt2YXIgZT0iPFwvc2NyaXB0PiIsdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIuaWQ9PT1uLnNlbGVjdGVkSWR9KSxyPXQ/Z2kodC5jb21tYW5kKToiXHU2NzJBXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREIixpPXQ/dC5tb2RlKyIgfCAiK3Quc3RhdHVzOiJcdTcwQjlcdTUxRkJcdTRFMEFcdTY1QjlcdTMwMENcdTY1QjBcdTVCRjlcdThCRERcdTMwMERcdTVGMDBcdTU5Q0IiLGE9bi5zZWxlY3RlZElkJiZuLmRyYWZ0c1tuLnNlbGVjdGVkSWRdfHwiIix1PW4uc2Vzc2lvbnNEcmF3ZXJPcGVuPyIgb3BlbiI6IiIscz1wdSgpPyIgb3BlbiI6IiIsbz1jdigpLGw9TnQobyxuLmNoYXRNb2RlKSxjPVBlKCksZD0hIW4uc2lkZWJhclBpbm5lZCYmISFuLnNpZGViYXJDb2xsYXBzZWQsZj1kfHwhYyYmKCEhbi5zaWRlYmFyUGlubmVkfHwhIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx2PWQ/IiBzaWRlYmFyLWNvbGxhcHNlZCI6IiIsbT1kPyIgY29sbGFwc2VkIjoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iYXBwLWNvbnRhaW5lciI+PGRpdiBpZD0ic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIiBjbGFzcz0iZHJhd2VyLWJhY2tkcm9wJytzKyciPjwvZGl2PjxkaXYgY2xhc3M9Im1haW4tbGF5b3V0Jysobi5zZXNzaW9uc0RyYXdlck9wZW4/IiBzaWRlYmFyLW9wZW4iOiIiKSsoZj8iIHNpZGViYXItcGlubmVkIjoiIikrdisnIj48YXNpZGUgaWQ9InNlc3Npb25zLWRyYXdlciIgY2xhc3M9InNpZGViYXInK3UrKGY/IiBwaW5uZWQiOiIiKSttKyciPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyIj48ZGl2IGNsYXNzPSJzaWRlYmFyLWhlYWRlci1tYWluIj48ZGl2IGNsYXNzPSJ0b3BiYXItbG9nby1pY29uIj5XPC9kaXY+PHNwYW4gY2xhc3M9InNpZGViYXItdGl0bGUiPlx1NEYxQVx1OEJERDwvc3Bhbj48c3BhbiBjbGFzcz0ic2Vzc2lvbi1jb3VudCIgaWQ9InNlc3Npb24tY291bnQiPicrU3RyaW5nKG4uc2Vzc2lvbnMubGVuZ3RoKSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLWFjdGlvbnMiPjxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyLW1vcmUiPjxidXR0b24gaWQ9InNpZGViYXItbW9yZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNSIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMS41Ii8+PC9zdmc+PC9idXR0b24+PGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXItb3ZlcmZsb3ciIGlkPSJzaWRlYmFyLW92ZXJmbG93LW1lbnUiPjxidXR0b24gY2xhc3M9Im92ZXJmbG93LWl0ZW0iIGlkPSJzaWRlYmFyLWhvbWUtYnRuIiB0eXBlPSJidXR0b24iPjxzdmcgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgOWw5LTcgOSA3djExYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiIvPjxwb2x5bGluZSBwb2ludHM9IjkgMjIgOSAxMiAxNSAxMiAxNSAyMiIvPjwvc3ZnPjxzcGFuPlx1NTZERVx1NTIzMFx1OTk5Nlx1OTg3NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJvdmVyZmxvdy1pdGVtIiBpZD0ic2lkZWJhci1yZWZyZXNoLWJ0biIgdHlwZT0iYnV0dG9uIj48c3ZnIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjIzIDQgMjMgMTAgMTcgMTAiLz48cGF0aCBkPSJNMjAuNDkgMTVhOSA5IDAgMSAxLTIuMTItOS4zNkwyMyAxMCIvPjwvc3ZnPjxzcGFuPlx1NTIzN1x1NjVCMFx1OTg3NVx1OTc2Mjwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Rpdj48YnV0dG9uIGlkPSJzaWRlYmFyLXBpbi1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbSBzaWRlYmFyLXBpbi10b2dnbGUnKyhuLnNpZGViYXJQaW5uZWQ/IiBwaW5uZWQiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSInKyhuLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIpKyciIGFyaWEtbGFiZWw9IicrKG4uc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIikrJyIgYXJpYS1wcmVzc2VkPSInKyhuLnNpZGViYXJQaW5uZWQ/InRydWUiOiJmYWxzZSIpKyciPjxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSIxMiIgeTE9IjE3IiB4Mj0iMTIiIHkyPSIyMiIvPjxwYXRoIGQ9Ik01IDE3aDE0di0xLjc2YTIgMiAwIDAgMC0xLjExLTEuNzlsLTEuNzgtLjlBMiAyIDAgMCAxIDE1IDEwLjc2VjZoMWEyIDIgMCAwIDAgMC00SDhhMiAyIDAgMCAwIDAgNGgxdjQuNzZhMiAyIDAgMCAxLTEuMTEgMS43OWwtMS43OC45QTIgMiAwIDAgMCA1IDE1LjI0eiIvPjwvc3ZnPjwvYnV0dG9uPjxidXR0b24gaWQ9InNpZGViYXItY29sbGFwc2UtYnRuIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1jb2xsYXBzZS10b2dnbGUnKyhkPyIgY29sbGFwc2VkIjoiIikrJyIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iJysoZD8iXHU1QzU1XHU1RjAwXHU0RTNBXHU1MTY4XHU1QzNBXHU1QkY4IjoiXHU2NTM2XHU4RDc3XHU0RTNBXHU3QTg0XHU2NzYxIikrJyIgYXJpYS1sYWJlbD0iJysoZD8iXHU1QzU1XHU1RjAwXHU0RTNBXHU1MTY4XHU1QzNBXHU1QkY4IjoiXHU2NTM2XHU4RDc3XHU0RTNBXHU3QTg0XHU2NzYxIikrJyI+JysoZD8nPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxMCA2IDE2IDEyIDEwIDE4Ii8+PGxpbmUgeDE9IjIwIiB5MT0iNSIgeDI9IjIwIiB5Mj0iMTkiLz48L3N2Zz4nOic8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwb2x5bGluZSBwb2ludHM9IjE0IDYgOCAxMiAxNCAxOCIvPjxsaW5lIHgxPSI0IiB5MT0iNSIgeDI9IjQiIHkyPSIxOSIvPjwvc3ZnPicpKyc8L2J1dHRvbj48YnV0dG9uIGlkPSJjbG9zZS1kcmF3ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBzaWRlYmFyLWNsb3NlIGRyYXdlci1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU4M0RDXHU1MzU1Ij48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1ib2R5Ij48ZGl2IGlkPSJzZXNzaW9ucy1wYW5lbCI+PGRpdiBjbGFzcz0ic2Vzc2lvbnMtbGlzdCIgaWQ9InNlc3Npb25zLWxpc3QiPicrV2koKSsnPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic2lkZWJhci1mb290ZXIiPjxidXR0b24gaWQ9ImRyYXdlci1uZXctc2Vzc2lvbi1idXR0b24iIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLWJsb2NrIj48c3Bhbj4rPC9zcGFuPiBcdTY1QjBcdTRGMUFcdThCREQ8L2J1dHRvbj48ZGl2IGNsYXNzPSJzaWRlYmFyLWZvb3Rlci1hY3Rpb25zIj48YnV0dG9uIGlkPSJmaWxlLXBhbmVsLXRvZ2dsZS1idG4iIGNsYXNzPSJidG4gYnRuLWdob3N0IGJ0bi1zbScrKG4uZmlsZVBhbmVsT3Blbj8iIGFjdGl2ZSI6IiIpKyciIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNiI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48c3Bhbj5cdTY1ODdcdTRFRjY8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2V0dGluZ3MtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20iIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1OEJCRVx1N0Y2RSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+PHBhdGggZD0iTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEtMi44MyAyLjgzbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS00IDB2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMtMi44M2wuMDYtLjA2QTEuNjUgMS42NSAwIDAgMCA0LjY4IDE1YTEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEgMC00aC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAyLjgzLTIuODNsLjA2LjA2QTEuNjUgMS42NSAwIDAgMCA5IDQuNjhhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSA0IDB2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMi44M2wtLjA2LjA2QTEuNjUgMS42NSAwIDAgMCAxOS40IDlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMCA0aC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXoiLz48L3N2Zz48c3Bhbj5cdThCQkVcdTdGNkU8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiBpZD0icHdhLWluc3RhbGwtYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gaGlkZGVuIiB0aXRsZT0iXHU1Qjg5XHU4OEM1XHU1RTk0XHU3NTI4Ij48c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+PHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCIvPjxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+PC9zdmc+PHNwYW4+XHU1Qjg5XHU4OEM1PC9zcGFuPjwvYnV0dG9uPicrKGphKCk/JzxidXR0b24gaWQ9InN3aXRjaC1zZXJ2ZXItYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4tc20gc2lkZWJhci1zd2l0Y2gtc2VydmVyIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMDdcdTYzNjJcdTY3MERcdTUyQTFcdTU2NjgiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iMiIgeT0iMyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIi8+PHJlY3QgeD0iMiIgeT0iMTMiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIvPjxsaW5lIHgxPSI2IiB5MT0iNyIgeDI9IjYuMDEiIHkyPSI3Ii8+PGxpbmUgeDE9IjYiIHkxPSIxNyIgeDI9IjYuMDEiIHkyPSIxNyIvPjwvc3ZnPjxzcGFuPlx1NTIwN1x1NjM2Mjwvc3Bhbj48L2J1dHRvbj4nOiIiKSsnPGJ1dHRvbiBpZD0ibG9nb3V0LWJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tZ2hvc3QgYnRuLXNtIHNpZGViYXItbG9nb3V0IiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTkwMDBcdTUxRkFcdTc2N0JcdTVGNTUiPjxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0Ii8+PHBvbHlsaW5lIHBvaW50cz0iMTYgMTcgMjEgMTIgMTYgNyIvPjxsaW5lIHgxPSIyMSIgeTE9IjEyIiB4Mj0iOSIgeTI9IjEyIi8+PC9zdmc+PHNwYW4+XHU5MDAwXHU1MUZBPC9zcGFuPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvYXNpZGU+PG1haW4gY2xhc3M9Im1haW4tY29udGVudCI+PGRpdiBjbGFzcz0ibWFpbi1oZWFkZXItcm93Ij48ZGl2IGNsYXNzPSJ0b3BiYXItbGVmdCI+PGJ1dHRvbiBpZD0ic2Vzc2lvbnMtdG9nZ2xlLWJ1dHRvbiIgY2xhc3M9ImZsb2F0aW5nLXNpZGViYXItdG9nZ2xlJysobi5zZXNzaW9uc0RyYXdlck9wZW4/IiBhY3RpdmUiOiIiKSsnIiBhcmlhLWxhYmVsPSJcdTUyMDdcdTYzNjJcdTRGMUFcdThCRERcdTRGQTdcdTY4MEYiIHR5cGU9ImJ1dHRvbiI+PHNwYW4gY2xhc3M9ImhhbWJ1cmdlci1pY29uIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+PHNwYW4gY2xhc3M9InRvcGJhci1icmFuZCIgYXJpYS1oaWRkZW49InRydWUiPlc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9wYmFyLWNlbnRlciI+JysodD8nPHNwYW4gY2xhc3M9InRvcGJhci1zZXNzaW9uLXRpdGxlIiB0aXRsZT0iJytwKHQuY29tbWFuZHx8IiIpKyciPicrcChnaSh0LmNvbW1hbmQpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy1waWxsICcrX3UodCkrJyIgdGl0bGU9IicrcChvcih0KSkrJyI+PHNwYW4gY2xhc3M9InNlc3Npb24tc3RhdHVzLWRvdCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzZXNzaW9uLXN0YXR1cy10ZXh0Ij4nK3Aob3IodCkpKyc8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JysodC5jd2Q/JzxzcGFuIGNsYXNzPSJ0b3BiYXItY3dkIiBpZD0idG9wYmFyLWN3ZCIgdGl0bGU9IicrcCh0LmN3ZCkrJyIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+JytwKHQuY3dkKSsiPC9zcGFuPiI6IiIpOic8c3BhbiBjbGFzcz0idG9wYmFyLXRhZ2xpbmUiPldhbmQgXHU2M0E3XHU1MjM2XHU1M0YwPC9zcGFuPjxzcGFuIGNsYXNzPSJjdXJyZW50LXRhc2sgaGlkZGVuIiBpZD0iY3VycmVudC10YXNrIj48L3NwYW4+JykrJzwvZGl2PjxkaXYgY2xhc3M9InRvcGJhci1yaWdodCI+PGJ1dHRvbiBpZD0idG9wYmFyLWZpbGUtYnV0dG9uIiBjbGFzcz0idG9wYmFyLWJ0biBzcXVhcmUnKyhuLmZpbGVQYW5lbE9wZW4/IiBhY3RpdmUiOiIiKSsnIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NjU4N1x1NEVGNiIgdGl0bGU9Ilx1NjdFNVx1NzcwQlx1NjU4N1x1NEVGNlx1RkYwOFx1NTNFRlx1NEZFRVx1NjUzOVx1OERFRlx1NUY4NFx1RkYwOSI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz48L3N2Zz48L2J1dHRvbj48c3BhbiBpZD0idG9wYmFyLWdpdC1zbG90IiBjbGFzcz0idG9wYmFyLWdpdC1zbG90Ij4nK1R1KCkrIjwvc3Bhbj4iKyh0P25jKHQpOiIiKSsnPC9kaXY+PC9kaXY+PGRpdiBpZD0iZmlsZS1wYW5lbC1iYWNrZHJvcCIgY2xhc3M9ImZpbGUtcGFuZWwtYmFja2Ryb3AnKyhuLmZpbGVQYW5lbE9wZW4/IiBvcGVuIjoiIikrJyI+PC9kaXY+PGRpdiBpZD0iZmlsZS1zaWRlLXBhbmVsIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsJysobi5maWxlUGFuZWxPcGVuPyIgb3BlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1oZWFkZXIiPjxkaXYgY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cCI+PHNwYW4gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uIj4nK0xlKCJmb2xkZXItb3BlbiIse3NpemU6MTZ9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtdGl0bGUiPlx1NjU4N1x1NEVGNjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtaGVhZGVyLWFjdGlvbnMiPjxidXR0b24gY2xhc3M9ImZpbGUtc2lkZS1wYW5lbC1pY29uYnRuIiBpZD0iZmlsZS1leHBsb3Jlci1yZWZyZXNoIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjAiIGFyaWEtbGFiZWw9Ilx1NTIzN1x1NjVCMFx1NjU4N1x1NEVGNlx1NTIxN1x1ODg2OCI+JytMZSgicmVmcmVzaCIse3NpemU6MTV9KSsnPC9idXR0b24+PGJ1dHRvbiBpZD0iZmlsZS1zaWRlLXBhbmVsLWNsb3NlIiBjbGFzcz0iZmlsZS1zaWRlLXBhbmVsLWljb25idG4gY2xvc2UiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEXHU2NTg3XHU0RUY2XHU5NzYyXHU2NzdGIiB0aXRsZT0iXHU1MTczXHU5NUVEIj4nK0xlKCJ4Iix7c2l6ZToxNn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNpZGUtcGFuZWwtYm9keSI+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3Jlci1oZWFkZXIiPjxidXR0b24gY2xhc3M9ImZpbGUtZXhwbG9yZXItdXAiIGlkPSJmaWxlLWV4cGxvcmVyLXVwIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdThGRDRcdTU2REVcdTRFMEFcdTdFQTdcdTc2RUVcdTVGNTUiIGFyaWEtbGFiZWw9Ilx1OEZENFx1NTZERVx1NEUwQVx1N0VBN1x1NzZFRVx1NUY1NSI+JytMZSgiYXJyb3ctdXAiLHtzaXplOjE1fSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZmlsZS1leHBsb3Jlci1wYXRoIiBpZD0iZmlsZS1leHBsb3Jlci1jd2QiIHZhbHVlPSInK3AodCYmdC5jd2Q/dC5jd2Q6ZW4oKSkrJyIgdGl0bGU9IicrcCh0JiZ0LmN3ZD90LmN3ZDplbigpKSsnIiBwbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU4REVGXHU1Rjg0XHU1RTc2XHU1NkRFXHU4RjY2Li4uIiBzcGVsbGNoZWNrPSJmYWxzZSIgYXV0b2NvbXBsZXRlPSJvZmYiIGF1dG9jYXBpdGFsaXplPSJvZmYiIGF1dG9jb3JyZWN0PSJvZmYiIGFyaWEtbGFiZWw9Ilx1NUY1M1x1NTI0RFx1OERFRlx1NUY4NFx1RkYwQ1x1NTNFRlx1NzZGNFx1NjNBNVx1NEZFRVx1NjUzOVx1NTQwRVx1NTZERVx1OEY2NiIgLz48L2Rpdj48ZGl2IGNsYXNzPSJmaWxlLXNlYXJjaC1ib3giPjxzcGFuIGNsYXNzPSJmaWxlLXNlYXJjaC1pY29uIj4nK0xlKCJzZWFyY2giLHtzaXplOjE0fSkrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgaWQ9ImZpbGUtc2VhcmNoLWlucHV0IiBjbGFzcz0iZmlsZS1zZWFyY2gtaW5wdXQiIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTVGNTNcdTUyNERcdTc2RUVcdTVGNTVcdTIwMjYiIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48YnV0dG9uIGNsYXNzPSJmaWxlLXNlYXJjaC1jbGVhciIgaWQ9ImZpbGUtc2VhcmNoLWNsZWFyIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9Ilx1NkUwNVx1OTY2NFx1NjQxQ1x1N0QyMiIgdGl0bGU9Ilx1NkUwNVx1OTY2NCI+JytMZSgieCIse3NpemU6MTN9KSsnPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZmlsZS1leHBsb3JlciIgaWQ9ImZpbGUtZXhwbG9yZXIiPicrTmwodCYmdC5jd2Q/dC5jd2Q6ZW4oKSkrJzwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgaWQ9Im91dHB1dCIgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lcicrKG4uc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKycgYWN0aXZlIj48ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5IiBhcmlhLWxhYmVsPSJcdTdFQzhcdTdBRUZcdTdGMjlcdTY1M0VcdTYzQTdcdTRFRjYiPjxidXR0b24gaWQ9InRlcm1pbmFsLXNjYWxlLWRvd24tdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTdGMjlcdTVDMEYiPlx1MjIxMjwvYnV0dG9uPjxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVsIHRlcm1pbmFsLXNjYWxlLWxhYmVsIiBpZD0idGVybWluYWwtc2NhbGUtbGFiZWwtdG9wIj4nK01hdGgucm91bmQobi50ZXJtaW5hbFNjYWxlKjEwMCkrJyU8L3NwYW4+PGJ1dHRvbiBpZD0idGVybWluYWwtc2NhbGUtdXAtdG9wIiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG4gdGVybWluYWwtc2NhbGUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY1M0VcdTU5MjciPis8L2J1dHRvbj48c3BhbiBjbGFzcz0idGVybWluYWwtc2NhbGUtb3ZlcmxheS1kaXZpZGVyIj48L3NwYW4+PGJ1dHRvbiBpZD0icGFnZS1yZWZyZXNoLWJ0biIgY2xhc3M9InRlcm1pbmFsLXNjYWxlLW92ZXJsYXktYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjIiPlx1MjFCQjwvYnV0dG9uPjwvZGl2PjxidXR0b24gaWQ9InRlcm1pbmFsLWp1bXAtYm90dG9tIiBjbGFzcz0idGVybWluYWwtanVtcC1ib3R0b20nKyhuLnNob3dUZXJtaW5hbEp1bXBUb0JvdHRvbT8iIHZpc2libGUiOiIiKSsnIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTVFOTVcdTkwRTgiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NUU5NVx1OTBFOCI+PHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTggMy41djlNMy41IDhsNC41IDQuNUwxMi41IDgiLz48L3N2Zz48L2J1dHRvbj48L2Rpdj48ZGl2IGlkPSJjaGF0LW91dHB1dCIgY2xhc3M9ImNoYXQtY29udGFpbmVyIGhpZGRlbiI+PGJ1dHRvbiBpZD0iY2hhdC11bnJlYWQtYnViYmxlIiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTU2REVcdTUyMzBcdTY3MDBcdTY1QjBcdTZEODhcdTYwNkYiIGFyaWEtbGFiZWw9Ilx1NTZERVx1NTIzMFx1NjcwMFx1NjVCMFx1NkQ4OFx1NjA2RiI+PHNwYW4gY2xhc3M9ImNoYXQtdW5yZWFkLWJ1YmJsZS1pY29uIj48c3ZnIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAzLjV2OU0zLjUgOGw0LjUgNC41TDEyLjUgOCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0iY2hhdC11bnJlYWQtYnViYmxlLWNvdW50IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvYnV0dG9uPjxkaXYgaWQ9InF1ZXVlLWJhci1ob3N0IiBjbGFzcz0icXVldWUtYmFyLWhvc3QiIGhpZGRlbj48L2Rpdj48L2Rpdj48ZGl2IGlkPSJibGFuay1jaGF0IiBjbGFzcz0iYmxhbmstY2hhdCcrKG4uc2VsZWN0ZWRJZD8iIGhpZGRlbiI6IiIpKyciPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtaW5uZXIiPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtbG9nbyI+VzwvZGl2PjxoMiBjbGFzcz0iYmxhbmstY2hhdC10aXRsZSI+V2FuZDwvaDI+PHAgY2xhc3M9ImJsYW5rLWNoYXQtc3VidGl0bGUiPlx1NjUyRlx1NjMwMVx1N0VDOFx1N0FFRiBQVFkgXHU0RjFBXHU4QkREXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2IGNoYXQgXHU0RjFBXHU4QkREXHVGRjBDXHU0RTI0XHU3OUNEXHU2QTIxXHU1RjBGXHU1M0VGXHU1RTc2XHU1QjU4XHUzMDAyPC9wPjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtdG9vbHMiPjxidXR0b24gY2xhc3M9ImJsYW5rLWNoYXQtdG9vbC1idG4iIGlkPSJ3ZWxjb21lLXRvb2wtY2xhdWRlIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ0b29sLWljb24iPicrSigidGVybWluYWwiLHtzaXplOjE2LHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+XHU2NUIwXHU1RUZBXHU3RUM4XHU3QUVGXHU0RjFBXHU4QkREPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0iYmxhbmstY2hhdC10b29sLWJ0biIgaWQ9IndlbGNvbWUtdG9vbC1jb2RleCIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIHRvb2wtaWNvbi10ZXh0Ij5cdTIzMTg8L3NwYW4+XHU2NUIwXHU1RUZBIENvZGV4IFx1NEYxQVx1OEJERDwvYnV0dG9uPjxidXR0b24gY2xhc3M9ImJsYW5rLWNoYXQtdG9vbC1idG4iIGlkPSJ3ZWxjb21lLXRvb2wtc3RydWN0dXJlZCIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idG9vbC1pY29uIj4nK0ooImNoYXQiLHtzaXplOjE2LHN0cm9rZVdpZHRoOjEuOH0pKyc8L3NwYW4+XHU2NUIwXHU1RUZBXHU3RUQzXHU2Nzg0XHU1MzE2XHU0RjFBXHU4QkREPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2Qtd3JhcCI+PGRpdiBjbGFzcz0iYmxhbmstY2hhdC1jd2QiIGlkPSJibGFuay1jaGF0LWN3ZCIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCIgdGl0bGU9Ilx1NzBCOVx1NTFGQlx1NTIwN1x1NjM2Mlx1NURFNVx1NEY1Q1x1NzZFRVx1NUY1NSI+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWljb24iPicrSigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjh9KSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1wYXRoIiBpZD0iYmxhbmstY2hhdC1jd2QtcGF0aCI+JytwKEplKCkpKyc8L3NwYW4+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWFycm93IiBpZD0iYmxhbmstY2hhdC1jd2QtYXJyb3ciPicrSigiY2hldnJvbkRvd24iLHtzaXplOjExLHN0cm9rZVdpZHRoOjJ9KSsnPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIGhpZGRlbiIgaWQ9ImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJpbnB1dC1wYW5lbCcrKG4uc2VsZWN0ZWRJZD8iIjoiIGhpZGRlbiIpKyciPjxkaXYgY2xhc3M9ImNvbXBvc2VyLXRvcC1yb3ciPjxkaXYgaWQ9InRvZG8tcHJvZ3Jlc3MiIGNsYXNzPSJ0b2RvLXByb2dyZXNzIGhpZGRlbiI+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1oZWFkZXIiIGlkPSJ0b2RvLXByb2dyZXNzLXRvZ2dsZSI+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1sZWZ0Ij48c3BhbiBjbGFzcz0idG9kby1wcm9ncmVzcy1yaW5nIiBpZD0idG9kby1wcm9ncmVzcy1yaW5nIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9Ii0tcHJvZ3Jlc3M6MCI+PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAzNiAzNiI+PGNpcmNsZSBjbGFzcz0idG9kby1yaW5nLXRyYWNrIiBjeD0iMTgiIGN5PSIxOCIgcj0iMTUuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI0Ii8+PGNpcmNsZSBjbGFzcz0idG9kby1yaW5nLWZpbGwiIGN4PSIxOCIgY3k9IjE4IiByPSIxNS41IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPjwvc3Bhbj48c3BhbiBjbGFzcz0idG9kby1wcm9ncmVzcy1jb3VudGVyIiBpZD0idG9kby1wcm9ncmVzcy1jb3VudGVyIj48L3NwYW4+PHNwYW4gY2xhc3M9InRvZG8tcHJvZ3Jlc3MtdGFzayIgaWQ9InRvZG8tcHJvZ3Jlc3MtdGFzayI+PC9zcGFuPjwvZGl2PjxzdmcgY2xhc3M9InRvZG8tcHJvZ3Jlc3MtY2hldnJvbiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iNiAxNSAxMiA5IDE4IDE1Ii8+PC9zdmc+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idG9kby1wcm9ncmVzcy1ib2R5IGhpZGRlbiIgaWQ9InRvZG8tcHJvZ3Jlc3MtYm9keSI+PHVsIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWxpc3QiIGlkPSJ0b2RvLXByb2dyZXNzLWxpc3QiPjwvdWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iaW5wdXQtY29tcG9zZXInKyhhPyIgaGFzLXRleHQiOiIiKSsnIj48ZGl2IGNsYXNzPSJjb21wb3Nlci1zdGF0dXMtcm93IiBpZD0iY29tcG9zZXItc3RhdHVzLXJvdyI+Jytodih0KSsnPHNwYW4gY2xhc3M9InBlcm1pc3Npb24tYWN0aW9ucyBoaWRkZW4iIGlkPSJwZXJtaXNzaW9uLWFjdGlvbnMiPjxzcGFuIGNsYXNzPSJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiIGlkPSJwZXJtaXNzaW9uLWFjdGlvbnMtbGFiZWwiPlx1N0I0OVx1NUY4NVx1NjM4OFx1Njc0Mzwvc3Bhbj48YnV0dG9uIGlkPSJhcHByb3ZlLXBlcm1pc3Npb24tYnRuIiBjbGFzcz0iYnRuIGJ0bi1wZXJtaXNzaW9uIGJ0bi1wZXJtaXNzaW9uLWFwcHJvdmUiIHR5cGU9ImJ1dHRvbiI+XHU2Mjc5XHU1MUM2PC9idXR0b24+PGJ1dHRvbiBpZD0iZGVueS1wZXJtaXNzaW9uLWJ0biIgY2xhc3M9ImJ0biBidG4tcGVybWlzc2lvbiBidG4tcGVybWlzc2lvbi1kZW55IiB0eXBlPSJidXR0b24iPlx1NjJEMlx1N0VERDwvYnV0dG9uPjwvc3Bhbj4nK0pkKCkrJzwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLW1haW4tcm93Ij48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLWxlZnQiPjxidXR0b24gaWQ9ImF0dGFjaC1idG4iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtYWN0aW9uIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTY2RjRcdTU5MUEiIGFyaWEtbGFiZWw9Ilx1NjZGNFx1NTkxQSIgYXJpYS1oYXNwb3B1cD0ibWVudSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPicrSigicGx1cyIse3NpemU6MTgsc3Ryb2tlV2lkdGg6Mi4yfSkrJzwvYnV0dG9uPjxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZS11cGxvYWQtaW5wdXQiIG11bHRpcGxlIHRhYmluZGV4PSItMSIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmUiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbXBvc2VyLWlucHV0LXdyYXAiPjx0ZXh0YXJlYSBpZD0iaW5wdXQtYm94IiBjbGFzcz0iaW5wdXQtdGV4dGFyZWEiIHBsYWNlaG9sZGVyPSInK0xvKHQsbi50ZXJtaW5hbEludGVyYWN0aXZlKSsnIiByb3dzPSIxIiBhdXRvY29tcGxldGU9Im9mZiIgYXV0b2NvcnJlY3Q9Im9mZiIgYXV0b2NhcGl0YWxpemU9Im9mZiIgc3BlbGxjaGVjaz0iZmFsc2UiIGVudGVya2V5aGludD0ic2VuZCI+JytwKGEpKyc8L3RleHRhcmVhPjxidXR0b24gaWQ9InByb21wdC1vcHRpbWl6ZS1idG4iIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtYnRuIiB0eXBlPSJidXR0b24iIHRpdGxlPSJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdUZGMDhBSVx1RkYwOSIgYXJpYS1sYWJlbD0iXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2Ij48c3ZnIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtaWNvbiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4yNSIvPjxwYXRoIGQ9Ik0xMiAzbDEuNiA0LjRMMTggOWwtNC40IDEuNkwxMiAxNWwtMS42LTQuNEw2IDlsNC40LTEuNnoiLz48cGF0aCBkPSJNMTkgMTRsLjcgMS45TDIxLjYgMTdsLTEuOS43TDE5IDE5LjZsLS43LTEuOUwxNi40IDE3bDEuOS0uN3oiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjxwYXRoIGQ9Ik01IDRsLjUgMS40TDcgNmwtMS41LjZMNSA4bC0uNS0xLjRMMyA2bDEuNS0uNnoiIGZpbGw9ImN1cnJlbnRDb2xvciIgb3BhY2l0eT0iMC4zNSIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJwcm9tcHQtb3B0aW1pemUtc3Bpbm5lciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2J1dHRvbj48ZGl2IGNsYXNzPSJ2b2ljZS1pbnB1dC1tb2RlIGhpZGRlbiIgaWQ9InZvaWNlLWlucHV0LW1vZGUiPjxidXR0b24gaWQ9InZvaWNlLXJlY29yZC1idG4iIGNsYXNzPSJ2b2ljZS1yZWNvcmQtYnRuIiB0eXBlPSJidXR0b24iPjxzcGFuIGNsYXNzPSJ2b2ljZS1yZWNvcmQtcHVsc2UiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PHNwYW4gY2xhc3M9InZvaWNlLXJlY29yZC1sYWJlbCI+XHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERDwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGlkPSJ2b2ljZS1jYW5jZWwtYnRuIiBjbGFzcz0idm9pY2UtY2FuY2VsLWJ0biIgdHlwZT0iYnV0dG9uIiB0aXRsZT0iXHU5MDAwXHU1MUZBXHU4QkVEXHU5N0YzXHU2QTIxXHU1RjBGIiBhcmlhLWxhYmVsPSJcdTkwMDBcdTUxRkFcdThCRURcdTk3RjNcdTZBMjFcdTVGMEYiPicrSigieCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6Mn0pKyc8L2J1dHRvbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb21wb3Nlci1hY3Rpb25zLXJpZ2h0Ij48YnV0dG9uIGlkPSJzdG9wLWJ1dHRvbiIgY2xhc3M9ImJ0bi1jaXJjbGUgYnRuLWNpcmNsZS1zdG9wIGhpZGRlbiIgdGl0bGU9Ilx1NTA1Q1x1NkI2MiI+PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIi8+PC9zdmc+PC9idXR0b24+PGJ1dHRvbiBpZD0ic2VuZC1pbnB1dC1idXR0b24iIGNsYXNzPSJidG4tY2lyY2xlIGJ0bi1jaXJjbGUtc2VuZCIgdGl0bGU9Ilx1NTNEMVx1OTAwMSI+PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIyMiIgeTE9IjIiIHgyPSIxMSIgeTI9IjEzIi8+PHBvbHlnb24gcG9pbnRzPSIyMiAyIDE1IDIyIDExIDEzIDIgOSAyMiAyIi8+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PGRpdiBpZD0iYXR0YWNobWVudC1wcmV2aWV3IiBjbGFzcz0iYXR0YWNobWVudC1wcmV2aWV3IGhpZGRlbiI+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iY29tcG9zZXItcGx1cy1wb3BvdmVyIGhpZGRlbiIgaWQ9ImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIgcm9sZT0ibWVudSIgYXJpYS1sYWJlbD0iXHU2NkY0XHU1OTFBXHU2NENEXHU0RjVDIj48YnV0dG9uIGNsYXNzPSJwbHVzLXBvcG92ZXItaXRlbSIgaWQ9InBsdXMtYXR0YWNoLWl0ZW0iIHR5cGU9ImJ1dHRvbiIgcm9sZT0ibWVudWl0ZW0iPicrSigicGFwZXJjbGlwIix7c2l6ZToxNCxzdHJva2VXaWR0aDoxLjgsY2xzOiJwbHVzLXBvcG92ZXItaWNvbiJ9KSsnPHNwYW4gY2xhc3M9InBsdXMtcG9wb3Zlci1sYWJlbCI+XHU0RTBBXHU0RjIwXHU5NjQ0XHU0RUY2PC9zcGFuPjwvYnV0dG9uPjxidXR0b24gY2xhc3M9InBsdXMtcG9wb3Zlci1pdGVtJysobi50ZXJtaW5hbEludGVyYWN0aXZlPyIgaXMtb24iOiIiKSsnIiBpZD0idGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlLXRvcCIgdHlwZT0iYnV0dG9uIiByb2xlPSJtZW51aXRlbWNoZWNrYm94IiBhcmlhLWNoZWNrZWQ9IicrKG4udGVybWluYWxJbnRlcmFjdGl2ZT8idHJ1ZSI6ImZhbHNlIikrJyI+JytKKCJrZXlib2FyZCIse3NpemU6MTQsc3Ryb2tlV2lkdGg6MS44LGNsczoicGx1cy1wb3BvdmVyLWljb24ifSkrJzxzcGFuIGNsYXNzPSJwbHVzLXBvcG92ZXItbGFiZWwiPlx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mjwvc3Bhbj48c3BhbiBjbGFzcz0icGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZSI+Jysobi50ZXJtaW5hbEludGVyYWN0aXZlPyJcdTVGMDAiOiJcdTUxNzMiKSsnPC9zcGFuPjwvYnV0dG9uPjxkaXYgY2xhc3M9InBsdXMtcG9wb3Zlci1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48ZGl2IGNsYXNzPSJwbHVzLXBvcG92ZXItdHJpby13cmFwIj4nK1JhKHQse2tpbmQ6InBvcG92ZXIifSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIGhpZGRlbiIgaWQ9InZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIiBhcmlhLWxpdmU9InBvbGl0ZSI+PGRpdiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC10ZXh0IiBpZD0idm9pY2UtdHJhbnNjcmlwdC10ZXh0Ij48L2Rpdj48ZGl2IGNsYXNzPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LWhpbnQiPjxzcGFuIGNsYXNzPSJ2b2ljZS13YXZlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0idm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiIGlkPSJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyI+XHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4PC9zcGFuPjwvZGl2PjxzcGFuIGNsYXNzPSJ2b2ljZS1idWJibGUtYXJyb3ciIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9kaXY+PHAgaWQ9ImFjdGlvbi1lcnJvciIgY2xhc3M9ImVycm9yLW1lc3NhZ2UgaGlkZGVuIj48L3A+PC9kaXY+PHNlY3Rpb24gaWQ9ImZvbGRlci1waWNrZXItbW9kYWwiIGNsYXNzPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iPjxkaXYgY2xhc3M9Im1vZGFsIGZvbGRlci1waWNrZXItbW9kYWwiPjxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSI+XHU5MDA5XHU2MkU5XHU1REU1XHU0RjVDXHU3NkVFXHU1RjU1PC9oMj48YnV0dG9uIGlkPSJjbG9zZS1mb2xkZXItcGlja2VyIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSI+PGRpdiBjbGFzcz0iZm9sZGVyLXBpY2tlci1xdWljay1yb3ciPjxidXR0b24gY2xhc3M9ImZvbGRlci1waWNrZXItcXVpY2stYnRuIGJ0bi13aXRoLWljb24iIGRhdGEtcGF0aD0iL3RtcCI+JytKKCJ0cmFzaCIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrJzxzcGFuPlx1NEUzNFx1NjVGNlx1NzZFRVx1NUY1NTwvc3Bhbj48L2J1dHRvbj48YnV0dG9uIGNsYXNzPSJmb2xkZXItcGlja2VyLXF1aWNrLWJ0biBidG4td2l0aC1pY29uIiBkYXRhLXBhdGg9Ii8iPicrSigiZm9sZGVyIix7c2l6ZToxMyxzdHJva2VXaWR0aDoxLjd9KSsnPHNwYW4+XHU2ODM5XHU3NkVFXHU1RjU1PC9zcGFuPjwvYnV0dG9uPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1icmVhZGNydW1iIiBjbGFzcz0iZm9sZGVyLWJyZWFkY3J1bWIiPjwvZGl2PjxkaXYgY2xhc3M9ImZvbGRlci1waWNrZXIiPjxzcGFuIGNsYXNzPSJmb2xkZXItcGlja2VyLWljb24iPicrSigiZm9sZGVyIix7c2l6ZToxNSxzdHJva2VXaWR0aDoxLjd9KSsnPC9zcGFuPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iZm9sZGVyLXBpY2tlci1pbnB1dCIgY2xhc3M9ImZvbGRlci1waWNrZXItaW5wdXQiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTYyMTZcdTkwMDlcdTYyRTlcdTVERTVcdTRGNUNcdTc2RUVcdTVGNTUuLi4iIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ib2ZmIiBzcGVsbGNoZWNrPSJmYWxzZSIgLz48L2Rpdj48ZGl2IGlkPSJmb2xkZXItcGlja2VyLWRyb3Bkb3duIiBjbGFzcz0iZm9sZGVyLXBpY2tlci1kcm9wZG93biBoaWRkZW4iPjwvZGl2PjxkaXYgaWQ9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiIgY2xhc3M9ImZvbGRlci1waWNrZXItdmFsaWRhdGlvbiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPjwvbWFpbj48L2Rpdj48L2Rpdj4nK0JjKCkrdmMoKSttYygpK091KCl9ZnVuY3Rpb24gTmUoZSx0KXtpZihlKXtlLnRleHRDb250ZW50PXQsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtmb3IodmFyIHI9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3I7KXtpZihyLnRhZ05hbWU9PT0iSU5QVVQiKXtyLnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsInRydWUiKTticmVha31yPXIucHJldmlvdXNFbGVtZW50U2libGluZ319fWZ1bmN0aW9uIHRpKGUpe2lmKGUpe2UudGV4dENvbnRlbnQ9IiIsZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtmb3IodmFyIHQ9ZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3Q7KXtpZih0LnRhZ05hbWU9PT0iSU5QVVQiKXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1lcnJvciIsImZhbHNlIik7YnJlYWt9dD10LnByZXZpb3VzRWxlbWVudFNpYmxpbmd9fX1mdW5jdGlvbiBrKGUsdCl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5jbGFzc05hbWU9InRvYXN0LW1lc3NhZ2UiKyh0PT09ImVycm9yIj8iIHRvYXN0LWVycm9yIjoiIiksdCE9PSJlcnJvciImJihyLnN0eWxlLmJhY2tncm91bmQ9InZhcigtLWFjY2VudCkiLHIuc3R5bGUuY29sb3I9IndoaXRlIiksci50ZXh0Q29udGVudD1lLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksc2V0VGltZW91dChmdW5jdGlvbigpe3IucmVtb3ZlKCl9LHQ9PT0iZXJyb3IiPzRlMzoyMjAwKX12YXIgZ3I9W107ZnVuY3Rpb24gUWQoZSl7c3dpdGNoKGUpe2Nhc2Uid2FybmluZyI6cmV0dXJuIiEiO2Nhc2UiZGFuZ2VyIjpyZXR1cm4iXHUyNkEwXHVGRTBFIjtjYXNlInN1Y2Nlc3MiOnJldHVybiJcdTI3MTMiO2Nhc2UicXVlc3Rpb24iOnJldHVybiI/IjtkZWZhdWx0OnJldHVybiJpIn19ZnVuY3Rpb24gbm4oZSl7ZT1lfHx7fTt2YXIgdD1lLmRpc21pc3NhYmxlIT09ITEscj1lLnR5cGV8fCJpbmZvIixpPWUuaWNvbnx8UWQociksYT0hIWUuaW5wdXQ7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHUpe3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3MuY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1iYWNrZHJvcCIscy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtvLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ciLG8uc2V0QXR0cmlidXRlKCJyb2xlIixhPyJkaWFsb2ciOiJhbGVydGRpYWxvZyIpLG8uc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwidHJ1ZSIpLGUudGl0bGUmJm8uc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIixlLnRpdGxlKTt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtsLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctaGVhZGVyIjt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctaWNvbiAiK3IsYy50ZXh0Q29udGVudD1pLGwuYXBwZW5kQ2hpbGQoYyk7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoZC5jbGFzc05hbWU9IndhbmQtZGlhbG9nLXRleHR3cmFwIixlLnRpdGxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmLmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctdGl0bGUiLGYudGV4dENvbnRlbnQ9ZS50aXRsZSxkLmFwcGVuZENoaWxkKGYpfWlmKGUubWVzc2FnZSl7dmFyIHY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7di5jbGFzc05hbWU9IndhbmQtZGlhbG9nLW1lc3NhZ2UiLHYudGV4dENvbnRlbnQ9ZS5tZXNzYWdlLGQuYXBwZW5kQ2hpbGQodil9bC5hcHBlbmRDaGlsZChkKSxvLmFwcGVuZENoaWxkKGwpO3ZhciBtPW51bGw7aWYoYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5jbGFzc05hbWU9IndhbmQtZGlhbG9nLWJvZHkiLG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxtLnR5cGU9InRleHQiLG0uY2xhc3NOYW1lPSJ3YW5kLWRpYWxvZy1pbnB1dCIsZS5pbnB1dFBsYWNlaG9sZGVyJiYobS5wbGFjZWhvbGRlcj1lLmlucHV0UGxhY2Vob2xkZXIpLGUuaW5wdXRWYWx1ZSE9bnVsbCYmKG0udmFsdWU9U3RyaW5nKGUuaW5wdXRWYWx1ZSkpLGIuYXBwZW5kQ2hpbGQobSksby5hcHBlbmRDaGlsZChiKX12YXIgZz1lLmJ1dHRvbnMmJmUuYnV0dG9ucy5sZW5ndGg/ZS5idXR0b25zOlt7bGFiZWw6Ilx1NTk3RCIsdmFsdWU6ITAsa2luZDoicHJpbWFyeSIsYXV0b2ZvY3VzOiEwfV0seT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt5LmNsYXNzTmFtZT0id2FuZC1kaWFsb2ctZm9vdGVyIjt2YXIgdz1udWxsLEY9bnVsbDtmdW5jdGlvbiBFKHgpe2lmKCFzLmNsYXNzTGlzdC5jb250YWlucygiY2xvc2luZyIpKXtzLmNsYXNzTGlzdC5hZGQoImNsb3NpbmciKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixBLCEwKTt2YXIgUz1nci5pbmRleE9mKEUpO1M+PTAmJmdyLnNwbGljZShTLDEpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLnBhcmVudE5vZGUmJnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzKSx1KHgpfSwxNjApfX1nLmZvckVhY2goZnVuY3Rpb24oeCl7dmFyIFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIiksUD14LmtpbmR8fCJzZWNvbmRhcnkiO1MuY2xhc3NOYW1lPSJidG4gYnRuLSIrUCxTLnR5cGU9ImJ1dHRvbiIsUy50ZXh0Q29udGVudD14LmxhYmVsLFMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7YSYmeC5raW5kPT09InByaW1hcnkiP0UobT9tLnZhbHVlOiIiKTpFKHgudmFsdWUpfSksd3x8KHc9UykseC5hdXRvZm9jdXMmJihGPVMpLHkuYXBwZW5kQ2hpbGQoUyl9KSxvLmFwcGVuZENoaWxkKHkpLHMuYXBwZW5kQ2hpbGQobykscy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oeCl7eC50YXJnZXQ9PT1zJiZ0JiZFKGUuY2FuY2VsVmFsdWUhPT12b2lkIDA/ZS5jYW5jZWxWYWx1ZTphP251bGw6ITEpfSk7ZnVuY3Rpb24gQSh4KXtpZihncltnci5sZW5ndGgtMV09PT1FKXtpZih4LmtleT09PSJFc2NhcGUiJiZ0KXt4LnByZXZlbnREZWZhdWx0KCkseC5zdG9wUHJvcGFnYXRpb24oKSxFKGUuY2FuY2VsVmFsdWUhPT12b2lkIDA/ZS5jYW5jZWxWYWx1ZTphP251bGw6ITEpO3JldHVybn1pZih4LmtleT09PSJFbnRlciIpe2Zvcih2YXIgUz1udWxsLFA9MDtQPGcubGVuZ3RoO1ArKylpZihnW1BdLmtpbmQ9PT0icHJpbWFyeSIpe1M9Z1tQXTticmVha31TfHwoUz1nW2cubGVuZ3RoLTFdKSxTJiYoeC5wcmV2ZW50RGVmYXVsdCgpLHguc3RvcFByb3BhZ2F0aW9uKCksYSYmUy5raW5kPT09InByaW1hcnkiP0UobT9tLnZhbHVlOiIiKTpFKFMudmFsdWUpKX19fWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLEEsITApLGdyLnB1c2goRSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtpZihhJiZtKXttLmZvY3VzKCk7dHJ5e20uc2VsZWN0KCl9Y2F0Y2h7fX1lbHNlIEY/Ri5mb2N1cygpOncmJncuZm9jdXMoKX0pfSl9ZnVuY3Rpb24gJGQoZSx0KXtyZXR1cm4gdD10fHx7fSxubih7dGl0bGU6dC50aXRsZXx8Ilx1NjNEMFx1NzkzQSIsbWVzc2FnZTp0eXBlb2YgZT09InN0cmluZyI/ZTpTdHJpbmcoZT8/IiIpLHR5cGU6dC50eXBlfHwiaW5mbyIsYnV0dG9uczpbe2xhYmVsOnQub2tMYWJlbHx8Ilx1NTk3RCIsdmFsdWU6dm9pZCAwLGtpbmQ6InByaW1hcnkiLGF1dG9mb2N1czohMH1dfSl9ZnVuY3Rpb24gWGQoZSx0KXt0PXR8fHt9O3ZhciByPSEhdC5kYW5nZXJ8fHQudHlwZT09PSJkYW5nZXIiO3JldHVybiBubih7dGl0bGU6dC50aXRsZXx8KHI/Ilx1Nzg2RVx1OEJBNFx1NjRDRFx1NEY1QyI6Ilx1OEJGN1x1Nzg2RVx1OEJBNCIpLG1lc3NhZ2U6dHlwZW9mIGU9PSJzdHJpbmciP2U6U3RyaW5nKGU/PyIiKSx0eXBlOnQudHlwZXx8KHI/ImRhbmdlciI6InF1ZXN0aW9uIiksY2FuY2VsVmFsdWU6ITEsYnV0dG9uczpbe2xhYmVsOnQuY2FuY2VsTGFiZWx8fCJcdTUzRDZcdTZEODgiLHZhbHVlOiExLGtpbmQ6InNlY29uZGFyeSJ9LHtsYWJlbDp0Lm9rTGFiZWx8fChyPyJcdTUyMjBcdTk2NjQiOiJcdTc4NkVcdTVCOUEiKSx2YWx1ZTohMCxraW5kOnI/ImRhbmdlciI6InByaW1hcnkiLGF1dG9mb2N1czohcn1dfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaT09PSEwfSl9ZnVuY3Rpb24gWmQoZSx0LHIpe3JldHVybiByPXJ8fHt9LG5uKHt0aXRsZTpyLnRpdGxlfHwiXHU4QkY3XHU4RjkzXHU1MTY1IixtZXNzYWdlOnR5cGVvZiBlPT0ic3RyaW5nIj9lOlN0cmluZyhlPz8iIiksdHlwZTpyLnR5cGV8fCJxdWVzdGlvbiIsaW5wdXQ6ITAsaW5wdXRWYWx1ZTp0PT1udWxsPyIiOlN0cmluZyh0KSxpbnB1dFBsYWNlaG9sZGVyOnIucGxhY2Vob2xkZXJ8fCIiLGNhbmNlbFZhbHVlOm51bGwsYnV0dG9uczpbe2xhYmVsOnIuY2FuY2VsTGFiZWx8fCJcdTUzRDZcdTZEODgiLHZhbHVlOm51bGwsa2luZDoic2Vjb25kYXJ5In0se2xhYmVsOnIub2tMYWJlbHx8Ilx1Nzg2RVx1NUI5QSIsdmFsdWU6dm9pZCAwLGtpbmQ6InByaW1hcnkifV19KX13aW5kb3cud2FuZEFsZXJ0PSRkLHdpbmRvdy53YW5kQ29uZmlybT1YZCx3aW5kb3cud2FuZFByb21wdD1aZCx3aW5kb3cub3BlbldhbmREaWFsb2c9bm47dmFyIFF0PVtdLEZzPTAsZWY9Nix0Zj0xNjtmdW5jdGlvbiBhYShlKXtpZigoZS5hY3Rpb25MYWJlbHx8ZS5wbGF5U291bmQpJiZrcygpLCFuLm5vdGlmQnViYmxlKXJldHVybntkaXNtaXNzOmZ1bmN0aW9uKCl7fX07dmFyIHQ9KytGcyxyPWUudHlwZXx8ImluZm8iLGk9ZS5pY29ufHwocj09PSJ3YXJuaW5nIj8iISI6cj09PSJzdWNjZXNzIj8iXHUyNzEzIjoiaSIpLGE9ZS5kdXJhdGlvbiE9PXZvaWQgMD9lLmR1cmF0aW9uOjhlMyx1PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3UuY2xhc3NOYW1lPSJub3RpZmljYXRpb24tYnViYmxlIix1LnNldEF0dHJpYnV0ZSgiZGF0YS1uaWQiLFN0cmluZyh0KSk7dmFyIHM9JzxkaXYgY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtaGVhZGVyIj48c3BhbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uICcrcisnIj4nK2krJzwvc3Bhbj48c3BhbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS10aXRsZSI+JytwKGUudGl0bGUpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZSIgdGl0bGU9Ilx1NTE3M1x1OTVFRCI+XHhENzwvYnV0dG9uPjwvZGl2Picsbz1lLmJvZHk/JzxkaXYgY2xhc3M9Im5vdGlmaWNhdGlvbi1idWJibGUtYm9keSI+JytwKGUuYm9keSkucmVwbGFjZSgvXG4vZywiPGJyPiIpKyI8L2Rpdj4iOiIiLGw9ZS5hY3Rpb25MYWJlbD8nPGRpdiBjbGFzcz0ibm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJwcmltYXJ5Ij4nK3AoZS5hY3Rpb25MYWJlbCkrIjwvYnV0dG9uPjwvZGl2PiI6IiI7dS5pbm5lckhUTUw9cytvK2wsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh1KTt2YXIgYz17aWQ6dCxlbDp1fTtRdC5wdXNoKGMpLHVhKCk7dmFyIGQ9dS5xdWVyeVNlbGVjdG9yKCIubm90aWZpY2F0aW9uLWJ1YmJsZS1jbG9zZSIpO2lmKGQmJihkLm9uY2xpY2s9ZnVuY3Rpb24oKXtocih0KX0pLGUuYWN0aW9uTGFiZWwmJmUuYWN0aW9uKXt2YXIgZj11LnF1ZXJ5U2VsZWN0b3IoIi5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uIik7ZiYmKGYub25jbGljaz1mdW5jdGlvbigpe2UuYWN0aW9uKCksaHIodCl9KX12YXIgdj1udWxsO3JldHVybiBhPjAmJih2PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtocih0KX0sYSkpLHtkaXNtaXNzOmZ1bmN0aW9uKCl7aHIodCl9fX1mdW5jdGlvbiBocihlKXtmb3IodmFyIHQ9LTEscj0wO3I8UXQubGVuZ3RoO3IrKylpZihRdFtyXS5pZD09PWUpe3Q9cjticmVha31pZih0IT09LTEpe3ZhciBpPVF0W3RdO2kuZWwuY2xhc3NMaXN0LmFkZCgic2xpZGUtb3V0IiksUXQuc3BsaWNlKHQsMSksdWEoKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5lbC5wYXJlbnROb2RlJiZpLmVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaS5lbCl9LDMwMCl9fWZ1bmN0aW9uIHVhKCl7Zm9yKHZhciBlPXRmLHQ9MDt0PFF0Lmxlbmd0aDt0KyspUXRbdF0uZWwuc3R5bGUudG9wPWUrInB4IixlKz1RdFt0XS5lbC5vZmZzZXRIZWlnaHQrZWZ9dHJ5e3hzPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dhbmRQbGF0Zm9ybVwvbWFjT1MvKSxsYT13aW5kb3cud2Via2l0JiZ3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycyYmd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMud2FuZE5hdGl2ZXx8bnVsbCx4cyYmbGEmJnR5cGVvZiB3aW5kb3cuV2FuZE5hdGl2ZT4idSImJih3aW5kb3cuV2FuZE5hdGl2ZT17ZG93bmxvYWRVcGRhdGU6ZnVuY3Rpb24oZSx0LHIpe3RyeXtsYS5wb3N0TWVzc2FnZSh7dHlwZToiZG93bmxvYWRVcGRhdGUiLHVybDpTdHJpbmcoZXx8IiIpLGZpbGVOYW1lOlN0cmluZyh0fHwid2FuZC11cGRhdGUuZG1nIiksc291cmNlOlN0cmluZyhyfHwibG9jYWwiKX0pfWNhdGNoe319fSl9Y2F0Y2h7fXZhciBIZT10eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb249PSJmdW5jdGlvbiIseXI9bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2FuZEFwcFwvKFteXHNdKykvKSx3cz0vV2FuZFBsYXRmb3JtXC9tYWNPUy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxuZj0hIXlyJiYhd3MsRG49eXImJm5mP3lyWzFdOm51bGwscm49eXImJndzP3lyWzFdOm51bGw7ZnVuY3Rpb24gVm4oZSl7aWYoISghSGV8fHR5cGVvZiBXYW5kTmF0aXZlLnZpYnJhdGUhPSJmdW5jdGlvbiIpKXRyeXtXYW5kTmF0aXZlLnZpYnJhdGUoZXx8ImxpZ2h0Iil9Y2F0Y2h7fX1mdW5jdGlvbiBzYSgpe2lmKEhlKXt2YXIgZT1uLnNlc3Npb25zLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIXQuYXJjaGl2ZWQmJih0LnN0YXR1cz09PSJydW5uaW5nInx8dC5zdGF0dXM9PT0idGhpbmtpbmcifHx0LnN0YXR1cz09PSJpbml0aWFsaXppbmciKX0pO2lmKHR5cGVvZiBXYW5kTmF0aXZlLnNldEtlZXBTY3JlZW5Pbj09ImZ1bmN0aW9uIil0cnl7V2FuZE5hdGl2ZS5zZXRLZWVwU2NyZWVuT24oZSl9Y2F0Y2h7fWlmKGUpe2lmKHR5cGVvZiBXYW5kTmF0aXZlLnN0YXJ0S2VlcEFsaXZlPT0iZnVuY3Rpb24iKXRyeXtXYW5kTmF0aXZlLnN0YXJ0S2VlcEFsaXZlKCl9Y2F0Y2h7fX1lbHNlIGlmKHR5cGVvZiBXYW5kTmF0aXZlLnN0b3BLZWVwQWxpdmU9PSJmdW5jdGlvbiIpdHJ5e1dhbmROYXRpdmUuc3RvcEtlZXBBbGl2ZSgpfWNhdGNoe319fWZ1bmN0aW9uIG5pKCl7aWYoSGUmJnR5cGVvZiBXYW5kTmF0aXZlLmdldFBlcm1pc3Npb249PSJmdW5jdGlvbiIpdHJ5e3JldHVybiBXYW5kTmF0aXZlLmdldFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gcmYoKXtpZihIZSl7dmFyIGU9bmkoKTtpZihlPT09ImRlZmF1bHQifHxlPT09ImRlbmllZCIpdHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJufXR5cGVvZiBOb3RpZmljYXRpb248InUiJiZOb3RpZmljYXRpb24ucGVybWlzc2lvbj09PSJkZWZhdWx0IiYmTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCl9ZnVuY3Rpb24gYWYoZSl7dmFyIHQ9ZXx8e307cmV0dXJuISh0Lm9ubHlXaGVuSGlkZGVuJiYhZG9jdW1lbnQuaGlkZGVufHx0LnNraXBXaGVuU2VsZWN0ZWRTZXNzaW9uSWQmJnQuc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZD09PW4uc2VsZWN0ZWRJZCYmIWRvY3VtZW50LmhpZGRlbil9ZnVuY3Rpb24gdWYoZSx0KXtpZighZXx8IXR8fHQ8PTApcmV0dXJuITE7dmFyIHI9bi5ub3RpZmljYXRpb25IaXN0b3J5W2VdfHwwLGk9RGF0ZS5ub3coKTtyZXR1cm4gaS1yPHQ/ITA6KG4ubm90aWZpY2F0aW9uSGlzdG9yeVtlXT1pLCExKX1mdW5jdGlvbiByaShlLHQscil7dmFyIGk9cnx8e30sYT1pLnRhZ3x8IiI7aWYoYWYoaSkmJiF1ZihhLGkubWluSW50ZXJ2YWxNc3x8MCkpe2lmKEhlKXt2YXIgdT1uaSgpO2lmKHUhPT0iZ3JhbnRlZCIpcmV0dXJuO3RyeXt2YXIgcz1hO2kua2luZCYmKHM9aS5raW5kKyhhPyI6IithOiIiKSksV2FuZE5hdGl2ZS5zZW5kTm90aWZpY2F0aW9uKGV8fCJXYW5kIix0fHwiIixzfHwiIil9Y2F0Y2h7fXJldHVybn1pZighKHR5cGVvZiBOb3RpZmljYXRpb24+InUifHxOb3RpZmljYXRpb24ucGVybWlzc2lvbiE9PSJncmFudGVkIikmJmRvY3VtZW50LmhpZGRlbil0cnl7dmFyIG89bmV3IE5vdGlmaWNhdGlvbihlLHtib2R5OnR8fCIiLGljb246aS5pY29ufHwiL2Zhdmljb24uaWNvIix0YWc6YXx8dm9pZCAwfSk7by5vbmNsaWNrPWZ1bmN0aW9uKCl7d2luZG93LmZvY3VzKCksby5jbG9zZSgpLGkub25DbGljayYmaS5vbkNsaWNrKCl9LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmNsb3NlKCl9LDFlNCl9Y2F0Y2h7fX19ZnVuY3Rpb24gc2YoZSx0KXtpZighKCF0fHwhdC50aXRsZSkpe3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5pZD09PWV9KTtpZihyKXt2YXIgaT1yLnN1bW1hcnl8fHIuY29tbWFuZHx8ZTtyaSgiXHU0RUZCXHU1MkExXHU4RkRCXHU4ODRDXHU0RTJEIixpK2AKYCt0LnRpdGxlLHtraW5kOiJ0YXNrIix0YWc6IndhbmQtdGFzay0iK2UrIi0iK3QudGl0bGUsbWluSW50ZXJ2YWxNczo5ZTQsb25seVdoZW5IaWRkZW46ITAsc2tpcFdoZW5TZWxlY3RlZFNlc3Npb25JZDplLG9uQ2xpY2s6ZnVuY3Rpb24oKXtlIT09bi5zZWxlY3RlZElkJiZSdChlKX19KX19fWZ1bmN0aW9uIENzKGUsdCl7cGYoZXx8Ii0iLHR8fCItIikscmkoIldhbmQgXHU1M0QxXHU3M0IwXHU2NUIwXHU3MjQ4XHU2NzJDIiwiXHU1RjUzXHU1MjREICIrKGV8fCItIikrIiBcdTIxOTIgXHU2NzAwXHU2NUIwICIrKHR8fCItIikse2tpbmQ6InVwZGF0ZSIsdGFnOiJ3YW5kLXVwZGF0ZSIsbWluSW50ZXJ2YWxNczozZTV9KX1mdW5jdGlvbiBvZihlLHQpe3JpKCJcdTk3MDBcdTg5ODFcdTRGNjBcdTc2ODRcdTYzODhcdTY3NDMiLHQse2tpbmQ6InBlcm1pc3Npb24iLHRhZzoid2FuZC1wZXJtLSIrZSxtaW5JbnRlcnZhbE1zOjZlNCxvbmx5V2hlbkhpZGRlbjohMCxza2lwV2hlblNlbGVjdGVkU2Vzc2lvbklkOmUsb25DbGljazpmdW5jdGlvbigpe2UhPT1uLnNlbGVjdGVkSWQmJlJ0KGUpfX0pfWZ1bmN0aW9uIGxmKGUsdCxyKXtyaSh0LHIse2tpbmQ6InRhc2stZW5kZWQiLHRhZzoid2FuZC1lbmRlZC0iK2UsbWluSW50ZXJ2YWxNczoxZTQsb25DbGljazpmdW5jdGlvbigpe2UhPT1uLnNlbGVjdGVkSWQmJlJ0KGUpfX0pfXZhciBrbj17fSxjZj0zMDtmdW5jdGlvbiBCcyhlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1TdHJpbmcoZSkucmVwbGFjZSgvXiMrXHMrL2dtLCIiKS5yZXBsYWNlKC9cKlwqL2csIiIpLnJlcGxhY2UoL2AvZywiIikudHJpbSgpLHI9dC5zcGxpdChgCmApWzBdLnRyaW0oKTtyZXR1cm4gci5sZW5ndGg+MTAwJiYocj1yLnNsaWNlKDAsMTAwKSsiXHUyMDI2Iikscn1mdW5jdGlvbiBvYShlKXshSGV8fHR5cGVvZiBXYW5kTmF0aXZlLnVwZGF0ZVNlc3Npb25Qcm9ncmVzcyE9ImZ1bmN0aW9uInx8ZSYmKGtuW2VdJiZjbGVhclRpbWVvdXQoa25bZV0pLGtuW2VdPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtkZWxldGUga25bZV0sZGYoZSl9LGNmKSl9ZnVuY3Rpb24gZGYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4LmlkPT09ZX0pO2lmKHQpe3ZhciByPXQuc3VtbWFyeXx8dC5jb21tYW5kfHxlLGk9dC5zdGF0dXN8fCJydW5uaW5nIjtpZihpPT09ImlkbGUifHxpPT09ImFyY2hpdmVkInx8aT09PSJleGl0ZWQiKXtEcyhlKTtyZXR1cm59Zm9yKHZhciBhPW51bGwsdT0iIixzPSIiLG89W10sbD10Lm1lc3NhZ2VzfHxbXSxjPWwubGVuZ3RoLTE7Yz49MDtjLS0pe3ZhciBkPWxbY107aWYoISghZC5jb250ZW50fHwhQXJyYXkuaXNBcnJheShkLmNvbnRlbnQpKSl7aWYoIXMmJmQucm9sZT09PSJhc3Npc3RhbnQiKWZvcih2YXIgZj1kLmNvbnRlbnQubGVuZ3RoLTE7Zj49MDtmLS0pe3ZhciB2PWQuY29udGVudFtmXTtpZih2JiZ2LnR5cGU9PT0idGV4dCImJnYudGV4dCYmdi50ZXh0LnRyaW0oKSl7cz1Ccyh2LnRleHQpO2JyZWFrfX1pZihkLnJvbGU9PT0idXNlciIpe3ZhciBtPWQuY29udGVudC5zb21lKGZ1bmN0aW9uKHgpe3JldHVybiB4JiZ4Ll9fcXVldWVkfSk7aWYoIW0pZm9yKHZhciBiPTA7YjxkLmNvbnRlbnQubGVuZ3RoO2IrKyl7dmFyIGc9ZC5jb250ZW50W2JdO2lmKGcmJmcudHlwZT09PSJ0ZXh0IiYmZy50ZXh0JiZnLnRleHQudHJpbSgpKXt2YXIgeT1CcyhnLnRleHQpO3V8fCh1PXkpLG8ubGVuZ3RoPDQmJm8ucHVzaCh5KTticmVha319fWlmKCFhKWZvcih2YXIgdz1kLmNvbnRlbnQubGVuZ3RoLTE7dz49MDt3LS0pe3ZhciBGPWQuY29udGVudFt3XTtpZihGJiZGLnR5cGU9PT0idG9vbF91c2UiJiZGLm5hbWU9PT0iVG9kb1dyaXRlIiYmRi5pbnB1dCYmRi5pbnB1dC50b2Rvcyl7YT1GLmlucHV0LnRvZG9zO2JyZWFrfX1pZihhJiZvLmxlbmd0aD49NCYmcylicmVha319by5yZXZlcnNlKCk7dmFyIEU9IiI7ZT09PW4uc2VsZWN0ZWRJZCYmbi5jdXJyZW50VGFzayYmbi5jdXJyZW50VGFzay50aXRsZSYmKEU9bi5jdXJyZW50VGFzay50aXRsZSk7dmFyIEE9e3Nlc3Npb25MYWJlbDpyLHN0YXR1czppLGN1cnJlbnRUYXNrOkUsbGF0ZXN0VXNlclRleHQ6dSxsYXRlc3RBc3Npc3RhbnRUZXh0OnMsdG9kb3M6YXx8W10scmVjZW50VXNlclRleHRzOm99O3RyeXtXYW5kTmF0aXZlLnVwZGF0ZVNlc3Npb25Qcm9ncmVzcyhlLEpTT04uc3RyaW5naWZ5KEEpKX1jYXRjaHt9fX1mdW5jdGlvbiBEcyhlKXtpZighKCFIZXx8dHlwZW9mIFdhbmROYXRpdmUuY2xlYXJTZXNzaW9uUHJvZ3Jlc3MhPSJmdW5jdGlvbiIpKXtrbltlXSYmKGNsZWFyVGltZW91dChrbltlXSksZGVsZXRlIGtuW2VdKTt0cnl7V2FuZE5hdGl2ZS5jbGVhclNlc3Npb25Qcm9ncmVzcyhlKX1jYXRjaHt9fX13aW5kb3cuaGFuZGxlTmF0aXZlQmFjaz1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tb2RhbCIpO2lmKGUmJiFlLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpcmV0dXJuIFFuKCksITA7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tbW9kYWwiKTtpZih0JiYhdC5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKXJldHVybiBwbigpLCEwO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIpO3JldHVybiByJiYhci5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpPyhHbigpLCEwKTpuLmZpbGVQYW5lbE9wZW4mJlBlKCk/KFBpKCExKSwhMCk6bi5zZXNzaW9uc0RyYXdlck9wZW4mJlBlKCk/KFNyKCksITApOlBlKCkmJm4uc2VsZWN0ZWRJZD8obi5zZWxlY3RlZElkPW51bGwseWUoKSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSxHdCgpLCEwKTohMX07ZnVuY3Rpb24ga3MoKXtuLm5vdGlmU291bmQmJmlpKCl9ZnVuY3Rpb24gZmYoKXtyZXR1cm4gaWkoKX1mdW5jdGlvbiBpaSgpe3RyeXtsZXQgYT1mdW5jdGlvbih1LHMsbyl7dmFyIGw9ci5jcmVhdGVPc2NpbGxhdG9yKCksYz1yLmNyZWF0ZUdhaW4oKTtsLnR5cGU9InNpbmUiLGwuZnJlcXVlbmN5LnZhbHVlPXUsYy5nYWluLnNldFZhbHVlQXRUaW1lKDAsci5jdXJyZW50VGltZStzKSxjLmdhaW4ubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoLjUqaSxyLmN1cnJlbnRUaW1lK3MrLjA0KSxjLmdhaW4uZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZSguMDAxLHIuY3VycmVudFRpbWUrcytvKSxsLmNvbm5lY3QoYyksYy5jb25uZWN0KHIuZGVzdGluYXRpb24pLGwuc3RhcnQoci5jdXJyZW50VGltZStzKSxsLnN0b3Aoci5jdXJyZW50VGltZStzK28pfTt2YXIgZT1hLHQ9d2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dDtpZighdClyZXR1cm4hMTt2YXIgcj1uZXcgdDtyLnN0YXRlPT09InN1c3BlbmRlZCImJnIucmVzdW1lKCk7dmFyIGk9KG4ubm90aWZWb2x1bWV8fDApLzEwMDtyZXR1cm4gYSg1MjMsMCwuMjUpLGEoNjU5LC4xMiwuMyksc2V0VGltZW91dChmdW5jdGlvbigpe3IuY2xvc2UoKX0sNjAwKSwhMH1jYXRjaHtyZXR1cm4hMX19ZnVuY3Rpb24gcGYoZSx0KXtpZihuLl91cGRhdGVCdWJibGVTaG93bilyZXR1cm47bi5fdXBkYXRlQnViYmxlU2hvd249ITAsa3MoKTt2YXIgcj0rK0ZzLGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aS5jbGFzc05hbWU9Im5vdGlmaWNhdGlvbi1idWJibGUgdXBkYXRlLWNhcmQiLGkuc2V0QXR0cmlidXRlKCJkYXRhLW5pZCIsU3RyaW5nKHIpKSxpLmlubmVySFRNTD0nPGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtc2hpbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1oZWFkZXIiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLWljb24iIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDE5VjUiLz48cGF0aCBkPSJNNSAxMmw3LTcgNyA3Ii8+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtaGVhZGluZyI+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtdGl0bGUiPlx1NTNEMVx1NzNCMFx1NjVCMFx1NzI0OFx1NjcyQzwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXN1YnRpdGxlIiBpZD0idXBkYXRlLWNhcmQtc3VidGl0bGUiPlx1NzBCOVx1NTFGQlx1NEUwQlx1NjVCOVx1NjMwOVx1OTRBRVx1NEUwMFx1OTUyRVx1NjZGNFx1NjVCMDwvZGl2PjwvZGl2PjxidXR0b24gY2xhc3M9InVwZGF0ZS1jYXJkLWNsb3NlIiB0aXRsZT0iXHU3QTBEXHU1NDBFXHU2M0QwXHU5MTkyIiBhcmlhLWxhYmVsPSJcdTUxNzNcdTk1RUQiPjxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTggNkw2IDE4Ii8+PHBhdGggZD0iTTYgNmwxMiAxMiIvPjwvc3ZnPjwvYnV0dG9uPjwvZGl2PjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24iPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1jdXJyZW50Ij52JytwKFN0cmluZyhlKS5yZXBsYWNlKC9edi8sIiIpKSsnPC9zcGFuPjxzdmcgY2xhc3M9InVwZGF0ZS1jYXJkLXZlcnNpb24tYXJyb3ciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik01IDEyaDE0Ii8+PHBhdGggZD0iTTEzIDVsNyA3LTcgNyIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJ1cGRhdGUtY2FyZC12ZXJzaW9uLWNoaXAgdXBkYXRlLWNhcmQtdmVyc2lvbi1sYXRlc3QiPnYnK3AoU3RyaW5nKHQpLnJlcGxhY2UoL152LywiIikpKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idXBkYXRlLWNhcmQtcHJvZ3Jlc3MiIGlkPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcyIgYXJpYS1oaWRkZW49InRydWUiPjxkaXYgY2xhc3M9InVwZGF0ZS1jYXJkLXByb2dyZXNzLXRyYWNrIj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1wcm9ncmVzcy1maWxsIj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1zdGF0dXMgaGlkZGVuIiBpZD0idXBkYXRlLWNhcmQtc3RhdHVzIj48L2Rpdj48ZGl2IGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb25zIj48YnV0dG9uIGNsYXNzPSJ1cGRhdGUtY2FyZC1hY3Rpb24gdXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnkiIGlkPSJ1cGRhdGUtYnViYmxlLWFjdGlvbiIgdHlwZT0iYnV0dG9uIj48c3BhbiBjbGFzcz0idXBkYXRlLWNhcmQtYWN0aW9uLWxhYmVsIj5cdTdBQ0JcdTUzNzNcdTY2RjRcdTY1QjA8L3NwYW4+PC9idXR0b24+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpO3ZhciBhPXtpZDpyLGVsOml9O1F0LnB1c2goYSksdWEoKTt2YXIgdT1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1jbG9zZSIpO3UmJih1Lm9uY2xpY2s9ZnVuY3Rpb24oKXtocihyKSxuLl91cGRhdGVCdWJibGVTaG93bj0hMX0pO3ZhciBzPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1idWJibGUtYWN0aW9uIiksbz1pLnF1ZXJ5U2VsZWN0b3IoIi51cGRhdGUtY2FyZC1hY3Rpb24tbGFiZWwiKSxsPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXN1YnRpdGxlIiksYz1pLnF1ZXJ5U2VsZWN0b3IoIiN1cGRhdGUtY2FyZC1zdGF0dXMiKSxkPWkucXVlcnlTZWxlY3RvcigiI3VwZGF0ZS1jYXJkLXByb2dyZXNzIik7ZnVuY3Rpb24gZihiLGcpe2lmKGMpe2lmKGMudGV4dENvbnRlbnQ9Ynx8IiIsYy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iLCJlcnJvciIsInN1Y2Nlc3MiKSwhYil7Yy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59ZyYmYy5jbGFzc0xpc3QuYWRkKGcpfX1mdW5jdGlvbiB2KGIpe2wmJihsLnRleHRDb250ZW50PWJ8fCIiKX1mdW5jdGlvbiBtKGIpe2QmJmQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIWIpfXMmJihzLm9uY2xpY2s9ZnVuY3Rpb24oKXtzLmRpc2FibGVkPSEwLGkuY2xhc3NMaXN0LmFkZCgiaXMtYnVzeSIpLG8mJihvLnRleHRDb250ZW50PSJcdTY2RjRcdTY1QjBcdTRFMkRcdTIwMjYiKSx2KCJcdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdTIwMjYiKSxtKCEwKSxmKCIiKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYil7cmV0dXJuIGIuanNvbigpfSkudGhlbihmdW5jdGlvbihiKXtpZihiLmVycm9yKXttKCExKSxpLmNsYXNzTGlzdC5yZW1vdmUoImlzLWJ1c3kiKSx2KCJcdTY2RjRcdTY1QjBcdTY3MkFcdTVCOENcdTYyMTAiKSxmKGIuZXJyb3IsImVycm9yIikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iik7cmV0dXJufWlmKGkuY2xhc3NMaXN0LmFkZCgiaXMtc3VjY2VzcyIpLHYoKGIubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiKSxmKCIiKSxvJiYoby50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2IiksYi5kZXRhY2hlZFVwZGF0ZSl7YW4oKTtyZXR1cm59aWYoYi5yZXN0YXJ0UmVxdWlyZWQ9PT0hMSl7bSghMSksaS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1idXN5Iikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU1REYyXHU1QjhDXHU2MjEwIik7cmV0dXJufXZmKHMsbyxsLGMsZCl9KS5jYXRjaChmdW5jdGlvbigpe20oITEpLGkuY2xhc3NMaXN0LnJlbW92ZSgiaXMtYnVzeSIpLHYoIlx1NjZGNFx1NjVCMFx1NjcyQVx1NUI4Q1x1NjIxMCIpLGYoIlx1OEJGN1x1NjhDMFx1NjdFNVx1N0Y1MVx1N0VEQ1x1OEZERVx1NjNBNVx1NTQwRVx1OTFDRFx1OEJENSIsImVycm9yIikscy5kaXNhYmxlZD0hMSxvJiYoby50ZXh0Q29udGVudD0iXHU5MUNEXHU4QkQ1Iil9KX0pfWZ1bmN0aW9uIHZmKGUsdCxyLGksYSl7ZmV0Y2goIi9hcGkvcmVzdGFydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKCl7YW4oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7YW4oKX0pfWZ1bmN0aW9uIEFzKGUsdCl7ZSYmKGUuZGlzYWJsZWQ9ITAsZS50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGXHUyMDI2IiksdCYmKHQudGV4dENvbnRlbnQ9Ilx1NjcwRFx1NTJBMVx1NkI2M1x1NTcyOFx1OTFDRFx1NTQyRlx1MjAyNiIsdC5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIiksZmV0Y2goIi9hcGkvcmVzdGFydCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKCl7YW4oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7YW4oKX0pfWZ1bmN0aW9uIGFuKCl7aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN0YXJ0LW92ZXJsYXkiKSl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5pZD0icmVzdGFydC1vdmVybGF5IixlLmNsYXNzTmFtZT0icmVzdGFydC1vdmVybGF5IixlLmlubmVySFRNTD0nPGRpdiBjbGFzcz0icmVzdGFydC1vdmVybGF5LWNvbnRlbnQiPjxkaXYgY2xhc3M9InJlc3RhcnQtc3Bpbm5lciI+PC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC10aXRsZSI+XHU2NzBEXHU1MkExXHU2QjYzXHU1NzI4XHU5MUNEXHU1NDJGPC9kaXY+PGRpdiBjbGFzcz0icmVzdGFydC1zdWJ0aXRsZSI+XHU3QTBEXHU1NDBFXHU1QzA2XHU4MUVBXHU1MkE4XHU1MjM3XHU2NUIwXHU5ODc1XHU5NzYyXHUyMDI2PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpO3ZhciB0PTAscj0xODAsaT1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKHQrKyxmZXRjaCgiL2FwaS9jb25maWciLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih1KXt1Lm9rJiYoY2xlYXJJbnRlcnZhbChpKSxsb2NhdGlvbi5yZWxvYWQoKSl9KS5jYXRjaChmdW5jdGlvbigpe30pLHQ+PXIpe2NsZWFySW50ZXJ2YWwoaSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIucmVzdGFydC1zdWJ0aXRsZSIpO2EmJihhLmlubmVySFRNTD0nXHU5MUNEXHU1NDJGXHU4RDg1XHU2NUY2XHVGRjBDXHU4QkY3IDxhIGhyZWY9ImphdmFzY3JpcHQ6bG9jYXRpb24ucmVsb2FkKCkiIHN0eWxlPSJjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUiPlx1NjI0Qlx1NTJBOFx1NTIzN1x1NjVCMDwvYT4gXHU5ODc1XHU5NzYyXHUzMDAyJyl9fSwyZTMpfX1mdW5jdGlvbiBtZihlLHQpe2lmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdGFydC1vdmVybGF5Iikpe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3IuaWQ9InJlc3RhcnQtb3ZlcmxheSIsci5jbGFzc05hbWU9InJlc3RhcnQtb3ZlcmxheSIsci5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InJlc3RhcnQtb3ZlcmxheS1jb250ZW50Ij48ZGl2IGNsYXNzPSJyZXN0YXJ0LXNwaW5uZXIiPjwvZGl2PjxkaXYgY2xhc3M9InJlc3RhcnQtdGl0bGUiPlx1ODFFQVx1NTJBOFx1NjZGNFx1NjVCMFx1NEUyRDwvZGl2PjxkaXYgY2xhc3M9InJlc3RhcnQtc3VidGl0bGUiPicrcChlKSsiIFx1MjE5MiAiK3AodCkrIjxicj5cdTZCNjNcdTU3MjhcdTRFMEJcdThGN0RcdTVFNzZcdTVCODlcdTg4QzVcdTY1QjBcdTcyNDhcdTY3MkNcdUZGMENcdTdBMERcdTU0MEVcdTVDMDZcdTgxRUFcdTUyQThcdTkxQ0RcdTU0MkZcdTIwMjY8L2Rpdj48L2Rpdj4iLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocil9fXZhciB4cyxsYSxoZT17cmVjb3JkaW5nOiExLGNhbmNlbGluZzohMSx0cmFuc2NyaXB0OiIiLHN0YXJ0WTowLG1vY2tUaW1lcjpudWxsfSxnZj02MCxTcz1bIlx1NUUyRVx1NjIxMVx1NjI4QSIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NCIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRSIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRVx1NjUzOVx1NjIxMFx1NTcwNlx1ODlEMlx1RkYwQyIsIlx1NUUyRVx1NjIxMVx1NjI4QVx1OTk5Nlx1OTg3NVx1NzY4NFx1NzY3Qlx1NUY1NVx1NjMwOVx1OTRBRVx1NjUzOVx1NjIxMFx1NTcwNlx1ODlEMlx1RkYwQ1x1NUU3Nlx1NTJBMFx1NEUwMFx1NzBCOVx1OTYzNFx1NUY3MSJdO2Z1bmN0aW9uIGhmKCl7dmFyIGU9MDtoZS5tb2NrVGltZXI9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtlPj1Tcy5sZW5ndGh8fChJcyhTc1tlXSksZSsrKX0sNDIwKX1mdW5jdGlvbiBjYSgpe2hlLm1vY2tUaW1lciYmKGNsZWFySW50ZXJ2YWwoaGUubW9ja1RpbWVyKSxoZS5tb2NrVGltZXI9bnVsbCl9ZnVuY3Rpb24gSXMoZSl7aGUudHJhbnNjcmlwdD1lfHwiIjt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC10ZXh0Iik7dCYmKHQudGV4dENvbnRlbnQ9aGUudHJhbnNjcmlwdCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7ciYmci5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtdGV4dCIsISFoZS50cmFuc2NyaXB0KX1mdW5jdGlvbiB5ZihlKXtpZihlKXtlLnByZXZlbnREZWZhdWx0KCksaGUuc3RhcnRZPXR5cGVvZiBlLmNsaWVudFk9PSJudW1iZXIiP2UuY2xpZW50WTowO3RyeXtlLnBvaW50ZXJJZCE9PXZvaWQgMCYmZS50YXJnZXQmJmUudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlJiZlLnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShlLnBvaW50ZXJJZCl9Y2F0Y2h7fX1oZS5yZWNvcmRpbmc9ITAsaGUuY2FuY2VsaW5nPSExLGhlLnRyYW5zY3JpcHQ9IiI7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXJlY29yZC1idG4iKTtpZih0KXt0LmNsYXNzTGlzdC5hZGQoImlzLXJlY29yZGluZyIpO3ZhciByPXQucXVlcnlTZWxlY3RvcigiLnZvaWNlLXJlY29yZC1sYWJlbCIpO3ImJihyLnRleHRDb250ZW50PSJcdTY3N0VcdTVGMDAgXHU1M0QxXHU5MDAxIil9dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7aSYmaS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iLCJpcy1jYW5jZWxpbmciLCJoYXMtdGV4dCIpLElzKCIiKTt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidm9pY2UtdHJhbnNjcmlwdC1zdGF0dXMiKTthJiYoYS50ZXh0Q29udGVudD0iXHU2QjYzXHU1NzI4XHU4MDQ2XHU1NDJDXHUyMDI2XHU0RTBBXHU2RUQxXHU1M0Q2XHU2RDg4IiksaGYoKX1mdW5jdGlvbiBiZihlKXtpZighKCFoZS5yZWNvcmRpbmd8fCFlKSl7dmFyIHQ9aGUuc3RhcnRZLSh0eXBlb2YgZS5jbGllbnRZPT0ibnVtYmVyIj9lLmNsaWVudFk6aGUuc3RhcnRZKSxyPXQ+Z2Y7aWYociE9PWhlLmNhbmNlbGluZyl7aGUuY2FuY2VsaW5nPXI7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvaWNlLXRyYW5zY3JpcHQtYnViYmxlIik7aSYmaS5jbGFzc0xpc3QudG9nZ2xlKCJpcy1jYW5jZWxpbmciLHIpO3ZhciBhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIiksdT1hJiZhLnF1ZXJ5U2VsZWN0b3IoIi52b2ljZS1yZWNvcmQtbGFiZWwiKTt1JiYodS50ZXh0Q29udGVudD1yPyJcdTY3N0VcdTVGMDAgXHU1M0Q2XHU2RDg4IjoiXHU2NzdFXHU1RjAwIFx1NTNEMVx1OTAwMSIpO3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LXN0YXR1cyIpO3MmJihzLnRleHRDb250ZW50PXI/Ilx1Njc3RVx1NUYwMFx1NjI0Qlx1NjMwNyBcdTUzRDZcdTZEODgiOiJcdTZCNjNcdTU3MjhcdTgwNDZcdTU0MkNcdTIwMjZcdTRFMEFcdTZFRDFcdTUzRDZcdTZEODgiKX19fWZ1bmN0aW9uIFRzKGUpe2lmKGhlLnJlY29yZGluZyl7ZSYmZS5wcmV2ZW50RGVmYXVsdCgpLGhlLnJlY29yZGluZz0hMSxjYSgpO3ZhciB0PSFoZS5jYW5jZWxpbmcmJiEhaGUudHJhbnNjcmlwdC50cmltKCkscj1oZS50cmFuc2NyaXB0O2RhKCksdCYmKEVmKHIpLGZhKCExKSl9fWZ1bmN0aW9uIGRhKCl7aGUuY2FuY2VsaW5nPSExO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS1yZWNvcmQtYnRuIik7aWYoZSl7ZS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1yZWNvcmRpbmciKTt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi52b2ljZS1yZWNvcmQtbGFiZWwiKTt0JiYodC50ZXh0Q29udGVudD0iXHU2MzA5XHU0RjRGIFx1OEJGNFx1OEJERCIpfXZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2b2ljZS10cmFuc2NyaXB0LWJ1YmJsZSIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIil9ZnVuY3Rpb24gRWYoZSl7dmFyIHQ9KGV8fCIiKS50cmltKCk7aWYodCl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHIpe3ZhciBpPXIudmFsdWV8fCIiLGE9aT9pLnJlcGxhY2UoL1xzKyQvLCIiKSsiICIrdDp0O3IudmFsdWU9YSxudChhLCEwKSxQdChyKTt0cnl7ci5zZXRTZWxlY3Rpb25SYW5nZShhLmxlbmd0aCxhLmxlbmd0aCl9Y2F0Y2h7fX19fWZ1bmN0aW9uIGZhKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKHQpe3ZhciByPXR5cGVvZiBlPT0iYm9vbGVhbiI/ZTohdC5jbGFzc0xpc3QuY29udGFpbnMoInZvaWNlLW1vZGUiKTtpZih0LmNsYXNzTGlzdC50b2dnbGUoInZvaWNlLW1vZGUiLHIpLCFyKXtoZS5yZWNvcmRpbmc9ITEsY2EoKSxkYSgpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZihpJiYhbi50ZXJtaW5hbEludGVyYWN0aXZlKXRyeXtpLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSl9Y2F0Y2h7fX19fWZ1bmN0aW9uIFB0KGUpe2lmKGUpe3ZhciB0PTM2LHI9MTIwLGk9RHIoKTtpZighZS52YWx1ZXx8ZS52YWx1ZS50cmltKCk9PT0iIil7ZS5zdHlsZS5oZWlnaHQ9dCsicHgiLGUuc3R5bGUubWluSGVpZ2h0PXQrInB4IixlLnN0eWxlLm92ZXJmbG93WT1pPyJhdXRvIjoiaGlkZGVuIixlLnNjcm9sbFRvcD0wLHdpKGUpO3JldHVybn12YXIgYT1lLnN0eWxlLm92ZXJmbG93WTtlLnN0eWxlLm92ZXJmbG93WT0iaGlkZGVuIixlLnN0eWxlLmhlaWdodD10KyJweCI7dmFyIHU9ZS5zY3JvbGxIZWlnaHQscz1NYXRoLm1heCh0LE1hdGgubWluKHUscikpLG89dT5yO2Uuc3R5bGUuaGVpZ2h0PXMrInB4IixlLnN0eWxlLm1pbkhlaWdodD10KyJweCIsZS5zdHlsZS5vdmVyZmxvd1k9b3x8aT8iYXV0byI6ImhpZGRlbiIsbz9EYShlKTplLnNjcm9sbFRvcD0wLHdpKGUpfX1mdW5jdGlvbiBGZigpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuITE7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiB0LmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIG9lKGUpPyEhKGUuc3RydWN0dXJlZFN0YXRlJiZlLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCk6ISFlJiZlLnN0YXR1cz09PSJydW5uaW5nIn12YXIgYnI9ITE7ZnVuY3Rpb24gcGEoKXtyZXR1cm4gbi5zZXNzaW9ucy5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBvZShlKT8hIShlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpJiYhZS5hcmNoaXZlZDplLnN0YXR1cz09PSJydW5uaW5nIiYmIWUuYXJjaGl2ZWR9KX1mdW5jdGlvbiBMcyhlKXtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD49MTApe2soIlx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NURGMlx1NkVFMVx1RkYwOFx1NjcwMFx1NTkxQSAxMCBcdTY3NjFcdUZGMDlcdUZGMENcdThCRjdcdTdCNDlcdTVGODVcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTVCOENcdTYyMTBcdTMwMDIiLCJ3YXJuaW5nIik7cmV0dXJufXZhciB0PSJjc3EtIitEYXRlLm5vdygpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDgpO24uY3Jvc3NTZXNzaW9uUXVldWUucHVzaCh7aWQ6dCx0ZXh0OmUsY3dkOkplKCksbW9kZTpuLmNoYXRNb2RlfHwibWFuYWdlZCIsdG9vbDp2dCgpLHF1ZXVlZEF0OkRhdGUubm93KCl9KSxVdCgpLEJ0KCl9ZnVuY3Rpb24gd2YoZSl7YnJ8fChicj0hMCxmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6ZS50b29sLGN3ZDplLmN3ZCxtb2RlOmUubW9kZSxpbml0aWFsSW5wdXQ6ZS50ZXh0fSkpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBicj0hMSx0LmVycm9yPyhrKHQuZXJyb3IsImVycm9yIiksbi5jcm9zc1Nlc3Npb25RdWV1ZS51bnNoaWZ0KGUpLFV0KCksQnQoKSxudWxsKTpvbih0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe2JyPSExLGsodCYmdC5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU2MzkyXHU5NjFGXHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSxuLmNyb3NzU2Vzc2lvblF1ZXVlLnVuc2hpZnQoZSksVXQoKSxCdCgpfSkpfWZ1bmN0aW9uIENmKGUpe3ZhciB0PW4uY3Jvc3NTZXNzaW9uUXVldWUuZmluZEluZGV4KGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pO2lmKCEodDwwKSl7dmFyIHI9bi5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwxKVswXTtVdCgpLEJ0KCksZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHtjb21tYW5kOnIudG9vbCxjd2Q6ci5jd2QsbW9kZTpyLm1vZGUsaW5pdGlhbElucHV0OnIudGV4dH0pKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcj8oayhpLmVycm9yLCJlcnJvciIpLG4uY3Jvc3NTZXNzaW9uUXVldWUuc3BsaWNlKHQsMCxyKSxVdCgpLEJ0KCksbnVsbCk6b24oaSl9KS5jYXRjaChmdW5jdGlvbihpKXtrKGkmJmkubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1NjM5Mlx1OTYxRlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbi5jcm9zc1Nlc3Npb25RdWV1ZS5zcGxpY2UodCwwLHIpLFV0KCksQnQoKX0pfX1mdW5jdGlvbiBCZihlKXt2YXIgdD1uLmNyb3NzU2Vzc2lvblF1ZXVlLmZpbmRJbmRleChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PWV9KTt0PDB8fChuLmNyb3NzU2Vzc2lvblF1ZXVlLnNwbGljZSh0LDEpLFV0KCksQnQoKSxuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTAmJmsoIlx1NjM5Mlx1OTYxRlx1NURGMlx1NkUwNVx1N0E3QVx1MzAwMiIsImluZm8iKSl9ZnVuY3Rpb24gYWkoKXtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aCE9PTAmJiFwYSgpJiYhYnIpe3ZhciBlPW4uY3Jvc3NTZXNzaW9uUXVldWUuc2hpZnQoKTtCdCgpLHdmKGUpfX1mdW5jdGlvbiBNcyhlKXt2YXIgdD1NYXRoLmZsb29yKChEYXRlLm5vdygpLWUpLzFlMyk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIHI9TWF0aC5mbG9vcih0LzYwKTtyZXR1cm4gcjw2MD9yKyJtIjpNYXRoLmZsb29yKHIvNjApKyJoIn1mdW5jdGlvbiBCdCgpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5jcm9zcy1zZXNzaW9uLXF1ZXVlIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKSxpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKTtpZihuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD09PTApe2UmJmUucmVtb3ZlKCksVXQoKTtyZXR1cm59dmFyIHU9dCYmIXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKSxzPXU/dDphLG89dT9yfHxpOm51bGw7aWYocyl7ZSYmZS5wYXJlbnROb2RlIT09cyYmKGUucmVtb3ZlKCksZT1udWxsKSxlP3UmJm8mJmUubmV4dFNpYmxpbmchPT1vJiZzLmluc2VydEJlZm9yZShlLG8pOihlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuY2xhc3NOYW1lPSJjcm9zcy1zZXNzaW9uLXF1ZXVlIixvP3MuaW5zZXJ0QmVmb3JlKGUsbyk6cy5hcHBlbmRDaGlsZChlKSk7dmFyIGw9bi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGgsYz1uLmNyb3NzU2Vzc2lvblF1ZXVlLm1hcChmdW5jdGlvbihmLHYpe3ZhciBtPWYudGV4dC5sZW5ndGg+NjA/Zi50ZXh0LnNsaWNlKDAsNjApKyJcdTIwMjYiOmYudGV4dCxiPU1zKGYucXVldWVkQXQpO3JldHVybic8ZGl2IGNsYXNzPSJxdWV1ZS1pdGVtIiBkYXRhLXF1ZXVlLWlkPSInK3AoZi5pZCkrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InF1ZXVlLWl0ZW0tdGV4dCIgdGl0bGU9IicrcChmLnRleHQpKyciPicrcChtKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1pdGVtLWFnZSI+JytiKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1zZW5kLW5vdyIgZGF0YS1xdWV1ZS1pZD0iJytwKGYuaWQpKyciIHRpdGxlPSJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDEiIHR5cGU9ImJ1dHRvbiI+XHU1M0QxXHU5MDAxPC9idXR0b24+PGJ1dHRvbiBjbGFzcz0icXVldWUtaXRlbS1jYW5jZWwiIGRhdGEtcXVldWUtaWQ9IicrcChmLmlkKSsnIiB0aXRsZT0iXHU1M0Q2XHU2RDg4IiB0eXBlPSJidXR0b24iPlx4RDc8L2J1dHRvbj48L2Rpdj4nfSkuam9pbigiIiksZD1sPjE/JzxkaXYgY2xhc3M9InF1ZXVlLWhlYWRlciI+PHNwYW4gY2xhc3M9InF1ZXVlLWhlYWRlci1sYWJlbCI+XHU2MzkyXHU5NjFGICcrbCsnIFx1Njc2MTwvc3Bhbj48YnV0dG9uIGNsYXNzPSJxdWV1ZS1oZWFkZXItY2xlYXIiIGlkPSJxdWV1ZS1jbGVhci1hbGwiIHR5cGU9ImJ1dHRvbiIgdGl0bGU9Ilx1NkUwNVx1N0E3QVx1NjM5Mlx1OTYxRiI+XHU2RTA1XHU3QTdBPC9idXR0b24+PC9kaXY+JzoiIjtlLmlubmVySFRNTD1kK2N9fXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYobi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnF1ZXVlLWl0ZW0tYWdlIik7bi5jcm9zc1Nlc3Npb25RdWV1ZS5mb3JFYWNoKGZ1bmN0aW9uKHQscil7ZVtyXSYmKGVbcl0udGV4dENvbnRlbnQ9TXModC5xdWV1ZWRBdCkpfSksYWkoKX19LDVlMyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O2lmKHQuY2xvc2VzdCgiI3F1ZXVlLWNsZWFyLWFsbCIpKXtlLnByZXZlbnREZWZhdWx0KCksbi5jcm9zc1Nlc3Npb25RdWV1ZT1bXSxVdCgpLEJ0KCksaygiXHU2MzkyXHU5NjFGXHU1REYyXHU2RTA1XHU3QTdBXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgcj10LmNsb3Nlc3QoIi5xdWV1ZS1pdGVtLXNlbmQtbm93Iik7aWYocil7ZS5wcmV2ZW50RGVmYXVsdCgpLENmKHIuZGF0YXNldC5xdWV1ZUlkKTtyZXR1cm59dmFyIGk9dC5jbG9zZXN0KCIucXVldWUtaXRlbS1jYW5jZWwiKTtpZihpKXtlLnByZXZlbnREZWZhdWx0KCksQmYoaS5kYXRhc2V0LnF1ZXVlSWQpO3JldHVybn19KTtmdW5jdGlvbiBxcygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0IiksdD1lP2UudmFsdWUudHJpbSgpOiIiO2lmKHQpe2lmKHBhKCkpe2UudmFsdWU9IiIsTHModCksaygiXHU1REYyXHU2MzkyXHU5NjFGXHVGRjBDXHU1QzA2XHU1NzI4XHU1RjUzXHU1MjREXHU0RjFBXHU4QkREXHU1QjhDXHU2MjEwXHU1NDBFXHU4MUVBXHU1MkE4XHU1M0QxXHU5MDAxXHUzMDAyIiwiaW5mbyIpO3JldHVybn12YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpO3ImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS52YWx1ZT0iIixlLnBsYWNlaG9sZGVyPSJcdTZCNjNcdTU3MjhcdTU0MkZcdTUyQThcdTIwMjYiLGUuZGlzYWJsZWQ9ITA7dmFyIGk9bi5jaGF0TW9kZXx8Im1hbmFnZWQiLGE9SmUoKSx1PXZ0KCk7ZmV0Y2goIi9hcGkvY29tbWFuZHMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHtjb21tYW5kOnUscHJvdmlkZXI6dSxjd2Q6YSxtb2RlOmksaW5pdGlhbElucHV0OnR9KSl9KS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24ocyl7aWYocy5lcnJvcil7ayhzLmVycm9yLCJlcnJvciIpLGUucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsZS5kaXNhYmxlZD0hMTtyZXR1cm59bi5zZWxlY3RlZElkPXMuaWQseWUoKSxuLmRyYWZ0c1tzLmlkXT0iIixDdCgpLFoocyksdmUoKSxFcihzLmlkKSx4bihzLmlkKSxmbihzLmlkKS50aGVuKGZ1bmN0aW9uKCl7ZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExLF90KCEwKX0pfSkuY2F0Y2goZnVuY3Rpb24ocyl7ayhzJiZzLm1lc3NhZ2V8fCh1PT09ImNvZGV4Ij8iXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4IENvZGV4IFx1NEYxQVx1OEJERFx1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHUzMDAyIiksImVycm9yIiksZS5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIixlLmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIERmKGUpe2U9ZXx8e307dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndlbGNvbWUtaW5wdXQiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPXQmJnQudmFsdWUudHJpbSgpP3QudmFsdWUudHJpbSgpOnI/ci52YWx1ZS50cmltKCk6IiI7aWYobi5zZWxlY3RlZElkKXtpJiZPcyhlKTtyZXR1cm59aWYoaSYmcGEoKSl7ciYmKHIudmFsdWU9IiIpLHQmJih0LnZhbHVlPSIiKSx3aShyKSxMcyhpKSxrKCJcdTVERjJcdTYzOTJcdTk2MUZcdUZGMENcdTVDMDZcdTU3MjhcdTVGNTNcdTUyNERcdTRGMUFcdThCRERcdTVCOENcdTYyMTBcdTU0MEVcdTgxRUFcdTUyQThcdTUzRDFcdTkwMDFcdTMwMDIiLCJpbmZvIik7cmV0dXJufXZhciBhPW4uY2hhdE1vZGV8fCJtYW5hZ2VkIix1PUplKCkscz12dCgpO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDpzLHByb3ZpZGVyOnMsY3dkOnUsbW9kZTphLGluaXRpYWxJbnB1dDppfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiBvLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uZXJyb3I/KGsoby5lcnJvciwiZXJyb3IiKSxudWxsKToobi5zZWxlY3RlZElkPW8uaWQseWUoKSxuLmRyYWZ0c1tvLmlkXT0iIixDdCgpLHImJihyLnZhbHVlPSIiKSx0JiYodC52YWx1ZT0iIiksWihvKSx2ZSgpLEVyKG8uaWQpLHhuKG8uaWQpLGZuKG8uaWQpKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe2sobyYmby5tZXNzYWdlfHwocz09PSJjb2RleCI/Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDb2RleCBcdTRGMUFcdThCRERcdTMwMDIiOiJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ2xhdWRlIFx1NEYxQVx1OEJERFx1MzAwMiIpLCJlcnJvciIpfSl9ZnVuY3Rpb24gRXIoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiB2LmlkPT09ZX0pLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIikscz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVybWluYWwtdGl0bGUiKSxvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC1pbmZvIiksbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdW1tYXJ5LXZhbHVlIiksYz1vZSh0KTtyJiZyLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixjKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGM/bi5jdXJyZW50Vmlldz0iY2hhdCI6bi5jdXJyZW50Vmlldz0idGVybWluYWwiO3ZhciBkPXQ/Z2kodC5jb21tYW5kKToiV2FuZCIsZj10P29yKHQpOiJcdTVGMDBcdTU5Q0JcdTVCRjlcdThCREQiO3MmJihzLnRleHRDb250ZW50PWQpLG8mJihvLnRleHRDb250ZW50PWYpLGwmJihsLnRleHRDb250ZW50PWQpLGN8fG4udGVybWluYWx8fHpuKCksYmkoKSxfdCghMCksY3x8ZXQoInZpZXctc3dpdGNoIix7Zm9yY2VSZXBsYXk6ITB9KX1mdW5jdGlvbiBPcyhlKXtlPWV8fHt9O3ZhciB0PSEhZS5pbnRlcnJ1cHQ7aWYobi50ZXJtaW5hbEludGVyYWN0aXZlKXJldHVybiBrKCJcdTdFQzhcdTdBRUZcdTRFQTRcdTRFOTJcdTZBMjFcdTVGMEZcdTVGMDBcdTU0MkZcdTY1RjZcdUZGMENcdThCRjdcdTc2RjRcdTYzQTVcdTU3MjhcdTdFQzhcdTdBRUZcdTRFMkRcdThGOTNcdTUxNjVcdTMwMDIiLCJpbmZvIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGk9cj9yLnZhbHVlOiIiLGE9SHQoKSx1PW4ucGVuZGluZ0F0dGFjaG1lbnRzLmxlbmd0aD4wO2lmKGl8fHUpe3ZhciBzPXUmJm4uc2VsZWN0ZWRJZD9tbShuLnNlbGVjdGVkSWQpLmNhdGNoKGZ1bmN0aW9uKG8pe2soIlx1OTY0NFx1NEVGNlx1NEUwQVx1NEYyMFx1NTkzMVx1OEQyNTogIisobyYmby5tZXNzYWdlfHxvKSwiZXJyb3IiKTt2YXIgbD1vIGluc3RhbmNlb2YgRXJyb3I/bzpuZXcgRXJyb3IoU3RyaW5nKG8pKTt0aHJvdyBsLl9fd2FuZFRvYXN0ZWQ9ITAsbH0pOlByb21pc2UucmVzb2x2ZShbXSk7cmV0dXJuIHMudGhlbihmdW5jdGlvbihvKXt2YXIgbD1nbShvKSxjPWwrKGl8fChvLmxlbmd0aD8iXHU4QkY3XHU2N0U1XHU3NzBCXHU5NjQ0XHU0RUY2XHUzMDAyIjoiIikpO28ubGVuZ3RoJiZ2bSgpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzIik7aWYoZCYmZC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxvZShhKSlyZXR1cm4ga2YoYyxyLGEse2ludGVycnVwdDp0fSk7dmFyIGY9TmYoYSxjKSx2PSFuLndzQ29ubmVjdGVkO3JldHVybiB2PyhWZihmKSxyJiYoci52YWx1ZT0iIixQdChyKSksbnQoIiIpLFByb21pc2UucmVzb2x2ZSgpKTpqZihhKS50aGVuKGZ1bmN0aW9uKG0pe2lmKCFtKXJldHVybiBudWxsO3ZhciBiPW4uY3VycmVudFZpZXc7aWYobSYmbS5wcm92aWRlcj09PSJjb2RleCImJm4uc2VsZWN0ZWRJZCE9PW0uaWQpdGhyb3cgbmV3IEVycm9yKCJDb2RleCBzZXNzaW9uIGNoYW5nZWQgYmVmb3JlIGlucHV0IHNlbmQuIik7cmV0dXJuIFJmKGYsImVudGVyX3RleHQiLDMwLGIpLnRoZW4oZnVuY3Rpb24oKXtyJiZyLnZhbHVlPT09aSYmKHIudmFsdWU9IiIsUHQocikpLG50KCIiKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7dGhyb3cgayh6cyhtKSwiZXJyb3IiKSxtJiYobS5fX3dhbmRUb2FzdGVkPSEwKSxtfSl9KS5jYXRjaChmdW5jdGlvbihvKXt0aHJvdyBvJiZvLl9fd2FuZFRvYXN0ZWR8fGsoenMobyksImVycm9yIiksb30pfXJldHVybiBQcm9taXNlLnJlc29sdmUoKX12YXIgUHM9e30sSHM9MzUwO2Z1bmN0aW9uIGtmKGUsdCxyLGkpe2k9aXx8e307dmFyIGE9ISFpLmludGVycnVwdDtpZighbi5zZWxlY3RlZElkfHwhZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIXIpcmV0dXJuIGsoIlx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHU9RGF0ZS5ub3coKSxzPVBzW3IuaWRdfHwwO2lmKHUtczxIcylyZXR1cm4gY29uc29sZS5sb2coIlt3YW5kXSBwb3N0U3RydWN0dXJlZElucHV0OiBkdXBsaWNhdGUgc3VibWl0ICh3aXRoaW4gIitIcysibXMpIGlnbm9yZWQgZm9yIHNlc3Npb24iLHIuaWQpLFByb21pc2UucmVzb2x2ZSgpO1BzW3IuaWRdPXU7dmFyIG89ISEoci5zdHJ1Y3R1cmVkU3RhdGUmJnIuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZyLnN0YXR1cz09PSJydW5uaW5nIiksbD1vJiZhLGM9byYmIWEsZD1hcihBcnJheS5pc0FycmF5KHIubWVzc2FnZXMpP3IubWVzc2FnZXMuc2xpY2UoKTpbXSksZjtpZihjKXt2YXIgdj1BcnJheS5pc0FycmF5KHIucXVldWVkTWVzc2FnZXMpP3IucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTt2LnB1c2goZSksZj17aWQ6ci5pZCxxdWV1ZWRNZXNzYWdlczp2fSxaKGYpO3ZhciBtPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihGKXtyZXR1cm4gRi5pZD09PXIuaWR9KXx8cjtuLmN1cnJlbnRNZXNzYWdlcz1SZShtLHR0KG0sbS5vdXRwdXQsITEpKSxVbigiXHU1REYyXHU1MkEwXHU1MTY1XHU2MzkyXHU5NjFGXHUyMDI2IiksWWUoITApLHVuKCksayh2Lmxlbmd0aD4xPyJcdTVERjJcdTUyQTBcdTUxNjVcdTYzOTJcdTk2MUZcdUZGMDhcdTUxNzEgIit2Lmxlbmd0aCsiIFx1Njc2MVx1N0I0OVx1NUY4NVx1RkYwOSI6Ilx1NURGMlx1NTJBMFx1NTE2NVx1NjM5Mlx1OTYxRlx1RkYwQ1x1N0I0OVx1NUY1M1x1NTI0RFx1NTZERVx1NTkwRFx1NUI4Q1x1NjIxMFx1NEYxQVx1ODFFQVx1NTJBOFx1NTNEMVx1OTAwMVx1MzAwMiIsImluZm8iKX1lbHNle3ZhciBiPXtyb2xlOiJ1c2VyIixjb250ZW50Olt7dHlwZToidGV4dCIsdGV4dDplfV19O2QucHVzaChiKTt2YXIgZz1PYmplY3QuYXNzaWduKHt9LHIuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITB9KTtaKHtpZDpyLmlkLHN0YXR1czoicnVubmluZyIsbWVzc2FnZXM6ZCxzdHJ1Y3R1cmVkU3RhdGU6Z30pLG4uY3VycmVudE1lc3NhZ2VzPVJlKE9iamVjdC5hc3NpZ24oe30scix7c3RhdHVzOiJydW5uaW5nIixtZXNzYWdlczpkLHN0cnVjdHVyZWRTdGF0ZTpnfSksZCksVW4obD8iXHU1REYyXHU0RTJEXHU2NUFEXHVGRjBDXHU2QjYzXHU1NzI4XHU1OTA0XHU3NDA2XHU2NUIwXHU2RDg4XHU2MDZGXHUyMDI2IjoiXHU2MDFEXHU4MDAzXHU0RTJEXHUyMDI2IiksWWUoITApLGwmJmsoIlx1NURGMlx1NEUyRFx1NjVBRFx1NEUwQVx1NEUwMFx1Njc2MVx1NTZERVx1NTkwRFx1RkYwQ1x1NkI2M1x1NTcyOFx1NTkwNFx1NzQwNlx1NjVCMFx1NkQ4OFx1NjA2Rlx1MjAyNiIsImluZm8iKX10JiYodC52YWx1ZT0iIixQdCh0KSksbnQoIiIpO3ZhciB5PW4ucXVldWVFcG9jaCx3PXR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOkRhdGUubm93KCkudG9TdHJpbmcoMzYpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDEwKTtyZXR1cm4gZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK3IuaWQrIi9tZXNzYWdlcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsaW50ZXJydXB0Omx8fHZvaWQgMCxpZGVtcG90ZW5jeUtleTp3fSl9KS50aGVuKGZ1bmN0aW9uKEYpe3JldHVybiBGLm9rP0YuanNvbigpOkYuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue2Vycm9yOiJcdThCRjdcdTZDNDJcdTU5MzFcdThEMjUifX0pLnRoZW4oZnVuY3Rpb24oRSl7dmFyIEE9bmV3IEVycm9yKEUmJkUuZXJyb3J8fCJcdTY1RTBcdTZDRDVcdTUzRDFcdTkwMDFcdTdFRDNcdTY3ODRcdTUzMTZcdTZEODhcdTYwNkZcdTMwMDIiKTt0aHJvdyBBLmVycm9yQ29kZT1FJiZFLmVycm9yQ29kZSxBLmh0dHBTdGF0dXM9Ri5zdGF0dXMsQX0pfSkudGhlbihmdW5jdGlvbihGKXtpZihGJiZGLmVycm9yKXRocm93IG5ldyBFcnJvcihGLmVycm9yKTtpZihGJiZGLmlkJiYobi5xdWV1ZUVwb2NoPnkmJkYucXVldWVkTWVzc2FnZXMmJmRlbGV0ZSBGLnF1ZXVlZE1lc3NhZ2VzLFooRiksRi5pZD09PW4uc2VsZWN0ZWRJZCkpe3ZhciBFPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihBKXtyZXR1cm4gQS5pZD09PUYuaWR9KXx8RjtuLmN1cnJlbnRNZXNzYWdlcz1SZShFLHR0KEUsRi5vdXRwdXQsITEpKSxZZSghMCksdW4oKX19KS5jYXRjaChmdW5jdGlvbihGKXtpZihGJiZGLmVycm9yQ29kZT09PSJkdXBsaWNhdGVfaWRlbXBvdGVuY3lfa2V5Iil7ayhGLm1lc3NhZ2V8fCJcdTY4QzBcdTZENEJcdTUyMzBcdTkxQ0RcdTU5MERcdTUzRDFcdTkwMDFcdUZGMENcdTVERjJcdTYyRTZcdTYyMkFcdTMwMDIiLCJ3YXJuaW5nIiksVW4oIkVudGVyIFx1NTNEMVx1OTAwMSBceEI3IFNoaWZ0K0VudGVyIFx1NjM2Mlx1ODg0QyIpO3JldHVybn1pZihjKXt2YXIgRT1BcnJheS5pc0FycmF5KHIucXVldWVkTWVzc2FnZXMpP3IucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZihaKHtpZDpyLmlkLHF1ZXVlZE1lc3NhZ2VzOkV9KSxyLmlkPT09bi5zZWxlY3RlZElkKXt2YXIgQT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oeil7cmV0dXJuIHouaWQ9PT1yLmlkfSl8fHI7bi5jdXJyZW50TWVzc2FnZXM9UmUoQSx0dChBLEEub3V0cHV0LCExKSksWWUoITApLHVuKCl9fWVsc2V7dmFyIHg9ZC5zbGljZSgwLC0xKTtaKHtpZDpyLmlkLHN0YXR1czpyLnN0YXR1cyxtZXNzYWdlczp4LHN0cnVjdHVyZWRTdGF0ZTpPYmplY3QuYXNzaWduKHt9LHIuc3RydWN0dXJlZFN0YXRlfHx7fSx7aW5GbGlnaHQ6ITF9KX0pLHIuaWQ9PT1uLnNlbGVjdGVkSWQmJihuLmN1cnJlbnRNZXNzYWdlcz1SZShPYmplY3QuYXNzaWduKHt9LHIse21lc3NhZ2VzOngsc3RydWN0dXJlZFN0YXRlOk9iamVjdC5hc3NpZ24oe30sci5zdHJ1Y3R1cmVkU3RhdGV8fHt9LHtpbkZsaWdodDohMX0pfSkseCksWWUoITApKX12YXIgUz1GJiZGLm1lc3NhZ2V8fCIiLFA9Uz09PSJGYWlsZWQgdG8gZmV0Y2gifHxTPT09Ik5ldHdvcmtFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gZmV0Y2ggcmVzb3VyY2UuInx8Uz09PSJMb2FkIGZhaWxlZCJ8fC9hYm9ydGVkfGFib3J0ZXJyb3J8bmV0d29ya2Vycm9yfGZhaWxlZCB0byBmZXRjaC9pLnRlc3QoUyk7UHx8ayhGJiZGLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTUzRDFcdTkwMDFcdTdFRDNcdTY3ODRcdTUzMTZcdTZEODhcdTYwNkZcdTMwMDIiLCJlcnJvciIpLFVuKCJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKX0pfWZ1bmN0aW9uIFVuKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1oaW50Iik7dCYmKHQudGV4dENvbnRlbnQ9ZSl9ZnVuY3Rpb24gdW4oKXtEdCgpfXZhciBBZj0xMCxfcz0yNDtmdW5jdGlvbiB4ZihlKXtpZih0eXBlb2YgZSE9InN0cmluZyIpcmV0dXJuIiI7dmFyIHQ9ZS5yZXBsYWNlKC9ccysvZywiICIpLnRyaW0oKTtyZXR1cm4gdC5sZW5ndGg8PV9zP3Q6dC5zbGljZSgwLF9zKSsiXHUyMDI2In1mdW5jdGlvbiBqcyhlKXtyZXR1cm4gbi5xdWV1ZUJhckRyYWcmJnR5cGVvZiBuLnF1ZXVlQmFyRHJhZy5vcmlnSW5kZXg9PSJudW1iZXIiP24ucXVldWVCYXJEcmFnLm9yaWdJbmRleDp0eXBlb2Ygbi5xdWV1ZUJhckhvdmVySW5kZXg9PSJudW1iZXIiJiZuLnF1ZXVlQmFySG92ZXJJbmRleD49MCYmbi5xdWV1ZUJhckhvdmVySW5kZXg8ZT9uLnF1ZXVlQmFySG92ZXJJbmRleDowfWZ1bmN0aW9uIFNmKGUsdCxyKXt2YXIgaT1lLmxlbmd0aDw9MSxhPSJxdWV1ZS1iYXIiO3ImJihhKz0iIHF1ZXVlLWJhci1jYXBhY2l0eSIpLHQmJihhKz0iIHF1ZXVlLWJhci1pbmZsaWdodCIpO2Zvcih2YXIgdT1qcyhlLmxlbmd0aCkscz10PyJcdTRFMkRcdTY1QURcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdUZGMENcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiOiJcdTdBQ0JcdTUzNzNcdTUzRDFcdTkwMDFcdThGRDlcdTY3NjEiLG89IiIsbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYz1lW2xdPT1udWxsPyIiOlN0cmluZyhlW2xdKSxkPWw9PT11LGY9InF1ZXVlLWJhci1pdGVtIjtkJiYoZis9IiBleHBhbmRlZCIpLGkmJihmKz0iIHF1ZXVlLWJhci1pdGVtLXNpbmdsZSIpO3ZhciB2PWQ/YysiXHVGRjA4XHU2MzA5XHU0RjRGXHU1M0VGXHU2MkQ2XHU1MkE4XHU4QzAzXHU1RThGXHVGRjA5IjpjO28rPSc8bGkgY2xhc3M9IicrZisnIiBkYXRhLWluZGV4PSInK2wrJyIgZGF0YS1hY3Rpb249ImRyYWciIHRpdGxlPSInK3AodikrJyI+PHNwYW4gY2xhc3M9InF1ZXVlLWJhci1pdGVtLWluZGV4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+JysobCsxKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS10ZXh0Ij4nK3AoeGYoYykpKyc8L3NwYW4+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlIiBkYXRhLWFjdGlvbj0icHJvbW90ZS1pdGVtIiB0aXRsZT0iJytwKHMpKyciIGFyaWEtbGFiZWw9Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1OEZEOVx1Njc2MSIgdGFiaW5kZXg9IicrKGQ/IjAiOiItMSIpKyciPjxzdmcgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xMyAyIEw0IDE0IEwxMSAxNCBMMTAgMjIgTDIwIDkgTDEzIDkgWiIvPjwvc3ZnPjxzcGFuIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1wcm9tb3RlLWxhYmVsIj5cdTdBQ0JcdTUzNzM8L3NwYW4+PC9idXR0b24+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJxdWV1ZS1iYXItaXRlbS1kZWxldGUiIGRhdGEtYWN0aW9uPSJkZWxldGUiIGFyaWEtbGFiZWw9Ilx1NTIyMFx1OTY2NFx1OEZEOVx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2RiIgdGl0bGU9Ilx1NTIyMFx1OTY2NCIgdGFiaW5kZXg9IicrKGQ/IjAiOiItMSIpKyciPjxzdmcgd2lkdGg9IjkiIGhlaWdodD0iOSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjE4IiB5Mj0iNiIvPjwvc3ZnPjwvYnV0dG9uPjwvbGk+J31yZXR1cm4nPGRpdiBjbGFzcz0iJythKyciIGRhdGEtcXVldWUtYmFyPSIxIj48b2wgY2xhc3M9InF1ZXVlLWJhci1saXN0IiBkYXRhLXF1ZXVlLWxpc3Q9IjEiPicrbysiPC9vbD48L2Rpdj4ifWZ1bmN0aW9uIER0KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoZSl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHMpe3JldHVybiBzLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGk9cj9NaSh0KTpbXTtpZihpPUFycmF5LmlzQXJyYXkoaSk/aTpbXSwhcnx8aS5sZW5ndGg9PT0wKXtlLmhpZGRlbj0hMCxlLmlubmVySFRNTD0iIixuLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsO3JldHVybn1pZighbi5xdWV1ZUJhckRyYWcpe2UuaGlkZGVuPSExO3ZhciBhPSEhKHQuc3RydWN0dXJlZFN0YXRlJiZ0LnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmdC5zdGF0dXM9PT0icnVubmluZyIpLHU9aS5sZW5ndGg+PUFmO2UuaW5uZXJIVE1MPVNmKGksYSx1KX19fWZ1bmN0aW9uIE5zKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInF1ZXVlLWJhci1ob3N0Iik7aWYoISghZXx8ZS5oaWRkZW4pKXt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXF1ZXVlLWxpc3Q9IjEiXScpO2lmKHQpZm9yKHZhciByPXQuY2hpbGRyZW4saT1qcyhyLmxlbmd0aCksYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yW2FdLHM9YT09PWk7aWYodS5jbGFzc0xpc3QuY29udGFpbnMoImV4cGFuZGVkIikhPT1zKXt1LmNsYXNzTGlzdC50b2dnbGUoImV4cGFuZGVkIixzKTt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIi5xdWV1ZS1iYXItaXRlbS1kZWxldGUiKTtvJiYoby50YWJJbmRleD1zPzA6LTEpfX19fWZ1bmN0aW9uIHZhKGUpe3ZhciB0PWU9PW51bGw/bnVsbDpOdW1iZXIoZSk7bi5xdWV1ZUJhckhvdmVySW5kZXghPT10JiYobi5xdWV1ZUJhckhvdmVySW5kZXg9dCxOcygpKX1mdW5jdGlvbiB1aShlLHQpe1ooe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6dH0pO3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5pZD09PWUuaWR9KXx8ZTtuLmN1cnJlbnRNZXNzYWdlcz1SZShyLHR0KHIsci5vdXRwdXQsITEpKSxZZSghMCksRHQoKX1mdW5jdGlvbiBJZihlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49ci5sZW5ndGgpKXt2YXIgaT1yLnNsaWNlKCksYT1yLnNsaWNlKDAsZSkuY29uY2F0KHIuc2xpY2UoZSsxKSk7dHlwZW9mIG4ucXVldWVCYXJIb3ZlckluZGV4PT0ibnVtYmVyIiYmKG4ucXVldWVCYXJIb3ZlckluZGV4PT09ZT9uLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsOm4ucXVldWVCYXJIb3ZlckluZGV4PmUmJihuLnF1ZXVlQmFySG92ZXJJbmRleC09MSkpLFooe2lkOnQuaWQscXVldWVkTWVzc2FnZXM6YX0pO3ZhciB1PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PXQuaWR9KXx8dDtuLmN1cnJlbnRNZXNzYWdlcz1SZSh1LHR0KHUsdS5vdXRwdXQsITEpKSxZZSghMCksRHQoKSxmZXRjaCgiL2FwaS9zdHJ1Y3R1cmVkLXNlc3Npb25zLyIrdC5pZCsiL3F1ZXVlZC8iK2Use21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihzKXtpZighcy5vaylyZXR1cm4gcy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24obyl7dGhyb3cgbmV3IEVycm9yKG8mJm8uZXJyb3J8fCJcdTUyMjBcdTk2NjRcdTU5MzFcdThEMjUiKX0pfSkuY2F0Y2goZnVuY3Rpb24ocyl7dWkodCxpKSxrKHMmJnMubWVzc2FnZXx8Ilx1NTIyMFx1OTY2NFx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIEhtKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoZSl7dmFyIHQ9QXJyYXkuaXNBcnJheShlLnF1ZXVlZE1lc3NhZ2VzKT9lLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYodC5sZW5ndGghPT0wKXtuLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsLFooe2lkOmUuaWQscXVldWVkTWVzc2FnZXM6W119KTt2YXIgcj1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaWQ9PT1lLmlkfSl8fGU7bi5jdXJyZW50TWVzc2FnZXM9UmUocix0dChyLHIub3V0cHV0LCExKSksWWUoITApLER0KCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2UuaWQrIi9xdWV1ZWQiLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoIWkub2spcmV0dXJuIGkuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue319KS50aGVuKGZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcihhJiZhLmVycm9yfHwiXHU2RTA1XHU3QTdBXHU1OTMxXHU4RDI1Iil9KTtrKCJcdTVERjJcdTZFMDVcdTdBN0EgIit0Lmxlbmd0aCsiIFx1Njc2MVx1NjM5Mlx1OTYxRlx1NkQ4OFx1NjA2Rlx1MzAwMiIsImluZm8iKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3VpKGUsdCksayhpJiZpLm1lc3NhZ2V8fCJcdTZFMDVcdTdBN0FcdTYzOTJcdTk2MUZcdTZEODhcdTYwNkZcdTU5MzFcdThEMjVcdTMwMDIiLCJlcnJvciIpfSl9fX1mdW5jdGlvbiBUZihlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oYyl7cmV0dXJuIGMuaWQ9PT1uLnNlbGVjdGVkSWR9KTtpZih0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQucXVldWVkTWVzc2FnZXMpP3QucXVldWVkTWVzc2FnZXMuc2xpY2UoKTpbXTtpZighKGU8MHx8ZT49ci5sZW5ndGgpKXt2YXIgaT1yW2VdLGE9ci5zbGljZSgwLGUpLmNvbmNhdChyLnNsaWNlKGUrMSkpLHU9ci5zbGljZSgpLHM9ISEodC5zdHJ1Y3R1cmVkU3RhdGUmJnQuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0JiZ0LnN0YXR1cz09PSJydW5uaW5nIik7dHlwZW9mIG4ucXVldWVCYXJIb3ZlckluZGV4PT0ibnVtYmVyIiYmKG4ucXVldWVCYXJIb3ZlckluZGV4PT09ZT9uLnF1ZXVlQmFySG92ZXJJbmRleD1udWxsOm4ucXVldWVCYXJIb3ZlckluZGV4PmUmJihuLnF1ZXVlQmFySG92ZXJJbmRleC09MSkpLFooe2lkOnQuaWQscXVldWVkTWVzc2FnZXM6YX0pO3ZhciBvPXR5cGVvZiBjcnlwdG88InUiJiZjcnlwdG8ucmFuZG9tVVVJRD9jcnlwdG8ucmFuZG9tVVVJRCgpOkRhdGUubm93KCkudG9TdHJpbmcoMzYpKyItIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLDEwKSxsPXtpbnB1dDppLGlkZW1wb3RlbmN5S2V5Om99O3MmJihsLmludGVycnVwdD0hMCxsLnByZXNlcnZlUXVldWU9ITApLGsocz8iXHU1REYyXHU4QkY3XHU2QzQyXHU0RTJEXHU2NUFEXHU1RjUzXHU1MjREXHU1NkRFXHU1OTBEXHVGRjBDXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxXHUzMDAyIjoiXHU1REYyXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxXHU4RkQ5XHU2NzYxXHU2RDg4XHU2MDZGXHUzMDAyIiwiaW5mbyIpLGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMvIit0LmlkKyIvbWVzc2FnZXMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KGwpfSkudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gYy5vaz9jLmpzb24oKTpjLmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt9fSkudGhlbihmdW5jdGlvbihkKXt0aHJvdyBuZXcgRXJyb3IoZCYmZC5lcnJvcnx8Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNSIpfSl9KS50aGVuKGZ1bmN0aW9uKGMpe2lmKGMmJmMuaWQmJihaKGMpLGMuaWQ9PT1uLnNlbGVjdGVkSWQpKXt2YXIgZD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1jLmlkfSl8fGM7bi5jdXJyZW50TWVzc2FnZXM9UmUoZCx0dChkLGMub3V0cHV0LCExKSksWWUoITApLER0KCl9fSkuY2F0Y2goZnVuY3Rpb24oYyl7dWkodCx1KSxrKGMmJmMubWVzc2FnZXx8Ilx1N0FDQlx1NTM3M1x1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19fWZ1bmN0aW9uIExmKGUsdCl7dmFyIHI9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGYpe3JldHVybiBmLmlkPT09bi5zZWxlY3RlZElkfSk7aWYocil7dmFyIGk9QXJyYXkuaXNBcnJheShyLnF1ZXVlZE1lc3NhZ2VzKT9yLnF1ZXVlZE1lc3NhZ2VzLnNsaWNlKCk6W107aWYoIShpLmxlbmd0aDw9MSkmJnQpe3ZhciBhPXQucGFyZW50RWxlbWVudDtpZihhKXt2YXIgdT1OdW1iZXIodC5nZXRBdHRyaWJ1dGUoImRhdGEtaW5kZXgiKSkscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLmNoaWxkcmVuKSxvPXMubWFwKGZ1bmN0aW9uKGYpe3JldHVybiBmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSksbD0zO28ubGVuZ3RoPj0yJiYobD1NYXRoLm1heCgwLG9bMV0udG9wLW9bMF0udG9wLW9bMF0uaGVpZ2h0KSksZS5wcmV2ZW50RGVmYXVsdCgpO3RyeXt0LnNldFBvaW50ZXJDYXB0dXJlKGUucG9pbnRlcklkKX1jYXRjaHt9aWYobmF2aWdhdG9yJiZuYXZpZ2F0b3IudmlicmF0ZSl0cnl7bmF2aWdhdG9yLnZpYnJhdGUoOCl9Y2F0Y2h7fW4ucXVldWVCYXJEcmFnPXtwb2ludGVySWQ6ZS5wb2ludGVySWQsaGFuZGxlRWw6dCxpdGVtRWw6dCxsaXN0RWw6YSxzaWJsaW5nczpzLHJlY3RzOm8sb3JpZ0luZGV4OnUsdGFyZ2V0SW5kZXg6dSxzdGFydFk6ZS5jbGllbnRZLGdhcDpsLHF1ZXVlU25hcHNob3Q6aX0sdC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLE5zKCkscy5mb3JFYWNoKGZ1bmN0aW9uKGYpe2YhPT10JiZmLmNsYXNzTGlzdC5hZGQoInF1ZXVlLWJhci1pdGVtLXNsaWRpbmciKX0pO3ZhciBjPWZ1bmN0aW9uKGYpe3FmKGYpfSxkPWZ1bmN0aW9uKGYpe09mKGYpfTtuLnF1ZXVlQmFyRHJhZy5tb3ZlSGFuZGxlcj1jLG4ucXVldWVCYXJEcmFnLnVwSGFuZGxlcj1kLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLGMpLHQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixkKSx0LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLGQpfX19fWZ1bmN0aW9uIE1mKGUsdCxyLGkpe2Zvcih2YXIgYT1yLmxlbmd0aCx1PVtdLHM9MDtzPGE7cysrKXUucHVzaChzKTt1LnNwbGljZShlLDEpLHUuc3BsaWNlKHQsMCxlKTtmb3IodmFyIG89clswXS50b3AsbD1yWzBdLnRvcCxjPTE7YzxhO2MrKylyW2NdLnRvcDxsJiYobD1yW2NdLnRvcCk7Zm9yKHZhciBkPXt9LGY9bCx2PTA7djxhO3YrKyl7dmFyIG09dVt2XTtkW21dPWYsZis9clttXS5oZWlnaHQraX1yZXR1cm4gZH1mdW5jdGlvbiBxZihlKXt2YXIgdD1uLnF1ZXVlQmFyRHJhZztpZighKCF0fHxlLnBvaW50ZXJJZCE9PXQucG9pbnRlcklkKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPWUuY2xpZW50WS10LnN0YXJ0WTt0Lml0ZW1FbC5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoIityKyJweCkiO2Zvcih2YXIgaT10LnJlY3RzW3Qub3JpZ0luZGV4XS50b3ArdC5yZWN0c1t0Lm9yaWdJbmRleF0uaGVpZ2h0LzIrcixhPXQub3JpZ0luZGV4LHU9MDt1PHQucmVjdHMubGVuZ3RoO3UrKylpZih1IT09dC5vcmlnSW5kZXgpe3ZhciBzPXQucmVjdHNbdV0udG9wK3QucmVjdHNbdV0uaGVpZ2h0LzI7dTx0Lm9yaWdJbmRleCYmaTxzP2E9TWF0aC5taW4oYSx1KTp1PnQub3JpZ0luZGV4JiZpPnMmJihhPU1hdGgubWF4KGEsdSkpfWlmKGEhPT10LnRhcmdldEluZGV4KXt0LnRhcmdldEluZGV4PWE7dmFyIG89TWYodC5vcmlnSW5kZXgsYSx0LnJlY3RzLHQuZ2FwKTt0LnNpYmxpbmdzLmZvckVhY2goZnVuY3Rpb24obCxjKXtpZihjIT09dC5vcmlnSW5kZXgpe3ZhciBkPW9bY10tdC5yZWN0c1tjXS50b3A7bC5zdHlsZS50cmFuc2Zvcm09ZD8idHJhbnNsYXRlWSgiK2QrInB4KSI6IiJ9fSl9fX1mdW5jdGlvbiBPZihlKXt2YXIgdD1uLnF1ZXVlQmFyRHJhZztpZighKCF0fHxlJiZlLnBvaW50ZXJJZCE9PXQucG9pbnRlcklkKSl7dHJ5e3QuaGFuZGxlRWwucmVsZWFzZVBvaW50ZXJDYXB0dXJlKHQucG9pbnRlcklkKX1jYXRjaHt9dC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdC5tb3ZlSGFuZGxlciksdC5oYW5kbGVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHQudXBIYW5kbGVyKSx0LmhhbmRsZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHQudXBIYW5kbGVyKTt2YXIgcj10Lm9yaWdJbmRleCxpPXQudGFyZ2V0SW5kZXgsYT10LnF1ZXVlU25hcHNob3Q7aWYodC5zaWJsaW5ncy5mb3JFYWNoKGZ1bmN0aW9uKGMpe2Muc3R5bGUudHJhbnNmb3JtPSIiLGMuY2xhc3NMaXN0LnJlbW92ZSgicXVldWUtYmFyLWl0ZW0tc2xpZGluZyIpfSksdC5pdGVtRWwuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSxuLnF1ZXVlQmFyRHJhZz1udWxsLHI9PT1pKXtEdCgpO3JldHVybn1mb3IodmFyIHU9W10scz0wO3M8YS5sZW5ndGg7cysrKXUucHVzaChzKTt1LnNwbGljZShyLDEpLHUuc3BsaWNlKGksMCxyKTt2YXIgbz11Lm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYVtjXX0pO24ucXVldWVCYXJIb3ZlckluZGV4PWk7dmFyIGw9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLmlkPT09bi5zZWxlY3RlZElkfSk7aWYoIWwpe0R0KCk7cmV0dXJufVooe2lkOmwuaWQscXVldWVkTWVzc2FnZXM6b30pLER0KCksZmV0Y2goIi9hcGkvc3RydWN0dXJlZC1zZXNzaW9ucy8iK2wuaWQrIi9xdWV1ZWQiLHttZXRob2Q6IlBBVENIIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7b3JkZXI6dX0pfSkudGhlbihmdW5jdGlvbihjKXtpZighYy5vaylyZXR1cm4gYy5qc29uKCkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm57fX0pLnRoZW4oZnVuY3Rpb24oZCl7dGhyb3cgbmV3IEVycm9yKGQmJmQuZXJyb3J8fCJcdTYzOTJcdTVFOEZcdTU5MzFcdThEMjUiKX0pfSkuY2F0Y2goZnVuY3Rpb24oYyl7dWkobCxhKSxrKGMmJmMubWVzc2FnZXx8Ilx1OEMwM1x1NjU3NFx1NjM5Mlx1OTYxRlx1OTg3QVx1NUU4Rlx1NTkzMVx1OEQyNVx1MzAwMiIsImVycm9yIil9KX19ZnVuY3Rpb24gUGYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicXVldWUtYmFyLWhvc3QiKTshZXx8ZS5fX3F1ZXVlRGVsZWdhdGVkfHwoZS5fX3F1ZXVlRGVsZWdhdGVkPSEwLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHQpe3ZhciByPXQudGFyZ2V0LGk9ciYmci5jbG9zZXN0P3IuY2xvc2VzdCgiW2RhdGEtYWN0aW9uXSIpOm51bGw7aWYoISghaXx8IWUuY29udGFpbnMoaSkpKXt2YXIgYT1pLmdldEF0dHJpYnV0ZSgiZGF0YS1hY3Rpb24iKTtpZihhIT09ImRyYWciKXtpZih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSxhPT09InByb21vdGUtaXRlbSIpe3ZhciB1PWkuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik7dSYmVGYoTnVtYmVyKHUuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKTtyZXR1cm59aWYoYT09PSJkZWxldGUiKXt2YXIgcz1pLmNsb3Nlc3QoIi5xdWV1ZS1iYXItaXRlbSIpO3MmJklmKE51bWJlcihzLmdldEF0dHJpYnV0ZSgiZGF0YS1pbmRleCIpKSk7cmV0dXJufX19fSksZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKHQpe2lmKCFuLnF1ZXVlQmFyRHJhZyl7dmFyIHI9dC50YXJnZXQsaT1yJiZyLmNsb3Nlc3Q/ci5jbG9zZXN0KCIucXVldWUtYmFyLWl0ZW0iKTpudWxsOyFpfHwhZS5jb250YWlucyhpKXx8dmEoTnVtYmVyKGkuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKX19KSxlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7bi5xdWV1ZUJhckRyYWd8fHZhKG51bGwpfSksZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsZnVuY3Rpb24odCl7aWYoISh0LmJ1dHRvbiE9PXZvaWQgMCYmdC5idXR0b24hPT0wKSl7dmFyIHI9dC50YXJnZXQ7aWYoIShyJiZyLmNsb3Nlc3QmJnIuY2xvc2VzdCgnW2RhdGEtYWN0aW9uPSJkZWxldGUiXSwgW2RhdGEtYWN0aW9uPSJwcm9tb3RlLWl0ZW0iXScpKSl7dmFyIGk9ciYmci5jbG9zZXN0P3IuY2xvc2VzdCgiLnF1ZXVlLWJhci1pdGVtIik6bnVsbDtpJiYodmEoTnVtYmVyKGkuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IikpKSxMZih0LGkpKX19fSkpfWZ1bmN0aW9uIFJzKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLmNvbnRlbnQpKXJldHVybiAwO2Zvcih2YXIgdD0wLHI9MDtyPGUuY29udGVudC5sZW5ndGg7cisrKXt2YXIgaT1lLmNvbnRlbnRbcl07aWYoaSl7aWYodHlwZW9mIGkudGV4dD09InN0cmluZyImJih0Kz1pLnRleHQubGVuZ3RoKSx0eXBlb2YgaS50aGlua2luZz09InN0cmluZyImJih0Kz1pLnRoaW5raW5nLmxlbmd0aCksdHlwZW9mIGkuY29udGVudD09InN0cmluZyIpdCs9aS5jb250ZW50Lmxlbmd0aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaS5jb250ZW50KSlmb3IodmFyIGE9MDthPGkuY29udGVudC5sZW5ndGg7YSsrKXt2YXIgdT1pLmNvbnRlbnRbYV07dSYmdHlwZW9mIHUudGV4dD09InN0cmluZyImJih0Kz11LnRleHQubGVuZ3RoKX1pZihpLmlucHV0KXRyeXt0Kz1KU09OLnN0cmluZ2lmeShpLmlucHV0KS5sZW5ndGh9Y2F0Y2h7fX19cmV0dXJuIHR9ZnVuY3Rpb24gSGYoZSx0KXtpZighZSlyZXR1cm4gdDtpZighdClyZXR1cm4gZTt2YXIgcj1ScyhlKSxpPVJzKHQpO3JldHVybiBpPj1yP3Q6T2JqZWN0LmFzc2lnbih7fSxlLHt1c2FnZTp0LnVzYWdlfHxlLnVzYWdlfSl9ZnVuY3Rpb24gUmUoZSx0KXt2YXIgcj1BcnJheS5pc0FycmF5KHQpP2FyKHQpOltdLGk9QXJyYXkuaXNBcnJheShyKT9yLnNsaWNlKCk6W107aWYoIWV8fGUuc2Vzc2lvbktpbmQhPT0ic3RydWN0dXJlZCIpcmV0dXJuIGk7aWYoZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0KXt2YXIgYT1pW2kubGVuZ3RoLTFdOyghYXx8YS5yb2xlIT09ImFzc2lzdGFudCIpJiZpLnB1c2goe3JvbGU6ImFzc2lzdGFudCIsY29udGVudDpbe3R5cGU6InRleHQiLHRleHQ6IiIsX19wcm9jZXNzaW5nOiEwfV19KX1yZXR1cm4gaX1mdW5jdGlvbiBXcygpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PW4uc2VsZWN0ZWRJZH0pO2pyKGUpLHVuKCl9ZnVuY3Rpb24genMoZSl7dmFyIHQ9SHQoKSxyPXQmJnQucHJvdmlkZXI9PT0iY29kZXgiO3JldHVybiBlJiYoZS5lcnJvckNvZGU9PT0iU0VTU0lPTl9OT1RfUlVOTklORyJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9fUFRZIik/cj8iQ29kZXggXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGXHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENvZGV4IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1NTcyOFx1NEY2MFx1NEUwQlx1NkIyMVx1NTNEMVx1OTAwMVx1NkQ4OFx1NjA2Rlx1NjVGNlx1ODFFQVx1NTJBOFx1NjA2Mlx1NTkwRFx1MzAwMiI6Ilx1NEYxQVx1OEJERFx1NURGMlx1N0VEM1x1Njc1Rlx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU1NzI4XHU0RjYwXHU0RTBCXHU2QjIxXHU1M0QxXHU5MDAxXHU2RDg4XHU2MDZGXHU2NUY2XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHUzMDAyIjplJiZlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PVF9GT1VORCI/Ilx1NEYxQVx1OEJERFx1NEUwRFx1NUI1OFx1NTcyOFx1RkYwQ1x1OEJGN1x1OTFDRFx1NjVCMFx1OTAwOVx1NjJFOVx1NjIxNlx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiI6ZSYmZS5tZXNzYWdlfHwocj8iQ29kZXggXHU0RjFBXHU4QkREXHU2NjgyXHU0RTBEXHU1M0VGXHU3NTI4XHVGRjFCXHU4MkU1XHU1QjU4XHU1NzI4IENvZGV4IFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1RkYwQ1x1NUMwNlx1ODFFQVx1NTJBOFx1NUMxRFx1OEJENVx1NjA2Mlx1NTkwRFx1MzAwMiI6Ilx1NEYxQVx1OEJERFx1NjY4Mlx1NEUwRFx1NTNFRlx1NzUyOFx1RkYxQlx1ODJFNVx1NUI1OFx1NTcyOCBDbGF1ZGUgXHU1Mzg2XHU1M0YyXHU0RjFBXHU4QkREXHVGRjBDXHU1QzA2XHU4MUVBXHU1MkE4XHU1QzFEXHU4QkQ1XHU2MDYyXHU1OTBEXHUzMDAyIil9ZnVuY3Rpb24gVnMoZSl7dmFyIHQ9bmV3IEVycm9yKGUmJmUuZXJyb3J8fCJcdTRGMUFcdThCRERcdTVERjJcdTdFRDNcdTY3NUZcdTMwMDIiKTtyZXR1cm4gZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYodC5lcnJvckNvZGU9ZS5lcnJvckNvZGV8fG51bGwsdC5zZXNzaW9uSWQ9ZS5zZXNzaW9uSWR8fG4uc2VsZWN0ZWRJZHx8bnVsbCx0LnNlc3Npb25TdGF0dXM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsInNlc3Npb25TdGF0dXMiKT9lLnNlc3Npb25TdGF0dXM6bnVsbCksdH1mdW5jdGlvbiBVcyhlKXtyZXR1cm4gZSYmKGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX1JVTk5JTkcifHxlLmVycm9yQ29kZT09PSJTRVNTSU9OX05PX1BUWSJ8fGUuZXJyb3JDb2RlPT09IlNFU1NJT05fTk9UX0ZPVU5EIil9ZnVuY3Rpb24gX2YoZSx0KXtlJiZaKHtpZDplLHN0YXR1czp0fHwiZXhpdGVkIn0pfWZ1bmN0aW9uIF9tKGUpe2lmKCFlfHwhQXJyYXkuaXNBcnJheShlLm1lc3NhZ2VzKXx8ZS5tZXNzYWdlcy5sZW5ndGg8MilyZXR1cm4hMTt2YXIgdD1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJ1c2VyIiYmQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpJiZpLmNvbnRlbnQuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS50eXBlPT09InRleHQiJiZ0eXBlb2YgYS50ZXh0PT0ic3RyaW5nIiYmYS50ZXh0LnRyaW0oKS5sZW5ndGg+MH0pfSkscj1lLm1lc3NhZ2VzLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIGkmJmkucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGkuY29udGVudCkmJmkuY29udGVudC5zb21lKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnR5cGU9PT0idGV4dCImJnR5cGVvZiBhLnRleHQ9PSJzdHJpbmciJiZhLnRleHQudHJpbSgpLmxlbmd0aD4wfSl9KTtyZXR1cm4gdCYmcn1mdW5jdGlvbiBtYShlKXtyZXR1cm4hIShlJiYhb2UoZSkmJihlLnByb3ZpZGVyPT09ImNsYXVkZSJ8fGUucHJvdmlkZXI9PT0iY29kZXgiKSYmZS5zdGF0dXMhPT0icnVubmluZyImJmUuY2xhdWRlU2Vzc2lvbklkKX1mdW5jdGlvbiBqZihlLHQpe2lmKCFlKXJldHVybiBrKCJcdTRGMUFcdThCRERcdTRFMERcdTVCNThcdTU3MjhcdUZGMENcdThCRjdcdTkxQ0RcdTY1QjBcdTkwMDlcdTYyRTlcdTYyMTZcdTY1QjBcdTVFRkFcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLFByb21pc2UucmVzb2x2ZShudWxsKTtpZihlLnN0YXR1cz09PSJydW5uaW5nIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpO2lmKCFtYShlKSl7dmFyIHI9ZSYmZS5wcm92aWRlcj09PSJjb2RleCI/IkNvZGV4IjoiQ2xhdWRlIjtyZXR1cm4gaygiXHU4QkU1XHU0RjFBXHU4QkREXHU2Q0ExXHU2NzA5XHU1M0VGXHU2MDYyXHU1OTBEXHU3Njg0ICIrcisiIFx1NTM4Nlx1NTNGMlx1NEUwQVx1NEUwQlx1NjU4N1x1RkYwQ1x1OEJGN1x1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksUHJvbWlzZS5yZXNvbHZlKG51bGwpfXJldHVybiBubyhlLmlkLHQpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/KFooaSksdmUoKSx4bihpLmlkKSxmbihpLmlkKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIF90KCEwKSxpfSkpOm51bGx9KX1mdW5jdGlvbiBOZihlLHQpe3JldHVyblt0LCJcciJdfWZ1bmN0aW9uIFJmKGUsdCxyLGkpe3ZhciBhPUFycmF5LmlzQXJyYXkoZSk/ZS5maWx0ZXIoZnVuY3Rpb24ocyl7cmV0dXJuISFzfSk6W107aWYoYS5sZW5ndGg9PT0wKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgdT10eXBlb2Ygcj09Im51bWJlciI/cjowO3JldHVybiBhLnJlZHVjZShmdW5jdGlvbihzLG8sbCl7cmV0dXJuIHMudGhlbihmdW5jdGlvbigpe3JldHVybiBsPjAmJnU+MD9uZXcgUHJvbWlzZShmdW5jdGlvbihjKXtzZXRUaW1lb3V0KGMsdSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHB0KG8sbD09PWEubGVuZ3RoLTE/dDp2b2lkIDAsaSl9KTpwdChvLGw9PT1hLmxlbmd0aC0xP3Q6dm9pZCAwLGkpfSl9LFByb21pc2UucmVzb2x2ZSgpKX12YXIgV2Y9NWUzLHpmPTEwMDtmdW5jdGlvbiBnYShlKXtlJiYobi5wZW5kaW5nTWVzc2FnZXMubGVuZ3RoPj16ZiYmbi5wZW5kaW5nTWVzc2FnZXMuc2hpZnQoKSxuLnBlbmRpbmdNZXNzYWdlcy5wdXNoKHtpbnB1dDplLGF0OkRhdGUubm93KCl9KSl9ZnVuY3Rpb24gVmYoZSl7dmFyIHQ9QXJyYXkuaXNBcnJheShlKT9lLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4hIXJ9KTpbXTt0LmZvckVhY2goZnVuY3Rpb24ocil7Z2Eocil9KX1mdW5jdGlvbiBVZihlKXtpZighKHR5cGVvZiBlIT0ic3RyaW5nInx8IWUpKXt2YXIgdD1lLnJlcGxhY2UoL1x4MWJcWzIwMH4vZywiIikucmVwbGFjZSgvXHgxYlxbMjAxfi9nLCIiKTsvKD86XnxcbilccypcL2NsZWFyXHMqKD86XHJ8XG58JCkvLnRlc3QodCkmJnR5cGVvZiBuPCJ1IiYmbiYmKG4udGVybWluYWxPdXRwdXRNYXJrZXI9KG4udGVybWluYWxPdXRwdXQmJm4udGVybWluYWxPdXRwdXQubGVuZ3RoKXwwKX19ZnVuY3Rpb24gcHQoZSx0LHIpe3JldHVybiFlfHwhbi5zZWxlY3RlZElkP1Byb21pc2UucmVzb2x2ZSgpOihVZihlKSxuLm1lc3NhZ2VRdWV1ZS5wdXNoKGUpLG4uaW5wdXRRdWV1ZT1uLmlucHV0UXVldWUudGhlbihmdW5jdGlvbigpe3JldHVybiBLZihlLHQscikuZmluYWxseShmdW5jdGlvbigpe3ZhciBpPW4ubWVzc2FnZVF1ZXVlLmluZGV4T2YoZSk7aT4tMSYmbi5tZXNzYWdlUXVldWUuc3BsaWNlKGksMSl9KX0pLG4uaW5wdXRRdWV1ZSl9ZnVuY3Rpb24gS2YoZSx0LHIpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBpPW4uc2VsZWN0ZWRJZCxhPXJ8fG4uY3VycmVudFZpZXc7cmV0dXJuIEZmKCk/bi53c0Nvbm5lY3RlZD9mZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2krIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzphLHNob3J0Y3V0S2V5OnR8fHZvaWQgMH0pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5vaz91Lmpzb24oKTp1Lmpzb24oKS5jYXRjaChmdW5jdGlvbigpe3JldHVybntlcnJvcjoiXHU4QkY3XHU2QzQyXHU1OTMxXHU4RDI1In19KS50aGVuKGZ1bmN0aW9uKHMpe3ZhciBvPVZzKHMpO3Rocm93IG8uaHR0cFN0YXR1cz11LnN0YXR1cyxjb25zb2xlLmVycm9yKCJbd2FuZF0gcG9zdElucHV0OiByZXF1ZXN0IGZhaWxlZCIse3N0YXR1czp1LnN0YXR1cyxlcnJvckNvZGU6by5lcnJvckNvZGUsbWVzc2FnZTpvLm1lc3NhZ2Usc2Vzc2lvbklkOml9KSxVcyhvKSYmX2YoaSxvLnNlc3Npb25TdGF0dXN8fCJleGl0ZWQiKSxvfSl9KS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiB1JiZ1LmlkJiYoWih1KSx1LmlkPT09bi5zZWxlY3RlZElkJiYodS5tZXNzYWdlcyYmdS5tZXNzYWdlcy5sZW5ndGg+MCYmKG4uY3VycmVudE1lc3NhZ2VzPXUubWVzc2FnZXMpLFllKCEwKSkpLHV9KTooZ2EoZSksY29uc29sZS5sb2coIlt3YW5kXSBwb3N0SW5wdXQ6IFdlYlNvY2tldCBkaXNjb25uZWN0ZWQsIHF1ZXVlZCBtZXNzYWdlIix7c2Vzc2lvbklkOm4uc2VsZWN0ZWRJZCxpbnB1dExlbmd0aDplLmxlbmd0aH0pLFByb21pc2UucmVzb2x2ZSgpKTpuLndzQ29ubmVjdGVkPyhjb25zb2xlLndhcm4oIlt3YW5kXSBwb3N0SW5wdXQ6IHNlc3Npb24gbm90IHJ1bm5pbmcsIHNraXBwaW5nIHNlbmQiLHtzZXNzaW9uSWQ6bi5zZWxlY3RlZElkfSksaygiXHU0RjFBXHU4QkREXHU2NzJBXHU4RkQwXHU4ODRDXHVGRjBDXHU2QjYzXHU1NzI4XHU3QjQ5XHU1Rjg1XHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU1NDBFXHU5MUNEXHU4QkQ1XHUzMDAyIiwiaW5mbyIpLFByb21pc2UucmVzb2x2ZSgpKTooZ2EoZSksY29uc29sZS5sb2coIlt3YW5kXSBwb3N0SW5wdXQ6IHNlc3Npb24gbm90IHJ1bm5pbmcsIHF1ZXVlZCBmb3IgcmVjb25uZWN0Iix7c2Vzc2lvbklkOm4uc2VsZWN0ZWRJZCxpbnB1dExlbmd0aDplLmxlbmd0aH0pLFByb21pc2UucmVzb2x2ZSgpKX1mdW5jdGlvbiBqbShlKXtyZXR1cm4gcHQoZSl9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gbi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT09bi5zZWxlY3RlZElkfSl8fG51bGx9ZnVuY3Rpb24gTm0oZSl7cmV0dXJuIGUmJmUucHJvdmlkZXI9PT0iY29kZXgiP2AKYDoiXHIifWZ1bmN0aW9uIGhhKCl7cmV0dXJuISFuLnNlbGVjdGVkSWQmJm4uY3VycmVudFZpZXc9PT0idGVybWluYWwifWZ1bmN0aW9uIEpmKGUpe3JldHVybiEoIW4udGVybWluYWx8fCFlfHxlIT09bi5zZWxlY3RlZElkfHxuLnRlcm1pbmFsU2Vzc2lvbklkJiZuLnRlcm1pbmFsU2Vzc2lvbklkIT09ZSl9ZnVuY3Rpb24gS3MoZSl7aWYoIW4udGVybWluYWxJbnRlcmFjdGl2ZXx8IWhhKCl8fGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5pc0NvbXBvc2luZylyZXR1cm4hMTt2YXIgdD1lLnRhcmdldDtyZXR1cm4gdD8hKHQuY2xvc2VzdCYmdC5jbG9zZXN0KCIjbWluaS1rZXlib2FyZCIpfHxlcCh0KSk6ITB9dmFyIFlmPXtFc2M6ImVzY2FwZSIsQXJyb3dVcDoidXAiLEFycm93RG93bjoiZG93biIsQXJyb3dMZWZ0OiJsZWZ0IixBcnJvd1JpZ2h0OiJyaWdodCIsRW50ZXI6ImVudGVyIixUYWI6InRhYiIsQmFja3NwYWNlOiJiYWNrc3BhY2UiLEhvbWU6ImhvbWUiLEVuZDoiZW5kIixQYWdlVXA6InBhZ2V1cCIsUGFnZURvd246InBhZ2Vkb3duIixEZWxldGU6ImRlbGV0ZSIsSW5zZXJ0OiJpbnNlcnQiLCIgIjoic3BhY2UifSxHZj17c3BhY2U6IiAiLHRhYjoiCSIsc2hpZnRfdGFiOiJceDFCW1oiLGJhY2tzcGFjZToiXHg3RiIsaG9tZToiXHgxQltIIixlbmQ6Ilx4MUJbRiIscGFnZXVwOiJceDFCWzV+IixwYWdlZG93bjoiXHgxQls2fiIsZGVsZXRlOiJceDFCWzN+IixpbnNlcnQ6Ilx4MUJbMn4ifSxKcz17IiAiOjAsIlsiOjI3LCJcXCI6MjgsIl0iOjI5LCJeIjozMCxfOjMxfSxRZj00MDAsJGY9MTAsWGY9OCxzaT01NCxzbj04LHlhPVt7a2V5OiJlbnRlciIsbGFiZWw6IkVudGVyIn0se2tleToiY3RybF9jIixsYWJlbDoiQ3RybCtDIn0se2tleToiZXNjYXBlIixsYWJlbDoiRXNjIn0se2tleToic2hpZnRfdGFiIixsYWJlbDoiU2hpZnQrVGFiIn1dLFpmPW5ldyBTZXQoWyJtaW5pLWtleWJvYXJkLWZhYiIsIm1pbmkta2V5Ym9hcmQtdG9nZ2xlIiwidGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIl0pO2Z1bmN0aW9uIGVwKGUpe3JldHVybiEhKGUmJlpmLmhhcyhlLmlkKSl9dmFyIHRwPW5ldyBTZXQoWyJjdHJsIiwiYWx0Iiwic2hpZnQiXSk7ZnVuY3Rpb24gWXMoZSl7cmV0dXJuIHRwLmhhcyhlKX1mdW5jdGlvbiBucChlKXtyZXR1cm4gR2ZbZV18fCIifWZ1bmN0aW9uIHJwKGUpe3ZhciB0PWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdD49ImEiJiZ0PD0ieiI/U3RyaW5nLmZyb21DaGFyQ29kZSh0LmNoYXJDb2RlQXQoMCktOTYpOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChKcyx0KT9TdHJpbmcuZnJvbUNoYXJDb2RlKEpzW3RdKToiIn1mdW5jdGlvbiBpcChlKXtyZXR1cm4gWWZbZS5rZXldfHxlLmtleX1mdW5jdGlvbiBhcChlLHQpe3JldHVybntjdHJsOmUuY3RybEtleSxhbHQ6ZS5hbHRLZXksc2hpZnQ6ZS5zaGlmdEtleSYmKHQubGVuZ3RoPT09MXx8dD09PSJ0YWIiKSxtZXRhOmUubWV0YUtleX19ZnVuY3Rpb24gR3MoZSx0KXtlJiZwdChlLHQpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZnVuY3Rpb24gdXAoKXtsbygpfWZ1bmN0aW9uIGJhKGUpe24ua2V5Ym9hcmRQb3B1cE9wZW49ITEsZSE9PSExJiZsaSgpLGxwKCl9ZnVuY3Rpb24gc3AoKXtoYSgpJiZBbighbi50ZXJtaW5hbEludGVyYWN0aXZlKX1mdW5jdGlvbiBBbihlKXt2YXIgdD0hIWUmJmhhKCk7bi50ZXJtaW5hbEludGVyYWN0aXZlIT09dCYmKG4udGVybWluYWxJbnRlcmFjdGl2ZT10LHQ/KGNwKCksYmEoITEpLHVwKCksaygiXHU3RUM4XHU3QUVGXHU0RUE0XHU0RTkyXHU2QTIxXHU1RjBGXHU1REYyXHU1RjAwXHU1NDJGIiwiaW5mbyIpKTooZHAoKSxsaSgpKSxGcigpKX1mdW5jdGlvbiBFYSgpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihyKXtyZXR1cm4gci5pZD09PW4uc2VsZWN0ZWRJZH0pLHQ9IWV8fGUuc3RhdHVzIT09InJ1bm5pbmcifHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsIjtpZih0JiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUpe0FuKCExKTtyZXR1cm59KCFlfHxuLmN1cnJlbnRWaWV3IT09InRlcm1pbmFsIikmJm4ua2V5Ym9hcmRQb3B1cE9wZW4mJihuLmtleWJvYXJkUG9wdXBPcGVuPSExKSxGcigpfWZ1bmN0aW9uIEZyKCl7dmFyIGU9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHkpe3JldHVybiB5LmlkPT09bi5zZWxlY3RlZElkfSksdD1vZShlKSxyPWUmJmUucHJvdmlkZXI9PT0iY29kZXgiLGk9dD8hIShlJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpOiEhZSYmZS5zdGF0dXM9PT0icnVubmluZyIsYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksdT1bInRlcm1pbmFsLWludGVyYWN0aXZlLXRvZ2dsZS10b3AiXTt1LmZvckVhY2goZnVuY3Rpb24oeSl7dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoeSk7aWYodyl7dy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG4udGVybWluYWxJbnRlcmFjdGl2ZSksdy5jbGFzc0xpc3QudG9nZ2xlKCJpcy1vbiIsbi50ZXJtaW5hbEludGVyYWN0aXZlKSx3LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsdHx8bi5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCJ8fCFlKSx3LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIixuLnRlcm1pbmFsSW50ZXJhY3RpdmU/InRydWUiOiJmYWxzZSIpO3ZhciBGPXcucXVlcnlTZWxlY3RvcigiLnBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGUiKTtGJiYoRi50ZXh0Q29udGVudD1uLnRlcm1pbmFsSW50ZXJhY3RpdmU/Ilx1NUYwMCI6Ilx1NTE3MyIpfX0pO3ZhciBzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1oaW50Iik7cyYmKHMuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIix0PyEwOm4uY3VycmVudFZpZXc9PT0idGVybWluYWwiKSwhdCYmZSYmKHMudGV4dENvbnRlbnQ9cj8iRW50ZXIgXHU1M0QxXHU5MDAxIFx4QjcgY2hhdCBcdTRFM0FcdTg5RTNcdTY3OTBcdTg5QzZcdTU2RkVcdUZGMEN0ZXJtaW5hbCBcdTRFM0FcdTUzOUZcdTU5Q0JcdThGOTNcdTUxRkEiOiJFbnRlciBcdTUzRDFcdTkwMDEgXHhCNyBTaGlmdCtFbnRlciBcdTYzNjJcdTg4NEMiKSk7dmFyIG89IXQmJiFpJiZtYShlKTthJiYoYS5wbGFjZWhvbGRlcj1MbyhlLG4udGVybWluYWxJbnRlcmFjdGl2ZSksYS5kaXNhYmxlZD0hdCYmISFlJiYhaSYmIW8sYS5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLGEuZGlzYWJsZWQ/InRydWUiOiJmYWxzZSIpLGEucmVhZE9ubHk9ITEsYS5jbGFzc0xpc3QudG9nZ2xlKCJpcy10ZXJtaW5hbC1wYXNzdGhyb3VnaCIsISFuLnRlcm1pbmFsSW50ZXJhY3RpdmUpKTt2YXIgbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtY29tcG9zZXIiKTtsJiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUmJmwuY2xhc3NMaXN0LmNvbnRhaW5zKCJ2b2ljZS1tb2RlIikmJihsLmNsYXNzTGlzdC5yZW1vdmUoInZvaWNlLW1vZGUiKSxoZS5yZWNvcmRpbmc9ITEsY2EoKSxkYSgpKTt2YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VuZC1pbnB1dC1idXR0b24iKSxkPXQmJmk7YyYmKGMuZGlzYWJsZWQ9IXQmJiEhZSYmIWkmJiFvLGMuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdD9kPyJcdTYzOTJcdTk2MUZcdTUzRDFcdTkwMDFcdUZGMDhcdTVGNTNcdTUyNERcdTU2REVcdTU5MERcdTdFRDNcdTY3NUZcdTU0MEVcdTU5MDRcdTc0MDZcdUZGMDkiOiJcdTUzRDFcdTkwMDEiOnI/aT8iXHU1M0QxXHU5MDAxXHU3RUQ5IENvZGV4IjoiQ29kZXggXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIjohZXx8aXx8bz8iXHU1M0QxXHU5MDAxIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIiksYy5jbGFzc0xpc3QudG9nZ2xlKCJxdWV1ZS1tb2RlIixkKSk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIik7aWYoZil7dmFyIHY9JGEoZSk7Zi5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCF2LmFjdGl2ZSl9dmFyIG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0b3AtYnV0dG9uIik7aWYobSl7dmFyIGI9JGEoZSk7bS5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFiLmFjdGl2ZSl9dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2cmJmcuY2xhc3NMaXN0LnRvZ2dsZSgiaW50ZXJhY3RpdmUiLCF0JiZuLnRlcm1pbmFsSW50ZXJhY3RpdmUpLGRzKCl9ZnVuY3Rpb24gb2koKXt2YXIgZT13aW5kb3cuZ2V0U2VsZWN0aW9uJiZ3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIWV8fGUuaXNDb2xsYXBzZWQpcmV0dXJuITE7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpO2lmKCF0KXJldHVybiExO3ZhciByPWUuYW5jaG9yTm9kZTtyZXR1cm4gciYmci5ub2RlVHlwZT09PTMmJihyPXIucGFyZW50Tm9kZSksISEociYmdC5jb250YWlucyhyKSl9ZnVuY3Rpb24gRmEoZSl7aWYoS3MoZSkmJiFlLm1ldGFLZXkpe3ZhciB0PWlwKGUpO2lmKHQpe3ZhciByPWFwKGUsdCk7aWYoIVlzKHQpJiYhKHIuY3RybCYmdC5sZW5ndGg9PT0xJiZ0LnRvTG93ZXJDYXNlKCk9PT0iYyImJm9pKCkpKXt2YXIgaT0kcyh0LHIpO2kmJihlLnByZXZlbnREZWZhdWx0KCksR3MoaSx0KSl9fX19ZnVuY3Rpb24gb3AoKXtuLnRlcm1pbmFsJiZPZCg1MDApfWZ1bmN0aW9uIGxwKCl7ZnIoKX1mdW5jdGlvbiBSbShlKXtlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSwhKG4uY3VycmVudFZpZXchPT0idGVybWluYWwifHwhbi5zZWxlY3RlZElkKSYmKG4ua2V5Ym9hcmRQb3B1cE9wZW49IW4ua2V5Ym9hcmRQb3B1cE9wZW4sRnIoKSl9ZnVuY3Rpb24gUXMoKXtuLmtleWJvYXJkUG9wdXBPcGVuPSExLEZyKCl9ZnVuY3Rpb24gY3AoKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixGYSwhMCl9ZnVuY3Rpb24gZHAoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixGYSwhMCl9ZnVuY3Rpb24gJHMoZSx0KXt2YXIgcj10fHx7Y3RybDohMSxhbHQ6ITEsc2hpZnQ6ITF9O2lmKFlzKGUpKXJldHVybiIiO2lmKGU9PT0idGFiIiYmci5zaGlmdClyZXR1cm4iXHgxQltaIjt2YXIgaT1ucChlKTtpZihpKXJldHVybiBpO2lmKGUuaW5kZXhPZigiY3RybF8iKT09PTApcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLTk2KTt2YXIgYT13cihlKTtpZihhKXJldHVybiBhO2lmKCFlKXJldHVybiIiO3ZhciB1PWUubGVuZ3RoPT09MT9lOiIiO3JldHVybiB1PyhyLnNoaWZ0JiYodT11LnRvVXBwZXJDYXNlKCkpLHIuY3RybD9ycCh1KTpyLmFsdD8iXHgxQiIrdTp1KToiIn1mdW5jdGlvbiBsaSgpe24ubW9kaWZpZXJzLmN0cmw9ITEsbi5tb2RpZmllcnMuYWx0PSExLG4ubW9kaWZpZXJzLnNoaWZ0PSExLGZwKCl9ZnVuY3Rpb24gZnAoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWluaS1rZXlib2FyZCIpO2UmJlsiY3RybCIsImFsdCIsInNoaWZ0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgcj1lLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLWtleT0iJyt0KyciXScpO3ImJnIuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIiwhIW4ubW9kaWZpZXJzW3RdKX0pfWZ1bmN0aW9uIHdyKGUpe3N3aXRjaChlKXtjYXNlInllcyI6cmV0dXJuInlcciI7Y2FzZSJubyI6cmV0dXJuIm5cciI7Y2FzZSJ1cCI6cmV0dXJuIlx4MUJbQSI7Y2FzZSJkb3duIjpyZXR1cm4iXHgxQltCIjtjYXNlImxlZnQiOnJldHVybiJceDFCW0QiO2Nhc2UicmlnaHQiOnJldHVybiJceDFCW0MiO2Nhc2UiZW50ZXIiOnJldHVybiJcciI7Y2FzZSJjdHJsX2MiOnJldHVybiIDIjtjYXNlImN0cmxfZCI6cmV0dXJuIgQiO2Nhc2UiY3RybF9sIjpyZXR1cm4iXGYiO2Nhc2UiY3RybF91IjpyZXR1cm4iFSI7Y2FzZSJjdHJsX2siOnJldHVybiJcdiI7Y2FzZSJjdHJsX3ciOnJldHVybiIXIjtjYXNlImN0cmxfeiI6cmV0dXJuIhoiO2Nhc2UiZXNjYXBlIjpyZXR1cm4iXHgxQiI7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gcHAoKXtpZihuLnBlbmRpbmdNZXNzYWdlcy5sZW5ndGghPT0wKXt2YXIgZT1IdCgpO2lmKG9lKGUpKXtuLnBlbmRpbmdNZXNzYWdlcz1bXTtyZXR1cm59dmFyIHQ9RGF0ZS5ub3coKSxyPVtdLGk9MDtuLnBlbmRpbmdNZXNzYWdlcy5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHR5cGVvZiB1PT0ic3RyaW5nIil7ci5wdXNoKHUpO3JldHVybn1pZighKCF1fHx0eXBlb2YgdS5pbnB1dCE9InN0cmluZyIpKXtpZih0LSh1LmF0fHwwKT5XZil7aSsrO3JldHVybn1yLnB1c2godS5pbnB1dCl9fSksbi5wZW5kaW5nTWVzc2FnZXM9W10saT4wJiZjb25zb2xlLmxvZygiW3dhbmRdIGZsdXNoUGVuZGluZ01lc3NhZ2VzOiBkcm9wcGVkICIraSsiIHN0YWxlIGlucHV0KHMpIik7dmFyIGE9UHJvbWlzZS5yZXNvbHZlKCk7ci5mb3JFYWNoKGZ1bmN0aW9uKHUpe2E9YS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHZwKHUpLmNhdGNoKGZ1bmN0aW9uKCl7fSl9KX0pfX1mdW5jdGlvbiB2cChlKXtpZighZXx8IW4uc2VsZWN0ZWRJZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9bi5zZWxlY3RlZElkO3JldHVybiBmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK3QrIi9pbnB1dCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkoe2lucHV0OmUsdmlldzpuLmN1cnJlbnRWaWV3fSl9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLm9rP3IuanNvbigpOnIuanNvbigpLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJue2Vycm9yOiJcdThCRjdcdTZDNDJcdTU5MzFcdThEMjUifX0pLnRoZW4oZnVuY3Rpb24oaSl7dmFyIGE9VnMoaSk7aWYoYS5odHRwU3RhdHVzPXIuc3RhdHVzLFVzKGEpKXJldHVybiBjb25zb2xlLmxvZygiW3dhbmRdIHNlbmRJbnB1dERpcmVjdDogc2Vzc2lvbiB1bmF2YWlsYWJsZSwgZHJvcHBpbmciLHtzZXNzaW9uSWQ6dCxlcnJvckNvZGU6YS5lcnJvckNvZGV9KSxudWxsO3Rocm93IGF9KX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHImJnIuaWQmJihaKHIpLHIuaWQ9PT1uLnNlbGVjdGVkSWQmJihyLm1lc3NhZ2VzJiZyLm1lc3NhZ2VzLmxlbmd0aD4wJiYobi5jdXJyZW50TWVzc2FnZXM9ci5tZXNzYWdlcyksWWUoITApKSkscn0pfWZ1bmN0aW9uIHdhKCl7bi5zZWxlY3RlZElkJiZmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK24uc2VsZWN0ZWRJZCsiL3N0b3AiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGp0KX1mdW5jdGlvbiBYcyhlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuc2Vzc2lvbi1pdGVtW2RhdGEtc2Vzc2lvbi1pZD0iJytlKyciXScpO3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXRocm93IG5ldyBFcnJvcihyLmVycm9yKTtyZXR1cm4gbi5zZWxlY3RlZElkPT09ZSYmKG4uc2VsZWN0ZWRJZD1udWxsLHllKCkpLGp0KCl9KS5jYXRjaChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiZGVsZXRpbmciKTt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYWN0aW9uLWVycm9yIik7TmUociwiXHU2NUUwXHU2Q0Q1XHU1MjIwXHU5NjY0XHU0RjFBXHU4QkREXHUzMDAyIil9KX0sMjUwKX1mdW5jdGlvbiBacyhlLHQpe3QmJnQuY2xhc3NMaXN0LmFkZCgiZGVsZXRpbmciKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3RvcnkvIitlbmNvZGVVUklDb21wb25lbnQoZSkse21ldGhvZDoiREVMRVRFIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2lmKHImJnIuZXJyb3IpdGhyb3cgbmV3IEVycm9yKHIuZXJyb3IpO24uY2xhdWRlSGlzdG9yeT1uLmNsYXVkZUhpc3RvcnkuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBpLmNsYXVkZVNlc3Npb25JZCE9PWV9KSxkZWxldGUgbi5zZWxlY3RlZENsYXVkZUhpc3RvcnlJZHNbZV0sdmUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dCYmdC5jbGFzc0xpc3QucmVtb3ZlKCJkZWxldGluZyIpO3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhY3Rpb24tZXJyb3IiKTtOZShyLCJcdTY1RTBcdTZDRDVcdTUyMjBcdTk2NjRcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiKX0pfSwyNTApfWZ1bmN0aW9uIFdtKGUsdCl7WnMoZSx0KX1mdW5jdGlvbiBtcChlLHQscil7ZSYmZmV0Y2goIi9hcGkvY2xhdWRlLWhpc3Rvcnk/Y3dkPSIrZW5jb2RlVVJJQ29tcG9uZW50KGUpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpZihpJiZpLmVycm9yKXRocm93IG5ldyBFcnJvcihpLmVycm9yKTtuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jd2QhPT1lfSksdmUoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZW8ociwhMSk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFjdGlvbi1lcnJvciIpO05lKGksIlx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNlx1OEJFNVx1NzZFRVx1NUY1NVx1NzY4NFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIpfSl9ZnVuY3Rpb24gZW8oZSx0KXtlLmZvckVhY2goZnVuY3Rpb24ocil7ci5jbGFzc0xpc3QudG9nZ2xlKCJkZWxldGluZyIsdCl9KX1mdW5jdGlvbiBncChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNsYXVkZS1oaXN0b3J5LWl0ZW1bZGF0YS1jd2Q9Iicrd2luZG93LkNTUy5lc2NhcGUoU3RyaW5nKGUpKSsnIl0nKSl9dmFyIHRvPW51bGwsQ3I9bnVsbDtmdW5jdGlvbiBCcigpe2lmKENyKXtDci5jbGFzc0xpc3QucmVtb3ZlKCJzd2lwZWQiKTt2YXIgZT1Dci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1pdGVtLWNvbnRlbnQiKTtlJiYoZS5zdHlsZS50cmFuc2Zvcm09IiIpLENyPW51bGx9fWZ1bmN0aW9uIGhwKGUpe3RvPW51bGwsQ3I9bnVsbH1mdW5jdGlvbiB5cChlLHQscil7ZT09PSJjbGF1ZGUiJiYobi5wcmVmZXJyZWRDb21tYW5kPWUsbi5jaGF0TW9kZT1OdChlLG4uY2hhdE1vZGUpKTt2YXIgaT1uLmNoYXRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiI7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDplLGN3ZDp0fHwiIixtb2RlOm4uY2hhdE1vZGV8fG4uY29uZmlnLmRlZmF1bHRNb2RlfHwiZGVmYXVsdCIsbW9kZWw6aXx8dm9pZCAwLHRoaW5raW5nRWZmb3J0Om4uY2hhdFRoaW5raW5nfHx2b2lkIDB9KSl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuZXJyb3I/KHImJk5lKHIsYS5lcnJvciksbnVsbCk6KG4uc2VsZWN0ZWRJZD1hLmlkLHllKCksbi5kcmFmdHNbYS5pZF09IiIsYSl9KX12YXIgQ2E9ITE7ZnVuY3Rpb24gbm8oZSx0KXtyZXR1cm4hZXx8Q2E/UHJvbWlzZS5yZXNvbHZlKG51bGwpOihDYT0hMCxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe21vZGU6bi5jaGF0TW9kZXx8bi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8odD9OZSh0LHIuZXJyb3IpOmsoci5lcnJvciwiZXJyb3IiKSxudWxsKToobi5zZWxlY3RlZElkPXIuaWQseWUoKSxuLmRyYWZ0c1tyLmlkXT0iIixyKX0pLmNhdGNoKGZ1bmN0aW9uKHIpe3ZhciBpPXImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NEYxQVx1OEJERFx1MzAwMiI7cmV0dXJuIHQ/TmUodCxpKTprKGksImVycm9yIiksbnVsbH0pLmZpbmFsbHkoZnVuY3Rpb24oKXtDYT0hMX0pKX1mdW5jdGlvbiB6bShlLHQpe3JldHVybiBlP2ZldGNoKCIvYXBpL2NsYXVkZS1zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3Jlc3VtZSIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe21vZGU6bi5jaGF0TW9kZXx8bi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0In0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8odD9OZSh0LHIuZXJyb3IpOmsoci5lcnJvciwiZXJyb3IiKSxudWxsKToobi5jbGF1ZGVIaXN0b3J5PW4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkuY2xhdWRlU2Vzc2lvbklkIT09ZX0pLG4uc2VsZWN0ZWRJZD1yLmlkLHllKCksbi5kcmFmdHNbci5pZF09IiIscil9KS5jYXRjaChmdW5jdGlvbihyKXt2YXIgaT1yJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYzMDkgQ2xhdWRlIFx1NEYxQVx1OEJERCBJRCBcdTYwNjJcdTU5MERcdTRGMUFcdThCRERcdTMwMDIiO3JldHVybiB0P05lKHQsaSk6ayhpLCJlcnJvciIpLG51bGx9KTpQcm9taXNlLnJlc29sdmUobnVsbCl9ZnVuY3Rpb24gb24oZSl7cmV0dXJuIWV8fCFlLmlkP1Byb21pc2UucmVzb2x2ZSgpOihuLnNlbGVjdGVkSWQ9ZS5pZCx5ZSgpLG4uY3VycmVudE1lc3NhZ2VzPVtdLHByKCksQ3QoKSxFcihlLmlkKSxaKGUpLHZlKCkseG4oZS5pZCksZm4oZS5pZCkudGhlbihmdW5jdGlvbigpe190KCEwKX0pKX1mdW5jdGlvbiBybyhlKXtyZXR1cm4gbm8oZSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdD8odC5jbGF1ZGVTZXNzaW9uSWQmJih0LnByb3ZpZGVyPT09ImNvZGV4Ij9uLmNvZGV4SGlzdG9yeT1uLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIuY2xhdWRlU2Vzc2lvbklkIT09dC5jbGF1ZGVTZXNzaW9uSWR9KTpuLmNsYXVkZUhpc3Rvcnk9bi5jbGF1ZGVIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gci5jbGF1ZGVTZXNzaW9uSWQhPT10LmNsYXVkZVNlc3Npb25JZH0pKSxvbih0KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSk6bnVsbH0pfWZ1bmN0aW9uIFZtKGUsdCxyKXtyZXR1cm4geXAoZSx0LHIpLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGk/b24oaSkudGhlbihmdW5jdGlvbigpe3JldHVybiBpfSk6bnVsbH0pfWZ1bmN0aW9uIFVtKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3ZWxjb21lLWlucHV0Iik7aWYodCl7dC5wbGFjZWhvbGRlcj0iXHU2QjYzXHU1NzI4XHU2MDFEXHU4MDAzXHUyMDI2Iix0LmRpc2FibGVkPSEwO3ZhciByPW4uY2hhdE1vZGV8fCJtYW5hZ2VkIixpPUplKCksYT12dCgpLHU9bi5jaGF0TW9kZWx8fG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiO2ZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDphLGN3ZDppLG1vZGU6cixpbml0aWFsSW5wdXQ6ZSxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6bi5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpfSkudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5lcnJvcj8oayhzLmVycm9yLCJlcnJvciIpLHQucGxhY2Vob2xkZXI9Ilx1OEY5M1x1NTE2NVx1NkQ4OFx1NjA2RiIsdC5kaXNhYmxlZD0hMSxudWxsKTpvbihzKX0pLmNhdGNoKGZ1bmN0aW9uKHMpe2socyYmcy5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKSx0LnBsYWNlaG9sZGVyPSJcdThGOTNcdTUxNjVcdTZEODhcdTYwNkYiLHQuZGlzYWJsZWQ9ITF9KS5maW5hbGx5KGZ1bmN0aW9uKCl7dC5wbGFjZWhvbGRlcj0iXHU4RjkzXHU1MTY1XHU2RDg4XHU2MDZGIix0LmRpc2FibGVkPSExfSl9fWZ1bmN0aW9uIEttKGUsdCxyKXt2YXIgaT1uLmNoYXRNb2RlfHwibWFuYWdlZCIsYT1KZSgpLHU9dnQoKSxzPW4uY2hhdE1vZGVsfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGVsfHwiIjtmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6dSxjd2Q6YSxtb2RlOmksaW5pdGlhbElucHV0OmV8fHZvaWQgMCxtb2RlbDpzfHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6bi5jaGF0VGhpbmtpbmd8fHZvaWQgMH0pKX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtyZXR1cm4gby5lcnJvcj8oayhvLmVycm9yLCJlcnJvciIpLG51bGwpOih0JiYodC52YWx1ZT0iIiksciYmKHIudmFsdWU9IiIpLG9uKG8pKX0pLmNhdGNoKGZ1bmN0aW9uKG8pe2sobyYmby5tZXNzYWdlfHwiXHU2NUUwXHU2Q0Q1XHU1NDJGXHU1MkE4XHU0RjFBXHU4QkREXHUzMDAyIiwiZXJyb3IiKX0pfWZ1bmN0aW9uIGJwKGUpe2UuZGlzYWJsZWQ9ITAscm8oZS5kYXRhc2V0LnNlc3Npb25JZCkuZmluYWxseShmdW5jdGlvbigpe2UuZGlzYWJsZWQ9ITF9KX1mdW5jdGlvbiBFcChlKXt2YXIgdD1lLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkLHI9ZS5kYXRhc2V0LmN3ZDt0JiYoZS5kaXNhYmxlZD0hMCxGcCh0LHIpLnRoZW4oZnVuY3Rpb24oaSl7aSYmaS5pZCYmKG4uY29kZXhIaXN0b3J5PW4uY29kZXhIaXN0b3J5LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5jbGF1ZGVTZXNzaW9uSWQhPT10fSksbi5zZWxlY3RlZElkPWkuaWQseWUoKSxuLmRyYWZ0c1tpLmlkXT0iIixvbihpKS50aGVuKGZ1bmN0aW9uKCl7V3QoKX0pKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtlLmRpc2FibGVkPSExfSkpfWZ1bmN0aW9uIEZwKGUsdCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvZGV4LXNlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KGUpKyIvcmVzdW1lIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7bW9kZTpuLmNoYXRNb2RlfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixjd2Q6dH0pKX0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5lcnJvcj8oayhyLmVycm9yLCJlcnJvciIpLG51bGwpOnJ9KS5jYXRjaChmdW5jdGlvbihyKXtyZXR1cm4gayhyJiZyLm1lc3NhZ2V8fCJcdTY1RTBcdTZDRDVcdTYwNjJcdTU5MERcdTUzODZcdTUzRjJcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpLG51bGx9KX1mdW5jdGlvbiB3cChlKXt2YXIgdD1lLmRhdGFzZXQuY2xhdWRlU2Vzc2lvbklkO2lmKHQpe3ZhciByPWUuY2xvc2VzdCgiLmNsYXVkZS1oaXN0b3J5LWl0ZW0iKTtyJiYoci5zdHlsZS5vcGFjaXR5PSIwLjUiKSxmZXRjaCgiL2FwaS9jb2RleC1oaXN0b3J5LyIrZW5jb2RlVVJJQ29tcG9uZW50KHQpLHttZXRob2Q6IkRFTEVURSIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXtpJiZpLm9rPyhuLmNvZGV4SGlzdG9yeT1uLmNvZGV4SGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLHZlKCkpOnImJihyLnN0eWxlLm9wYWNpdHk9IjEiKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ciYmKHIuc3R5bGUub3BhY2l0eT0iMSIpfSl9fWZ1bmN0aW9uIENwKGUpe3ZhciB0PWUuZGF0YXNldC5jbGF1ZGVTZXNzaW9uSWQscj1lLmRhdGFzZXQuY3dkO3QmJihlLmRpc2FibGVkPSEwLGNpKHQscikudGhlbihmdW5jdGlvbihpKXtpJiZpLmlkJiYobi5jbGF1ZGVIaXN0b3J5PW4uY2xhdWRlSGlzdG9yeS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkIT09dH0pLG4uc2VsZWN0ZWRJZD1pLmlkLHllKCksbi5kcmFmdHNbaS5pZF09IiIsb24oaSkudGhlbihmdW5jdGlvbigpe1d0KCl9KSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7ZS5kaXNhYmxlZD0hMX0pKX1mdW5jdGlvbiBjaShlLHQpe3JldHVybiBmZXRjaCgiL2FwaS9jbGF1ZGUtc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi9yZXN1bWUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG90KHttb2RlOm4uY2hhdE1vZGV8fG4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZXx8ImRlZmF1bHQiLGN3ZDp0fSkpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLmVycm9yPyhrKHIuZXJyb3IsImVycm9yIiksbnVsbCk6cn0pLmNhdGNoKGZ1bmN0aW9uKHIpe3JldHVybiBrKHImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjA2Mlx1NTkwRFx1NTM4Nlx1NTNGMlx1NEYxQVx1OEJERFx1MzAwMiIsImVycm9yIiksbnVsbH0pfWZ1bmN0aW9uIERyKCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wfWZ1bmN0aW9uIF90KGUpe2lmKCFuLnRlcm1pbmFsSW50ZXJhY3RpdmUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshdHx8IW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQmJihlJiZEcigpfHxCYSh0KSl9fWZ1bmN0aW9uIEptKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZXMiKTtlJiYoZS5zY3JvbGxUb3A9MCl9ZnVuY3Rpb24gaW8oKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlJiZlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWtleWJvYXJkLW9mZnNldCIpfWZ1bmN0aW9uIGFvKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIik7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiLS1rZXlib2FyZC1vZmZzZXQiKX1mdW5jdGlvbiBkaShlKXtpZihlKXt2YXIgdD1lLnNlbGVjdGlvblN0YXJ0LHI9ZS5zZWxlY3Rpb25FbmQ7RGEoZSksdHlwZW9mIHQ9PSJudW1iZXIiJiZ0eXBlb2Ygcj09Im51bWJlciImJmUuc2V0U2VsZWN0aW9uUmFuZ2UodCxyKX19ZnVuY3Rpb24gdW8oZSl7IWV8fGUuZGF0YXNldC50b3VjaFNjcm9sbEJvdW5kPT09InRydWUifHwoZS5kYXRhc2V0LnRvdWNoU2Nyb2xsQm91bmQ9InRydWUiLGUuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oKXtlLnNjcm9sbEhlaWdodDw9ZS5jbGllbnRIZWlnaHQrMXx8KGUuc2Nyb2xsVG9wPD0wP2Uuc2Nyb2xsVG9wPTE6ZS5zY3JvbGxUb3ArZS5jbGllbnRIZWlnaHQ+PWUuc2Nyb2xsSGVpZ2h0JiYoZS5zY3JvbGxUb3A9TWF0aC5tYXgoMSxlLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC0xKSkpfSx7cGFzc2l2ZTohMH0pKX1mdW5jdGlvbiBzbyhlKXtlJiYoUHQoZSksZGkoZSkpfWZ1bmN0aW9uIEJwKGUpe3ZhciB0PWUmJmUudGFyZ2V0P2UudGFyZ2V0OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTt0JiYoaW8oKSxzbyh0KSl9ZnVuY3Rpb24gRHAoZSl7dmFyIHQ9ZSYmZS50YXJnZXQ/ZS50YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2FvKCksYXMoMjIwMCx0KTt2YXIgcj1bODAsMjAwLDM4MCw2MjAsOTAwXTtyLmZvckVhY2goZnVuY3Rpb24oaSxhKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Tm4oITEpLGE9PT0xJiZEcigpJiYoZXQoImtleWJvYXJkLWJsdXIiLHtmb3JjZVJlcGxheTohMH0pLGZ0KCJrZXlib2FyZCIpKX0saSl9KX1mdW5jdGlvbiBrcChlKXtlJiYoZS5zZXRTZWxlY3Rpb25SYW5nZShlLnZhbHVlLmxlbmd0aCxlLnZhbHVlLmxlbmd0aCksZGkoZSkpfWZ1bmN0aW9uIEJhKGUpe2UmJihlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSksa3AoZSkpfWZ1bmN0aW9uIEFwKGUpe3VvKGUpLHNvKGUpfWZ1bmN0aW9uIHhwKGUpe0JhKGUpfWZ1bmN0aW9uIFltKGUpe2lvKCksZGkoZSl9ZnVuY3Rpb24gU3AoKXthbygpfWZ1bmN0aW9uIElwKGUpe2RpKGUpfWZ1bmN0aW9uIEdtKGUpe3hwKGUpfWZ1bmN0aW9uIFRwKGUpe0FwKGUpfWZ1bmN0aW9uIFFtKCl7U3AoKX1mdW5jdGlvbiAkbShlKXtJcChlKX1mdW5jdGlvbiBMcChlLHQpe2lmKCFlfHwhdHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXQpcmV0dXJuITE7dmFyIHI9d2luZG93LmlubmVySGVpZ2h0LWUuaGVpZ2h0LWUub2Zmc2V0VG9wO2lmKHI8PTUwKXJldHVybiExO3ZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGkuYm90dG9tPmUuaGVpZ2h0LTEyfWZ1bmN0aW9uIERhKGUpe2lmKGUpe3ZhciB0PWUuc2Nyb2xsSGVpZ2h0PmUuY2xpZW50SGVpZ2h0KzE7aWYoIXQpe2Uuc2Nyb2xsVG9wPTA7cmV0dXJufWUuc2Nyb2xsVG9wPWUuc2Nyb2xsSGVpZ2h0fX1mdW5jdGlvbiBvbygpe2lmKG4udGVybWluYWxJbnRlcmFjdGl2ZSl7bG8oKTtyZXR1cm59aWYoIURyKCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTshZXx8IW4uc2VsZWN0ZWRJZHx8ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWV8fEJhKGUpfX1mdW5jdGlvbiBsbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtlJiYoZS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLGUuZm9jdXMoKSxuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLmZvY3VzJiZuLnRlcm1pbmFsLmZvY3VzKCkpfWZ1bmN0aW9uIE1wKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LXBhbmVsIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKCJ2aXJ0dWFsS2V5Ym9hcmQiaW4gbmF2aWdhdG9yKXt2YXIgcj1uYXZpZ2F0b3IudmlydHVhbEtleWJvYXJkO3IuYWRkRXZlbnRMaXN0ZW5lcigiZ2VvbWV0cnljaGFuZ2UiLGZ1bmN0aW9uKCl7ZSYmZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGluZy1ib3R0b20iKX0pfXZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTtpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe29vKCl9KSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbihhKXt2YXIgdT1hLnRhcmdldDt1LnRhZ05hbWUhPT0iQSImJnUudGFnTmFtZSE9PSJCVVRUT04iJiYhdS5jbG9zZXN0KCJidXR0b24iKSYmIXUuY2xvc2VzdCgiW2RhdGEtdG9vbC10b2dnbGVdIikmJm9vKCl9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oYSl7aWYoRHIoKSl7dmFyIHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKCEoIXV8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT11KSl7dmFyIHM9YS50YXJnZXQ7IXN8fHR5cGVvZiBzLmNsb3Nlc3QhPSJmdW5jdGlvbiJ8fHMuY2xvc2VzdCgiLmlucHV0LXBhbmVsIil8fHMuY2xvc2VzdCgiI21pbmkta2V5Ym9hcmQiKXx8cy5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC1mYWIiKXx8cy5jbG9zZXN0KCIjbWluaS1rZXlib2FyZC10b2dnbGUiKXx8cy5jbG9zZXN0KCIjdGVybWluYWwtaW50ZXJhY3RpdmUtdG9nZ2xlIil8fHMuY2xvc2VzdCgiLndhbmQtam95c3RpY2stcm9vdCIpfHx1LmJsdXIoKX19fSwhMCl9ZnVuY3Rpb24ga2EoKXt0cnl7d2luZG93LnNjcm9sbFRvKDAsMCl9Y2F0Y2h7fWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQmJihkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD0wKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wPTApLGRvY3VtZW50LmJvZHkmJihkb2N1bWVudC5ib2R5LnNjcm9sbFRvcD0wKX1mdW5jdGlvbiBZZShlKXtuLnJlbmRlclBlbmRpbmcmJiFlfHwobi5yZW5kZXJQZW5kaW5nPSEwLGU/KGZpKCEwKSxuLnJlbmRlclBlbmRpbmc9ITEpOnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2ZpKCExKSxuLnJlbmRlclBlbmRpbmc9ITF9KSl9bi5jaGF0UmVuZGVyVGltZXI9bnVsbDtmdW5jdGlvbiBjbyhlKXtpZighKG4uY2hhdFJlbmRlclRpbWVyJiYhZSkpe2lmKG4uY2hhdFJlbmRlclRpbWVyJiZjbGVhclRpbWVvdXQobi5jaGF0UmVuZGVyVGltZXIpLGUpe24uY2hhdFJlbmRlclRpbWVyPW51bGwsWWUoKTtyZXR1cm59dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSkscj10JiZ0LnN0YXR1cz09PSJydW5uaW5nIiYmdC5zZXNzaW9uS2luZCE9PSJzdHJ1Y3R1cmVkIixpPXI/Z3M6aHM7bi5jaGF0UmVuZGVyVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uY2hhdFJlbmRlclRpbWVyPW51bGw7dmFyIGE9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKHUpe3JldHVybiB1LmlkPT09bi5zZWxlY3RlZElkfSk7YSYmKG4uY3VycmVudE1lc3NhZ2VzPVJlKGEsdHQoYSxhLm91dHB1dCwhMCkpKSxZZSgpfSxpKX19ZnVuY3Rpb24gcXAoZSx0KXtpZighZXx8IXR8fHQubGVuZ3RoPT09MClyZXR1cm5bXTtmdW5jdGlvbiByKHcpe3JldHVybiB3LnJlcGxhY2UoL1x4MUIoPzpbQC1aXFwtX118XFtbMC0/XSpbIC0vXSpbQC1+XSkvZywiIil9Zm9yKHZhciBpPXIoZSksYT1bXSx1PVtdLHM9MDtzPHQubGVuZ3RoO3MrKylpZih0W3NdLnJvbGU9PT0idXNlciIpe3ZhciBvPSIiLGw9dFtzXS5jb250ZW50O2lmKHR5cGVvZiBsPT0ic3RyaW5nIilvPWw7ZWxzZSBpZihBcnJheS5pc0FycmF5KGwpKXtmb3IodmFyIGM9MDtjPGwubGVuZ3RoO2MrKylpZihsW2NdLnR5cGU9PT0idGV4dCIpe289bFtjXS50ZXh0O2JyZWFrfX1vJiZ1LnB1c2goe3RleHQ6byxpbmRleDpzfSl9Zm9yKHZhciBkPTAscz0wO3M8dS5sZW5ndGg7cysrKXt2YXIgZj11W3NdLHY9aS5pbmRleE9mKCJcdTI3NkYgIitmLnRleHQsZCk7aWYodj09PS0xJiYodj1pLmluZGV4T2YoYApcdTI3NkYgYCtmLnRleHQsZCksdiE9PS0xJiYodis9MSkpLHY+ZCl7Zm9yKHZhciBtPWkuc3Vic3RyaW5nKGQsdiksYj1tLnNwbGl0KGAKYCksZz1bXSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciB5PWJbY10udHJpbSgpOyF5fHx5LnN0YXJ0c1dpdGgoIlx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCIpfHx5PT09Ilx1Mjc2RiJ8fHk9PT0iPyJ8fHk9PT0iInx8eS5pbmNsdWRlcygiQ2xhdWRlIENvZGUgdiIpfHx5LmluY2x1ZGVzKCJPcHVzIikmJnkuaW5jbHVkZXMoIndpdGgiKXx8eS5pbmNsdWRlcygiU29ubmV0IikmJnkuaW5jbHVkZXMoIndpdGgiKXx8eS5pbmNsdWRlcygiQVBJIFVzYWdlIil8fHkuaW5jbHVkZXMoIkJpbGxpbmciKXx8eS5pbmNsdWRlcygiZm9yIHNob3J0Y3V0cyIpfHx5LmluY2x1ZGVzKCIvZWZmb3J0Iil8fHkubWF0Y2goL15b4pa44paQ4pad4paY4paX4paW4paI4paM4paN4paO4paP4paU4paB4paC4paD4paE4paF4paG4paH4paI4paIXS8pfHx5Lm1hdGNoKC9eW+KWuOKWkOKWneKWmOKWl+KWluKWiOKWjOKWjeKWjuKWj+KWlOKWgeKWguKWg+KWhOKWheKWhuKWh+KWiOKWiF17Myx9Lyl8fHkubGVuZ3RoPjMmJmcucHVzaCh5KX1nLmxlbmd0aD4wJiZhLnB1c2goe2JlZm9yZU1lc3NhZ2U6Zi5pbmRleCxjb250ZW50Omcuam9pbihgCmApfSl9ZD12K2YudGV4dC5sZW5ndGgrMn1yZXR1cm4gYX1mdW5jdGlvbiBBYShlKXtpZighZSlyZXR1cm4gbnVsbDt2YXIgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7cmV0dXJuIHR8fCh0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQuY2xhc3NOYW1lPSJjaGF0LW1lc3NhZ2VzIixlLmFwcGVuZENoaWxkKHQpLHQpfWZ1bmN0aW9uIGZvKGUsdCl7dmFyIHI9QWEoZSk7cmV0dXJuIHI/KHIuaW5uZXJIVE1MPXQscnIoKSxLZSgpLHIpOm51bGx9ZnVuY3Rpb24gZmkoZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoYXQtb3V0cHV0Iik7aWYoIXQpcmV0dXJuO3ZhciByPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihSKXtyZXR1cm4gUi5pZD09PW4uc2VsZWN0ZWRJZH0pO2lmKCFyKXtuLmxhc3RSZW5kZXJlZEVtcHR5IT09Im5vbmUiJiYoZm8odCwnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU2NzJBXHU5MDA5XHU2MkU5XHU0RjFBXHU4QkREPC9zdHJvbmc+PGJyPlx1NzBCOVx1NTFGQlx1NEUwQVx1NjVCOVx1MzAwQ1x1NjVCMFx1NUJGOVx1OEJERFx1MzAwRFx1NUYwMFx1NTlDQlx1NEY2MFx1NzY4NFx1N0IyQ1x1NEUwMFx1NkIyMVx1NUJGOVx1OEJERFx1MzAwMjwvZGl2PicpLG4ubGFzdFJlbmRlcmVkRW1wdHk9Im5vbmUiLG4ubGFzdFJlbmRlcmVkTXNnQ291bnQ9MCk7cmV0dXJufXZhciBpPW4uY3VycmVudE1lc3NhZ2VzLGE9JHAoaSk7aWYoSWE9WHAoaSksaS5sZW5ndGg9PT0wKXtpZihuLmxhc3RSZW5kZXJlZEVtcHR5IT09ImVtcHR5Iil7dmFyIHU9IiI7b2UocikmJih1PSc8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS10cmlvLXdyYXAiPjxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlLXRyaW8taGludCI+XHU5RUQ4XHU4QkE0XHU0RjFBXHU2MzA5XHU0RUU1XHU0RTBCXHU4QkJFXHU3RjZFXHU1M0QxXHU5MDAxXHVGRjBDXHU1M0VGXHU3MEI5XHU1MUZCXHU4QzAzXHU2NTc0XHVGRjFBPC9kaXY+JytSYShyLHtraW5kOiJkcm9wZG93biJ9KSsiPC9kaXY+IiksZm8odCwnPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPjxzdHJvbmc+XHU1QkY5XHU4QkREXHU1REYyXHU1RjAwXHU1OUNCPC9zdHJvbmc+PGJyPlx1NTcyOFx1NEUwQlx1NjVCOVx1OEY5M1x1NTE2NVx1Njg0Nlx1NTNEMVx1OTAwMVx1NkQ4OFx1NjA2Rlx1RkYwQ0NsYXVkZSBcdTRGMUFcdTgxRUFcdTUyQThcdTU2REVcdTU5MERcdTMwMDI8L2Rpdj4nK3UpLG4ubGFzdFJlbmRlcmVkRW1wdHk9ImVtcHR5IixuLmxhc3RSZW5kZXJlZE1zZ0NvdW50PTB9WmEobnVsbCxyKSxTYShbXSk7cmV0dXJufXZhciBzPWkubGVuZ3RoO3M+bi5jaGF0UmVuZGVyZWRDb3VudCYmKG4uY2hhdFJlbmRlcmVkQ291bnQ9cyk7dmFyIG89TWF0aC5tYXgoMCxzLW4uY2hhdFJlbmRlcmVkQ291bnQpLGw9bz4wP2kuc2xpY2Uobyk6aSxjPW8+MCxkPWwubGVuZ3RoLGY9ci5vdXRwdXQ/ci5vdXRwdXQubGVuZ3RoOjA7aWYoci5tZXNzYWdlcyYmci5tZXNzYWdlcy5sZW5ndGg+MCl7Zm9yKHZhciB2PTAsbT0wLGI9MDtiPHIubWVzc2FnZXMubGVuZ3RoO2IrKyl7dmFyIGc9ci5tZXNzYWdlc1tiXS5jb250ZW50O2lmKGcpaWYoQXJyYXkuaXNBcnJheShnKSl7dis9Zy5sZW5ndGg7Zm9yKHZhciB5PTA7eTxnLmxlbmd0aDt5Kyspe3ZhciB3PWdbeV07dy50ZXh0JiYobSs9dy50ZXh0Lmxlbmd0aCksdy50aGlua2luZyYmKG0rPXcudGhpbmtpbmcubGVuZ3RoKSx3LmNvbnRlbnQmJihtKz13LmNvbnRlbnQubGVuZ3RoKSx3LmlkJiYobSs9dy5pZC5sZW5ndGgpLHcudG9vbF91c2VfaWQmJihtKz13LnRvb2xfdXNlX2lkLmxlbmd0aCksdy5kZXNjcmlwdGlvbiYmKG0rPXcuZGVzY3JpcHRpb24ubGVuZ3RoKSx3LmlucHV0JiYobSs9SlNPTi5zdHJpbmdpZnkody5pbnB1dCkubGVuZ3RoKX19ZWxzZSB2Kz0xLG09U3RyaW5nKGcpLmxlbmd0aH1mPWQqMWU1K3YqMWUzK219dmFyIEY9ZXx8ZCE9PW4ubGFzdFJlbmRlcmVkTXNnQ291bnQ7aWYoIUYmJmQ9PT1uLmxhc3RSZW5kZXJlZE1zZ0NvdW50JiZmPT09bi5sYXN0UmVuZGVyZWRIYXNoKXt2YXIgRT10LnF1ZXJ5U2VsZWN0b3IoIi5jaGF0LW1lc3NhZ2VzIik7RSYmWmEoRSxyKSxTYShpKTtyZXR1cm59dmFyIEE9bi5sYXN0UmVuZGVyZWRIYXNoLHg9bi5sYXN0UmVuZGVyZWRNc2dDb3VudDtpZihuLmxhc3RSZW5kZXJlZE1zZ0NvdW50PWQsbi5sYXN0UmVuZGVyZWRIYXNoPWYsRT1BYSh0KSwhRSlyZXR1cm47dmFyIFM9VGkoRSksUD1FLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKS5sZW5ndGgsej1GfHxQPT09MHx8ZCE9PVA7ZnVuY3Rpb24gRygpe2Zvcih2YXIgUj1xcChyLm91dHB1dCxsKSxzZT0iIixCZT1sLnNsaWNlKCkucmV2ZXJzZSgpLG5lPWwubGVuZ3RoLGRlPTA7ZGU8QmUubGVuZ3RoO2RlKyspe2Zvcih2YXIgTWU9QmVbZGVdLGx0PW5lLTEtZGUsZ3Q9bHQrbyxHZT1udWxsLHJ0PTA7cnQ8Ui5sZW5ndGg7cnQrKylpZihSW3J0XS5iZWZvcmVNZXNzYWdlPT09bHQpe0dlPVJbcnRdO2JyZWFrfUdlJiYoc2UrPSc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2Ugc3lzdGVtLWluZm8iPjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWNhcmQiPjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWhlYWRlciI+XHUyMTM5XHVGRTBGIFx1N0NGQlx1N0VERlx1NEZFMVx1NjA2RjwvZGl2PjxkaXYgY2xhc3M9InN5c3RlbS1pbmZvLWNvbnRlbnQiPicrcChHZS5jb250ZW50KSsiPC9kaXY+PC9kaXY+PC9kaXY+Iiksc2UrPUxhKE1lLEJbZ3RdfHxudWxsLGd0LGEpfWMmJihzZSs9JzxkaXYgY2xhc3M9ImNoYXQtbG9hZC1tb3JlIiBpZD0iY2hhdC1sb2FkLW1vcmUtc2VudGluZWwiPjxidXR0b24gY2xhc3M9ImNoYXQtbG9hZC1tb3JlLWJ0biIgdHlwZT0iYnV0dG9uIj5cdTUyQTBcdThGN0RcdTY2RjRcdTY1RTlcdTc2ODQgJytNYXRoLm1pbihuLmNoYXRQYWdlU2l6ZSxvKSsiIFx1Njc2MVx1NkQ4OFx1NjA2RjwvYnV0dG9uPjwvZGl2PiIpO3ZhciBpdD0tMSxXZT0wO2lmKFA+MCYmIVMpZm9yKHZhciBrdD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCx6ZT1FLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jaGF0LW1lc3NhZ2U6bm90KC5zeXN0ZW0taW5mbykiKSxEZT0wO0RlPHplLmxlbmd0aDtEZSsrKXt2YXIgX2U9emVbRGVdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKF9lLmJvdHRvbT49a3Qpe3ZhciBmZT16ZVtEZV0uZ2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIpO2ZlIT1udWxsJiYoaXQ9cGFyc2VJbnQoZmUsMTApLFdlPV9lLnRvcC1rdCk7YnJlYWt9fWlmKEUuaW5uZXJIVE1MPXNlLChmdW5jdGlvbigpe2Zvcih2YXIgT2U9RS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIiksd2U9T2UubGVuZ3RoLFZlPTA7VmU8d2U7VmUrKylPZVtWZV0uc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKG8rd2UtMS1WZSkpfSkoKSx4PT09MCYmIW4uY2hhdEluaXRpYWxSZW5kZXJEb25lKUUuc2Nyb2xsVG9wPTAsbi5jaGF0U3RpY2tUb0JvdHRvbT0hMCxucih7cmVtb3ZlRGl2aWRlcjohMH0pLG4uY2hhdEluaXRpYWxSZW5kZXJEb25lPSEwO2Vsc2UgaWYoeD09PTAmJm4uY2hhdFN0aWNrVG9Cb3R0b20pRS5zY3JvbGxUb3A9MDtlbHNlIGlmKFMpRS5zY3JvbGxUb3A9MDtlbHNlIGlmKGl0Pj0wKXt2YXIgQWU9RS5xdWVyeVNlbGVjdG9yKCcuY2hhdC1tZXNzYWdlW2RhdGEtbXNnLWluZGV4PSInK2l0KyciXScpO2lmKEFlKXt2YXIgQz1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxjdD1BZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxBdD1jdC50b3AtQy1XZTtNYXRoLmFicyhBdCk+LjUmJihuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxFLnNjcm9sbFRvcCs9QXQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSl9fXBvKEUpLHJyKCksT2koRSk7dmFyIFFlPUUucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZTpub3QoLnN5c3RlbS1pbmZvKSIpO2lmKFFlKXt2YXIgJGU9UWUucXVlcnlTZWxlY3RvckFsbCgiLnRvb2wtdXNlLWNhcmQsIC5pbmxpbmUtZGlmZltkYXRhLWV4cGFuZC1rZXldIik7aWYoJGUubGVuZ3RoPjApe3ZhciB4dD0kZVswXSxYdD1Ubih4dCk7WmUoWHQpPT09bnVsbCYmeHQuY2xhc3NMaXN0LnJlbW92ZSgiY29sbGFwc2VkIik7Zm9yKHZhciBhdD0xO2F0PCRlLmxlbmd0aDthdCsrKXt2YXIgcWU9VG4oJGVbYXRdKTtpZihaZShxZSk9PT1udWxsKXtpZigkZVthdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhJGVbYXRdLmNsYXNzTGlzdC5jb250YWlucygiYXNrLXVzZXItYW5zd2VyZWQiKSljb250aW51ZTskZVthdF0uY2xhc3NMaXN0LmFkZCgiY29sbGFwc2VkIil9fX19cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7TGkoRSksS2UoKSxBbCgpfSl9ZnVuY3Rpb24gTChSLHNlKXt2YXIgQmU9Ui5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKTtCZS5mb3JFYWNoKGZ1bmN0aW9uKG5lKXt2YXIgZGU9VG4obmUpO2lmKFplKGRlKT09PW51bGwmJiEobmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhbmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlci1hbnN3ZXJlZCIpKSl7aWYoc2Upe2Zvcih2YXIgTWU9MDtNZTxzZS5sZW5ndGg7TWUrKylpZihzZVtNZV0uY29udGFpbnMobmUpKXJldHVybn1uZS5jbGFzc0xpc3QuYWRkKCJjb2xsYXBzZWQiKX19KX12YXIgQj17fTtpZigoZnVuY3Rpb24oKXtmb3IodmFyIFI9e2lucHV0VG9rZW5zOjAsb3V0cHV0VG9rZW5zOjAsY2FjaGVSZWFkSW5wdXRUb2tlbnM6MCx0b3RhbENvc3RVc2Q6MH0sc2U9LTEsQmU9MDtCZTxpLmxlbmd0aDtCZSsrKXt2YXIgbmU9aVtCZV07aWYobmUucm9sZT09PSJ1c2VyIilzZT49MCYmKFIuaW5wdXRUb2tlbnM+MHx8Ui5vdXRwdXRUb2tlbnM+MHx8Ui50b3RhbENvc3RVc2Q+MCkmJihCW3NlXT17aW5wdXRUb2tlbnM6Ui5pbnB1dFRva2VucyxvdXRwdXRUb2tlbnM6Ui5vdXRwdXRUb2tlbnMsY2FjaGVSZWFkSW5wdXRUb2tlbnM6Ui5jYWNoZVJlYWRJbnB1dFRva2Vucyx0b3RhbENvc3RVc2Q6Ui50b3RhbENvc3RVc2R9KSxSPXtpbnB1dFRva2VuczowLG91dHB1dFRva2VuczowLGNhY2hlUmVhZElucHV0VG9rZW5zOjAsdG90YWxDb3N0VXNkOjB9LHNlPS0xO2Vsc2UgaWYobmUucm9sZT09PSJhc3Npc3RhbnQiJiZuZS51c2FnZSl7dmFyIGRlPW5lLnVzYWdlO1IuaW5wdXRUb2tlbnMrPWRlLmlucHV0VG9rZW5zfHwwLFIub3V0cHV0VG9rZW5zKz1kZS5vdXRwdXRUb2tlbnN8fDAsUi5jYWNoZVJlYWRJbnB1dFRva2Vucys9ZGUuY2FjaGVSZWFkSW5wdXRUb2tlbnN8fDAsUi50b3RhbENvc3RVc2QrPWRlLnRvdGFsQ29zdFVzZHx8MCxzZT1CZX1lbHNlIG5lLnJvbGU9PT0iYXNzaXN0YW50IiYmKHNlPUJlKX1zZT49MCYmKFIuaW5wdXRUb2tlbnM+MHx8Ui5vdXRwdXRUb2tlbnM+MHx8Ui50b3RhbENvc3RVc2Q+MCkmJihCW3NlXT17aW5wdXRUb2tlbnM6Ui5pbnB1dFRva2VucyxvdXRwdXRUb2tlbnM6Ui5vdXRwdXRUb2tlbnMsY2FjaGVSZWFkSW5wdXRUb2tlbnM6Ui5jYWNoZVJlYWRJbnB1dFRva2Vucyx0b3RhbENvc3RVc2Q6Ui50b3RhbENvc3RVc2R9KX0pKCkseilHKCk7ZWxzZSBpZihkPlApe3ZhciBUPWwuc2xpY2UoUCk7VC5yZXZlcnNlKCk7Zm9yKHZhciBJPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxWPVtdLHJlPVtdLHRlPW8rUCwkPTA7JDxULmxlbmd0aDskKyspe3ZhciBpZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxVPW8rUCsoVC5sZW5ndGgtMS0kKTtpZS5pbm5lckhUTUw9TGEoVFskXSxCW1VdfHxudWxsLFUsYSk7dmFyIE09aWUuZmlyc3RFbGVtZW50Q2hpbGQ7TSYmKE0uY2xhc3NMaXN0LmFkZCgiYW5pbWF0ZS1pbiIpLE0uc2V0QXR0cmlidXRlKCJkYXRhLW1zZy1pbmRleCIsU3RyaW5nKFUpKSxWLnB1c2goTSkscmUucHVzaChVKSxJLmFwcGVuZENoaWxkKE0pKX1FLmluc2VydEJlZm9yZShJLEUuZmlyc3RDaGlsZCkscnIoKSxwbyhFKSxPaShFKSxMKEUsViksUz9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtFLmlzQ29ubmVjdGVkJiZNYXRoLmFicyhFLnNjcm9sbFRvcCk+MSYmKG4uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSEwLEUuc2Nyb2xsVG9wPTAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7bi5jaGF0SXNQcm9ncmFtbWF0aWNTY3JvbGw9ITF9KSksbnIoe3JlbW92ZURpdmlkZXI6ITB9KSxLZSgpfSk6KG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg8MCYmKG4uY2hhdFVucmVhZFN0YXJ0SW5kZXg9dGUpLG4uY2hhdFVucmVhZENvdW50Kz1WLmxlbmd0aCxMaShFKSxLZSgpKX1lbHNlIGlmKGQ9PT1QJiZmIT09QSl7Zm9yKHZhciBIPUFycmF5LmZyb20oRS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlOm5vdCguc3lzdGVtLWluZm8pIikpLE49bC5zbGljZSgpLnJldmVyc2UoKSxZPSExLEs9TWF0aC5taW4oNCxOLmxlbmd0aCxILmxlbmd0aCksWD0wO1g8SztYKyspe3ZhciBhZT1IW1hdLGxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHVlPW8rTi5sZW5ndGgtMS1YO2xlLmlubmVySFRNTD1MYShOW1hdLEJbdWVdfHxudWxsLHVlLGEpO3ZhciBDZT1sZS5maXJzdEVsZW1lbnRDaGlsZDtpZihDZSl7aWYoYWUuaW5uZXJIVE1MIT09Q2UuaW5uZXJIVE1MfHxhZS5jbGFzc05hbWUhPT1DZS5jbGFzc05hbWUpRS5yZXBsYWNlQ2hpbGQoQ2UsYWUpLE9wKENlKSxZPSEwO2Vsc2UgaWYoWD4wKWJyZWFrfX1pZighWSYmTi5sZW5ndGg+SyYmRygpLFkpe3JyKCksT2koRSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7UyYmRS5pc0Nvbm5lY3RlZCYmTWF0aC5hYnMoRS5zY3JvbGxUb3ApPjEmJihuLmNoYXRJc1Byb2dyYW1tYXRpY1Njcm9sbD0hMCxFLnNjcm9sbFRvcD0wLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe24uY2hhdElzUHJvZ3JhbW1hdGljU2Nyb2xsPSExfSkpLExpKEUpLEtlKCl9KTt2YXIgRmU9RS5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlIiksYmU9RS5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbC11c2UtY2FyZCwgLmlubGluZS1kaWZmW2RhdGEtZXhwYW5kLWtleV0iKSxPPW51bGw7YmUuZm9yRWFjaChmdW5jdGlvbihSKXt2YXIgc2U9VG4oUik7WmUoc2UpPT09bnVsbCYmKFIuY2xhc3NMaXN0LmNvbnRhaW5zKCJhc2stdXNlciIpJiYhUi5jbGFzc0xpc3QuY29udGFpbnMoImFzay11c2VyLWFuc3dlcmVkIil8fChGZSYmRmUuY29udGFpbnMoUik/Tz9SLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpOk89UjpSLmNsYXNzTGlzdC5hZGQoImNvbGxhcHNlZCIpKSl9KX19ZWxzZSBkPFAmJkcoKTtOZChFKSxaYShFLHIpLFNhKGkpfXZhciB4YT0hMTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7aWYoISghdHx8ISh0IGluc3RhbmNlb2YgRWxlbWVudCkpKXt2YXIgcj10LmNsb3Nlc3QoIiN0b2RvLXByb2dyZXNzLXRvZ2dsZSIpO2lmKHIpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHhhPSF4YTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2kmJmEmJih4YT8oaS5jbGFzc0xpc3QuYWRkKCJleHBhbmRlZCIpLGEuY2xhc3NMaXN0LmFkZCgiZXhwYW5kZWQiKSk6KGkuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kZWQiKSxhLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZGVkIikpKX19fSk7ZnVuY3Rpb24gU2EoZSl7Zm9yKHZhciB0PTAscj1lLmxlbmd0aC0xO3I+PTA7ci0tKWlmKGVbcl0mJmVbcl0ucm9sZT09PSJ1c2VyIil7dD1yKzE7YnJlYWt9Zm9yKHZhciBpPW51bGwsYT1lLmxlbmd0aC0xO2E+PXQ7YS0tKXt2YXIgdT1lW2FdO2lmKCEoIXUuY29udGVudHx8IUFycmF5LmlzQXJyYXkodS5jb250ZW50KSkpe2Zvcih2YXIgcz11LmNvbnRlbnQubGVuZ3RoLTE7cz49MDtzLS0pe3ZhciBvPXUuY29udGVudFtzXTtpZihvLnR5cGU9PT0idG9vbF91c2UiJiZvLm5hbWU9PT0iVG9kb1dyaXRlIiYmby5pbnB1dCYmby5pbnB1dC50b2Rvcyl7aT1vLmlucHV0LnRvZG9zO2JyZWFrfX1pZihpKWJyZWFrfX12YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9kby1wcm9ncmVzcyIpLGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtYm9keSIpO2lmKGwpe2lmKCFpfHxpLmxlbmd0aD09PTApe2wuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksYyYmYy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTtyZXR1cm59bC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxjJiZjLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO2Zvcih2YXIgZD0wLGY9MCx2PSIiLG09MDttPGkubGVuZ3RoO20rKylpW21dLnN0YXR1cz09PSJjb21wbGV0ZWQiJiZkKyssaVttXS5zdGF0dXM9PT0iaW5fcHJvZ3Jlc3MiJiYoZisrLHZ8fCh2PWlbbV0uYWN0aXZlRm9ybXx8aVttXS5jb250ZW50fHwiIikpO3ZhciBiPWQ9PT1pLmxlbmd0aCxnPWI/aS5sZW5ndGg6TWF0aC5taW4oZCsxLGkubGVuZ3RoKTtpZihiKXtsLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGMmJmMuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWVsc2UgbC5jbGFzc0xpc3QucmVtb3ZlKCJhbGwtZG9uZSIpO3ZhciB5PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWNvdW50ZXIiKTt5JiYoeS50ZXh0Q29udGVudD1nKyIvIitpLmxlbmd0aCk7dmFyIHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MtdGFzayIpO3cmJih3LnRleHRDb250ZW50PXYpO3ZhciBGPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLXJpbmciKTtpZihGKXt2YXIgRT1pLmxlbmd0aD4wP2cvaS5sZW5ndGg6MDtGLnN0eWxlLnNldFByb3BlcnR5KCItLXByb2dyZXNzIixFLnRvRml4ZWQoMykpfXZhciBBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b2RvLXByb2dyZXNzLWxpc3QiKTtpZihBKXtmb3IodmFyIHg9IiIsUz0wO1M8aS5sZW5ndGg7UysrKXt2YXIgUD1pW1NdLHo9UC5zdGF0dXN8fCJwZW5kaW5nIixHPXo9PT0iaW5fcHJvZ3Jlc3MiPyJhY3RpdmUiOno9PT0iY29tcGxldGVkIj8iZG9uZSI6IiIsTD16PT09ImluX3Byb2dyZXNzIj8iYWN0aXZlIjp6PT09ImNvbXBsZXRlZCI/ImRvbmUiOiJwZW5kaW5nIixCPXo9PT0iY29tcGxldGVkIj8iXHUyNzEzIjp6PT09ImluX3Byb2dyZXNzIj8iXHUyMDNBIjoiXHUyNUNCIjt4Kz0nPGxpIGNsYXNzPSJ0b2RvLXByb2dyZXNzLWl0ZW0gJytHKyciPjxzcGFuIGNsYXNzPSJ0b2RvLWl0ZW0taWNvbiAnK0wrJyI+JytCKyI8L3NwYW4+PHNwYW4+IitwKFAuY29udGVudHx8IiIpKyI8L3NwYW4+PC9saT4ifUEuaW5uZXJIVE1MPXh9bi5zZWxlY3RlZElkJiZvYShuLnNlbGVjdGVkSWQpfX1mdW5jdGlvbiBPcChlKXtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jb2RlLWNvcHkiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIHI9dC5jbG9zZXN0KCIuY29kZS1ibG9jayIpLGk9cj9yLnF1ZXJ5U2VsZWN0b3IoImNvZGUiKTpudWxsO2kmJkxyKGkudGV4dENvbnRlbnR8fCIiLG51bGwsZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3BpZWQhIix0LmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PSJDb3B5Iix0LmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfSl9KX0pfWZ1bmN0aW9uIHBvKGUpe2UucXVlcnlTZWxlY3RvckFsbCgiLmNvZGUtY29weSIpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIHI9dC5jbG9uZU5vZGUoITApO3QucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocix0KSxyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciBpPXIuY2xvc2VzdCgiLmNvZGUtYmxvY2siKSxhPWk/aS5xdWVyeVNlbGVjdG9yKCJjb2RlIik6bnVsbDthJiZMcihhLnRleHRDb250ZW50fHwiIixudWxsLGZ1bmN0aW9uKCl7ci50ZXh0Q29udGVudD0iQ29waWVkISIsci5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci50ZXh0Q29udGVudD0iQ29weSIsci5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX0pfSl9KSxQcChlKX12YXIgWG09e3RpbWVyOm51bGwsYWN0aXZlQnRuOm51bGx9O2Z1bmN0aW9uIFBwKGUpe3ZhciB0PXdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXM7dCYmZS5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tZXNzYWdlIikuZm9yRWFjaChmdW5jdGlvbihyKXtpZighci5xdWVyeVNlbGVjdG9yKCIubXNnLWNvcHktYnRuIikpe3ZhciBpPXIucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZS1idWJibGUiKTtpZihpKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTthLmNsYXNzTmFtZT0ibXNnLWNvcHktYnRuIixhLnRleHRDb250ZW50PSJcdTU5MERcdTUyMzYiLGEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKHUpe3Uuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIHM9aS5pbm5lclRleHR8fGkudGV4dENvbnRlbnR8fCIiO0xyKHMudHJpbSgpLG51bGwsZnVuY3Rpb24oKXthLnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLGEuY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dChmdW5jdGlvbigpe2EudGV4dENvbnRlbnQ9Ilx1NTkwRFx1NTIzNiIsYS5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKSxhLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0sMTUwMCl9KX0pLHIuYXBwZW5kQ2hpbGQoYSl9fX0pfShmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5tYXRjaE1lZGlhKCIocG9pbnRlcjogY29hcnNlKSIpLm1hdGNoZXM7aWYodCl7dmFyIHI9bnVsbCxpPTA7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZnVuY3Rpb24oYSl7dmFyIHU9YS50YXJnZXQuY2xvc2VzdCgiLmNoYXQtbWVzc2FnZSIpO2lmKHUpe3ZhciBzPXUucXVlcnlTZWxlY3RvcigiLmNoYXQtbWVzc2FnZS1idWJibGUiKTtzJiYoaT1hLnRvdWNoZXNbMF0uY2xpZW50WSxyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbz11LnF1ZXJ5U2VsZWN0b3IoIi5tc2ctY29weS1idG4iKTtvJiYoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1zZy1jb3B5LWJ0bi52aXNpYmxlIikuZm9yRWFjaChmdW5jdGlvbihsKXtsLmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0pLG8uY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpKX0sNTAwKSl9fSx7cGFzc2l2ZTohMH0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsZnVuY3Rpb24oYSl7ciYmTWF0aC5hYnMoYS50b3VjaGVzWzBdLmNsaWVudFktaSk+MTAmJihjbGVhclRpbWVvdXQocikscj1udWxsKX0se3Bhc3NpdmU6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsZnVuY3Rpb24oKXtyJiYoY2xlYXJUaW1lb3V0KHIpLHI9bnVsbCl9LHtwYXNzaXZlOiEwfSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGEpe2EudGFyZ2V0LmNsb3Nlc3QoIi5tc2ctY29weS1idG4iKXx8ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1zZy1jb3B5LWJ0bi52aXNpYmxlIikuZm9yRWFjaChmdW5jdGlvbih1KXt1LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX0pfSl9fSkoKTtmdW5jdGlvbiBIcChlKXtpZighZSlyZXR1cm4hMTt2YXIgdD1TdHJpbmcoZSkudHJpbSgpO3JldHVybiB0PyEhKHQuaW5kZXhPZigiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIik9PT0wfHx0PT09Ilx1Mjc2RiJ8fHQ9PT0iXHUyMDNBInx8L15b4pWt4pWw4pSC4pSM4pSU4pSQ4pSY4pSc4pSk4pSs4pS04pS84pSA4pWQXXsyLH0kLy50ZXN0KHQpfHwvXlviloHiloLiloPiloTiloXilobilofilojilpTilpXilo/ilpBdKyQvLnRlc3QodCl8fHQuaW5kZXhPZigiZXNjIHRvIGludGVycnVwdCIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIENvZGUgdiIpIT09LTF8fC9eU29ubmV0XGIvLnRlc3QodCl8fHQuaW5kZXhPZigiRmFpbGVkIHRvIGluc3RhbGwgQW50aHJvcGljIikhPT0tMXx8dC5pbmRleE9mKCJDbGF1ZGUgQ29kZSBoYXMgc3dpdGNoZWQiKSE9PS0xfHx0LmluZGV4T2YoIj8gZm9yIHNob3J0Y3V0cyIpIT09LTF8fHQuaW5kZXhPZigiQ2xhdWRlIGlzIHdhaXRpbmciKSE9PS0xfHx0LmluZGV4T2YoIlt3YW5kXSIpIT09LTF8fHQuaW5kZXhPZigiMDsiKT09PTB8fHQuaW5kZXhPZigiOTsiKT09PTB8fHQuaW5kZXhPZigiY3RybCtnIikhPT0tMXx8dC5pbmRleE9mKCIvZWZmb3J0IikhPT0tMXx8L15Vc2luZyAuKiBmb3IgLiogc2Vzc2lvbi8udGVzdCh0KXx8dC5pbmRleE9mKCJQcmVzcyAiKT09PTAmJnQuaW5kZXhPZigiIGZvciIpIT09LTF8fHQuaW5kZXhPZigidHlwZSAiKT09PTAmJnQuaW5kZXhPZigiIHRvICIpIT09LTF8fHQuaW5kZXhPZigiYXV0byBtb2RlIGlzIHVuYXZhaWxhYmxlIikhPT0tMXx8L01DUCBzZXJ2ZXIuKmZhaWxlZC9pLnRlc3QodCl8fHQuaW5kZXhPZigiR2VybWluYXRpbmciKSE9PS0xfHx0LmluZGV4T2YoIkRvb2RsaW5nIikhPT0tMXx8dC5pbmRleE9mKCJCcmV3aW5nIikhPT0tMXx8dC5pbmRleE9mKCJQZXJtaXNzaW9ucyIpIT09LTEmJnQuaW5kZXhPZigibW9kZSIpIT09LTF8fHQuaW5kZXhPZigiXHUyNUNGIik9PT0wJiZ0LmluZGV4T2YoIlx4QjciKSE9PS0xfHx0LmluZGV4T2YoIls+Iik9PT0wfHx0LmluZGV4T2YoIls8Iik9PT0wfHx0LmluZGV4T2YoIkNhcHR1cmVkIENsYXVkZSBzZXNzaW9uIElEIikhPT0tMXx8L14+X1xzKk9wZW5BSSBDb2RleFxiLy50ZXN0KHQpfHwvXk9wZW5BSSBDb2RleFxiL2kudGVzdCh0KXx8L14obW9kZWx8ZGlyZWN0b3J5KTpccysvaS50ZXN0KHQpfHwvXih0aXB8Y29udGV4dCk6XHMrL2kudGVzdCh0KXx8L153b3JrKHRyZWV8c3BhY2UpOlxzKy9pLnRlc3QodCl8fC9eKGFwcHJvdmFscz98c2FuZGJveHxwcm92aWRlcnxzZXNzaW9uIGlkKTpccysvaS50ZXN0KHQpfHwvXih0aGlua2luZ3x3b3JraW5nKShcLlwuXC584oCmKT8kL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrV29ya2luZ1xiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrKFJ1bm5pbmd8UGxhbm5pbmd8QXBwbHlpbmd8UmVhZGluZ3xTZWFyY2hpbmcpXGIvaS50ZXN0KHQpfHwvXlvigKLil6bCt11ccysoSW5zcGVjdGluZ3xSZXZpZXdpbmd8U3VtbWFyaXppbmd8RWRpdGluZ3xVcGRhdGluZ3xXcml0aW5nKVxiL2kudGVzdCh0KXx8L15b4oCi4pemwrddXHMrQ29tcGxldGVkXGIvaS50ZXN0KHQpfHwvXihjdHJsfGVudGVyfHRhYnxzaGlmdHxlc2N8YWx0KVwrL2kudGVzdCh0KXx8L1xiKG9wZW58Y2xvc2V8dG9nZ2xlKSAoY2hhdHx0ZXJtaW5hbClcYi9pLnRlc3QodCl8fC9cYihhcHByb3ZlfGRlbnkpXGIuKlxiKHBlcm1pc3Npb258YXBwcm92YWwpXGIvaS50ZXN0KHQpfHwvXih1c2V8cHJlc3MpIC4qICh0b3xmb3IpIC4qL2kudGVzdCh0KXx8L14oPzp0b2tlbnxjb250ZXh0IHdpbmRvd3xyZW1haW5pbmcgY29udGV4dHxjb252ZXJzYXRpb24pOlxzKy9pLnRlc3QodCl8fC9eKD86Y3dkfHBhdGgpOlxzK1wvL2kudGVzdCh0KXx8L15bPD7ilILilIbilY5dLipbPD7ilILilIbilY5dJC8udGVzdCh0KSYmdC5sZW5ndGg8OCk6ITF9ZnVuY3Rpb24gX3AoZSl7cmV0dXJuIFN0cmluZyhlfHwiIikucmVwbGFjZSgvXHgxYlxdW15ceDA3XSooXHgwN3xceDFiXFwpL2csIiIpLnJlcGxhY2UoL1x4MWJcWyhcZCspQy9nLGZ1bmN0aW9uKHQscil7cmV0dXJuIiAiLnJlcGVhdChOdW1iZXIocil8fDEpfSkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbQUJdL2csYApgKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltzdV0vZywiIikucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbSGZKS3JdL2csYApgKS5yZXBsYWNlKC9ceDFiTS9nLGAKYCkucmVwbGFjZSgvXHgxYlxbWzAtOTs/XSpbU1RdL2csYApgKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKlthLXpBLVpdL2csIiIpLnJlcGxhY2UoL1x4MWJbPjw9ZVBYXl9dL2csIiIpLnJlcGxhY2UoL1tcdTAwYTBcdTIwMGItXHUyMDBkXHVmZWZmXS9nLCIgIikucmVwbGFjZSgvW1x4MDAtXHgwOFx4MGJceDBjXHgwZS1ceDFmXS9nLCIiKS5yZXBsYWNlKC9cclxuPy9nLGAKYCkucmVwbGFjZSgvWyBcdF0rXG4vZyxgCmApLnJlcGxhY2UoL1xuezMsfS9nLGAKCmApfWZ1bmN0aW9uIGpwKGUsdCl7dmFyIHI9W107aWYoIWUpcmV0dXJuIHI7dmFyIGk9U3RyaW5nKGV8fCIiKSxhPWAKYCx1PSJcciIscz0iXHgxQiI7aWYoL15jb2RleFxiLy50ZXN0KFN0cmluZyh0fHwiIikudHJpbSgpKSl7bGV0IGNlPWZ1bmN0aW9uKFcpe3JldHVybiBTdHJpbmcoV3x8IiIpLnJlcGxhY2UoL1x4MWJcXVteXHgwN10qKFx4MDd8XHgxYlxcKS9nLCIiKS5yZXBsYWNlKC9ceDFiXFsoXGQrKUMvZyxmdW5jdGlvbihfLFEpe3JldHVybiIgIi5yZXBlYXQoTnVtYmVyKFEpfHwxKX0pLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW0FCXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW3N1XS9nLCIiKS5yZXBsYWNlKC9ceDFiXFtbMC05Oz9dKltIZkpLcl0vZyxhKS5yZXBsYWNlKC9ceDFiTS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW1NUXS9nLGEpLnJlcGxhY2UoL1x4MWJcW1swLTk7P10qW2EtekEtWl0vZywiIikucmVwbGFjZSgvXHgxYls+PD1lUFheX10vZywiIikucmVwbGFjZSgvW1x1MDBhMFx1MjAwYi1cdTIwMGRcdWZlZmZdL2csIiAiKS5yZXBsYWNlKC9bXHgwMC1ceDA4XHgwYlx4MGNceDBlLVx4MWZdL2csIiIpLnJlcGxhY2UoL1sgXHRdK1xuL2csYSl9LHV0PWZ1bmN0aW9uKFcpe3JldHVybiBTdHJpbmcoV3x8IiIpLnJlcGxhY2UoL1xzKy9nLCIgIikucmVwbGFjZSgvW01dKyQvZywiIikudHJpbSgpfSxlZT1mdW5jdGlvbihXKXtyZXR1cm4gU3RyaW5nKFd8fCIiKS5yZXBsYWNlKC9e4oC6XHMqLywiIikucmVwbGFjZSgvXj5ccyovLCIiKS50cmltKCl9LHhlPWZ1bmN0aW9uKFcpe3ZhciBfPVN0cmluZyhXfHwiIikudHJpbSgpO3JldHVybiEhKCFffHxIcChfKXx8Ri50ZXN0KF8pfHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdLy50ZXN0KF8pfHwvXlxbPlswLTk7P10qdSQvaS50ZXN0KF8pfHwvXk0rJC9pLnRlc3QoXyl8fC9eKD86T3BlbkFJIENvZGV4fENvZGV4KVxiL2kudGVzdChfKXx8L14oPzp0b2tlbnM/fGNvbnRleHQgd2luZG93fHJlbWFpbmluZyBjb250ZXh0fGFwcHJvdmFscz98c2FuZGJveHxwcm92aWRlcnxzZXNzaW9uIGlkKTpccyovaS50ZXN0KF8pfHwvXig/OnRoaW5raW5nfHdvcmtpbmcpXHMqKD86XC5cLlwufOKApik/JC9pLnRlc3QoXyl8fC9eW+KAouKXpsK3XVxzKyg/OnRoaW5raW5nfHdvcmtpbmd8cnVubmluZ3xwbGFubmluZ3xhcHBseWluZ3xyZWFkaW5nfHNlYXJjaGluZ3xpbnNwZWN0aW5nfHJldmlld2luZ3xzdW1tYXJpemluZ3xlZGl0aW5nfHVwZGF0aW5nfHdyaXRpbmd8Y29tcGxldGVkKVxiL2kudGVzdChfKXx8L14oPzptb2RlbHxkaXJlY3Rvcnl8dGlwfGNvbnRleHR8Y3dkfHBhdGgpOlxzKy9pLnRlc3QoXykpfSxTZT1mdW5jdGlvbihXKXt2YXIgXz1TdHJpbmcoV3x8IiIpLnRyaW0oKTtpZighL17igLooPzpcc3wkKS8udGVzdChfKXx8Ri50ZXN0KF8pKXJldHVybiBudWxsO3ZhciBRPXV0KGVlKF8pKTtyZXR1cm4hUXx8eGUoUSk/bnVsbDpRfSx5dD1mdW5jdGlvbihXKXt2YXIgXz1TdHJpbmcoV3x8IiIpLnRyaW0oKTtpZighL15b4oCi4pemwrfij7pdLy50ZXN0KF8pKXJldHVybiBudWxsO3ZhciBRPV8ucmVwbGFjZSgvXlvigKLil6bCt11ccyovLCIiKS5yZXBsYWNlKC9e4o+6XHMrLywiIikucmVwbGFjZSgvXuKUglxzKi8sIiIpLnRyaW0oKTtyZXR1cm4hUXx8L15b4oCi4pemwrfij7pdJC8udGVzdChRKXx8KFE9US5yZXBsYWNlKC9ccypcKFxkK1tzbWhdP1xzKuKAolxzKmVzYyB0byBpbnRlcnJ1cHRcKVtcc1xTXSokL2ksIiIpLnJlcGxhY2UoLyg/OlthLXpdezEsNn0pP+KAultcc1xTXSokLywiIikucmVwbGFjZSgvXHN7Mix9Z3B0LVxkW1xzXFNdKiQvaSwiIikucmVwbGFjZSgvXGIoPzpPcGVuQUkgQ29kZXh8bW9kZWw6fGRpcmVjdG9yeTp8VGlwOilcYltcc1xTXSokL2ksIiIpLFE9dXQoUSksIVF8fFEubGVuZ3RoPDJ8fEUudGVzdChRKXx8eGUoUSkpP251bGw6UX0sZHQ9ZnVuY3Rpb24oVyl7dmFyIF89dXQoVyk7cmV0dXJuIV98fHhlKF8pfHwvXlvigKLil6bCt+KPuuKAul0vLnRlc3QoXyl8fC9eW1xbXF08PjAtOTs/XSt1PyQvaS50ZXN0KF8pfHwvXlvila3ilbDilILilIzilJTilJDilJjilJzilKTilKzilLTilLzilIDilZBdLy50ZXN0KF8pfHxfLmxlbmd0aD41MDA/bnVsbDpffSxwZT1mdW5jdGlvbihXLF8pe2lmKFcuaW5kZXhPZihfKSE9PTApcmV0dXJuITE7dmFyIFE9Vy5zbGljZShfLmxlbmd0aCk7cmV0dXJuL15bYS16XXsxLDR9JC9pLnRlc3QoUSl9LFhlPWZ1bmN0aW9uKFcpe2Zvcih2YXIgXz1bXSxRPTA7UTxXLmxlbmd0aDtRKyspe3ZhciBtZT11dChXW1FdKTtpZighKCFtZXx8bWUubGVuZ3RoPDJ8fHhlKG1lKSkpe3ZhciBJZT1fW18ubGVuZ3RoLTFdO2lmKCFJZSl7Xy5wdXNoKG1lKTtjb250aW51ZX1pZihtZSE9PUllKXtpZihtZS5pbmRleE9mKEllKT09PTApe19bXy5sZW5ndGgtMV09bWU7Y29udGludWV9aWYoSWUuaW5kZXhPZihtZSk9PT0wKXtwZShJZSxtZSkmJihfW18ubGVuZ3RoLTFdPW1lKTtjb250aW51ZX1fLnB1c2gobWUpfX19cmV0dXJuIF8uam9pbihhKS50cmltKCl9LGJ0PWZ1bmN0aW9uKFcpe2Zvcih2YXIgXz0wO188Vy5sZW5ndGg7XysrKXt2YXIgUT1TdHJpbmcoV1tfXXx8IiIpLnRyaW0oKTtpZihRKXt2YXIgbWU9U2UoUSk7aWYobWUpcmV0dXJuIG1lO2lmKFE9PT0iXHUyMDNBIilmb3IodmFyIEllPV8rMTtJZTxXLmxlbmd0aDtJZSsrKXt2YXIgVHQ9dXQoV1tJZV0pO2lmKCEoIVR0fHxGLnRlc3QoVHQpfHx4ZShUdCkpKXJldHVybiBUdH19fXJldHVybiBudWxsfSxabj1mdW5jdGlvbihXKXtmb3IodmFyIF89W10sUT0hMSxtZT0wO21lPFcubGVuZ3RoO21lKyspe3ZhciBJZT1TdHJpbmcoV1ttZV18fCIiKS50cmltKCk7aWYoIUllKXtpZihRKWJyZWFrO2NvbnRpbnVlfXZhciBUdD15dChJZSk7aWYoVHQpe18ucHVzaChUdCksUT0hMDtjb250aW51ZX1pZihRKXtpZihJZT09PSJcdTIwM0EifHwvXuKAuig/OlxzfCQpLy50ZXN0KEllKXx8Ri50ZXN0KEllKXx8eGUoSWUpKWJyZWFrO18ucHVzaCh1dChJZSkpfX1yZXR1cm4gX307Zm9yKHZhciBvPWNlLGw9dXQsYz1lZSxkPXhlLGY9U2Usdj15dCxtPWR0LGI9cGUsZz1YZSx5PWJ0LHc9Wm4sRj0vXGJncHQtXGQrKD86XC5cZCspPyg/OlxzK1thLXowLTkuLV0rKT9ccyvCt1xzK1xkKyVccytsZWZ0XHMrwrdccysoPzpcL3x+XC8pLisvaSxFPS9eKD86dGhpbmtpbmd8d29ya2luZ3xydW5uaW5nfHBsYW5uaW5nfGFwcGx5aW5nfHJlYWRpbmd8c2VhcmNoaW5nfGluc3BlY3Rpbmd8cmV2aWV3aW5nfHN1bW1hcml6aW5nfGVkaXRpbmd8dXBkYXRpbmd8d3JpdGluZ3xjb21wbGV0ZWQpXGIvaSxBPVtdLHg9MCxTPWkucmVwbGFjZSgvXHJcbj8vZyxhKS5zcGxpdChhKSxQPTA7UDxTLmxlbmd0aDtQKyspZm9yKHZhciB6PWNlKFNbUF0pLEc9ei5zcGxpdChhKSxMPTA7TDxHLmxlbmd0aDtMKyspe3ZhciBCPVN0cmluZyhHW0xdfHwiIikudHJpbSgpO2lmKEIpe3ZhciBUPVNlKEIpO2lmKFQpe0EucHVzaCh7a2luZDoidXNlciIsb3JkZXI6eCsrLHRleHQ6VH0pO2NvbnRpbnVlfXZhciBJPXl0KEIpO2lmKEkpe0EucHVzaCh7a2luZDoiYXNzaXN0YW50IixvcmRlcjp4KyssdGV4dDpJfSk7Y29udGludWV9dmFyIFY9ZHQoQik7ViYmQS5wdXNoKHtraW5kOiJlY2hvIixvcmRlcjp4KyssdGV4dDpWfSl9fWZvcih2YXIgcmU9QS5maWx0ZXIoZnVuY3Rpb24oVyxfLFEpe3ZhciBtZT1RW18tMV07cmV0dXJuIW1lfHxtZS5raW5kIT09Vy5raW5kfHxtZS50ZXh0IT09Vy50ZXh0fSksdGU9cmUuZmlsdGVyKGZ1bmN0aW9uKFcpe3JldHVybiBXLmtpbmQ9PT0idXNlciJ9KSwkPXJlLmZpbHRlcihmdW5jdGlvbihXKXtyZXR1cm4gVy5raW5kPT09ImFzc2lzdGFudCJ9KSxpZT1yZS5maWx0ZXIoZnVuY3Rpb24oVyl7cmV0dXJuIFcua2luZD09PSJlY2hvIn0pLFU9X3AoaSksTT1VLnNwbGl0KGEpLm1hcChmdW5jdGlvbihXKXtyZXR1cm4gU3RyaW5nKFd8fCIiKS50cmltRW5kKCl9KSxIPWJ0KE0pLE49dGUubGVuZ3RoP3RlW3RlLmxlbmd0aC0xXTpudWxsLFk9aWUubWFwKGZ1bmN0aW9uKFcpe3JldHVybiBXLnRleHR9KS5maWx0ZXIoZnVuY3Rpb24oVyl7cmV0dXJuIFcubGVuZ3RoPj0zfSksSz1udWxsLFg9WS5sZW5ndGgtMTtYPj0wO1gtLSlpZihZW1hdIT09SCl7Sz1ZW1hdO2JyZWFrfSFLJiZZLmxlbmd0aCYmKEs9WVtZLmxlbmd0aC0xXSk7Zm9yKHZhciBhZT1OP04udGV4dDpLLGxlPSQuZmlsdGVyKGZ1bmN0aW9uKFcpe3JldHVybiFOfHxXLm9yZGVyPk4ub3JkZXJ9KS5tYXAoZnVuY3Rpb24oVyl7cmV0dXJuIFcudGV4dH0pLHVlPVtdLENlPVUubWF0Y2goL15bIFx0XSpb4oCi4pemwrfij7pdWyBcdF0qKC4rKSQvZ20pfHxbXSxGZT0wO0ZlPENlLmxlbmd0aDtGZSsrKXt2YXIgYmU9dXQoQ2VbRmVdLnJlcGxhY2UoL15bIFx0XSpb4oCi4pemwrfij7pdWyBcdF0qLywiIikpO2JlJiYoRS50ZXN0KGJlKXx8Ri50ZXN0KGJlKXx8L1xiKD86T3BlbkFJIENvZGV4fG1vZGVsOnxkaXJlY3Rvcnk6fFRpcDp8ZXNjIHRvIGludGVycnVwdClcYi9pLnRlc3QoYmUpfHx1ZS5wdXNoKGJlKSl9dmFyIE89WGUobGUpfHxYZShabihNKSl8fCh1ZS5sZW5ndGg/dWVbdWUubGVuZ3RoLTFdOm51bGwpO3JldHVybiBhZSYmci5wdXNoKHtyb2xlOiJ1c2VyIixjb250ZW50OmFlfSksTyYmci5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6T30pLCFyLmxlbmd0aCYmTj9yLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6Ti50ZXh0fSk6IXIubGVuZ3RoJiZLJiZyLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6S30pLHJ9Zm9yKHZhciBSPSJcMCIsc2U9IlxiIixCZT0iXHYiLG5lPSJcZiIsZGU9Ig4iLE1lPSIfIixsdD0iXHhBMCIsZ3Q9Ilx4MDciLEdlPW5ldyBSZWdFeHAocysiXFxbWzAtOTs/XSpbYS16QS1aXXwiK3MrIlxcXVteIitndCsiXSooIitndCsifCIrcysiXFxcXFxcXFwpfCIrcysiWz48PWVQX1heXXxbIitSKyItIitzZStCZStuZStkZSsiLSIrTWUrIl18IitsdCsifCIrdSwiZyIpLHJ0PWkucmVwbGFjZShHZSxmdW5jdGlvbihjZSl7cmV0dXJuIGNlPT09bHQ/IiAiOmNlPT09dT9hOiIifSkuc3BsaXQodSkuam9pbihhKSxpdD1ydC5zcGxpdChhKS5tYXAoZnVuY3Rpb24oY2Upe3JldHVybiBjZS50cmltKCl9KS5maWx0ZXIoQm9vbGVhbiksV2U9Wy90aGlua2luZyB3aXRoIGhpZ2ggZWZmb3J0L2ksL3RoaW5raW5nIHdpdGggbWVkaXVtIGVmZm9ydC9pLC90aGlua2luZyB3aXRoIGxvdyBlZmZvcnQvaSxuZXcgUmVnRXhwKCJ0aG91Z2h0IGZvciBbMC05XStzIiwiaSIpLG5ldyBSZWdFeHAoIlNhdXRlZWQgZm9yIFswLTldK20iLCJpIiksL0dlcm1pbmF0aW5nL2ksL0Rvb2RsaW5nL2ksL0JyZXdpbmcvaV0sa3Q9bnVsbCx6ZT0tMSxEZT1bXSxfZT1bXSxmZT1bXSxBZT0wO0FlPGl0Lmxlbmd0aDtBZSsrKXt2YXIgQz1pdFtBZV0sY3Q9Qy5yZXBsYWNlKC9e4p2vXHMqLywiIik7aWYoY3QuaW5kZXhPZignVHJ5IicpPT09MHx8Y3QuaW5kZXhPZignVHJ5ICInKT09PTApe0RlLnB1c2goY3QpO2NvbnRpbnVlfWZvcih2YXIgQXQ9ITEsUWU9MDtRZTxXZS5sZW5ndGg7UWUrKylpZihXZVtRZV0udGVzdChDKSl7QXQ9ITAsZmUucHVzaChDKTticmVha31pZighQXQmJkMmJkMuaW5kZXhPZigiXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwIikhPT0wJiZDIT09Ilx1Mjc2RiImJkMuaW5kZXhPZigiZXNjIHRvIGludGVycnVwdCIpPT09LTEmJkMuaW5kZXhPZigiQ2xhdWRlIENvZGUgdiIpPT09LTEmJkMuaW5kZXhPZigiU29ubmV0Iik9PT0tMSYmQy5pbmRleE9mKCJ+LyIpIT09MCYmQy5pbmRleE9mKCJcdTI1Q0YgaGlnaCIpPT09LTEmJkMuaW5kZXhPZigiRmFpbGVkIHRvIGluc3RhbGwgQW50aHJvcGljIG1hcmtldHBsYWNlIik9PT0tMSYmQy5pbmRleE9mKCJDbGF1ZGUgQ29kZSBoYXMgc3dpdGNoZWQgZnJvbSBucG0gdG8gbmF0aXZlIGluc3RhbGxlciIpPT09LTEmJkMuaW5kZXhPZigiRmx1dHRlcmluZyIpPT09LTEmJkMuaW5kZXhPZigiPyBmb3Igc2hvcnRjdXRzIik9PT0tMSYmQy5pbmRleE9mKCIwOyIpIT09MCYmQy5pbmRleE9mKCI5OyIpIT09MCYmQy5pbmRleE9mKCJDbGF1ZGUgaXMgd2FpdGluZyIpPT09LTEmJiEoQy5pbmRleE9mKCJcdTI3MjIiKSE9PS0xfHxDLmluZGV4T2YoIlx1MjczMyIpIT09LTF8fEMuaW5kZXhPZigiXHUyNzM2IikhPT0tMXx8Qy5pbmRleE9mKCJcdTI3M0IiKSE9PS0xfHxDLmluZGV4T2YoIlx1MjczRCIpIT09LTEpJiYhKEMuaW5kZXhPZigiXHUyNTkwIik9PT0wfHxDLmluZGV4T2YoIlx1MjU5RCIpPT09MHx8Qy5pbmRleE9mKCJcdTI1OTgiKT09PTApJiYhKChDPT09Imx1Inx8Qz09PSJ1ZSJ8fEM9PT0idHIifHxDPT09InRpInx8Qz09PSJnInx8Qz09PSJuInx8Qz09PSJpXHUyMDI2Inx8Qz09PSJcdTIwMjYifHxDPT09InV0cyJ8fEM9PT0ibHQifHxDPT09InJnInx8Qz09PSJceEI3IikmJkMubGVuZ3RoPDQpJiYhKEMuaW5kZXhPZigiXHUyNzNERiIpPT09MHx8Qy5pbmRleE9mKCJcdTI3M0JGIik9PT0wKSYmQy5pbmRleE9mKCJucG0gV0FSTiIpPT09LTEmJkMuaW5kZXhPZigibnBtIG5vdGljZSIpPT09LTEmJiEoQy5pbmRleE9mKCJhZGRlZCAiKSE9PS0xJiZDLmluZGV4T2YoIiBwYWNrYWdlcyIpIT09LTEpJiZDLmluZGV4T2YoImF1ZGl0ZWQgIik9PT0tMSYmIShDLmluZGV4T2YoImZvdW5kICIpIT09LTEmJkMuaW5kZXhPZigiIHZ1bG5lcmFiaWxpdGllcyIpIT09LTEpJiYhKEMuaW5kZXhPZigiVXNpbmcgIikhPT0tMSYmQy5pbmRleE9mKCIgZm9yICIpIT09LTEmJkMuaW5kZXhPZigic2Vzc2lvbiIpIT09LTEpJiZDLmluZGV4T2YoIllvdSBjYW4gdXNlIik9PT0tMSYmIShDLmluZGV4T2YoIlByZXNzICIpIT09LTEmJkMuaW5kZXhPZigiIGZvciIpIT09LTEpJiYhKEMuaW5kZXhPZigidHlwZSAiKT09PTAmJkMuaW5kZXhPZigiIHRvICIpIT09LTEpJiZDLmluZGV4T2YoIlt3YW5kXSIpIT09MCYmQy5pbmRleE9mKCJDYXB0dXJlZCBDbGF1ZGUgc2Vzc2lvbiBJRCIpPT09LTEmJkMuaW5kZXhPZigiXHUyM0Y1Iik9PT0tMSYmQy5pbmRleE9mKCJhY2NlcHRlZGl0Iik9PT0tMSYmQy5pbmRleE9mKCJzaGlmdCt0YWIiKT09PS0xJiZDLmluZGV4T2YoInRhYnRvY3ljbGUiKT09PS0xJiZDLmluZGV4T2YoImN0cmwrZyIpPT09LTEmJkMuaW5kZXhPZigiL2VmZm9ydCIpPT09LTEmJiEoQy5pbmRleE9mKCJPcHVzIikhPT0tMSYmQy5pbmRleE9mKCJtb2RlbCIpIT09LTEpJiZDLmluZGV4T2YoIkhhaWt1Iik9PT0tMSYmQy5pbmRleE9mKCJ0byBjeWNsZSIpPT09LTEmJiEoQy5pbmRleE9mKCJoaWdoIFx4QjciKSE9PS0xfHxDLmluZGV4T2YoImhpZ2hceEI3IikhPT0tMSkmJiEoQy5pbmRleE9mKCJtZWRpdW0gXHhCNyIpIT09LTF8fEMuaW5kZXhPZigibWVkaXVtXHhCNyIpIT09LTEpJiYhKEMuaW5kZXhPZigibG93IFx4QjciKSE9PS0xfHxDLmluZGV4T2YoImxvd1x4QjciKSE9PS0xKSl7aWYoQy5pbmRleE9mKCJcdTI1Q0YiKT09PTApe2lmKEM9Qy5zbGljZSgxKS50cmltKCksIUMpY29udGludWU7X2UucHVzaChDKTtjb250aW51ZX1DLmxlbmd0aDwzJiYhL15bYS16QS1aXXszfSQvLnRlc3QoQyl8fF9lLnB1c2goQyl9fWlmKGZlLmxlbmd0aD4wKXt2YXIgJGU9ZmVbZmUubGVuZ3RoLTFdLHh0PSRlLm1hdGNoKG5ldyBSZWdFeHAoImZvciAoWzAtOV0rW21zXSt8IFswLTldK20gWzAtOV0rcykiLCJpIikpLFh0PXh0PyJcdTZERjFcdTVFQTZcdTYwMURcdTgwMDMgIit4dFswXS5yZXBsYWNlKC9mb3IgL2ksIiIpOiJcdTZERjFcdTVFQTZcdTYwMURcdTgwMDNcdTRFMkQuLi4iO3IucHVzaCh7cm9sZToidGhpbmtpbmciLGNvbnRlbnQ6WHQsdHlwZToiZGVlcC10aG91Z2h0In0pfWlmKERlLmxlbmd0aD4wKXt2YXIgYXQ9RGVbRGUubGVuZ3RoLTFdLnJlcGxhY2UoL15UcnlccyovLCIiKS50cmltKCk7ci5wdXNoKHtyb2xlOiJwcm9tcHQiLGNvbnRlbnQ6YXQsdHlwZToic3VnZ2VzdGlvbiJ9KX1pZighX2UubGVuZ3RoKXJldHVybiByO2Zvcih2YXIgcWU9W10sT2U9bnVsbCx3ZT1bXSxBZT0wO0FlPF9lLmxlbmd0aDtBZSsrKWlmKEM9X2VbQWVdLEMuaW5kZXhPZigiXHUyNzZGIik9PT0wKXt2YXIgVmU9Qy5yZXBsYWNlKC9e4p2vXHMqLywiIikudHJpbSgpO2lmKFZlLmluZGV4T2YoJ1RyeSInKT09PTB8fFZlLmluZGV4T2YoJ1RyeSAiJyk9PT0wKWNvbnRpbnVlO09lIT09bnVsbCYmd2UubGVuZ3RoPjAmJihxZS5wdXNoKHt1c2VyOk9lLGFzc2lzdGFudExpbmVzOndlfSksd2U9W10pLFZlP09lPVZlOihPZSE9PW51bGwmJndlLmxlbmd0aD4wJiYocWUucHVzaCh7dXNlcjpPZSxhc3Npc3RhbnRMaW5lczp3ZX0pLHdlPVtdKSxPZT1udWxsKX1lbHNlIE9lIT09bnVsbCYmKEMuaW5kZXhPZigiXHUyM0ZBIikhPT0tMSYmKEMuaW5kZXhPZigiSGkhIikhPT0tMXx8Qy5pbmRleE9mKCJIZWxsbyIpIT09LTF8fEMuaW5kZXhPZigiV2hhdCIpIT09LTF8fEMuaW5kZXhPZigid29ya2luZyIpIT09LTEpP3dlLnB1c2goQyk6Qy5pbmRleE9mKCJcdTIzRkEiKT09PTA/d2UucHVzaChDLnNsaWNlKDEpLnRyaW0oKXx8Qyk6Qy5sZW5ndGg+PTgmJkMuaW5kZXhPZigiXHUyNzIyIik9PT0tMSYmQy5pbmRleE9mKCJcdTI3MzMiKT09PS0xJiZDLmluZGV4T2YoIlx1MjczNiIpPT09LTEmJkMuaW5kZXhPZigiXHUyNzNCIik9PT0tMSYmQy5pbmRleE9mKCJcdTI3M0QiKT09PS0xJiZDLmluZGV4T2YoIlx1MjU5MCIpIT09MCYmQy5pbmRleE9mKCJcdTI1OUQiKSE9PTAmJkMuaW5kZXhPZigiXHUyNTk4IikhPT0wJiZDLmluZGV4T2YoImVzY3RvaW50ZXJydXB0Iik9PT0tMSYmQy5pbmRleE9mKCI/Zm9yIikhPT0wJiZDLmluZGV4T2YoIj8gZm9yIikhPT0wJiZ3ZS5wdXNoKEMpKTtpZihPZSE9PW51bGwmJndlLmxlbmd0aD4wJiZxZS5wdXNoKHt1c2VyOk9lLGFzc2lzdGFudExpbmVzOndlfSkscWUubGVuZ3RoPT09MCl7Zm9yKHZhciBTdD0iIixodD0tMSxBZT0wO0FlPF9lLmxlbmd0aDtBZSsrKWlmKEM9X2VbQWVdLCEoQy5pbmRleE9mKCdUcnkiJyk9PT0wfHxDLmluZGV4T2YoJ1RyeSAiJyk9PT0wKSYmQy5pbmRleE9mKCJGYWlsZWQgdG8gaW5zdGFsbCIpPT09LTEmJkMuaW5kZXhPZigiY3RybCtnIik9PT0tMSYmQy5pbmRleE9mKCJcdTI1Q0YgIikhPT0wJiYhKEMubGVuZ3RoPDJ8fEMubGVuZ3RoPjEwMCkmJi9eW2EtekEtWl0vLnRlc3QoQykpe1N0PUMudHJpbSgpLGh0PUFlO2JyZWFrfWlmKFN0JiZodD49MCl7dmFyIGduPV9lLnNsaWNlKGh0KzEpLmZpbHRlcihmdW5jdGlvbihjZSl7cmV0dXJuIGNlLmxlbmd0aD49OH0pO2duLmxlbmd0aD4wJiZxZS5wdXNoKHt1c2VyOlN0LGFzc2lzdGFudExpbmVzOmdufSl9fWZvcih2YXIgSXQ9MDtJdDxxZS5sZW5ndGg7SXQrKylpZihyLnB1c2goe3JvbGU6InVzZXIiLGNvbnRlbnQ6cWVbSXRdLnVzZXJ9KSxxZVtJdF0uYXNzaXN0YW50TGluZXMubGVuZ3RoPjApe3ZhciBTbj1zdihxZVtJdF0uYXNzaXN0YW50TGluZXMuam9pbihhKSk7ci5wdXNoKHtyb2xlOiJhc3Npc3RhbnQiLGNvbnRlbnQ6U259KX1yZXR1cm4gcn12YXIgdm89InRyYW5zcGFyZW50IjtmdW5jdGlvbiBwaShlLHQpe2Zvcih2YXIgcj10fHwzLGk9ZVswXS5sZW5ndGgqcixhPWUubGVuZ3RoKnIsdT0iIixzPTA7czxlLmxlbmd0aDtzKyspZm9yKHZhciBvPTA7bzxlW3NdLmxlbmd0aDtvKyspZVtzXVtvXSE9PXZvJiYodSs9JzxyZWN0IHg9IicrbypyKyciIHk9IicrcypyKyciIHdpZHRoPSInK3IrJyIgaGVpZ2h0PSInK3IrJyIgZmlsbD0iJytlW3NdW29dKyciLz4nKTtyZXR1cm4nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAnK2krIiAiK2ErJyIgY2xhc3M9InBpeGVsLWF2YXRhci1zdmciPicrdSsiPC9zdmc+In1mdW5jdGlvbiB2aShlKXt2YXIgdD12byxyPWUuYmFzZSxpPWUuZGFyayxhPWUubGlnaHR8fGUuYmFzZSx1PWUuYWNjZW50fHwiI0ZGRkZGRiIscz1lLmV5ZXx8IiMyRDJEMkQiLG89ZS5tb3V0aHx8IiNGMjhCOUEiLGw9ZS5ub3NlfHxlLmRhcms7cmV0dXJuW1t0LGksdCx0LHQsdCx0LHQsaSx0XSxbaSxyLGksdCx0LHQsdCxpLHIsaV0sW2kscixyLHIscixyLHIscixyLGldLFtyLHIsdSxzLHIscix1LHMscixyXSxbcixyLHUsdSxyLHIsdSx1LHIscl0sW3IscixyLHIsbyxvLHIscixyLHJdLFtyLGwscixhLHIscixhLHIsbCxyXSxbdCxyLHIscixyLHIscixyLHIsdF0sW3QsdCxyLGkscixyLGkscix0LHRdLFt0LHQsdCxyLHQsdCxyLHQsdCx0XV19dmFyIE5wPXtiYXNlOiIjRjA5MjNBIixkYXJrOiIjQzQ2QTFBIixsaWdodDoiI0YwOTIzQSIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRjI4QjlBIixub3NlOiIjRTg3RDVBIn0sUnA9e2Jhc2U6IiM5RUFBQjgiLGRhcms6IiM2QjdCOEQiLGxpZ2h0OiIjQzVDRUQ4IixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzdFQzg4QiIsbW91dGg6IiNGMjhCOUEifSxtbz1be2Jhc2U6IiM1QThGRTAiLGRhcms6IiMyRTVCQjMiLGxpZ2h0OiIjOUNDMEYyIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiI0ZGRDY2RSIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiM1QThGRTAifSx7YmFzZToiI0EwNkZFMCIsZGFyazoiIzZCNDVBOCIsbGlnaHQ6IiNDOEE0RjIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZFMzZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiI0EwNkZFMCJ9LHtiYXNlOiIjN0JCNzZCIixkYXJrOiIjNEY4QTQwIixsaWdodDoiI0E5RDQ5QyIsYWNjZW50OiIjRkZGRkZGIixleWU6IiMyRDJEMkQiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjN0JCNzZCIn0se2Jhc2U6IiNEODZBODgiLGRhcms6IiM5QzNBNTciLGxpZ2h0OiIjRThBNEI1IixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGRkZGRkYiLHByaW1hcnk6IiNEODZBODgifSx7YmFzZToiIzVCQjdCMCIsZGFyazoiIzJFNzg3MyIsbGlnaHQ6IiM5Q0Q2RDIiLGFjY2VudDoiI0ZGRkZGRiIsZXllOiIjRkZENjZFIixtb3V0aDoiI0YyOEI5QSIscHJpbWFyeToiIzVCQjdCMCJ9LHtiYXNlOiIjNEE0QTYwIixkYXJrOiIjMUYxRjJFIixsaWdodDoiIzZFNkU4NCIsYWNjZW50OiIjRjVGNUY1IixleWU6IiNGRkQ2NkUiLG1vdXRoOiIjRjI4QjlBIixwcmltYXJ5OiIjNEE0QTYwIn0se2Jhc2U6IiNEOEE4NUEiLGRhcms6IiM5QzcwMjgiLGxpZ2h0OiIjRUJDNzhBIixhY2NlbnQ6IiNGRkZGRkYiLGV5ZToiIzJEMkQyRCIsbW91dGg6IiNGMjhCOUEiLHByaW1hcnk6IiNEOEE4NUEifV07ZnVuY3Rpb24gV3AoZSx0KXtmb3IodmFyIHI9U3RyaW5nKGV8fCIiKSxpPTAsYT0wO2E8ci5sZW5ndGg7YSsrKWk9KGk8PDUpLWkrci5jaGFyQ29kZUF0KGEpfDA7cmV0dXJuIE1hdGguYWJzKGkpJXR9dmFyIGdvPXsiZ2VuZXJhbC1wdXJwb3NlIjoiXHU0RTA3XHU4MEZEXHU3MzJCIixFeHBsb3JlOiJcdTRGQTZcdTYzQTJcdTczMkIiLCJjb2RlLWV4cGxvcmVyIjoiXHU0RkE2XHU2M0EyXHU3MzJCIiwiY29kZS1yZXZpZXdlciI6Ilx1NUJBMVx1NjdFNVx1NzMyQiIsImNvZGUtYXJjaGl0ZWN0IjoiXHU2N0I2XHU2Nzg0XHU3MzJCIiwiY29kZS1zaW1wbGlmaWVyIjoiXHU3QjgwXHU1MzE2XHU3MzJCIiwiY29kZS1ndWlkZSI6Ilx1NTQxMVx1NUJGQ1x1NzMyQiIsUGxhbjoiXHU3QjU2XHU1MjEyXHU3MzJCIiwiZmVhdHVyZS1kZXYiOiJcdTVGMDBcdTUzRDFcdTczMkIiLCJwci10ZXN0LWFuYWx5emVyIjoiXHU2RDRCXHU4QkQ1XHU3MzJCIiwic2lsZW50LWZhaWx1cmUtaHVudGVyIjoiXHU2MkE0XHU1MzZCXHU3MzJCIiwidHlwZS1kZXNpZ24tYW5hbHl6ZXIiOiJcdTdDN0JcdTU3OEJcdTczMkIiLCJjb21tZW50LWFuYWx5emVyIjoiXHU2Q0U4XHU5MUNBXHU3MzJCIn0sSWE9bnVsbDtmdW5jdGlvbiBobyhlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1lLmFnZW50VHlwZXx8IiI7aWYodCYmZ29bdF0pcmV0dXJuIGdvW3RdO2lmKHQpcmV0dXJuIHQ7dmFyIHI9KGUudGFza0lkfHwiIikuc2xpY2UoLTQpfHwoYXUoKT09PSJFbmdsaXNoIj8iPyI6Ilx1NjcyQVx1NzdFNSIpO3JldHVybiBVZSgic3ViYWdlbnQuaGVscGVyX2ZhbGxiYWNrX3ByZWZpeCIpK3J9ZnVuY3Rpb24geW8oZSl7dmFyIHQ9aG8oZSk7aWYoIXQpcmV0dXJuIHQ7dmFyIHI9SWEmJmUmJmUudGFza0lkP0lhLmdldChlLnRhc2tJZCk6bnVsbDtyZXR1cm4gcj90K3I6dH1mdW5jdGlvbiBibyhlKXt2YXIgdD1lJiYoZS5hZ2VudFR5cGV8fGUudGFza0lkKXx8InN1YmFnZW50IjtyZXR1cm4gbW9bV3AodCxtby5sZW5ndGgpXX1mdW5jdGlvbiBabShlKXt2YXIgdD1ibyhlKSxyPXlvKGUpLGk9cGkodmkodCkpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYXZhdGFyIGFzc2lzdGFudCBzdWJhZ2VudCIgc3R5bGU9Ii0tYWdlbnQtY29sb3I6Jyt0LnByaW1hcnkrJyI+PGRpdiBjbGFzcz0icGl4ZWwtYXZhdGFyIj4nK2krJzwvZGl2PjxzcGFuIGNsYXNzPSJhdmF0YXItbmFtZSI+JytwKHIpKyI8L3NwYW4+PC9kaXY+In1mdW5jdGlvbiB6cChlLHQpe2lmKCFlfHxlLnR5cGUhPT0idG9vbF9yZXN1bHQiKXJldHVybiIiO3ZhciByPWxuKGUuY29udGVudCksaT1lLmlzX2Vycm9yPT09ITAsYT10eXBlb2Ygcj09InN0cmluZyI/cjpyPT1udWxsPyIiOlN0cmluZyhyKTtpZighaSYmIWEudHJpbSgpKXJldHVybic8ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseSBwZW5kaW5nIj48c3BhbiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktbWFya2VyIHBlbmRpbmciPicrcChVZSgic3ViYWdlbnQucnVubmluZyIpKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0eXBpbmctaW5kaWNhdG9yIj48c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48L3NwYW4+PC9kaXY+Jzt2YXIgdT1hLnRyaW0oKT9hOlVlKCJzdWJhZ2VudC5ub19vdXRwdXQiKSxzPWEudHJpbSgpP1BhKHUpOnAodSksbz1VZShpPyJzdWJhZ2VudC50YXNrLmZhaWxlZCI6InN1YmFnZW50LnRhc2suZG9uZSIpLGw9aT8iXHUyNzE3IjoiXHUyNzEzIjtyZXR1cm4nPGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHkgZmluYWwnKyhpPyIgZXJyb3IiOiIiKSsnIj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1yZXBseS1tYXJrZXIgJysoaT8iZXJyb3IiOiJkb25lIikrJyI+PHNwYW4gY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlci1pY29uIiBhcmlhLWhpZGRlbj0idHJ1ZSI+JytsKyc8L3NwYW4+PHNwYW4gY2xhc3M9InN1YmFnZW50LXJlcGx5LW1hcmtlci1sYWJlbCI+JytwKG8pKyc8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcmVwbHktY29udGVudCI+JytzKyI8L2Rpdj48L2Rpdj4ifXZhciBtaT17YXNzaXN0YW50OnBpKHZpKE5wKSksdXNlcjpwaSh2aShScCkpfSxFbz17dXNlcjp7bmFtZToiXHU4RDVCXHU1MzVBXHU4NjRFXHU1OTlFIixhdmF0YXJTdmc6bWkudXNlcn0sYXNzaXN0YW50OntuYW1lOiJcdTUyRTRcdTUyQjNcdTUyMURcdTRFOEMiLGF2YXRhclN2ZzptaS5hc3Npc3RhbnR9fTtmdW5jdGlvbiBUYShlKXt2YXIgdD1uLmNvbmZpZyYmbi5jb25maWcuc3RydWN0dXJlZENoYXRQZXJzb25hLHI9dCYmdFtlXT90W2VdOm51bGwsaT1Fb1tlXXx8RW8uYXNzaXN0YW50O3JldHVybntuYW1lOnImJnR5cGVvZiByLm5hbWU9PSJzdHJpbmciJiZyLm5hbWUudHJpbSgpP3IubmFtZS50cmltKCk6aS5uYW1lLGF2YXRhcjpyJiZ0eXBlb2Ygci5hdmF0YXI9PSJzdHJpbmciJiZyLmF2YXRhci50cmltKCk/ci5hdmF0YXIudHJpbSgpOm51bGwsYXZhdGFyU3ZnOmkuYXZhdGFyU3ZnfX1mdW5jdGlvbiBGbyhlKXtyZXR1cm4nPGRpdiBjbGFzcz0icGl4ZWwtYXZhdGFyIj4nK2UrIjwvZGl2PiJ9ZnVuY3Rpb24gZWcoZSx0KXtpZighKCFlfHwhZS5wYXJlbnROb2RlKSl7dmFyIHI9VGEodD09PSJ1c2VyIj8idXNlciI6ImFzc2lzdGFudCIpO2Uub3V0ZXJIVE1MPUZvKHIuYXZhdGFyU3ZnKX19ZnVuY3Rpb24gS24oZSx0KXt0PXR8fHt9O3ZhciByPWU9PT0idXNlciI/InVzZXIiOiJhc3Npc3RhbnQiLGk9VGEociksYT1pLmF2YXRhcj8nPGltZyBjbGFzcz0icGl4ZWwtYXZhdGFyLWltYWdlIiBzcmM9IicrcChpLmF2YXRhcikrJyIgYWx0PSInK3AoaS5uYW1lKSsnIiBvbmVycm9yPSJoYW5kbGVDaGF0QXZhdGFySW1hZ2VFcnJvcih0aGlzLCAnK0pTT04uc3RyaW5naWZ5KHIpKycpIiAvPic6Rm8oaS5hdmF0YXJTdmcpLHU9dC5sZWZ0U2xvdD90LmxlZnRTbG90OiIiO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYXZhdGFyICcrZSsnIj4nK2ErJzxzcGFuIGNsYXNzPSJhdmF0YXItbmFtZSI+JytwKGkubmFtZSkrIjwvc3Bhbj4iK3UrIjwvZGl2PiJ9ZnVuY3Rpb24gVnAoKXt2YXIgZT1IdCgpO3JldHVybiFlfHwhb2UoZSk/IiI6UmEoZSx7a2luZDoiY29tcGFjdCJ9KX1mdW5jdGlvbiBMYShlLHQscixpKXtpZihlLnJvbGU9PT0idGhpbmtpbmciKXt2YXIgYT10eXBlb2YgZS5jb250ZW50PT0ic3RyaW5nIj9lLmNvbnRlbnQ6IiI7aWYoIWEudHJpbSgpKXJldHVybiIiO3ZhciB1PUt0KCJ0aGlua2luZyIsW2Z1KGUsciksInB0eSJdKSxzPVplKHUpLG89cz09PW51bGw/Qm4oInRoaW5raW5nIik6cztyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlIHRoaW5raW5nIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1pbmxpbmUgdGhpbmtpbmctcHR5ICcrKG8/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKHUpKyciIGRhdGEtdGhpbmtpbmc9IicrcChhKSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChhKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1pbmxpbmUtYWN0aW9uIj4nKyhvPyJcdTY1MzZcdThENzciOiJcdTVDNTVcdTVGMDAiKSsiPC9zcGFuPjwvZGl2PjwvZGl2PiJ9aWYoZS5yb2xlPT09InByb21wdCIpcmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSBwcm9tcHQiPjxkaXYgY2xhc3M9InByb21wdC1jYXJkIj48ZGl2IGNsYXNzPSJwcm9tcHQtaWNvbiI+XHUyMTkyPC9kaXY+PGRpdiBjbGFzcz0icHJvbXB0LWNvbnRlbnQiPlx1OEJENVx1OEJENVx1RkYxQTxzcGFuIGNsYXNzPSJwcm9tcHQtdGV4dCI+JytwKGUuY29udGVudCkrIjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj4iO2lmKEFycmF5LmlzQXJyYXkoZS5jb250ZW50KSlyZXR1cm4gZXYoZSx0LHIsaSk7dmFyIGw9S24oZS5yb2xlKSxjPWUucm9sZT09PSJhc3Npc3RhbnQiP1BhKGUuY29udGVudCk6cChlLmNvbnRlbnQpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJytlLnJvbGUrJyI+JytsKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtYnViYmxlIj4nK2MrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gVXAoZSl7dmFyIHQ9e307aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWVbcl07aWYoaSYmaS50eXBlPT09InRvb2xfcmVzdWx0Iil7dmFyIGE9aS50b29sX3VzZV9pZDtpZighYSljb250aW51ZTt0W2FdfHwodFthXT1bXSksdFthXS5wdXNoKGkpfX1yZXR1cm4gdH1mdW5jdGlvbiB3byhlLHQpe3ZhciByPWUmJnQ/ZVt0XTpudWxsO2lmKCFyfHwhci5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKHZhciBpPTA7aTxyLmxlbmd0aC0xO2krKylpZihPbyhyW2ldLHJbaSsxXSkpcmV0dXJuIHJbaSsxXTtyZXR1cm4gcltyLmxlbmd0aC0xXX1mdW5jdGlvbiBLcChlLHQpe3ZhciByPWUmJnQ/ZVt0XTpudWxsO2lmKCFyfHxyLmxlbmd0aDwyKXJldHVybiExO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGgtMTtpKyspaWYoT28ocltpXSxyW2krMV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEpwKGUpe3JldHVybic8ZGl2IGNsYXNzPSJzdHJ1Y3R1cmVkLXRvb2wtaGludCI+XHU1REYyXHU4MUVBXHU1MkE4XHU2MDYyXHU1OTBEXHU0RTAwXHU2QjIxICcrcChPYShlKSkrIiBcdTUzQzJcdTY1NzBcdTk1RUVcdTk4OTg8L2Rpdj4ifXZhciBDbz17UmVhZDoxLEdsb2I6MSxHcmVwOjEsV2ViRmV0Y2g6MSxXZWJTZWFyY2g6MSxUb2RvUmVhZDoxfTtmdW5jdGlvbiBZcChlKXtmb3IodmFyIHQ9W10scj0wO3I8ZS5sZW5ndGg7KXt2YXIgaT1lW3JdO2lmKGkudHlwZT09PSJ0b29sX3Jlc3VsdCIpe3IrKztjb250aW51ZX1pZihpLnR5cGU9PT0idG9vbF91c2UiJiZDb1tpLm5hbWVdKXtmb3IodmFyIGE9W3tibG9jazppLGluZGV4OnJ9XSx1PXIrMTt1PGUubGVuZ3RoOyl7aWYoZVt1XS50eXBlPT09InRvb2xfcmVzdWx0Iil7dSsrO2NvbnRpbnVlfWlmKGVbdV0udHlwZT09PSJ0b29sX3VzZSImJkNvW2VbdV0ubmFtZV0pYS5wdXNoKHtibG9jazplW3VdLGluZGV4OnV9KSx1Kys7ZWxzZSBicmVha31hLmxlbmd0aD49Mj90LnB1c2goe3R5cGU6Imdyb3VwIixpdGVtczphLGVuZEluZGV4OnV9KTp0LnB1c2goe3R5cGU6InNpbmdsZSIsYmxvY2s6aSxpbmRleDpyfSkscj11fWVsc2UgdC5wdXNoKHt0eXBlOiJzaW5nbGUiLGJsb2NrOmksaW5kZXg6cn0pLHIrK31yZXR1cm4gdH12YXIgR3A9e1JlYWQ6Ilx1OEJGQlx1NTNENiIsR2xvYjoiXHU2NDFDXHU3RDIyIixHcmVwOiJcdTY0MUNcdTdEMjIiLFdlYkZldGNoOiJcdTYyOTNcdTUzRDYiLFdlYlNlYXJjaDoiXHU2NDFDXHU3RDIyIixUb2RvUmVhZDoiXHU1Rjg1XHU1MjlFIn07ZnVuY3Rpb24gUXAoZSx0LHIsaSl7Zm9yKHZhciBhPXt9LHU9MDt1PGUubGVuZ3RoO3UrKyl7dmFyIHM9ZVt1XS5ibG9jay5uYW1lO2Fbc109KGFbc118fDApKzF9Zm9yKHZhciBvPSEwLGw9ITEsdT0wO3U8ZS5sZW5ndGg7dSsrKXt2YXIgYz1lW3VdLmJsb2NrLGQ9d28ocixjLmlkKTtkP2QuaXNfZXJyb3ImJihsPSEwKTpvPSExfXZhciBmPW8/bD8iXHUyNzE3IjoiXHUyNzEzIjoiXHUyMDI2Iix2PW8/bD8iZXJyb3IiOiJkb25lIjoicGVuZGluZyIsbT1bXTtmb3IodmFyIGIgaW4gYSltLnB1c2goYVtiXSsiICIrKEdwW2JdfHxiKSk7Zm9yKHZhciBnPW0uam9pbigiIFx4QjcgIikseT1LdCgidG9vbC1ncm91cCIsW2ksZVswXSYmZVswXS5pbmRleCxlLmxlbmd0aF0pLHc9WmUoeSksRj13PT09bnVsbD9CbigidG9vbEdyb3VwIik6dyxFPSIiLHU9MDt1PGUubGVuZ3RoO3UrKyl0cnl7RSs9a28oZVt1XS5ibG9jayx0LHIsZVt1XS5pbmRleCxpKX1jYXRjaHtFKz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTVERTVcdTUxNzdcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybic8ZGl2IGNsYXNzPSJ0b29sLWdyb3VwIiBkYXRhLWV4cGFuZC1raW5kPSJ0b29sLWdyb3VwIiBkYXRhLWV4cGFuZC1rZXk9IicrcCh5KSsnIiBkYXRhLWV4cGFuZGVkPSInKyhGPyJ0cnVlIjoiZmFsc2UiKSsnIiBkYXRhLXN0YXR1cz0iJyt2KyciPjxkaXYgY2xhc3M9InRvb2wtZ3JvdXAtc3VtbWFyeSIgb25jbGljaz0iX190b29sR3JvdXBUb2dnbGUodGhpcy5wYXJlbnROb2RlKSI+PHNwYW4gY2xhc3M9InRvb2wtZ3JvdXAtc3RhdHVzIj4nK2YrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC10ZXh0Ij4nK3AoZykrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC1ncm91cC1jb3VudCI+JytlLmxlbmd0aCsnIFx1NEUyQVx1OEMwM1x1NzUyODwvc3Bhbj48c3ZnIGNsYXNzPSJ0b29sLWdyb3VwLWNoZXZyb24iIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0eWxlPSJ0cmFuc2Zvcm06JysoRj8icm90YXRlKDE4MGRlZykiOiIiKSsnIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9InRvb2wtZ3JvdXAtYm9keSIgc3R5bGU9ImRpc3BsYXk6JysoRj8iYmxvY2siOiJub25lIikrJzsiPicrRSsiPC9kaXY+PC9kaXY+In13aW5kb3cuX190b29sR3JvdXBUb2dnbGU9ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtZXhwYW5kZWQiKT09PSJ0cnVlIjtlLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBhbmRlZCIsdD8iZmFsc2UiOiJ0cnVlIik7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCIudG9vbC1ncm91cC1ib2R5Iik7ciYmKHIuc3R5bGUuZGlzcGxheT10PyJub25lIjoiYmxvY2siKTt2YXIgaT1lLnF1ZXJ5U2VsZWN0b3IoIi50b29sLWdyb3VwLWNoZXZyb24iKTtpJiYoaS5zdHlsZS50cmFuc2Zvcm09dD8iIjoicm90YXRlKDE4MGRlZykiKSxibihlLCJ0b29sLWdyb3VwIil9fTtmdW5jdGlvbiBNYShlKXtpZighZXx8ZS50eXBlIT09InRvb2xfdXNlIilyZXR1cm4gbnVsbDt2YXIgdD1lLmlucHV0fHx7fSxyPXR5cGVvZiB0LnN1YmFnZW50X3R5cGU9PSJzdHJpbmciP3Quc3ViYWdlbnRfdHlwZTpudWxsO3JldHVybiFyJiZlLm5hbWUhPT0iVGFzayImJmUubmFtZSE9PSJBZ2VudCI/bnVsbDp7dGFza0lkOmUuaWQsYWdlbnRUeXBlOnJ8fHZvaWQgMCx0YXNrRGVzY3JpcHRpb246dHlwZW9mIHQuZGVzY3JpcHRpb249PSJzdHJpbmciP3QuZGVzY3JpcHRpb246dm9pZCAwfX1mdW5jdGlvbiAkcChlKXt2YXIgdD1uZXcgTWFwO2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiB0O2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgaT1lW3JdO2lmKCEoIWl8fGkucm9sZSE9PSJhc3Npc3RhbnQifHwhQXJyYXkuaXNBcnJheShpLmNvbnRlbnQpKSlmb3IodmFyIGE9MDthPGkuY29udGVudC5sZW5ndGg7YSsrKXt2YXIgdT1pLmNvbnRlbnRbYV07aWYoISghdXx8dS50eXBlIT09InRvb2xfdXNlIikpe3ZhciBzPXUuX19zdWJhZ2VudHx8TWEodSk7cyYmdC5zZXQodS5pZCxzKX19fXJldHVybiB0fWZ1bmN0aW9uIFhwKGUpe3ZhciB0PW5ldyBNYXA7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7dmFyIHI9bmV3IE1hcCxpPW5ldyBTZXQ7ZnVuY3Rpb24gYShkKXtpZighKCFkfHwhZC50YXNrSWQpJiYhaS5oYXMoZC50YXNrSWQpKXtpLmFkZChkLnRhc2tJZCk7dmFyIGY9aG8oZCk7ZiYmKHIuaGFzKGYpfHxyLnNldChmLFtdKSxyLmdldChmKS5wdXNoKGQudGFza0lkKSl9fWZvcih2YXIgdT0wO3U8ZS5sZW5ndGg7dSsrKXt2YXIgcz1lW3VdO2lmKCEoIXN8fCFBcnJheS5pc0FycmF5KHMuY29udGVudCkpKWZvcih2YXIgbz0wO288cy5jb250ZW50Lmxlbmd0aDtvKyspe3ZhciBsPXMuY29udGVudFtvXTtpZihsKXt2YXIgYz1sLl9fc3ViYWdlbnR8fChsLnR5cGU9PT0idG9vbF91c2UiP01hKGwpOm51bGwpO2MmJmEoYyl9fX1yZXR1cm4gci5mb3JFYWNoKGZ1bmN0aW9uKGQpe2lmKCEoZC5sZW5ndGg8MikpZm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspdC5zZXQoZFtmXSwiICMiKyhmKzEpKX0pLHR9ZnVuY3Rpb24gQm8oZSx0KXt2YXIgcj1bXTtpZighQXJyYXkuaXNBcnJheShlKXx8IWUubGVuZ3RoKXJldHVybiByO2Zvcih2YXIgaT1udWxsLGE9MDthPGUubGVuZ3RoO2ErKyl7dmFyIHU9ZVthXSxzPXUmJnUudHlwZT09PSJ0ZXh0IiYmdS5fX3Byb2Nlc3Npbmc9PT0hMDtpZihzJiZpKXtpLmJsb2Nrcy5wdXNoKHUpO2NvbnRpbnVlfXZhciBvPXUmJnUuX19zdWJhZ2VudD91Ll9fc3ViYWdlbnQ6bnVsbDtvfHwobz1NYSh1KSksIW8mJnUmJnUudHlwZT09PSJ0b29sX3Jlc3VsdCImJnQmJnQuaGFzKHUudG9vbF91c2VfaWQpJiYobz10LmdldCh1LnRvb2xfdXNlX2lkKSk7dmFyIGw9bz9vLnRhc2tJZDpudWxsOyghaXx8aS5rZXkhPT1sKSYmKGk9e2tleTpsLHN1YmFnZW50Om8sYmxvY2tzOltdLGZpcnN0SW5kZXg6YX0sci5wdXNoKGkpKSxpLmJsb2Nrcy5wdXNoKHUpfXJldHVybiByfWZ1bmN0aW9uIHFhKGUsdCxyLGksYSl7dmFyIHU9IiI7dHJ5e2Zvcih2YXIgcz1ZcChlKSxvPTA7bzxzLmxlbmd0aDtvKyspe3ZhciBsPXNbb107dHJ5e2lmKGwudHlwZT09PSJncm91cCIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxsLml0ZW1zLmxlbmd0aDtkKyspYy5wdXNoKHtibG9jazpsLml0ZW1zW2RdLmJsb2NrLGluZGV4OmwuaXRlbXNbZF0uaW5kZXgrdH0pO3UrPVFwKGMscixpLGEpfWVsc2UgdSs9a28obC5ibG9jayxyLGksbC5pbmRleCt0LGEpfWNhdGNoe3UrPSc8ZGl2IGNsYXNzPSJyZW5kZXItZXJyb3IiPlx1NkQ4OFx1NjA2Rlx1NTc1N1x1NkUzMlx1NjdEM1x1NTkzMVx1OEQyNTwvZGl2Pid9fX1jYXRjaHt1Kz0nPGRpdiBjbGFzcz0icmVuZGVyLWVycm9yIj5cdTZEODhcdTYwNkZcdTZFMzJcdTY3RDNcdTU5MzFcdThEMjU8L2Rpdj4nfXJldHVybiB1fWZ1bmN0aW9uIERvKGUsdCxyLGksYSx1KXtmb3IodmFyIHM9dXx8e30sbz1zLnNob3dIYW5kb2ZmIT09ITEsbD0iIixjPW51bGwsZD0wO2Q8ZS5sZW5ndGg7ZCsrKXt2YXIgZj1lW2RdLHY9cWEoZi5ibG9ja3MsZi5maXJzdEluZGV4LHQsaSxhKTtpZighKCF2fHwhdi50cmltKCkpKWlmKGYuc3ViYWdlbnQpe3ZhciBtPW8mJmMhPT1mLnN1YmFnZW50LnRhc2tJZDtsKz1acChmLHIsdixhLG0pLGM9Zi5zdWJhZ2VudC50YXNrSWR9ZWxzZSBsKz0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLXNlZ21lbnQgcGFyZW50Ij4nK0tuKHQpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+Jyt2KyI8L2Rpdj48L2Rpdj4iLGM9bnVsbH1yZXR1cm4gbH1mdW5jdGlvbiBacChlLHQscixpLGEpe3ZhciB1PWUuc3ViYWdlbnQscz1ibyh1KSxvPXlvKHUpLGw9dS50YXNrSWR8fCIiLGM9cGkodmkocykpLGQ7aWYoYSl7dmFyIGY9JzxzdHJvbmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLW5hbWUiPicrcChvKSsnPC9zdHJvbmc+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhZyIgdGl0bGU9IicrcChVZSgic3ViYWdlbnQudGFnX3RpdGxlIikpKyciPicrcChVZSgic3ViYWdlbnQudGFnIikpKyI8L3NwYW4+Iix2PSEhKHUudGFza0Rlc2NyaXB0aW9uJiZTdHJpbmcodS50YXNrRGVzY3JpcHRpb24pLnRyaW0oKSksbT12P1VlKCJzdWJhZ2VudC5oYW5kb2ZmLndpdGhfZGVzYyIse3BhcmVudDpwKHQpLHN1YjpmfSk6VWUoInN1YmFnZW50LmhhbmRvZmYiLHtwYXJlbnQ6cCh0KSxzdWI6Zn0pLGI9dj8nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLXRhc2stZGVzYyI+JytwKHUudGFza0Rlc2NyaXB0aW9uKSsiPC9zcGFuPiI6IiI7ZD0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWFycm93IiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHUyMUIzPC9zcGFuPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1hdHRyaWJ1dGlvbiI+JyttK2IrIjwvc3Bhbj4ifWVsc2UgZD0nPHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9uIj48c3Ryb25nIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1uYW1lIj4nK3AobykrJzwvc3Ryb25nPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10YXNrLWRlc2MiPiAnK3AoVWUoInN1YmFnZW50LmNvbnRpbnVlZCIpKSsiPC9zcGFuPjwvc3Bhbj4iO3ZhciBnPUt0KCJzdWJhZ2VudC1wYW5lbCIsW2ksbF0pLHk9WmUoZyksdz15PT09bnVsbD8hMTohIXk7ZnVuY3Rpb24gRihFKXtyZXR1cm4nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10b2dnbGUiIGRhdGEtcG9zaXRpb249IicrRSsnIiBvbmNsaWNrPSJfX3N1YmFnZW50UGFuZWxUb2dnbGUoZXZlbnQsIHRoaXMpIiBhcmlhLWV4cGFuZGVkPSInKyh3PyJ0cnVlIjoiZmFsc2UiKSsnIiBhcmlhLWxhYmVsPSInK3AoVWUodz8idWkuY29sbGFwc2VfcGFuZWxfYXJpYSI6InVpLmV4cGFuZF9wYW5lbF9hcmlhIikpKyciPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC10b2dnbGUtbGFiZWwiPicrcChVZSh3PyJ1aS5jb2xsYXBzZSI6InVpLmV4cGFuZCIpKSsnPC9zcGFuPjxzdmcgY2xhc3M9InN1YmFnZW50LXBhbmVsLXRvZ2dsZS1pY29uIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0yLjUgMy43NUw1IDYuMjVMNy41IDMuNzUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+PC9idXR0b24+J31yZXR1cm4nPGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwiIGRhdGEtZXhwYW5kLWtpbmQ9InN1YmFnZW50LXBhbmVsIiBkYXRhLWV4cGFuZC1rZXk9IicrcChnKSsnIiBkYXRhLWFnZW50LWlkPSInK3AobCkrJyIgZGF0YS1leHBhbmRlZD0iJysodz8idHJ1ZSI6ImZhbHNlIikrJyIgc3R5bGU9Ii0tYWdlbnQtY29sb3I6JytzLnByaW1hcnkrJyI+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtaGVhZGVyIiBvbmNsaWNrPSJfX3N1YmFnZW50UGFuZWxUb2dnbGUoZXZlbnQsIHRoaXMpIiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIiBhcmlhLWxhYmVsPSInK3AoVWUoInN1YmFnZW50LnRpdGxlX2FyaWEiKSkrJyI+PHNwYW4gY2xhc3M9InN1YmFnZW50LXBhbmVsLWF2YXRhciIgYXJpYS1oaWRkZW49InRydWUiPicrYysiPC9zcGFuPiIrZCtGKCJ0b3AiKSsnPC9kaXY+PGRpdiBjbGFzcz0ic3ViYWdlbnQtcGFuZWwtYm9keSI+JytyKyc8L2Rpdj48ZGl2IGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1mb290ZXIiPjxzcGFuIGNsYXNzPSJzdWJhZ2VudC1wYW5lbC1mb290ZXItaGludCIgYXJpYS1oaWRkZW49InRydWUiPlx1MjAxNCAnK3AobykrIiBcdTIwMTQ8L3NwYW4+IitGKCJib3R0b20iKSsiPC9kaXY+PC9kaXY+In1mdW5jdGlvbiBldihlLHQscixpKXt2YXIgYT1lLnJvbGUsdT1mdShlLHIpLHM9YT09PSJ1c2VyIiYmZS5jb250ZW50JiZlLmNvbnRlbnQuc29tZShmdW5jdGlvbihBKXtyZXR1cm4gQS5fX3F1ZXVlZH0pO2lmKCFlLmNvbnRlbnR8fGUuY29udGVudC5sZW5ndGg9PT0wKXJldHVybiBhPT09ImFzc2lzdGFudCI/JzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErJyI+JytLbihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWJ1YmJsZSI+PGRpdiBjbGFzcz0idHlwaW5nLWluZGljYXRvciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+JzonPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIGVtcHR5LW1lc3NhZ2UiIGRhdGEtbWVzc2FnZS1rZXk9IicrcCh1KSsnIj4nK0tuKGEpKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+PHNwYW4gY2xhc3M9ImVtcHR5LW1lc3NhZ2UtaGludCI+XHVGRjA4XHU3QTdBXHU2RDg4XHU2MDZGXHVGRjA5PC9zcGFuPjwvZGl2PjwvZGl2Pic7dmFyIG89VXAoZS5jb250ZW50KSxsPVRhKCJhc3Npc3RhbnQiKTtpZihhIT09ImFzc2lzdGFudCIpe3ZhciBjPUJvKGUuY29udGVudCxpKSxkPWMuc29tZShmdW5jdGlvbihBKXtyZXR1cm4gQS5zdWJhZ2VudH0pLGY9cz8iIHF1ZXVlZCI6IiIsdj1zPyc8c3BhbiBjbGFzcz0icXVldWVkLWJhZGdlIj5cdTYzOTJcdTk2MUZcdTRFMkQ8L3NwYW4+JzoiIixtPVZwKCk7aWYoZCl7dmFyIGI9RG8oYyxhLGwubmFtZSxvLHUse3Nob3dIYW5kb2ZmOiExfSk7cmV0dXJuJzxkaXYgY2xhc3M9ImNoYXQtbWVzc2FnZSAnK2ErZisnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytiK3YrIjwvZGl2PiJ9dmFyIGc9cWEoZS5jb250ZW50LDAsYSxvLHUpO3JldHVybic8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UgJythK2YrJyIgZGF0YS1tZXNzYWdlLWtleT0iJytwKHUpKyciPicrS24oYSx7bGVmdFNsb3Q6bX0pKyc8ZGl2IGNsYXNzPSJjaGF0LW1lc3NhZ2UtY29udGVudCI+JytnK3YrIjwvZGl2PjwvZGl2PiJ9dmFyIHk9Qm8oZS5jb250ZW50LGkpLHc9eS5zb21lKGZ1bmN0aW9uKEEpe3JldHVybiBBLnN1YmFnZW50fSk7aWYoIXcpe3ZhciBGPXFhKGUuY29udGVudCwwLGEsbyx1KTtyZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JytLbihhKSsnPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlLWNvbnRlbnQiPicrRisiPC9kaXY+PC9kaXY+In12YXIgRT0nPGRpdiBjbGFzcz0iY2hhdC1tZXNzYWdlICcrYSsnIG11bHRpLWFnZW50IiBkYXRhLW1lc3NhZ2Uta2V5PSInK3AodSkrJyI+JztyZXR1cm4gRSs9RG8oeSxhLGwubmFtZSxvLHUse3Nob3dIYW5kb2ZmOiEwfSksRSs9IjwvZGl2PiIsRX1mdW5jdGlvbiBrbyhlLHQscixpLGEpe2lmKCFlfHwhZS50eXBlfHxlLnR5cGU9PT0idG9vbF91c2UiJiZlLl9fc3ViYWdlbnQmJmUuX19zdWJhZ2VudC50YXNrSWQ9PT1lLmlkKXJldHVybiIiO2lmKGUudHlwZT09PSJ0b29sX3Jlc3VsdCImJmUuX19zdWJhZ2VudCYmZS5fX3N1YmFnZW50LnRhc2tJZD09PWUudG9vbF91c2VfaWQpcmV0dXJuIHpwKGUsdCk7c3dpdGNoKGUudHlwZSl7Y2FzZSJ0ZXh0IjpyZXR1cm4gdD09PSJhc3Npc3RhbnQiJiZlLl9fcHJvY2Vzc2luZz8nPGRpdiBjbGFzcz0idHlwaW5nLWluZGljYXRvciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+Jzp0PT09ImFzc2lzdGFudCI/UGEoZS50ZXh0fHwiIik6cChlLnRleHR8fCIiKTtjYXNlInRoaW5raW5nIjp2YXIgdT1lLnRoaW5raW5nfHwiIixzPWUudGhpbmtpbmc9PT12b2lkIDAmJmUudHlwZT09PSJ0aGlua2luZyI7aWYocylyZXR1cm4nPGRpdiBjbGFzcz0idGhpbmtpbmctaW5saW5lIHRoaW5raW5nLXN0cmVhbWluZyIgZGF0YS10aGlua2luZz0iIj48ZGl2IGNsYXNzPSJ0aGlua2luZy1zdHJlYW1pbmctaW5uZXIiPjxzcGFuIGNsYXNzPSJ0aGlua2luZy1zdHJlYW1pbmctaWNvbiBzcGlubmluZyI+XHUyOUJGPC9zcGFuPjxkaXYgY2xhc3M9InRoaW5raW5nLXN0cmVhbWluZy10ZXh0Ij48L2Rpdj48L2Rpdj48L2Rpdj4nO2lmKCF1LnRyaW0oKSlyZXR1cm4iIjt2YXIgbz11Lmxlbmd0aD42MD91LnNsaWNlKDAsNTcpKyJcdTIwMjYiOnUsbD1LdCgidGhpbmtpbmciLFthLGldKSxjPVplKGwpLGQ9Yz09PW51bGw/Qm4oInRoaW5raW5nIik6YztyZXR1cm4nPGRpdiBjbGFzcz0idGhpbmtpbmctaW5saW5lICcrKGQ/ImV4cGFuZGVkIjoiY29sbGFwc2VkIikrJyIgZGF0YS1leHBhbmQta2luZD0idGhpbmtpbmciIGRhdGEtZXhwYW5kLWtleT0iJytwKGwpKyciIGRhdGEtdGhpbmtpbmc9IicrcCh1KSsnIiBvbmNsaWNrPSJfX3RoaW5raW5nVG9nZ2xlKHRoaXMpIj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWljb24iPlx1MjlCRjwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLXByZXZpZXciPicrcChkP3U6bykrJzwvc3Bhbj48c3BhbiBjbGFzcz0idGhpbmtpbmctaW5saW5lLWFjdGlvbiI+JysoZD8iXHU2NTM2XHU4RDc3IjoiXHU1QzU1XHU1RjAwIikrIjwvc3Bhbj48L2Rpdj4iO2Nhc2UidG9vbF91c2UiOnZhciBmPXdvKHIsZS5pZCksdj1pdihlLGYsaSxhKTtyZXR1cm4gS3AocixlLmlkKSYmKHY9SnAoZS5uYW1lfHwiXHU1REU1XHU1MTc3IikrdiksdjtjYXNlInRvb2xfcmVzdWx0IjpyZXR1cm4iIjtkZWZhdWx0OnZhciBtPWUmJmUudHlwZT9TdHJpbmcoZS50eXBlKToiXHU2NzJBXHU3N0U1IixiPSIiO3RyeXtiPUpTT04uc3RyaW5naWZ5KGUsbnVsbCwyKX1jYXRjaHtiPSJ7fSJ9cmV0dXJuYDxkaXYgY2xhc3M9InVua25vd24tYmxvY2sgY29sbGFwc2VkIiBvbmNsaWNrPSJ0aGlzLmNsYXNzTGlzdC50b2dnbGUoJ2NvbGxhcHNlZCcpIj48ZGl2IGNsYXNzPSJ1bmtub3duLWJsb2NrLWhlYWRlciI+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2staWNvbiI+Pzwvc3Bhbj48c3BhbiBjbGFzcz0idW5rbm93bi1ibG9jay1sYWJlbCI+XHU2NzJBXHU4QkM2XHU1MjJCXHU3Njg0XHU1MTg1XHU1QkI5XHU1NzU3XHVGRjFBYCtwKG0pKyc8L3NwYW4+PHNwYW4gY2xhc3M9InVua25vd24tYmxvY2stdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PHByZSBjbGFzcz0idW5rbm93bi1ibG9jay1ib2R5Ij4nK3AoYikrIjwvcHJlPjwvZGl2PiJ9fWZ1bmN0aW9uIHR2KGUsdCxyLGksYSx1LHMpe3ZhciBvPWUuaWR8fCJ0b29sLSIrcixsPUt0KCJpbmxpbmUtdG9vbCIsW3Usb3x8cyxzXSksYz1aZShsKSxkPWUuaW5wdXR8fHt9LGY9bG4odCYmdC5jb250ZW50KSx2PXQmJnQuaXNfZXJyb3IsbT1mLmxlbmd0aD4wLGI9dj8iXHUyNzE3IjptPyJcdTI3MTMiOiJcdTIwMjYiLGc9IiIseT0iIix3PSIiLEY9IiI7aWYocj09PSJSZWFkIil7Zz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PHBhdGggZD0iTTEgMy41QTEuNSAxLjUgMCAwIDEgMi41IDJoMi43NjRjLjk1OCAwIDEuNzYuNTYgMi4zMTEgMS4xODRDOC40MDUgMy43NyA5LjE0NiA0IDEwIDRoMy41QTEuNSAxLjUgMCAwIDEgMTUgNS41djdhMS41IDEuNSAwIDAgMS0xLjUgMS41aC0xMUExLjUgMS41IDAgMCAxIDEgMTIuNXYtOXoiLz48cGF0aCBkPSJNMiA1LjVoMTJNMiA4aDhNMiAxMC41aDUiLz48L3N2Zz4nO3ZhciBFPWQuZmlsZV9wYXRofHxkLnBhdGh8fGl8fCIiLEE9IiI7ZC5saW1pdCYmKEE9IiAiK2Qub2Zmc2V0KyItIisoZC5vZmZzZXQrZC5saW1pdCkpLHk9RSx3PUF9ZWxzZSBpZihyPT09Ikdsb2IiKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNSIvPjxwYXRoIGQ9Ik0xMC41IDEwLjVMMTQgMTQiLz48L3N2Zz4nO3ZhciB4PWQucGF0dGVybnx8IiIsUz1kLnBhdGh8fGl8fCIiO3k9eCx3PVN9ZWxzZSBpZihyPT09IkdyZXAiKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI2LjUiIGN5PSI2LjUiIHI9IjQuNSIvPjxwYXRoIGQ9Ik0xMS41IDExLjVMMTUgMTUiLz48L3N2Zz4nO3ZhciB4PWQucGF0dGVybnx8IiIsUz1kLnBhdGh8fGl8fCIiO3k9eCx3PVMsZC5jb250ZXh0JiYodys9IiAtQyIrZC5jb250ZXh0KX1lbHNlIGlmKHI9PT0iV2ViRmV0Y2giKXtnPSc8c3ZnIGNsYXNzPSJpbmxpbmUtdG9vbC1pY29uIiB2aWV3Qm94PSIwIDAgMTYgMTYiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij48Y2lyY2xlIGN4PSI4IiBjeT0iOCIgcj0iNi41Ii8+PHBhdGggZD0iTTggMS41djEzTTEuNSA4aDEzIi8+PC9zdmc+Jzt2YXIgUD1kLnVybHx8IiI7eT1QLHc9YXx8IiJ9ZWxzZSBpZihyPT09IldlYlNlYXJjaCIpe2c9JzxzdmcgY2xhc3M9ImlubGluZS10b29sLWljb24iIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPjxjaXJjbGUgY3g9IjciIGN5PSI3IiByPSI1Ii8+PHBhdGggZD0iTTEwLjUgMTAuNUwxNCAxNCIvPjxwYXRoIGQ9Ik01IDdoNE03IDV2NCIvPjwvc3ZnPic7dmFyIHo9ZC5xdWVyeXx8IiI7eT16LHc9YXx8IiJ9ZWxzZSByPT09IlRvZG9SZWFkIj8oZz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMiIvPjxwYXRoIGQ9Ik01IDhsMiAyIDQtNCIvPjwvc3ZnPicseT0iXHU4QkZCXHU1M0Q2XHU1Rjg1XHU1MjlFXHU1MjE3XHU4ODY4Iix3PWF8fCIiKTooZz0nPHN2ZyBjbGFzcz0iaW5saW5lLXRvb2wtaWNvbiIgdmlld0JveD0iMCAwIDE2IDE2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+PGNpcmNsZSBjeD0iOCIgY3k9IjgiIHI9IjYuNSIvPjxwYXRoIGQ9Ik04IDV2My41TTggMTFoLjAxIi8+PC9zdmc+Jyx5PU9hKHIpLHc9YXx8IiIpO2lmKG0pe3ZhciBHPWYuc3BsaXQoYApgKTtHLmxlbmd0aD4xMD9GPUcuc2xpY2UoMCwxMCkuam9pbihgCmApK2AKXHUyMDI2YDpGPWZ9dmFyIEw9cChmKSxCPXAoRiksVD1mLEk9IiIsVj1jPT09bnVsbD9CbigiaW5saW5lVG9vbHMiKTpjO20/ST0nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtZXhwYW5kZWQiIHN0eWxlPSJkaXNwbGF5OiAnKyhWPyJibG9jayI6Im5vbmUiKSsnOyI+PGRpdiBjbGFzcz0iaW5saW5lLXRvb2wtcmVzdWx0Ij4nK0FvKGYscikrIjwvZGl2PjwvZGl2PiI6dj9JPSc8ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1leHBhbmRlZCIgc3R5bGU9ImRpc3BsYXk6ICcrKFY/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJpbmxpbmUtdG9vbC1yZXN1bHQgaW5saW5lLXRvb2wtZXJyb3IiPicrcChmfHwiXHU2NENEXHU0RjVDXHU1OTMxXHU4RDI1IikrIjwvZGl2PjwvZGl2PiI6dHx8KEk9JzxkaXYgY2xhc3M9ImlubGluZS10b29sLWV4cGFuZGVkIiBzdHlsZT0iZGlzcGxheTogJysoVj8iYmxvY2siOiJub25lIikrJzsiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLWxvYWRpbmciPlx1N0I0OVx1NUY4NVx1NTRDRFx1NUU5NFx1MjAyNjwvZGl2PjwvZGl2PicpO3ZhciByZT10JiZ0Ll90cnVuY2F0ZWQ9PT0hMCx0ZT13Pyc8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtbWV0YSI+JytwKHcpKyI8L3NwYW4+IjoiIiwkPXY/ImlubGluZS10b29sLWVycm9yLWlubGluZSI6IiI7ViYmKCQrPSIgaW5saW5lLXRvb2wtb3BlbiIpO3ZhciBpZT1yZT8nZGF0YS10cnVuY2F0ZWQ9InRydWUiIGRhdGEtdG9vbC11c2UtaWQ9IicrcChlLmlkfHwiIikrJyIgJzoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iaW5saW5lLXRvb2wgJyskKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImlubGluZS10b29sIiBkYXRhLWV4cGFuZC1rZXk9IicrcChsKSsnIiBkYXRhLXJlc3VsdD0iJytwKFQpKyciIGRhdGEtcHJldmlldz0iJytCKyciIGRhdGEtc3RhdHVzPSInKyh2PyJlcnJvciI6bT8iZG9uZSI6InBlbmRpbmciKSsnIiAnK2llKydvbmNsaWNrPSJfX2lubGluZVRvb2xUb2dnbGUodGhpcykiPjxkaXYgY2xhc3M9ImlubGluZS10b29sLXJvdyI+PHNwYW4gY2xhc3M9ImlubGluZS10b29sLXN0YXR1cyI+JytiKyI8L3NwYW4+IitnKyc8c3BhbiBjbGFzcz0iaW5saW5lLXRvb2wtdGl0bGUiPicrcCh5KSsiPC9zcGFuPiIrdGUrIjwvZGl2PiIrSSsiPC9kaXY+In1mdW5jdGlvbiBudihlLHQscixpLGEpe3ZhciB1PWUuaW5wdXR8fHt9LHM9dS5jb21tYW5kfHx1LmNtZHx8IiIsbz1sbih0JiZ0LmNvbnRlbnQpLGw9ZS5pZHx8InRvb2wtIityLGM9S3QoInRlcm1pbmFsIixbaSxsfHxhLGFdKSxkPVplKGMpLGY9dCYmdC5pc19lcnJvcix2PXUuZXhpdENvZGUsbT1vLmxlbmd0aD4wLGI9IiI7dD9mP2I9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS1lcnJvciI+PC9zcGFuPic6dj09PTB8fHY9PT12b2lkIDA/Yj0nPHNwYW4gY2xhc3M9InRlcm0tc3RhdHVzLWRvdCB0ZXJtLXN1Y2Nlc3MiPjwvc3Bhbj4nOmI9JzxzcGFuIGNsYXNzPSJ0ZXJtLXN0YXR1cy1kb3QgdGVybS13YXJuIj48L3NwYW4+JzpiPSc8c3BhbiBjbGFzcz0idGVybS1zdGF0dXMtZG90IHRlcm0tcnVubmluZyI+PC9zcGFuPic7Zm9yKHZhciBnPSc8c3BhbiBjbGFzcz0idGVybS1wcm9tcHQiPiQ8L3NwYW4+Jyx5PXAocyksdz1vLnNwbGl0KGAKYCksRj0iIixFPTA7RTx3Lmxlbmd0aDtFKyspe3ZhciBBPXdbRV07IUEmJkU9PT13Lmxlbmd0aC0xfHwoRis9JzxkaXYgY2xhc3M9InRlcm0tbGluZSI+JytwKEEpKyI8L2Rpdj4iKX12YXIgeD0iIjtpZih0JiZ2IT09dm9pZCAwKXt2YXIgUz12PT09MD8idGVybS1leGl0LXN1Y2Nlc3MiOiJ0ZXJtLWV4aXQtZXJyb3IiO3g9JzxkaXYgY2xhc3M9InRlcm0tZXhpdCAnK1MrJyI+ZXhpdCAnK3YrIjwvZGl2PiJ9dmFyIFA9cy5sZW5ndGg+ODA/cy5zbGljZSgwLDc3KSsiXHUyMDI2IjpzLHo9ZD09PW51bGw/Qm4oInRlcm1pbmFsIik6ZCxHPXQmJnQuX3RydW5jYXRlZD09PSEwLEw9Rz8nIGRhdGEtdHJ1bmNhdGVkPSJ0cnVlIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AoZS5pZHx8IiIpKyciJzoiIjtyZXR1cm4nPGRpdiBjbGFzcz0iaW5saW5lLXRlcm1pbmFsIiBkYXRhLWV4cGFuZC1raW5kPSJ0ZXJtaW5hbCIgZGF0YS1leHBhbmQta2V5PSInK3AoYykrJyIgZGF0YS1leHBhbmRlZD0iJysoej8idHJ1ZSI6ImZhbHNlIikrJyInK0wrJz48ZGl2IGNsYXNzPSJ0ZXJtLWhlYWRlciIgb25jbGljaz0iX190ZXJtaW5hbEV4cGFuZCh0aGlzKSI+JytiKyc8c3BhbiBjbGFzcz0idGVybS1jbWQtcHJldmlldyI+PHNwYW4gY2xhc3M9InRlcm0tcHJvbXB0Ij4kPC9zcGFuPiAnK3AoUCkrJzwvc3Bhbj48c3BhbiBjbGFzcz0idGVybS10b2dnbGUtaWNvbiI+Jysoej8iXHUyNUJDIjoiXHUyNUI2IikrJzwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXJtLWJvZHkiIHN0eWxlPSJkaXNwbGF5OicrKHo/ImJsb2NrIjoibm9uZSIpKyc7Ij48ZGl2IGNsYXNzPSJ0ZXJtLWNvbW1hbmQiPjxzcGFuIGNsYXNzPSJ0ZXJtLXByb21wdCI+JDwvc3Bhbj4gJyt5KyI8L2Rpdj4iKyhGPyc8ZGl2IGNsYXNzPSJ0ZXJtLW91dHB1dCI+JytGKyI8L2Rpdj4iOiIiKSt4KyI8L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIGxuKGUpe3JldHVybiBlP3R5cGVvZiBlPT0ic3RyaW5nIj9lOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoZnVuY3Rpb24odCl7aWYoIXR8fHR5cGVvZiB0IT0ib2JqZWN0IilyZXR1cm4iIjtpZih0LnR5cGU9PT0idGV4dCImJnR5cGVvZiB0LnRleHQ9PSJzdHJpbmciKXJldHVybiB0LnRleHQ7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1jYXRjaHtyZXR1cm4iIn19KS5maWx0ZXIoQm9vbGVhbikuam9pbihgCmApOiIiOiIifWZ1bmN0aW9uIHJ2KGUsdCxyLGksYSl7dmFyIHU9ZS5pbnB1dHx8e30scz11LmZpbGVfcGF0aHx8dS5wYXRofHwiIixvPXMuc3BsaXQoIi8iKS5wb3AoKXx8cyxsPWUuaWR8fCJ0b29sLSIrcisiLSIrKHR5cGVvZiBhPT0ibnVtYmVyIj9hOjApLGM9dS5vbGRfc3RyaW5nfHwiIixkPXUubmV3X3N0cmluZ3x8dS5jb250ZW50fHwiIixmPXUub2xkX2NvbnRlbnR8fCIiLHY9dS5uZXdfY29udGVudHx8IiIsbT1yPT09IldyaXRlInx8cj09PSJNdWx0aUVkaXQiLGI9dCYmdC5pc19lcnJvcixnPWxuKHQmJnQuY29udGVudCkseT0hIShnJiZnLnRyaW0oKS5sZW5ndGg+MCksdz0iIixGPSIiO20/Rj0nPGRpdiBjbGFzcz0iZGlmZi1saW5lIGRpZmYtYWRkIj4rICcrcCh2KSsiPC9kaXY+IjooYyYmKHc9JzxkaXYgY2xhc3M9ImRpZmYtbGluZSBkaWZmLXJlbW92ZSI+LSAnK3AoYykrIjwvZGl2PiIpLGQmJihGPSc8ZGl2IGNsYXNzPSJkaWZmLWxpbmUgZGlmZi1hZGQiPisgJytwKGQpKyI8L2Rpdj4iKSk7dmFyIEU9IiIsQT0iIjt0P2I/KEU9ImRpZmYtZXJyb3IiLEE9Zy5pbmRleE9mKCJoYXZlbid0IGdyYW50ZWQiKSE9PS0xfHxnLmluZGV4T2YoInBlcm1pc3Npb24iKSE9PS0xPyJcdTdCNDlcdTVGODVcdTYzODhcdTY3NDMiOiJcdTU5MzFcdThEMjUiKTooRT0iZGlmZi1zdWNjZXNzIixBPSJcdTVERjJcdTRGRUVcdTY1MzkiKTooRT0iZGlmZi1wZW5kaW5nIixBPSJcdTYyNjdcdTg4NENcdTRFMkQiKTt2YXIgeD1LdCgiZGlmZiIsW2ksbHx8YSxhXSksUz1aZSh4KSxQPUJuKCJlZGl0Q2FyZHMiKSx6PVM9PT1udWxsP0U9PT0iZGlmZi1wZW5kaW5nInx8UDpTLEc9ej8iIjoiIGNvbGxhcHNlZCIsTD13JiZGLEI9TD8iZGlmZi1jb2wtaGFsZiI6ImRpZmYtY29sLWZ1bGwiO3JldHVybic8ZGl2IGNsYXNzPSJpbmxpbmUtZGlmZicrRysnIiBkYXRhLXRvb2wtbmFtZT0iJytwKHIpKyciIGRhdGEtZXhwYW5kLWtpbmQ9ImRpZmYiIGRhdGEtZXhwYW5kLWtleT0iJytwKHgpKyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcChsKSsnIj48ZGl2IGNsYXNzPSJkaWZmLWhlYWRlciIgb25jbGljaz0iX190Y1RvZ2dsZShldmVudCx0aGlzKSI+PHNwYW4gY2xhc3M9ImRpZmYtZmlsZS1pY29uIj48L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtZmlsZS1uYW1lIj4nK3AobykrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1wYXRoIj4nK3AocykrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1zdGF0dXMgJytFKyciPicrQSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLXRvZ2dsZSI+XHUyNUJDPC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImRpZmYtYm9keSI+PGRpdiBjbGFzcz0iZGlmZi1jb2x1bW5zIj4nKyhMPyc8ZGl2IGNsYXNzPSJkaWZmLWNvbCAnK0IrJyI+PGRpdiBjbGFzcz0iZGlmZi1jb2wtbGFiZWwiPlx1NjVFNzwvZGl2PicrdysiPC9kaXY+IjoiIikrJzxkaXYgY2xhc3M9ImRpZmYtY29sICcrQisnIj48ZGl2IGNsYXNzPSJkaWZmLWNvbC1sYWJlbCI+JysoTD8iXHU2NUIwIjoiIikrIjwvZGl2PiIrKEZ8fHcpKyI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4ifWZ1bmN0aW9uIEFvKGUsdCl7cmV0dXJuIGU/JzxwcmUgY2xhc3M9ImlubGluZS10b29sLXJlc3VsdC10ZXh0IiBzdHlsZT0ibWF4LWhlaWdodDogMzAwcHg7IG92ZXJmbG93LXk6IGF1dG87Ij4nK3AoZSkrIjwvcHJlPiI6JzxzcGFuIGNsYXNzPSJpbmxpbmUtdG9vbC1lbXB0eSI+XHU2NUUwXHU4RjkzXHU1MUZBPC9zcGFuPid9ZnVuY3Rpb24gaXYoZSx0LHIsaSl7dmFyIGE9ZS5uYW1lfHwidW5rbm93biIsdT1lLmlkfHwidG9vbC0iK2ErIi0iKyh0eXBlb2Ygcj09Im51bWJlciI/cjowKSxzPXV2KGEsZS5pbnB1dCk7aWYoYT09PSJSZWFkInx8YT09PSJHbG9iInx8YT09PSJHcmVwInx8YT09PSJXZWJGZXRjaCJ8fGE9PT0iV2ViU2VhcmNoInx8YT09PSJUb2RvUmVhZCIpcmV0dXJuIHR2KGUsdCxhLHMsIiIsaSxyKTtpZihhPT09IkJhc2giKXJldHVybiBudihlLHQsYSxpLHIpO2lmKGE9PT0iRWRpdCJ8fGE9PT0iV3JpdGUifHxhPT09Ik11bHRpRWRpdCIpcmV0dXJuIHJ2KGUsdCxhLGkscik7aWYoYT09PSJBc2tVc2VyUXVlc3Rpb24iJiZlLmlucHV0JiZlLmlucHV0LnF1ZXN0aW9ucyl7dmFyIG89ZS5pbnB1dC5xdWVzdGlvbnM7aWYobyYmby5sZW5ndGg+MCl7Zm9yKHZhciBsPSEhdCxjPW4uYXNrVXNlclNlbGVjdGlvbnNbdV18fHt9LGQ9ISFjLnN1Ym1pdHRlZCxmPWw/bG4odC5jb250ZW50KToiIix2PWY/Zi50cmltKCkuc3BsaXQoYApgKTpbXSxtPSIiLGI9MDtiPG8ubGVuZ3RoO2IrKylpZihvW2JdLmhlYWRlcil7bT1vW2JdLmhlYWRlcjticmVha312YXIgZz1tPyc8c3BhbiBjbGFzcz0idG9vbC11c2Utc3VtbWFyeSI+JytwKG0pKyI8L3NwYW4+IjoiIix5PSIiO28uZm9yRWFjaChmdW5jdGlvbihPLFIpe3ZhciBzZT0hIU8ubXVsdGlTZWxlY3QsQmU9Ty5xdWVzdGlvbj8nPGRpdiBjbGFzcz0iYXNrLXVzZXItdGl0bGUiPicrcChPLnF1ZXN0aW9uKSsiPC9kaXY+IjoiIixuZT0iIjtPLm9wdGlvbnMmJk8ub3B0aW9ucy5sZW5ndGg+MCYmKG5lPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb25zIiBkYXRhLW11bHRpLXNlbGVjdD0iJytzZSsnIj4nLE8ub3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGRlLE1lKXt2YXIgbHQ9ZGUubGFiZWw/cChkZS5sYWJlbCk6Ilx1OTAwOVx1OTg3OSAiKyhNZSsxKSxndD1kZS5kZXNjcmlwdGlvbj8nPGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWRlc2MiPicrcChkZS5kZXNjcmlwdGlvbikrIjwvZGl2PiI6IiI7aWYobCl7dmFyIEdlPXZbUl18fHZbMF18fCIiLHJ0PUdlLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHplKXtyZXR1cm4gemUudHJpbSgpfSksaXQ9cnQuaW5kZXhPZihkZS5sYWJlbHx8IiIpIT09LTE7bmUrPSc8ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24gYXNrLXVzZXItb3B0aW9uLXJlYWRvbmx5JysoaXQ/IiBhc2stdXNlci1vcHRpb24tY2hvc2VuIjoiIikrJyI+PHNwYW4gY2xhc3M9ImFzay11c2VyLWluZGljYXRvciI+PC9zcGFuPjxkaXYgY2xhc3M9ImFzay11c2VyLW9wdGlvbi1jb250ZW50Ij48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tbGFiZWwiPicrbHQrIjwvZGl2PiIrZ3QrIjwvZGl2PjwvZGl2PiJ9ZWxzZXt2YXIgV2U9KGNbUl18fFtdKS5pbmRleE9mKE1lKSE9PS0xLGt0PWQ/IiBkaXNhYmxlZCI6IiI7bmUrPSc8YnV0dG9uIGNsYXNzPSJhc2stdXNlci1vcHRpb24nKyhXZT8iIHNlbGVjdGVkIjoiIikrJyIgZGF0YS1vcHRpb24taW5kZXg9IicrTWUrJyIgZGF0YS1xdWVzdGlvbi1pbmRleD0iJytSKyciIGRhdGEtb3B0aW9uLWxhYmVsPSInK3AoZGUubGFiZWx8fCJcdTkwMDlcdTk4NzkgIisoTWUrMSkpK2AiIG9uY2xpY2s9Il9fYXNrU2VsZWN0KCdgK3AodSkrIicsIitSKyIsIitNZSsiLCIrc2UrJykiJytrdCsnPjxzcGFuIGNsYXNzPSJhc2stdXNlci1pbmRpY2F0b3IiPjwvc3Bhbj48ZGl2IGNsYXNzPSJhc2stdXNlci1vcHRpb24tY29udGVudCI+PGRpdiBjbGFzcz0iYXNrLXVzZXItb3B0aW9uLWxhYmVsIj4nK2x0KyI8L2Rpdj4iK2d0KyI8L2Rpdj48L2J1dHRvbj4ifX0pLG5lKz0iPC9kaXY+IikseSs9JzxkaXYgY2xhc3M9ImFzay11c2VyLXF1ZXN0aW9uLWdyb3VwIiBkYXRhLXF1ZXN0aW9uLWluZGV4PSInK1IrJyI+JytCZStuZSsiPC9kaXY+In0pO3ZhciB3PSIiO2lmKCFsKXtmb3IodmFyIEY9ITAsRT0wO0U8by5sZW5ndGg7RSsrKWlmKCFjW0VdfHxjW0VdLmxlbmd0aD09PTApe0Y9ITE7YnJlYWt9dmFyIEE9IUZ8fGQ/IiBkaXNhYmxlZCI6IiIseD1kPyIgYXNrLXVzZXItc3VibWl0dGVkIjoiIixTPWQ/Ilx1NURGMlx1NjNEMFx1NEVBNC4uLiI6Ilx1Nzg2RVx1OEJBNFx1NjNEMFx1NEVBNCI7dz0nPGRpdiBjbGFzcz0iYXNrLXVzZXItYWN0aW9ucyI+PGJ1dHRvbiBjbGFzcz0iYXNrLXVzZXItc3VibWl0Jyt4KyciIGRhdGEtdG9vbC11c2UtaWQ9IicrcCh1KStgIiBvbmNsaWNrPSJfX2Fza1N1Ym1pdCgnYCtwKHUpK2AnKSJgK0ErIj4iK1MrIjwvYnV0dG9uPjwvZGl2PiJ9dmFyIFA9IiI7aWYobCYmZil7dmFyIHo9Zi50cmltKCkucmVwbGFjZSgvXG4vZywiLCAiKTt6Lmxlbmd0aD40MCYmKHo9ei5zbGljZSgwLDM3KSsiLi4uIiksUD0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcCh6KSsiPC9zcGFuPiJ9dmFyIEc9S3QoInRvb2wtY2FyZCIsW2ksdV0pLEw9WmUoRyksQj1MPT09bnVsbD8hbDpMLFQ9Qj8iIjoiIGNvbGxhcHNlZCIsST1sPyIgYXNrLXVzZXItYW5zd2VyZWQiOiIiO3JldHVybic8ZGl2IGNsYXNzPSJ0b29sLXVzZS1jYXJkIGFzay11c2VyJytJK1QrJyIgZGF0YS10b29sLXVzZS1pZD0iJytwKHUpKyciIGRhdGEtZXhwYW5kLWtpbmQ9InRvb2wtY2FyZCIgZGF0YS1leHBhbmQta2V5PSInK3AoRykrJyI+PGRpdiBjbGFzcz0idG9vbC11c2UtaGVhZGVyIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1pY29uIj4nKyhsPyJcdTI3MTMiOiI/IikrJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC11c2UtbmFtZSI+XHU2M0QwXHU5NUVFPC9zcGFuPicrZytQKyc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSBhc2stdXNlci1ib2R5Ij4nK3krdysiPC9kaXY+PC9kaXY+In19dmFyIFY9ZS5kZXNjcmlwdGlvbnx8ZS5pbnB1dCYmZS5pbnB1dC5kZXNjcmlwdGlvbnx8IiIscmU9YXYoZS5uYW1lLGUuaW5wdXQpLHRlPSIiLCQ9IiI7Vj8odGU9Vi5sZW5ndGg+ODA/Vi5zbGljZSgwLDc3KSsiLi4uIjpWLHMmJigkPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtZmlsZSI+JytwKHMpKyI8L3NwYW4+IikpOih0ZT1PYShhKSxzJiYoJD0nPHNwYW4gY2xhc3M9InRvb2wtdXNlLWZpbGUiPicrcChzKSsiPC9zcGFuPiIpLHJlJiYoJCs9JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zdW1tYXJ5Ij4nK3AocmUpKyI8L3NwYW4+IikpO3ZhciBpZT1lLmlucHV0P0pTT04uc3RyaW5naWZ5KGUuaW5wdXQsbnVsbCwyKToie30iLFU9ImxvYWRpbmciLE09JzxzcGFuIGNsYXNzPSJ0b29sLXVzZS1zcGlubmVyIj48L3NwYW4+JyxIPSIiO2lmKHQpe3ZhciBOPXQuaXNfZXJyb3IsWT1sbih0LmNvbnRlbnQpO1U9Tj8iZXJyb3IiOiJzdWNjZXNzIixNPXhvKGEpO3ZhciBLPVkmJlkudHJpbSgpLmxlbmd0aD4wO0s/SD0nPHByZSBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWNvbnRlbnQiPicrcChZKSsiPC9wcmU+IjpIPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtcmVzdWx0LWVtcHR5Ij5cdTY1RTBcdThGOTNcdTUxRkE8L3NwYW4+J31lbHNlIE09eG8oYSk7dmFyIFg9S3QoInRvb2wtY2FyZCIsW2ksdV0pLGFlPVplKFgpLGxlPUJuKCJlZGl0Q2FyZHMiKSx1ZT1hZT09PW51bGw/VT09PSJsb2FkaW5nInx8bGU6YWUsQ2U9dCYmdC5fdHJ1bmNhdGVkPT09ITAsRmU9dWU/IiI6IiBjb2xsYXBzZWQiLGJlPSc8c3BhbiBjbGFzcz0idG9vbC11c2UtdG9nZ2xlIj5cdTI1QkM8L3NwYW4+JztyZXR1cm4nPGRpdiBjbGFzcz0idG9vbC11c2UtY2FyZCAnK1UrRmUrJyIgZGF0YS1leHBhbmQta2luZD0idG9vbC1jYXJkIiBkYXRhLWV4cGFuZC1rZXk9IicrcChYKSsnIiBkYXRhLXRvb2wtdXNlLWlkPSInK3AodSkrJyInKyhDZT8nIGRhdGEtdHJ1bmNhdGVkPSJ0cnVlIic6IiIpKyc+PGRpdiBjbGFzcz0idG9vbC11c2UtaGVhZGVyIiBkYXRhLXRvb2wtdG9nZ2xlIG9uY2xpY2s9Il9fdGNUb2dnbGUoZXZlbnQsdGhpcykiPjxzcGFuIGNsYXNzPSJ0b29sLXVzZS1pY29uIj4nK00rJzwvc3Bhbj48c3BhbiBjbGFzcz0idG9vbC11c2UtbmFtZSI+JytwKHRlKSsiPC9zcGFuPiIrJCtiZSsnPC9kaXY+PGRpdiBjbGFzcz0idG9vbC11c2UtYm9keSI+JysoVj8nPGRpdiBjbGFzcz0idG9vbC11c2UtbWV0YSI+PHNwYW4gY2xhc3M9InRvb2wtdXNlLW1ldGEtbGFiZWwiPlx1NURFNVx1NTE3N1x1RkYxQTwvc3Bhbj4nK3AoYSkrIjwvZGl2PiI6IiIpKyc8cHJlIGNsYXNzPSJ0b29sLXVzZS1jb250ZW50Ij4nK3AoaWUpKyI8L3ByZT4iKyhIPyc8ZGl2IGNsYXNzPSJ0b29sLXVzZS1yZXN1bHQiPicrSCsiPC9kaXY+IjoiIikrIjwvZGl2PjwvZGl2PiJ9ZnVuY3Rpb24gT2EoZSl7dmFyIHQ9e1JlYWQ6Ilx1OEJGQlx1NTNENlx1NjU4N1x1NEVGNiIsV3JpdGU6Ilx1NTE5OVx1NTE2NVx1NjU4N1x1NEVGNiIsRWRpdDoiXHU3RjE2XHU4RjkxXHU2NTg3XHU0RUY2IixNdWx0aUVkaXQ6Ilx1NTkxQVx1NTkwNFx1N0YxNlx1OEY5MSIsQmFzaDoiXHU2MjY3XHU4ODRDXHU1NDdEXHU0RUU0IixHcmVwOiJcdTY0MUNcdTdEMjJcdTUxODVcdTVCQjkiLEdsb2I6Ilx1NjdFNVx1NjI3RVx1NjU4N1x1NEVGNiIsV2ViRmV0Y2g6Ilx1ODNCN1x1NTNENlx1N0Y1MVx1OTg3NSIsV2ViU2VhcmNoOiJcdTY0MUNcdTdEMjJcdTdGNTFcdTk4NzUiLFRhc2s6Ilx1NEVGQlx1NTJBMSIsVG9kb1dyaXRlOiJcdTY2RjRcdTY1QjBcdTVGODVcdTUyOUUiLFRvZG9SZWFkOiJcdThCRkJcdTUzRDZcdTVGODVcdTUyOUUiLE5vdGVib29rRWRpdDoiXHU3RjE2XHU4RjkxXHU3QjE0XHU4QkIwXHU2NzJDIixBZ2VudDoiXHU1QjUwXHU0RUUzXHU3NDA2IixBc2tVc2VyUXVlc3Rpb246Ilx1NjNEMFx1OTVFRSIsRXhpdDoiXHU5MDAwXHU1MUZBIn07cmV0dXJuIHRbZV18fGV9ZnVuY3Rpb24geG8oZSl7dmFyIHQ9e1JlYWQ6IlIiLFdyaXRlOiJXIixFZGl0OiJFIixNdWx0aUVkaXQ6IkUiLEJhc2g6IiQiLEdyZXA6IkciLEdsb2I6IkYiLFdlYkZldGNoOiJcdTIxRTMiLFdlYlNlYXJjaDoiXHUyMUUyIixUYXNrOiJUIixUb2RvV3JpdGU6Ilx1MjYxMCIsVG9kb1JlYWQ6Ilx1MjYxMSIsTm90ZWJvb2tFZGl0OiJOIixBZ2VudDoiQSIsRXhpdDoiXHhENyJ9O3JldHVybiB0W2VdfHwiXHhCNyJ9ZnVuY3Rpb24gYXYoZSx0KXtpZighdHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiIiO3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKHIubGVuZ3RoPT09MClyZXR1cm4ie30iO2lmKGU9PT0iUmVhZCIpcmV0dXJuIlx1OEJGQlx1NTNENlx1NjU4N1x1NEVGNiI7aWYoZT09PSJXcml0ZSIpcmV0dXJuIlx1NTE5OVx1NTE2NVx1NjU4N1x1NEVGNiI7aWYoZT09PSJFZGl0Iil7dmFyIGk9dC5lZGl0cz90LmVkaXRzLmxlbmd0aDowO3JldHVybiJcdTdGMTZcdThGOTEgKCIraSsiIFx1NTkwNFx1NEZFRVx1NjUzOSkifWlmKGU9PT0iQmFzaCIpe3ZhciBhPXQuY29tbWFuZHx8IiI7aWYoYSl7dmFyIHU9YS5sZW5ndGg+NjA/YS5zbGljZSgwLDYwKSsiLi4uIjphO3JldHVybiJcdTU0N0RcdTRFRTRcdUZGMUEiK3V9fWlmKGU9PT0iR3JlcCIpe3ZhciBzPXQucGF0dGVybnx8IiIsbz10LnBhdGh8fCIiO2lmKHMpcmV0dXJuIlx1NjQxQ1x1N0QyMlx1RkYxQSIrcysobz8iIChcdTU3MjggIitvKyIpIjoiIil9aWYoZT09PSJHbG9iIil7dmFyIHM9dC5wYXR0ZXJufHwiIjtpZihzKXJldHVybiJcdTY3RTVcdTYyN0VcdUZGMUEiK3N9aWYoZT09PSJBZ2VudCIpe3ZhciBsPXQucHJvbXB0fHx0LnRhc2t8fCIiO2lmKGwpe3ZhciBjPWwubGVuZ3RoPjQwP2wuc2xpY2UoMCw0MCkrIi4uLiI6bDtyZXR1cm4iXHU0RUZCXHU1MkExXHVGRjFBIitjfX1pZihlPT09IlRhc2siKXt2YXIgbD10LnRhc2t8fHQuZGVzY3JpcHRpb258fCIiO2lmKGwpe3ZhciBjPWwubGVuZ3RoPjQwP2wuc2xpY2UoMCw0MCkrIi4uLiI6bDtyZXR1cm4iXHU0RUZCXHU1MkExXHVGRjFBIitjfX1pZihlPT09IlRvZG9Xcml0ZSIpe3ZhciBkPXQudG9kb3N8fFtdO3JldHVybiJcdTY2RjRcdTY1QjBcdTVGODVcdTUyOUUgKCIrZC5sZW5ndGgrIiBcdTk4NzkpIn1pZihlPT09IldlYlNlYXJjaCIpe3ZhciBmPXQucXVlcnl8fCIiO2lmKGYpcmV0dXJuIlx1NjQxQ1x1N0QyMlx1RkYxQSIrZn12YXIgdj1yWzBdLG09dFt2XTtpZih0eXBlb2YgbT09InN0cmluZyIpe3ZhciBiPW0ubGVuZ3RoPjUwP20uc2xpY2UoMCw1MCkrIi4uLiI6bTtyZXR1cm4gdisiOiAiK2J9cmV0dXJuIHIubGVuZ3RoKyIgXHU0RTJBXHU1M0MyXHU2NTcwIn1mdW5jdGlvbiB1dihlLHQpe2lmKCF0KXJldHVybiBudWxsO3ZhciByPXQuZmlsZV9wYXRofHx0LnBhdGh8fHQuY3dkO3JldHVybiByP3IubGVuZ3RoPjUwPyIuLi4iK3Iuc2xpY2UoLTQ3KTpyOm51bGx9ZnVuY3Rpb24gc3YoZSl7aWYoIWUpcmV0dXJuIiI7Zm9yKHZhciB0PWAKYCxyPWUuc3BsaXQodCksaT1bXSxhPSExLHU9MDt1PHIubGVuZ3RoO3UrKyl7dmFyIHM9clt1XSxvPXMudHJpbSgpO2lmKCEoIWEmJiFvKSl7aWYoYT0hMCxvLmluZGV4T2YoIlx1MjNGQSIpPT09MCYmby5sZW5ndGg+Mil7aS5wdXNoKG8uc2xpY2UoMSkudHJpbSgpKTtjb250aW51ZX1pZihvLmluZGV4T2YoIlx1MjVDRiIpPT09MCl7aWYobz1vLnNsaWNlKDEpLnRyaW0oKSwhbyljb250aW51ZTtzPW99aS5wdXNoKHMpfX1mb3IoO2kubGVuZ3RoPjAmJiFpW2kubGVuZ3RoLTFdLnRyaW0oKTspaS5wb3AoKTtmb3IodmFyIGw9W10sYz17fSxkPTA7ZDxpLmxlbmd0aDtkKyspe3ZhciBmPWlbZF0ucmVwbGFjZSgvXHMrL2csIiIpO2YubGVuZ3RoPjUmJmNbZl18fChmLmxlbmd0aD41JiYoY1tmXT0hMCksbC5wdXNoKGlbZF0pKX1yZXR1cm4gbC5qb2luKHQpfWZ1bmN0aW9uIFNvKGUpe3ZhciB0PWAKYCxyPWUuc3BsaXQodCksaT1bXSxhPTA7ZnVuY3Rpb24gdShnKXt2YXIgeT1nLnRyaW0oKTtyZXR1cm4geS5jaGFyQXQoMCk9PT0ifCImJih5PXkuc2xpY2UoMSkpLHkuY2hhckF0KHkubGVuZ3RoLTEpPT09InwiJiYoeT15LnNsaWNlKDAsLTEpKSx5LnNwbGl0KCJ8Iil9ZnVuY3Rpb24gcyhnKXtyZXR1cm4gZz8nIHN0eWxlPSJ0ZXh0LWFsaWduOicrZysnIic6IiJ9ZnVuY3Rpb24gbyhnLHksdyl7dmFyIEY9Ijx0aGVhZD48dHI+IitnLm1hcChmdW5jdGlvbihBLHgpe3JldHVybiI8dGgiK3MoeVt4XSkrIj4iK0EudHJpbSgpKyI8L3RoPiJ9KS5qb2luKCIiKSsiPC90cj48L3RoZWFkPiIsRT13Lmxlbmd0aD8iPHRib2R5PiIrdy5tYXAoZnVuY3Rpb24oQSl7cmV0dXJuIjx0cj4iK0EubWFwKGZ1bmN0aW9uKHgsUyl7cmV0dXJuIjx0ZCIrcyh5W1NdKSsiPiIreC50cmltKCkrIjwvdGQ+In0pLmpvaW4oIiIpKyI8L3RyPiJ9KS5qb2luKCIiKSsiPC90Ym9keT4iOiIiO3JldHVybic8ZGl2IGNsYXNzPSJtZC10YWJsZS13cmFwIj48dGFibGUgY2xhc3M9Im1kLXRhYmxlIj4nK0YrRSsiPC90YWJsZT48L2Rpdj4ifWZvcig7YTxyLmxlbmd0aDspe3ZhciBsPXJbYV07aWYobC5pbmRleE9mKCJ8IikhPT0tMSYmYSsxPHIubGVuZ3RoKXt2YXIgYz1yW2ErMV0udHJpbSgpO2lmKC9eXHw/XHMqOj8tKzo/KFxzKlx8XHMqOj8tKzo/KStccypcfD8kLy50ZXN0KGMpKXtmb3IodmFyIGQ9dShsKSxmPXUoYykubWFwKGZ1bmN0aW9uKGcpe3ZhciB5PWcudHJpbSgpLHc9eS5jaGFyQXQoMCk9PT0iOiIsRj15LmNoYXJBdCh5Lmxlbmd0aC0xKT09PSI6IjtyZXR1cm4gdyYmRj8iY2VudGVyIjpGPyJyaWdodCI6dz8ibGVmdCI6IiJ9KSx2PVtdLG09YSsyO208ci5sZW5ndGg7KXt2YXIgYj1yW21dLnRyaW0oKTtpZighYnx8Yi5pbmRleE9mKCJ8Iik9PT0tMSlicmVhazt2LnB1c2godShyW21dKSksbSs9MX1pLnB1c2goIiIsbyhkLGYsdiksIiIpLGE9bTtjb250aW51ZX19aS5wdXNoKGwpLGErPTF9cmV0dXJuIGkuam9pbih0KX1mdW5jdGlvbiBQYShlKXtpZighZSlyZXR1cm4iIjt2YXIgdD1wKGUpLHI9ImAiLGk9YApgO2Z1bmN0aW9uIGEoTSxILE4sWSl7Zm9yKHZhciBLPTA7Oyl7dmFyIFg9TS5pbmRleE9mKEgsSyk7aWYoWD09PS0xKWJyZWFrO3ZhciBhZT1NLmluZGV4T2YoSCxYK0gubGVuZ3RoKTtpZihhZT09PS0xKWJyZWFrO3ZhciBsZT1NLnNsaWNlKFgrSC5sZW5ndGgsYWUpO2lmKCFsZSl7Sz1hZStILmxlbmd0aDtjb250aW51ZX12YXIgdWU9TitsZStZO009TS5zbGljZSgwLFgpK3VlK00uc2xpY2UoYWUrSC5sZW5ndGgpLEs9WCt1ZS5sZW5ndGh9cmV0dXJuIE19ZnVuY3Rpb24gdShNKXtyZXR1cm4gTT49NDgmJk08PTU3fHxNPj02NSYmTTw9OTB8fE0+PTk3JiZNPD0xMjJ8fE09PT05NX1mdW5jdGlvbiBzKE0sSCxOKXtmb3IodmFyIFk9MDtZPE0ubGVuZ3RoOyl7dmFyIEs9TS5pbmRleE9mKCJfIixZKTtpZihLPT09LTEpYnJlYWs7dmFyIFg9Sz4wP00uY2hhckNvZGVBdChLLTEpOjA7aWYodShYKSl7WT1LKzE7Y29udGludWV9Zm9yKHZhciBhZT1LKzEsbGU9LTE7YWU8TS5sZW5ndGg7KXt2YXIgdWU9TS5pbmRleE9mKCJfIixhZSk7aWYodWU9PT0tMSlicmVhazt2YXIgQ2U9dWUrMSxGZT1DZTxNLmxlbmd0aD9NLmNoYXJDb2RlQXQoQ2UpOjA7aWYoIXUoRmUpKXtsZT11ZTticmVha31hZT11ZSsxfWlmKGxlPT09LTEpYnJlYWs7dmFyIGJlPU0uc2xpY2UoSysxLGxlKTtpZighYmUpe1k9bGUrMTtjb250aW51ZX12YXIgTz1IK2JlK047TT1NLnNsaWNlKDAsSykrTytNLnNsaWNlKGxlKzEpLFk9SytPLmxlbmd0aH1yZXR1cm4gTX1mdW5jdGlvbiBvKE0sSCxOLFkpe3JldHVybiBNLnNwbGl0KGkpLm1hcChmdW5jdGlvbihLKXtyZXR1cm4gSy5pbmRleE9mKEgpIT09MD9LOk4rSy5zbGljZShILmxlbmd0aCkrWX0pLmpvaW4oaSl9ZnVuY3Rpb24gbChNKXtyZXR1cm4gTS5zcGxpdChpKS5tYXAoZnVuY3Rpb24oSCl7dmFyIE49SC5pbmRleE9mKCIuICIpO2lmKE48PTApcmV0dXJuIEg7Zm9yKHZhciBZPTA7WTxOO1krPTEpe3ZhciBLPUguY2hhckNvZGVBdChZKTtpZihLPDQ4fHxLPjU3KXJldHVybiBIfXJldHVybiI8bGk+IitILnNsaWNlKE4rMikrIjwvbGk+In0pLmpvaW4oaSl9ZnVuY3Rpb24gYyhNKXtyZXR1cm4gTS5zcGxpdChpK2kpLm1hcChmdW5jdGlvbihIKXt2YXIgTj1ILnRyaW0oKTtyZXR1cm4gTj9OLmluZGV4T2YoIjxkaXYiKT09PTB8fE4uaW5kZXhPZigiPGgxIik9PT0wfHxOLmluZGV4T2YoIjxoMiIpPT09MHx8Ti5pbmRleE9mKCI8aDMiKT09PTB8fE4uaW5kZXhPZigiPGg0Iik9PT0wfHxOLmluZGV4T2YoIjxoNSIpPT09MHx8Ti5pbmRleE9mKCI8aDYiKT09PTB8fE4uaW5kZXhPZigiPHVsIik9PT0wfHxOLmluZGV4T2YoIjxvbCIpPT09MHx8Ti5pbmRleE9mKCI8bGkiKT09PTB8fE4uaW5kZXhPZigiPGJsb2NrcXVvdGUiKT09PTB8fE4uaW5kZXhPZigiPHByZSIpPT09MD9OOiI8cD4iK04uc3BsaXQoaSkuam9pbigiPGJyPiIpKyI8L3A+IjoiIn0pLmpvaW4oIiIpfWZvcih2YXIgZD0wOzspe3ZhciBmPXQuaW5kZXhPZihyK3IrcixkKTtpZihmPT09LTEpYnJlYWs7dmFyIHY9dC5pbmRleE9mKHIrcityLGYrMyk7aWYodj09PS0xKWJyZWFrO3ZhciBtPXQuc2xpY2UoZiszLHYpLGI9bS5pbmRleE9mKGkpLGc9IiIseT1tO2lmKGIhPT0tMSYmYjwzMCl7Zm9yKHZhciB3PW0uc2xpY2UoMCxiKS50cmltKCksRj13Lmxlbmd0aD4wLEU9MDtFPHcubGVuZ3RoO0UrPTEpe3ZhciBBPXcuY2hhckNvZGVBdChFKSx4PUE+PTQ4JiZBPD01NyxTPUE+PTY1JiZBPD05MCxQPUE+PTk3JiZBPD0xMjI7aWYoIXgmJiFTJiYhUCl7Rj0hMTticmVha319RiYmKGc9dyx5PW0uc2xpY2UoYisxKSl9dmFyIHo9b3YoeS50cmltKCksZyksRz16LnJlcGxhY2UoL18vZywiJiM5NTsiKS5yZXBsYWNlKC9cKi9nLCImIzQyOyIpLEw9JzxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPjxkaXYgY2xhc3M9ImNvZGUtYmxvY2staGVhZGVyIj48c3BhbiBjbGFzcz0iY29kZS1sYW5nIj4nKyhnfHwiY29kZSIpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iY29kZS1jb3B5Ij5Db3B5PC9idXR0b24+PC9kaXY+PHByZT48Y29kZT4nK0crIjwvY29kZT48L3ByZT48L2Rpdj4iO3Q9dC5zbGljZSgwLGYpK0wrdC5zbGljZSh2KzMpLGQ9ZitMLmxlbmd0aH1mb3IoZD0wOzspe3ZhciBCPXQuaW5kZXhPZihyLGQpO2lmKEI9PT0tMSlicmVhazt2YXIgVD10LmluZGV4T2YocixCKzEpO2lmKFQ9PT0tMSlicmVhaztpZihUPT09QisxKXtkPVQrMTtjb250aW51ZX12YXIgST10LnNsaWNlKEIrMSxUKSxWPUkucmVwbGFjZSgvXy9nLCImIzk1OyIpLnJlcGxhY2UoL1wqL2csIiYjNDI7IikscmU9Jzxjb2RlIGNsYXNzPSJjb2RlLWlubGluZSI+JytWKyI8L2NvZGU+Ijt0PXQuc2xpY2UoMCxCKStyZSt0LnNsaWNlKFQrMSksZD1CK3JlLmxlbmd0aH10PWEodCwiKioiLCI8c3Ryb25nPiIsIjwvc3Ryb25nPiIpLHQ9YSh0LCIqIiwiPGVtPiIsIjwvZW0+IiksdD1zKHQsIjxlbT4iLCI8L2VtPiIpLHQ9byh0LCIjIyMgIiwiPGgzPiIsIjwvaDM+IiksdD1vKHQsIiMjICIsIjxoMj4iLCI8L2gyPiIpLHQ9byh0LCIjICIsIjxoMT4iLCI8L2gxPiIpLHQ9byh0LCImZ3Q7ICIsIjxibG9ja3F1b3RlPiIsIjwvYmxvY2txdW90ZT4iKSx0PW8odCwiLSAiLCI8bGk+IiwiPC9saT4iKSx0PW8odCwiKiAiLCI8bGk+IiwiPC9saT4iKSx0PWwodCksdD1Tbyh0KTt2YXIgdGU9dC5zcGxpdChpKSwkPVtdLGllPVtdO2Z1bmN0aW9uIFUoKXtpZS5sZW5ndGgmJigkLnB1c2goIjx1bD4iK2llLmpvaW4oIiIpKyI8L3VsPiIpLGllPVtdKX1yZXR1cm4gdGUuZm9yRWFjaChmdW5jdGlvbihNKXtpZihNLmluZGV4T2YoIjxsaT4iKT09PTAmJk0ubGFzdEluZGV4T2YoIjwvbGk+Iik9PT1NLmxlbmd0aC01KXtpZS5wdXNoKE0pO3JldHVybn1VKCksJC5wdXNoKE0pfSksVSgpLHQ9YygkLmpvaW4oaSkpLCc8ZGl2IGNsYXNzPSJtYXJrZG93bi1jb250ZW50Ij4nK3QrIjwvZGl2PiJ9ZnVuY3Rpb24gb3YoZSx0KXtyZXR1cm4gZT1lLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKSxlfWZ1bmN0aW9uIGdpKGUpe3ZhciB0PVN0cmluZyhlfHwiIikudHJpbSgpO3JldHVybiB0Lmxlbmd0aDw9MjQ/dHx8Ilx1NjcyQVx1OTAwOVx1NjJFOVx1NEYxQVx1OEJERCI6dC5zbGljZSgwLDIxKSsiLi4uIn1mdW5jdGlvbiBIYShlKXtyZXR1cm4gU3RyaW5nKGV8fCIiKS5yZXBsYWNlKC9cclxyXG4vZyxgXHIKYCkucmVwbGFjZSgvXHUwMDAwL2csIiIpfWZ1bmN0aW9uIF9hKCl7aWYoIW4ubG9naW5QZW5kaW5nKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1idXR0b24iKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsb2dpbi1lcnJvciIpOyFlfHwhdHx8IXJ8fCh0aShyKSxlLmRhdGFzZXQuZXJyb3I9ImZhbHNlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwiZmFsc2UiKSxuLmxvZ2luUGVuZGluZz0hMCx0LmRpc2FibGVkPSEwLHQudGV4dENvbnRlbnQ9Ilx1NzY3Qlx1NUY1NVx1NEUyRC4uLiIsZmV0Y2goIi9hcGkvbG9naW4iLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh7cGFzc3dvcmQ6ZS52YWx1ZX0pLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLm9rP2ZldGNoKCIvYXBpL2NvbmZpZyIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KTooZS5kYXRhc2V0LmVycm9yPSJ0cnVlIixlLnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwidHJ1ZSIpLE5lKHIsIlx1NUJDNlx1NzgwMVx1OTUxOVx1OEJFRlx1RkYwQ1x1OEJGN1x1OTFDRFx1OEJENVx1MzAwMiIpLFByb21pc2UucmVqZWN0KCJJbnZhbGlkIHBhc3N3b3JkIikpfSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe24uY29uZmlnPWk7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1cy1kb3QiKSx1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGF0dXMtdGV4dCIpO3JldHVybiBhJiZhLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLHUmJih1LnRleHRDb250ZW50PSJcdTVERjJcdTc2N0JcdTVGNTUiKSxqdCgpfSkudGhlbihmdW5jdGlvbigpe1F1KCksR3QoKX0pLmNhdGNoKGZ1bmN0aW9uKGkpe2NvbnNvbGUuZXJyb3IoIlt3YW5kXSBMb2dpbiBlcnJvcjoiLGkpLGkhPT0iSW52YWxpZCBwYXNzd29yZCImJihlLmRhdGFzZXQuZXJyb3I9InRydWUiLGUuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCJ0cnVlIiksTmUociwiXHU3NjdCXHU1RjU1XHU1OTMxXHU4RDI1XHVGRjBDXHU4QkY3XHU5MUNEXHU4QkQ1XHUzMDAyIikpfSkuZmluYWxseShmdW5jdGlvbigpe24ubG9naW5QZW5kaW5nPSExLHQuZGlzYWJsZWQ9ITEsdC50ZXh0Q29udGVudD0iXHU4RkRCXHU1MTY1XHU2M0E3XHU1MjM2XHU1M0YwIn0pKX19ZnVuY3Rpb24gamEoKXtyZXR1cm4gdHlwZW9mIFdhbmROYXRpdmU8InUiJiZ0eXBlb2YgV2FuZE5hdGl2ZS5zd2l0Y2hTZXJ2ZXI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gSW8oKXtpZihqYSgpKXRyeXtXYW5kTmF0aXZlLnN3aXRjaFNlcnZlcigpfWNhdGNoe319ZnVuY3Rpb24gVG8oKXtmZXRjaCgiL2FwaS9sb2dvdXQiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS5jYXRjaChmdW5jdGlvbigpe30pLG5zKCksQW4oITEpLGJhKCkscHIoKSxuLmNvbmZpZz1udWxsLG4uc2VsZWN0ZWRJZD1udWxsLHllKCksbi5zZXNzaW9ucz1bXSxuLmNsYXVkZUhpc3Rvcnk9W10sbi5jbGF1ZGVIaXN0b3J5TG9hZGVkPSExLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkPSExLG4uY2xhdWRlSGlzdG9yeUV4cGFuZGVkRGlycz17fSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSxHdCgpfWZ1bmN0aW9uIGp0KCl7cmV0dXJuIGRuKCl9ZnVuY3Rpb24gbHYoZSl7cmV0dXJuIGU9PT0iZnVsbC1hY2Nlc3MiPyJcdTUxNjhcdTY3NDNcdTk2NTAiOmU9PT0iZGVmYXVsdCI/Ilx1OUVEOFx1OEJBNCI6ZT09PSJuYXRpdmUiPyJcdTUzOUZcdTc1MUYiOmU9PT0iYXV0by1lZGl0Ij8iXHU4MUVBXHU1MkE4XHU3RjE2XHU4RjkxIjplPT09Im1hbmFnZWQiPyJcdTYyNThcdTdCQTEiOmV9ZnVuY3Rpb24gdnQoKXtyZXR1cm4gbi5zZXNzaW9uVG9vbHx8bi5wcmVmZXJyZWRDb21tYW5kfHwiY2xhdWRlIn1mdW5jdGlvbiBjdigpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbih0KXtyZXR1cm4gdC5pZD09PW4uc2VsZWN0ZWRJZH0pO3JldHVybiBlJiZlLnByb3ZpZGVyfHxuLnByZWZlcnJlZENvbW1hbmR8fCJjbGF1ZGUifWZ1bmN0aW9uIExvKGUsdCl7cmV0dXJuIHQ/Ilx1N0VDOFx1N0FFRlx1NEVBNFx1NEU5Mlx1NEUyRCI6ZSYmKGUuc3RhdHVzPT09ImV4aXRlZCJ8fGUuc3RhdHVzPT09ImZhaWxlZCJ8fGUuc3RhdHVzPT09InN0b3BwZWQiKT9tYShlKT8iIjoiXHU0RjFBXHU4QkREXHU1REYyXHU3RUQzXHU2NzVGIjpvZShlKSYmZS5zdHJ1Y3R1cmVkU3RhdGUmJmUuc3RydWN0dXJlZFN0YXRlLmluRmxpZ2h0PyJcdTU2REVcdTU5MERcdTRFMkRcdTIwMjZFbnRlciBcdTYzOTJcdTk2MUYgXHhCNyBcdTI2QTEgXHU3QUNCXHU1MzczXHU1M0QxXHU5MDAxIjoiIn1mdW5jdGlvbiBNbyhlLHQpe3JldHVybiBlPT09ImNvZGV4Ij8iQ29kZXggXHU2NTJGXHU2MzAxIFBUWSBcdTdFQzhcdTdBRUZcdTRFMEVcdTdFRDNcdTY3ODRcdTUzMTZcdUZGMDhKU09OTFx1RkYwOVx1NEUyNFx1NzlDRFx1NEYxQVx1OEJERFx1RkYwQ1x1N0VEM1x1Njc4NFx1NTMxNlx1NkEyMVx1NUYwRlx1NjMwOSBmdWxsLWFjY2VzcyBcdTU0MkZcdTUyQThcdTMwMDIiOnQ9PT0iZnVsbC1hY2Nlc3MiPyJcdTgxRUFcdTUyQThcdTc4NkVcdThCQTRcdTY3NDNcdTk2NTBcdThCRjdcdTZDNDJcdTRFMEVcdTlBRDhcdTY3NDNcdTk2NTBcdTY0Q0RcdTRGNUNcdUZGMENcdTkwMDJcdTU0MDhcdTRGNjBcdTc4NkVcdThCQTRcdTczQUZcdTU4ODNcdTVCODlcdTUxNjhcdTU0MEVcdTc2ODRcdThGREVcdTdFRURcdTRGRUVcdTY1MzlcdTMwMDIiOnQ9PT0iYXV0by1lZGl0Ij8iXHU0RkREXHU3NTU5XHU0RUE0XHU0RTkyXHU1RjBGXHU0RjFBXHU4QkREXHVGRjBDXHU1NDBDXHU2NUY2XHU2NkY0XHU1MDRGXHU1NDExXHU3NkY0XHU2M0E1XHU3RjE2XHU4RjkxXHU0RUUzXHU3ODAxXHUzMDAyIjp0PT09Im5hdGl2ZSI/Ilx1OEMwM1x1NzUyOCBDbGF1ZGUgXHU1MzlGXHU3NTFGIEFQSSBcdThGOTNcdTUxRkFcdUZGMENcdTkwMDJcdTU0MDhcdTVGRUJcdTkwMUZcdTk1RUVcdTdCNTRcdTYyMTZcdTRFMDBcdTZCMjFcdTYwMjdcdTc1MUZcdTYyMTBcdTMwMDIiOnQ9PT0ibWFuYWdlZCI/IkFJIFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NjI0MFx1NjcwOVx1NURFNVx1NEY1Q1x1RkYwQ1x1NjVFMFx1OTcwMFx1NEUyRFx1OTAxNFx1Nzg2RVx1OEJBNFx1RkYwQ1x1OTAwMlx1NTQwOFx1NjcwOVx1NjYwRVx1Nzg2RVx1NzZFRVx1NjgwN1x1NzY4NFx1NEVGQlx1NTJBMVx1MzAwMiI6Ilx1NEZERFx1NzU1OVx1NjgwN1x1NTFDNlx1NEVBNFx1NEU5Mlx1NkQ0MVx1N0EwQlx1RkYwQ1x1OTAwMlx1NTQwOFx1NjI0Qlx1NTJBOFx1Nzg2RVx1OEJBNFx1NkJDRlx1NEUwMFx1NkI2NVx1MzAwMiJ9ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIGU9PT0iY29kZXgiP1siZnVsbC1hY2Nlc3MiXTpbImRlZmF1bHQiLCJmdWxsLWFjY2VzcyIsImF1dG8tZWRpdCIsIm5hdGl2ZSIsIm1hbmFnZWQiXX1mdW5jdGlvbiBOdChlLHQpe3ZhciByPU5hKGUpO2lmKHIuaW5kZXhPZih0KSE9PS0xKXJldHVybiB0O3ZhciBpPW4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZT9uLmNvbmZpZy5kZWZhdWx0TW9kZToiZGVmYXVsdCI7cmV0dXJuIHIuaW5kZXhPZihpKSE9PS0xP2k6clswXX1mdW5jdGlvbiB0ZyhlLHQpe3JldHVybiBOYShlKS5tYXAoZnVuY3Rpb24ocil7dmFyIGk9cW8ocik7cmV0dXJuJzxvcHRpb24gdmFsdWU9IicrcChyKSsnIicrKHI9PT10PyIgc2VsZWN0ZWQiOiIiKSsnIHRpdGxlPSInK2krJyI+JytwKGx2KHIpKSsiPC9vcHRpb24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIHFvKGUpe3ZhciB0PXtkZWZhdWx0OiJcdTY4MDdcdTUxQzZcdTZBMjFcdTVGMEYgLSBcdTk3MDBcdTg5ODFcdTc4NkVcdThCQTRcdTY1ODdcdTRFRjZcdTRGRUVcdTY1MzkiLCJmdWxsLWFjY2VzcyI6Ilx1NUI4Q1x1NTE2OFx1OEJCRlx1OTVFRSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1Njc0M1x1OTY1MFx1NEUwRVx1NjRDRFx1NEY1QyIsImF1dG8tZWRpdCI6Ilx1ODFFQVx1NTJBOFx1N0YxNlx1OEY5MSAtIFx1ODFFQVx1NTJBOFx1Nzg2RVx1OEJBNFx1NjU4N1x1NEVGNlx1NEZFRVx1NjUzOSIsbmF0aXZlOiJcdTUzOUZcdTc1MUZcdTZBMjFcdTVGMEYgLSBcdThGRDRcdTU2REVcdTdFRDNcdTY3ODRcdTUzMTZcdThGOTNcdTUxRkEiLG1hbmFnZWQ6Ilx1NjI1OFx1N0JBMVx1NkEyMVx1NUYwRiAtIEFJIFx1ODFFQVx1NTJBOFx1NUI4Q1x1NjIxMFx1NjI0MFx1NjcwOVx1NURFNVx1NEY1QyJ9O3JldHVybiB0W2VdfHwiIn1mdW5jdGlvbiBkdihlKXt2YXIgdD1lJiZlLnByb3ZpZGVyP2UucHJvdmlkZXI6ImNsYXVkZSI7cmV0dXJuKG9lKGUpPyJcdTdFRDNcdTY3ODRcdTUzMTYiOiJcdTdFQzhcdTdBRUYiKSsiIFx4QjcgIit0fWZ1bmN0aW9uIGZ2KGUpe3JldHVybiBvZShlKT8iXHU3RUQzXHU2Nzg0XHU1MzE2IFx4QjcgXHU1NzU3XHU3RUE3XHU4QkIwXHU1RjU1IjplJiZlLnByb3ZpZGVyPT09ImNvZGV4Ij8iXHU3RUM4XHU3QUVGIFx4QjcgQ29kZXggUFRZXHVGRjA4Y2hhdCBcdTRFM0FcdTg5RTNcdTY3OTBcdTg5QzZcdTU2RkVcdUZGMDkiOiJcdTdFQzhcdTdBRUYgXHhCNyBQVFkgXHU0RjFBXHU4QkREIn1mdW5jdGlvbiBwdihlKXtyZXR1cm4gZT9vZShlKXx8ZS5wcm92aWRlcj09PSJjb2RleCI6ITF9ZnVuY3Rpb24gT28oZSx0KXtpZighZXx8IWUuaXNfZXJyb3J8fCF0fHx0LmlzX2Vycm9yKXJldHVybiExO3ZhciByPWxuKGUuY29udGVudCkudG9Mb3dlckNhc2UoKSxpPWxuKHQuY29udGVudCkudG9Mb3dlckNhc2UoKTtyZXR1cm4gcj9yLmluZGV4T2YoImludmFsaWQgcGFnZXMgcGFyYW1ldGVyIikhPT0tMSYmaS5sZW5ndGg+MDohMX1mdW5jdGlvbiBvZShlKXtyZXR1cm4hIWUmJihlLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHxlLnJ1bm5lcj09PSJjbGF1ZGUtY2xpLXByaW50Iil9ZnVuY3Rpb24gaGkoKXtuLmNoYXRNb2RlPU50KCJjbGF1ZGUiLG4uY2hhdE1vZGUpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWhpbnQiKTtlJiYoZS50ZXh0Q29udGVudD1xbyhuLmNoYXRNb2RlKSksSm4oKX1mdW5jdGlvbiBSYShlLHQpe3Q9dHx8e307dmFyIHI9dC5raW5kPT09ImNvbXBhY3QifHx0LmtpbmQ9PT0icG9wb3ZlciI/dC5raW5kOiJkcm9wZG93biIsaT12dCgpLGE9bi5jaGF0TW9kZXx8ImRlZmF1bHQiLHU9SG8oZSl8fCJkZWZhdWx0IixzPU5vKGUpO2Z1bmN0aW9uIG8obCxjLGQsZil7dmFyIHY9cj09PSJjb21wYWN0Ij8iIjonPHNwYW4gY2xhc3M9ImNoYXQtbW9kZS10cmlvLXRhZyI+JytwKGMpKyI8L3NwYW4+IjtyZXR1cm4nPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtcGlsbCBjaGF0LW1vZGUtdHJpby1waWxsIiBkYXRhLW1vZGUtY29udHJvbC1waWxsPSInK2wrJyIgdGl0bGU9IicrcChjKSsnIj4nK3YrJzxzcGFuIGNsYXNzPSJjb21wb3Nlci10ZXh0LWxhYmVsIj4nK3AoZCkrJzwvc3Bhbj48c2VsZWN0IGNsYXNzPSJjb21wb3Nlci10ZXh0LWhpZGRlbi1zZWxlY3QiIGRhdGEtbW9kZS1jb250cm9sPSInK2wrJyIgdGFiaW5kZXg9Ii0xIiBhcmlhLWxhYmVsPSInK3AoYykrJyI+JytmKyI8L3NlbGVjdD48L3NwYW4+In1yZXR1cm4nPGRpdiBjbGFzcz0iY2hhdC1tb2RlLXRyaW8gY2hhdC1tb2RlLXRyaW8tJytyKyciIHJvbGU9Imdyb3VwIiBhcmlhLWxhYmVsPSJcdTRGMUFcdThCRERcdThCQkVcdTdGNkUiPicrbygibW9kZSIsIlx1NkEyMVx1NUYwRiIsYSxQbyhpLGEpKSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXRleHQtc2VwIiBhcmlhLWhpZGRlbj0idHJ1ZSI+XHhCNzwvc3Bhbj4nK28oIm1vZGVsIiwiXHU2QTIxXHU1NzhCIix1LGpvKHUsZSkpKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItdGV4dC1zZXAiIGFyaWEtaGlkZGVuPSJ0cnVlIj5ceEI3PC9zcGFuPicrbygidGhpbmtpbmciLCJcdTYwMURcdTgwMDMiLHMsUm8ocykpKyI8L2Rpdj4ifWZ1bmN0aW9uIEpuKCl7dmFyIGU9bXQoKSx0PXZ0KCkscj1uLmNoYXRNb2RlfHwiZGVmYXVsdCIsaT1IbyhlKXx8ImRlZmF1bHQiLGE9Tm8oZSksdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2hhdC1tb2RlLXRyaW8iKTt1LmZvckVhY2goZnVuY3Rpb24ocyl7ZnVuY3Rpb24gbyhsLGMsZCl7dmFyIGY9cy5xdWVyeVNlbGVjdG9yKCdbZGF0YS1tb2RlLWNvbnRyb2wtcGlsbD0iJytsKyciXScpO2lmKGYpe3ZhciB2PWYucXVlcnlTZWxlY3RvcigiLmNvbXBvc2VyLXRleHQtbGFiZWwiKTt2JiYodi50ZXh0Q29udGVudD1jKTt2YXIgbT1mLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLW1vZGUtY29udHJvbD0iJytsKyciXScpO20mJihkJiYobS5pbm5lckhUTUw9ZCksbS52YWx1ZSE9PWMmJihtLnZhbHVlPWMpKX19bygibW9kZSIscixQbyh0LHIpKSxvKCJtb2RlbCIsaSxqbyhpLGUpKSxvKCJ0aGlua2luZyIsYSxSbyhhKSl9KX1mdW5jdGlvbiBQbyhlLHQpe3JldHVybiBOYShlKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuJzxvcHRpb24gdmFsdWU9IicrcChyKSsnIicrKHI9PT10PyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChyKSsiPC9vcHRpb24+In0pLmpvaW4oIiIpfWZ1bmN0aW9uIEhvKGUpe3JldHVybiBlJiZlLnNlbGVjdGVkTW9kZWw/ZS5zZWxlY3RlZE1vZGVsOm4uY2hhdE1vZGVsP24uY2hhdE1vZGVsOm4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWw/bi5jb25maWcuZGVmYXVsdE1vZGVsOiIifWZ1bmN0aW9uIF9vKGUpe3ZhciB0PWUmJmUucHJvdmlkZXJ8fG4uc2Vzc2lvblRvb2x8fCJjbGF1ZGUiO3JldHVybiB0PT09ImNvZGV4Ij9uLmF2YWlsYWJsZUNvZGV4TW9kZWxzfHxbXTpuLmF2YWlsYWJsZU1vZGVsc3x8W119ZnVuY3Rpb24gdnYoZSx0KXtmb3IodmFyIHI9X28odCksaT0nPG9wdGlvbiB2YWx1ZT0iIj5cdTlFRDhcdThCQTRcdUZGMDhcdThEREZcdTk2OEZcdThCQkVcdTdGNkVcdUZGMDk8L29wdGlvbj4nLGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIHU9clthXSxzPXUubGFiZWx8fHUuaWQ7aSs9JzxvcHRpb24gdmFsdWU9IicrcCh1LmlkKSsnIicrKHUuaWQ9PT1lPyIgc2VsZWN0ZWQiOiIiKSsiPiIrcChzKSsiPC9vcHRpb24+In1yZXR1cm4gZSYmIXIuc29tZShmdW5jdGlvbihvKXtyZXR1cm4gby5pZD09PWV9KSYmKGkrPSc8b3B0aW9uIHZhbHVlPSInK3AoZSkrJyIgc2VsZWN0ZWQ+JytwKGUpKyJcdUZGMDhcdTgxRUFcdTVCOUFcdTRFNDlcdUZGMDk8L29wdGlvbj4iKSxpfWZ1bmN0aW9uIGpvKGUsdCl7Zm9yKHZhciByPV9vKHQpLGk9JzxvcHRpb24gdmFsdWU9IiI+ZGVmYXVsdDwvb3B0aW9uPicsYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgdT1yW2FdO2krPSc8b3B0aW9uIHZhbHVlPSInK3AodS5pZCkrJyInKyh1LmlkPT09ZT8iIHNlbGVjdGVkIjoiIikrIj4iK3AodS5pZCkrIjwvb3B0aW9uPiJ9cmV0dXJuIGUmJiFyLnNvbWUoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lfSkmJihpKz0nPG9wdGlvbiB2YWx1ZT0iJytwKGUpKyciIHNlbGVjdGVkPicrcChlKSsiPC9vcHRpb24+IiksaX1mdW5jdGlvbiBZbihlKXtKbigpfXZhciBjbj1be2lkOiJvZmYiLGxhYmVsOiJvZmYiLGhpbnQ6Ilx1NEUwRFx1NTQyRlx1NzUyOFx1NjAxRFx1ODAwM1x1RkYwOENMSSBcdTY1RTBcdTUyNERcdTdGMDBcdUZGMUJTREsgXHU1MTczXHU5NUVEIHRoaW5raW5nXHVGRjFCQ29kZXggbWluaW1hbFx1RkYwOSJ9LHtpZDoic3RhbmRhcmQiLGxhYmVsOiJ0aGluayIsaGludDoiQ2xhdWRlIENMSTogdGhpbmsgXHhCNyBTREsgYnVkZ2V0IDQwOTYgXHhCNyBDb2RleCBsb3cifSx7aWQ6ImRlZXAiLGxhYmVsOiJ0aGluayBoYXJkIixoaW50OiJDbGF1ZGUgQ0xJOiB0aGluayBoYXJkIFx4QjcgU0RLIGJ1ZGdldCAxNjAwMCBceEI3IENvZGV4IG1lZGl1bSJ9LHtpZDoibWF4IixsYWJlbDoidWx0cmF0aGluayIsaGludDoiQ2xhdWRlIENMSTogdWx0cmF0aGluayBceEI3IFNESyBidWRnZXQgMzE5OTkgXHhCNyBDb2RleCBoaWdoIn1dO2Z1bmN0aW9uIG12KGUpe2Zvcih2YXIgdD0wO3Q8Y24ubGVuZ3RoO3QrKylpZihjblt0XS5pZD09PWUpcmV0dXJuIGNuW3RdLmxhYmVsO3JldHVybiBjblswXS5sYWJlbH1mdW5jdGlvbiBObyhlKXtyZXR1cm4gZSYmZS50aGlua2luZ0VmZm9ydD9lLnRoaW5raW5nRWZmb3J0Om4uY2hhdFRoaW5raW5nP24uY2hhdFRoaW5raW5nOiJvZmYifWZ1bmN0aW9uIG5nKGUpe2Zvcih2YXIgdD1lfHwib2ZmIixyPSIiLGk9MDtpPGNuLmxlbmd0aDtpKyspe3ZhciBhPWNuW2ldO3IrPSc8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09dD8iIHNlbGVjdGVkIjoiIikrJyB0aXRsZT0iJytwKGEuaGludCkrJyI+JytwKGEubGFiZWwpKyI8L29wdGlvbj4ifXJldHVybiByfWZ1bmN0aW9uIFJvKGUpe2Zvcih2YXIgdD1lfHwib2ZmIixyPSIiLGk9MDtpPGNuLmxlbmd0aDtpKyspe3ZhciBhPWNuW2ldO3IrPSc8b3B0aW9uIHZhbHVlPSInK3AoYS5pZCkrJyInKyhhLmlkPT09dD8iIHNlbGVjdGVkIjoiIikrIj4iK3AoYS5pZCkrIjwvb3B0aW9uPiJ9cmV0dXJuIHJ9ZnVuY3Rpb24gcmcoZSl7Sm4oKX1mdW5jdGlvbiBndihlKXt2YXIgdD0oZXx8Im9mZiIpLnRyaW0oKTt0IT09Im9mZiImJnQhPT0ic3RhbmRhcmQiJiZ0IT09ImRlZXAiJiZ0IT09Im1heCImJih0PSJvZmYiKSxuLmNoYXRUaGlua2luZz10O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC10aGlua2luZy1lZmZvcnQiLHQpfWNhdGNoe31KbigpO3ZhciByPW10KCk7ciYmZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoci5pZCkrIi90aGlua2luZy1lZmZvcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHt0aGlua2luZ0VmZm9ydDp0fSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaSYmaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1pJiZpLmlkJiYoWihpKSx0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU1REYyXHU1MjA3XHU2MzYyXHU2MDFEXHU4MDAzXHU2REYxXHU1RUE2IFx1MjE5MiAiK212KHQpLCJzdWNjZXNzIikpfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCJcdTUyMDdcdTYzNjJcdTYwMURcdTgwMDNcdTZERjFcdTVFQTZcdTU5MzFcdThEMjUiLCJlcnJvciIpfSl9ZnVuY3Rpb24gV28oZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS5tb2RlO3JldHVybiB0PT09Im1hbmFnZWQifHx0PT09ImZ1bGwtYWNjZXNzIn1mdW5jdGlvbiBodihlKXtpZighZXx8V28oZSkpcmV0dXJuIiI7dmFyIHQ9ISFlLmF1dG9BcHByb3ZlUGVybWlzc2lvbnM7cmV0dXJuIHQ/JzxzcGFuIGlkPSJhdXRvLWFwcHJvdmUtdG9nZ2xlIiBjbGFzcz0iY29tcG9zZXItcGlsbCBjb21wb3Nlci1waWxsLWNoaXAgYXV0by1hcHByb3ZlLWluZGljYXRvciBhY3RpdmUiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTU0MkZcdTc1MjggXHUyMDE0IFx1NzBCOVx1NTFGQlx1NTE3M1x1OTVFRCI+JytKKCJzaGllbGRDaGVjayIse3NpemU6MTIsc3Ryb2tlV2lkdGg6MS43LGNsczoiY29tcG9zZXItcGlsbC1pY29uIn0pKyc8c3BhbiBjbGFzcz0iY29tcG9zZXItcGlsbC1sYWJlbCI+XHU4MUVBXHU1MkE4PC9zcGFuPjwvc3Bhbj4nOic8c3BhbiBpZD0iYXV0by1hcHByb3ZlLXRvZ2dsZSIgY2xhc3M9ImNvbXBvc2VyLXBpbGwgY29tcG9zZXItcGlsbC1jaGlwIGF1dG8tYXBwcm92ZS1pbmRpY2F0b3IiIHRpdGxlPSJcdTgxRUFcdTUyQThcdTYyNzlcdTUxQzZcdTVERjJcdTUxNzNcdTk1RUQgXHUyMDE0IFx1NzBCOVx1NTFGQlx1NUYwMFx1NTQyRiI+JytKKCJzaGllbGQiLHtzaXplOjEyLHN0cm9rZVdpZHRoOjEuNyxjbHM6ImNvbXBvc2VyLXBpbGwtaWNvbiJ9KSsnPHNwYW4gY2xhc3M9ImNvbXBvc2VyLXBpbGwtbGFiZWwiPlx1NjI0Qlx1NTJBODwvc3Bhbj48L3NwYW4+J31mdW5jdGlvbiB6bygpe3JldHVybiBmZXRjaCgiL2FwaS9tb2RlbHMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gZS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlJiZBcnJheS5pc0FycmF5KGUubW9kZWxzKSYmKG4uYXZhaWxhYmxlTW9kZWxzPWUubW9kZWxzLG4uYXZhaWxhYmxlQ29kZXhNb2RlbHM9QXJyYXkuaXNBcnJheShlLmNvZGV4TW9kZWxzKT9lLmNvZGV4TW9kZWxzOltdLFluKG10KCkpLHlpKGUpKSxlfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pfWZ1bmN0aW9uIHl2KCl7aWYobi5tb2RlbHNSZWZyZXNoaW5nKXJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7bi5tb2RlbHNSZWZyZXNoaW5nPSEwO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbC1yZWZyZXNoIik7cmV0dXJuIGUmJihlLmRpc2FibGVkPSEwLGUudGV4dENvbnRlbnQ9Ilx1NTIzN1x1NjVCMFx1NEUyRC4uLiIpLGZldGNoKCIvYXBpL21vZGVscy9yZWZyZXNoIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0JiZBcnJheS5pc0FycmF5KHQubW9kZWxzKSYmKG4uYXZhaWxhYmxlTW9kZWxzPXQubW9kZWxzLG4uYXZhaWxhYmxlQ29kZXhNb2RlbHM9QXJyYXkuaXNBcnJheSh0LmNvZGV4TW9kZWxzKT90LmNvZGV4TW9kZWxzOltdLFluKG10KCkpLHlpKHQpLHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKCJcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTVERjJcdTUyMzdcdTY1QjAiKyh0LmNsYXVkZVZlcnNpb24/Ilx1RkYwOGNsYXVkZSAiK3QuY2xhdWRlVmVyc2lvbisiXHVGRjA5IjoiIiksInN1Y2Nlc3MiKSksdH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBrPT0iZnVuY3Rpb24iJiZrKCJcdTUyMzdcdTY1QjBcdTZBMjFcdTU3OEJcdTUyMTdcdTg4NjhcdTU5MzFcdThEMjUiLCJlcnJvciIpLG51bGx9KS5maW5hbGx5KGZ1bmN0aW9uKCl7bi5tb2RlbHNSZWZyZXNoaW5nPSExLGUmJihlLmRpc2FibGVkPSExLGUudGV4dENvbnRlbnQ9Ilx1NTIzN1x1NjVCMCIpfSl9ZnVuY3Rpb24gYnYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZW52LXByZXZpZXctbW9kYWwiKTtpZighZSl7ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIiksZS5pZD0iZW52LXByZXZpZXctbW9kYWwiLGUuY2xhc3NOYW1lPSJtb2RhbC1iYWNrZHJvcCBoaWRkZW4iLGUuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJtb2RhbCBlbnYtcHJldmlldy1tb2RhbCIgcm9sZT0iZGlhbG9nIiBhcmlhLWxhYmVsbGVkYnk9ImVudi1wcmV2aWV3LXRpdGxlIiBhcmlhLW1vZGFsPSJ0cnVlIj48ZGl2IGNsYXNzPSJtb2RhbC1oZWFkZXIiPjxkaXY+PGgyIGNsYXNzPSJtb2RhbC10aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXRpdGxlIj5cdTVDMDZcdTZDRThcdTUxNjVcdTVCNTBcdThGREJcdTdBMEJcdTc2ODRcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0Y8L2gyPjxwIGNsYXNzPSJtb2RhbC1zdWJ0aXRsZSIgaWQ9ImVudi1wcmV2aWV3LXN1YnRpdGxlIj5cdThGRDlcdTRFOUJcdTUzRDhcdTkxQ0ZcdTRGMUFcdTg4QUJcdTRGMjBcdTdFRDkgY2xhdWRlIC8gY29kZXhcdUZGMDhQVFkgXHU0RTBFXHU3RUQzXHU2Nzg0XHU1MzE2XHU4RkQwXHU4ODRDXHU1NjY4XHU0RTAwXHU4MUY0XHVGRjA5XHUzMDAyPC9wPjwvZGl2PjxidXR0b24gaWQ9ImVudi1wcmV2aWV3LWNsb3NlIiBjbGFzcz0iYnRuIGJ0bi1naG9zdCBidG4taWNvbiBtb2RhbC1jbG9zZS1idG4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iXHU1MTczXHU5NUVEIj48c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgYXJpYS1oaWRkZW49InRydWUiPjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiLz48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ii8+PC9zdmc+PC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0ibW9kYWwtYm9keSBlbnYtcHJldmlldy1ib2R5Ij48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy10b29sYmFyIj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1tZXRhIiBpZD0iZW52LXByZXZpZXctbWV0YSI+XHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2PC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctY29udHJvbHMiPjxpbnB1dCBpZD0iZW52LXByZXZpZXctc2VhcmNoIiBjbGFzcz0iZW52LXByZXZpZXctc2VhcmNoIiB0eXBlPSJzZWFyY2giIHBsYWNlaG9sZGVyPSJcdTY0MUNcdTdEMjJcdTUzRDhcdTkxQ0ZcdTU0MERcdTIwMjYiIC8+PGxhYmVsIGNsYXNzPSJlbnYtcHJldmlldy1yZXZlYWwiPjxpbnB1dCBpZD0iZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIgdHlwZT0iY2hlY2tib3giIC8+PHNwYW4+XHU2NjNFXHU3OTNBXHU2NTRGXHU2MTFGXHU1MDNDPC9zcGFuPjwvbGFiZWw+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZW52LXByZXZpZXctbGlzdCIgaWQ9ImVudi1wcmV2aWV3LWxpc3QiIHRhYmluZGV4PSIwIj48ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIgZW52LXByZXZpZXctZm9vdGVyIj48c3BhbiBjbGFzcz0iZW52LXByZXZpZXctaGludCI+XHU2NTRGXHU2MTFGXHU1QjU3XHU2QkI1XHVGRjA4XHU1NDJCIEtFWS9UT0tFTi9TRUNSRVQgXHU3QjQ5XHVGRjA5XHU5RUQ4XHU4QkE0XHU2M0E5XHU3ODAxXHVGRjBDXHU1M0VGXHU1MkZFXHU5MDA5XHUzMDBDXHU2NjNFXHU3OTNBXHU2NTRGXHU2MTFGXHU1MDNDXHUzMDBEXHU0RTM0XHU2NUY2XHU4RkQ4XHU1MzlGXHUzMDAyPC9zcGFuPjxidXR0b24gaWQ9ImVudi1wcmV2aWV3LWNsb3NlLTIiIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSBidG4tc20iIHR5cGU9ImJ1dHRvbiI+XHU1MTczXHU5NUVEPC9idXR0b24+PC9kaXY+PC9kaXY+Jyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKG8pe28udGFyZ2V0PT09ZSYmV2EoKX0pO3ZhciB0PWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LWNsb3NlIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsV2EpO3ZhciByPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LWNsb3NlLTIiKTtyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixXYSk7dmFyIGE9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctc2VhcmNoIik7YSYmYS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsZnVuY3Rpb24oKXtVbygpfSk7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yKCIjZW52LXByZXZpZXctcmV2ZWFsLXRvZ2dsZSIpO2kmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixmdW5jdGlvbigpe1ZvKGkuY2hlY2tlZCl9KX1lLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpO3ZhciBpPWUucXVlcnlTZWxlY3RvcigiI2Vudi1wcmV2aWV3LXJldmVhbC10b2dnbGUiKTtpJiYoaS5jaGVja2VkPSExKTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoIiNlbnYtcHJldmlldy1zZWFyY2giKTthJiYoYS52YWx1ZT0iIiksVm8oITEpfWZ1bmN0aW9uIFdhKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LW1vZGFsIik7ZSYmVWEoZSl9ZnVuY3Rpb24gVm8oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LWxpc3QiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbnYtcHJldmlldy1tZXRhIik7dCYmKHQuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1sb2FkaW5nIj5cdTUyQTBcdThGN0RcdTRFMkRcdTIwMjY8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU1MkEwXHU4RjdEXHU0RTJEXHUyMDI2Iik7dmFyIGk9Ii9hcGkvc2V0dGluZ3MvZW52LXByZXZpZXciKyhlPyI/cmV2ZWFsPTEiOiIiKTtmZXRjaChpLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihhKXtyZXR1cm4gYS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGEpe2lmKCFhfHwhQXJyYXkuaXNBcnJheShhLmVudHJpZXMpKXt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdThCRkJcdTUzRDZcdTU5MzFcdThEMjVcdTMwMDI8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU4QkZCXHU1M0Q2XHU1OTMxXHU4RDI1Iik7cmV0dXJufWlmKG4uX2VudlByZXZpZXc9YSxyKXt2YXIgdT1hLmluaGVyaXRFbnY/Ilx1N0VFN1x1NjI3Rlx1NzIzNlx1OEZEQlx1N0EwQiI6Ilx1NjcwMFx1NUMwRlx1NzY3RFx1NTQwRFx1NTM1NSI7ci5pbm5lckhUTUw9JzxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1waWxsICcrKGEuaW5oZXJpdEVudj8iaXMtaW5oZXJpdCI6ImlzLW1pbmltYWwiKSsnIj4nK3UrJzwvc3Bhbj48c3BhbiBjbGFzcz0iZW52LXByZXZpZXctY291bnQiPlx1NTE3MSAnK2EudG90YWwrIiBcdTk4Nzk8L3NwYW4+In1VbygpfSkuY2F0Y2goZnVuY3Rpb24oKXt0JiYodC5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdThCRkJcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdThCRjdcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDVcdTMwMDI8L2Rpdj4nKSxyJiYoci50ZXh0Q29udGVudD0iXHU4QkZCXHU1M0Q2XHU1OTMxXHU4RDI1Iil9KX1mdW5jdGlvbiBVbygpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbnYtcHJldmlldy1saXN0Iik7aWYoZSl7dmFyIHQ9bi5fZW52UHJldmlldztpZighdHx8IUFycmF5LmlzQXJyYXkodC5lbnRyaWVzKSl7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWVtcHR5Ij5cdTVDMUFcdTY3MkFcdTUyQTBcdThGN0RcdTMwMDI8L2Rpdj4nO3JldHVybn1mb3IodmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVudi1wcmV2aWV3LXNlYXJjaCIpLGk9KHImJnIudmFsdWV8fCIiKS50cmltKCkudG9Mb3dlckNhc2UoKSxhPSIiLHU9MCxzPTA7czx0LmVudHJpZXMubGVuZ3RoO3MrKyl7dmFyIG89dC5lbnRyaWVzW3NdO2lmKCEoaSYmby5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihpKT09PS0xKSl7dSsrO3ZhciBsPXR5cGVvZiBvLnZhbHVlPT0ic3RyaW5nIiYmby52YWx1ZS5jaGFyQXQoMCk9PT0iPCImJm8udmFsdWUuY2hhckF0KG8udmFsdWUubGVuZ3RoLTEpPT09Ij4iO2ErPSc8ZGl2IGNsYXNzPSJlbnYtcHJldmlldy1yb3cnKyhvLnNlbnNpdGl2ZT8iIGlzLXNlbnNpdGl2ZSI6IiIpKyciPjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LW5hbWUiPicrcChvLm5hbWUpKyhvLnNlbnNpdGl2ZT8nPHNwYW4gY2xhc3M9ImVudi1wcmV2aWV3LWJhZGdlIiB0aXRsZT0iXHU4OEFCXHU4QkM2XHU1MjJCXHU0RTNBXHU2NTRGXHU2MTFGXHU1QjU3XHU2QkI1Ij5cdTY1NEZcdTYxMUY8L3NwYW4+JzoiIikrKGw/JzxzcGFuIGNsYXNzPSJlbnYtcHJldmlldy1iYWRnZSBlbnYtcHJldmlldy1iYWRnZS1ydW50aW1lIiB0aXRsZT0iXHU2MzA5XHU0RjFBXHU4QkREXHU1MkE4XHU2MDAxXHU2Q0U4XHU1MTY1Ij5cdThGRDBcdTg4NENcdTY1RjY8L3NwYW4+JzoiIikrJzwvZGl2PjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LXZhbHVlJysobD8iIGlzLXJ1bnRpbWUiOiIiKSsnIiB0aXRsZT0iJytwKFN0cmluZyhvLnZhbHVlKSkrJyI+JytwKFN0cmluZyhvLnZhbHVlKSkrJzwvZGl2PjxkaXYgY2xhc3M9ImVudi1wcmV2aWV3LWxlbiI+JytvLmxlbmd0aCsiIFx1NUI1N1x1N0IyNjwvZGl2PjwvZGl2PiJ9fXU9PT0wJiYoYT0nPGRpdiBjbGFzcz0iZW52LXByZXZpZXctZW1wdHkiPlx1NkNBMVx1NjcwOVx1NTMzOVx1OTE0RFx1NzY4NFx1NTNEOFx1OTFDRlx1MzAwMjwvZGl2PicpLGUuaW5uZXJIVE1MPWF9fWZ1bmN0aW9uIHlpKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctZGVmYXVsdC1tb2RlbCIpO2lmKHQpe3ZhciByPXQudmFsdWUsaT1yfHxuLmNvbmZpZ0RlZmF1bHRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiI7dC5pbm5lckhUTUw9dnYoaSx7cHJvdmlkZXI6ImNsYXVkZSJ9KSx0LnZhbHVlPWk7dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1kZWZhdWx0LW1vZGVsLXZlcnNpb24iKTthJiZlJiYoYS50ZXh0Q29udGVudD1lLmNsYXVkZVZlcnNpb24/Ilx1NURGMlx1NjhDMFx1NkQ0Qlx1NTIzMCBjbGF1ZGUgIitlLmNsYXVkZVZlcnNpb246Ilx1NjVCMFx1NUVGQVx1NEYxQVx1OEJERFx1NjVGNlx1OUVEOFx1OEJBNFx1NEY3Rlx1NzUyOFx1OEJFNVx1NkEyMVx1NTc4Qlx1MzAwMiIpfX1mdW5jdGlvbiBtdCgpe2lmKCFuLnNlbGVjdGVkSWQpcmV0dXJuIG51bGw7Zm9yKHZhciBlPTA7ZTxuLnNlc3Npb25zLmxlbmd0aDtlKyspaWYobi5zZXNzaW9uc1tlXS5pZD09PW4uc2VsZWN0ZWRJZClyZXR1cm4gbi5zZXNzaW9uc1tlXTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBFdihlKXt2YXIgdD0oZXx8IiIpLnRyaW0oKTtuLmNoYXRNb2RlbD10O3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1jaGF0LW1vZGVsIix0KX1jYXRjaHt9Sm4oKTt2YXIgcj1tdCgpO3ImJmZldGNoKCIvYXBpL3Nlc3Npb25zLyIrZW5jb2RlVVJJQ29tcG9uZW50KHIuaWQpKyIvbW9kZWwiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHttb2RlbDp0fHxudWxsfSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaSYmaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1pZihpJiZpLmlkJiYoWihpKSx0eXBlb2Ygaz09ImZ1bmN0aW9uIikpe3ZhciBhPXR8fCJcdTlFRDhcdThCQTQiLHU9ci5wcm92aWRlcj09PSJjb2RleCI/Ilx1RkYwOFx1NEUwQlx1NkIyMVx1NUJGOVx1OEJERFx1NzUxRlx1NjU0OFx1RkYwOSI6IiI7aygiXHU1REYyXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCIFx1MjE5MiAiK2ErdSwic3VjY2VzcyIpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7aygiXHU1MjA3XHU2MzYyXHU2QTIxXHU1NzhCXHU1OTMxXHU4RDI1IiwiZXJyb3IiKX0pfWZ1bmN0aW9uIEtvKGUsdCxyLGkpe3ZhciBhPW4uc2Vzc2lvblRvb2w9PT0iY29kZXgiPyJjb2RleCI6ImNsYXVkZSIsdT1uLmNoYXRNb2RlbHx8bi5jb25maWcmJm4uY29uZmlnLmRlZmF1bHRNb2RlbHx8IiIscz1uLmNoYXRUaGlua2luZ3x8Im9mZiIsbz17Y3dkOnR8fEplKCksbW9kZTpyfHxuLmNoYXRNb2RlfHxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iixwcm92aWRlcjphLHJ1bm5lcjphPT09ImNvZGV4Ij8iY29kZXgtY2xpLWV4ZWMiOm4uY29uZmlnJiZuLmNvbmZpZy5zdHJ1Y3R1cmVkUnVubmVyPT09InNkayI/ImNsYXVkZS1zZGsiOm4uc3RydWN0dXJlZFJ1bm5lcnx8ImNsYXVkZS1jbGktcHJpbnQiLHByb21wdDplfHx2b2lkIDAsd29ya3RyZWVFbmFibGVkOmk9PT0hMCxtb2RlbDp1fHx2b2lkIDAsdGhpbmtpbmdFZmZvcnQ6c307cmV0dXJuIGZldGNoKCIvYXBpL3N0cnVjdHVyZWQtc2Vzc2lvbnMiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KG8pfSkudGhlbihmdW5jdGlvbihsKXtyZXR1cm4gbC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGwpe2lmKGwuZXJyb3IpdGhyb3cgbmV3IEVycm9yKGwuZXJyb3IpO3JldHVybiBuLnNlbGVjdGVkSWQ9bC5pZCx5ZSgpLG4uZHJhZnRzW2wuaWRdPSIiLEN0KCksWihsKSx2ZSgpLEVyKGwuaWQpLHhuKGwuaWQpLGZuKGwuaWQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gbH0pfSl9ZnVuY3Rpb24gYmkoKXt2YXIgZT0hIW4uc2VsZWN0ZWRJZCx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGF0LW91dHB1dCIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQiKSxhPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihsKXtyZXR1cm4gbC5pZD09PW4uc2VsZWN0ZWRJZH0pLHU9b2UoYSkscz1lJiYhdSYmbi5jdXJyZW50Vmlldz09PSJ0ZXJtaW5hbCIsbz1lJiYodXx8bi5jdXJyZW50VmlldyE9PSJ0ZXJtaW5hbCIpO3U/bi5jdXJyZW50Vmlldz0iY2hhdCI6ZXx8KG4uY3VycmVudFZpZXc9InRlcm1pbmFsIiksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixzKSx0LmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIsIXMpKSxyJiYoci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG8pLHIuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwhbykpLGkmJmkuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIixlKSxyJiZvJiZBYShyKSxycigpLEtlKCksRnIoKX1mdW5jdGlvbiBrcigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlLWRlc2NyaXB0aW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1raW5kLWRlc2NyaXB0aW9uIikscj1uLnNlc3Npb25Ub29sfHwiY2xhdWRlIixpPW4uc2Vzc2lvbkNyZWF0ZUtpbmR8fCJzdHJ1Y3R1cmVkIjtuLnNlc3Npb25Ub29sPXIsbi5tb2RlVmFsdWU9TnQocixuLm1vZGVWYWx1ZXx8bi5jaGF0TW9kZXx8ImRlZmF1bHQiKTt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjcHJvdmlkZXItY2FyZHMgLnByb3ZpZGVyLWNhcmQiKTthLmxlbmd0aCYmYS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBsPW8uZ2V0QXR0cmlidXRlKCJkYXRhLXByb3ZpZGVyIik7by5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLGw9PT1yKSxvLmNsYXNzTGlzdC5yZW1vdmUoImRpc2FibGVkIil9KTt2YXIgdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIjc2Vzc2lvbi1raW5kLWNhcmRzIC5zZXNzaW9uLWtpbmQtY2FyZCIpO3UubGVuZ3RoJiZ1LmZvckVhY2goZnVuY3Rpb24obyl7dmFyIGw9by5nZXRBdHRyaWJ1dGUoImRhdGEtc2Vzc2lvbi1raW5kIiksYz0hMTtvLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbD09PWkpLG8uY2xhc3NMaXN0LnRvZ2dsZSgiZGlzYWJsZWQiLGMpfSk7dmFyIHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI21vZGUtY2FyZHMgLm1vZGUtY2FyZCIpO3MubGVuZ3RoJiZzLmZvckVhY2goZnVuY3Rpb24obyl7by5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLG8uZ2V0QXR0cmlidXRlKCJkYXRhLW1vZGUiKT09PW4ubW9kZVZhbHVlKX0pLHQmJih0LnRleHRDb250ZW50PU51KGkpKSxlJiYoZS50ZXh0Q29udGVudD1NbyhyLG4ubW9kZVZhbHVlKSl9ZnVuY3Rpb24gWihlKXtpZighKCFlfHwhZS5pZCkpe3ZhciB0PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PWUuaWR9KXx8bnVsbCxyPVRsKGUsdCksaT0hMSxhPW51bGw7bi5zZXNzaW9ucz1uLnNlc3Npb25zLm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZCE9PXIuaWQ/czooYT1zLGk9ITAsT2JqZWN0LmFzc2lnbih7fSxzLHIpKX0pLGl8fG4uc2Vzc2lvbnMudW5zaGlmdChyKTt2YXIgdT1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1yLmlkfSl8fHI7dSYmQXJyYXkuaXNBcnJheSh1LnF1ZXVlZE1lc3NhZ2VzKSYmci5pZD09PW4uc2VsZWN0ZWRJZCYmKGpyKHUpLG91KCksdW4oKSksci5pZD09PW4uc2VsZWN0ZWRJZCYmKEVhKCksSnQoKSksci5zdGF0dXMmJnIuc3RhdHVzIT09InJ1bm5pbmciJiZuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZzZXRUaW1lb3V0KGFpLDApfX1mdW5jdGlvbiB4bihlKXshZXx8IW4ud3N8fG4ud3MucmVhZHlTdGF0ZSE9PVdlYlNvY2tldC5PUEVOfHxuLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe3R5cGU6InN1YnNjcmliZSIsc2Vzc2lvbklkOmV9KSl9ZnVuY3Rpb24gRnYoZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgcj1PYmplY3QuYXNzaWduKHt9LGUsdCksaT1lLm91dHB1dHx8IiIsYT10Lm91dHB1dHx8IiIsdT1pLmxlbmd0aD5hLmxlbmd0aCxzPWUuc3RydWN0dXJlZFN0YXRlfHxudWxsLG89dC5zdHJ1Y3R1cmVkU3RhdGV8fG51bGwsbD1lLnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQifHx0LnNlc3Npb25LaW5kPT09InN0cnVjdHVyZWQiLGM9ISEoZS5tZXNzYWdlcyYmZS5tZXNzYWdlcy5sZW5ndGgmJihmdW5jdGlvbigpe3ZhciBnPWUubWVzc2FnZXNbZS5tZXNzYWdlcy5sZW5ndGgtMV07cmV0dXJuIGcmJmcucm9sZT09PSJhc3Npc3RhbnQiJiZBcnJheS5pc0FycmF5KGcuY29udGVudCkmJmcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSksZD1BcnJheS5pc0FycmF5KGUubWVzc2FnZXMpP2w/YXIoZS5tZXNzYWdlcyk6ZS5tZXNzYWdlczpbXSxmPUFycmF5LmlzQXJyYXkodC5tZXNzYWdlcyk/bD9hcih0Lm1lc3NhZ2VzKTp0Lm1lc3NhZ2VzOltdLHY9Zi5sZW5ndGg+MCYmKGZ1bmN0aW9uKCl7dmFyIGc9ZltmLmxlbmd0aC0xXTtyZXR1cm4gZyYmZy5yb2xlPT09ImFzc2lzdGFudCImJkFycmF5LmlzQXJyYXkoZy5jb250ZW50KSYmIWcuY29udGVudC5zb21lKGZ1bmN0aW9uKHkpe3JldHVybiB5JiZ5Ll9fcHJvY2Vzc2luZ30pfSkoKSxtPWUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCImJiEhcyYmcy5pbkZsaWdodD09PSEwJiYoIW98fG8uaW5GbGlnaHQhPT0hMCkmJmMmJiEhcy5hY3RpdmVSZXF1ZXN0SWQmJiEhbyYmISFvLmFjdGl2ZVJlcXVlc3RJZCYmby5hY3RpdmVSZXF1ZXN0SWQ9PT1zLmFjdGl2ZVJlcXVlc3RJZCYmIXYsYj1kLmxlbmd0aD5mLmxlbmd0aHx8ZC5sZW5ndGg+MCYmZi5sZW5ndGg+MCYmSlNPTi5zdHJpbmdpZnkoZFtkLmxlbmd0aC0xXSkhPT1KU09OLnN0cmluZ2lmeShmW2YubGVuZ3RoLTFdKSYmSlNPTi5zdHJpbmdpZnkoZCkubGVuZ3RoPkpTT04uc3RyaW5naWZ5KGYpLmxlbmd0aDtyZXR1cm4gdSYmKHIub3V0cHV0PWkpLG0mJihyLnN0YXR1cz1lLnN0YXR1c3x8ci5zdGF0dXMsci5zdHJ1Y3R1cmVkU3RhdGU9T2JqZWN0LmFzc2lnbih7fSxvfHx7fSxzLHtpbkZsaWdodDohMH0pLHIubWVzc2FnZXM9ZS5tZXNzYWdlcyksYiYmKHIubWVzc2FnZXM9ZCksZS5pZD09PW4uc2VsZWN0ZWRJZCYmKGUucGVybWlzc2lvbkJsb2NrZWQmJnQucGVybWlzc2lvbkJsb2NrZWQ9PT0hMXx8ZS5wZXJtaXNzaW9uQmxvY2tlZCYmIXQucGVybWlzc2lvbkJsb2NrZWQmJihyLnBlcm1pc3Npb25CbG9ja2VkPSEwKSxlLnBlbmRpbmdFc2NhbGF0aW9uJiYhdC5wZW5kaW5nRXNjYWxhdGlvbiYmdC5wZXJtaXNzaW9uQmxvY2tlZCE9PSExJiYoci5wZW5kaW5nRXNjYWxhdGlvbj1lLnBlbmRpbmdFc2NhbGF0aW9uKSxlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wJiYoIXQubWVzc2FnZXN8fHQubWVzc2FnZXMubGVuZ3RoPT09MCkmJihyLm1lc3NhZ2VzPWUubWVzc2FnZXMpKSxyfWZ1bmN0aW9uIHR0KGUsdCxyKXtpZihlJiZlLm1lc3NhZ2VzJiZlLm1lc3NhZ2VzLmxlbmd0aD4wKXJldHVybiBlLm1lc3NhZ2VzO2lmKGUmJmUuc2Vzc2lvbktpbmQ9PT0ic3RydWN0dXJlZCIpcmV0dXJuW107aWYoIXIpcmV0dXJuW107dmFyIGk9dHlwZW9mIHQ9PSJzdHJpbmciP3Q6ZSYmZS5vdXRwdXR8fCIiO3JldHVybiBpP2pwKGksZSYmZS5jb21tYW5kKTpbXX1mdW5jdGlvbiB3dihlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiBudWxsO2lmKG4uc2VsZWN0ZWRJZCl7dmFyIHQ9ZS5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09bi5zZWxlY3RlZElkfSk7cmV0dXJuIHQ/dC5pZDpudWxsfXZhciByPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4gYS5zdGF0dXM9PT0icnVubmluZyJ9KTtpZihyKXJldHVybiByLmlkO3ZhciBpPWUuZmluZChmdW5jdGlvbihhKXtyZXR1cm4hYS5hcmNoaXZlZH0pO3JldHVybiBpP2kuaWQ6ZVswXS5pZH1mdW5jdGlvbiBkbihlKXt2YXIgdD1lfHx7fTtyZXR1cm4gZmV0Y2goIi9hcGkvc2Vzc2lvbnMiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihyKXtpZihyLnN0YXR1cz09PTQwMSl7VG8oKTtyZXR1cm59cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXt2YXIgaT1yfHxbXSxhPW5ldyBTZXQoaS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWR9KSk7T2JqZWN0LmtleXMobi5kcmFmdHMpLmZvckVhY2goZnVuY3Rpb24oZil7YS5oYXMoZil8fGRlbGV0ZSBuLmRyYWZ0c1tmXX0pLG4uc2Vzc2lvbnM9aS5tYXAoZnVuY3Rpb24oZil7dmFyIHY9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKG0pe3JldHVybiBtLmlkPT09Zi5pZH0pO3JldHVybiBGdih2LGYpfSk7dmFyIHU9d3Yobi5zZXNzaW9ucyk7aWYodSE9PXZvaWQgMCYmKG4uc2VsZWN0ZWRJZD11KSxjdSgpLHVuKCksbi5ib290c3RyYXBwaW5nPSExLHllKCksbi5tb2RhbE9wZW4pdmUoKTtlbHNle3ZhciBzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9ucy1saXN0Iiksbz1XaSgpO2lmKHMmJnMuaW5uZXJIVE1MPT09byl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtsJiYobC50ZXh0Q29udGVudD1TdHJpbmcobi5zZXNzaW9ucy5sZW5ndGgpKX1lbHNle3MmJihzLmlubmVySFRNTD1vKTt2YXIgbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1jb3VudCIpO2wmJihsLnRleHRDb250ZW50PVN0cmluZyhuLnNlc3Npb25zLmxlbmd0aCkpfX1BcigpLG4uc2VsZWN0ZWRJZCYmbi5naXRTdGF0dXNTZXNzaW9uSWQhPT1uLnNlbGVjdGVkSWQmJkVuKG4uc2VsZWN0ZWRJZCk7dmFyIGM9UHJvbWlzZS5yZXNvbHZlKCk7aWYoIXQuc2tpcFNlbGVjdGVkT3V0cHV0UmVsb2FkJiZuLnNlbGVjdGVkSWQpYz1mbihuLnNlbGVjdGVkSWQpO2Vsc2UgaWYobi5zZWxlY3RlZElkKXt2YXIgZD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24oZil7cmV0dXJuIGYuaWQ9PT1uLnNlbGVjdGVkSWR9KTtvZShkKSYmKEN0KHtwcmVzZXJ2ZVN0aWNrU3RhdGU6ITB9KSxjbyghMCkpfXJldHVybiBjLnRoZW4oZnVuY3Rpb24oKXtuLmNyb3NzU2Vzc2lvblF1ZXVlLmxlbmd0aD4wJiZhaSgpLEJ0KCksc2EoKX0pfSkuY2F0Y2goZnVuY3Rpb24ocil7dmFyIGk9ciYmci5tZXNzYWdlfHwiIixhPWk9PT0iRmFpbGVkIHRvIGZldGNoInx8aT09PSJOZXR3b3JrRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIGZldGNoIHJlc291cmNlLiJ8fGk9PT0iTG9hZCBmYWlsZWQifHwvYWJvcnRlZHxhYm9ydGVycm9yfG5ldHdvcmtlcnJvcnxmYWlsZWQgdG8gZmV0Y2gvaS50ZXN0KGkpO2F8fGNvbnNvbGUuZXJyb3IoIlt3YW5kXSBsb2FkU2Vzc2lvbnMgZmFpbGVkOiIscil9KX12YXIgemE9bnVsbDtmdW5jdGlvbiBKbygpe3phfHwoemE9c2V0VGltZW91dChmdW5jdGlvbigpe3phPW51bGwsdmUoKX0sMjAwKSl9ZnVuY3Rpb24gdmUoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtbGlzdCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb24tY291bnQiKTtlJiYoZS5pbm5lckhUTUw9V2koKSksdCYmKHQudGV4dENvbnRlbnQ9U3RyaW5nKG4uc2Vzc2lvbnMubGVuZ3RoKSksdHlwZW9mICR0PT0iZnVuY3Rpb24iJiYkdCgpLEFyKCksbi5jcm9zc1Nlc3Npb25RdWV1ZS5sZW5ndGg+MCYmQnQoKX1mdW5jdGlvbiBBcigpe3ZhciBlPW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihtKXtyZXR1cm4gbS5pZD09PW4uc2VsZWN0ZWRJZH0pO2V8fChBbighMSksYmEoKSxRcygpKTt2YXIgdD1lP2dpKGUuY29tbWFuZCk6IldhbmQiLHI9ZT9vcihlKToiXHU1RjAwXHU1OUNCXHU1QkY5XHU4QkREIixpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZXNzaW9uLXN1bW1hcnktdmFsdWUiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXJtaW5hbC10aXRsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlcm1pbmFsLWluZm8iKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJibGFuay1jaGF0Iiksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0IiksbD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2hhdC1vdXRwdXQiKSxjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdG9wLWJ1dHRvbiIpO2kmJmkudGV4dENvbnRlbnQhPT10JiYoaS50ZXh0Q29udGVudD10KSxhJiZhLnRleHRDb250ZW50IT09dCYmKGEudGV4dENvbnRlbnQ9dCksdSYmKHUudGV4dENvbnRlbnQ9ZT9yKyIgXHhCNyAiK2Z2KGUpOnIpO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLWtpbmQtZGlzcGxheSIpLGY9ZT9kdihlKToiXHU3RUM4XHU3QUVGIjtkJiZkLnRleHRDb250ZW50IT09ZiYmKGQudGV4dENvbnRlbnQ9ZiksdHMoKSwhbi50ZXJtaW5hbCYmbyYmZSYmem4oKSxuLnRlcm1pbmFsJiZvJiYhby5jb250YWlucyhuLnRlcm1pbmFsLmVsZW1lbnQpJiYocHIoKSx6bigpKSxlfHwobi50ZXJtaW5hbFNlc3Npb25JZD1udWxsLG4udGVybWluYWxPdXRwdXQ9IiIsbi50ZXJtaW5hbE91dHB1dE1hcmtlcj0wKSxuLnRlcm1pbmFsJiZlJiZuLmN1cnJlbnRWaWV3PT09InRlcm1pbmFsIiYmZnQoInZpZXciKTt2YXIgdj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuaW5wdXQtcGFuZWwiKTtlPyhzJiZzLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLG8mJm8uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbCYmbC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx2JiZ2LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKToocyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxvJiZvLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGwmJmwuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksYyYmYy5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx2JiZ2LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKSxoaSgpLFluKG10KCkpLGJpKCksRWEoKX1mdW5jdGlvbiBmbihlKXtuLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChuLmNoYXRSZW5kZXJUaW1lciksbi5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmlkPT09ZX0pLHI9Ii9hcGkvc2Vzc2lvbnMvIitlO3JldHVybiBwdih0KSYmKHIrPSI/Zm9ybWF0PWNoYXQiKSxmZXRjaChyLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe24uc2VsZWN0ZWRJZD09PWUmJihuLnNlbGVjdGVkSWQ9bnVsbCx5ZSgpKSxkbigpO3JldHVybn1pZihaKGkpLEFyKCksbi50ZXJtaW5hbCYmZT09PW4uc2VsZWN0ZWRJZCYmaS5vdXRwdXQhPT12b2lkIDApe3ZhciBhPSEhbi53cyYmKG4ud3MucmVhZHlTdGF0ZT09PVdlYlNvY2tldC5PUEVOfHxuLndzLnJlYWR5U3RhdGU9PT1XZWJTb2NrZXQuQ09OTkVDVElORyk7YT9ldCgic2Vzc2lvbi1zd2l0Y2giKTooWnIoZSxpLm91dHB1dCx7bW9kZToiYXBwZW5kIn0pLGV0KCJzZXNzaW9uLXN3aXRjaCIse2ZvcmNlUmVwbGF5OiEwfSkpfXZhciB1PW4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5pZD09PWV9KTtuLmN1cnJlbnRNZXNzYWdlcz1SZSh1LHR0KHUsaS5vdXRwdXQsITEpKSxZZSghMSl9KX1mdW5jdGlvbiBSdChlKXt2YXIgdD1uLnNlc3Npb25zLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMuaWQ9PT1lfSk7aWYodCl7bi5zZWxlY3RlZElkIT09ZSYmcHIoKSxuLnNlbGVjdGVkSWQ9ZSx5ZSgpLG4udG9vbENvbnRlbnRDYWNoZT17fSxuLm1lc3NhZ2VRdWV1ZT1bXSxuLnBlbmRpbmdNZXNzYWdlcz1bXSxqcih0KSxjdSgpLHVuKCksQ3QoKSxuLmN1cnJlbnRNZXNzYWdlcz1bXSxuLmNoYXRSZW5kZXJUaW1lciYmKGNsZWFyVGltZW91dChuLmNoYXRSZW5kZXJUaW1lciksbi5jaGF0UmVuZGVyVGltZXI9bnVsbCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvZG8tcHJvZ3Jlc3MiKTtyJiZyLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpO3ZhciBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIiKTtpJiZpLnJlbW92ZSgpLG4uX3N0YXR1c0JhclRpbWVySWQmJihjbGVhckludGVydmFsKG4uX3N0YXR1c0JhclRpbWVySWQpLG4uX3N0YXR1c0JhclRpbWVySWQ9bnVsbCksbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7YSYmYS5jbGFzc0xpc3QucmVtb3ZlKCJpbi1mbGlnaHQiKTt2YXIgdT10O24ucHJlZmVycmVkQ29tbWFuZD12dCgpLG4uY2hhdE1vZGU9TnQoImNsYXVkZSIsdSYmdS5tb2RlP3UubW9kZTpuLmNoYXRNb2RlKSxuLnRlcm1pbmFsSW50ZXJhY3RpdmUmJnUmJnUuc3RhdHVzIT09InJ1bm5pbmciJiZBbighMSksdmUoKSxFcihlKSxuLmZpbGVQYW5lbE9wZW4mJihIbCh1KSxNdCgpKSxmbihlKS50aGVuKGZ1bmN0aW9uKCl7X3QoITApfSkseG4oZSksbi5naXRTdGF0dXM9bnVsbCxuLmdpdFN0YXR1c1Nlc3Npb25JZD1udWxsLE5pKCksRW4oZSx7Zm9yY2U6ITB9KX19ZnVuY3Rpb24gQ3YoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKSxyPVBlKCksaT0hIW4uc2lkZWJhclBpbm5lZCYmISFuLnNpZGViYXJDb2xsYXBzZWQsYT1pfHwhciYmKCEhbi5zaWRlYmFyUGlubmVkfHwhIW4uc2Vzc2lvbnNEcmF3ZXJPcGVuKTtlJiYoZS5jbGFzc0xpc3QudG9nZ2xlKCJwaW5uZWQiLGEpLGUuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIixpKSksdCYmKHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1waW5uZWQiLGEpLHQuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1jb2xsYXBzZWQiLGkpKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2lkZWJhci1waW4tYnRuIik7dSYmKHUuY2xhc3NMaXN0LnRvZ2dsZSgicGlubmVkIiwhIW4uc2lkZWJhclBpbm5lZCksdS50aXRsZT1uLnNpZGViYXJQaW5uZWQ/Ilx1NURGMlx1NTZGQVx1NUI5QVx1NUUzOFx1OUE3Qlx1RkYwOFx1NzBCOVx1NTFGQlx1ODlFM1x1OTY2NFx1OTUwMVx1NUI5QVx1RkYwOSI6Ilx1NTZGQVx1NUI5QVx1NEZBN1x1NjgwRlx1NUUzOFx1OUE3QiIsdS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLG4uc2lkZWJhclBpbm5lZD8iXHU4OUUzXHU5NjY0XHU1NkZBXHU1QjlBXHU1RTM4XHU5QTdCIjoiXHU1NkZBXHU1QjlBXHU0RkE3XHU2ODBGXHU1RTM4XHU5QTdCIiksdS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsbi5zaWRlYmFyUGlubmVkPyJ0cnVlIjoiZmFsc2UiKSl9ZnVuY3Rpb24geHIoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbnMtZHJhd2VyLWJhY2tkcm9wIikscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtlJiZlLmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0JiZ0LmNsYXNzTGlzdC50b2dnbGUoIm9wZW4iLHB1KCkpLHImJnIuY2xhc3NMaXN0LnRvZ2dsZSgic2lkZWJhci1vcGVuIixuLnNlc3Npb25zRHJhd2VyT3Blbik7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlc3Npb25zLXRvZ2dsZS1idXR0b24iKTtpJiZpLmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsbi5zZXNzaW9uc0RyYXdlck9wZW4pLEN2KCl9ZnVuY3Rpb24gQnYoKXt2YXIgZT1QZSgpO2lmKCFlKXt2YXIgdD1uLnNpZGViYXJQaW5uZWQ/ITE6IW4uc2Vzc2lvbnNEcmF3ZXJPcGVuO24uc2Vzc2lvbnNEcmF3ZXJPcGVuPXQsdCYmKG4uc2lkZWJhckNvbGxhcHNlZD0hMSxrZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsITEpKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSx0bigpLElyKCk7cmV0dXJufWlmKG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSFuLnNlc3Npb25zRHJhd2VyT3BlbixrZSgid2FuZC1zaWRlYmFyLW9wZW4iLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuKSxuLnNlc3Npb25zRHJhd2VyT3Blbil7bi5maWxlUGFuZWxPcGVuPSExO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1maWxlLXBhbmVsLW9wZW4iLCJmYWxzZSIpfWNhdGNoe319dG4oKX1mdW5jdGlvbiBTcigpe3ZhciBlPVBlKCk7aWYoIWUpe2lmKCFuLnNpZGViYXJQaW5uZWQmJiFuLnNlc3Npb25zRHJhd2VyT3BlbilyZXR1cm47QnIoKSxuLnNpZGViYXJQaW5uZWQ9ITEsbi5zZXNzaW9uc0RyYXdlck9wZW49ITEsa2UoIndhbmQtc2lkZWJhci1waW5uZWQiLCExKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx0bigpLElyKCk7cmV0dXJufW4uc2Vzc2lvbnNEcmF3ZXJPcGVuJiYoQnIoKSxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx0bigpKX1mdW5jdGlvbiBEdigpe2lmKFBlKCkpe1NyKCk7cmV0dXJufW4uc2lkZWJhclBpbm5lZHx8bi5zaWRlYmFyQ29sbGFwc2VkfHwhbi5zZXNzaW9uc0RyYXdlck9wZW58fChCcigpLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSExLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsITEpLHRuKCksSXIoKSl9ZnVuY3Rpb24gWW8oZSl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbXBvc2VyLXBsdXMtcG9wb3ZlciIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF0dGFjaC1idG4iKTtuLnBsdXNQb3BvdmVyT3Blbj0hIWUsdCYmdC5jbGFzc0xpc3QudG9nZ2xlKCJoaWRkZW4iLCFlKSxyJiYoci5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLCEhZSksci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGU/InRydWUiOiJmYWxzZSIpKX1mdW5jdGlvbiBrdigpe1lvKCFuLnBsdXNQb3BvdmVyT3Blbil9ZnVuY3Rpb24gRWkoKXtuLnBsdXNQb3BvdmVyT3BlbiYmWW8oITEpfWZ1bmN0aW9uIFd0KCl7UGUoKSYmbi5zZXNzaW9uc0RyYXdlck9wZW4mJlNyKCl9ZnVuY3Rpb24gSXIoKXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIubWFpbi1sYXlvdXQiKTtpZihlKXt2YXIgdD1mdW5jdGlvbihyKXtyLnByb3BlcnR5TmFtZT09PSJwYWRkaW5nLWxlZnQiJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0KSxPdCghMCkpfTtlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHQpfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtPdCghMCl9LDM1MCl9dmFyIHp0PW51bGw7ZnVuY3Rpb24gQXYoKXtyZXR1cm4genQmJmRvY3VtZW50LmJvZHkuY29udGFpbnMoenQpfHwoenQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksenQuY2xhc3NOYW1lPSJzaWRlYmFyLXRpbGUtYnViYmxlIix6dC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0b29sdGlwIiksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh6dCkpLHp0fWZ1bmN0aW9uICR0KCl7enQmJnp0LmNsYXNzTGlzdC5yZW1vdmUoInZpc2libGUiKX1mdW5jdGlvbiB4dihlLHQpe2lmKCF0KXskdCgpO3JldHVybn12YXIgcj1BdigpO3IudGV4dENvbnRlbnQ9dC5sZW5ndGg+NDAwP3Quc2xpY2UoMCw0MDApKyJcdTIwMjYiOnQ7dmFyIGk9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKTt2YXIgYT1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHU9aS50b3AraS5oZWlnaHQvMixzPXUtYS5oZWlnaHQvMixvPTgsbD13aW5kb3cuaW5uZXJIZWlnaHQtYS5oZWlnaHQtODtzPG8mJihzPW8pLHM+bCYmKHM9TWF0aC5tYXgobyxsKSksci5zdHlsZS5sZWZ0PWkucmlnaHQrMTIrInB4IixyLnN0eWxlLnRvcD1zKyJweCIsci5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1idWJibGUtdGFpbC15Iix1LXMrInB4Iil9ZnVuY3Rpb24gU3YoZSl7aWYoZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZCl7dmFyIHQ9bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZFNlc3Npb25JZH0pO2lmKCF0KXJldHVybiIiO3ZhciByPWhjKHQpO3JldHVybiByfHx0LnN1bW1hcnl8fHQuY29tbWFuZHx8IiJ9aWYoZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZCl7dmFyIGk9bi5jbGF1ZGVIaXN0b3J5LmZpbmQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhdWRlU2Vzc2lvbklkPT09ZS5kYXRhc2V0LmNvbGxhcHNlZEhpc3RvcnlJZH0pO2lmKGkmJmkuZmlyc3RVc2VyTWVzc2FnZSlyZXR1cm4gaS5maXJzdFVzZXJNZXNzYWdlfXJldHVybiIifWZ1bmN0aW9uIEl2KGUpe3ZhciB0PWUudGFyZ2V0O2lmKCEoIXR8fCEodCBpbnN0YW5jZW9mIEVsZW1lbnQpKSl7dmFyIHI9dC5jbG9zZXN0KCIuc2lkZWJhci1jb2xsYXBzZWQtdGlsZSIpO2lmKCFyKXskdCgpO3JldHVybn12YXIgaT1TdihyKTtpZighaSl7JHQoKTtyZXR1cm59eHYocixpKX19ZnVuY3Rpb24gVHYoZSl7dmFyIHQ9ZS5yZWxhdGVkVGFyZ2V0O3QmJnQgaW5zdGFuY2VvZiBFbGVtZW50JiZ0LmNsb3Nlc3QoIi5zaWRlYmFyLWNvbGxhcHNlZC10aWxlIil8fCR0KCl9ZnVuY3Rpb24gTHYoKXt2YXIgZT1QZSgpO24uc2lkZWJhclBpbm5lZHx8KG4uc2lkZWJhclBpbm5lZD0hMCxrZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsITApKSxuLnNpZGViYXJDb2xsYXBzZWQ9IW4uc2lkZWJhckNvbGxhcHNlZCxrZSgid2FuZC1zaWRlYmFyLWNvbGxhcHNlZCIsbi5zaWRlYmFyQ29sbGFwc2VkKSxuLnNpZGViYXJDb2xsYXBzZWQ/bi5zZXNzaW9uc0RyYXdlck9wZW49ITE6ZT8obi5zaWRlYmFyUGlubmVkPSExLG4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLGtlKCJ3YW5kLXNpZGViYXItcGlubmVkIiwhMSkpOm4uc2Vzc2lvbnNEcmF3ZXJPcGVuPSEwLGtlKCJ3YW5kLXNpZGViYXItb3BlbiIsbi5zZXNzaW9uc0RyYXdlck9wZW4pLHRuKCksdmUoKSxxdigpLCR0KCksSXIoKX1mdW5jdGlvbiBNdigpe1BlKCl8fChuLnNpZGViYXJQaW5uZWQ9IW4uc2lkZWJhclBpbm5lZCxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMCxrZSgid2FuZC1zaWRlYmFyLXBpbm5lZCIsbi5zaWRlYmFyUGlubmVkKSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCEwKSx0bigpLElyKCkpfWZ1bmN0aW9uIHF2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpZGViYXItY29sbGFwc2UtYnRuIik7aWYoZSl7dmFyIHQ9ISFuLnNpZGViYXJQaW5uZWQmJiEhbi5zaWRlYmFyQ29sbGFwc2VkO2UuY2xhc3NMaXN0LnRvZ2dsZSgiY29sbGFwc2VkIix0KSxlLnRpdGxlPXQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIsZS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQ/Ilx1NUM1NVx1NUYwMFx1NEZBN1x1NjgwRiI6Ilx1NjUzNlx1OEQ3N1x1NEUzQVx1N0E4NFx1Njc2MSIpLGUuaW5uZXJIVE1MPXQ/Jzxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBvbHlsaW5lIHBvaW50cz0iMTAgNiAxNiAxMiAxMCAxOCIvPjxsaW5lIHgxPSIyMCIgeTE9IjUiIHgyPSIyMCIgeTI9IjE5Ii8+PC9zdmc+JzonPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi40IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cG9seWxpbmUgcG9pbnRzPSIxNCA2IDggMTIgMTQgMTgiLz48bGluZSB4MT0iNCIgeTE9IjUiIHgyPSI0IiB5Mj0iMTkiLz48L3N2Zz4nfX1mdW5jdGlvbiBPdihlKXtpZihlKXtlLnN0eWxlLmxlZnQ9IiIsZS5zdHlsZS5yaWdodD0iIjt2YXIgdD1lLm9mZnNldFBhcmVudHx8ZS5wYXJlbnRFbGVtZW50O2lmKHQpe3ZhciByPTgsaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PXdpbmRvdy5pbm5lcldpZHRoO2EubGVmdDxyPyhlLnN0eWxlLnJpZ2h0PSJhdXRvIixlLnN0eWxlLmxlZnQ9ci1pLmxlZnQrInB4Iik6YS5yaWdodD51LXImJihlLnN0eWxlLmxlZnQ9ImF1dG8iLGUuc3R5bGUucmlnaHQ9aS5yaWdodC0odS1yKSsicHgiKX19fWZ1bmN0aW9uIFZhKCl7UW4oKSxuLm1vZGFsT3Blbj0hMCxuLnNlc3Npb25zRHJhd2VyT3Blbj0hMSxrZSgid2FuZC1zaWRlYmFyLW9wZW4iLCExKSx4cigpO3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7ZSYmKGUuX3dhbmRDbG9zZVRpbWVyJiYoY2xlYXJUaW1lb3V0KGUuX3dhbmRDbG9zZVRpbWVyKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsKSxlLmNsYXNzTGlzdC5yZW1vdmUoImNsb3NpbmciKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG4ubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbi5zZXNzaW9uVG9vbD12dCgpLG4ucHJlZmVycmVkQ29tbWFuZD1uLnNlc3Npb25Ub29sLG4uc2Vzc2lvbkNyZWF0ZUtpbmQ9InN0cnVjdHVyZWQiLG4uc2Vzc2lvbkNyZWF0ZVdvcmt0cmVlPSExLG4ubW9kZVZhbHVlPU50KG4uc2Vzc2lvblRvb2wsbi5tb2RlVmFsdWV8fG4uY2hhdE1vZGUpLGtyKCksdW0oKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGUtY2FyZHMiKTt0JiZ0LmZvY3VzKCl9LDIwKSxGaShlKSl9ZnVuY3Rpb24gcG4oKXtuLm1vZGFsT3Blbj0hMTt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Vzc2lvbi1tb2RhbCIpO2UmJihuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxuLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIG4ubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpLFVhKGUpKSxYbigpfWZ1bmN0aW9uIFVhKGUpe2lmKGUmJiFlLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpe3ZhciB0PSExO3RyeXt0PXdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzfWNhdGNoe31pZih0fHxkb2N1bWVudC5oaWRkZW4pe2UuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWUuX3dhbmRDbG9zZVRpbWVyJiYoY2xlYXJUaW1lb3V0KGUuX3dhbmRDbG9zZVRpbWVyKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsKSxlLmNsYXNzTGlzdC5hZGQoImNsb3NpbmciKSxlLl93YW5kQ2xvc2VUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5jbGFzc0xpc3QucmVtb3ZlKCJjbG9zaW5nIiksZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLl93YW5kQ2xvc2VUaW1lcj1udWxsfSwxNzApfX1mdW5jdGlvbiBGaShlKXtuLmZvY3VzVHJhcEhhbmRsZXImJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLG4uZm9jdXNUcmFwSGFuZGxlcik7dmFyIHQ9J2J1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlucHV0Om5vdChbZGlzYWJsZWRdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBhW2hyZWZdLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJztuLmZvY3VzVHJhcEhhbmRsZXI9ZnVuY3Rpb24ocil7aWYoci5rZXk9PT0iVGFiIil7dmFyIGk9ZS5xdWVyeVNlbGVjdG9yQWxsKHQpLGE9aVswXSx1PWlbaS5sZW5ndGgtMV07IWF8fCF1fHwoci5zaGlmdEtleT9kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSYmKHIucHJldmVudERlZmF1bHQoKSx1LmZvY3VzKCkpOmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT11JiYoci5wcmV2ZW50RGVmYXVsdCgpLGEuZm9jdXMoKSkpfX0sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbi5mb2N1c1RyYXBIYW5kbGVyKX1mdW5jdGlvbiBQdigpe3JldHVybiBuLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQmJm4uc2Vzc2lvbnMuZmluZChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZD09PW4uYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZH0pfHxudWxsfWZ1bmN0aW9uIFRyKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWNvbnRlbnQiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1jb25maXJtLWJ1dHRvbiIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLWVycm9yIiksaT1QdigpLGE9bi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ7aWYoISghZXx8IXQpKXtpZighaXx8IWkud29ya3RyZWUpe2UuaW5uZXJIVE1MPSc8cCBjbGFzcz0iZmllbGQtaGludCI+XHU2NzJBXHU2MjdFXHU1MjMwXHU1M0VGXHU1NDA4XHU1RTc2XHU3Njg0IHdvcmt0cmVlIFx1NEYxQVx1OEJERFx1MzAwMjwvcD4nLHQuZGlzYWJsZWQ9ITA7cmV0dXJufXImJihuLndvcmt0cmVlTWVyZ2VFcnJvcj9OZShyLG4ud29ya3RyZWVNZXJnZUVycm9yKTp0aShyKSk7dmFyIHU9Wyc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1Njc2NVx1NkU5MFx1NTIwNlx1NjUyRjwvc3Bhbj48c3Ryb25nPicrcChpLndvcmt0cmVlLmJyYW5jaHx8Ii0iKSsiPC9zdHJvbmc+PC9kaXY+IiwnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTVERTVcdTRGNUNcdTc2RUVcdTVGNTU8L3NwYW4+PHN0cm9uZz4nK3AoaS53b3JrdHJlZS5wYXRofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iXTthPyh1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU3NkVFXHU2ODA3XHU1MjA2XHU2NTJGPC9zcGFuPjxzdHJvbmc+JytwKGEudGFyZ2V0QnJhbmNofHwiLSIpKyI8L3N0cm9uZz48L2Rpdj4iKSx1LnB1c2goJzxkaXYgY2xhc3M9Indvcmt0cmVlLW1lcmdlLXJvdyI+PHNwYW4+XHU1Rjg1XHU1NDA4XHU1RTc2XHU2M0QwXHU0RUE0PC9zcGFuPjxzdHJvbmc+JytwKFN0cmluZyhhLmFoZWFkQ291bnR8fDApKSsiPC9zdHJvbmc+PC9kaXY+IiksdS5wdXNoKCc8ZGl2IGNsYXNzPSJ3b3JrdHJlZS1tZXJnZS1yb3ciPjxzcGFuPlx1NjcyQVx1NjNEMFx1NEVBNFx1NjUzOVx1NTJBODwvc3Bhbj48c3Ryb25nPicrcChhLmhhc1VuY29tbWl0dGVkQ2hhbmdlcz8iXHU2NzA5IjoiXHU2NUUwIikrIjwvc3Ryb25nPjwvZGl2PiIpLHUucHVzaCgnPGRpdiBjbGFzcz0id29ya3RyZWUtbWVyZ2Utcm93Ij48c3Bhbj5cdTUxQjJcdTdBODFcdTk4Q0VcdTk2Njk8L3NwYW4+PHN0cm9uZz4nK3AoYS5oYXNDb25mbGljdHM/Ilx1NjcwOSI6Ilx1NjVFMCIpKyI8L3N0cm9uZz48L2Rpdj4iKSxhLnJlYXNvbiYmdS5wdXNoKCc8cCBjbGFzcz0iZmllbGQtaGludCI+JytwKGEucmVhc29uKSsiPC9wPiIpKTpuLndvcmt0cmVlTWVyZ2VMb2FkaW5nJiZ1LnB1c2goJzxwIGNsYXNzPSJmaWVsZC1oaW50Ij5cdTZCNjNcdTU3MjhcdTY4QzBcdTY3RTUgd29ya3RyZWUgXHU1NDA4XHU1RTc2XHU3MkI2XHU2MDAxXHUyMDI2PC9wPicpLGUuaW5uZXJIVE1MPXUuam9pbigiIiksdC5kaXNhYmxlZD1uLndvcmt0cmVlTWVyZ2VMb2FkaW5nfHxuLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nfHwhYXx8YS5vayE9PSEwLHQudGV4dENvbnRlbnQ9bi53b3JrdHJlZU1lcmdlU3VibWl0dGluZz8iXHU1NDA4XHU1RTc2XHU0RTJELi4uIjoiXHU3ODZFXHU4QkE0XHU1NDA4XHU1RTc2XHU1RTc2XHU2RTA1XHU3NDA2In19ZnVuY3Rpb24gR28oZSl7bi5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPWUsbi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxuLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSEwLG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIscG4oKSxRbigpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3b3JrdHJlZS1tZXJnZS1tb2RhbCIpO3QmJih0LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLG4ubGFzdEZvY3VzZWRFbGVtZW50PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsRmkodCkpLFRyKCksZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi93b3JrdHJlZS9tZXJnZS9jaGVjayIse21ldGhvZDoiUE9TVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyJiZyLmVycm9yKXRocm93IG5ldyBFcnJvcihyLmVycm9yKTtyJiZyLnNlc3Npb24mJlooci5zZXNzaW9uKSxuLndvcmt0cmVlTWVyZ2VDaGVja1Jlc3VsdD1yLnJlc3VsdHx8bnVsbCxuLndvcmt0cmVlTWVyZ2VFcnJvcj0iIn0pLmNhdGNoKGZ1bmN0aW9uKHIpe24ud29ya3RyZWVNZXJnZUVycm9yPXImJnIubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NjhDMFx1NjdFNSB3b3JrdHJlZSBcdTU0MDhcdTVFNzZcdTcyQjZcdTYwMDFcdTMwMDIifSkuZmluYWxseShmdW5jdGlvbigpe24ud29ya3RyZWVNZXJnZUxvYWRpbmc9ITEsVHIoKX0pfWZ1bmN0aW9uIEduKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndvcmt0cmVlLW1lcmdlLW1vZGFsIik7bi5hY3RpdmVXb3JrdHJlZU1lcmdlU2Vzc2lvbklkPW51bGwsbi53b3JrdHJlZU1lcmdlQ2hlY2tSZXN1bHQ9bnVsbCxuLndvcmt0cmVlTWVyZ2VMb2FkaW5nPSExLG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITEsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIsZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxuLmZvY3VzVHJhcEhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIixuLmZvY3VzVHJhcEhhbmRsZXIpLG4uZm9jdXNUcmFwSGFuZGxlcj1udWxsKSxuLmxhc3RGb2N1c2VkRWxlbWVudCYmdHlwZW9mIG4ubGFzdEZvY3VzZWRFbGVtZW50LmZvY3VzPT0iZnVuY3Rpb24iJiZuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cygpfWZ1bmN0aW9uIEh2KCl7IW4uYWN0aXZlV29ya3RyZWVNZXJnZVNlc3Npb25JZHx8bi53b3JrdHJlZU1lcmdlU3VibWl0dGluZ3x8KG4ud29ya3RyZWVNZXJnZVN1Ym1pdHRpbmc9ITAsbi53b3JrdHJlZU1lcmdlRXJyb3I9IiIsVHIoKSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChuLmFjdGl2ZVdvcmt0cmVlTWVyZ2VTZXNzaW9uSWQpKyIvd29ya3RyZWUvbWVyZ2UiLHttZXRob2Q6IlBPU1QiLGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHt9KX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlJiZlLmVycm9yKXRocm93IG5ldyBFcnJvcihlLmVycm9yKTtyZXR1cm4gZSYmZS5zZXNzaW9uJiZaKGUuc2Vzc2lvbiksaygiXHU1REYyXHU1NDA4XHU1RTc2XHU1MjMwICIrcChlLnJlc3VsdCYmZS5yZXN1bHQudGFyZ2V0QnJhbmNofHwiXHU0RTNCXHU1MjA2XHU2NTJGIikrKGUucmVzdWx0JiZlLnJlc3VsdC5jbGVhbnVwRG9uZT09PSExPyJcdUZGMENcdTRGNDZcdTVERTVcdTRGNUNcdTY4MTFcdTVGODVcdTZFMDVcdTc0MDZcdTMwMDIiOiJcdTMwMDIiKSwiaW5mbyIpLEduKCksanQoKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe24ud29ya3RyZWVNZXJnZUVycm9yPWUmJmUubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQwOFx1NUU3NiB3b3JrdHJlZVx1MzAwMiIsVHIoKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtuLndvcmt0cmVlTWVyZ2VTdWJtaXR0aW5nPSExLFRyKCl9KSl9ZnVuY3Rpb24gUW8oZSl7ZmV0Y2goIi9hcGkvc2Vzc2lvbnMvIitlbmNvZGVVUklDb21wb25lbnQoZSkrIi93b3JrdHJlZS9jbGVhbnVwIix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdC5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHQpe2lmKHQmJnQuZXJyb3IpdGhyb3cgbmV3IEVycm9yKHQuZXJyb3IpO3JldHVybiB0JiZ0LnNlc3Npb24mJloodC5zZXNzaW9uKSxrKCJcdTVERjJcdTVCOENcdTYyMTAgd29ya3RyZWUgXHU2RTA1XHU3NDA2XHUzMDAyIiwiaW5mbyIpLGp0KCl9KS5jYXRjaChmdW5jdGlvbih0KXtrKHQmJnQubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NkUwNVx1NzQwNiB3b3JrdHJlZVx1MzAwMiIsImVycm9yIil9KX1mdW5jdGlvbiBfdigpe3BuKCk7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLW1vZGFsIik7aWYoZSl7ZS5fd2FuZENsb3NlVGltZXImJihjbGVhclRpbWVvdXQoZS5fd2FuZENsb3NlVGltZXIpLGUuX3dhbmRDbG9zZVRpbWVyPW51bGwpLGUuY2xhc3NMaXN0LnJlbW92ZSgiY2xvc2luZyIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksbi5sYXN0Rm9jdXNlZEVsZW1lbnQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmV3LXBhc3N3b3JkIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpO3QmJih0LnZhbHVlPSIiKSxyJiYoci52YWx1ZT0iIiksJG8oKSxGaShlKSxOdigpLEthKCJhYm91dCIpLFZ2KCk7dmFyIGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1zb3VuZCIpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi1idWJibGUiKTtpJiYoaS5jaGVja2VkPW4ubm90aWZTb3VuZCksYSYmKGEuY2hlY2tlZD1uLm5vdGlmQnViYmxlKTt2YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW5vdGlmLXZvbHVtZSIpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1ub3RpZi12b2x1bWUtdmFsIik7aWYodSl7dS52YWx1ZT1uLm5vdGlmVm9sdW1lLHMmJihzLnRleHRDb250ZW50PW4ubm90aWZWb2x1bWUrIiUiKTt0cnl7dS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiLHtidWJibGVzOiEwfSkpfWNhdGNoe319dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmLXZvbHVtZS1maWVsZCIpO2lmKG8mJihvLnN0eWxlLmRpc3BsYXk9bi5ub3RpZlNvdW5kPyIiOiJub25lIiksbW4oKSx0eXBlb2YgV2FuZE5hdGl2ZTwidSImJnR5cGVvZiBXYW5kTmF0aXZlLmdldEFwcEljb249PSJmdW5jdGlvbiIpdHJ5e2VsKFdhbmROYXRpdmUuZ2V0QXBwSWNvbigpfHwic2hvcnRoYWlyIil9Y2F0Y2h7fWlmKEhlJiZ0eXBlb2YgV2FuZE5hdGl2ZS5nZXROb3RpZmljYXRpb25Tb3VuZD09ImZ1bmN0aW9uIil0cnl7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdGl2ZS1zb3VuZC1zZWxlY3QiKTtsJiYobC52YWx1ZT1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblNvdW5kKCkpfWNhdGNoe31pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuZ2V0Tm90aWZpY2F0aW9uVm9sdW1lPT0iZnVuY3Rpb24iKXRyeXt2YXIgYz1XYW5kTmF0aXZlLmdldE5vdGlmaWNhdGlvblZvbHVtZSgpO2lmKG4ubm90aWZWb2x1bWU9Yyx1JiYodS52YWx1ZT1TdHJpbmcoYykpLHMmJihzLnRleHRDb250ZW50PWMrIiUiKSx1KXRyeXt1LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIse2J1YmJsZXM6ITB9KSl9Y2F0Y2h7fXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1ub3RpZi12b2x1bWUiLFN0cmluZyhjKSl9Y2F0Y2h7fX1jYXRjaHt9aWYoSGUmJnR5cGVvZiBXYW5kTmF0aXZlLmlzSGFwdGljRW5hYmxlZD09ImZ1bmN0aW9uIil0cnl7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1oYXB0aWMtZW5hYmxlZCIpO2QmJihkLmNoZWNrZWQ9V2FuZE5hdGl2ZS5pc0hhcHRpY0VuYWJsZWQoKSl9Y2F0Y2h7fX19ZnVuY3Rpb24gUW4oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbW9kYWwiKTtlJiYobi5mb2N1c1RyYXBIYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbi5mb2N1c1RyYXBIYW5kbGVyKSxuLmZvY3VzVHJhcEhhbmRsZXI9bnVsbCksbi5sYXN0Rm9jdXNlZEVsZW1lbnQmJnR5cGVvZiBuLmxhc3RGb2N1c2VkRWxlbWVudC5mb2N1cz09ImZ1bmN0aW9uIiYmbi5sYXN0Rm9jdXNlZEVsZW1lbnQuZm9jdXMoKSxVYShlKSl9ZnVuY3Rpb24gJG8oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtZXJyb3IiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1zdWNjZXNzIik7ZSYmZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSx0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfWZ1bmN0aW9uIGp2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5ldy1wYXNzd29yZCIpLnZhbHVlLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbmZpcm0tcGFzc3dvcmQiKS52YWx1ZSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1lcnJvciIpLGk9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLXN1Y2Nlc3MiKTtpZigkbygpLCFlfHxlLmxlbmd0aDw2KXtyLnRleHRDb250ZW50PSJcdTVCQzZcdTc4MDFcdTk1N0ZcdTVFQTZcdTgxRjNcdTVDMTFcdTRFM0EgNiBcdTRFMkFcdTVCNTdcdTdCMjZcdTMwMDIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7cmV0dXJufWlmKGUhPT10KXtyLnRleHRDb250ZW50PSJcdTRFMjRcdTZCMjFcdThGOTNcdTUxNjVcdTc2ODRcdTVCQzZcdTc4MDFcdTRFMERcdTRFMDBcdTgxRjRcdTMwMDIiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7cmV0dXJufWZldGNoKCIvYXBpL3NldC1wYXNzd29yZCIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxib2R5OkpTT04uc3RyaW5naWZ5KHtwYXNzd29yZDplfSksY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oYSl7cmV0dXJuIGEuanNvbigpfSkudGhlbihmdW5jdGlvbihhKXtpZihhLmVycm9yKXtyLnRleHRDb250ZW50PWEuZXJyb3Isci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTtyZXR1cm59aS50ZXh0Q29udGVudD0iXHU1QkM2XHU3ODAxXHU0RkVFXHU2NTM5XHU2MjEwXHU1MjlGXHVGRjAxIixpLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuZXctcGFzc3dvcmQiKS52YWx1ZT0iIixkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uZmlybS1wYXNzd29yZCIpLnZhbHVlPSIifSkuY2F0Y2goZnVuY3Rpb24oKXtyLnRleHRDb250ZW50PSJGYWlsZWQgdG8gc2F2ZSBwYXNzd29yZC4iLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9KX1mdW5jdGlvbiBLYShlKXtmb3IodmFyIHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXBhbmVsIiksaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT10W2ldLmdldEF0dHJpYnV0ZSgiZGF0YS10YWIiKT09PWU7YT90W2ldLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOnRbaV0uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksdFtpXS5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLGE/InRydWUiOiJmYWxzZSIpLHRbaV0uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsYT8iMCI6Ii0xIil9Zm9yKHZhciB1PTA7dTxyLmxlbmd0aDt1Kyspe3ZhciBzPXJbdV0uaWQ9PT0ic2V0dGluZ3MtdGFiLSIrZTtzPyhyW3VdLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpLHJbdV0ucmVtb3ZlQXR0cmlidXRlKCJoaWRkZW4iKSk6KHJbdV0uY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIiksclt1XS5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsImhpZGRlbiIpKX19ZnVuY3Rpb24gWG8oZSl7aWYoZSYmIShlLmtleSE9PSJBcnJvd1VwIiYmZS5rZXkhPT0iQXJyb3dEb3duIiYmZS5rZXkhPT0iSG9tZSImJmUua2V5IT09IkVuZCIpKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc2V0dGluZ3MtdGFiIikpO2lmKHQubGVuZ3RoKXt2YXIgcj10LmluZGV4T2YoZS5jdXJyZW50VGFyZ2V0KTtpZihyIT09LTEpe2UucHJldmVudERlZmF1bHQoKTt2YXIgaT1yO2Uua2V5PT09IkFycm93VXAiJiYoaT1yPjA/ci0xOnQubGVuZ3RoLTEpLGUua2V5PT09IkFycm93RG93biImJihpPXI8dC5sZW5ndGgtMT9yKzE6MCksZS5rZXk9PT0iSG9tZSImJihpPTApLGUua2V5PT09IkVuZCImJihpPXQubGVuZ3RoLTEpO3ZhciBhPXRbaV07aWYoYSl7dmFyIHU9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGFiIik7dSYmS2EodSksdHlwZW9mIGEuZm9jdXM9PSJmdW5jdGlvbiImJmEuZm9jdXMoKX19fX19ZnVuY3Rpb24gTnYoKXtmb3IodmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLnNldHRpbmdzLXRhYiIpLHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLFhvKSxlW3RdLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLFhvKX1mdW5jdGlvbiBSdihlKXtpZihlKXt2YXIgdD1lLmNvbmZpZ3x8e30scj17YWJvdXQ6ZS52ZXJzaW9uPyJcdTVGNTNcdTUyNEQgdiIrZS52ZXJzaW9uOiJcdTcyNDhcdTY3MkNcdTRFMEVcdTY2RjRcdTY1QjBcdTRGRTFcdTYwNkYiLGdlbmVyYWw6W3QuZGVmYXVsdE1vZGV8fCJkZWZhdWx0Iix0Lmxhbmd1YWdlfHwiXHU4MUVBXHU1MkE4XHU4QkVEXHU4QTAwIl0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiBceEI3ICIpLG5vdGlmaWNhdGlvbnM6bi5ub3RpZlNvdW5kPyJcdTYzRDBcdTc5M0FcdTk3RjMgIituLm5vdGlmVm9sdW1lKyIlIjoiXHU2M0QwXHU3OTNBXHU5N0YzXHU1REYyXHU1MTczXHU5NUVEIixzZWN1cml0eTplLmhhc0NlcnQ/Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IjoiXHU1QkM2XHU3ODAxXHU0RTBFXHU4QkMxXHU0RTY2XHU3QkExXHU3NDA2IixwcmVzZXRzOnQuY29tbWFuZFByZXNldHMmJnQuY29tbWFuZFByZXNldHMubGVuZ3RoP3QuY29tbWFuZFByZXNldHMubGVuZ3RoKyIgXHU2NzYxXHU5ODg0XHU4QkJFIjoiXHU2NjgyXHU2NUUwXHU5ODg0XHU4QkJFIixkaXNwbGF5OiJcdTYzQTdcdTUyMzZcdTUzNjFcdTcyNDdcdTlFRDhcdThCQTRcdTVDNTVcdTVGMDAifTtmb3IodmFyIGkgaW4gcilpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKSl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnNldHRpbmdzLXRhYltkYXRhLXRhYj0iJytpKyciXSAuc2V0dGluZ3MtdGFiLW1ldGEnKTthJiYoYS50ZXh0Q29udGVudD1yW2ldfHwiIil9fX1mdW5jdGlvbiBXdihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksaT13aW5kb3cuUVJDb2RlTGliO2lmKHQpe2lmKCFpfHx0eXBlb2YgaS50b0NhbnZhcyE9ImZ1bmN0aW9uIil7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NUU5M1x1NjcyQVx1NTJBMFx1OEY3RCIpO3JldHVybn10cnl7aS50b0NhbnZhcyh0LGUse3dpZHRoOjIyMCxtYXJnaW46MSxlcnJvckNvcnJlY3Rpb25MZXZlbDoiTSIsY29sb3I6e2Rhcms6IiMxZjFiMTciLGxpZ2h0OiIjZmZmZmZmMDAifX0sZnVuY3Rpb24oYSl7aWYoYSl7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsci5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiI7cmV0dXJufXImJihyLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0LnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUifSl9Y2F0Y2h7ciYmKHIudGV4dENvbnRlbnQ9Ilx1NEU4Q1x1N0VGNFx1NzgwMVx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsci5zdHlsZS5kaXNwbGF5PSIiKSx0LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9fX1mdW5jdGlvbiB6dihlKXt2YXIgdD13aW5kb3cuUVJDb2RlTGliO2lmKCF0fHx0eXBlb2YgdC50b0NhbnZhcyE9ImZ1bmN0aW9uIilyZXR1cm47dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbm5lY3QtcXItbW9kYWwiKTtyJiZyLnJlbW92ZSgpO3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuaWQ9ImNvbm5lY3QtcXItbW9kYWwiLGkuY2xhc3NOYW1lPSJjb25uZWN0LXFyLW1vZGFsLW92ZXJsYXkiLGkuaW5uZXJIVE1MPSc8ZGl2IGNsYXNzPSJjb25uZWN0LXFyLW1vZGFsLWNhcmQiPjxjYW52YXMgaWQ9ImNvbm5lY3QtcXItbW9kYWwtY2FudmFzIj48L2NhbnZhcz48cCBjbGFzcz0iY29ubmVjdC1xci1tb2RhbC1oaW50Ij5cdTc1MjggV2FuZCBBcHAgXHU2MjZCXHU0RTAwXHU2MjZCXHVGRjBDXHU4RkRFXHU2M0E1XHU1RjUzXHU1MjREXHU2NzBEXHU1MkExXHU1NjY4PC9wPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtIGNvbm5lY3QtcXItbW9kYWwtY2xvc2UiPlx1NTE3M1x1OTVFRDwvYnV0dG9uPjwvZGl2PicsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKTt2YXIgYT1pLnF1ZXJ5U2VsZWN0b3IoIiNjb25uZWN0LXFyLW1vZGFsLWNhbnZhcyIpLHU9TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsd2luZG93LmlubmVySGVpZ2h0KSouNzt1PDI0MCYmKHU9MjQwKSx1PjQ4MCYmKHU9NDgwKTt0cnl7dC50b0NhbnZhcyhhLGUse3dpZHRoOnUsbWFyZ2luOjIsZXJyb3JDb3JyZWN0aW9uTGV2ZWw6Ik0iLGNvbG9yOntkYXJrOiIjMWYxYjE3IixsaWdodDoiI2ZmZmZmZiJ9fSl9Y2F0Y2h7fWZ1bmN0aW9uIHMoKXtpLnJlbW92ZSgpfWkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKGwpe2wudGFyZ2V0PT09aSYmcygpfSk7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuY29ubmVjdC1xci1tb2RhbC1jbG9zZSIpO28mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHMpfWZ1bmN0aW9uIExyKGUsdCxyKXtpZighZSlyZXR1cm47ZnVuY3Rpb24gaSgpe2lmKFZuKCJsaWdodCIpLHIpe3IoKTtyZXR1cm59aWYodCl7dmFyIGE9dC50ZXh0Q29udGVudDt0LnRleHRDb250ZW50PSJcdTVERjJcdTU5MERcdTUyMzYiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnRleHRDb250ZW50PWF9LDE1MDApfX1pZihIZSYmdHlwZW9mIFdhbmROYXRpdmUuY29weVRvQ2xpcGJvYXJkPT0iZnVuY3Rpb24iKXRyeXtpZihXYW5kTmF0aXZlLmNvcHlUb0NsaXBib2FyZChlKT09PSJvayIpe2koKTtyZXR1cm59fWNhdGNoe31uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChlKS50aGVuKGkpLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTthLnZhbHVlPWUsYS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLGEuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxhLnNlbGVjdCgpLGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5IiksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKSxpKCl9KX1mdW5jdGlvbiB2bihlKXtpZih0eXBlb2YgZSE9Im51bWJlciJ8fCFpc0Zpbml0ZShlKXx8ZTwwKXJldHVybiItIjtpZihlPDEwMjQpcmV0dXJuIGUrIiBCIjtmb3IodmFyIHQ9WyJLQiIsIk1CIiwiR0IiLCJUQiJdLHI9ZS8xMDI0LGk9MDtyPj0xMDI0JiZpPHQubGVuZ3RoLTE7KXI9ci8xMDI0LGkrPTE7dmFyIGE9cj49MTA/ci50b0ZpeGVkKDApOnIudG9GaXhlZCgxKTtyZXR1cm4gYSsiICIrdFtpXX1mdW5jdGlvbiBWdigpe2ZldGNoKCIvYXBpL3NldHRpbmdzIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtSdihlKTt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtcGtnLW5hbWUiKSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy12ZXJzaW9uIiksaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3Mtbm9kZS1yZXEiKSxhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1yZXBvLXVybCIpO3QmJih0LnRleHRDb250ZW50PWUucGFja2FnZU5hbWV8fCItIiksciYmKHIudGV4dENvbnRlbnQ9ZS52ZXJzaW9ufHwiLSIpLGkmJihpLnRleHRDb250ZW50PWUubm9kZVZlcnNpb258fCItIiksYSYmZS5yZXBvVXJsJiYoYS5pbm5lckhUTUw9JzxhIGhyZWY9IicrcChlLnJlcG9VcmwpKyciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4nK3AoZS5yZXBvVXJsKSsiPC9hPiIpO3ZhciB1PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1sYXRlc3QtdmVyc2lvbiIpLHM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvLXVwZGF0ZS1idXR0b24iKTtlLmxhdGVzdFZlcnNpb24mJnUmJih1LnRleHRDb250ZW50PWUubGF0ZXN0VmVyc2lvbixlLnVwZGF0ZUF2YWlsYWJsZSYmcyYmcy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTtvJiYoby5jaGVja2VkPWUudXBkYXRlQ2hhbm5lbD09PSJiZXRhIik7dmFyIGw9ZS5hdXRvVXBkYXRlfHx7fSxjPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS13ZWItdG9nZ2xlIik7YyYmKGMuY2hlY2tlZD0hIWwud2ViKTt2YXIgZD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtYXBrLXRvZ2dsZSIpO2QmJihkLmNoZWNrZWQ9ISFEbiYmISFsLmFwayk7dmFyIGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWRtZy10b2dnbGUiKTtmJiYoZi5jaGVja2VkPSEhcm4mJiEhbC5kbWcpO2Z1bmN0aW9uIHYoZWUseGUpe3R5cGVvZiB3aW5kb3cud2FuZEFsZXJ0PT0iZnVuY3Rpb24iP3dpbmRvdy53YW5kQWxlcnQoZWUse3R5cGU6eGU9PT0iZXJyb3IiPyJkYW5nZXIiOiJpbmZvIn0pOnR5cGVvZiBrPT0iZnVuY3Rpb24iP2soZWUseGU9PT0iZXJyb3IiPyJlcnJvciI6ImluZm8iKTp4ZT09PSJlcnJvciImJmFsZXJ0KGVlKX1mdW5jdGlvbiBtKGVlLHhlLFNlKXt2YXIgeXQ9U2U/U2UudGV4dENvbnRlbnQ6IiI7U2UmJihTZS5kaXNhYmxlZD0hMCxTZS50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEXHU0RTJEXHUyMDI2Iik7ZnVuY3Rpb24gZHQoKXtTZSYmKFNlLmRpc2FibGVkPSExLFNlLnRleHRDb250ZW50PXl0KX1mZXRjaChlZSx7bWV0aG9kOiJIRUFEIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihwZSl7aWYoIXBlLm9rKXt2KHBlLnN0YXR1cz09PTQwND8iXHU0RTBCXHU4RjdEXHU2NzJBXHU1NDJGXHU3NTI4XHU2MjE2XHU2NTg3XHU0RUY2XHU1REYyXHU3OUZCXHU5NjY0IjoiXHU0RTBCXHU4RjdEXHU1OTMxXHU4RDI1IChIVFRQICIrcGUuc3RhdHVzKyIpIiwiZXJyb3IiKSxkdCgpO3JldHVybn12YXIgWGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1hlLmhyZWY9ZWUsWGUuZG93bmxvYWQ9eGV8fCIiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoWGUpLFhlLmNsaWNrKCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChYZSksdigiXHU1REYyXHU1RjAwXHU1OUNCXHU0RTBCXHU4RjdEXHVGRjBDXHU4QkY3XHU1NzI4XHU5MDFBXHU3N0U1XHU2ODBGL1x1NEUwQlx1OEY3RFx1N0JBMVx1NzQwNlx1NEUyRFx1NjdFNVx1NzcwQiIsImluZm8iKSxkdCgpfSkuY2F0Y2goZnVuY3Rpb24ocGUpe3YoIlx1NEUwQlx1OEY3RFx1NTkzMVx1OEQyNTogIisocGUmJnBlLm1lc3NhZ2U/cGUubWVzc2FnZTpwZSksImVycm9yIiksZHQoKX0pfWZ1bmN0aW9uIGIoZWUseGUpe2Z1bmN0aW9uIFNlKGJ0KXtyZXR1cm4gU3RyaW5nKGJ0fHwiIikucmVwbGFjZSgvXnYvLCIiKS5zcGxpdCgiLSIpWzBdLnNwbGl0KCIuIikubWFwKGZ1bmN0aW9uKFpuKXtyZXR1cm4gcGFyc2VJbnQoWm4sMTApfHwwfSl9Zm9yKHZhciB5dD1TZShlZSksZHQ9U2UoeGUpLHBlPTA7cGU8MztwZSsrKXt2YXIgWGU9KHl0W3BlXXx8MCktKGR0W3BlXXx8MCk7aWYoWGUhPT0wKXJldHVybiBYZT4wPzE6LTF9cmV0dXJuIDB9ZnVuY3Rpb24gZyhlZSx4ZSxTZSx5dCxkdCl7ZWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksZWUuZGlzYWJsZWQ9ITEseGU+MD9lZS50ZXh0Q29udGVudD0iXHU1MzQ3XHU3RUE3Ijp4ZT09PTA/KGVlLnRleHRDb250ZW50PSJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAiLGVlLmRpc2FibGVkPSEwKTplZS50ZXh0Q29udGVudD0iXHU5MUNEXHU2NUIwXHU1Qjg5XHU4OEM1IixlZS5vbmNsaWNrPWVlLmRpc2FibGVkP251bGw6ZnVuY3Rpb24oKXt0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZShTZSx5dCxkdCl9Y2F0Y2gocGUpe3YoIlx1OEMwM1x1NzUyOFx1NEUwQlx1OEY3RFx1NTkzMVx1OEQyNTogIisocGUmJnBlLm1lc3NhZ2U/cGUubWVzc2FnZTpwZSksImVycm9yIil9fX12YXIgeT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hcGstc2VjdGlvbiIpLHc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWN1cnJlbnQtcm93IiksRj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtYW5kcm9pZC1hcGstY3VycmVudCIpLEU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWdpdGh1Yi1yb3ciKSxBPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1hbmRyb2lkLWFway1naXRodWIiKSx4PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkb3dubG9hZC1naXRodWItYXBrLWJ0biIpLFM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLWxvY2FsLXJvdyIpLFA9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWFuZHJvaWQtYXBrLWxvY2FsIiksej1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG93bmxvYWQtbG9jYWwtYXBrLWJ0biIpLEc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtYXBrLW1lc3NhZ2UiKSxMPWUuYW5kcm9pZEFwa3x8e30sQj0hIURuLFQ9TC5lbmFibGVkIT09ITEsST1CfHxUJiYoISFMLmdpdGh1Ynx8ISFMLmxvY2FsKTtpZih5JiYoST95LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOnkuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIikpLEIpe2lmKHcmJkYmJihGLnRleHRDb250ZW50PSJ2IitEbix3LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxMLmdpdGh1YiYmRSYmQSl7dmFyIFY9TC5naXRodWIudmVyc2lvbj8idiIrTC5naXRodWIudmVyc2lvbjpMLmdpdGh1Yi5maWxlTmFtZTtpZih0eXBlb2YgTC5naXRodWIuc2l6ZT09Im51bWJlciImJihWKz0iIFx4QjcgIit2bihMLmdpdGh1Yi5zaXplKSksQS50ZXh0Q29udGVudD1WLEUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseCl7dmFyIHJlPUwuZ2l0aHViLnZlcnNpb24/YihMLmdpdGh1Yi52ZXJzaW9uLERuKToxO2coeCxyZSxMLmdpdGh1Yi5kb3dubG9hZFVybCxMLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsImdpdGh1YiIpfX1pZihMLmxvY2FsJiZTJiZQKXt2YXIgdGU9TC5sb2NhbC52ZXJzaW9uPyJ2IitMLmxvY2FsLnZlcnNpb246TC5sb2NhbC5maWxlTmFtZTtpZih0eXBlb2YgTC5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKHRlKz0iIFx4QjcgIit2bihMLmxvY2FsLnNpemUpKSxQLnRleHRDb250ZW50PXRlLFMuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseil7dmFyICQ9TC5sb2NhbC52ZXJzaW9uP2IoTC5sb2NhbC52ZXJzaW9uLERuKToxO2coeiwkLEwubG9jYWwuZG93bmxvYWRVcmwsTC5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIsImxvY2FsIil9fSFMLmdpdGh1YiYmIUwubG9jYWwmJkcmJihHLnRleHRDb250ZW50PSJcdTY2ODJcdTY1RTBcdTUzRUZcdTc1MjhcdTY2RjRcdTY1QjAiLEcuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO3ZhciBpZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1hdXRvLXVwZGF0ZS1yb3ciKSxVPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWF1dG8tdXBkYXRlLWhpbnQiKTtpZSYmaWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksVSYmVS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX1lbHNle2lmKEwuZ2l0aHViJiZFJiZBKXt2YXIgTT1MLmdpdGh1Yi52ZXJzaW9uPyJ2IitMLmdpdGh1Yi52ZXJzaW9uOkwuZ2l0aHViLmZpbGVOYW1lO3R5cGVvZiBMLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKE0rPSIgXHhCNyAiK3ZuKEwuZ2l0aHViLnNpemUpKSxBLnRleHRDb250ZW50PU0sRS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx4JiYoeC50ZXh0Q29udGVudD0iXHU0RTBCXHU4RjdEIix4LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLHgub25jbGljaz1mdW5jdGlvbigpe3dpbmRvdy5vcGVuKEwuZ2l0aHViLmRvd25sb2FkVXJsLCJfYmxhbmsiKSx2KCJcdTZCNjNcdTU3MjhcdTYyNTNcdTVGMDBcdTRFMEJcdThGN0RcdTk4NzVcdTIwMjYiLCJpbmZvIil9KX1pZihMLmxvY2FsJiZTJiZQKXt2YXIgSD1MLmxvY2FsLnZlcnNpb24/InYiK0wubG9jYWwudmVyc2lvbjpMLmxvY2FsLmZpbGVOYW1lO3R5cGVvZiBMLmxvY2FsLnNpemU9PSJudW1iZXIiJiYoSCs9IiBceEI3ICIrdm4oTC5sb2NhbC5zaXplKSksUC50ZXh0Q29udGVudD1ILFMuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikseiYmKHoudGV4dENvbnRlbnQ9Ilx1NEUwQlx1OEY3RCIsei5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx6Lm9uY2xpY2s9ZnVuY3Rpb24oKXttKEwubG9jYWwuZG93bmxvYWRVcmwsTC5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmFwayIseil9KX0hTC5naXRodWImJiFMLmxvY2FsJiZHJiYoRy50ZXh0Q29udGVudD1UPyJcdTU3MjhcdTdFQkZcdTcyNDhcdTY3MkNcdTY2ODJcdTY1RjZcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjVcdUZGMENcdTUzRUZcdTdBMERcdTU0MEVcdTkxQ0RcdThCRDUiOiJBbmRyb2lkIFx1NEUwQlx1OEY3RFx1NjcyQVx1NTcyOFx1NjcwRFx1NTJBMVx1N0FFRlx1NTQyRlx1NzUyOCIsRy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIE49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1zZWN0aW9uIiksWT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLWN1cnJlbnQtcm93IiksSz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWN1cnJlbnQiKSxYPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1kbWctZ2l0aHViLXJvdyIpLGFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXR0aW5ncy1tYWNvcy1kbWctZ2l0aHViIiksbGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWdpdGh1Yi1kbWctYnRuIiksdWU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hY29zLWRtZy1sb2NhbC1yb3ciKSxDZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V0dGluZ3MtbWFjb3MtZG1nLWxvY2FsIiksRmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRvd25sb2FkLWxvY2FsLWRtZy1idG4iKSxiZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtZG1nLW1lc3NhZ2UiKSxPPWUubWFjb3NEbWd8fHt9LFI9ISFybixzZT1PLmVuYWJsZWQhPT0hMSxCZT1SfHxzZSYmKCEhTy5naXRodWJ8fCEhTy5sb2NhbCk7aWYoTiYmKEJlP04uY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6Ti5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSksUil7aWYoWSYmSyYmKEsudGV4dENvbnRlbnQ9InYiK3JuLFkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLE8uZ2l0aHViJiZYJiZhZSl7dmFyIG5lPU8uZ2l0aHViLnZlcnNpb24/InYiK08uZ2l0aHViLnZlcnNpb246Ty5naXRodWIuZmlsZU5hbWU7aWYodHlwZW9mIE8uZ2l0aHViLnNpemU9PSJudW1iZXIiJiYobmUrPSIgXHhCNyAiK3ZuKE8uZ2l0aHViLnNpemUpKSxhZS50ZXh0Q29udGVudD1uZSxYLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlKXt2YXIgZGU9Ty5naXRodWIudmVyc2lvbj9iKE8uZ2l0aHViLnZlcnNpb24scm4pOjE7ZyhsZSxkZSxPLmdpdGh1Yi5kb3dubG9hZFVybCxPLmdpdGh1Yi5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsImdpdGh1YiIpfX1pZihPLmxvY2FsJiZ1ZSYmQ2Upe3ZhciBNZT1PLmxvY2FsLnZlcnNpb24/InYiK08ubG9jYWwudmVyc2lvbjpPLmxvY2FsLmZpbGVOYW1lO2lmKHR5cGVvZiBPLmxvY2FsLnNpemU9PSJudW1iZXIiJiYoTWUrPSIgXHhCNyAiK3ZuKE8ubG9jYWwuc2l6ZSkpLENlLnRleHRDb250ZW50PU1lLHVlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEZlKXt2YXIgbHQ9Ty5sb2NhbC52ZXJzaW9uP2IoTy5sb2NhbC52ZXJzaW9uLHJuKToxO2coRmUsbHQsTy5sb2NhbC5kb3dubG9hZFVybCxPLmxvY2FsLmZpbGVOYW1lfHwid2FuZC11cGRhdGUuZG1nIiwibG9jYWwiKX19IU8uZ2l0aHViJiYhTy5sb2NhbCYmYmUmJihiZS50ZXh0Q29udGVudD0iXHU2NjgyXHU2NUUwXHU1M0VGXHU3NTI4XHU2NkY0XHU2NUIwIixiZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7dmFyIGd0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWNvcy1hdXRvLXVwZGF0ZS1yb3ciKSxHZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFjb3MtYXV0by11cGRhdGUtaGludCIpO2d0JiZndC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxHZSYmR2UuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9ZWxzZXtpZihPLmdpdGh1YiYmWCYmYWUpe3ZhciBydD1PLmdpdGh1Yi52ZXJzaW9uPyJ2IitPLmdpdGh1Yi52ZXJzaW9uOk8uZ2l0aHViLmZpbGVOYW1lO3R5cGVvZiBPLmdpdGh1Yi5zaXplPT0ibnVtYmVyIiYmKHJ0Kz0iIFx4QjcgIit2bihPLmdpdGh1Yi5zaXplKSksYWUudGV4dENvbnRlbnQ9cnQsWC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxsZSYmKGxlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLGxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLGxlLm9uY2xpY2s9ZnVuY3Rpb24oKXt3aW5kb3cub3BlbihPLmdpdGh1Yi5kb3dubG9hZFVybCwiX2JsYW5rIiksdigiXHU2QjYzXHU1NzI4XHU2MjUzXHU1RjAwXHU0RTBCXHU4RjdEXHU5ODc1XHUyMDI2IiwiaW5mbyIpfSl9aWYoTy5sb2NhbCYmdWUmJkNlKXt2YXIgaXQ9Ty5sb2NhbC52ZXJzaW9uPyJ2IitPLmxvY2FsLnZlcnNpb246Ty5sb2NhbC5maWxlTmFtZTt0eXBlb2YgTy5sb2NhbC5zaXplPT0ibnVtYmVyIiYmKGl0Kz0iIFx4QjcgIit2bihPLmxvY2FsLnNpemUpKSxDZS50ZXh0Q29udGVudD1pdCx1ZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSxGZSYmKEZlLnRleHRDb250ZW50PSJcdTRFMEJcdThGN0QiLEZlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpLEZlLm9uY2xpY2s9ZnVuY3Rpb24oKXttKE8ubG9jYWwuZG93bmxvYWRVcmwsTy5sb2NhbC5maWxlTmFtZXx8IndhbmQtdXBkYXRlLmRtZyIsRmUpfSl9IU8uZ2l0aHViJiYhTy5sb2NhbCYmYmUmJihiZS50ZXh0Q29udGVudD1zZT8iXHU1NzI4XHU3RUJGXHU3MjQ4XHU2NzJDXHU2NjgyXHU2NUY2XHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1XHVGRjBDXHU1M0VGXHU3QTBEXHU1NDBFXHU5MUNEXHU4QkQ1IjoibWFjT1MgXHU0RTBCXHU4RjdEXHU2NzJBXHU1NzI4XHU2NzBEXHU1MkExXHU3QUVGXHU1NDJGXHU3NTI4IixiZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9dmFyIFdlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtY29kZSIpLGt0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmRyb2lkLWNvbm5lY3QtcXIiKSx6ZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5kcm9pZC1jb25uZWN0LXFyLWVtcHR5IiksRGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuZHJvaWQtY29ubmVjdC1xci13cmFwIik7aWYoV2Upe1dlLnRleHRDb250ZW50PSJcdTUyQTBcdThGN0RcdTRFMkQuLi4iLHplJiYoemUudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NEUyRFx1MjAyNiIpLGt0JiYoa3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIik7dmFyIF9lPSIvYXBpL2FwcC1jb25uZWN0LWNvZGUiO3dpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLm9yaWdpbiYmKF9lKz0iP29yaWdpbj0iK2VuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKSksZmV0Y2goX2Use2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGVlKXtyZXR1cm4gZWUuanNvbigpfSkudGhlbihmdW5jdGlvbihlZSl7ZWUuY29kZT8oV2UudGV4dENvbnRlbnQ9ZWUuY29kZSxuLmFuZHJvaWRDb25uZWN0Q29kZT1lZS5jb2RlLFd2KGVlLmNvZGUpKTooV2UudGV4dENvbnRlbnQ9Ilx1NzUxRlx1NjIxMFx1NTkzMVx1OEQyNSIsemUmJih6ZS50ZXh0Q29udGVudD0iXHU3NTFGXHU2MjEwXHU1OTMxXHU4RDI1IikpfSkuY2F0Y2goZnVuY3Rpb24oKXtXZS50ZXh0Q29udGVudD0iXHU4M0I3XHU1M0Q2XHU1OTMxXHU4RDI1Iix6ZSYmKHplLnRleHRDb250ZW50PSJcdTgzQjdcdTUzRDZcdTU5MzFcdThEMjUiKX0pfURlJiYhRGUuZGF0YXNldC5ib3VuZCYmKERlLmRhdGFzZXQuYm91bmQ9IjEiLERlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe24uYW5kcm9pZENvbm5lY3RDb2RlJiZ6dihuLmFuZHJvaWRDb25uZWN0Q29kZSl9KSk7dmFyIGZlPWUuY29uZmlnfHx7fSxBZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWhvc3QiKSxDPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctcG9ydCIpLGN0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaHR0cHMiKSxBdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLW1vZGUiKSxRZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWN3ZCIpLCRlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc2hlbGwiKTtBZSYmKEFlLnZhbHVlPWZlLmhvc3R8fCIiKSxDJiYoQy52YWx1ZT1mZS5wb3J0fHwiIiksY3QmJihjdC5jaGVja2VkPWZlLmh0dHBzPT09ITApLEF0JiYoQXQudmFsdWU9ZmUuZGVmYXVsdE1vZGV8fCJkZWZhdWx0IiksUWUmJihRZS52YWx1ZT1mZS5kZWZhdWx0Q3dkfHwiIiksJGUmJigkZS52YWx1ZT1mZS5zaGVsbHx8IiIpO3ZhciB4dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWxhbmd1YWdlIik7eHQmJih4dC52YWx1ZT1mZS5sYW5ndWFnZXx8IiIpO3ZhciBYdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIik7WHQmJihYdC52YWx1ZT1mZS5zdHJ1Y3R1cmVkUnVubmVyfHwiY2xpIik7dmFyIGF0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctaW5oZXJpdC1lbnYiKTthdCYmKGF0LmNoZWNrZWQ9ZmUuaW5oZXJpdEVudiE9PSExKSxuLmNvbmZpZ0RlZmF1bHRNb2RlbD1mZS5kZWZhdWx0TW9kZWx8fCIiLHlpKCksem8oKS50aGVuKGZ1bmN0aW9uKCl7eWkoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk7dmFyIHFlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZXJ0LXN0YXR1cyIpO3FlJiYocWUudGV4dENvbnRlbnQ9ZS5oYXNDZXJ0PyJcdTVERjJcdTVCODlcdTg4QzUgU1NMIFx1OEJDMVx1NEU2NiI6Ilx1NjcyQVx1NUI4OVx1ODhDNVx1OEJDMVx1NEU2Nlx1RkYwOFx1NEY3Rlx1NzUyOFx1ODFFQVx1N0I3RVx1NTQwRFx1NjIxNiBIVFRQXHVGRjA5IixxZS5zdHlsZS5jb2xvcj1lLmhhc0NlcnQ/InZhcigtLXN1Y2Nlc3MpIjoidmFyKC0tdGV4dC1zZWNvbmRhcnkpIik7dmFyIE9lPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmVzZXRzLWxpc3QiKTtpZihPZSYmZmUuY29tbWFuZFByZXNldHMpe2Zvcih2YXIgd2U9IiIsVmU9MDtWZTxmZS5jb21tYW5kUHJlc2V0cy5sZW5ndGg7VmUrKyl7dmFyIFN0PWZlLmNvbW1hbmRQcmVzZXRzW1ZlXTt3ZSs9JzxkaXYgY2xhc3M9InByZXNldC1pdGVtIj48c3BhbiBjbGFzcz0icHJlc2V0LWxhYmVsIj4nK3AoU3QubGFiZWwpKyc8L3NwYW4+PHNwYW4gY2xhc3M9InByZXNldC1kZXRhaWwiPicrcChTdC5jb21tYW5kKSsoU3QubW9kZT8iICgiK3AoU3QubW9kZSkrIikiOiIiKSsiPC9zcGFuPjwvZGl2PiJ9d2V8fCh3ZT0nPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtY29tcGFjdCI+PHNwYW4gY2xhc3M9ImVtcHR5LWljb24iPlx1MjY5OTwvc3Bhbj48c3Bhbj5cdTZDQTFcdTY3MDlcdTU0N0RcdTRFRTRcdTk4ODRcdThCQkU8L3NwYW4+PHNwYW4gY2xhc3M9ImhpbnQiPlx1NTcyOCBjb25maWcuanNvbiBcdTc2ODQgY29tbWFuZFByZXNldHMgXHU0RTJEXHU5MTREXHU3RjZFPC9zcGFuPjwvZGl2PicpLE9lLmlubmVySFRNTD13ZX12YXIgaHQ9ZmUuY2FyZERlZmF1bHRzfHx7fSxnbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtZWRpdCIpLEl0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC1pbmxpbmUiKSxTbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGVybWluYWwiKSxjZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGhpbmtpbmciKSx1dD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdG9vbGdyb3VwIik7Z24mJihnbi5jaGVja2VkPWh0LmVkaXRDYXJkcz09PSEwKSxJdCYmKEl0LmNoZWNrZWQ9aHQuaW5saW5lVG9vbHM9PT0hMCksU24mJihTbi5jaGVja2VkPWh0LnRlcm1pbmFsPT09ITApLGNlJiYoY2UuY2hlY2tlZD1odC50aGlua2luZz09PSEwKSx1dCYmKHV0LmNoZWNrZWQ9aHQudG9vbEdyb3VwPT09ITApfSkuY2F0Y2goZnVuY3Rpb24oKXt9KX1mdW5jdGlvbiBVdigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25maWctbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PXtob3N0Oihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWhvc3QiKXx8e30pLnZhbHVlLHBvcnQ6TnVtYmVyKChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXBvcnQiKXx8e30pLnZhbHVlKSxodHRwczooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1odHRwcyIpfHx7fSkuY2hlY2tlZCxkZWZhdWx0TW9kZTooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1tb2RlIil8fHt9KS52YWx1ZSxkZWZhdWx0Q3dkOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWN3ZCIpfHx7fSkudmFsdWUsc2hlbGw6KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctc2hlbGwiKXx8e30pLnZhbHVlLGxhbmd1YWdlOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWxhbmd1YWdlIil8fHt9KS52YWx1ZXx8IiIsZGVmYXVsdE1vZGVsOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWRlZmF1bHQtbW9kZWwiKXx8e30pLnZhbHVlfHwiIixzdHJ1Y3R1cmVkUnVubmVyOihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLXN0cnVjdHVyZWQtcnVubmVyIil8fHt9KS52YWx1ZXx8ImNsaSIsaW5oZXJpdEVudjooZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNmZy1pbmhlcml0LWVudiIpfHx7fSkuY2hlY2tlZCE9PSExfSxyPW4uY29uZmlnJiZuLmNvbmZpZy5kZWZhdWx0TW9kZWx8fCIiLGk9dC5kZWZhdWx0TW9kZWx8fCIiO2ZldGNoKCIvYXBpL3NldHRpbmdzL2NvbmZpZyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkodCl9KS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiBhLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oYSl7aWYoZSYmKGEuZXJyb3I/KGUudGV4dENvbnRlbnQ9YS5lcnJvcixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiKTooZS50ZXh0Q29udGVudD1hLnJlc3RhcnRSZXF1aXJlZD8iXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHVGRjBDXHU5MEU4XHU1MjA2XHU5MEU4XHU3RjcyXHU1QjU3XHU2QkI1XHVGRjA4aG9zdC9wb3J0L2h0dHBzL3NoZWxsXHVGRjA5XHU5NzAwXHU4OTgxXHU5MUNEXHU1NDJGXHU2NzBEXHU1MkExXHU2MjREXHU3NTFGXHU2NTQ4XHUzMDAyIjoiXHU5MTREXHU3RjZFXHU1REYyXHU0RkREXHU1QjU4XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLCghYXx8IWEuZXJyb3IpJiYobi5jb25maWcmJihuLmNvbmZpZy5kZWZhdWx0TW9kZWw9aSksbi5jb25maWdEZWZhdWx0TW9kZWw9aSxpIT09cikpe24uY2hhdE1vZGVsPSIiO3RyeXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgid2FuZC1jaGF0LW1vZGVsIil9Y2F0Y2h7fVluKG10KCkpfX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NEZERFx1NUI1OFx1NTkzMVx1OEQyNVx1MzAwMiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pfWZ1bmN0aW9uIEt2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpc3BsYXktbWVzc2FnZSIpO2UmJihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLGUudGV4dENvbnRlbnQ9IiIpO3ZhciB0PXtjYXJkRGVmYXVsdHM6e2VkaXRDYXJkczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtZWRpdCIpfHx7fSkuY2hlY2tlZCxpbmxpbmVUb29sczohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtaW5saW5lIil8fHt9KS5jaGVja2VkLHRlcm1pbmFsOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10ZXJtaW5hbCIpfHx7fSkuY2hlY2tlZCx0aGlua2luZzohIShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2ZnLWNhcmQtdGhpbmtpbmciKXx8e30pLmNoZWNrZWQsdG9vbEdyb3VwOiEhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjZmctY2FyZC10b29sZ3JvdXAiKXx8e30pLmNoZWNrZWR9fTtmZXRjaCgiL2FwaS9zZXR0aW5ncy9jb25maWciLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHQpfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHIpe2UmJihyLmVycm9yPyhlLnRleHRDb250ZW50PXIuZXJyb3IsZS5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIik6KGUudGV4dENvbnRlbnQ9Ilx1NjYzRVx1NzkzQVx1OEJCRVx1N0Y2RVx1NURGMlx1NEZERFx1NUI1OCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSwhci5lcnJvciYmbi5jb25maWcmJihuLmNvbmZpZy5jYXJkRGVmYXVsdHM9dC5jYXJkRGVmYXVsdHMpfSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU0RkREXHU1QjU4XHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9ZnVuY3Rpb24gSnYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1rZXktZmlsZSIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtY2VydC1maWxlIikscj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2VydC1tZXNzYWdlIik7aWYociYmKHIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksci50ZXh0Q29udGVudD0iIiksIWV8fCFlLmZpbGVzfHwhZS5maWxlc1swXXx8IXR8fCF0LmZpbGVzfHwhdC5maWxlc1swXSl7ciYmKHIudGV4dENvbnRlbnQ9Ilx1OEJGN1x1OTAwOVx1NjJFOVx1NzlDMVx1OTRBNVx1NTQ4Q1x1OEJDMVx1NEU2Nlx1NjU4N1x1NEVGNlx1MzAwMiIsci5zdHlsZS5jb2xvcj0idmFyKC0tZXJyb3IpIixyLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKTtyZXR1cm59dmFyIGk9bmV3IEZpbGVSZWFkZXI7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYT1pLnJlc3VsdCx1PW5ldyBGaWxlUmVhZGVyO3Uub25sb2FkPWZ1bmN0aW9uKCl7dmFyIHM9dS5yZXN1bHQ7ZmV0Y2goIi9hcGkvc2V0dGluZ3MvdXBsb2FkLWNlcnQiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixib2R5OkpTT04uc3RyaW5naWZ5KHtrZXk6YSxjZXJ0OnN9KX0pLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJuIG8uanNvbigpfSkudGhlbihmdW5jdGlvbihvKXtpZihyKXtpZihvLmVycm9yKXIudGV4dENvbnRlbnQ9by5lcnJvcixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiO2Vsc2V7ci50ZXh0Q29udGVudD0iXHU4QkMxXHU0RTY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU5MUNEXHU1NDJGXHU1NDBFXHU3NTFGXHU2NTQ4XHUzMDAyIixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSI7dmFyIGw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNlcnQtc3RhdHVzIik7bCYmKGwudGV4dENvbnRlbnQ9Ilx1NURGMlx1NUI4OVx1ODhDNSBTU0wgXHU4QkMxXHU0RTY2IixsLnN0eWxlLmNvbG9yPSJ2YXIoLS1zdWNjZXNzKSIpfXIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtyJiYoci50ZXh0Q29udGVudD0iXHU0RTBBXHU0RjIwXHU1OTMxXHU4RDI1XHUzMDAyIixyLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLHIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpfSl9LHUucmVhZEFzVGV4dCh0LmZpbGVzWzBdKX0saS5yZWFkQXNUZXh0KGUuZmlsZXNbMF0pfWZ1bmN0aW9uIFpvKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldHRpbmdzLWxhdGVzdC12ZXJzaW9uIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tdXBkYXRlLWJ1dHRvbiIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZGF0ZS1tZXNzYWdlIik7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NEUyRC4uLiIpLHImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksdCYmdC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxmZXRjaCgiL2FwaS9jaGVjay11cGRhdGUiLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gaS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKGkpe2lmKGkuZXJyb3Ipe2UmJihlLnRleHRDb250ZW50PSJcdTY4QzBcdTY3RTVcdTU5MzFcdThEMjUiKTtyZXR1cm59dmFyIGE9aS5jaGFubmVsPT09ImJldGEiO2lmKGUmJihlLnRleHRDb250ZW50PWkubGF0ZXN0fHwoYT8iYmV0YSBcdTY3MkFcdTUzRDFcdTVFMDMiOiItIikpLCFpLmxhdGVzdCl7ciYmKHIudGV4dENvbnRlbnQ9YT8iXHU2NUUwXHU2Q0Q1XHU4QkZCXHU1M0Q2IG5wbSBiZXRhIFx1NzI0OFx1NjcyQ1x1MzAwMiI6Ilx1NjVFMFx1NkNENVx1OEZERVx1NjNBNVx1NTIzMCBucG0gcmVnaXN0cnlcdTMwMDIiLHIuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk7cmV0dXJufWkudXBkYXRlQXZhaWxhYmxlJiZ0JiYodC50ZXh0Q29udGVudD1hPyJcdTY2RjRcdTY1QjBcdTUyMzAgQmV0YSI6Ilx1NjZGNFx1NjVCMFx1NTIzMFx1NjcwMFx1NjVCMFx1NzI0OCIsdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksIWkudXBkYXRlQXZhaWxhYmxlJiZyJiYoci50ZXh0Q29udGVudD1hPyJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjAgQmV0YSBcdTcyNDhcdTY3MkNcdTMwMDIiOiJcdTVERjJcdTY2MkZcdTY3MDBcdTY1QjBcdTcyNDhcdTY3MkNcdTMwMDIiLHIuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixyLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZSYmKGUudGV4dENvbnRlbnQ9Ilx1NjhDMFx1NjdFNVx1NTkzMVx1OEQyNSIpfSl9ZnVuY3Rpb24gWXYoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidXBkYXRlLW1lc3NhZ2UiKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby11cGRhdGUtYnV0dG9uIik7dCYmKHQuZGlzYWJsZWQ9ITAsZSYmKGUudGV4dENvbnRlbnQ9Ilx1NkI2M1x1NTcyOFx1NjZGNFx1NjVCMFx1RkYwQ1x1OEJGN1x1N0EwRFx1NTAxOS4uLiIsZS5zdHlsZS5jb2xvcj0idmFyKC0tdGV4dC1zZWNvbmRhcnkpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSxmZXRjaCgiL2FwaS91cGRhdGUiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihmdW5jdGlvbihyKXtpZihyLmVycm9yKXtlJiYoZS50ZXh0Q29udGVudD1yLmVycm9yLGUuc3R5bGUuY29sb3I9InZhcigtLWVycm9yKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksdC5kaXNhYmxlZD0hMTtyZXR1cm59aWYoZSYmKGUudGV4dENvbnRlbnQ9KHIubWVzc2FnZXx8Ilx1NjZGNFx1NjVCMFx1NUI4Q1x1NjIxMCIpKyJcdUZGMENcdTZCNjNcdTU3MjhcdTkxQ0RcdTU0MkZcdTY3MERcdTUyQTFcdTIwMjYiLGUuc3R5bGUuY29sb3I9InZhcigtLXN1Y2Nlc3MpIixlLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpKSx0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHIuZGV0YWNoZWRVcGRhdGUpYW4oKTtlbHNlIGlmKHIucmVzdGFydFJlcXVpcmVkIT09ITEpQXMobnVsbCxlKTtlbHNle3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkby1yZXN0YXJ0LWJ1dHRvbiIpO2kmJmkuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIil9fSkuY2F0Y2goZnVuY3Rpb24oKXtlJiYoZS50ZXh0Q29udGVudD0iXHU2NkY0XHU2NUIwXHU1OTMxXHU4RDI1XHUzMDAyIixlLnN0eWxlLmNvbG9yPSJ2YXIoLS1lcnJvcikiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLHQuZGlzYWJsZWQ9ITF9KSl9ZnVuY3Rpb24gR3YoKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZG8tcmVzdGFydC1idXR0b24iKSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGRhdGUtbWVzc2FnZSIpO0FzKGUsdCl9ZnVuY3Rpb24gUXYoKXtmZXRjaCgiL2FwaS9hdXRvLXVwZGF0ZSIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7aWYoZS5hcGspcmV0dXJuIGZldGNoKCIvYXBpL2FuZHJvaWQtYXBrLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChEbikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5hcGsiLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uICR2KCl7cm4mJmZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbihlKXtpZihlLmRtZylyZXR1cm4gZmV0Y2goIi9hcGkvbWFjb3MtZG1nLXVwZGF0ZT9jdXJyZW50VmVyc2lvbj0iK2VuY29kZVVSSUNvbXBvbmVudChybikse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7aWYoISghdC51cGRhdGVBdmFpbGFibGV8fCF0LmRvd25sb2FkVXJsKSl0cnl7V2FuZE5hdGl2ZS5kb3dubG9hZFVwZGF0ZSh0LmRvd25sb2FkVXJsLHQuZmlsZU5hbWV8fCJ3YW5kLXVwZGF0ZS5kbWciLHQuc291cmNlfHwibG9jYWwiKX1jYXRjaHt9fSl9KS5jYXRjaChmdW5jdGlvbigpe30pfWZ1bmN0aW9uIEphKGUsdCl7dmFyIHI9e307cltlXT10LGZldGNoKCIvYXBpL2F1dG8tdXBkYXRlIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShyKX0pLnRoZW4oZnVuY3Rpb24oaSl7cmV0dXJuIGkuanNvbigpfSkudGhlbihmdW5jdGlvbihpKXt2YXIgYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXV0by11cGRhdGUtd2ViLXRvZ2dsZSIpLHU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1dG8tdXBkYXRlLWFway10b2dnbGUiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS1kbWctdG9nZ2xlIik7YSYmKGEuY2hlY2tlZD0hIWkud2ViKSx1JiYodS5jaGVja2VkPSEhaS5hcGspLHMmJihzLmNoZWNrZWQ9ISFpLmRtZyl9KS5jYXRjaChmdW5jdGlvbigpe3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdXRvLXVwZGF0ZS0iK2UrIi10b2dnbGUiKTtpJiYoaS5jaGVja2VkPSF0KX0pfWZ1bmN0aW9uIFh2KGUpe2ZldGNoKCIvYXBpL3VwZGF0ZS1jaGFubmVsIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeSh7Y2hhbm5lbDplfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmpzb24oKX0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTtyJiYoci5jaGVja2VkPXQuY2hhbm5lbD09PSJiZXRhIiksWm8oKX0pLmNhdGNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJldGEtY2hhbm5lbC10b2dnbGUiKTt0JiYodC5jaGVja2VkPWUhPT0iYmV0YSIpfSl9ZnVuY3Rpb24gZWwoZSl7Zm9yKHZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb24iKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl0uZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKT09PWU7dFtyXS5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsaSksdFtyXS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsaT8idHJ1ZSI6ImZhbHNlIil9fWZ1bmN0aW9uIG1uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1wZXJtaXNzaW9uLXN0YXR1cyIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXF1ZXN0LWJ0biIpLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi1yZXNldC1idG4iKSxpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7aWYoZSl7dmFyIGE9bmkoKTtpZihhPT09bnVsbCl7aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe2UudGV4dENvbnRlbnQ9Ilx1NEUwRFx1NjUyRlx1NjMwMSIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZmctbXV0ZWQpIix0JiZ0LmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHImJnIuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7cmV0dXJufWE9Tm90aWZpY2F0aW9uLnBlcm1pc3Npb259YT09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHU1REYyXHU2Mzg4XHU2NzQzIFx1MjcxMyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSk6YT09PSJkZW5pZWQiPyhlLnRleHRDb250ZW50PSJcdTVERjJcdTYyRDJcdTdFREQiLGUuc3R5bGUuY29sb3I9InZhcigtLWRhbmdlcikiLHQmJnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSk6KGUudGV4dENvbnRlbnQ9Ilx1NjcyQVx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0td2FybmluZykiLHQmJnQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSl9fWZ1bmN0aW9uIFp2KCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKTtpZihIZSl7d2luZG93Ll9vbk5hdGl2ZVBlcm1pc3Npb25SZXN1bHQ9ZnVuY3Rpb24odCl7bW4oKSxlJiYodD09PSJncmFudGVkIj8oZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiKTooZS50ZXh0Q29udGVudD0iXHUyNzE3IFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwQ1x1OEJGN1x1NTcyOFx1N0NGQlx1N0VERlx1OEJCRVx1N0Y2RVx1NEUyRFx1NUYwMFx1NTQyRiBXYW5kIFx1NzY4NFx1OTAxQVx1NzdFNVx1Njc0M1x1OTY1MCIsZS5zdHlsZS5jb2xvcj0idmFyKC0tZGFuZ2VyKSIpLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpLGRlbGV0ZSB3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdH07dHJ5e1dhbmROYXRpdmUucmVxdWVzdFBlcm1pc3Npb24oKX1jYXRjaHt9cmV0dXJufXR5cGVvZiBOb3RpZmljYXRpb24+InUifHxOb3RpZmljYXRpb24ucmVxdWVzdFBlcm1pc3Npb24oKS50aGVuKGZ1bmN0aW9uKHQpe2lmKG1uKCksdD09PSJncmFudGVkIillJiYoZS50ZXh0Q29udGVudD0iXHUyNzEzIFx1NURGMlx1NjM4OFx1Njc0MyIsZS5zdHlsZS5jb2xvcj0idmFyKC0tc3VjY2VzcykiLGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIikpO2Vsc2UgaWYodD09PSJkZW5pZWQiJiZlKXt2YXIgcj1sb2NhdGlvbi5vcmlnaW47ZS5pbm5lckhUTUw9J1x1NkQ0Rlx1ODlDOFx1NTY2OFx1NURGMlx1NjJFNlx1NjIyQVx1NjM4OFx1Njc0M1x1NUYzOVx1N0E5N1x1RkYwQ1x1OEJGN1x1NjI0Qlx1NTJBOFx1OTFDRFx1N0Y2RVx1RkYxQTxicj48c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDttYXJnaW46NHB4IDAiPlx1MjQ2MCBcdTcwQjlcdTUxRkJcdTU3MzBcdTU3NDBcdTY4MEZcdTVERTZcdTRGQTdcdTc2ODQgPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Zm9udC1zaXplOjExcHg7dmVydGljYWwtYWxpZ246bWlkZGxlIj5pPC9zcGFuPiBcdTYyMTZcdTk1MDFcdTU2RkVcdTY4MDc8L3NwYW4+PGJyPlx1MjQ2MSBcdTYyN0VcdTUyMzBcdTMwMENcdTkwMUFcdTc3RTVcdTMwMERcdTIxOTIgXHU2NTM5XHU0RTNBXHUzMDBDXHU1MTQxXHU4QkI4XHUzMDBEPGJyPlx1MjQ2MiBcdTUyMzdcdTY1QjBcdTk4NzVcdTk3NjJcdTUzNzNcdTUzRUYnLGUuc3R5bGUuY29sb3I9InZhcigtLWZnLW11dGVkKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19KX1mdW5jdGlvbiB0bCgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTtlJiYoZS5kaXNhYmxlZD0hMSxlLnRleHRDb250ZW50PSIxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDEiKX1mdW5jdGlvbiBlbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1tZXNzYWdlIik7bi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXImJihjbGVhclRpbWVvdXQobi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXIpLG4uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub3RpZmljYXRpb24tdGVzdC1kZWxheS1idG4iKTt0JiYodC5kaXNhYmxlZD0hMCx0LnRleHRDb250ZW50PSJcdTVERjJcdTVCODlcdTYzOTJcdUZGMDgxMHNcdUZGMDkiKSxlJiYoZS5pbm5lckhUTUw9Ilx1NURGMlx1NUI4OVx1NjM5MiAxMCBcdTc5RDJcdTU0MEVcdTUzRDFcdTkwMDFcdTZENEJcdThCRDVcdTkwMUFcdTc3RTVcdUZGMENcdThCRjdcdTUyMDdcdTUyMzBcdTU0MEVcdTUzRjBcdTdCNDlcdTVGODVcdTMwMDIiLGUuc3R5bGUuY29sb3I9InZhcigtLXRleHQtc2Vjb25kYXJ5KSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSksbi5kZWxheWVkTm90aWZpY2F0aW9uVGltZXI9c2V0VGltZW91dChmdW5jdGlvbigpe24uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyPW51bGwsdGwoKSxubCgpfSwxZTQpfWZ1bmN0aW9uIG5sKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbi10ZXN0LW1lc3NhZ2UiKSx0PVtdO24uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyJiYoY2xlYXJUaW1lb3V0KG4uZGVsYXllZE5vdGlmaWNhdGlvblRpbWVyKSxuLmRlbGF5ZWROb3RpZmljYXRpb25UaW1lcj1udWxsLHRsKCkpO3ZhciByPWZmKCk7dC5wdXNoKHI/Ilx1MjcxMyBcdTYzRDBcdTc5M0FcdTk3RjMiOiJcdTI3MTcgXHU2M0QwXHU3OTNBXHU5N0YzXHVGRjA4XHU2NUUwXHU2Q0Q1XHU2NEFEXHU2NTNFXHVGRjA5Iik7dmFyIGk9bi5ub3RpZkJ1YmJsZTtpZihhYSh7dGl0bGU6Ilx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIsYm9keToiXHU4RkQ5XHU2NjJGXHU0RTAwXHU2NzYxXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1XHUzMDAyIix0eXBlOiJpbmZvIixpY29uOiJcdTI2NkEiLGR1cmF0aW9uOjVlMyxwbGF5U291bmQ6ITF9KSx0LnB1c2goaT8iXHUyNzEzIFx1NUU5NFx1NzUyOFx1NTE4NVx1NkMxNFx1NkNFMSI6Ilx1MjAxMyBcdTVFOTRcdTc1MjhcdTUxODVcdTZDMTRcdTZDRTFcdUZGMDhcdTVERjJcdTUxNzNcdTk1RURcdUZGMDkiKSxIZSl7dmFyIGE9bmkoKTtpZihhPT09ImdyYW50ZWQiKXRyeXtXYW5kTmF0aXZlLnNlbmROb3RpZmljYXRpb24oIldhbmQgXHU2RDRCXHU4QkQ1XHU5MDFBXHU3N0U1IiwiXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHU1REYyXHU2QjYzXHU1RTM4XHU1REU1XHU0RjVDXHUzMDAyIiwid2FuZC10ZXN0IiksdC5wdXNoKCJcdTI3MTMgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1Iil9Y2F0Y2h7dC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1M0QxXHU5MDAxXHU1OTMxXHU4RDI1XHVGRjA5Iil9ZWxzZSBpZihhPT09ImRlbmllZCIpdC5wdXNoKCJcdTI3MTcgXHU3Q0ZCXHU3RURGXHU5MDFBXHU3N0U1XHVGRjA4XHU1REYyXHU2MkQyXHU3RUREXHVGRjBDXHU4QkY3XHU1NzI4XHU3Q0ZCXHU3RURGXHU4QkJFXHU3RjZFXHU0RTJEXHU1RjAwXHU1NDJGXHVGRjA5Iik7ZWxzZXt3aW5kb3cuX29uTmF0aXZlUGVybWlzc2lvblJlc3VsdD1mdW5jdGlvbihvKXtpZihtbigpLG89PT0iZ3JhbnRlZCIpdHJ5e1dhbmROYXRpdmUuc2VuZE5vdGlmaWNhdGlvbigiV2FuZCBcdTZENEJcdThCRDVcdTkwMUFcdTc3RTUiLCJcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdTVERjJcdTZCNjNcdTVFMzhcdTVERTVcdTRGNUNcdTMwMDIiLCJ3YW5kLXRlc3QiKSx0LnB1c2goIlx1MjcxMyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTVERjJcdTYzODhcdTY3NDNcdUZGMDkiKX1jYXRjaHt0LnB1c2goIlx1MjcxNyBcdTdDRkJcdTdFREZcdTkwMUFcdTc3RTVcdUZGMDhcdTUzRDFcdTkwMDFcdTU5MzFcdThEMjVcdUZGMDkiKX1lbHNlIHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpOyRuKGUsdCksZGVsZXRlIHdpbmRvdy5fb25OYXRpdmVQZXJtaXNzaW9uUmVzdWx0fTt0cnl7V2FuZE5hdGl2ZS5yZXF1ZXN0UGVybWlzc2lvbigpfWNhdGNoe31yZXR1cm59JG4oZSx0KTtyZXR1cm59aWYodHlwZW9mIE5vdGlmaWNhdGlvbj4idSIpe3QucHVzaCgiXHUyMDEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NEUwRFx1NjUyRlx1NjMwMVx1RkYwOSIpLCRuKGUsdCk7cmV0dXJufXZhciB1PU5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uO2lmKHU9PT0iZ3JhbnRlZCIpe3RyeXt2YXIgcz1uZXcgTm90aWZpY2F0aW9uKCJXYW5kIFx1NkQ0Qlx1OEJENVx1OTAxQVx1NzdFNSIse2JvZHk6Ilx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1NURGMlx1NkI2M1x1NUUzOFx1NURFNVx1NEY1Q1x1MzAwMiIsaWNvbjoiL2Zhdmljb24uaWNvIix0YWc6IndhbmQtdGVzdCJ9KTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5jbG9zZSgpfSw1ZTMpLHQucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNSIpfWNhdGNoe3QucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NTNEMVx1OTAwMVx1NTkzMVx1OEQyNVx1RkYwQ1x1NTNFRlx1ODBGRFx1OTcwMFx1ODk4MSBIVFRQU1x1RkYwOSIpfSRuKGUsdCl9ZWxzZSB1PT09ImRlbmllZCI/KHQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjJEMlx1N0VERFx1RkYwOSIpLCRuKGUsdCkpOk5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oZnVuY3Rpb24obyl7bW4oKSxvPT09ImdyYW50ZWQiP3QucHVzaCgiXHUyNzEzIFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NURGMlx1NjM4OFx1Njc0M1x1RkYwOSIpOnQucHVzaCgiXHUyNzE3IFx1N0NGQlx1N0VERlx1OTAxQVx1NzdFNVx1RkYwOFx1NjcyQVx1NjM4OFx1Njc0M1x1RkYwOSIpLCRuKGUsdCl9KX1mdW5jdGlvbiAkbihlLHQpe2lmKGUpe2UuaW5uZXJIVE1MPXQubWFwKGZ1bmN0aW9uKGkpe3JldHVybiBwKGkpfSkuam9pbigiPGJyPiIpO3ZhciByPXQuZXZlcnkoZnVuY3Rpb24oaSl7cmV0dXJuIGkuaW5kZXhPZigiXHUyNzEzIik9PT0wfHxpLmluZGV4T2YoIlx1MjAxMyIpPT09MH0pO2Uuc3R5bGUuY29sb3I9cj8idmFyKC0tc3VjY2VzcykiOiJ2YXIoLS13YXJuaW5nKSIsZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX19ZnVuY3Rpb24gb3QoZSl7aWYoIWV8fHR5cGVvZiBlIT0ib2JqZWN0Inx8IW4udGVybWluYWwpcmV0dXJuIGU7dHJ5e3R5cGVvZiBuLnRlcm1pbmFsLnJlbWVhc3VyZT09ImZ1bmN0aW9uIiYmbi50ZXJtaW5hbC5yZW1lYXN1cmUoKX1jYXRjaHt9dmFyIHQ9bi50ZXJtaW5hbC5jb2xzLHI9bi50ZXJtaW5hbC5yb3dzO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnR5cGVvZiByPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKHQpJiZOdW1iZXIuaXNGaW5pdGUocikmJnQ+MCYmcj4wJiYoZS5jb2xzPXQsZS5yb3dzPXIpLGV9ZnVuY3Rpb24gcmwoKXtyZXR1cm4gbi50ZXJtaW5hbCYmbi50ZXJtaW5hbC5jb2xzP1Byb21pc2UucmVzb2x2ZSgpOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExLHI9ZnVuY3Rpb24oKXt0fHwodD0hMCxlKCkpfSxpPXNldFRpbWVvdXQociwyZTMpO3RyeXt6bigpfWNhdGNoe31yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtuLnRlcm1pbmFsJiZuLnRlcm1pbmFsLmNvbHMmJihjbGVhclRpbWVvdXQoaSkscigpKX0pfSl9KX1mdW5jdGlvbiBpbCgpe3ZhciBlPXZ0KCksdD1KZSgpLHI9TnQoZSxuLmNvbmZpZyYmbi5jb25maWcuZGVmYXVsdE1vZGU/bi5jb25maWcuZGVmYXVsdE1vZGU6ImRlZmF1bHQiKTtuLnByZWZlcnJlZENvbW1hbmQ9ZSxuLmNoYXRNb2RlPU50KGUsbi5jaGF0TW9kZSkscmwoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGZldGNoKCIvYXBpL2NvbW1hbmRzIix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsYm9keTpKU09OLnN0cmluZ2lmeShvdCh7Y29tbWFuZDplLHByb3ZpZGVyOmUsY3dkOnQsbW9kZTpyfSkpfSl9KS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBpLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oaSl7aWYoaS5lcnJvcil7ayhpLmVycm9yLCJlcnJvciIpO3JldHVybn1yZXR1cm4gbi5zZWxlY3RlZElkPWkuaWQseWUoKSxuLmRyYWZ0c1tpLmlkXT0iIixDdCgpLGp0KCl9KS50aGVuKGZ1bmN0aW9uKCl7X3QoITApfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQThcdTRGMUFcdThCRERcdTMwMDIiLCJlcnJvciIpfSl9dmFyIE1yPSExO2Z1bmN0aW9uIHRtKCl7aWYoIU1yKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kYWwtZXJyb3IiKSxyPXZ0KCksaT1uLnNlc3Npb25DcmVhdGVLaW5kfHwic3RydWN0dXJlZCIsYT1uLnNlc3Npb25DcmVhdGVXb3JrdHJlZT09PSEwO3RpKHQpO3ZhciB1PUplKCkscz0oZT9lLnZhbHVlLnRyaW0oKToiIil8fHUsbz1OdChyLG4ubW9kZVZhbHVlKTtpZihpPT09InN0cnVjdHVyZWQiKXtubShzLG8sYSx0KTtyZXR1cm59cm0ocixzLG8sYSx0KX19ZnVuY3Rpb24gbm0oZSx0LHIsaSl7dmFyIGE9bi5zZXNzaW9uVG9vbD09PSJjb2RleCI/ImNvZGV4IjoiY2xhdWRlIjtyZXR1cm4gTXI9ITAsbi5tb2RlVmFsdWU9dCxuLmNoYXRNb2RlPXQsbi5zZXNzaW9uVG9vbD1hLG4ucHJlZmVycmVkQ29tbWFuZD1hLGhpKCksWW4obXQoKSksS28odm9pZCAwLGUsdCxyKS50aGVuKGZ1bmN0aW9uKHUpe3JldHVybiBZdChlKSxwbigpLFd0KCksdX0pLnRoZW4oZnVuY3Rpb24oKXtfdCghMCl9KS5jYXRjaChmdW5jdGlvbih1KXtOZShpLHUmJnUubWVzc2FnZXx8Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOFx1N0VEM1x1Njc4NFx1NTMxNlx1NEYxQVx1OEJERFx1RkYwQ1x1OEJGN1x1Nzg2RVx1OEJBNCBDbGF1ZGUgXHU1REYyXHU2QjYzXHU3ODZFXHU1Qjg5XHU4OEM1XHUzMDAyIil9KS5maW5hbGx5KGZ1bmN0aW9uKCl7TXI9ITF9KX1mdW5jdGlvbiBybShlLHQscixpLGEpe01yPSEwLG4ubW9kZVZhbHVlPXIsbi5jaGF0TW9kZT1yLG4uc2Vzc2lvblRvb2w9ZSxuLnByZWZlcnJlZENvbW1hbmQ9ZSxoaSgpLHJsKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmZXRjaCgiL2FwaS9jb21tYW5kcyIse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGJvZHk6SlNPTi5zdHJpbmdpZnkob3Qoe2NvbW1hbmQ6ZSxwcm92aWRlcjplLGN3ZDp0LG1vZGU6cix3b3JrdHJlZUVuYWJsZWQ6aX0pKX0pfSkudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdS5qc29uKCl9KS50aGVuKGZ1bmN0aW9uKHUpe2lmKHUuZXJyb3Ipe05lKGEsdS5lcnJvcik7cmV0dXJufXJldHVybiBuLnNlbGVjdGVkSWQ9dS5pZCx5ZSgpLFl0KHQpLG4uZHJhZnRzW3UuaWRdPSIiLEN0KCkscG4oKSxXdCgpLGp0KCl9KS50aGVuKGZ1bmN0aW9uKCl7bi5zZWxlY3RlZElkP1J0KG4uc2VsZWN0ZWRJZCk6X3QoITApfSkuY2F0Y2goZnVuY3Rpb24oKXtOZShhLGU9PT0iY29kZXgiPyJcdTY1RTBcdTZDRDVcdTU0MkZcdTUyQTggQ29kZXggXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IGNvZGV4IFx1NURGMlx1NkI2M1x1Nzg2RVx1NUI4OVx1ODhDNVx1NUU3Nlx1NTNFRlx1NTcyOFx1N0VDOFx1N0FFRlx1NEUyRFx1NjI2N1x1ODg0Q1x1MzAwMiI6Ilx1NjVFMFx1NkNENVx1NTQyRlx1NTJBOCBDbGF1ZGUgXHU0RjFBXHU4QkREXHVGRjBDXHU4QkY3XHU3ODZFXHU4QkE0IENsYXVkZSBcdTVERjJcdTZCNjNcdTc4NkVcdTVCODlcdTg4QzVcdTMwMDIiKX0pLmZpbmFsbHkoZnVuY3Rpb24oKXtNcj0hMX0pfWZ1bmN0aW9uIGltKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkIik7ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFsKSxlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKHQpeyh0LmtleT09PSJFbnRlciJ8fHQua2V5PT09IiAiKSYmKHQucHJldmVudERlZmF1bHQoKSxhbCgpKX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtZHJvcGRvd24iKTtpZighKCFyfHxyLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIikpJiYhdC50YXJnZXQuY2xvc2VzdCgiLmJsYW5rLWNoYXQtY3dkLXdyYXAiKSl7ci5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKTt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpJiYoaS50ZXh0Q29udGVudD0iXHUyNUJDIil9fSkpfWZ1bmN0aW9uIGFsKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWRyb3Bkb3duIiksdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtYXJyb3ciKTtpZihlKXt2YXIgcj1lLmNsYXNzTGlzdC5jb250YWlucygiaGlkZGVuIik7cj8oYW0oZSksZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKSx0JiYodC50ZXh0Q29udGVudD0iXHUyNUIyIikpOihlLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpLHQmJih0LnRleHRDb250ZW50PSJcdTI1QkMiKSl9fWZ1bmN0aW9uIGFtKGUpe3ZhciB0PWVuKCk7ZS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWxvYWRpbmciPlx1NTJBMFx1OEY3RFx1NEUyRC4uLjwvZGl2PicsJGkoZnVuY3Rpb24ocil7dmFyIGk9IiIsYT1uLndvcmtpbmdEaXJ8fHQ7aWYoaSs9JzxkaXYgY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0nKyhhPT09dD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKHQpKyciPjxzcGFuIGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtLWxhYmVsIj5cdTlFRDhcdThCQTQ8L3NwYW4+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0tcGF0aCI+JytwKHQpKyI8L3NwYW4+PC9kaXY+IixyLmxlbmd0aCl7dmFyIHU9e307dVt0XT0hMCxyLmZvckVhY2goZnVuY3Rpb24ocyl7dVtzLnBhdGhdfHwodVtzLnBhdGhdPSEwLGkrPSc8ZGl2IGNsYXNzPSJibGFuay1jaGF0LWN3ZC1pdGVtJysoYT09PXMucGF0aD8iIGFjdGl2ZSI6IiIpKyciIGRhdGEtcGF0aD0iJytwKHMucGF0aCkrJyI+PHNwYW4gY2xhc3M9ImJsYW5rLWNoYXQtY3dkLWl0ZW0tcGF0aCI+JytwKHMucGF0aCkrIjwvc3Bhbj48L2Rpdj4iKX0pfWUuaW5uZXJIVE1MPWksZS5xdWVyeVNlbGVjdG9yQWxsKCIuYmxhbmstY2hhdC1jd2QtaXRlbSIpLmZvckVhY2goZnVuY3Rpb24ocyl7cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24obyl7by5zdG9wUHJvcGFnYXRpb24oKTt2YXIgbD1zLmRhdGFzZXQucGF0aDtuLndvcmtpbmdEaXI9bDt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oIndhbmQtd29ya2luZy1kaXIiLGwpfWNhdGNoe312YXIgYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYmxhbmstY2hhdC1jd2QtcGF0aCIpO2MmJihjLnRleHRDb250ZW50PWwpLGUuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJsYW5rLWNoYXQtY3dkLWFycm93Iik7ZCYmKGQudGV4dENvbnRlbnQ9Ilx1MjVCQyIpO3ZhciBmPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmb2xkZXItcGlja2VyLWlucHV0Iik7ZiYmKGYudmFsdWU9bCl9KX0pfSl9ZnVuY3Rpb24gdW0oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVjZW50LXBhdGhzLWJ1YmJsZXMiKTtlJiYkaShmdW5jdGlvbih0KXtpZighdC5sZW5ndGgpe2UuaW5uZXJIVE1MPSIiO3JldHVybn1lLmlubmVySFRNTD10Lm1hcChmdW5jdGlvbihyKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0icmVjZW50LXBhdGgtYnViYmxlIiBkYXRhLXBhdGg9IicrcChyLnBhdGgpKyciIHRpdGxlPSInK3Aoci5wYXRoKSsnIj4nK3Aoci5uYW1lKSsiPC9idXR0b24+In0pLmpvaW4oIiIpLGUucXVlcnlTZWxlY3RvckFsbCgiLnJlY2VudC1wYXRoLWJ1YmJsZSIpLmZvckVhY2goZnVuY3Rpb24ocil7ci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgaT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7aSYmKGkudmFsdWU9ci5kYXRhc2V0LnBhdGh8fCIiLG4uY3dkVmFsdWU9ci5kYXRhc2V0LnBhdGh8fCIiKX0pfSl9KX1mdW5jdGlvbiB1bCgpe24uc3VnZ2VzdGlvblRpbWVyJiZjbGVhclRpbWVvdXQobi5zdWdnZXN0aW9uVGltZXIpLG4uc3VnZ2VzdGlvblRpbWVyPXNldFRpbWVvdXQoc20sMTIwKX1mdW5jdGlvbiBzbSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXNzaW9uLW1vZGFsIik7aWYoZSYmZS5jbGFzc0xpc3QuY29udGFpbnMoImhpZGRlbiIpKXtYbigpO3JldHVybn12YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3dkIik7dCYmZmV0Y2goIi9hcGkvcGF0aC1zdWdnZXN0aW9ucz9xPSIrZW5jb2RlVVJJQ29tcG9uZW50KHQudmFsdWUudHJpbSgpKSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHIuanNvbigpfSkudGhlbihvbSkuY2F0Y2goWG4pfWZ1bmN0aW9uIG9tKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtpZighdHx8IWUubGVuZ3RoKXtYbigpO3JldHVybn10LmlubmVySFRNTD1lLm1hcChmdW5jdGlvbihyKXtyZXR1cm4nPGJ1dHRvbiBjbGFzcz0ic3VnZ2VzdGlvbi1pdGVtIiBkYXRhLXBhdGg9IicrcChyLnBhdGgpKyciPjxzdHJvbmc+JytwKHIubmFtZSkrIjwvc3Ryb25nPjxzbWFsbD4iK3Aoci5wYXRoKSsiPC9zbWFsbD48L2J1dHRvbj4ifSkuam9pbigiIiksdC5xdWVyeVNlbGVjdG9yQWxsKCIuc3VnZ2VzdGlvbi1pdGVtIikuZm9yRWFjaChmdW5jdGlvbihyKXtyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2QiKS52YWx1ZT1yLmRhdGFzZXQucGF0aHx8IiIsbi5jd2RWYWx1ZT1yLmRhdGFzZXQucGF0aHx8IiIsWG4oKX0pfSksdC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKX1mdW5jdGlvbiBYbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjd2Qtc3VnZ2VzdGlvbnMiKTtlJiYoZS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKSxlLmlubmVySFRNTD0iIil9ZnVuY3Rpb24gbG0oZSl7aWYoIWUuaXNDb21wb3Npbmcpe2lmKEtzKGUpKXtGYShlKTtyZXR1cm59aWYoZS5rZXk9PT0iRW50ZXIiKXtpZihlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2lmKHQpe3ZhciByPXQuc2VsZWN0aW9uU3RhcnR8fDAsaT10LnZhbHVlLGE9aS5zbGljZSgwLHIpK2AKYCtpLnNsaWNlKHIpO3QudmFsdWU9YSx0LnNlbGVjdGlvblN0YXJ0PXIrMSx0LnNlbGVjdGlvbkVuZD1yKzEsbnQoYSwhMCksUHQodCl9cmV0dXJufWUucHJldmVudERlZmF1bHQoKTt2YXIgdT0hIShlLm1ldGFLZXl8fGUuY3RybEtleSk7T3ModT97aW50ZXJydXB0OiEwfTp2b2lkIDApO3JldHVybn1pZihlLmtleT09PSJCYWNrc3BhY2UiKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGc9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpO2cmJm50KGcudmFsdWUsITApfSwwKTtyZXR1cm59aWYoZS5rZXk9PT0iVGFiIil7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtpZih0KXt2YXIgcj10LnNlbGVjdGlvblN0YXJ0fHwwLGk9dC52YWx1ZSxhPWkuc2xpY2UoMCxyKSsiCSIraS5zbGljZShyKTt0LnZhbHVlPWEsbnQoYSwhMCl9cmV0dXJufWlmKGUua2V5PT09IkVzY2FwZSIpe2UucHJldmVudERlZmF1bHQoKTt2YXIgcz1tdCgpO29lKHMpP3MmJnMuc3RydWN0dXJlZFN0YXRlJiZzLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmd2EoKTpwdCh3cigiZXNjYXBlIiksImVzY2FwZSIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImMiKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94IiksbD1vJiZvLnNlbGVjdGlvblN0YXJ0IT09by5zZWxlY3Rpb25FbmR8fG9pKCk7aWYobClyZXR1cm47dmFyIGM9bXQoKTtpZihvZShjKSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGMmJmMuc3RydWN0dXJlZFN0YXRlJiZjLnN0cnVjdHVyZWRTdGF0ZS5pbkZsaWdodCYmd2EoKTtyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLHB0KHdyKCJjdHJsX2MiKSwiY3RybF9jIik7cmV0dXJufWlmKChlLm1ldGFLZXl8fGUuY3RybEtleSkmJmUua2V5LnRvTG93ZXJDYXNlKCk9PT0iZCIpe3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxmPWQmJmQuc2VsZWN0aW9uU3RhcnQhPT1kLnNlbGVjdGlvbkVuZHx8b2koKTtpZihmKXJldHVybjt2YXIgdj1tdCgpO2lmKG9lKHYpKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWUucHJldmVudERlZmF1bHQoKSxwdCh3cigiY3RybF9kIiksImN0cmxfZCIpO3JldHVybn1pZigoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImwiKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIG09bXQoKTtpZihvZShtKSlyZXR1cm47cHQod3IoImN0cmxfbCIpLCJjdHJsX2wiKTtyZXR1cm59aWYoISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09ImEiKSYmISgoZS5tZXRhS2V5fHxlLmN0cmxLZXkpJiZlLmtleS50b0xvd2VyQ2FzZSgpPT09InYiKSl7aWYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJ4Iil7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLGI9dCYmdC5zZWxlY3Rpb25TdGFydCE9PXQuc2VsZWN0aW9uRW5kO2lmKGIpcmV0dXJuO2UucHJldmVudERlZmF1bHQoKSxwdCgiGCIsImN0cmxfeCIpO3JldHVybn1lLmtleS5sZW5ndGg9PT0xJiYhZS5jdHJsS2V5JiYhZS5tZXRhS2V5JiYhZS5hbHRLZXkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7ZyYmbnQoZy52YWx1ZSl9LDApfX19dmFyIGNtPTEwKjEwMjQqMTAyNDtmdW5jdGlvbiBkbShlKXtyZXR1cm4gZTwxMDI0P2UrIiBCIjplPDEwMjQqMTAyND8oZS8xMDI0KS50b0ZpeGVkKDEpKyIgS0IiOihlLygxMDI0KjEwMjQpKS50b0ZpeGVkKDEpKyIgTUIifWZ1bmN0aW9uIGZtKGUpe3JldHVybi9eaW1hZ2VcLyhwbmd8anBlP2d8Z2lmfHdlYnB8Ym1wfHN2Z1wreG1sKS8udGVzdChlKX1mdW5jdGlvbiBZYShlKXtpZihlKXtpZihlLnNpemU+Y20pe2soIlx1NjU4N1x1NEVGNlx1OEZDN1x1NTkyN1x1RkYwOFx1NEUwQVx1OTY1MCAxMCBNQlx1RkYwOTogIitlLm5hbWUsImVycm9yIik7cmV0dXJufXZhciB0PXtmaWxlOmUsbmFtZTplLm5hbWUsc2l6ZTplLnNpemUscHJldmlld1VybDpudWxsfTtmbShlLnR5cGUpJiYodC5wcmV2aWV3VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwoZSkpLG4ucGVuZGluZ0F0dGFjaG1lbnRzLnB1c2godCksR2EoKX19ZnVuY3Rpb24gcG0oZSl7dmFyIHQ9bi5wZW5kaW5nQXR0YWNobWVudHMuc3BsaWNlKGUsMSk7dC5sZW5ndGgmJnRbMF0ucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTCh0WzBdLnByZXZpZXdVcmwpLEdhKCl9ZnVuY3Rpb24gdm0oKXtuLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucHJldmlld1VybCYmVVJMLnJldm9rZU9iamVjdFVSTChlLnByZXZpZXdVcmwpfSksbi5wZW5kaW5nQXR0YWNobWVudHM9W10sR2EoKX1mdW5jdGlvbiBHYSgpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhdHRhY2htZW50LXByZXZpZXciKTtpZihlKXt2YXIgdD1uLnBlbmRpbmdBdHRhY2htZW50cztpZih0Lmxlbmd0aD09PTApe2UuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIiksZS5pbm5lckhUTUw9IiI7cmV0dXJufWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7Zm9yKHZhciByPSIiLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIGE9dFtpXSx1PWEucHJldmlld1VybD8nPGltZyBzcmM9IicrcChhLnByZXZpZXdVcmwpKyciIGFsdD0iIj4nOic8c3BhbiBjbGFzcz0iYXR0LWljb24iPicrSigiZmlsZSIse3NpemU6MTMsc3Ryb2tlV2lkdGg6MS43fSkrIjwvc3Bhbj4iO3IrPSc8c3BhbiBjbGFzcz0iYXR0YWNobWVudC1waWxsIiBkYXRhLWluZGV4PSInK2krJyI+Jyt1Kyc8c3BhbiBjbGFzcz0iYXR0LW5hbWUiIHRpdGxlPSInK3AoYS5uYW1lKSsnIj4nK3AoYS5uYW1lKSsnPC9zcGFuPjxzcGFuIGNsYXNzPSJhdHQtc2l6ZSI+JytkbShhLnNpemUpKyc8L3NwYW4+PGJ1dHRvbiBjbGFzcz0iYXR0LXJlbW92ZSIgZGF0YS1pbmRleD0iJytpKyciIHRpdGxlPSJcdTc5RkJcdTk2NjQiPlx4RDc8L2J1dHRvbj48L3NwYW4+J31lLmlubmVySFRNTD1yLGUucXVlcnlTZWxlY3RvckFsbCgiLmF0dC1yZW1vdmUiKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe3MuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKG8pe28ucHJldmVudERlZmF1bHQoKSxvLnN0b3BQcm9wYWdhdGlvbigpLHBtKHBhcnNlSW50KHMuZ2V0QXR0cmlidXRlKCJkYXRhLWluZGV4IiksMTApKX0pfSl9fWZ1bmN0aW9uIG1tKGUpe2lmKCFuLnBlbmRpbmdBdHRhY2htZW50cy5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7dmFyIHQ9bmV3IEZvcm1EYXRhO3JldHVybiBuLnBlbmRpbmdBdHRhY2htZW50cy5mb3JFYWNoKGZ1bmN0aW9uKHIpe3QuYXBwZW5kKCJmaWxlcyIsci5maWxlLHIubmFtZSl9KSxmZXRjaCgiL2FwaS9zZXNzaW9ucy8iK2VuY29kZVVSSUNvbXBvbmVudChlKSsiL3VwbG9hZCIse21ldGhvZDoiUE9TVCIsYm9keTp0LGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByLm9rP3IuanNvbigpOnIuanNvbigpLnRoZW4oZnVuY3Rpb24oaSl7dGhyb3cgbmV3IEVycm9yKGkuZXJyb3J8fCJcdTRFMEFcdTRGMjBcdTU5MzFcdThEMjUiKX0pfSkudGhlbihmdW5jdGlvbihyKXtyZXR1cm4gci5maWxlc3x8W119KX1mdW5jdGlvbiBnbShlKXtpZighZXx8IWUubGVuZ3RoKXJldHVybiIiO3ZhciB0PWUubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLnNhdmVkUGF0aH0pO3JldHVybmBbXHU5NjQ0XHU0RUY2XHU1REYyXHU0RTBBXHU0RjIwXHVGRjBDXHU4QkY3XHU2N0U1XHU3NzBCXHU0RUU1XHU0RTBCXHU2NTg3XHU0RUY2OgpgK3Quam9pbihgCmApK2BdCgpgfWZ1bmN0aW9uIHNsKGUpe2lmKCFuLnRlcm1pbmFsSW50ZXJhY3RpdmV8fCFlKXJldHVybiExO3ZhciB0PWUudmFsdWV8fCIiO3JldHVybiB0PyhwdCh0LCJpbnRlcmFjdGl2ZV90ZXh0IikuY2F0Y2goZnVuY3Rpb24oKXt9KSxlLnZhbHVlPSIiLFB0KGUpLG50KCIiLCEwKSwhMCk6ITF9ZnVuY3Rpb24gaG0oZSl7dmFyIHQ9ZS5jbGlwYm9hcmREYXRhJiZlLmNsaXBib2FyZERhdGEuaXRlbXM7aWYodCYmIW4udGVybWluYWxJbnRlcmFjdGl2ZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspaWYodFtyXS50eXBlLmluZGV4T2YoImltYWdlLyIpPT09MCl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBpPXRbcl0uZ2V0QXNGaWxlKCk7aSYmWWEoaSk7cmV0dXJufX12YXIgYT1lLmNsaXBib2FyZERhdGEmJmUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0Iik7aWYoYSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLG4udGVybWluYWxJbnRlcmFjdGl2ZSl7cHQoYSwicGFzdGUiKS5jYXRjaChmdW5jdGlvbigpe30pO3JldHVybn12YXIgdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQtYm94Iik7aWYodSl7dmFyIHM9dS5zZWxlY3Rpb25TdGFydHx8MCxvPXUuc2VsZWN0aW9uRW5kfHwwLGw9dS52YWx1ZSxjPWwuc2xpY2UoMCxzKSthK2wuc2xpY2Uobyk7dS52YWx1ZT1jLG50KGMpfX19ZnVuY3Rpb24gaWcoZSl7cHQoZSksbnQoeW0oKStlKX1mdW5jdGlvbiB5bSgpe2lmKG4uc2VsZWN0ZWRJZCl7aWYobi5kcmFmdHNbbi5zZWxlY3RlZElkXSE9PXZvaWQgMClyZXR1cm4gbi5kcmFmdHNbbi5zZWxlY3RlZElkXTt0cnl7dmFyIGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0oIndhbmQtZHJhZnQtIituLnNlbGVjdGVkSWQpO2lmKGUpcmV0dXJuIGV9Y2F0Y2h7fX1yZXR1cm4iIn1mdW5jdGlvbiBudChlLHQpe2lmKG4uc2VsZWN0ZWRJZCl7bi5kcmFmdHNbbi5zZWxlY3RlZElkXT1lO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgid2FuZC1kcmFmdC0iK24uc2VsZWN0ZWRJZCxlKX1jYXRjaHt9aWYoIXQpe3ZhciByPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKTtyJiYoci52YWx1ZT1lKX19fXZhciBRYT0hMTtmdW5jdGlvbiBibSgpe2lmKCFRYSl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LWJveCIpLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInByb21wdC1vcHRpbWl6ZS1idG4iKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKGUpe3ZhciBpPShlLnZhbHVlfHwiIikudHJpbSgpO2lmKCFpKXt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmaygiXHU4QkY3XHU1MTQ4XHU4RjkzXHU1MTY1XHU4OTgxXHU0RjE4XHU1MzE2XHU3Njg0XHU1MTg1XHU1QkI5XHUzMDAyIiwiaW5mbyIpLGUuZm9jdXMoKTtyZXR1cm59UWE9ITAsdCYmKHQuY2xhc3NMaXN0LmFkZCgiaXMtbG9hZGluZyIpLHQuZGlzYWJsZWQ9ITAsdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2QjYzXHU1NzI4XHU0RjE4XHU1MzE2XHUyMDI2IikpLHImJnIuY2xhc3NMaXN0LmFkZCgiaXMtb3B0aW1pemluZyIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCJ0cnVlIik7dmFyIGE9ZS5yZWFkT25seTtlLnJlYWRPbmx5PSEwO3ZhciB1PXt0ZXh0Oml9O24mJm4uc2VsZWN0ZWRJZCYmKHUuc2Vzc2lvbklkPW4uc2VsZWN0ZWRJZCksZmV0Y2goIi9hcGkvb3B0aW1pemUtcHJvbXB0Iix7bWV0aG9kOiJQT1NUIixjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeSh1KX0pLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHMuanNvbigpLnRoZW4oZnVuY3Rpb24obyl7cmV0dXJue29rOnMub2ssZGF0YTpvfX0pfSkudGhlbihmdW5jdGlvbihzKXtpZighcy5vayl0aHJvdyBuZXcgRXJyb3Iocy5kYXRhJiZzLmRhdGEuZXJyb3J8fCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdTU5MzFcdThEMjVcdTMwMDIiKTt2YXIgbz1zLmRhdGEmJnMuZGF0YS5vcHRpbWl6ZWR8fCIiO2lmKCFvKXRocm93IG5ldyBFcnJvcigiQ2xhdWRlIFx1OEZENFx1NTZERVx1NEUzQVx1N0E3QVx1MzAwMiIpO0VtKGUsbyl9KS5jYXRjaChmdW5jdGlvbihzKXt0eXBlb2Ygaz09ImZ1bmN0aW9uIiYmayhzJiZzLm1lc3NhZ2V8fCJcdTYzRDBcdTc5M0FcdThCQ0RcdTRGMThcdTUzMTZcdTU5MzFcdThEMjVcdTMwMDIiLCJlcnJvciIpLHQmJih0LmNsYXNzTGlzdC5yZW1vdmUoImlzLWxvYWRpbmciKSx0LmNsYXNzTGlzdC5hZGQoImlzLXNoYWtlIiksc2V0VGltZW91dChmdW5jdGlvbigpe3QmJnQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtc2hha2UiKX0sNDAwKSl9KS5maW5hbGx5KGZ1bmN0aW9uKCl7UWE9ITEsdCYmKHQuY2xhc3NMaXN0LnJlbW92ZSgiaXMtbG9hZGluZyIpLHQuZGlzYWJsZWQ9ITEsdC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwiXHU2M0QwXHU3OTNBXHU4QkNEXHU0RjE4XHU1MzE2XHVGRjA4QUlcdUZGMDkiKSksciYmci5jbGFzc0xpc3QucmVtb3ZlKCJpcy1vcHRpbWl6aW5nIiksZS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtYnVzeSIpLGUucmVhZE9ubHk9YX0pfX19ZnVuY3Rpb24gRW0oZSx0KXtpZighZSlyZXR1cm47dmFyIHI9QXJyYXkuZnJvbSh0KSxpPXIubGVuZ3RoO2lmKGk9PT0wKXtlLnZhbHVlPSIiLG50KCIiLCEwKSxQdChlKTtyZXR1cm59dmFyIGE9TWF0aC5taW4oNzAwLE1hdGgubWF4KDIyMCxpKjgpKSx1PU1hdGgubWluKGksNjApLHM9TWF0aC5jZWlsKGkvdSksbz1hL3UsbD0wO2UudmFsdWU9IiIsUHQoZSk7ZnVuY3Rpb24gYygpe2lmKGw9TWF0aC5taW4oaSxsK3MpLGUudmFsdWU9ci5zbGljZSgwLGwpLmpvaW4oIiIpLFB0KGUpLGw8aSlzZXRUaW1lb3V0KGMsbyk7ZWxzZXtudCh0LCEwKTt0cnl7ZS5zZXRTZWxlY3Rpb25SYW5nZSh0Lmxlbmd0aCx0Lmxlbmd0aCl9Y2F0Y2h7fX19YygpfWZ1bmN0aW9uIHdpKGUpe3ZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb21wb3NlciIpO2lmKHQpe3ZhciByPWV8fGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ib3giKSxpPSEhKHImJnIudmFsdWUmJnIudmFsdWUubGVuZ3RoPjApO3QuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLXRleHQiLGkpfX1uLl9zdGF0dXNCYXJUaW1lcklkPW51bGwsbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTA7dmFyIHFyPW51bGwsQ2k9MDtmdW5jdGlvbiAkYShlKXtpZighZSlyZXR1cm57YWN0aXZlOiExfTtpZihlLmFyY2hpdmVkKXJldHVybnthY3RpdmU6ITF9O3ZhciB0PSEhZS5wZXJtaXNzaW9uQmxvY2tlZCxyPSEhKG9lKGUpJiZlLnN0cnVjdHVyZWRTdGF0ZSYmZS5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQpLGk9IW9lKGUpJiZlLnN0YXR1cz09PSJydW5uaW5nIjtyZXR1cm57YWN0aXZlOnJ8fGl8fHQsaW5GbGlnaHQ6cixwdHlSdW5uaW5nOmkscGVybWlzc2lvbkJsb2NrZWQ6dH19ZnVuY3Rpb24gRm0oZSl7dmFyIHQ9TWF0aC5tYXgoMCxNYXRoLmZsb29yKGUvMWUzKSk7aWYodDw2MClyZXR1cm4gdCsicyI7dmFyIHI9TWF0aC5mbG9vcih0LzYwKSxpPXQlNjA7aWYocjw2MClyZXR1cm4gcisibSIrKGk/IiAiK2krInMiOiIiKTt2YXIgYT1NYXRoLmZsb29yKHIvNjApLHU9ciU2MDtyZXR1cm4gYSsiaCIrKHU/IiAiK3UrIm0iOiIiKX1mdW5jdGlvbiBYYShlKXt2YXIgdD0kYShlKSxyPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5tYWluLWhlYWRlci1yb3ciKSxpPXI/ci5xdWVyeVNlbGVjdG9yKCIuc2Vzc2lvbi1zdGF0dXMtcGlsbCIpOm51bGwsYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY2hhdC1tZXNzYWdlcyIpO2lmKHImJihyLmNsYXNzTGlzdC50b2dnbGUoImlzLXJ1bm5pbmciLHQuYWN0aXZlKSxyLmNsYXNzTGlzdC50b2dnbGUoImlzLXBlcm1pc3Npb24tYmxvY2tlZCIsdC5wZXJtaXNzaW9uQmxvY2tlZCkpLGkpe3ZhciB1PWkucXVlcnlTZWxlY3RvcigiLnNlc3Npb24tc3RhdHVzLWVsYXBzZWQiKTtpZih0LmluRmxpZ2h0KXtDaXx8KENpPW4uX3N0YXR1c0JhclN0YXJ0VGltZT4wP24uX3N0YXR1c0JhclN0YXJ0VGltZTpEYXRlLm5vdygpKTt2YXIgcz1GbShEYXRlLm5vdygpLUNpKTt1fHwodT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdS5jbGFzc05hbWU9InNlc3Npb24tc3RhdHVzLWVsYXBzZWQiLGkuYXBwZW5kQ2hpbGQodSkpLHUudGV4dENvbnRlbnQ9c31lbHNlIENpPTAsdSYmdS5yZW1vdmUoKX10LmFjdGl2ZT9xcnx8KHFyPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIG89bi5zZXNzaW9ucy5maW5kKGZ1bmN0aW9uKGwpe3JldHVybiBsLmlkPT09bi5zZWxlY3RlZElkfSk7WGEobyl9LDFlMykpOnFyJiYoY2xlYXJJbnRlcnZhbChxcikscXI9bnVsbCl9ZnVuY3Rpb24gWmEoZSx0KXtYYSh0KTt2YXIgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuY29tcG9zZXItdG9wLXJvdyIpLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN0cnVjdHVyZWQtc3RhdHVzLWJhciIpLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbXBvc2VyIik7aWYoIXR8fCFvZSh0KSl7aSYmaS5yZW1vdmUoKSxhJiZhLmNsYXNzTGlzdC5yZW1vdmUoImluLWZsaWdodCIpLGNsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsO3JldHVybn12YXIgdT10LnN0cnVjdHVyZWRTdGF0ZSYmdC5zdHJ1Y3R1cmVkU3RhdGUuaW5GbGlnaHQ7aWYodSl7aWYobi5fc3RhdHVzQmFyVGltZXJJZHx8KG4uX3N0YXR1c0JhclN0YXJ0VGltZT1EYXRlLm5vdygpKSxhJiZhLmNsYXNzTGlzdC5hZGQoImluLWZsaWdodCIpLCFpJiZyKXt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtzLmNsYXNzTmFtZT0ic3RydWN0dXJlZC1zdGF0dXMtYmFyIixzLmlubmVySFRNTD0nPHNwYW4gY2xhc3M9InN0YXR1cy1iYXItZG90Ij48L3NwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYXItbGFiZWwiPlx1NTZERVx1NTkwRFx1NEUyRDwvc3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhci10aW1lciI+MC4wczwvc3Bhbj4nLHIuYXBwZW5kQ2hpbGQocyksaT1zfWVsc2UgaWYoaSYmaS5jbGFzc0xpc3QuY29udGFpbnMoImNvbXBsZXRlZCIpKXtpLmNsYXNzTGlzdC5yZW1vdmUoImNvbXBsZXRlZCIpLGkuc3R5bGUuYW5pbWF0aW9uPSJub25lIixpLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLWxhYmVsIikudGV4dENvbnRlbnQ9Ilx1NTZERVx1NTkwRFx1NEUyRCI7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1kb3QiKTtvJiYoby5zdHlsZS5kaXNwbGF5PSIiKSxuLl9zdGF0dXNCYXJTdGFydFRpbWU9RGF0ZS5ub3coKX1uLl9zdGF0dXNCYXJUaW1lcklkfHwobi5fc3RhdHVzQmFyVGltZXJJZD1zZXRJbnRlcnZhbChmdW5jdGlvbigpe3ZhciBjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXI6bm90KC5jb21wbGV0ZWQpIik7aWYoIWMpe2NsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsO3JldHVybn12YXIgZD0oKERhdGUubm93KCktbi5fc3RhdHVzQmFyU3RhcnRUaW1lKS8xZTMpLnRvRml4ZWQoMSksZj1jLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLXRpbWVyIik7ZiYmKGYudGV4dENvbnRlbnQ9ZCsicyIpfSwxMDApKX1lbHNlIGlmKGNsZWFySW50ZXJ2YWwobi5fc3RhdHVzQmFyVGltZXJJZCksbi5fc3RhdHVzQmFyVGltZXJJZD1udWxsLGEmJmEuY2xhc3NMaXN0LnJlbW92ZSgiaW4tZmxpZ2h0IiksaSYmIWkuY2xhc3NMaXN0LmNvbnRhaW5zKCJjb21wbGV0ZWQiKSl7dmFyIGw9bi5fc3RhdHVzQmFyU3RhcnRUaW1lPygoRGF0ZS5ub3coKS1uLl9zdGF0dXNCYXJTdGFydFRpbWUpLzFlMykudG9GaXhlZCgxKToiMC4wIjtpLmNsYXNzTGlzdC5hZGQoImNvbXBsZXRlZCIpLGkucXVlcnlTZWxlY3RvcigiLnN0YXR1cy1iYXItbGFiZWwiKS50ZXh0Q29udGVudD0iXHU1QjhDXHU2MjEwIixpLnF1ZXJ5U2VsZWN0b3IoIi5zdGF0dXMtYmFyLXRpbWVyIikudGV4dENvbnRlbnQ9bCsicyI7dmFyIG89aS5xdWVyeVNlbGVjdG9yKCIuc3RhdHVzLWJhci1kb3QiKTtvJiYoby5zdHlsZS5kaXNwbGF5PSJub25lIiksbi5fc3RhdHVzQmFyU3RhcnRUaW1lPTAsc2V0VGltZW91dChmdW5jdGlvbigpe2kucGFyZW50Tm9kZSYmaS5yZW1vdmUoKX0sM2UzKX19ZnVuY3Rpb24gcChlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpLnJlcGxhY2UoLycvZywiJiMzOTsiKX0ic2VydmljZVdvcmtlciJpbiBuYXZpZ2F0b3ImJihmZXRjaCgiL3N3LmpzIix7Y2FjaGU6Im5vLWNhY2hlIn0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUub2s/bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoIi9zdy5qcyIpOihjb25zb2xlLmxvZygiU1cgZmV0Y2ggZmFpbGVkLCBza2lwcGluZyBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24iKSxQcm9taXNlLnJlamVjdCgiU2VydmljZSB3b3JrZXIgc2NyaXB0IG5vdCBhdmFpbGFibGUiKSl9KS5jYXRjaChmdW5jdGlvbihlKXt2YXIgdD1lJiZlLm1lc3NhZ2V8fFN0cmluZyhlfHwiIikscj1lJiZlLm5hbWU9PT0iVHlwZUVycm9yInx8L2NlcnRpZmljYXRlfFNTTHxFUlJfQ0VSVC9pLnRlc3QodCk7ciYmbG9jYXRpb24ucHJvdG9jb2w9PT0iaHR0cHM6Ij9jb25zb2xlLndhcm4oYFt3YW5kXSBQV0EgLyBTZXJ2aWNlIFdvcmtlciBcdTU2RTAgVExTIFx1OEJDMVx1NEU2Nlx1NEUwRFx1NTNFRlx1NEZFMVx1ODAwQ1x1OERGM1x1OEZDN1x1MzAwMgpcdTg5RTNcdTUxQjNcdTUyOUVcdTZDRDVcdUZGMDhcdTRFRkJcdTkwMDlcdTRFMDBcdTc5Q0RcdUZGMDlcdUZGMUEKICAxKSBcdTRFQ0UgYCtsb2NhdGlvbi5vcmlnaW4rYC9jZXJ0L3NlcnZlci5jcnQgXHU0RTBCXHU4RjdEXHU2NzJDXHU2NzNBXHU4MUVBXHU3QjdFXHU4QkMxXHU0RTY2XHVGRjBDXHU1QkZDXHU1MTY1XHU1MjMwXHU3Q0ZCXHU3RURGL1x1NkQ0Rlx1ODlDOFx1NTY2OCJcdTUzRDdcdTRGRTFcdTRFRkJcdTY4MzlcdThCQzFcdTRFNjZcdTk4ODFcdTUzRDFcdTY3M0FcdTY3ODQiCiAgMikgXHU1NzI4XHU2NzJDXHU2NzNBXHU3NTI4IG1rY2VydCBcdTdCN0VcdTUzRDFcdTUzRDdcdTRGRTFcdTRFRkJcdThCQzFcdTRFNjZcdUZGMENcdTVFNzZcdTU3Mjggfi8ud2FuZC9jb25maWcuanNvbiBcdTkxNERcdTdGNkUgdGxzLmNlcnRQYXRoIC8gdGxzLmtleVBhdGgKICAzKSBcdTc1MjhcdTUxODVcdTdGNTEgQ0EgXHU2MjE2IExldCdzIEVuY3J5cHQgXHU3RUQ5XHU1N0RGXHU1NDBEXHU3QjdFXHU3NzFGXHU4QkMxXHU0RTY2XHVGRjA4XHU1NDBDXHU0RTBBXHU5MTREXHU3RjZFIHRsc1x1RkYwOWApOmNvbnNvbGUubG9nKCJTVyByZWdpc3RyYXRpb24gZmFpbGVkOiIsdCl9KSxldT0hMSx0dT0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHU9ITB9LDNlMyksbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigiY29udHJvbGxlcmNoYW5nZSIsZnVuY3Rpb24oKXtldXx8IXR1fHwoZXU9ITAsbG9jYXRpb24ucmVsb2FkKCkpfSkpLChmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgcj0iYnJvd3NlciI7cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiB3aW5kb3ctY29udHJvbHMtb3ZlcmxheSkiKS5tYXRjaGVzP3I9IndpbmRvdy1jb250cm9scy1vdmVybGF5Ijp3aW5kb3cubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiKS5tYXRjaGVzP3I9InN0YW5kYWxvbmUiOndpbmRvdy5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/cj0iZnVsbHNjcmVlbiI6bmF2aWdhdG9yLnN0YW5kYWxvbmU9PT0hMCYmKHI9InN0YW5kYWxvbmUiKSxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLWRpc3BsYXktbW9kZSIsciksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImlzLXB3YSIsciE9PSJicm93c2VyIikscn1lKCksWyJzdGFuZGFsb25lIiwid2luZG93LWNvbnRyb2xzLW92ZXJsYXkiLCJmdWxsc2NyZWVuIl0uZm9yRWFjaChmdW5jdGlvbihyKXt3aW5kb3cubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogIityKyIpIikuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixlKX0pO3RyeXt2YXIgdD1uYXZpZ2F0b3ImJm5hdmlnYXRvci51c2VyQWdlbnR8fCIiOy9XYW5kQXBwXC8vLnRlc3QodCkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy13YW5kLWFwcCIpfWNhdGNoe319KSgpO3ZhciBldSx0dX0pKCk7Cg=="),
|
|
9
9
|
stylesCss: decode("OnJvb3R7LS1iZy1wcmltYXJ5OiAjZjZmMWU4Oy0tYmctc2Vjb25kYXJ5OiByZ2JhKDI1NSwgMjUxLCAyNDUsIC45Mik7LS1iZy10ZXJ0aWFyeTogI2YwZTVkNzstLWJnLWVsZXZhdGVkOiAjZmZmYWYyOy0tYmctc3VyZmFjZTogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNik7LS1iZy10ZXJtaW5hbDogIzFmMWIxNzstLWJnLW92ZXJsYXk6IHJnYmEoNDIsIDI4LCAxOCwgLjQpOy0tYm9yZGVyLXN1YnRsZTogcmdiYSgxNTAsIDExOCwgODUsIC4xMik7LS1ib3JkZXItZGVmYXVsdDogcmdiYSgxMjUsIDkxLCA1NywgLjI1KTstLWJvcmRlci1zdHJvbmc6IHJnYmEoMTI1LCA5MSwgNTcsIC40KTstLWJvcmRlcjogdmFyKC0tYm9yZGVyLWRlZmF1bHQpOy0tYm9yZGVyLWZvY3VzOiByZ2JhKDE5NywgMTAxLCA2MSwgLjUpOy0tdGV4dC1wcmltYXJ5OiAjMmExZjE2Oy0tdGV4dC1zZWNvbmRhcnk6ICM1YTQ1MzU7LS10ZXh0LXRlcnRpYXJ5OiAjN2E2MzUwOy0tdGV4dC1tdXRlZDogIzhjNzM1ZjstLXRleHQtaW52ZXJzZTogI2ZmZmZmZjstLXRleHQtbGluazogI2M1NjUzZDstLWFjY2VudDogI2M1NjUzZDstLWFjY2VudC1ob3ZlcjogI2Q0NzU1MDstLWFjY2VudC1hY3RpdmU6ICNhZjUzMzA7LS1hY2NlbnQtc29mdDogI2U4YzVhZTstLWFjY2VudC1tdXRlZDogcmdiYSgxOTcsIDEwMSwgNjEsIC4xMik7LS1hY2NlbnQtZ2xvdzogcmdiYSgxOTcsIDEwMSwgNjEsIC4yNSk7LS1zdWNjZXNzOiAjNGY3YTU4Oy0tc3VjY2Vzcy1ob3ZlcjogIzVhOGY2NjstLXN1Y2Nlc3MtbXV0ZWQ6IHJnYmEoNzksIDEyMiwgODgsIC4xNCk7LS1zdWNjZXNzLWdsb3c6IHJnYmEoNzksIDEyMiwgODgsIC4zKTstLXdhcm5pbmc6ICNhOTZhMmY7LS13YXJuaW5nLWhvdmVyOiAjYzA3YTM1Oy0td2FybmluZy1tdXRlZDogcmdiYSgxNjksIDEwNiwgNDcsIC4xNCk7LS13YXJuaW5nLWdsb3c6IHJnYmEoMTY5LCAxMDYsIDQ3LCAuMjUpOy0tZGFuZ2VyOiAjYjI0ZjQ1Oy0tZGFuZ2VyLWhvdmVyOiAjYzk2MDU1Oy0tZGFuZ2VyLW11dGVkOiByZ2JhKDE3OCwgNzksIDY5LCAuMTQpOy0tZGFuZ2VyLWdsb3c6IHJnYmEoMTc4LCA3OSwgNjksIC4yNSk7LS1pbmZvOiAjNGE2ZmE1Oy0taW5mby1tdXRlZDogcmdiYSg3NCwgMTExLCAxNjUsIC4xNCk7LS1zaGFkb3cteHM6IDAgMXB4IDNweCByZ2JhKDg5LCA1OCwgMzIsIC4wNCk7LS1zaGFkb3ctc206IDAgMnB4IDhweCByZ2JhKDg5LCA1OCwgMzIsIC4wNik7LS1zaGFkb3ctbWQ6IDAgNHB4IDE2cHggcmdiYSg4OSwgNTgsIDMyLCAuMDgpOy0tc2hhZG93LWxnOiAwIDhweCAzMnB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy14bDogMCAxMnB4IDQ4cHggcmdiYSg4OSwgNTgsIDMyLCAuMTYpOy0tc2hhZG93LXNvZnQ6IDAgMjBweCA1MHB4IHJnYmEoODksIDU4LCAzMiwgLjEyKTstLXNoYWRvdy1lbGV2YXRlZDogMCA4cHggMjRweCByZ2JhKDg5LCA1OCwgMzIsIC4wOCk7LS1zaGFkb3ctZ2xvdzogMCAwIDI0cHggdmFyKC0tYWNjZW50LWdsb3cpOy0tc2hhZG93LWdsb3ctc3VjY2VzczogMCAwIDIwcHggdmFyKC0tc3VjY2Vzcy1nbG93KTstLXJhZGl1cy14czogNnB4Oy0tcmFkaXVzLXNtOiAxMHB4Oy0tcmFkaXVzLW1kOiAxNHB4Oy0tcmFkaXVzLWxnOiAyMHB4Oy0tcmFkaXVzLXhsOiAyOHB4Oy0tcmFkaXVzLWZ1bGw6IDk5OTlweDstLWZvbnQtc2FuczogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCAiSGVsdmV0aWNhIE5ldWUiLCAiUGluZ0ZhbmcgU0MiLCAiTm90byBTYW5zIFNDIiwgIk1pY3Jvc29mdCBZYUhlaSIsIHNhbnMtc2VyaWY7LS1mb250LW1vbm86ICJTRiBNb25vIiwgIkZpcmEgQ29kZSIsICJDYXNjYWRpYSBDb2RlIiwgIkpldEJyYWlucyBNb25vIiwgTWVubG8sIE1vbmFjbywgIkNvbnNvbGFzIiwgbW9ub3NwYWNlOy0tZm9udC1zaXplLXhzOiAuNjg3NXJlbTstLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW07LS1mb250LXNpemUtYmFzZTogLjkzNzVyZW07LS1mb250LXNpemUtbGc6IDEuMDYyNXJlbTstLWZvbnQtc2l6ZS14bDogMS4yNXJlbTstLWZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7LS1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwOy0tZm9udC13ZWlnaHQtYm9sZDogNzAwOy0tbGluZS1oZWlnaHQtdGlnaHQ6IDEuMzstLWxpbmUtaGVpZ2h0LWJhc2U6IDEuNjstLWxpbmUtaGVpZ2h0LXJlbGF4ZWQ6IDEuNzU7LS10cmFuc2l0aW9uLWZhc3Q6IC4xNXMgZWFzZTstLXRyYW5zaXRpb24tbm9ybWFsOiAuMjVzIGVhc2U7LS10cmFuc2l0aW9uLXNsb3c6IC40cyBlYXNlOy0tdHJhbnNpdGlvbi1zcHJpbmc6IC41cyBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpOy0tc2lkZWJhci13aWR0aDogMzAwcHg7LS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNTZweDstLWZpbGUtcGFuZWwtd2lkdGg6IDMyMHB4Oy0tc2FmZS1ib3R0b206IDBweDstLWVhc2Utb3V0LWV4cG86IGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTstLWVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSk7LS1lYXNlLWluLW91dC1zbW9vdGg6IGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpOy0tZWFzZS1zcHJpbmc6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KTstLWVhc2Utc3ByaW5nLWJvdW5jeTogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS40KTstLWVhc2UtYm91bmNlOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upe2h0bWw6bm90KC5pcy13YW5kLWFwcCkgKixodG1sOm5vdCguaXMtd2FuZC1hcHApICo6YmVmb3JlLGh0bWw6bm90KC5pcy13YW5kLWFwcCkgKjphZnRlcnthbmltYXRpb24tZHVyYXRpb246LjAxbXMhaW1wb3J0YW50O2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDFtcyFpbXBvcnRhbnQ7c2Nyb2xsLWJlaGF2aW9yOmF1dG8haW1wb3J0YW50fX06cm9vdHstLWFwcC1pbnNldC10b3A6IDBweDstLWFwcC1pbnNldC1ib3R0b206IDBweDstLWFwcC1pbnNldC1sZWZ0OiAwcHg7LS1hcHAtaW5zZXQtcmlnaHQ6IDBweDstLXdhbmQtc2FmZS10b3A6IG1heCh2YXIoLS1hcHAtaW5zZXQtdG9wKSwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpOy0td2FuZC1zYWZlLWJvdHRvbTogbWF4KHZhcigtLWFwcC1pbnNldC1ib3R0b20pLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7LS13YW5kLXNhZmUtbGVmdDogbWF4KHZhcigtLWFwcC1pbnNldC1sZWZ0KSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpKTstLXdhbmQtc2FmZS1yaWdodDogbWF4KHZhcigtLWFwcC1pbnNldC1yaWdodCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDBweCkpOy0tc2FmZS1ib3R0b206IHZhcigtLXdhbmQtc2FmZS1ib3R0b20pOy0taW5wdXQtc2FmZS1ib3R0b206IHZhcigtLXNhZmUtYm90dG9tKTstLXB3YS1zYWZlLXRvcDogdmFyKC0td2FuZC1zYWZlLXRvcCl9LmlzLXdhbmQtYXBwey0td2FuZC1zYWZlLXRvcDogbWF4KHZhcigtLWFwcC1pbnNldC10b3ApLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSwgMzJweCk7LS13YW5kLXNhZmUtYm90dG9tOiBtYXgodmFyKC0tYXBwLWluc2V0LWJvdHRvbSksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpLCAwcHgpfS5pcy13YW5kLWFwcC1uYXRpdmUtaW5zZXRzey0td2FuZC1zYWZlLXRvcDogMHB4Oy0td2FuZC1zYWZlLWJvdHRvbTogMHB4Oy0td2FuZC1zYWZlLWxlZnQ6IDBweDstLXdhbmQtc2FmZS1yaWdodDogMHB4Oy0tcHdhLXNhZmUtdG9wOiAwcHh9LmFwcC1jb250YWluZXJ7cGFkZGluZy10b3A6dmFyKC0td2FuZC1zYWZlLXRvcCl9QG1lZGlhKGRpc3BsYXktbW9kZTpzdGFuZGFsb25lKXs6cm9vdHstLXB3YS1zYWZlLXRvcDogbWF4KGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpLCA0NHB4KTstLWlucHV0LXNhZmUtYm90dG9tOiBtaW4odmFyKC0tc2FmZS1ib3R0b20pLCAyOHB4KX0uYXBwLWNvbnRhaW5lcnstLXB3YS10b3AtaW5zZXQ6IHZhcigtLXB3YS1zYWZlLXRvcCk7cGFkZGluZy10b3A6dmFyKC0tcHdhLXNhZmUtdG9wKX0uc2lkZWJhci1oZWFkZXJ7cGFkZGluZy10b3A6Y2FsYygxNHB4ICsgdmFyKC0tcHdhLXNhZmUtdG9wKSl9Lm1haW4tY29udGVudHtwYWRkaW5nLXRvcDowfX0uaXMtcHdhey0tcHdhLXNhZmUtdG9wOiBtYXgoZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCksIDQ0cHgpOy0taW5wdXQtc2FmZS1ib3R0b206IG1pbih2YXIoLS1zYWZlLWJvdHRvbSksIDI4cHgpfS5pcy1wd2EgLmFwcC1jb250YWluZXJ7LS1wd2EtdG9wLWluc2V0OiB2YXIoLS1wd2Etc2FmZS10b3ApO3BhZGRpbmctdG9wOnZhcigtLXB3YS1zYWZlLXRvcCl9LmlzLXB3YSAuc2lkZWJhci1oZWFkZXJ7cGFkZGluZy10b3A6Y2FsYygxNHB4ICsgdmFyKC0tcHdhLXNhZmUtdG9wKSl9aHRtbC5uby10cmFuc2l0aW9uLGh0bWwubm8tdHJhbnNpdGlvbiAqLGh0bWwubm8tdHJhbnNpdGlvbiAqOmJlZm9yZSxodG1sLm5vLXRyYW5zaXRpb24gKjphZnRlcnt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50O2FuaW1hdGlvbjpub25lIWltcG9ydGFudH0qe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbHtmb250LXNpemU6MTRweDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7bWluLWhlaWdodDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2Y2ZjFlOH1ib2R5e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCBsZWZ0LHJnYmEoMjA4LDEzOCw5MiwuMTgpLHRyYW5zcGFyZW50IDM1JSkscmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20gcmlnaHQscmdiYSgxNDgsMTA3LDc0LC4xKSx0cmFuc3BhcmVudCA0MCUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZiZjdmMSwjZjZmMWU4KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21pbi1oZWlnaHQ6MTAwdmg7bWluLWhlaWdodDoxMDBkdmg7aGVpZ2h0OjEwMHZoO2hlaWdodDoxMDBkdmg7bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7b3ZlcmZsb3c6aGlkZGVufTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6OHB4O2hlaWdodDo4cHh9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTU0MDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTY2fTo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9OjpzZWxlY3Rpb257YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtc29mdCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX06Oi1tb3otc2VsZWN0aW9ue2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LXNvZnQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmFwcC1jb250YWluZXJ7LS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoOiB2YXIoLS1maWxlLXBhbmVsLXdpZHRoKTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOmZpeGVkO3RvcDp2YXIoLS1hcHAtdmlld3BvcnQtdG9wLCAwcHgpO2xlZnQ6MDtyaWdodDowO2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpO292ZXJmbG93OmhpZGRlbn0uZmxvYXRpbmctc2lkZWJhci10b2dnbGV7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MDtiYWNrZ3JvdW5kOiNmZmZiZjVkOTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMnB4IDhweCAjMDAwMDAwMGY7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXttYXJnaW4tcmlnaHQ6MnB4fS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZXtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0b30ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDEpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApfS5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZSAuaGFtYnVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMyl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCkgcm90YXRlKC00NWRlZyl9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYmY1ZjI7Ym94LXNoYWRvdzowIDNweCAxMnB4ICMwMDAwMDAxYX0ubWFpbi1oZWFkZXItcm93IC5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45Mil9Lm1haW4taGVhZGVyLXJvdyAuZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZlOmhvdmVyIC5oYW1idXJnZXItaWNvbiBzcGFuLC5tYWluLWhlYWRlci1yb3cgLmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmhvdmVyIC5oYW1idXJnZXItaWNvbiBzcGFue2JhY2tncm91bmQ6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYmY1ZjI7Ym94LXNoYWRvdzowIDNweCAxMnB4ICMwMDAwMDAxYX0uZmxvYXRpbmctc2lkZWJhci10b2dnbGUuYWN0aXZle29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2V9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkyKX0uaGFtYnVyZ2VyLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5oYW1idXJnZXItaWNvbiBzcGFue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSxvcGFjaXR5IC4ycyBlYXNlLGJhY2tncm91bmQgLjE1cyBlYXNlO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZTpob3ZlciAuaGFtYnVyZ2VyLWljb24gc3BhbntiYWNrZ3JvdW5kOnZhcigtLXRleHQtcHJpbWFyeSl9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlLmFjdGl2ZSAuaGFtYnVyZ2VyLWljb24gc3BhbjpudGgtY2hpbGQoMSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KSByb3RhdGUoNDVkZWcpfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDIpe29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApfS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZS5hY3RpdmUgLmhhbWJ1cmdlci1pY29uIHNwYW46bnRoLWNoaWxkKDMpe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpIHJvdGF0ZSgtNDVkZWcpfS50b3BiYXItbG9nby1pY29ue3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCNkNDc4NWEsI2I4NTczYSwjYTA0YTJlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO2JveC1zaGFkb3c6MCAxcHggNHB4ICNiODVjMzc0MCxpbnNldCAwIDFweCAjZmZmMztsZXR0ZXItc3BhY2luZzotLjAyZW07ZmxleC1zaHJpbms6MH0uc3RhdHVzLWRvdHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5zdGF0dXMtZG90LmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6MCAwIDhweCB2YXIoLS1zdWNjZXNzKX0ubWFpbi1sYXlvdXR7ZGlzcGxheTpmbGV4O2ZsZXg6MTttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctbGVmdDowO3RyYW5zaXRpb246cGFkZGluZy1sZWZ0IHZhcigtLXRyYW5zaXRpb24tbm9ybWFsKX0uc2lkZWJhci1vcGVuOm5vdCguc2lkZWJhci1waW5uZWQpIC5pbnB1dC1wYW5lbHtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZHtwYWRkaW5nLWxlZnQ6dmFyKC0tc2lkZWJhci13aWR0aCk7dHJhbnNpdGlvbjpwYWRkaW5nLWxlZnQgLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZCAuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7ZGlzcGxheTpub25lfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZC5zaWRlYmFyLWNvbGxhcHNlZHtwYWRkaW5nLWxlZnQ6dmFyKC0tc2lkZWJhci1jb2xsYXBzZWQtd2lkdGgpfS5kcmF3ZXItYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDt6LWluZGV4OjQ0O2JhY2tncm91bmQ6dmFyKC0tYmctb3ZlcmxheSk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMgdmFyKC0tZWFzZS1pbi1vdXQtc21vb3RoKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS5kcmF3ZXItYmFja2Ryb3Aub3BlbntvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpfS5zaWRlYmFye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtib3R0b206MDt6LWluZGV4OjQ1O3dpZHRoOm1pbih2YXIoLS1zaWRlYmFyLXdpZHRoKSxjYWxjKDEwMHZ3IC0gMjBweCkpO21heC13aWR0aDo5MHZ3O2JhY2tncm91bmQ6I2ZmZmJmNWY1O2JvcmRlci1yaWdodDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzo0cHggMCAzMnB4ICM1OTNhMjAxNDt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMDAlKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJveC1zaGFkb3cgLjM1cyBlYXNlLG9wYWNpdHkgLjI1cyBlYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfS5zaWRlYmFyLm9wZW57dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTtib3gtc2hhZG93OjhweCAwIDQwcHggIzU5M2EyMDI2O3BvaW50ZXItZXZlbnRzOmF1dG87b3BhY2l0eToxfS5zaWRlYmFyLnBpbm5lZHt0cmFuc2Zvcm06dHJhbnNsYXRlKDApO3BvaW50ZXItZXZlbnRzOmF1dG87b3BhY2l0eToxO2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOndpZHRoIC4zcyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxib3gtc2hhZG93IC4zNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZX0uc2lkZWJhci5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVyLWFjdGlvbnMgLnNpZGViYXItY2xvc2V7ZGlzcGxheTpub25lfS5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWR7d2lkdGg6dmFyKC0tc2lkZWJhci1jb2xsYXBzZWQtd2lkdGgpfS5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVye3BhZGRpbmc6MTRweCA4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MH0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1tYWluLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItaGVhZGVyLW1vcmUsLnNpZGViYXIucGlubmVkLmNvbGxhcHNlZCAuc2lkZWJhci1waW4tdG9nZ2xlLC5zaWRlYmFyLnBpbm5lZC5jb2xsYXBzZWQgLnNpZGViYXItZm9vdGVye2Rpc3BsYXk6bm9uZX0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWhlYWRlci1hY3Rpb25ze2dhcDowO3dpZHRoOjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWJvZHl7cGFkZGluZzo4cHggNHB4O292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbn0uc2lkZWJhci5waW5uZWQuY29sbGFwc2VkIC5zaWRlYmFyLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjB9LnNpZGViYXItY29sbGFwc2VkLXRpbGVze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjhweDthbGlnbi1pdGVtczpjZW50ZXJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjExcHg7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMzIpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZDQ3ODVhLCNiODU3M2EsI2EwNGEyZSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo3MDA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2xldHRlci1zcGFjaW5nOi0uMDFlbTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDtib3gtc2hhZG93OjAgMXB4IDJweCAjYjg1YzM3MzgsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3O3RyYW5zaXRpb246ZmlsdGVyIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyAuMjJzIGVhc2UsdHJhbnNmb3JtIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnNpZGViYXItY29sbGFwc2VkLXRpbGU6aG92ZXJ7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNik7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMHB4IC0zcHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmY1Mn0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5oaXN0b3J5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZThkM2MwLCNkM2I2OWQsI2I4OTQ3OCk7Y29sb3I6IzU5M2EyMGUwO2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ODU4MzgyZSxpbnNldCAwIDFweCAjZmZmZmZmNmJ9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuaGlzdG9yeTpob3Zlcntib3gtc2hhZG93OjAgNHB4IDEwcHggLTNweCAjNzg1ODM4NGQsaW5zZXQgMCAxcHggI2ZmZmZmZjdhfS5zaWRlYmFyLWNvbGxhcHNlZC10aWxlLmFkZHtiYWNrZ3JvdW5kOiNiODVjMzcwZjtib3JkZXI6MS41cHggZGFzaGVkIHJnYmEoMTg0LDkyLDU1LC41KTtjb2xvcjojYTA0YTJlO2JveC1zaGFkb3c6bm9uZTttYXJnaW4tdG9wOjJweH0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hZGQ6aG92ZXJ7ZmlsdGVyOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7YmFja2dyb3VuZDojYjg1YzM3MWY7Ym9yZGVyLWNvbG9yOiNiODVjMzdiODtib3gtc2hhZG93OjAgM3B4IDhweCAtM3B4ICNiODVjMzc1Mn0uc2lkZWJhci1jb2xsYXBzZWQtdGlsZS5hZGQ6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45NCl9LnNpZGViYXItY29sbGFwc2VkLXRpbGUuYWN0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZDI3MzU4LCNiMzU0MzQsIzkzNDEyOCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDAgMCAycHggI2M1NjUzZDRkLDAgNXB4IDE0cHggLTRweCAjYTA0YTJlNzMsaW5zZXQgMCAxcHggI2ZmZjZ9LnNpZGViYXItY29sbGFwc2VkLXRpbGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45NCk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS5zaWRlYmFyLXRpbGUtYnViYmxle3Bvc2l0aW9uOmZpeGVkO21heC13aWR0aDozMjBweDttaW4td2lkdGg6ODBweDtwYWRkaW5nOjlweCAxM3B4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZywjZmZmYmY1ZmMsI2ZjZjRlOWZjKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUsIHJnYmEoMTIwLCA4OCwgNTYsIC4xOCkpO2JvcmRlci1yYWRpdXM6MTRweDtib3gtc2hhZG93OjAgNnB4IDI0cHggLTRweCAjNTkzYTIwMzgsMCAycHggNnB4ICM1OTNhMjAxNCxpbnNldCAwIDFweCAjZmZmZmZmYTY7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MS40Njtjb2xvcjojMzgyNDEyZWI7ei1pbmRleDoyMDA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNHB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMThzIHZhcigtLWVhc2Utb3V0LWV4cG8sIGVhc2UpO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KSBzYXR1cmF0ZSgxNjAlKX0uc2lkZWJhci10aWxlLWJ1YmJsZS52aXNpYmxle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfS5zaWRlYmFyLXRpbGUtYnViYmxlOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTZweDt0b3A6dmFyKC0tYnViYmxlLXRhaWwteSwgNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO3dpZHRoOjExcHg7aGVpZ2h0OjExcHg7YmFja2dyb3VuZDppbmhlcml0O2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlLCByZ2JhKDEyMCwgODgsIDU2LCAuMTgpKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlLCByZ2JhKDEyMCwgODgsIDU2LCAuMTgpKTtib3gtc2hhZG93Oi0ycHggMnB4IDVweCAtMnB4ICM1OTNhMjAxNH0uc2lkZWJhci1jb2xsYXBzZS10b2dnbGV7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItY29sbGFwc2UtdG9nZ2xlLmNvbGxhcHNlZHtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uc2lkZWJhci1waW4tdG9nZ2xle2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnNpZGViYXItcGluLXRvZ2dsZS5waW5uZWR7YmFja2dyb3VuZDojYzU2NTNkMWY7Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uc2lkZWJhci1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjEycHggMTRweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOiNmZmZiZjVjYztmbGV4LXNocmluazowO21pbi1oZWlnaHQ6NTJweDtnYXA6MTBweH0uc2lkZWJhci1oZWFkZXItbWFpbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7bWluLXdpZHRoOjA7ZmxleDoxfS5zaWRlYmFyLWhlYWRlci1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtmbGV4LXNocmluazowfS5zaWRlYmFyLWhlYWRlci1tb3Jle3Bvc2l0aW9uOnJlbGF0aXZlfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvd3tkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoMTAwJSArIDZweCk7cmlnaHQ6MDttaW4td2lkdGg6MTUwcHg7YmFja2dyb3VuZDojZmZmYmY1ZmE7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym94LXNoYWRvdzowIDRweCAyMHB4ICM1OTNhMjAxZjtwYWRkaW5nOjRweDt6LWluZGV4OjYwfS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdy5vcGVue2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOmZhZGVTbGlkZURvd24gLjE1cyB2YXIoLS1lYXNlLW91dC1leHBvKX0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3cgLm92ZXJmbG93LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3dpZHRoOjEwMCU7cGFkZGluZzo5cHggMTJweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6NnB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk3KX1Aa2V5ZnJhbWVzIGZhZGVTbGlkZURvd257MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnNpZGViYXItbG9nb3V0e2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1sb2dvdXQ6aG92ZXJ7b3BhY2l0eToxO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2lkZWJhci1zd2l0Y2gtc2VydmVye2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6Ljc7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1zd2l0Y2gtc2VydmVyOmhvdmVye29wYWNpdHk6MTtjb2xvcjp2YXIoLS1wcmltYXJ5LCB2YXIoLS10ZXh0LXNlY29uZGFyeSkpfS5sb2dpbi1zd2l0Y2gtc2VydmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS5sb2dpbi1zd2l0Y2gtc2VydmVyIHN2Z3tvcGFjaXR5Oi43NX0ubG9naW4tc3dpdGNoLXNlcnZlcjpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5LCB2YXIoLS10ZXh0LXByaW1hcnkpKX0uc2lkZWJhci10aXRsZXtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tY291bnR7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXdlaWdodDo2MDB9LnNpZGViYXItY2xvc2V7ZmxleC1zaHJpbms6MH0uZmlsZS1leHBsb3JlcntmbGV4OjE7b3ZlcmZsb3cteTphdXRvO3BhZGRpbmc6OHB4IDA7bWluLWhlaWdodDowfS5maWxlLWV4cGxvcmVyLmVtcHR5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjI0cHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44MTI1cmVtO3RleHQtYWxpZ246Y2VudGVyfS5maWxlLXRyZWV7Zm9udC1zaXplOi44MTI1cmVtfS50cmVlLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6NHB4IDEycHg7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dXNlci1zZWxlY3Q6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnRyZWUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmZmZmIzLCNmZmZjZjc2Nik7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmYjN9LnRyZWUtaXRlbS5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdlYiwjZmZmNGU4YmYpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAxcHggI2M1NjUzZDM4LDAgM3B4IDEwcHggLTNweCAjYzU2NTNkNDAsaW5zZXQgMCAxcHggI2ZmZmZmZmQ5fS50cmVlLXRvZ2dsZXtmbGV4LXNocmluazowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRyZWUtdG9nZ2xlLm9wZW57dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LnRyZWUtdG9nZ2xlLmVtcHR5e3Zpc2liaWxpdHk6aGlkZGVufS50cmVlLWljb257ZmxleC1zaHJpbms6MDtmb250LXNpemU6MXJlbTttYXJnaW4tcmlnaHQ6NnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnRyZWUtbmFtZXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmbGV4OjE7bWluLXdpZHRoOjB9LnRyZWUtY2hpbGRyZW57ZGlzcGxheTpub25lfS50cmVlLWNoaWxkcmVuLm9wZW57ZGlzcGxheTpibG9ja30uZmlsZS1leHBsb3Jlci1oZWFkZXJ7cGFkZGluZzoxMHB4IDE0cHggNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4LXNocmluazowfS5maWxlLWV4cGxvcmVyLXBhdGh7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC13ZWlnaHQ6NTAwfWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aHtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjZweCAxMHB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjEuMjtjdXJzb3I6dGV4dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO291dGxpbmU6bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fWlucHV0LmZpbGUtZXhwbG9yZXItcGF0aDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7b3BhY2l0eTouNn1pbnB1dC5maWxlLWV4cGxvcmVyLXBhdGg6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9aW5wdXQuZmlsZS1leHBsb3Jlci1wYXRoOmZvY3Vze2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0ZXh0LW92ZXJmbG93OmNsaXA7Ym94LXNoYWRvdzowIDAgMCAzcHggI2Q0OTg2MzFmfS5maWxlLWV4cGxvcmVyLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2dhcDo0cHg7bWFyZ2luLWxlZnQ6YXV0bztmbGV4LXNocmluazowfS5maWxlLWV4cGxvcmVyLXJlZnJlc2h7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxcmVtO3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5maWxlLWV4cGxvcmVyLXJlZnJlc2g6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5maWxlLXNpZGUtcGFuZWx7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6Y2FsYygtMSAqIHZhcigtLWZpbGUtcGFuZWwtd2lkdGgpKTt0b3A6MDtib3R0b206MDt3aWR0aDp2YXIoLS1maWxlLXBhbmVsLXdpZHRoKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlci1sZWZ0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3otaW5kZXg6NTU7dHJhbnNpdGlvbjpyaWdodCAuM3MgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuM3MgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaGFkb3c6LTRweCAwIDI0cHggIzAwMDAwMDFhO3BhZGRpbmctdG9wOnZhcigtLXdhbmQtc2FmZS10b3ApO3BhZGRpbmctYm90dG9tOnZhcigtLXdhbmQtc2FmZS1ib3R0b20pfS5maWxlLXNpZGUtcGFuZWwub3BlbntyaWdodDowO2JveC1zaGFkb3c6LThweCAwIDMycHggIzU5M2EyMDI2fS5maWxlLXBhbmVsLWJhY2tkcm9we2Rpc3BsYXk6bm9uZX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuZmlsZS1wYW5lbC1iYWNrZHJvcHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7YmFja2dyb3VuZDojMmExYzEyNGQ7ei1pbmRleDo1NDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMnB4KX0uZmlsZS1wYW5lbC1iYWNrZHJvcC5vcGVue29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS5zaWRlYmFyLXBpbi10b2dnbGV7ZGlzcGxheTpub25lfX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTJweCAxNHB4IDEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZmxleC1zaHJpbms6MDtnYXA6OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmNiwjZmZmMCl9LmZpbGUtc2lkZS1wYW5lbC10aXRsZS1ncm91cHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7bWluLXdpZHRoOjA7ZmxleDoxfS5maWxlLXNpZGUtcGFuZWwtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLWFjY2VudCk7b3BhY2l0eTouODV9LmZpbGUtc2lkZS1wYW5lbC10aXRsZXtmb250LXNpemU6Ljg3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDFlbX0uZmlsZS1zaWRlLXBhbmVsLWhlYWRlci1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmbGV4LXNocmluazowfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bnt3aWR0aDozMHB4O2hlaWdodDozMHB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX0uZmlsZS1zaWRlLXBhbmVsLWljb25idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNkNDk4NjM1OX0uZmlsZS1zaWRlLXBhbmVsLWljb25idG4uY2xvc2U6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiNkYzQ2NDYxNDtib3JkZXItY29sb3I6I2RjNDY0NjQwfS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0biAud2FuZC1pY29ue2Rpc3BsYXk6YmxvY2t9LmZpbGUtc2lkZS1wYW5lbC1pY29uYnRuOmhvdmVyIC53YW5kLWljb24tcmVmcmVzaHt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5maWxlLXNpZGUtcGFuZWwtYm9keXtmbGV4OjE7bWluLWhlaWdodDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufS5maWxlLXBhbmVsLXRvZ2dsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHh9LmdpdC1zdGF0dXMtYmFkZ2V7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6MXB4IDVweDtib3JkZXItcmFkaXVzOjNweDttaW4td2lkdGg6MThweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pfS5naXQtYWRkZWR7YmFja2dyb3VuZDojMjI4YjIyMjY7Y29sb3I6IzIyOGIyMn0uZ2l0LW1vZGlmaWVke2JhY2tncm91bmQ6I2ZmYTUwMDI2O2NvbG9yOm9yYW5nZX0uZ2l0LWRlbGV0ZWR7YmFja2dyb3VuZDojZGMxNDNjMjY7Y29sb3I6I2RjMTQzY30uZ2l0LXJlbmFtZWR7YmFja2dyb3VuZDojNDY4MmI0MjY7Y29sb3I6IzQ2ODJiNH0uZ2l0LXVuc3RhZ2Vke2JhY2tncm91bmQ6I2ZmOGMwMDI2O2NvbG9yOiNmZjhjMDB9LmdpdC11bnN0YWdlZC1kZWxldGVke2JhY2tncm91bmQ6I2RjMTQzYzI2O2NvbG9yOiNkYzE0M2N9LmdpdC11bnRyYWNrZWR7YmFja2dyb3VuZDojODA4MDgwMjY7Y29sb3I6Z3JheX0uZmlsZS1zZWFyY2gtYm94e3BhZGRpbmc6OHB4IDEycHggMTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmZpbGUtc2VhcmNoLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5Oi43fS5maWxlLXNlYXJjaC1pbnB1dHtmbGV4OjE7cGFkZGluZzo3cHggMzJweCA3cHggMzBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7b3V0bGluZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZSxib3gtc2hhZG93IC4xNXMgZWFzZX0uZmlsZS1zZWFyY2gtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3gtc2hhZG93OjAgMCAwIDNweCAjZDQ5ODYzMWZ9LmZpbGUtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uZmlsZS1zZWFyY2gtY2xlYXJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MThweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjRweDt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2Rpc3BsYXk6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlLGNvbG9yIC4xNXMgZWFzZX0uZmlsZS1zZWFyY2gtY2xlYXI6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZmlsZS1zZWFyY2gtY2xlYXIudmlzaWJsZXtkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlLXNlYXJjaC1jbGVhcjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnNpZGViYXItYm9keXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MTttaW4taGVpZ2h0OjA7b3ZlcmZsb3cteTphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3Bvc2l0aW9uOnJlbGF0aXZlfS5zaWRlYmFyLWludHJve2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZsZXgtc2hyaW5rOjB9LnNlc3Npb25zLWxpc3R7ZmxleDoxIDAgYXV0bzttaW4taGVpZ2h0OjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzp2aXNpYmxlO3BhZGRpbmc6MTBweCAxMHB4IDEycHh9I3Nlc3Npb25zLXBhbmVse2Rpc3BsYXk6Y29udGVudHN9LnNlc3Npb25zLWxpc3Q6ZW1wdHk6YmVmb3Jle2NvbnRlbnQ6Ilw2NjgyXDY1ZTBcNGYxYVw4YmRkIjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWluLWhlaWdodDoyMDBweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljg3NXJlbX0uc2Vzc2lvbi1ncm91cHttYXJnaW4tYm90dG9tOjE0cHh9LnNlc3Npb24tZ3JvdXA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnNlc3Npb24tZ3JvdXAtdGl0bGV7cGFkZGluZzo0cHggNnB4IDEwcHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweH0uc2Vzc2lvbi1ncm91cC10aXRsZTpiZWZvcmV7Y29udGVudDoiIjt3aWR0aDozcHg7aGVpZ2h0OjEycHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO29wYWNpdHk6LjY1O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpfS5jbGF1ZGUtaGlzdG9yeS10b2dnbGV7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIC4xNXMgZWFzZX0uY2xhdWRlLWhpc3RvcnktdG9nZ2xlOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmNsYXVkZS1oaXN0b3J5LXRvZ2dsZSAuY2hldnJvbntkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pO2ZvbnQtc2l6ZTouNjg3NXJlbTttYXJnaW4tcmlnaHQ6NHB4fS5jbGF1ZGUtaGlzdG9yeS10b2dnbGUgLmhpc3RvcnktY291bnR7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7cGFkZGluZzoycHggN3B4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO21hcmdpbi1sZWZ0OjZweH0uY2xhdWRlLWhpc3RvcnktbG9hZGluZ3twYWRkaW5nOjE2cHggOHB4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouODEyNXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXN0eWxlOml0YWxpY30uc2lkZWJhci1oaXN0b3J5LXNlY3Rpb24tbGFiZWx7cGFkZGluZzo4cHggMTBweCA0cHg7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDRlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7b3BhY2l0eTouNX0uY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWhlYWRlcnttYXJnaW4tdG9wOjZweDtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lfS5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIC5jaGV2cm9ue2ZvbnQtc2l6ZTouNjg3NXJlbTttYXJnaW4tcmlnaHQ6NHB4fS5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktdGl0bGV7Zm9udC1zaXplOi42ODc1cmVtO3BhZGRpbmc6NnB4IDhweCA2cHggMTJweDtvcGFjaXR5Oi44O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktaGVhZGVyIC5jbGF1ZGUtaGlzdG9yeS1kaXJlY3RvcnktdGl0bGU6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWxhYmVse21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWNsZWFyLWJ0bntvcGFjaXR5Oi45O2ZsZXgtc2hyaW5rOjB9LmNsYXVkZS1oaXN0b3J5LXByZXZpZXd7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jbGF1ZGUtaGlzdG9yeS1pdGVte29wYWNpdHk6Ljg1O3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2UsYmFja2dyb3VuZCAuMTVzIGVhc2V9LmNsYXVkZS1oaXN0b3J5LWl0ZW06aG92ZXJ7b3BhY2l0eToxO2JhY2tncm91bmQ6I2ZmZmRmYWY1fS5zZXNzaW9uLWl0ZW17d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDojZmZmY2Y3ZWI7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEwcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjEwcHggMTJweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZSx0cmFuc2Zvcm0gLjFzIGVhc2U7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTttYXJnaW4tYm90dG9tOjZweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24taXRlbTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjZweDtib3R0b206NnB4O3dpZHRoOjNweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7Ym9yZGVyLXJhZGl1czoycHh9LnNlc3Npb24taXRlbS1yb3d7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5zZXNzaW9uLWl0ZW0tY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOmluaGVyaXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJhY2tncm91bmQgLjE4cyBlYXNlO3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0uc2Vzc2lvbi1pdGVtLnN3aXBlZCAuc2Vzc2lvbi1pdGVtLWNvbnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNzJweCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmNSwjZmNmNmVkZjApfS5zZXNzaW9uLW1hbmFnZS1jaGVja3tkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW4tcmlnaHQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcn0uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgc3Bhbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtiYWNrZ3JvdW5kOiNmZmZiZjU4Yztib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmY2O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlfS5zZXNzaW9uLW1hbmFnZS1jaGVjazpob3ZlciBzcGFue2JhY2tncm91bmQ6I2ZmZmJmNWNjO2JvcmRlci1jb2xvcjojN2Q1YjM5NTl9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LnNlc3Npb24tbWFuYWdlLWNoZWNrIGlucHV0OmNoZWNrZWQrc3BhbjphZnRlcntjb250ZW50OiJcMjcxMyI7Y29sb3I6I2ZmZjtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjcwMH0uc2Vzc2lvbi1pdGVtLnNlbGVjdGVke2JvcmRlci1jb2xvcjojYzU2NTNkNTk7YmFja2dyb3VuZDojZmZmNWVlZjV9LnNlc3Npb24taXRlbS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9LnNlc3Npb24tZGVsZXRlLXpvbmUsLnNlc3Npb24tZGVsZXRlLWJ0bntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBzZXNzaW9uLWRlbGV0ZS1jb2xsYXBzZXt0b3ttYXgtaGVpZ2h0OjA7b3BhY2l0eTowO21hcmdpbi1ib3R0b206MDtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7Ym9yZGVyLXdpZHRoOjB9fS5zZXNzaW9uLWl0ZW0uZGVsZXRpbmd7YW5pbWF0aW9uOnNlc3Npb24tZGVsZXRlLWNvbGxhcHNlIC4zcyBlYXNlLW91dCBmb3J3YXJkcztvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMjBweDtwb2ludGVyLWV2ZW50czpub25lfS5zZXNzaW9uLW1haW57ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjNweDtwYWRkaW5nLXJpZ2h0OjYwcHh9LnNlc3Npb24tdGl0bGUtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHh9LnNlc3Npb24tdGl0bGUtcm93IC5zZXNzaW9uLXRpdGxlLC5zZXNzaW9uLXRpdGxlLXJvdyAuc2Vzc2lvbi1jb21tYW5ke2ZsZXg6MTttaW4td2lkdGg6MH0uc2Vzc2lvbi10aW1le2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZy10b3A6MXB4fS5zZXNzaW9uLWFjdGl2aXR5e2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS1hY2NlbnQpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsaW5lLWhlaWdodDoxLjM7b3BhY2l0eTouODV9LnNlc3Npb24tcmVjb3ZlcnktaGludHtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM5Njc2NTUxNDtwYWRkaW5nOjFweCA1cHg7Ym9yZGVyLXJhZGl1czozcHh9LnNlc3Npb24tYWN0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo0cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O21pbi1oZWlnaHQ6MjhweDttaW4td2lkdGg6MjhweDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTouODEyNXJlbTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyfS5zZXNzaW9uLWFjdGlvbi1idG46aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1MWE7Y29sb3I6dmFyKC0tYWNjZW50KX0uc2Vzc2lvbi1hY3Rpb24tYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkpO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5zZXNzaW9uLWFjdGlvbi1idG4gc3Zne2ZsZXgtc2hyaW5rOjB9LnNlc3Npb24tYWN0aW9uLWJ0bi5kZWxldGUtYnRuOmhvdmVye2JhY2tncm91bmQ6I2U3NGMzYzE0O2NvbG9yOiNkMzUyNDR9LnNlc3Npb24tYWN0aW9uLWJ0bi5tZXJnZS1idG46aG92ZXJ7YmFja2dyb3VuZDojMmY4MGVkMWE7Y29sb3I6IzJmODBlZH0uc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdle2JhY2tncm91bmQ6IzJmODBlZDFmO2NvbG9yOiMyZjgwZWR9LnNlc3Npb24ta2luZC1iYWRnZS53b3JrdHJlZS1tZXJnZS5mYWlsZWR7YmFja2dyb3VuZDojZTc0YzNjMWY7Y29sb3I6I2QzNTI0NH0uc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdlLm1lcmdlZHtiYWNrZ3JvdW5kOiMyN2FlNjAxZjtjb2xvcjojMjE5NjUzfS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWUtbWVyZ2UubWVyZ2luZywuc2Vzc2lvbi1raW5kLWJhZGdlLndvcmt0cmVlLW1lcmdlLmNoZWNraW5ne2JhY2tncm91bmQ6I2YyOTk0YTFmO2NvbG9yOiNjMTdjMmJ9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweH0ud29ya3RyZWUtbWVyZ2Utcm93e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTZweDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZmZmY4MDtmb250LXNpemU6Ljg3NXJlbX0ud29ya3RyZWUtbWVyZ2Utcm93IHNwYW57Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS53b3JrdHJlZS1tZXJnZS1yb3cgc3Ryb25ne2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7d29yZC1icmVhazpicmVhay1hbGw7dGV4dC1hbGlnbjpyaWdodH0ud29ya3RyZWUtbWVyZ2UtYWN0aW9uc3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2dhcDoxMHB4O21hcmdpbi10b3A6MTZweH0ud29ya3RyZWUtbWVyZ2UtbW9kYWx7bWF4LXdpZHRoOjYyMHB4fS5tb2RhbC1zdWJ0aXRsZXttYXJnaW4tdG9wOjRweDtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnNlc3Npb24tYWN0aW9uLWJ0bltkaXNhYmxlZF17b3BhY2l0eTouNDU7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZXNzaW9uLWFjdGlvbi1idG5bZGlzYWJsZWRdOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lndvcmt0cmVlLW1lcmdlLWFjdGlvbnMgLmJ0bltkaXNhYmxlZF17b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWR9Lndvcmt0cmVlLW1lcmdlLWFjdGlvbnMgLmJ0bltkaXNhYmxlZF06aG92ZXIsLndvcmt0cmVlLW1lcmdlLWFjdGlvbnMgLmJ0bltkaXNhYmxlZF06YWN0aXZle3RyYW5zZm9ybTpub25lfS53b3JrdHJlZS1tZXJnZS1hY3Rpb25zIC5idG57bWluLXdpZHRoOjEyMHB4fS53b3JrdHJlZS1tZXJnZS1tb2RhbCAubW9kYWwtYm9keXttaW4taGVpZ2h0OjI2MHB4fS53b3JrdHJlZS1tZXJnZS1tb2RhbCAuZXJyb3ItbWVzc2FnZXttYXJnaW4tdG9wOjEycHh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnR7bWFyZ2luLXRvcDowfS53b3JrdHJlZS1tZXJnZS1yb3crLmZpZWxkLWhpbnR7bWFyZ2luLXRvcDoycHh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQrLmZpZWxkLWhpbnR7bWFyZ2luLXRvcDo0cHh9Lndvcmt0cmVlLW1lcmdlLW1vZGFsIC5tb2RhbC1zdWJ0aXRsZXttYXgtd2lkdGg6NDIwcHh9Lndvcmt0cmVlLW1lcmdlLW1vZGFsIHN0cm9uZ3tmb250LXdlaWdodDo2MDB9Lndvcmt0cmVlLW1lcmdlLW1vZGFsIC5tb2RhbC1oZWFkZXJ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCBwe21hcmdpbjowfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50IHN0cm9uZ3tjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS53b3JrdHJlZS1tZXJnZS1yb3cgc3Ryb25nOmVtcHR5OmFmdGVye2NvbnRlbnQ6Ii0iO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50IGNvZGV7Zm9udC1mYW1pbHk6aW5oZXJpdH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ud29ya3RyZWUtbWVyZ2Utcm93OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MnB4fS53b3JrdHJlZS1tZXJnZS1yb3c6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQubXV0ZWR7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQuZXJyb3J7Y29sb3I6I2QzNTI0NH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAuZmllbGQtaGludC5zdWNjZXNze2NvbG9yOiMyMTk2NTN9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLmZpZWxkLWhpbnQud2FybmluZ3tjb2xvcjojYzE3YzJifS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50LmluZm97Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC5maWVsZC1oaW50Ky53b3JrdHJlZS1tZXJnZS1yb3d7bWFyZ2luLXRvcDoycHh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdysud29ya3RyZWUtbWVyZ2Utcm93e21hcmdpbi10b3A6MH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IHN0cm9uZyBzbWFsbHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IHN0cm9uZyBjb2RlLC53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgc3BhbiBjb2Rle2ZvbnQtZmFtaWx5OmluaGVyaXR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyBjb2Rle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cGFkZGluZzowfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgZW17Zm9udC1zdHlsZTpub3JtYWw7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyBzbWFsbCwud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5tdXRlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC53YXJuaW5ne2NvbG9yOiNjMTdjMmJ9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuc3VjY2Vzc3tjb2xvcjojMjE5NjUzfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmVycm9ye2NvbG9yOiNkMzUyNDR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuaW5mb3tjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAudGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuZm9udC1ub3JtYWx7Zm9udC13ZWlnaHQ6NDAwfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmZvbnQtc2VtaWJvbGR7Zm9udC13ZWlnaHQ6NjAwfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAudHJ1bmNhdGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAubW9ub3NwYWNle2ZvbnQtZmFtaWx5OnVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsbW9ub3NwYWNlfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnNtYWxse2ZvbnQtc2l6ZTouODEyNXJlbX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5ub3JtYWx7Zm9udC1zaXplOi44NzVyZW19Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAubGFyZ2V7Zm9udC1zaXplOi45Mzc1cmVtfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmNhcHN7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmxpbmUtdGlnaHR7bGluZS1oZWlnaHQ6MS4zfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmxpbmUtbm9ybWFse2xpbmUtaGVpZ2h0OjEuNX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5saW5lLWxvb3Nle2xpbmUtaGVpZ2h0OjEuN30ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5ibG9ja3tkaXNwbGF5OmJsb2NrfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmlubGluZXtkaXNwbGF5OmlubGluZX0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuZmxleHtkaXNwbGF5OmZsZXh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuZ3JpZHtkaXNwbGF5OmdyaWR9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ud29ya3RyZWUtbWVyZ2UtY29udGVudCAud29ya3RyZWUtbWVyZ2Utcm93IC5qdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnctZnVsbHt3aWR0aDoxMDAlfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAuYm9yZGVyLXN1YnRsZXtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS53b3JrdHJlZS1tZXJnZS1jb250ZW50IC53b3JrdHJlZS1tZXJnZS1yb3cgLnB5LXNte3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo0cHh9Lndvcmt0cmVlLW1lcmdlLWNvbnRlbnQgLndvcmt0cmVlLW1lcmdlLXJvdyAucHktbWR7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH1AbWVkaWEoaG92ZXI6aG92ZXIpey5zZXNzaW9uLWl0ZW0gLnNlc3Npb24tYWN0aW9uc3tvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlfS5zZXNzaW9uLWl0ZW06aG92ZXIgLnNlc3Npb24tYWN0aW9ucywuc2Vzc2lvbi1pdGVtLmFjdGl2ZSAuc2Vzc2lvbi1hY3Rpb25zLC5zZXNzaW9uLWl0ZW0uc3dpcGVkIC5zZXNzaW9uLWFjdGlvbnN7b3BhY2l0eToxfS5zZXNzaW9uLWl0ZW0gLnNlc3Npb24tYWN0aW9uczpoYXMoLnNlc3Npb24tYWN0aW9uLWJ0bltkYXRhLWFjdGlvbj1yZXN1bWVdKXtvcGFjaXR5OjF9fUBtZWRpYShob3Zlcjpub25lKXsuc2Vzc2lvbi1pdGVtIC5zZXNzaW9uLWFjdGlvbnN7b3BhY2l0eToxfX0uc2Vzc2lvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2ZmZmRmYWY1O2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym94LXNoYWRvdzowIDJweCA4cHggIzU5M2EyMDEyfS5zZXNzaW9uLWl0ZW06aG92ZXI6YmVmb3Jle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlWSgxKX0uc2Vzc2lvbi1pdGVtLmFjdGl2ZXtiYWNrZ3JvdW5kOiNmZmY3ZjBmNTtib3JkZXItY29sb3I6I2M1NjUzZDRkO2JveC1zaGFkb3c6MCAycHggOHB4ICNjNTY1M2QxYX0uc2Vzc2lvbi1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk5KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uc2Vzc2lvbi1jb21tYW5ke2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6LjgxMjVyZW07d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAxZW19LnNlc3Npb24tdGl0bGV7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzotLjAxZW07bGluZS1oZWlnaHQ6MS4zfS5zZXNzaW9uLW1ldGF7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4LXdyYXA6d3JhcH0uc2Vzc2lvbi1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouNjg3NXJlbTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zZXNzaW9uLXN0YXR1cy1kb3R7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMucnVubmluZyAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Ym94LXNoYWRvdzowIDAgNXB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyk7YW5pbWF0aW9uOnN0YXR1cy1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX0uc2Vzc2lvbi1zdGF0dXMuZXhpdGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1zdGF0dXMuZmFpbGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy5zdG9wcGVkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucnVubmluZ3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5zZXNzaW9uLXN0YXR1cy5mYWlsZWR7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnNlc3Npb24tc3RhdHVzLnN0b3BwZWR7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0uc2Vzc2lvbi1zdGF0dXMucGVybWlzc2lvbi1ibG9ja2Vke2JhY2tncm91bmQ6I2YwYTUwMDI0O2NvbG9yOiNkMThiMDB9LnNlc3Npb24tc3RhdHVzLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMuYXJjaGl2ZWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9QGtleWZyYW1lcyBzdGF0dXMtcHVsc2V7MCUsdG97b3BhY2l0eToxfTUwJXtvcGFjaXR5Oi41fX0uc2Vzc2lvbi1pZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9LnNlc3Npb24tZ3JvdXAtLWhpc3Rvcnl7bWFyZ2luLXRvcDphdXRvO3BhZGRpbmctdG9wOjZweH0uc2Vzc2lvbi1oaXN0b3J5LXRvZ2dsZSAuaGlzdG9yeS1jb3VudC5sb2FkaW5ne2xldHRlci1zcGFjaW5nOi4xMmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cGFkZGluZy1sZWZ0OjJweDtwYWRkaW5nLXJpZ2h0OjJweH0uc2Vzc2lvbi1oaXN0b3J5LWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O3BhZGRpbmc6MnB4IDAgNHB4O2FuaW1hdGlvbjpoaXN0b3J5Qm9keUZhZGVJbiAuMjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfUBrZXlmcmFtZXMgaGlzdG9yeUJvZHlGYWRlSW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnNpZGViYXItaGlzdG9yeS10b29sYmFye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzoycHggNHB4IDZweDtmbGV4LXNocmluazowfS5zaWRlYmFyLWhpc3RvcnktY2xlYXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwfS5zaWRlYmFyLWhpc3RvcnktY2xlYXI6aG92ZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCl9LnNpZGViYXItaGlzdG9yeS1zY3JvbGx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS5zaWRlYmFyLWZvb3RlcntwYWRkaW5nOjEycHggMTJweCAxNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7YmFja2dyb3VuZDojZmZmYmY1YjN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDU2cHgsMWZyKSk7Z2FwOjRweH0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo3cHggNHB4O21pbi1oZWlnaHQ6NDZweDtib3JkZXItcmFkaXVzOjlweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3Zne3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NTt0cmFuc2l0aW9uOm9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmhvdmVye2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDojOTY3NjU1MTQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bjpob3ZlciBzdmd7b3BhY2l0eToxfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXR7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLnNpZGViYXItbG9nb3V0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTNweDt0b3A6MjIlO2JvdHRvbToyMiU7d2lkdGg6MXB4O2JhY2tncm91bmQ6dmFyKC0tYm9yZGVyLXN1YnRsZSk7cG9pbnRlci1ldmVudHM6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuc2lkZWJhci1sb2dvdXQ6aG92ZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLnNpZGViYXItbG9nb3V0OmhvdmVyIHN2Z3tjb2xvcjp2YXIoLS1kYW5nZXIpfS5zaWRlYmFyLW1ldGF7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmbGV4LXdyYXA6d3JhcH0udG9wYmFyLWJ0bntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo1cHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjZweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7aGVpZ2h0OjMycHg7bWluLWhlaWdodDozMnB4O3doaXRlLXNwYWNlOm5vd3JhcDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGluZS1oZWlnaHQ6MTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0udG9wYmFyLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY4MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS50b3BiYXItYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0udG9wYmFyLWJ0bi5hY3RpdmV7YmFja2dyb3VuZDojZmZmZmZmYjM7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDFweCA0cHggIzU5M2EyMDFhfS50b3BiYXItYnRuLnNxdWFyZXt3aWR0aDozMnB4O3BhZGRpbmc6MDtmb250LXNpemU6Ljg3NXJlbX0jcHdhLWluc3RhbGwtYnV0dG9ue2NvbG9yOnZhcigtLWFjY2VudCl9I3B3YS1pbnN0YWxsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtjb2xvcjp2YXIoLS1hY2NlbnQpfSN0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6I2M1NjUzZDMzfSN0ZXJtaW5hbC1pbnRlcmFjdGl2ZS10b2dnbGUtdG9wLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QyZX0uYnRue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjZweDtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAwNWVtO3BhZGRpbmc6MCAxNnB4O2hlaWdodDozOHB4O21pbi1oZWlnaHQ6MzhweDtib3JkZXItcmFkaXVzOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLGJvcmRlci1jb2xvciAuMTVzIGVhc2UsY29sb3IgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMThzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bjpmb2N1c3tvdXRsaW5lOm5vbmV9LmJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMCAwIDJweCB2YXIoLS1iZy1wcmltYXJ5KSwwIDAgMCA0cHggdmFyKC0tYWNjZW50KX0uYnRuOmRpc2FibGVkLC5idG5bZGlzYWJsZWRde29wYWNpdHk6LjQ1O2N1cnNvcjpub3QtYWxsb3dlZDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50LWhvdmVyKSAwJSx2YXIoLS1hY2NlbnQpIDEwMCUpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSk7Ym94LXNoYWRvdzowIDFweCAycHggI2M1NjUzZDUyLDAgNHB4IDEwcHggLTJweCAjYzU2NTNkNTIsaW5zZXQgMCAxcHggI2ZmZmZmZjM4LGluc2V0IDAgLTFweCAjNTkzYTIwMmV9LmJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZDY4NTVlIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDJweCA0cHggI2M1NjUzZDUyLDAgOHB4IDIwcHggLTRweCAjYzU2NTNkNjYsaW5zZXQgMCAxcHggI2ZmZmZmZjQ3LGluc2V0IDAgLTFweCAjNTkzYTIwMmV9LmJ0bi1wcmltYXJ5OmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSAwJSx2YXIoLS1hY2NlbnQtYWN0aXZlKSAxMDAlKTtib3gtc2hhZG93OjAgMXB4IDJweCAjYzU2NTNkNDcsaW5zZXQgMCAxcHggIzU5M2EyMDJlO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30uYnRuLXNlY29uZGFyeXtiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkyNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5idG4tc2Vjb25kYXJ5OmFjdGl2ZXtiYWNrZ3JvdW5kOiM3ZDViMzkzMzt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LmJ0bi1vdXRsaW5le2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3JkZXItY29sb3I6IzdkNWIzOTMzfS5idG4tb3V0bGluZTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkwZjtib3JkZXItY29sb3I6IzdkNWIzOTUyfS5idG4tb3V0bGluZTphY3RpdmV7YmFja2dyb3VuZDojN2Q1YjM5MWY7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tZ2hvc3R7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uYnRuLWdob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kOiM3ZDViMzkyNDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LmJ0bi1kYW5nZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MTQ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1Mjk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uYnRuLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZDojYjI0ZjQ1M2Q7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tZGFuZ2VyLmJ0bi1kYW5nZXItc29saWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWRhbmdlci1ob3ZlcikgMCUsdmFyKC0tZGFuZ2VyKSAxMDAlKTtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UpO2JveC1zaGFkb3c6MCAxcHggMnB4ICNiMjRmNDU1MiwwIDRweCAxMHB4IC0ycHggI2IyNGY0NTUyLGluc2V0IDAgMXB4ICNmZmYzfS5idG4tZGFuZ2VyLmJ0bi1kYW5nZXItc29saWQ6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNjNDY1NWEgMCUsdmFyKC0tZGFuZ2VyLWhvdmVyKSAxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX0uYnRuLWRhbmdlcjpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1kYW5nZXIpfS5idG4tc3VjY2Vzc3tiYWNrZ3JvdW5kOiM0ZjdhNTgxYTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQ6IzRmN2E1ODJlO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5idG4tc3VjY2VzczphY3RpdmV7YmFja2dyb3VuZDojNGY3YTU4NDI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5idG4tc3VjY2Vzczpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWJnLXByaW1hcnkpLDAgMCAwIDRweCB2YXIoLS1zdWNjZXNzKX0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmJ0bi14c3toZWlnaHQ6MjZweDttaW4taGVpZ2h0OjI2cHg7cGFkZGluZzowIDEwcHg7Zm9udC1zaXplOi43NXJlbTtib3JkZXItcmFkaXVzOjdweDtnYXA6NHB4fS5idG4tc217aGVpZ2h0OjMycHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZTouODEyNXJlbTtib3JkZXItcmFkaXVzOjhweDtnYXA6NXB4fS5idG4tbGd7aGVpZ2h0OjQ2cHg7bWluLWhlaWdodDo0NnB4O3BhZGRpbmc6MCAyMnB4O2ZvbnQtc2l6ZTouOTM3NXJlbTtib3JkZXItcmFkaXVzOjEycHg7Z2FwOjhweH0uYnRuLWljb257cGFkZGluZzowO3dpZHRoOjM2cHg7bWluLXdpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6OHB4O2dhcDowfS5idG4taWNvbi5zbSwuYnRuLWljb24uYnRuLXNte3dpZHRoOjMwcHg7bWluLXdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWluLWhlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6N3B4fS5idG4taWNvbiBzdmd7ZmxleC1zaHJpbms6MH0ubWFpbi1jb250ZW50e2ZsZXg6MTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFpbi1jb250ZW50LmZpbGUtcGFuZWwtb3BlbnttYXJnaW4tcmlnaHQ6dmFyKC0tbGF5b3V0LW1haW4tZmlsZS1wYW5lbC13aWR0aCk7dHJhbnNpdGlvbjptYXJnaW4tcmlnaHQgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udGVybWluYWwtaW5mb3tmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo1MDB9Lm1haW4taGVhZGVyLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NnB4IDEwcHg7ZmxleC1zaHJpbms6MDttaW4taGVpZ2h0OjQ0cHg7Z2FwOjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWFpbi1oZWFkZXItcm93OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7aGVpZ2h0OjJweDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuODUpIDM1JSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksMSkgNTAlLHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuODUpIDY1JSx0cmFuc3BhcmVudCAxMDAlKTtiYWNrZ3JvdW5kLXNpemU6MjIwJSAxMDAlO2JhY2tncm91bmQtcG9zaXRpb246MTAwJSBjZW50ZXI7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2V9Lm1haW4taGVhZGVyLXJvdy5pcy1ydW5uaW5nOmFmdGVye29wYWNpdHk6MTthbmltYXRpb246dG9wYmFyUHJvZ3Jlc3NGbG93IDEuNnMgbGluZWFyIGluZmluaXRlfS5tYWluLWhlYWRlci1yb3cuaXMtcGVybWlzc2lvbi1ibG9ja2VkOmFmdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAlLHJnYmEoMTY5LDEwNiw0NywuODUpIDM1JSxyZ2JhKDE2OSwxMDYsNDcsMSkgNTAlLHJnYmEoMTY5LDEwNiw0NywuODUpIDY1JSx0cmFuc3BhcmVudCAxMDAlKTtiYWNrZ3JvdW5kLXNpemU6MjIwJSAxMDAlO2FuaW1hdGlvbi1kdXJhdGlvbjoyLjRzfUBrZXlmcmFtZXMgdG9wYmFyUHJvZ3Jlc3NGbG93ezAle2JhY2tncm91bmQtcG9zaXRpb246MTAwJSBjZW50ZXJ9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMTAwJSBjZW50ZXJ9fUBtZWRpYShwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1haW4taGVhZGVyLXJvdy5pcy1ydW5uaW5nOmFmdGVye2FuaW1hdGlvbjpub25lO29wYWNpdHk6Ljd9fS50b3BiYXItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC1zaHJpbms6MH0udG9wYmFyLWNlbnRlcntmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O292ZXJmbG93OmhpZGRlbn0udG9wYmFyLXJpZ2h0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtmbGV4LXNocmluazowfS50b3BiYXItYnJhbmR7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpLHZhcigtLWFjY2VudC1hY3RpdmUpKTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6Ljg1cmVtO2xldHRlci1zcGFjaW5nOi4wMmVtO2JveC1zaGFkb3c6MCAxcHggM3B4ICM1OTNhMjAyZTt1c2VyLXNlbGVjdDpub25lO2ZsZXgtc2hyaW5rOjB9LnRvcGJhci1zZXNzaW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6Ljg1cmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZsZXgtc2hyaW5rOjA7bWF4LXdpZHRoOjI0MHB4fS50b3BiYXItY3dke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttaW4td2lkdGg6MDtmbGV4OjEgMSAwO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjZweDtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246bGVmdDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b3BiYXItY3dkOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjhjO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0udG9wYmFyLXRhZ2xpbmV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43OHJlbTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9QG1lZGlhKGRpc3BsYXktbW9kZTpzdGFuZGFsb25lKXsubWFpbi1oZWFkZXItcm93e3BhZGRpbmctdG9wOjEwcHh9fS5pcy1wd2EgLm1haW4taGVhZGVyLXJvd3twYWRkaW5nLXRvcDoxMHB4fS5zZXNzaW9uLXN0YXR1cy1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOXB4IDJweCA3cHg7ZmxleC1zaHJpbms6MDttYXgtd2lkdGg6MTQwcHg7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtZG90e3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1zdGF0dXMtcGlsbCAuc2Vzc2lvbi1zdGF0dXMtdGV4dHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5ne2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg0ZDtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5ydW5uaW5nIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLnBlcm1pc3Npb24tYmxvY2tlZHtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2JvcmRlci1jb2xvcjojYTk2YTJmNTk7Y29sb3I6dmFyKC0td2FybmluZyl9LnNlc3Npb24tc3RhdHVzLXBpbGwucGVybWlzc2lvbi1ibG9ja2VkIC5zZXNzaW9uLXN0YXR1cy1kb3R7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTthbmltYXRpb246dGFzay1wdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlfS5zZXNzaW9uLXN0YXR1cy1waWxsLmV4aXRlZCwuc2Vzc2lvbi1zdGF0dXMtcGlsbC5zdG9wcGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZHtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNiMjRmNDU0ZDtjb2xvcjp2YXIoLS1kYW5nZXIpfS5zZXNzaW9uLXN0YXR1cy1waWxsLmZhaWxlZCAuc2Vzc2lvbi1zdGF0dXMtZG90e2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKX0uc2Vzc2lvbi1zdGF0dXMtcGlsbC5hcmNoaXZlZHtvcGFjaXR5Oi43fS5zZXNzaW9uLXN0YXR1cy1waWxsIC5zZXNzaW9uLXN0YXR1cy1lbGFwc2Vke2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6NHB4O3BhZGRpbmctbGVmdDo2cHg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvcGFjaXR5Oi43NTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNjVyZW07bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5jdXJyZW50LXRhc2t7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yKTtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoycHggOHB4IDJweCA1cHg7Zm9udC13ZWlnaHQ6NTAwO21heC13aWR0aDoyNDBweDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47ZmxleC1zaHJpbms6MTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uY3VycmVudC10YXNrOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtmbGV4LXNocmluazowO2FuaW1hdGlvbjp0YXNrLXB1bHNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0YXNrLXB1bHNlezAlLHRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6LjU7dHJhbnNmb3JtOnNjYWxlKC44KX19LnRvcGJhci1tb3JlLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleH0udG9wYmFyLW1vcmUtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNnB4KTtyaWdodDowO21pbi13aWR0aDoxNjhweDtiYWNrZ3JvdW5kOnZhcigtLWJnLWVsZXZhdGVkKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzo0cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctbGcpO3otaW5kZXg6NjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4fS50b3BiYXItbW9yZS1tZW51LmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O3dpZHRoOjEwMCU7cGFkZGluZzo4cHggMTJweDtib3JkZXI6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjhweDt0ZXh0LWFsaWduOmxlZnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udG9wYmFyLW1vcmUtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KX0udG9wYmFyLW1vcmUtaXRlbSBzdmd7ZmxleC1zaHJpbms6MDtvcGFjaXR5Oi44NX0udG9wYmFyLW1vcmUtaXRlbS50b3BiYXItbW9yZS1pdGVtLWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50b3BiYXItbW9yZS1pdGVtLnRvcGJhci1tb3JlLWl0ZW0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXItaG92ZXIpfS50b3BiYXItbW9yZS1pdGVtLmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvcGJhci1tb3JlLWl0ZW1bZGlzYWJsZWRde29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkfS50b3BiYXItbW9yZS1pdGVtW2Rpc2FibGVkXTpob3ZlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnRvcGJhci1tb3JlLWRpdmlkZXJ7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtvcGFjaXR5Oi42fS50ZXJtaW5hbC1zY2FsZS10b2dnbGV7ZGlzcGxheTpmbGV4fS50ZXJtaW5hbC10b29sLWJ0bntkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlLXBhbmVsLXRvZ2dsZXtkaXNwbGF5OmZsZXh9LnRlcm1pbmFsLWNvbnRhaW5lcntmbGV4OjE7ZGlzcGxheTpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCB0b3AgcmlnaHQscmdiYSg5MSw1OCwzNCwuMiksdHJhbnNwYXJlbnQgMzUlKSxyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGJvdHRvbSBsZWZ0LHJnYmEoMTk3LDEwMSw2MSwuMDgpLHRyYW5zcGFyZW50IDQwJSksbGluZWFyLWdyYWRpZW50KDE4MGRlZywjMmEyMjFjLCMxZjFiMTcsIzFhMTYxMyk7b3ZlcmZsb3c6aGlkZGVuO21pbi1oZWlnaHQ6MDttaW4td2lkdGg6MDttYXJnaW46MCA2cHggNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTQwLDExMCw4NSwuMzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZmZmZjBmLDAgOHB4IDMycHggIzAwMDAwMDU5LDAgMnB4IDhweCAjMDAwMztwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCl9LnRlcm1pbmFsLWNvbnRhaW5lci5hY3RpdmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnRlcm1pbmFsLXNjcm9sbC13cmFwe3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO3Njcm9sbGJhci13aWR0aDpub25lO3BhZGRpbmc6MTJweDtib3JkZXItcmFkaXVzOjA7Ym94LXNoYWRvdzpub25lOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3RleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vbmU7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJsaWdhIiAwLCJjbGlnIiAwLCJjYWx0IiAwLCJkbGlnIiAwO2ZvbnQta2VybmluZzpub25lOy0tdGVybS1mZzogI2Y1ZWFkYzstLXRlcm0tYmc6IHRyYW5zcGFyZW50Oy0tdGVybS1jdXJzb3I6ICNkNjdiNTI7LS10ZXJtLWZvbnQtZmFtaWx5OiAiR2Vpc3QgTW9ubyIsICJTRiBNb25vIiwgbW9ub3NwYWNlOy0tdGVybS1mb250LXNpemU6IDEzcHg7LS10ZXJtLWxpbmUtaGVpZ2h0OiB2YXIoLS10ZXJtLXJvdy1oZWlnaHQpOy0tdGVybS1yb3ctaGVpZ2h0OiAyMHB4Oy0tdGVybS1jb2xvci0wOiAjMWYxYjE3Oy0tdGVybS1jb2xvci0xOiAjZDI3NzY2Oy0tdGVybS1jb2xvci0yOiAjN2ZhMzZmOy0tdGVybS1jb2xvci0zOiAjZDVhMzViOy0tdGVybS1jb2xvci00OiAjODdhOWQ5Oy0tdGVybS1jb2xvci01OiAjYzU5NWM3Oy0tdGVybS1jb2xvci02OiAjN2ZiM2IxOy0tdGVybS1jb2xvci03OiAjZjVlYWRjOy0tdGVybS1jb2xvci04OiAjNjI1MzQ3Oy0tdGVybS1jb2xvci05OiAjZTM5YTg5Oy0tdGVybS1jb2xvci0xMDogIzljYzA4YTstLXRlcm0tY29sb3ItMTE6ICNlYmJiNmU7LS10ZXJtLWNvbG9yLTEyOiAjYThjMWVhOy0tdGVybS1jb2xvci0xMzogI2RiYjFkYzstLXRlcm0tY29sb3ItMTQ6ICM5YWNiY2E7LS10ZXJtLWNvbG9yLTE1OiAjZmZmN2VmfS50ZXJtaW5hbC1zY3JvbGwtd3JhcDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS50ZXJtaW5hbC1zY3JvbGwtd3JhcCA6OnNlbGVjdGlvbntiYWNrZ3JvdW5kOiNkNjdiNTI0N30udGVybWluYWwtc2Nyb2xsLXdyYXAgLnRlcm0tZ3JpZHttaW4taGVpZ2h0OjEwMCV9LnRlcm1pbmFsLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NHB4O3JpZ2h0OjJweDtib3R0b206NHB4O3dpZHRoOjE0cHg7ei1pbmRleDoxMDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3BvaW50ZXItZXZlbnRzOm5vbmV9LnRlcm1pbmFsLXNjcm9sbGJhci52aXNpYmxle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS50ZXJtaW5hbC1zY3JvbGxiYXItdHJhY2t7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4fS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6M3B4O3dpZHRoOjhweDttaW4taGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojYjQ5Njc4NTk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSx3aWR0aCAuMTVzIGVhc2UscmlnaHQgLjE1cyBlYXNlfS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojYzhhYThjOGM7d2lkdGg6MTBweDtyaWdodDoycHh9LnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYi5kcmFnZ2luZywudGVybWluYWwtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kOiNkY2I5OTZiMzt3aWR0aDoxMHB4O3JpZ2h0OjJweH1AbWVkaWEocG9pbnRlcjpjb2Fyc2Upey50ZXJtaW5hbC1zY3JvbGxiYXIsLnRlcm1pbmFsLXNjcm9sbGJhci10cmFja3t3aWR0aDoyMHB4fS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWJ7d2lkdGg6MTJweDtyaWdodDo0cHg7bWluLWhlaWdodDozNnB4fS50ZXJtaW5hbC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsLnRlcm1pbmFsLXNjcm9sbGJhci10aHVtYi5kcmFnZ2luZ3t3aWR0aDoxNHB4O3JpZ2h0OjNweH19LnRlcm1pbmFsLWNvbnRhaW5lcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNjNTY1M2Q4MDtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYxNCwwIDhweCAzMnB4ICMwMDA2LDAgMCAwIDJweCAjYzU2NTNkMjZ9LnRlcm1pbmFsLXJlc2l6ZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjNweDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO3dpZHRoOjQ4cHg7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOiNmZmZmZmYxNDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtjdXJzb3I6bnMtcmVzaXplO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6N3B4O2NvbG9yOiNmZmZmZmY0MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjI1cyB2YXIoLS1lYXNlLW91dC1leHBvKTt6LWluZGV4OjEwO3BvaW50ZXItZXZlbnRzOmF1dG99LnRlcm1pbmFsLXJlc2l6ZS1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IlwyMmVlXDIyZWUiO2xldHRlci1zcGFjaW5nOjhweDtmb250LXNpemU6NnB4fS50ZXJtaW5hbC1yZXNpemUtaGFuZGxlOmhvdmVye29wYWNpdHk6MTtiYWNrZ3JvdW5kOiNmZmZmZmYyNjtjb2xvcjojZmZmZmZmODA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSBzY2FsZSgxLjEpfS50ZXJtaW5hbC1jb250YWluZXI6aG92ZXIgLnRlcm1pbmFsLXJlc2l6ZS1oYW5kbGV7b3BhY2l0eTouN30udGVybWluYWwtY29udGFpbmVyLmludGVyYWN0aXZle2JvcmRlci1jb2xvcjojNGY3YTU4OGM7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmMGYsMCAwIDAgMnB4ICM0ZjdhNTg0MCwwIDhweCAzMnB4ICMwMDAwMDA1OX0udGVybWluYWwtY29udGFpbmVyLmludGVyYWN0aXZlOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDoycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnQsdmFyKC0tc3VjY2VzcyksdHJhbnNwYXJlbnQpO2FuaW1hdGlvbjp0ZXJtaW5hbC1hY3RpdmUtcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0ZXJtaW5hbC1hY3RpdmUtcHVsc2V7MCUsdG97b3BhY2l0eTouNX01MCV7b3BhY2l0eToxfX0udGVybWluYWwtY29udGFpbmVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQ4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMjYsMjIsMTksLjUpLHRyYW5zcGFyZW50KTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7ei1pbmRleDoxMjtib3JkZXItcmFkaXVzOjAgMCB2YXIoLS1yYWRpdXMtbWQpIHZhcigtLXJhZGl1cy1tZCl9LnRlcm1pbmFsLWNvbnRhaW5lci5oYXMtanVtcC1idG46YWZ0ZXJ7b3BhY2l0eToxfS52aWV3LXRvZ2dsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7YmFja2dyb3VuZDojZjBlNWQ3OTk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7cGFkZGluZzoycHg7ZmxleC1zaHJpbms6MDtoZWlnaHQ6MzJweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZXctdG9nZ2xlLWJ0bntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjAgMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7aGVpZ2h0OjI4cHg7bWluLWhlaWdodDoyOHB4O3doaXRlLXNwYWNlOm5vd3JhcH0udmlldy10b2dnbGUtYnRuOmhvdmVye2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOiNmZmY5fS52aWV3LXRvZ2dsZS1idG4uYWN0aXZle2JhY2tncm91bmQ6I2ZmZjtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JveC1zaGFkb3c6MCAxcHggNHB4ICM1OTNhMjAxZjtmb250LXdlaWdodDo2MDB9LnRlcm1pbmFsLXRvb2wtYnRue2ZsZXgtc2hyaW5rOjB9LnRlcm1pbmFsLXNjYWxlLWJ0bnttaW4td2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgNHB4O2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMH0udGVybWluYWwtc2NhbGUtbGFiZWx7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21pbi13aWR0aDozMnB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAycHh9LnRlcm1pbmFsLXNjYWxlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDtyaWdodDo4cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjFweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjdweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtiYWNrZ3JvdW5kOiMxODE0MTE2MTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JveC1zaGFkb3c6MCA2cHggMThweCAjMDAwMDAwMmU7b3BhY2l0eTouNzI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgZWFzZSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlO3otaW5kZXg6MTI7cG9pbnRlci1ldmVudHM6YXV0b30udGVybWluYWwtY29udGFpbmVyOmhvdmVyIC50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LC50ZXJtaW5hbC1zY2FsZS1vdmVybGF5OmZvY3VzLXdpdGhpbntvcGFjaXR5OjE7YmFja2dyb3VuZDojMTgxNDExOGY7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG57bWluLXdpZHRoOjIycHg7aGVpZ2h0OjIycHg7cGFkZGluZzowIDNweDtjb2xvcjojZjVlYWRjZTA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjVweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0udGVybWluYWwtc2NhbGUtb3ZlcmxheS1idG46aG92ZXJ7YmFja2dyb3VuZDojZDY3YjUyMmU7Y29sb3I6I2ZmZjdlZmY1fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVse2ZvbnQtc2l6ZTouNjI1cmVtO2NvbG9yOiNmNWVhZGNhODttaW4td2lkdGg6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgM3B4fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWRpdmlkZXJ7d2lkdGg6MXB4O2hlaWdodDoxNHB4O2JhY2tncm91bmQ6I2Y1ZWFkYzMzO21hcmdpbjowIDJweH0udGVybWluYWwtanVtcC1ib3R0b217cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDtib3R0b206MTZweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDgpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzFjMTYxMmM3O2NvbG9yOiNmZmY3ZWZlYjtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDAsMCA4cHggMjJweCAjMDAwMDAwNTIsaW5zZXQgMCAxcHggI2ZmZmZmZjBmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMztvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoLjg2KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMjZzIHZhcigtLWVhc2Utb3V0LWV4cG8pLHRyYW5zZm9ybSAuMzJzIHZhcigtLWVhc2Utc3ByaW5nKSxiYWNrZ3JvdW5kIC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2V9LnRlcm1pbmFsLWp1bXAtYm90dG9tLnZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3BvaW50ZXItZXZlbnRzOmF1dG99LnRlcm1pbmFsLWp1bXAtYm90dG9tIHN2Z3t0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnRlcm1pbmFsLWp1bXAtYm90dG9tOmhvdmVye2JhY2tncm91bmQ6I2Q2N2I1MmViO2JvcmRlci1jb2xvcjojZmZmZmZmMmU7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDcsMCAxMHB4IDI2cHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmYyZX0udGVybWluYWwtanVtcC1ib3R0b206aG92ZXIgc3Zne3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEuNXB4KX0udGVybWluYWwtanVtcC1ib3R0b206YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC45Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDhzfS50ZXJtaW5hbC1qdW1wLWJvdHRvbTpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwNDcsMCAxMHB4IDI2cHggI2I4NWMzNzVjLGluc2V0IDAgMXB4ICNmZmZmZmYyZSwwIDAgMCAzcHggI2Q2N2I1MjU5fS50ZXJtaW5hbC1jb250YWluZXIuaW50ZXJhY3RpdmV7Ym9yZGVyLWNvbG9yOiM0ZjdhNTg4MDtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmYwYSwwIDAgMCAycHggIzRmN2E1ODQwLHZhcigtLXNoYWRvdy1zb2Z0KX0ubWluaS1rZXlib2FyZC1mYWJ7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjYwcHg7cmlnaHQ6MTZweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlcjpub25lO2ZvbnQtc2l6ZToxLjEyNXJlbTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNiODVjMzc1OTt6LWluZGV4OjEwMDt0cmFuc2l0aW9uOmFsbCAuMnMgdmFyKC0tZWFzZS1zcHJpbmcpfS5taW5pLWtleWJvYXJkLWZhYi52aXNpYmxle2Rpc3BsYXk6ZmxleH0ubWluaS1rZXlib2FyZC1mYWI6aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMSk7Ym94LXNoYWRvdzowIDZweCAyMHB4ICNiODVjMzc3M30ubWluaS1rZXlib2FyZC1mYWI6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTUpfS5taW5pLWtleWJvYXJke3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo2MHB4O3JpZ2h0OjE2cHg7YmFja2dyb3VuZDojMmExZjE2ZjU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyMiw5MSw2NCwuNSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JveC1zaGFkb3c6MCA4cHggMzJweCAjMDAwNjt6LWluZGV4OjEwMDA7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDoyNjBweDthbmltYXRpb246bWtTbGlkZVVwIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0ubWluaS1rZXlib2FyZC5oaWRkZW57ZGlzcGxheTpub25lfUBrZXlmcmFtZXMgbWtTbGlkZVVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguOTYpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19Lm1pbmkta2V5Ym9hcmQtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzoxMHB4IDE0cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC4yNSl9Lm1pbmkta2V5Ym9hcmQtdGl0bGV7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6I2Y1ZWFkY2IzO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9Lm1pbmkta2V5Ym9hcmQtY2xvc2V7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmZmZmYxNDtib3JkZXI6bm9uZTtjb2xvcjojZjVlYWRjOTk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi44NzVyZW07ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YWxsIC4xNXMgZWFzZTtsaW5lLWhlaWdodDoxfS5taW5pLWtleWJvYXJkLWNsb3NlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjI2O2NvbG9yOiNmNWVhZGNlNn0ubWluaS1rZXlib2FyZC1ib2R5e3BhZGRpbmc6MTBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHh9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7Lm1pbmkta2V5Ym9hcmR7Ym90dG9tOjIwcHg7cmlnaHQ6MTBweDtsZWZ0OjEwcHg7bWluLXdpZHRoOjB9Lm1pbmkta2V5Ym9hcmQtZmFie2JvdHRvbToyMHB4O3JpZ2h0OjE2cHh9fS5jaGF0LWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjE7ZGlzcGxheTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAyMHB4IDE2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMjU1LDI1MiwyNDgsLjUpIDAlLHRyYW5zcGFyZW50IDEwMCUpfS5jaGF0LXVucmVhZC1idWJibGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDtib3R0b206MTBweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo2cHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7cGFkZGluZzowIDEwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNzIpO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojZmZmY2Y4ZWI7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxO2xldHRlci1zcGFjaW5nOi4wMWVtO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpO2JveC1zaGFkb3c6MCAxcHggM3B4ICM1OTNhMjAxZiwwIDEwcHggMjRweCAjYjg1YzM3MmUsaW5zZXQgMCAxcHggI2ZmZjk7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMztvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KSBzY2FsZSguOSk7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI2cyB2YXIoLS1lYXNlLW91dC1leHBvKSx0cmFuc2Zvcm0gLjMycyB2YXIoLS1lYXNlLXNwcmluZyksYmFja2dyb3VuZCAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4ycyBlYXNlLGNvbG9yIC4xOHMgZWFzZSxwYWRkaW5nIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LmNoYXQtdW5yZWFkLWJ1YmJsZS52aXNpYmxle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtwb2ludGVyLWV2ZW50czphdXRvfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2ZmZmZmZmM3O3BhZGRpbmc6MCAxMnB4IDAgMTBweDtib3gtc2hhZG93OjAgMXB4IDNweCAjNTkzYTIwMmUsMCAxMnB4IDI4cHggI2I4NWMzNzUyLGluc2V0IDAgMXB4ICNmZmZmZmY0N30uY2hhdC11bnJlYWQtYnViYmxlLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0uY2hhdC11bnJlYWQtYnViYmxlOmhvdmVye2JhY2tncm91bmQ6I2ZmZmFmMjtib3gtc2hhZG93OjAgMnB4IDRweCAjNTkzYTIwMjksMCAxNHB4IDMwcHggI2I4NWMzNzNkLGluc2V0IDAgMXB4ICNmZmZmZmZiM30uY2hhdC11bnJlYWQtYnViYmxlLmhhcy11bnJlYWQ6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtaG92ZXIpO2JveC1zaGFkb3c6MCAycHggNXB4ICM1OTNhMjAzOCwwIDE0cHggMzJweCAjYjg1YzM3NmIsaW5zZXQgMCAxcHggI2ZmZmZmZjUyfS5jaGF0LXVucmVhZC1idWJibGU6aG92ZXIgLmNoYXQtdW5yZWFkLWJ1YmJsZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEuNXB4KX0uY2hhdC11bnJlYWQtYnViYmxlOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguOTQpO3RyYW5zaXRpb24tZHVyYXRpb246LjA4c30uY2hhdC11bnJlYWQtYnViYmxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lO2JveC1zaGFkb3c6MCAycHggNHB4ICM1OTNhMjAzMywwIDEycHggMjhweCAjYjg1YzM3NTIsaW5zZXQgMCAxcHggI2ZmZmZmZjUyLDAgMCAwIDNweCAjYzU2NTNkNTJ9LmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudHtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjE7bGV0dGVyLXNwYWNpbmc6LjAxZW07cG9pbnRlci1ldmVudHM6bm9uZX0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50LnZpc2libGV7ZGlzcGxheTppbmxpbmUtZmxleDthbmltYXRpb246Y2hhdFVucmVhZENvdW50UG9wIC4yMnMgdmFyKC0tZWFzZS1vdXQtYmFjaywgY3ViaWMtYmV6aWVyKC4zNCwgMS41NiwgLjY0LCAxKSl9LmNoYXQtdW5yZWFkLWJ1YmJsZS1jb3VudDphZnRlcntjb250ZW50OiIgXDY3NjFcNjViMFw2ZDg4XDYwNmYiO21hcmdpbi1sZWZ0OjJweDtmb250LXdlaWdodDo1MDA7b3BhY2l0eTouOTV9QGtleWZyYW1lcyBjaGF0VW5yZWFkQ291bnRQb3B7MCV7dHJhbnNmb3JtOnNjYWxlKC42KTtvcGFjaXR5OjB9dG97dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19LmNoYXQtdW5yZWFkLWRpdmlkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDttYXJnaW46NnB4IDRweCAycHg7cGFkZGluZzowIDJweDtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1hY2NlbnQpO2xldHRlci1zcGFjaW5nOi4wNGVtO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7YW5pbWF0aW9uOmNoYXRVbnJlYWREaXZpZGVySW4gLjMycyB2YXIoLS1lYXNlLW91dC1leHBvKSBmb3J3YXJkc30uY2hhdC11bnJlYWQtZGl2aWRlci1saW5le2ZsZXg6MTtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNjNTY1M2QwZCwjYzU2NTNkNTIsI2M1NjUzZDBkKX0uY2hhdC11bnJlYWQtZGl2aWRlci1sYWJlbHtmbGV4LXNocmluazowO3BhZGRpbmc6M3B4IDEwcHg7YmFja2dyb3VuZDojZmZmOGYwZjI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE4KTtib3JkZXItcmFkaXVzOjk5OXB4O2JveC1zaGFkb3c6MCAxcHggM3B4ICNiODVjMzcxYTt3aGl0ZS1zcGFjZTpub3dyYXB9QGtleWZyYW1lcyBjaGF0VW5yZWFkRGl2aWRlckluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5jaGF0LWNvbnRhaW5lci5hY3RpdmV7ZGlzcGxheTpmbGV4fS5jaGF0LWNvbnRhaW5lcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo0OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDI1NSwyNTIsMjQ4LC42KSx0cmFuc3BhcmVudCk7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO3otaW5kZXg6MTJ9LmNoYXQtY29udGFpbmVyLmhhcy1qdW1wLWJ0bjphZnRlcntvcGFjaXR5OjF9LmNoYXQtbWVzc2FnZXN7ZmxleDoxO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7Z2FwOjE2cHg7cGFkZGluZzoyMHB4IDRweCAxMnB4O21pbi1oZWlnaHQ6MDttaW4td2lkdGg6MDtzY3JvbGxiYXItZ3V0dGVyOnN0YWJsZTtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LmNoYXQtbG9hZC1tb3Jle2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6OHB4IDB9LmNoYXQtbG9hZC1tb3JlLWJ0bntiYWNrZ3JvdW5kOnZhcigtLWJnLWhvdmVyKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtwYWRkaW5nOjZweCAxNnB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS5jaGF0LWxvYWQtbW9yZS1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9QGtleWZyYW1lcyBtZXNzYWdlU2xpZGV7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE2cHgpIHNjYWxlKC45Nyk7ZmlsdGVyOmJsdXIoNnB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7ZmlsdGVyOmJsdXIoMCl9fUBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlVXNlcnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgyMHB4KSB0cmFuc2xhdGVZKDhweCkgc2NhbGUoLjk2KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKSB0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX1Aa2V5ZnJhbWVzIG1lc3NhZ2VGbG9hdHswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTNweCl9fS5jaGF0LW1lc3NhZ2V7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDttYXJnaW46NHB4IDA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLHRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7LS1jaGF0LWNhcmQtbWF4LXdpZHRoOiA3MjBweH0uY2hhdC1tZXNzYWdlOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfUBtZWRpYShob3Zlcjpub25lKXsuY2hhdC1tZXNzYWdlOmhvdmVye3RyYW5zZm9ybTpub25lfS5jaGF0LW1lc3NhZ2U6aG92ZXIgLmNoYXQtbWVzc2FnZS1idWJibGV7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50OmhvdmVyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSl9fS5jaGF0LW1lc3NhZ2UudXNlcnthbGlnbi1zZWxmOmZsZXgtZW5kfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50e2FsaWduLXNlbGY6ZmxleC1zdGFydDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5jaGF0LW1lc3NhZ2Uuc3lzdGVtLWluZm97YWxpZ24tc2VsZjpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7d2lkdGg6MTAwJTttYXJnaW46MTBweCAwO2FuaW1hdGlvbjptZXNzYWdlRmxvYXQgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnN5c3RlbS1pbmZvLWNhcmR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM2MzY2ZjExNCwjNjM2NmYxMGEpO2JvcmRlcjoxcHggc29saWQgcmdiYSg5OSwxMDIsMjQxLC4yKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7cGFkZGluZzoxMnB4IDE2cHg7Zm9udC1zaXplOi44MTI1cmVtO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKX0uc3lzdGVtLWluZm8taGVhZGVye2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNjM2NmYxZjI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1zaXplOi42ODc1cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDhlbTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHh9LnN5c3RlbS1pbmZvLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiIjt3aWR0aDo4cHg7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOiM2MzY2ZjE5OTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKX0uc3lzdGVtLWluZm8tY29udGVudHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7bWF4LWhlaWdodDoyMDBweDtvdmVyZmxvdy15OmF1dG99LmNoYXQtbWVzc2FnZS5hbmltYXRlLWlue2FuaW1hdGlvbjptZXNzYWdlU2xpZGUgLjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtLGZpbHRlcn0uY2hhdC1tZXNzYWdlLnVzZXIuYW5pbWF0ZS1pbnthbmltYXRpb246bWVzc2FnZVNsaWRlVXNlciAuNHMgdmFyKC0tZWFzZS1vdXQtYmFjayl9LmNoYXQtbWVzc2FnZS1hdmF0YXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6MCAycHggNHB4fS5jaGF0LW1lc3NhZ2UtYXZhdGFyLmFzc2lzdGFudHtmbGV4LWRpcmVjdGlvbjpyb3d9LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlcntmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ucGl4ZWwtYXZhdGFye3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOjZweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSk7Ym94LXNoYWRvdzowIDFweCAzcHggIzAwMDAwMDI2fS5waXhlbC1hdmF0YXItaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6Y292ZXJ9LnBpeGVsLWF2YXRhci1zdmd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWR9LmF2YXRhci1uYW1le2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAzZW07bGluZS1oZWlnaHQ6MX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudCAuYXZhdGFyLW5hbWV7Y29sb3I6dmFyKC0tYWNjZW50KX0uY2hhdC1tZXNzYWdlLnVzZXIgLmF2YXRhci1uYW1le2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpfS5jaGF0LW1lc3NhZ2UtYnViYmxle3BhZGRpbmc6MTJweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDp2YXIoLS1saW5lLWhlaWdodC1yZWxheGVkKTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zbSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbWVzc2FnZTpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCl9LmNoYXQtbWVzc2FnZS51c2VyIC5jaGF0LW1lc3NhZ2UtYnViYmxle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZykgdmFyKC0tcmFkaXVzLWxnKSB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1sZyk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmZmZmMjZ9LmNoYXQtbWVzc2FnZS51c2Vye21heC13aWR0aDoxMDAlfS5jaGF0LW1lc3NhZ2UuYXNzaXN0YW50IC5jaGF0LW1lc3NhZ2UtYnViYmxle2JhY2tncm91bmQ6dmFyKC0tYmctc3VyZmFjZSk7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjE0cHggMThweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX0uY2hhdC1tZXNzYWdlLmFzc2lzdGFudDpob3ZlciAuY2hhdC1tZXNzYWdlLWJ1YmJsZXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LXNvZnQpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LW1kKX0uY2hhdC1tZXNzYWdlLWNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7b3ZlcmZsb3cteDpoaWRkZW47Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQtcmVsYXhlZCk7d29yZC13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YW55d2hlcmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtbWVzc2FnZS1jb250ZW50Pi50aGlua2luZy1pbmxpbmUsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi5pbmxpbmUtdG9vbCwuY2hhdC1tZXNzYWdlLWNvbnRlbnQ+LnRlcm1pbmFsLXRvb2wsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi5kaWZmLXRvb2wsLmNoYXQtbWVzc2FnZS1jb250ZW50Pi50b29sLXVzZS1jYXJkLC5jaGF0LW1lc3NhZ2UtY29udGVudD4udG9vbC1ncm91cHttYXJnaW46M3B4IDB9LmNoYXQtbWVzc2FnZS5tdWx0aS1hZ2VudHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNoYXQtbWVzc2FnZS51c2VyLm11bHRpLWFnZW50e2FsaWduLXNlbGY6ZmxleC1zdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnQgLmNoYXQtbWVzc2FnZS1zZWdtZW50e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7Ym94LXNpemluZzpib3JkZXItYm94fS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnQgLmNoYXQtbWVzc2FnZS1zZWdtZW50LnN1YmFnZW50e3BhZGRpbmctbGVmdDoxMHB4O21hcmdpbi1sZWZ0OjZweDtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWJvcmRlci1zdWJ0bGUpKTtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwO3dpZHRoOmNhbGMoMTAwJSAtIDZweCk7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDZweCl9LmNoYXQtbWVzc2FnZS5tdWx0aS1hZ2VudCAuY2hhdC1tZXNzYWdlLXNlZ21lbnQuc3ViYWdlbnQgLmNoYXQtbWVzc2FnZS1jb250ZW50e29wYWNpdHk6Ljk2fS5jaGF0LW1lc3NhZ2UubXVsdGktYWdlbnQgLmNoYXQtbWVzc2FnZS1zZWdtZW50IC5jaGF0LW1lc3NhZ2UtYXZhdGFye3BhZGRpbmctYm90dG9tOjRweH0uY2hhdC1tZXNzYWdlLWF2YXRhci5zdWJhZ2VudCAuYXZhdGFyLW5hbWV7Y29sb3I6dmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpfS5jaGF0LWhhbmRvZmZ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O21hcmdpbjo0cHggMCAycHggNHB4O3BhZGRpbmc6MnB4IDEwcHg7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JhY2tncm91bmQ6I2M1NjUzZDE0O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDglLHRyYW5zcGFyZW50KTtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpO2JvcmRlci1yYWRpdXM6MCA4cHggOHB4IDA7bGluZS1oZWlnaHQ6MS41fS5jaGF0LWhhbmRvZmYgc3Ryb25ne2NvbG9yOnZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKTtmb250LXdlaWdodDo2MDB9LmNoYXQtaGFuZG9mZi1hcnJvd3tjb2xvcjp2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSk7Zm9udC13ZWlnaHQ6NjAwO21hcmdpbi1yaWdodDoycHh9LmNoYXQtaGFuZG9mZi1kZXNje2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXN0eWxlOml0YWxpY30uY2hhdC1oYW5kb2ZmLXRhZ3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA2cHg7cGFkZGluZzoxcHggNnB4O2ZvbnQtc2l6ZTouNjJyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSk7YmFja2dyb3VuZDojYzU2NTNkMjQ7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTQlLHRyYW5zcGFyZW50KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMzIpO2JvcmRlcjoxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMyJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHg7dmVydGljYWwtYWxpZ246MXB4O2xpbmUtaGVpZ2h0OjEuNDt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXJlcGx5e2JhY2tncm91bmQ6I2M1NjUzZDBmO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYlLHZhcigtLWJnLXN1cmZhY2UpKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMik7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMjAlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7bWFyZ2luOjRweCAwO2xpbmUtaGVpZ2h0OjEuNTU7Zm9udC1zaXplOi44NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbn0uc3ViYWdlbnQtcmVwbHk+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcmVwbHk+Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5zdWJhZ2VudC1yZXBseS5lcnJvcntiYWNrZ3JvdW5kOiNlMjU3NGMxNDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlciwgI2UyNTc0YykgOCUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci1jb2xvcjojZTI1NzRjNTk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWRhbmdlciwgI2UyNTc0YykgMzUlLHRyYW5zcGFyZW50KX0uc3ViYWdlbnQtcmVwbHkucGVuZGluZ3tvcGFjaXR5Oi43O3BhZGRpbmc6MTRweCAxNnB4fS5zdWJhZ2VudC1yZXBseTpub3QoLmNvbGxhcHNpYmxlKXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6NnB4fS5zdWJhZ2VudC1yZXBseS1pY29ue2ZsZXg6MCAwIGF1dG87Y29sb3I6dmFyKC0tZGFuZ2VyLCAjZTI1NzRjKTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS41NX0uc3ViYWdlbnQtcmVwbHkgcHJlLC5zdWJhZ2VudC1yZXBseSBjb2Rle2ZvbnQtc2l6ZTouODJyZW19LnN1YmFnZW50LXJlcGx5IHByZXtiYWNrZ3JvdW5kOiMwMDAwMDAwYTtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjZweDtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXJnaW46OHB4IDA7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LnN1YmFnZW50LXBhbmVse21hcmdpbjo4cHggMDtib3JkZXI6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAyNSUsdHJhbnNwYXJlbnQpO2JvcmRlci1sZWZ0OjNweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNTUlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMlLHZhcigtLWJnLXN1cmZhY2UpKTtib3gtc2hhZG93OjAgMXB4IDJweCAjMDAwMDAwMDh9LnN1YmFnZW50LXBhbmVsLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7cGFkZGluZzo4cHggMTJweDtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxMCUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxNiUsdHJhbnNwYXJlbnQpO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7Zm9udC1zaXplOi43OHJlbTtsaW5lLWhlaWdodDoxLjM1O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzIGVhc2V9LnN1YmFnZW50LXBhbmVsLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxNCUsdmFyKC0tYmctc3VyZmFjZSkpfS5zdWJhZ2VudC1wYW5lbC1oZWFkZXI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNTUlLHRyYW5zcGFyZW50KTtvdXRsaW5lLW9mZnNldDotMnB4fS5zdWJhZ2VudC1wYW5lbC1hdmF0YXJ7ZmxleDowIDAgYXV0bzt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JvcmRlci1yYWRpdXM6NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxOCUsdHJhbnNwYXJlbnQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnN1YmFnZW50LXBhbmVsLWF2YXRhciBzdmcsLnN1YmFnZW50LXBhbmVsLWF2YXRhciBpbWd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrfS5zdWJhZ2VudC1wYW5lbC1hcnJvd3tmbGV4OjAgMCBhdXRvO2NvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA2NSUsdmFyKC0tdGV4dC1wcmltYXJ5KSk7b3BhY2l0eTouODtmb250LXdlaWdodDo2MDB9LnN1YmFnZW50LXBhbmVsLWF0dHJpYnV0aW9ue2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnN1YmFnZW50LXBhbmVsLW5hbWV7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDg4JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtmb250LXdlaWdodDo2MDB9LnN1YmFnZW50LXBhbmVsLXRhZ3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA2cHg7cGFkZGluZzowIDZweDtmb250LXNpemU6LjYycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDRlbTtjb2xvcjp2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMTIlLHRyYW5zcGFyZW50KTtib3JkZXI6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAzMCUsdHJhbnNwYXJlbnQpO2JvcmRlci1yYWRpdXM6NHB4O3ZlcnRpY2FsLWFsaWduOjFweDtsaW5lLWhlaWdodDoxLjQ7d2hpdGUtc3BhY2U6bm93cmFwfS5zdWJhZ2VudC1wYW5lbC10YXNrLWRlc2N7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NDAwfS5zdWJhZ2VudC1wYW5lbC10b2dnbGV7ZmxleDowIDAgYXV0bztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O3BhZGRpbmc6M3B4IDEwcHg7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjM7Y29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDc4JSx2YXIoLS10ZXh0LXByaW1hcnkpKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyOjFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgMzAlLHRyYW5zcGFyZW50KTtib3JkZXItcmFkaXVzOjk5OXB4O2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMgZWFzZSxib3JkZXItY29sb3IgLjE1cyBlYXNlLHRyYW5zZm9ybSAuMXMgZWFzZX0uc3ViYWdlbnQtcGFuZWwtdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDE4JSx2YXIoLS1iZy1zdXJmYWNlKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSA0NSUsdHJhbnNwYXJlbnQpfS5zdWJhZ2VudC1wYW5lbC10b2dnbGU6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnN1YmFnZW50LXBhbmVsLXRvZ2dsZS1pY29ue3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvLCBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkpfS5zdWJhZ2VudC1wYW5lbFtkYXRhLWV4cGFuZGVkPXRydWVdIC5zdWJhZ2VudC1wYW5lbC10b2dnbGUtaWNvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnN1YmFnZW50LXBhbmVsLWJvZHl7cGFkZGluZzoxMHB4IDE0cHg7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlO3RyYW5zaXRpb246bWF4LWhlaWdodCAuMjhzIHZhcigtLWVhc2Utb3V0LWV4cG8sIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSk7c2Nyb2xsYmFyLWd1dHRlcjpzdGFibGV9LnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdIC5zdWJhZ2VudC1wYW5lbC1ib2R5e21heC1oZWlnaHQ6MjJlbX0uc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD10cnVlXSAuc3ViYWdlbnQtcGFuZWwtYm9keXttYXgtaGVpZ2h0Ojcwdmh9LnN1YmFnZW50LXBhbmVsLWJvZHk+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uc3ViYWdlbnQtcGFuZWwtYm9keT46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtdXNlLWNhcmQsLnN1YmFnZW50LXBhbmVsLWJvZHkgLnRvb2wtZ3JvdXAsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS10b29sLC5zdWJhZ2VudC1wYW5lbC1ib2R5IC5pbmxpbmUtdGVybWluYWwsLnN1YmFnZW50LXBhbmVsLWJvZHkgLmlubGluZS1kaWZme21hcmdpbjo0cHggMH0uc3ViYWdlbnQtcGFuZWwtYm9keSAubWFya2Rvd24tY29udGVudHtmb250LXNpemU6Ljg3NXJlbX0uc3ViYWdlbnQtcGFuZWwtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6N3B4O2hlaWdodDo3cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDMyJSx0cmFuc3BhcmVudCk7Ym9yZGVyLXJhZGl1czo0cHh9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDUwJSx0cmFuc3BhcmVudCl9LnN1YmFnZW50LXBhbmVsLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNiUsdmFyKC0tYmctc3VyZmFjZSkpO2JvcmRlci10b3A6MXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFnZW50LWNvbG9yLCB2YXIoLS1hY2NlbnQpKSAxNCUsdHJhbnNwYXJlbnQpO2ZvbnQtc2l6ZTouN3JlbX0uc3ViYWdlbnQtcGFuZWwtZm9vdGVyLWhpbnR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bGV0dGVyLXNwYWNpbmc6LjA0ZW07b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5zdWJhZ2VudC1yZXBseS5jb2xsYXBzaWJsZXtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5zdWJhZ2VudC1yZXBseS5maW5hbHttYXJnaW46NnB4IDAgMDtwYWRkaW5nOjEwcHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXItbGVmdDozcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWdlbnQtY29sb3IsIHZhcigtLWFjY2VudCkpIDYwJSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZDpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNSUsdmFyKC0tYmctc3VyZmFjZSkpfS5zdWJhZ2VudC1yZXBseS5maW5hbC5lcnJvcntib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1kYW5nZXIsICNlMjU3NGMpO2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tZGFuZ2VyLCAjZTI1NzRjKSA1JSx2YXIoLS1iZy1zdXJmYWNlKSl9LnN1YmFnZW50LXJlcGx5LW1hcmtlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtc2l6ZTouNjhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hZ2VudC1jb2xvciwgdmFyKC0tYWNjZW50KSkgNzglLHZhcigtLXRleHQtcHJpbWFyeSkpfS5zdWJhZ2VudC1yZXBseS1tYXJrZXIuZXJyb3J7Y29sb3I6dmFyKC0tZGFuZ2VyLCAjZTI1NzRjKX0uc3ViYWdlbnQtcmVwbHktbWFya2VyLnBlbmRpbmd7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzowO2ZvbnQtd2VpZ2h0OjUwMH0uc3ViYWdlbnQtcmVwbHktbWFya2VyLWljb257Zm9udC13ZWlnaHQ6NzAwfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS5zdWJhZ2VudC1yZXBseS5maW5hbCAuc3ViYWdlbnQtcmVwbHktY29udGVudD46bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1lc3NhZ2UtdXNhZ2V7bWFyZ2luLXRvcDo4cHg7cGFkZGluZy10b3A6NnB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO29wYWNpdHk6Ljc1fS5lbXB0eS1tZXNzYWdlIC5lbXB0eS1tZXNzYWdlLWhpbnR7Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Zm9udC1zdHlsZTppdGFsaWM7Zm9udC1zaXplOi44MTI1cmVtO29wYWNpdHk6Ljd9LnVua25vd24tYmxvY2t7bWFyZ2luOjRweCAwO2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXRleHQtbXV0ZWQpIDYlLHRyYW5zcGFyZW50KTtmb250LXNpemU6Ljc1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS51bmtub3duLWJsb2NrOmhvdmVye2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tdGV4dC1tdXRlZCkgMTAlLHRyYW5zcGFyZW50KX0udW5rbm93bi1ibG9jay1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6NnB4IDEwcHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpfS51bmtub3duLWJsb2NrLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCk7Y29sb3I6dmFyKC0tYmctc3VyZmFjZSk7Zm9udC1zaXplOi43cmVtO2ZvbnQtd2VpZ2h0OjYwMH0udW5rbm93bi1ibG9jay1sYWJlbHtmbGV4OjE7Zm9udC13ZWlnaHQ6NTAwfS51bmtub3duLWJsb2NrLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LXNpemU6LjdyZW07dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udW5rbm93bi1ibG9jay5jb2xsYXBzZWQgLnVua25vd24tYmxvY2stdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udW5rbm93bi1ibG9jay1ib2R5e21hcmdpbjowO3BhZGRpbmc6OHB4IDEwcHggMTBweDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtaGVpZ2h0OjI0MHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym94LXNpemluZzpib3JkZXItYm94fS51bmtub3duLWJsb2NrLmNvbGxhcHNlZCAudW5rbm93bi1ibG9jay1ib2R5e2Rpc3BsYXk6bm9uZX0udG9vbC11c2UtY2FyZFtkYXRhLXRydW5jYXRlZD10cnVlXSAudG9vbC11c2UtbmFtZTphZnRlciwuaW5saW5lLXRvb2xbZGF0YS10cnVuY2F0ZWQ9dHJ1ZV0gLmlubGluZS10b29sLXRpdGxlOmFmdGVyLC5pbmxpbmUtdGVybWluYWxbZGF0YS10cnVuY2F0ZWQ9dHJ1ZV0gLmlubGluZS10ZXJtaW5hbC10aXRsZTphZnRlcntjb250ZW50OiJcNWRmMlw2MjJhXDY1YWQiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjFweCA2cHg7Zm9udC1zaXplOi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LWludmVyc2UsICNmZmYpO2JhY2tncm91bmQ6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7Ym9yZGVyLXJhZGl1czo5OTlweDtsZXR0ZXItc3BhY2luZzouMDJlbTt2ZXJ0aWNhbC1hbGlnbjoxcHg7b3BhY2l0eTouODV9Lm1lc3NhZ2UtdXNhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxiNyI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42MjVyZW19LmNoYXQtbWVzc2FnZS50aGlua2luZ3thbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjRweCAwfS50aGlua2luZy1jYXJke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM4YTZjYjIxNCwjOGE2Y2IyMDgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMzgsMTA4LDE3OCwuMTUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKX0udGhpbmtpbmctaWNvbntmb250LXNpemU6MS4xMjVyZW07b3BhY2l0eTouODV9LnRoaW5raW5nLWljb24uc3Bpbm5pbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7YW5pbWF0aW9uOmljb25QdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIGljb25QdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTouN301MCV7dHJhbnNmb3JtOnNjYWxlKDEuMSk7b3BhY2l0eToxfX0udGhpbmtpbmctY29udGVudHtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6IzhhNmNiMmQ5O2ZvbnQtd2VpZ2h0OjUwMH0uY2hhdC1tZXNzYWdlLnByb21wdHthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJTttYXJnaW46NHB4IDB9LnByb21wdC1jYXJke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnByb21wdC1pY29ue2ZvbnQtc2l6ZTouODc1cmVtfS5wcm9tcHQtY29udGVudHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS5wcm9tcHQtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOiNjNTY1M2RjYztmb250LXdlaWdodDo1MDB9LnR5cGluZy1pbmRpY2F0b3J7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4O3BhZGRpbmc6NnB4IDB9LnR5cGluZy1pbmRpY2F0b3Igc3BhbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo3cHg7aGVpZ2h0OjdweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1zb2Z0KTthbmltYXRpb246dHlwaW5nQm91bmNlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGV9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9LnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zc31Aa2V5ZnJhbWVzIHR5cGluZ0JvdW5jZXswJSw2MCUsdG97b3BhY2l0eTouMzU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MzAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX19LmlubGluZS10aGlua2luZ3ttYXJnaW46OHB4IDA7YW5pbWF0aW9uOm5vbmV9LmlubGluZS10aGlua2luZyBkZXRhaWxzIHN1bW1hcnl7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnRoaW5raW5nLXRleHR7bWFyZ2luLXRvcDo4cHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDttYXgtaGVpZ2h0OjMwMHB4O292ZXJmbG93LXk6YXV0b30udG9vbC11c2UtY2FyZHttYXJnaW46NHB4IDA7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZiZjVlMCwjZmZmNmVhYjgpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM1OTNhMjAwYTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMjJzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2UsdHJhbnNmb3JtIC4yMnMgZWFzZX0udG9vbC11c2UtY2FyZDpob3Zlcntib3JkZXItY29sb3I6IzRmN2E1ODRkO2JveC1zaGFkb3c6MCAzcHggMTJweCAjNGY3YTU4MTR9LnRvb2wtdXNlLWNhcmQubG9hZGluZ3tib3JkZXItY29sb3I6I2E5NmEyZjRkO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmNGUyZTAsI2ZmZjFkYWI4KX0udG9vbC11c2UtY2FyZC5zdWNjZXNze2JvcmRlci1jb2xvcjojNGY3YTU4NTJ9LnRvb2wtdXNlLWNhcmQuZXJyb3J7Ym9yZGVyLWNvbG9yOiNiMjRmNDU1MjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZjZjBlZWUwLCNmY2ViZTliOCl9LnRvb2wtdXNlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmc6OXB4IDE0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6LjgxMjVyZW07dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xOHMgZWFzZTttaW4taGVpZ2h0OjM4cHg7ZmxleC13cmFwOm5vd3JhcH0udG9vbC11c2UtaGVhZGVyOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDBhfS50b29sLXVzZS1oZWFkZXI6YWN0aXZle2JhY2tncm91bmQ6I2M1NjUzZDEyfS50b29sLXVzZS1jYXJkLmxvYWRpbmcgLnRvb2wtdXNlLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNhOTZhMmYwZn0udG9vbC11c2UtY2FyZC5zdWNjZXNzIC50b29sLXVzZS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojNGY3YTU4MGZ9LnRvb2wtdXNlLWNhcmQuZXJyb3IgLnRvb2wtdXNlLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUwZn0udG9vbC11c2UtaWNvbntmb250LXNpemU6LjY4NzVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXdlaWdodDo3MDA7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7bGV0dGVyLXNwYWNpbmc6LS4wMmVtfS50b29sLXVzZS1jYXJkLmxvYWRpbmcgLnRvb2wtdXNlLWljb257YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0udG9vbC11c2UtY2FyZC5lcnJvciAudG9vbC11c2UtaWNvbntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udG9vbC11c2Utc3Bpbm5lcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNHB4O2hlaWdodDoxNHB4O2JvcmRlcjoycHggc29saWQgdmFyKC0td2FybmluZy1tdXRlZCk7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS13YXJuaW5nKTtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246dG9vbC1zcGluIC44cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyB0b29sLXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0udG9vbC11c2UtbmFtZXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS50b29sLXVzZS1maWxle2ZvbnQtc2l6ZTouNzVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTttYXgtd2lkdGg6MzIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6MCAxIGF1dG87bWluLXdpZHRoOjB9LnRvb2wtdXNlLXN1bW1hcnl7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWxlZnQ6MnB4fS50b29sLXVzZS1zdGF0dXN7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjNweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6MnB4O2xldHRlci1zcGFjaW5nOi4wMWVtfS50b29sLXVzZS1jYXJkLnN1Y2Nlc3MgLnRvb2wtdXNlLXN0YXR1c3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50b29sLXVzZS1jYXJkLmVycm9yIC50b29sLXVzZS1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcil9LnRvb2wtdXNlLWNhcmQubG9hZGluZyAudG9vbC11c2Utc3RhdHVze2JhY2tncm91bmQ6dmFyKC0td2FybmluZy1tdXRlZCk7Y29sb3I6dmFyKC0td2FybmluZyl9LnRvb2wtdXNlLXRvZ2dsZXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyB2YXIoLS1lYXNlLXNwcmluZyksY29sb3IgLjE4cyBlYXNlO2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5Oi42fS50b29sLXVzZS1jYXJkOmhvdmVyIC50b29sLXVzZS10b2dnbGV7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO29wYWNpdHk6MX0udG9vbC11c2UtY2FyZC5jb2xsYXBzZWQgLnRvb2wtdXNlLXRvZ2dsZXt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyl9LnRvb2wtdXNlLWJvZHl7cGFkZGluZzoxMnB4IDE0cHg7YmFja2dyb3VuZDojZmZmZGY4YTY7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTttYXgtaGVpZ2h0OjYwMHB4O292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOm1heC1oZWlnaHQgLjM1cyB2YXIoLS1lYXNlLW91dC1leHBvKSxwYWRkaW5nIC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMjVzIGVhc2UsdHJhbnNmb3JtIC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyk7b3BhY2l0eToxO3RyYW5zZm9ybS1vcmlnaW46dG9wfS50b29sLXVzZS1jYXJkLmNvbGxhcHNlZCAudG9vbC11c2UtYm9keXttYXgtaGVpZ2h0OjA7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVZKC45NSl9LnRvb2wtdXNlLWNvbnRlbnR7bWFyZ2luOjA7Zm9udC1zaXplOi43NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDttYXgtaGVpZ2h0OjQwMHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztsaW5lLWhlaWdodDoxLjU1fS50b29sLXVzZS1yZXN1bHR7bWFyZ2luLXRvcDoxMHB4O3BhZGRpbmctdG9wOjEwcHg7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMTI1LDkxLDU3LC4xNCl9LnRvb2wtdXNlLXJlc3VsdC1jb250ZW50e21hcmdpbjowO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtaGVpZ2h0OjMyMHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztsaW5lLWhlaWdodDoxLjU1O2JhY2tncm91bmQ6IzdkNWIzOTA5O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtwYWRkaW5nOjhweCAxMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0udG9vbC11c2UtcmVzdWx0LWVtcHR5e2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWN9LnRvb2wtdXNlLW1ldGF7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO21hcmdpbi1ib3R0b206OHB4O3BhZGRpbmctYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjE0KX0udG9vbC11c2UtbWV0YS1sYWJlbHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NjAwfS50b29sLXVzZS1jYXJkLmFzay11c2Vye2JvcmRlci1jb2xvcjojYzU2NTNkNGQ7YmFja2dyb3VuZDojYzU2NTNkMGF9LnRvb2wtdXNlLWNhcmQuYXNrLXVzZXIgLnRvb2wtdXNlLWhlYWRlcntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0uYXNrLXVzZXItYm9keXtwYWRkaW5nOjEwcHggMTJweH0uYXNrLXVzZXItcXVlc3Rpb24tZ3JvdXB7bWFyZ2luLWJvdHRvbToxMHB4fS5hc2stdXNlci1xdWVzdGlvbi1ncm91cDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uYXNrLXVzZXItdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luLWJvdHRvbToxMHB4fS5hc2stdXNlci1vcHRpb25ze2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjZweH0uYXNrLXVzZXItb3B0aW9ue2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo4cHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dGV4dC1hbGlnbjpsZWZ0fS5hc2stdXNlci1vcHRpb246aG92ZXI6bm90KDpkaXNhYmxlZCl7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMGZ9LmFzay11c2VyLW9wdGlvbjpkaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpub3QtYWxsb3dlZH0uYXNrLXVzZXItb3B0aW9uLnNlbGVjdGVke2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDJlO2JveC1zaGFkb3c6MCAwIDAgMXB4ICNjNTY1M2Q1OSBpbnNldH0udG9vbC11c2UtY2FyZC5hc2stdXNlci5hc2stdXNlci1hbnN3ZXJlZHtib3JkZXItdG9wOjJweCBzb2xpZCB2YXIoLS1zdWNjZXNzLCAjNGNhZjUwKX0uYXNrLXVzZXItb3B0aW9uLmFzay11c2VyLW9wdGlvbi1jaG9zZW57YmFja2dyb3VuZDojYzU2NTNkMjk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9LmFzay11c2VyLWluZGljYXRvcnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmFzay11c2VyLW9wdGlvbnNbZGF0YS1tdWx0aS1zZWxlY3Q9dHJ1ZV0gLmFzay11c2VyLWluZGljYXRvcntib3JkZXItcmFkaXVzOjNweH0uYXNrLXVzZXItb3B0aW9uLnNlbGVjdGVkIC5hc2stdXNlci1pbmRpY2F0b3J7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpfS5hc2stdXNlci1vcHRpb24uc2VsZWN0ZWQgLmFzay11c2VyLWluZGljYXRvcjphZnRlcntjb250ZW50OiIiO3dpZHRoOjZweDtoZWlnaHQ6NnB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjUwJX0uYXNrLXVzZXItb3B0aW9uc1tkYXRhLW11bHRpLXNlbGVjdD10cnVlXSAuYXNrLXVzZXItb3B0aW9uLnNlbGVjdGVkIC5hc2stdXNlci1pbmRpY2F0b3I6YWZ0ZXJ7d2lkdGg6NHB4O2hlaWdodDo4cHg7Ym9yZGVyOnNvbGlkIHdoaXRlO2JvcmRlci13aWR0aDowIDJweCAycHggMDtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZDpub25lO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO21hcmdpbi1ib3R0b206MnB4fS5hc2stdXNlci1vcHRpb24tY29udGVudHtmbGV4OjE7bWluLXdpZHRoOjB9LmFzay11c2VyLW9wdGlvbi1sYWJlbHtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmFzay11c2VyLW9wdGlvbi1kZXNje2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbi10b3A6MnB4O2xpbmUtaGVpZ2h0OjEuNH0uYXNrLXVzZXItYWN0aW9uc3ttYXJnaW4tdG9wOjEwcHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYXNrLXVzZXItc3VibWl0e3BhZGRpbmc6NnB4IDE2cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmFzay11c2VyLXN1Ym1pdDpob3Zlcjpub3QoOmRpc2FibGVkKXtmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpfS5hc2stdXNlci1zdWJtaXQ6ZGlzYWJsZWR7b3BhY2l0eTouNDtjdXJzb3I6bm90LWFsbG93ZWR9LmFzay11c2VyLXN1Ym1pdC5hc2stdXNlci1zdWJtaXR0ZWR7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCk7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cG9pbnRlci1ldmVudHM6bm9uZX0uYXNrLXVzZXItYW5zd2VyZWQgLmFzay11c2VyLW9wdGlvbntjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6LjZ9LmFzay11c2VyLWFuc3dlcmVkIC5hc2stdXNlci1vcHRpb24uYXNrLXVzZXItb3B0aW9uLWNob3NlbntvcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6IzRmN2E1ODBmfS5hc2stdXNlci1hbnN3ZXJlZCAuYXNrLXVzZXItb3B0aW9uLmFzay11c2VyLW9wdGlvbi1jaG9zZW4gLmFzay11c2VyLWluZGljYXRvcntib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyk7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzKX0uYXNrLXVzZXItb3B0aW9uLXJlYWRvbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9LmFzay11c2VyLWFuc3dlci1zZW50e3BhZGRpbmc6OHB4IDEycHg7YmFja2dyb3VuZDojNGY3YTU4MTQ7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2ZvbnQtc2l6ZTouODEyNXJlbX1vdmVyZmxvdy15OiBhdXRvOyB9IC50b29sLXJlc3VsdC1lbXB0eXtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zdHlsZTppdGFsaWN9LnRoaW5raW5nLWlubGluZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOjVweDttYXJnaW46MnB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjNweCA4cHg7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZDojOGE2Y2IyMGE7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6IzhhNmNiMjhjO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7d29yZC1icmVhazpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZH0udGhpbmtpbmctaW5saW5lOmhvdmVye2JhY2tncm91bmQ6IzhhNmNiMjE0O2NvbG9yOiM4YTZjYjJjY30udGhpbmtpbmctaW5saW5lLmV4cGFuZGVke2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtsaW5lLWhlaWdodDoxLjY7bWF4LWhlaWdodDozMDBweDtvdmVyZmxvdy15OmF1dG99LnRoaW5raW5nLWlubGluZS1pY29ue2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42MjVyZW19LnRoaW5raW5nLWlubGluZS1wcmV2aWV3e2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnRoaW5raW5nLWlubGluZS5leHBhbmRlZCAudGhpbmtpbmctaW5saW5lLXByZXZpZXd7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRoaW5raW5nLWlubGluZS1hY3Rpb257ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjYyNXJlbTtjb2xvcjojOGE2Y2IyNjY7cGFkZGluZzowIDRweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiM4YTZjYjIxNDttYXJnaW4tbGVmdDphdXRvfS50aGlua2luZy1pbmxpbmU6aG92ZXIgLnRoaW5raW5nLWlubGluZS1hY3Rpb257Y29sb3I6IzhhNmNiMmIzfS50aGlua2luZy1pbmxpbmUudGhpbmtpbmctcHR5e2JhY2tncm91bmQ6IzhhNmNiMjA4fS50aGlua2luZy1zdHJlYW1pbmd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjVweDttYXJnaW46MnB4IDA7cGFkZGluZzozcHggOHB4O2JvcmRlci1yYWRpdXM6NnB4O2JhY2tncm91bmQ6IzhhNmNiMjBhO2N1cnNvcjpkZWZhdWx0O2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS40O2NvbG9yOiM4YTZjYjI4Y30udGhpbmtpbmctc3RyZWFtaW5nLWlubmVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDo1cHg7d2lkdGg6MTAwJX0udGhpbmtpbmctc3RyZWFtaW5nLWljb257Zm9udC1zaXplOi42MjVyZW07ZmxleC1zaHJpbms6MDttYXJnaW4tdG9wOjFweH0udGhpbmtpbmctc3RyZWFtaW5nLXRleHR7ZmxleDoxO21pbi13aWR0aDowO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzhhNmNiMmNjO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstd29yZDttYXgtaGVpZ2h0OjQuNWVtO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6cmdiYSgxMzgsMTA4LDE3OCwuMykgdHJhbnNwYXJlbnR9LnRoaW5raW5nLXN0cmVhbWluZy10ZXh0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo0cHh9LnRoaW5raW5nLXN0cmVhbWluZy10ZXh0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM4YTZjYjI0ZDtib3JkZXItcmFkaXVzOjJweH0udG9vbC1ncm91cHttYXJnaW46NHB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmJmNWQ5LCNmZmY4ZWViMyk7Ym94LXNoYWRvdzowIDFweCAycHggIzU5M2EyMDA4O292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2UsdHJhbnNmb3JtIC4yMnMgZWFzZX0udG9vbC1ncm91cDpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTJlO2JveC1zaGFkb3c6MCAycHggOHB4ICM1OTNhMjAwZn0udG9vbC1ncm91cFtkYXRhLXN0YXR1cz1wZW5kaW5nXXtib3JkZXItY29sb3I6I2E5NmEyZjM4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmNGUyZDksI2ZmZjFkYWIzKX0udG9vbC1ncm91cFtkYXRhLXN0YXR1cz1lcnJvcl17Ym9yZGVyLWNvbG9yOiNiMjRmNDU0NztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZjZjBlZWQ5LCNmY2VjZWFiMyl9LnRvb2wtZ3JvdXAtc3VtbWFyeXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo5cHg7cGFkZGluZzo4cHggMTJweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt1c2VyLXNlbGVjdDpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2V9LnRvb2wtZ3JvdXAtc3VtbWFyeTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0udG9vbC1ncm91cC1zdGF0dXN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtmbGV4LXNocmluazowO2xldHRlci1zcGFjaW5nOjB9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9ZG9uZV0gLnRvb2wtZ3JvdXAtc3RhdHVze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnRvb2wtZ3JvdXBbZGF0YS1zdGF0dXM9ZXJyb3JdIC50b29sLWdyb3VwLXN0YXR1c3tiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udG9vbC1ncm91cFtkYXRhLXN0YXR1cz1wZW5kaW5nXSAudG9vbC1ncm91cC1zdGF0dXN7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKTthbmltYXRpb246dG9vbC1ncm91cC1wdWxzZSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgdG9vbC1ncm91cC1wdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjU1fX0udG9vbC1ncm91cC10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0udG9vbC1ncm91cC1jb3VudHtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtwYWRkaW5nOjJweCA4cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7YmFja2dyb3VuZDojN2Q1YjM5MTI7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS50b29sLWdyb3VwLWNoZXZyb257ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIHZhcigtLWVhc2Utb3V0LWV4cG8pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO29wYWNpdHk6LjZ9LnRvb2wtZ3JvdXA6aG92ZXIgLnRvb2wtZ3JvdXAtY2hldnJvbntvcGFjaXR5OjF9LnRvb2wtZ3JvdXBbZGF0YS1leHBhbmRlZD10cnVlXSAudG9vbC1ncm91cC1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udG9vbC1ncm91cC1ib2R5e2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjRweCA4cHggOHB4IDE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA2KTtib3JkZXItbGVmdDoycHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtiYWNrZ3JvdW5kOiNmZmZkZjg4Y30udG9vbC1ncm91cC1ib2R5Pi5pbmxpbmUtdG9vbHttYXJnaW46MH0udG9vbC1ncm91cC1ib2R5Pi5pbmxpbmUtdG9vbCsuaW5saW5lLXRvb2x7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMTI1LDkxLDU3LC4wNil9LnRvb2wtZ3JvdXBbZGF0YS1leHBhbmRlZD10cnVlXSAudG9vbC1ncm91cC1ib2R5e2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOnRvb2wtZ3JvdXAtcmV2ZWFsIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9QGtleWZyYW1lcyB0b29sLWdyb3VwLXJldmVhbHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uaW5saW5lLXRvb2x7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MXB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6dmFyKC0tY2hhdC1jYXJkLW1heC13aWR0aCwgNzIwcHgpO21pbi13aWR0aDowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZX0udG9vbC1ncm91cC1ib2R5Pi5pbmxpbmUtdG9vbHttYXgtd2lkdGg6MTAwJX0uaW5saW5lLXRvb2wtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7bGluZS1oZWlnaHQ6MS40NTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy14cyk7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2V9LmlubGluZS10b29sOmhvdmVyIC5pbmxpbmUtdG9vbC1yb3d7YmFja2dyb3VuZDojYzU2NTNkMGY7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uaW5saW5lLXRvb2wtc3RhdHVze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7bGluZS1oZWlnaHQ6MX0uaW5saW5lLXRvb2xbZGF0YS1zdGF0dXM9cGVuZGluZ10gLmlubGluZS10b29sLXN0YXR1c3tjb2xvcjp2YXIoLS13YXJuaW5nKX0uaW5saW5lLXRvb2xbZGF0YS1zdGF0dXM9ZXJyb3JdIC5pbmxpbmUtdG9vbC1zdGF0dXMsLmlubGluZS10b29sLWVycm9yLWlubGluZSAuaW5saW5lLXRvb2wtc3RhdHVze2NvbG9yOnZhcigtLWRhbmdlcil9LmlubGluZS10b29sLWljb257ZmxleC1zaHJpbms6MDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtvcGFjaXR5Oi44NX0uaW5saW5lLXRvb2w6aG92ZXIgLmlubGluZS10b29sLWljb257Y29sb3I6dmFyKC0tYWNjZW50KTtvcGFjaXR5OjF9LmlubGluZS10b29sLXRpdGxle2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW19LmlubGluZS10b29sOmhvdmVyIC5pbmxpbmUtdG9vbC10aXRsZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5pbmxpbmUtdG9vbC1tZXRhe2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21heC13aWR0aDoyMjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2xldHRlci1zcGFjaW5nOi0uMDFlbX0uaW5saW5lLXRvb2wtZXhwYW5kZWR7ZGlzcGxheTpub25lO3BhZGRpbmc6MCAxMHB4IDhweH0uaW5saW5lLXRvb2wtb3BlbiAuaW5saW5lLXRvb2wtZXhwYW5kZWR7ZGlzcGxheTpibG9jazthbmltYXRpb246dG9vbC1ncm91cC1yZXZlYWwgLjJzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5pbmxpbmUtdG9vbC1yZXN1bHR7YmFja2dyb3VuZDojN2Q1YjM5MGE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDcpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tdG9wOjZweDttYXgtaGVpZ2h0OjMyMHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6cmdiYSgxMjUsOTEsNTcsLjIpIHRyYW5zcGFyZW50fS5pbmxpbmUtdG9vbC1yZXN1bHQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweH0uaW5saW5lLXRvb2wtcmVzdWx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM3ZDViMzkzMztib3JkZXItcmFkaXVzOjNweH0uaW5saW5lLXRvb2wtcmVzdWx0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzk1Mn0uaW5saW5lLXRvb2wtcmVzdWx0LXRleHR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNTU7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGw7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7bWFyZ2luOjB9LmlubGluZS10b29sLWVycm9yLWlubGluZXtib3JkZXItbGVmdDoycHggc29saWQgdmFyKC0tZGFuZ2VyKTtwYWRkaW5nLWxlZnQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9LmlubGluZS10b29sLWVycm9yLWlubGluZSAuaW5saW5lLXRvb2wtcm93e2NvbG9yOnZhcigtLWRhbmdlcil9LmlubGluZS10b29sLXJlc3VsdC5pbmxpbmUtdG9vbC1lcnJvcntjb2xvcjp2YXIoLS1kYW5nZXIpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Ym9yZGVyLWNvbG9yOiNiMjRmNDUyZX0uaW5saW5lLXRvb2wtbG9hZGluZ3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXdhcm5pbmcpO2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6NnB4IDA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uaW5saW5lLXRvb2wtbG9hZGluZzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS13YXJuaW5nLW11dGVkKTtib3JkZXItdG9wLWNvbG9yOnZhcigtLXdhcm5pbmcpO2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjp0b29sLWNvbnRlbnQtc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfS5pbmxpbmUtdG9vbC1lbXB0eXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljfS50b29sLWNvbnRlbnQtbG9hZGluZ3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6OHB4IDB9LnRvb2wtY29udGVudC1sb2FkaW5nOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7Ym9yZGVyOjJweCBzb2xpZCB2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2FuaW1hdGlvbjp0b29sLWNvbnRlbnQtc3BpbiAuNnMgbGluZWFyIGluZmluaXRlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4fUBrZXlmcmFtZXMgdG9vbC1jb250ZW50LXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0udG9vbC1jb250ZW50LWVycm9ye2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tZXJyb3IpO3BhZGRpbmc6OHB4IDA7Y3Vyc29yOnBvaW50ZXJ9LnRvb2wtY29udGVudC1lcnJvcjpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pbmxpbmUtdGVybWluYWx7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE1LDEyLDksLjYpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtiYWNrZ3JvdW5kOiMxZjFiMTc7Ym94LXNoYWRvdzowIDFweCAjZmZmZmZmMGEgaW5zZXQsMCAycHggMTJweCAjMGYwYzA5MmU7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuMjJzIGVhc2UsdHJhbnNmb3JtIC4yMnMgZWFzZSxib3JkZXItY29sb3IgLjIycyBlYXNlfS5pbmxpbmUtdGVybWluYWw6aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAjZmZmZmZmMGQgaW5zZXQsMCA0cHggMThweCAjMGYwYzA5M2Q7Ym9yZGVyLWNvbG9yOiNmZmZmZmYxYX0udGVybS1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxNHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmMGEsI2ZmZmZmZjA0KSwjMDAwMDAwMmU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDQpO2ZvbnQtc2l6ZTouNzVyZW07Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZmZmYwZiwjZmZmZmZmMDYpLCMwMDAwMDAyZX0udGVybS1zdGF0dXMtZG90e3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6NTAlO2ZsZXgtc2hyaW5rOjA7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0fS50ZXJtLXN0YXR1cy1kb3QudGVybS1zdWNjZXNze2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCNiNmYwYzQsIzZlZTA5YSwjM2FhNzY1KTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwIDZweCAjNmVlMDlhNTl9LnRlcm0tc3RhdHVzLWRvdC50ZXJtLWVycm9ye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzNSUgMzAlLCNmZmI1YjksI2YwNzE3OCwjYjUzYjQxKTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwIDZweCAjZjA3MTc4NTl9LnRlcm0tc3RhdHVzLWRvdC50ZXJtLXdhcm57YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDM1JSAzMCUsI2ZmZDA3YSwjZjBhNTAwLCNhZDc0MDApO2JveC1zaGFkb3c6MCAwIDAgMXB4ICMwMDAwMDA0MCBpbnNldCwwIDAgNnB4ICNmMGE1MDA1OX0udGVybS1zdGF0dXMtZG90LnRlcm0tcnVubmluZ3tiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzUlIDMwJSwjZDFkNWRiLCM5Y2EzYWYsIzRiNTU2Myk7YW5pbWF0aW9uOnRlcm0tcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB0ZXJtLXB1bHNlezAlLHRve29wYWNpdHk6MTtib3gtc2hhZG93OjAgMCAwIDFweCAjMDAwMDAwNDAgaW5zZXQsMCAwICM5Y2EzYWYwMH01MCV7b3BhY2l0eTouNTU7Ym94LXNoYWRvdzowIDAgMCAxcHggIzAwMDAwMDQwIGluc2V0LDAgMCA4cHggIzljYTNhZjU5fX0udGVybS1jbWQtcHJldmlld3tmbGV4OjE7bWluLXdpZHRoOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2NvbG9yOiNlOGRjYzhjNztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0udGVybS1jbWQtcHJldmlldyAudGVybS1wcm9tcHR7Y29sb3I6IzZlZTA5YTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXJpZ2h0OjZweDtmb250LXNpemU6Ljc1cmVtO29wYWNpdHk6Ljl9LnRlcm0tdGl0bGV7ZmxleDoxO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtjb2xvcjojZmZmNn0udGVybS10b2dnbGUtaWNvbntmb250LXNpemU6LjYyNXJlbTtjb2xvcjojZmZmZmZmNTk7dHJhbnNpdGlvbjpjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MH0udGVybS1oZWFkZXI6aG92ZXIgLnRlcm0tdG9nZ2xlLWljb257Y29sb3I6I2ZmZmZmZmE2fS50ZXJtLWJvZHl7cGFkZGluZzoxMnB4IDE0cHggMTRweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwMDAwMDJlLCMwMDAwIDI0cHgpLCMxZjFiMTd9LnRlcm0tY29tbWFuZHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZjRlOWQ0O2xpbmUtaGVpZ2h0OjEuNTU7bWFyZ2luLWJvdHRvbTo2cHg7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1wcm9tcHR7Y29sb3I6IzZlZTA5YTtmb250LXdlaWdodDo2MDA7bWFyZ2luLXJpZ2h0OjZweDt0ZXh0LXNoYWRvdzowIDAgNnB4IHJnYmEoMTEwLDIyNCwxNTQsLjI1KX0udGVybS1vdXRwdXR7bWFyZ2luLXRvcDo4cHg7cGFkZGluZy10b3A6OHB4O2JvcmRlci10b3A6MXB4IGRhc2hlZCByZ2JhKDI1NSwyNTUsMjU1LC4wNik7bWF4LWhlaWdodDozNjBweDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87c2Nyb2xsYmFyLXdpZHRoOnRoaW47c2Nyb2xsYmFyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE1KSB0cmFuc3BhcmVudH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweH0udGVybS1vdXRwdXQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6I2ZmZmZmZjI2O2JvcmRlci1yYWRpdXM6M3B4fS50ZXJtLW91dHB1dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmNDB9LnRlcm0tbGluZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjojZDRjMmEzO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0udGVybS1leGl0e21hcmdpbi10b3A6MTBweDtwYWRkaW5nLXRvcDo4cHg7Ym9yZGVyLXRvcDoxcHggZGFzaGVkIHJnYmEoMjU1LDI1NSwyNTUsLjA2KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNjg3NXJlbTtsaW5lLWhlaWdodDoxLjU7bGV0dGVyLXNwYWNpbmc6LjA0ZW19LnRlcm0tZXhpdC1zdWNjZXNze2NvbG9yOiM2ZWUwOWFiZn0udGVybS1leGl0LWVycm9ye2NvbG9yOiNmMDcxNzhjN30uaW5saW5lLWRpZmZ7bWFyZ2luOjRweCAwO3dpZHRoOjEwMCU7bWF4LXdpZHRoOnZhcigtLWNoYXQtY2FyZC1tYXgtd2lkdGgsIDcyMHB4KTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmYmY1ZTAsI2ZmZjZlYWI4KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjIycyBlYXNlLGJveC1zaGFkb3cgLjIycyBlYXNlfS5pbmxpbmUtZGlmZjpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTM4O2JveC1zaGFkb3c6MCAzcHggMTJweCAjNTkzYTIwMGZ9LmRpZmYtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTouODEyNXJlbTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowfS5kaWZmLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QwYX0uZGlmZi10b2dnbGV7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utc3ByaW5nKSxjb2xvciAuMThzIGVhc2U7ZmxleC1zaHJpbms6MDttYXJnaW4tbGVmdDphdXRvO29wYWNpdHk6LjZ9LmlubGluZS1kaWZmOmhvdmVyIC5kaWZmLXRvZ2dsZXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7b3BhY2l0eToxfS5pbmxpbmUtZGlmZi5jb2xsYXBzZWQgLmRpZmYtdG9nZ2xle3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uaW5saW5lLWRpZmYuY29sbGFwc2VkIC5kaWZmLWJvZHl7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksb3BhY2l0eSAuMjVzIGVhc2V9LmRpZmYtZmlsZS1pY29ue2Rpc3BsYXk6bm9uZX0uZGlmZi1maWxlLW5hbWV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXdlaWdodDo3MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouODEyNXJlbTtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5kaWZmLXBhdGh7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouNjg3NXJlbX0uZGlmZi1zdGF0dXN7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO3BhZGRpbmc6M3B4IDEwcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmRpZmYtc3RhdHVzLmRpZmYtc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MtbXV0ZWQpO2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS5kaWZmLXN0YXR1cy5kaWZmLWVycm9ye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5kaWZmLXN0YXR1cy5kaWZmLXBlbmRpbmd7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nLW11dGVkKTtjb2xvcjp2YXIoLS13YXJuaW5nKX0uZGlmZi1ib2R5e292ZXJmbG93OmhpZGRlbjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO2JhY2tncm91bmQ6I2ZmZmRmOGE2fS5kaWZmLWNvbHVtbnN7ZGlzcGxheTpmbGV4O2dhcDoxcHg7YmFja2dyb3VuZDojN2Q1YjM5MTQ7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjB9LmRpZmYtY29se2ZsZXg6MSAxIDA7bWluLXdpZHRoOjA7bWF4LXdpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmZGY4ZDk7b3ZlcmZsb3c6aGlkZGVufS5kaWZmLWNvbC1oYWxme2ZsZXg6MX0uZGlmZi1jb2wtZnVsbHtmbGV4Om5vbmU7d2lkdGg6MTAwJX0uZGlmZi1jb2wtbGFiZWx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo3MDA7cGFkZGluZzo0cHggMTJweDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA4ZW07YmFja2dyb3VuZDojN2Q1YjM5MGQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KX0uZGlmZi1saW5le3BhZGRpbmc6M3B4IDEycHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmRpZmYtYWRke2JhY2tncm91bmQ6IzRmN2E1ODE0O2NvbG9yOiMyYzU1MzU7Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkIHJnYmEoNzksMTIyLDg4LC41KX0uZGlmZi1yZW1vdmV7YmFja2dyb3VuZDojYjI0ZjQ1MGY7Y29sb3I6IzdjMmEyMztib3JkZXItbGVmdDoycHggc29saWQgcmdiYSgxNzgsNzksNjksLjQ1KX0udGhpbmtpbmctaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZzoxMHB4IDE0cHg7Y3Vyc29yOnBvaW50ZXI7bGlzdC1zdHlsZTpub25lO3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fS50aGlua2luZy1oZWFkZXI6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS50aGlua2luZy1pY29uLXdyYXB7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7YmFja2dyb3VuZDojOGE2Y2IyMWY7Ym9yZGVyLXJhZGl1czo2cHh9LnRoaW5raW5nLXNwaW57Zm9udC1zaXplOi44NzVyZW19LnRoaW5raW5nLWxhYmVse2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6IzhhNmNiMmQ5fS50aGlua2luZy10b2dnbGV7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOiM4YTZjYjI4MDttYXJnaW4tbGVmdDphdXRvfS50aGlua2luZy1ib2R5e3BhZGRpbmc6MTBweCAxNHB4O2JhY2tncm91bmQ6I2ZmZmZmZjQwO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMTM4LDEwOCwxNzgsLjA4KTt3aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0udG9vbC1yZXN1bHQtZXJyb3IgLnRvb2wtcmVzdWx0LWhlYWRlcntiYWNrZ3JvdW5kOiNiMjRmNDUxNH0udG9vbC1yZXN1bHQtYm9keXtwYWRkaW5nOjhweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpfS50b29sLXJlc3VsdC1jb250ZW50e21hcmdpbjowO2ZvbnQtc2l6ZTouN3JlbTttYXgtaGVpZ2h0OjYwMHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsfS50b29sLXJlc3VsdC1jb250ZW50IGNvZGV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsO21heC13aWR0aDoxMDAlfS5tYXJrZG93bi1jb250ZW50e2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93LXg6aGlkZGVuO21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrIHByZXtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwe21hcmdpbjowIDAgOHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IHA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9Lm1hcmtkb3duLWNvbnRlbnQgc3Ryb25ne2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tY29udGVudCBlbXtmb250LXN0eWxlOml0YWxpY30ubWFya2Rvd24tY29udGVudCB1bCwubWFya2Rvd24tY29udGVudCBvbHttYXJnaW46OHB4IDA7cGFkZGluZy1sZWZ0OjIwcHh9Lm1hcmtkb3duLWNvbnRlbnQgbGl7bWFyZ2luOjRweCAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGgxLC5tYXJrZG93bi1jb250ZW50IGgyLC5tYXJrZG93bi1jb250ZW50IGgze21hcmdpbjoxNnB4IDAgOHB4O2ZvbnQtd2VpZ2h0OjYwMDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ubWFya2Rvd24tY29udGVudCBoMXtmb250LXNpemU6MS4yNXJlbX0ubWFya2Rvd24tY29udGVudCBoMntmb250LXNpemU6MS4xcmVtfS5tYXJrZG93bi1jb250ZW50IGgze2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1jb250ZW50IGJsb2NrcXVvdGV7bWFyZ2luOjhweCAwO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkIHZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMGY7Ym9yZGVyLXJhZGl1czowIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKSAwO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IGF7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0ubWFya2Rvd24tY29udGVudCBpbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99Lm1hcmtkb3duLWNvbnRlbnQgY29kZTpub3QoLmNvZGUtYmxvY2spOm5vdCguY29kZS1pbmxpbmUpe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6Izk2NzY1NTFmO3BhZGRpbmc6MnB4IDVweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO3dvcmQtYnJlYWs6YnJlYWstYWxsfS5tYXJrZG93bi1jb250ZW50IGNvZGUuY29kZS1pbmxpbmV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07YmFja2dyb3VuZDojOTY3NjU1MWY7cGFkZGluZzoycHggNXB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay1hbGx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlLXdyYXB7bWFyZ2luOjEycHggMDttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MDtvdmVyZmxvdy14OmF1dG87Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubWFya2Rvd24tY29udGVudCAubWQtdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO3dpZHRoOjEwMCU7dGFibGUtbGF5b3V0OmZpeGVkO2ZvbnQtc2l6ZTouODEyNXJlbTt3aGl0ZS1zcGFjZTpub3JtYWx9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRoLC5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo2cHggMTBweDt0ZXh0LWFsaWduOmxlZnQ7dmVydGljYWwtYWxpZ246dG9wO292ZXJmbG93LXdyYXA6YW55d2hlcmU7d29yZC1icmVhazpicmVhay13b3JkfS5tYXJrZG93bi1jb250ZW50IC5tZC10YWJsZSB0aHtiYWNrZ3JvdW5kOiM5Njc2NTUxYTtmb250LXdlaWdodDo2MDB9Lm1hcmtkb3duLWNvbnRlbnQgLm1kLXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybil7YmFja2dyb3VuZDojOTY3NjU1MGF9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjEycHggMDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzFmMWIxNztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTIyLDkxLDY0LC4zNSk7Ym94LXNoYWRvdzowIDJweCA4cHggIzAwMDAwMDI2fS5tYXJrZG93bi1jb250ZW50IC5jb2RlLWJsb2NrLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojN2E1YjQwMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgxMjIsOTEsNjQsLjIpO2dhcDo4cHh9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtbGFuZ3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjojOGM3MzVmO3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtY29weXtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtwYWRkaW5nOjRweCAxMHB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JhY2tncm91bmQ6I2ZmZmZmZjFhO2NvbG9yOiNkOWM0YjA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5OmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZjJlO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmZmZmY0MH0ubWFya2Rvd24tY29udGVudCAuY29kZS1jb3B5LmNvcGllZHtjb2xvcjojN2ZhMzZmO2JvcmRlci1jb2xvcjojN2ZhMzZmODA7YmFja2dyb3VuZDojN2ZhMzZmMjZ9Lm1hcmtkb3duLWNvbnRlbnQgcHJle21hcmdpbjowO3BhZGRpbmc6MTJweDtvdmVyZmxvdy14OmhpZGRlbjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZTttYXgtd2lkdGg6MTAwJTttaW4td2lkdGg6MH0ubWFya2Rvd24tY29udGVudCBwcmUgY29kZXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6I2Y1ZWFkYztiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MDttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS50b2tlbi1jb21tZW50e2NvbG9yOiM2MjUzNDd9LnRva2VuLWtleXdvcmR7Y29sb3I6I2M1OTVjN30udG9rZW4tc3RyaW5ne2NvbG9yOiM3ZmEzNmZ9LnRva2VuLW51bWJlcntjb2xvcjojZDVhMzVifS50b2tlbi1mdW5jdGlvbntjb2xvcjojODdhOWQ5fS50b2tlbi1vcGVyYXRvcntjb2xvcjojZDI3NzY2fS50b2tlbi1jbGFzc3tjb2xvcjojN2ZiM2IxfS50b2tlbi12YXJpYWJsZXtjb2xvcjojZjVlYWRjfS50b2tlbi10eXBle2NvbG9yOiNkNWEzNWJ9LmlucHV0LXBhbmVse3BhZGRpbmc6NnB4IDEwcHg7cGFkZGluZy1ib3R0b206Y2FsYyg2cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKTtmbGV4LXNocmluazowO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjY7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3RvdWNoLWFjdGlvbjpwYW4teTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UsdmlzaWJpbGl0eSAwc30uaW5wdXQtY29tcG9zZXJ7YmFja2dyb3VuZDojZmZmZmZmZTA7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czoyMnB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWlufS5pbnB1dC1jb21wb3Nlcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDAgMTZweCAjYzU2NTNkMTQ7YmFja2dyb3VuZDojZmZmZmZmZmF9LmNvbXBvc2VyLXN0YXR1cy1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6MCAxMHB4O21pbi1oZWlnaHQ6MDt0cmFuc2l0aW9uOnBhZGRpbmcgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY29tcG9zZXItc3RhdHVzLXJvdz4qe2ZsZXgtc2hyaW5rOjB9LmNvbXBvc2VyLXN0YXR1cy1yb3c6aGFzKD4qOm5vdCguaGlkZGVuKSl7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjB9QHN1cHBvcnRzIG5vdCBzZWxlY3Rvcig6aGFzKCopKXsuY29tcG9zZXItc3RhdHVzLXJvdzpub3QoOmVtcHR5KXtwYWRkaW5nLXRvcDo0cHh9fS5jb21wb3Nlci1tYWluLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6NDRweH0uY29tcG9zZXItYWN0aW9ucy1sZWZ0LC5jb21wb3Nlci1hY3Rpb25zLXJpZ2h0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmbGV4LXNocmluazowfS5jb21wb3Nlci1pbnB1dC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uaW5wdXQtY29tcG9zZXItYmFye2Rpc3BsYXk6bm9uZX0uaW5wdXQtY29tcG9zZXItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7ZmxleC13cmFwOm5vd3JhcDtmbGV4LXNocmluazowO21pbi13aWR0aDowfS5jb21wb3Nlci1waWxsLWdyb3Vwe2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7cGFkZGluZzoxcHg7Ym9yZGVyLXJhZGl1czoxMXB4O2JhY2tncm91bmQ6I2M1NjUzZDBkO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNjNTY1M2QxNDttaW4td2lkdGg6MH0uY29tcG9zZXItcGlsbC1ncm91cCAuY29tcG9zZXItcGlsbHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uY29tcG9zZXItcGlsbC1ncm91cCAuY29tcG9zZXItcGlsbDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZiZn0uY29tcG9zZXItcGlsbC1ncm91cCAuY29tcG9zZXItcGlsbDpmb2N1cywuY29tcG9zZXItcGlsbC1ncm91cCAuY29tcG9zZXItcGlsbDpmb2N1cy12aXNpYmxlLC5jb21wb3Nlci1waWxsLWdyb3VwIC5jb21wb3Nlci1waWxsOmZvY3VzLXdpdGhpbntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmZlNn0uY29tcG9zZXItdGV4dC1ncm91cHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O21pbi13aWR0aDowO2ZsZXgtd3JhcDpub3dyYXB9LmNvbXBvc2VyLXRleHQtcGlsbHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO2JveC1zaXppbmc6Ym9yZGVyLWJveDt1c2VyLXNlbGVjdDpub25lO21heC13aWR0aDoxMTBweDtsZXR0ZXItc3BhY2luZzouMDFlbX0uY29tcG9zZXItdGV4dC1waWxsOmhvdmVyLC5jb21wb3Nlci10ZXh0LXBpbGw6Zm9jdXMtd2l0aGlue2NvbG9yOnZhcigtLWFjY2VudCl9LmNvbXBvc2VyLXRleHQtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dHJhbnNwYXJlbnQ7Zm9udDppbmhlcml0O29wYWNpdHk6MDtjdXJzb3I6cG9pbnRlcjthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LmNvbXBvc2VyLXRleHQtaGlkZGVuLXNlbGVjdDpmb2N1c3tvdXRsaW5lOm5vbmV9LmNvbXBvc2VyLXRleHQtc2Vwe2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnksICNiNWE4OWEpO2ZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDoxO3VzZXItc2VsZWN0Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5Oi42NX0uY2hhdC1tb2RlbC10ZXh0LXBpbGx7bWF4LXdpZHRoOjExMHB4fS5jaGF0LXRoaW5raW5nLXRleHQtcGlsbHttYXgtd2lkdGg6OTBweH0ucGVybWlzc2lvbi1hY3Rpb25ze2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7YW5pbWF0aW9uOnBlcm1pc3Npb24tZmFkZS1pbiAuMnMgZWFzZS1vdXR9LnBlcm1pc3Npb24tYWN0aW9ucy5oaWRkZW57ZGlzcGxheTpub25lfS5wZXJtaXNzaW9uLWFjdGlvbnMtZGl2aWRlcnt3aWR0aDoxcHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXIpO21hcmdpbjowIDJweH0ucGVybWlzc2lvbi1hY3Rpb25zLWxhYmVse2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjojZDE4YjAwO21heC13aWR0aDoxODBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmJ0bi1wZXJtaXNzaW9ue2ZvbnQtc2l6ZTouNjVyZW07cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7bGluZS1oZWlnaHQ6MS40O2ZvbnQtd2VpZ2h0OjUwMDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxib3JkZXItY29sb3IgLjE1c30uYnRuLXBlcm1pc3Npb246ZGlzYWJsZWR7b3BhY2l0eTouNTtjdXJzb3I6bm90LWFsbG93ZWR9LmJ0bi1wZXJtaXNzaW9uLWFwcHJvdmV7YmFja2dyb3VuZDojZjBhNTAwMjY7Y29sb3I6I2QxOGIwMDtib3JkZXItY29sb3I6I2YwYTUwMDRkfS5idG4tcGVybWlzc2lvbi1hcHByb3ZlOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JhY2tncm91bmQ6I2YwYTUwMDQwfS5idG4tcGVybWlzc2lvbi1kZW55e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcil9LmJ0bi1wZXJtaXNzaW9uLWRlbnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7YmFja2dyb3VuZDojZGMzMjMyMTQ7Y29sb3I6dmFyKC0tZGFuZ2VyKTtib3JkZXItY29sb3I6I2RjMzIzMjRkfUBrZXlmcmFtZXMgcGVybWlzc2lvbi1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC00cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfX0uYXV0by1hcHByb3ZlLWluZGljYXRvci5hY3RpdmV7Y29sb3I6IzIyYzU1ZTtib3JkZXItY29sb3I6IzIyYzU1ZTgwO2JhY2tncm91bmQ6IzIyYzU1ZTFmfS5hdXRvLWFwcHJvdmUtaW5kaWNhdG9yLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiMyMmM1NWUzMztib3JkZXItY29sb3I6IzIyYzU1ZX0uYXBwcm92YWwtc3RhdHN7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9LmFwcHJvdmFsLXN0YXRzLmhpZGRlbntkaXNwbGF5Om5vbmV9LmFwcHJvdmFsLXN0YXRzLWRpdmlkZXJ7d2lkdGg6MDtoZWlnaHQ6MTZweDttYXJnaW46MCAxcHh9LmFwcHJvdmFsLXN0YXRzLWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7bWluLWhlaWdodDoyMnB4O3BhZGRpbmc6MXB4IDhweDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojMjJjNTVlMWE7Y29sb3I6IzIyYzU1ZTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo2MDA7Y3Vyc29yOmRlZmF1bHQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXM7bGluZS1oZWlnaHQ6MTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmFwcHJvdmFsLXN0YXRzLWJhZGdlOmhvdmVye2JhY2tncm91bmQ6IzIyYzU1ZTJlfS5hcHByb3ZhbC1zdGF0cy1pY29ue3N0cm9rZTojMjJjNTVlO2ZsZXgtc2hyaW5rOjB9LmFwcHJvdmFsLXN0YXRzLXRvdGFse2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc31Aa2V5ZnJhbWVzIGFwcHJvdmFsLXB1bHNlezAle3RyYW5zZm9ybTpzY2FsZSgxKX01MCV7dHJhbnNmb3JtOnNjYWxlKDEuMTUpfXRve3RyYW5zZm9ybTpzY2FsZSgxKX19LmFwcHJvdmFsLXN0YXRzLXB1bHNle2FuaW1hdGlvbjphcHByb3ZhbC1wdWxzZSAuM3MgZWFzZS1vdXR9LmFwcHJvdmFsLXN0YXRzLXBvcHVwe2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206Y2FsYygxMDAlICsgNnB4KTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQsICMxZTFlMmUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjhweDtwYWRkaW5nOjhweCAxMHB4O21pbi13aWR0aDoxNDBweDtib3gtc2hhZG93OjAgNHB4IDE2cHggIzAwMDAwMDQwO3otaW5kZXg6MTAwO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS5hcHByb3ZhbC1zdGF0czpob3ZlciAuYXBwcm92YWwtc3RhdHMtcG9wdXB7ZGlzcGxheTpmbGV4fS5hcHByb3ZhbC1zdGF0cy1wb3B1cC10aXRsZXtmb250LXNpemU6LjY1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweDt3aGl0ZS1zcGFjZTpub3dyYXB9LmFwcHJvdmFsLXN0YXRzLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5LCAjY2NjKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmFwcHJvdmFsLXN0YXRzLXJvdy1pY29ue3dpZHRoOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjcycmVtfS5hcHByb3ZhbC1zdGF0cy1yb3ctbGFiZWx7ZmxleDoxfS5hcHByb3ZhbC1zdGF0cy1yb3ctY291bnR7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSwgI2VlZSk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO21pbi13aWR0aDoyMHB4O3RleHQtYWxpZ246cmlnaHR9LmFwcHJvdmFsLXN0YXRzLXJvdy10b3RhbHtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmctdG9wOjRweDttYXJnaW4tdG9wOjJweDtjb2xvcjojMjJjNTVlfS5hcHByb3ZhbC1zdGF0cy1yb3ctdG90YWwgLmFwcHJvdmFsLXN0YXRzLXJvdy1jb3VudHtjb2xvcjojMjJjNTVlfS5jb21wb3Nlci1pbnRlcmFjdGl2ZS10b2dnbGV7Zm9udC1zaXplOi43NXJlbTtwYWRkaW5nOjFweCA4cHh9LmlucHV0LWNvbXBvc2VyLXJpZ2h0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjE7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfUBrZXlmcmFtZXMgcXVldWVQdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6Ljc4fX1Aa2V5ZnJhbWVzIHF1ZXVlRG90UHVsc2V7MCUsdG97dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX01MCV7dHJhbnNmb3JtOnNjYWxlKC43KTtvcGFjaXR5Oi41NX19LnF1ZXVlLWJhci1ob3N0e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE0cHg7Ym90dG9tOjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDI4cHgpO3otaW5kZXg6MTQ7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3RyYW5zaXRpb246Ym90dG9tIC4yMnMgdmFyKC0tZWFzZS1vdXQtZXhwbywgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpKX0ucXVldWUtYmFyLWhvc3RbaGlkZGVuXXtkaXNwbGF5Om5vbmV9LmNoYXQtdW5yZWFkLWJ1YmJsZS52aXNpYmxlfi5xdWV1ZS1iYXItaG9zdHtib3R0b206NTJweH0ucXVldWUtYmFye3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6NHB4O21heC13aWR0aDptaW4oMzYwcHgsY2FsYygxMDB2dyAtIDI0cHgpKTthbmltYXRpb246cXVldWVCYXJFbnRlciAuMjJzIGVhc2Utb3V0IGJvdGh9QGtleWZyYW1lcyBxdWV1ZUJhckVudGVyezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucXVldWUtYmFyLWxpc3R7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDozcHg7d2lkdGg6MTAwJX0ucXVldWUtYmFyLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7Z2FwOjA7aGVpZ2h0OjVweDt3aWR0aDozMnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpIDAlLCNhODUyMmYgMTAwJSk7Ym94LXNoYWRvdzowIDFweCAycHggI2M1NjUzZDQwO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllciguMiwuNywuMiwxKSxoZWlnaHQgLjJzIGN1YmljLWJlemllciguMiwuNywuMiwxKSxwYWRkaW5nIC4ycyBjdWJpYy1iZXppZXIoLjIsLjcsLjIsMSksZ2FwIC4ycyBjdWJpYy1iZXppZXIoLjIsLjcsLjIsMSksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLHRyYW5zZm9ybSAuMTRzIGVhc2Utb3V0O3dpbGwtY2hhbmdlOnRyYW5zZm9ybTt0b3VjaC1hY3Rpb246bm9uZX0ucXVldWUtYmFyLWl0ZW06aG92ZXJ7Ym94LXNoYWRvdzowIDJweCA2cHggI2M1NjUzZDZifS5xdWV1ZS1iYXItaXRlbS5leHBhbmRlZCwucXVldWUtYmFyLWl0ZW0uZHJhZ2dpbmd7d2lkdGg6YXV0bzttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MjRweDtwYWRkaW5nOjAgNHB4IDAgNXB4O2dhcDo1cHg7Ym94LXNoYWRvdzowIDJweCA2cHggI2M1NjUzZDU3O2N1cnNvcjpncmFifS5xdWV1ZS1iYXItaXRlbS5kcmFnZ2luZ3t6LWluZGV4OjU7Ym94LXNoYWRvdzowIDZweCAxNnB4ICNjNTY1M2Q3MywwIDAgMCAxLjVweCAjZmZmNjt0cmFuc2l0aW9uOmJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtjdXJzb3I6Z3JhYmJpbmd9LnF1ZXVlLWJhci1pdGVtLmV4cGFuZGVkOmFjdGl2ZXtjdXJzb3I6Z3JhYmJpbmd9LnF1ZXVlLWJhci1pdGVtLXNpbmdsZSwucXVldWUtYmFyLWl0ZW0tc2luZ2xlLmV4cGFuZGVkLC5xdWV1ZS1iYXItaXRlbS1zaW5nbGUuZXhwYW5kZWQ6YWN0aXZle2N1cnNvcjpwb2ludGVyfS5xdWV1ZS1iYXItaXRlbS1zbGlkaW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnMgY3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpfS5xdWV1ZS1iYXItaXRlbS1pbmRleHtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNnJlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZmZmZmYyO2JhY2tncm91bmQ6I2ZmZmZmZjM4O3BhZGRpbmc6MCA1cHg7aGVpZ2h0OjE1cHg7bWluLXdpZHRoOjE1cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtsaW5lLWhlaWdodDoxNXB4O3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOi4wMmVtO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjQpO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2UsdHJhbnNmb3JtIC4xOHMgY3ViaWMtYmV6aWVyKC4yLC43LC4yLDEpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnF1ZXVlLWJhci1pdGVtLmV4cGFuZGVkIC5xdWV1ZS1iYXItaXRlbS1pbmRleCwucXVldWUtYmFyLWl0ZW0uZHJhZ2dpbmcgLnF1ZXVlLWJhci1pdGVtLWluZGV4e29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9LnF1ZXVlLWJhci1pdGVtLXRleHR7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtmb250LXNpemU6LjdyZW07Y29sb3I6I2ZmZjtsaW5lLWhlaWdodDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsZXR0ZXItc3BhY2luZzouMDJlbTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4xMnMgZWFzZSA1MG1zO3BvaW50ZXItZXZlbnRzOm5vbmV9LnF1ZXVlLWJhci1pdGVtLmV4cGFuZGVkIC5xdWV1ZS1iYXItaXRlbS10ZXh0LC5xdWV1ZS1iYXItaXRlbS5kcmFnZ2luZyAucXVldWUtYmFyLWl0ZW0tdGV4dHtvcGFjaXR5OjF9LnF1ZXVlLWJhci1pdGVtLWRlbGV0ZXtmbGV4LXNocmluazowO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDojZmZmZmZmMjk7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjk5OXB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMTJzIGVhc2UgNzBtcyxiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnF1ZXVlLWJhci1pdGVtLmV4cGFuZGVkIC5xdWV1ZS1iYXItaXRlbS1kZWxldGUsLnF1ZXVlLWJhci1pdGVtLmRyYWdnaW5nIC5xdWV1ZS1iYXItaXRlbS1kZWxldGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnF1ZXVlLWJhci1pdGVtLWRlbGV0ZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY1N30ucXVldWUtYmFyLWl0ZW0tZGVsZXRlIHN2Z3tmbGV4LXNocmluazowfS5xdWV1ZS1iYXItaXRlbS1wcm9tb3Rle2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjNweDtoZWlnaHQ6MThweDtwYWRkaW5nOjAgN3B4IDAgNnB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OTk5cHg7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNmZmZmZmYzODtmb250LXNpemU6LjY1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDJlbTtsaW5lLWhlaWdodDoxO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZmZmYzODtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjEycyBlYXNlIDYwbXMsYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSx0cmFuc2Zvcm0gLjEycyBlYXNlfS5xdWV1ZS1iYXItaXRlbS5leHBhbmRlZCAucXVldWUtYmFyLWl0ZW0tcHJvbW90ZSwucXVldWUtYmFyLWl0ZW0uZHJhZ2dpbmcgLnF1ZXVlLWJhci1pdGVtLXByb21vdGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LnF1ZXVlLWJhci1pdGVtLXByb21vdGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmNWM7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZmZmZjczfS5xdWV1ZS1iYXItaXRlbS1wcm9tb3RlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk0KX0ucXVldWUtYmFyLWl0ZW0tcHJvbW90ZTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6MXB4fS5xdWV1ZS1iYXItaXRlbS1wcm9tb3RlIHN2Z3tmbGV4LXNocmluazowfS5xdWV1ZS1iYXItaXRlbS1wcm9tb3RlLWxhYmVse2Rpc3BsYXk6aW5saW5lfS5xdWV1ZS1iYXIucXVldWUtYmFyLWNhcGFjaXR5IC5xdWV1ZS1iYXItaXRlbXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2E4NTIyZiwjOGU0NDI2KX1AbWVkaWEobWF4LXdpZHRoOjU2MHB4KXsucXVldWUtYmFyLWhvc3R7cmlnaHQ6OHB4O2JvdHRvbTo4cHh9LnF1ZXVlLWJhcnttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDIwcHgpfS5xdWV1ZS1iYXItaXRlbXt3aWR0aDo0MHB4O2hlaWdodDo2cHh9LnF1ZXVlLWJhci1pdGVtLXByb21vdGUtbGFiZWx7ZGlzcGxheTpub25lfS5xdWV1ZS1iYXItaXRlbS1wcm9tb3Rle3BhZGRpbmc6MCA2cHh9fS5pbnB1dC1oaW50e2ZvbnQtc2l6ZTouNXJlbTtsaW5lLWhlaWdodDoxLjI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2hpdGUtc3BhY2U6bm93cmFwO3VzZXItc2VsZWN0Om5vbmU7b3BhY2l0eTouNzttYXgtd2lkdGg6MzhjaDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaW5wdXQtcm93e2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2FsaWduLWl0ZW1zOmZsZXgtZW5kO21heC13aWR0aDoxMDAlfS5pbnB1dC1maWVsZHtmbGV4OjE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O21pbi13aWR0aDowO21heC13aWR0aDoxMDAlfS5pbnB1dC1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC13ZWlnaHQ6NTAwfS5pbnB1dC10ZXh0YXJlYS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LmNvbXBvc2VyLXRvcC1yb3d7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21pbi13aWR0aDowfS5jb21wb3Nlci10b3Atcm93Omhhcyg+LnRvZG8tcHJvZ3Jlc3M6bm90KC5oaWRkZW4pKSwuY29tcG9zZXItdG9wLXJvdzpoYXMoPi5zdHJ1Y3R1cmVkLXN0YXR1cy1iYXIpe21hcmdpbi1ib3R0b206NnB4fS50b2RvLXByb2dyZXNze21hcmdpbi1ib3R0b206NnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnRvZG8tcHJvZ3Jlc3MuaGlkZGVue2Rpc3BsYXk6bm9uZX0uY29tcG9zZXItdG9wLXJvdz4udG9kby1wcm9ncmVzc3tmbGV4OjE7bWluLXdpZHRoOjA7bWFyZ2luLWJvdHRvbTowfS50b2RvLXByb2dyZXNzLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6NHB4IDhweDtjdXJzb3I6cG9pbnRlcjt1c2VyLXNlbGVjdDpub25lO2dhcDo4cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b2RvLXByb2dyZXNzLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0udG9kby1wcm9ncmVzcy1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttaW4td2lkdGg6MDtmbGV4OjF9LnRvZG8tcHJvZ3Jlc3MtcmluZ3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWluLXdpZHRoOjE2cHg7ZmxleC1zaHJpbms6MH0udG9kby1wcm9ncmVzcy1yaW5nIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0udG9kby1yaW5nLXRyYWNre3N0cm9rZTojYzU2NTNkMmV9LnRvZG8tcmluZy1maWxse3N0cm9rZTp2YXIoLS1hY2NlbnQpO3N0cm9rZS1kYXNoYXJyYXk6OTcuMzk7c3Ryb2tlLWRhc2hvZmZzZXQ6Y2FsYyg5Ny4zOSAqICgxIC0gdmFyKC0tcHJvZ3Jlc3MsIDApKSk7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCAuMzVzIGVhc2V9LnRvZG8tcHJvZ3Jlc3MtcmluZzphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjRweDtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtvcGFjaXR5Oi42O2FuaW1hdGlvbjpyaW5nUHVsc2UgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHJpbmdQdWxzZXswJSx0b3tvcGFjaXR5Oi4zNTt0cmFuc2Zvcm06c2NhbGUoLjg1KX01MCV7b3BhY2l0eTouOTU7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfX0udG9kby1wcm9ncmVzcy1jb3VudGVye2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30udG9kby1wcm9ncmVzcy10YXNre2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udG9kby1wcm9ncmVzcy1jaGV2cm9ue2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2V9LnRvZG8tcHJvZ3Jlc3MuZXhwYW5kZWQgLnRvZG8tcHJvZ3Jlc3MtY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvZG8tcHJvZ3Jlc3MtYm9keXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206Y2FsYygxMDAlICsgNnB4KTtiYWNrZ3JvdW5kOiNmZmZiZjZmYTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHggMTBweDtib3gtc2hhZG93OjAgOHB4IDI0cHggIzAwMDAwMDE0LDAgMnB4IDZweCAjMDAwMDAwMGE7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7bWF4LWhlaWdodDozMjBweDtvdmVyZmxvdy15OmF1dG87ei1pbmRleDozMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZX0udG9kby1wcm9ncmVzcy1ib2R5LmhpZGRlbntkaXNwbGF5Om5vbmV9LnRvZG8tcHJvZ3Jlc3MtYm9keS5leHBhbmRlZHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7cG9pbnRlci1ldmVudHM6YXV0b30udG9kby1wcm9ncmVzcy1saXN0e2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MXB4fS50b2RvLXByb2dyZXNzLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjM1O3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b2RvLXByb2dyZXNzLWl0ZW0rLnRvZG8tcHJvZ3Jlc3MtaXRlbXtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjB9LnRvZG8tcHJvZ3Jlc3MtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo4cHh9LnRvZG8tcHJvZ3Jlc3MtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0udG9kby1wcm9ncmVzcy1pdGVtLmFjdGl2ZXtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtd2VpZ2h0OjUwMDtiYWNrZ3JvdW5kOiNjNTY1M2QxMn0udG9kby1wcm9ncmVzcy1pdGVtLmRvbmV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDt0ZXh0LWRlY29yYXRpb24tY29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnRvZG8tcHJvZ3Jlc3MtaXRlbT5zcGFuOmxhc3QtY2hpbGR7ZmxleDoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udG9kby1pdGVtLWljb257d2lkdGg6MTZweDttaW4td2lkdGg6MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6Ljc1cmVtO2ZsZXgtc2hyaW5rOjB9LnRvZG8taXRlbS1pY29uLnBlbmRpbmd7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnRvZG8taXRlbS1pY29uLmFjdGl2ZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS50b2RvLWl0ZW0taWNvbi5kb25le2NvbG9yOiM0YTdhNGZ9LmZvbGRlci1waWNrZXItY29udGFpbmVye21hcmdpbi1ib3R0b206OHB4fS5mb2xkZXItcGlja2VyLXF1aWNrLXBhdGhze2Rpc3BsYXk6ZmxleDtnYXA6NnB4O21hcmdpbi1ib3R0b206NnB4O2ZsZXgtd3JhcDp3cmFwfS5mb2xkZXItcGlja2VyLXF1aWNrLWJ0bntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7cGFkZGluZzo0cHggOHB4O2JhY2tncm91bmQ6I2ZmZjk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uZm9sZGVyLXBpY2tlci1xdWljay1idG46aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmZTY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KX0uZm9sZGVyLWJyZWFkY3J1bWJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4LXdyYXA6d3JhcDtnYXA6MnB4O3BhZGRpbmc6NHB4IDhweDtiYWNrZ3JvdW5kOiNmZmY2O2JvcmRlci1yYWRpdXM6NnB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO21hcmdpbi1ib3R0b206NHB4fS5mb2xkZXItYnJlYWRjcnVtYi1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjJweCA0cHg7Ym9yZGVyLXJhZGl1czozcHg7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uZm9sZGVyLWJyZWFkY3J1bWItaXRlbTpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKX0uZm9sZGVyLWJyZWFkY3J1bWItaXRlbS5jdXJyZW50e2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NTAwfS5mb2xkZXItYnJlYWRjcnVtYi1zZXBhcmF0b3J7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luOjAgMXB4fS5mb2xkZXItcGlja2Vye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjZweCA4cHg7YmFja2dyb3VuZDojZmZmZmZmODA7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSl9LmZvbGRlci1waWNrZXItaWNvbntmb250LXNpemU6MXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4LXNocmluazowfS5mb2xkZXItcGlja2VyLWlucHV0e2ZsZXg6MTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7b3V0bGluZTpub25lO3BhZGRpbmc6NHB4fS5mb2xkZXItcGlja2VyLWlucHV0OmZvY3Vze2JhY2tncm91bmQ6I2ZmZmM7Ym9yZGVyLXJhZGl1czo0cHh9LmZvbGRlci1waWNrZXItZHJvcGRvd257cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1lbGV2YXRlZCk7ei1pbmRleDo1MDttYXgtaGVpZ2h0OjI0MHB4O292ZXJmbG93LXk6YXV0bzttYXJnaW4tdG9wOjRweH0uZm9sZGVyLXBpY2tlci1pdGVte2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjhweCAxMHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouODEyNXJlbTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uZm9sZGVyLXBpY2tlci1pdGVtOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5mb2xkZXItcGlja2VyLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKX0uZm9sZGVyLXBpY2tlci1pdGVtLWljb257Zm9udC1zaXplOi44NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmZvbGRlci1waWNrZXItbG9hZGluZ3twYWRkaW5nOjhweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtc2l6ZTouNzVyZW19LmZvbGRlci1waWNrZXItZXJyb3J7cGFkZGluZzo4cHggMTBweDtjb2xvcjp2YXIoLS1kYW5nZXIpO2ZvbnQtc2l6ZTouNzVyZW07YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjo0cHggOHB4fS5mb2xkZXItcGlja2VyLWNvbnRhaW5lci5kcmFnLW92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKX0uZm9sZGVyLXBpY2tlci1jb250YWluZXIuZHJhZy1vdmVyIC5mb2xkZXItcGlja2Vye2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2xkZXItcmVjZW50LXNlY3Rpb257cGFkZGluZzo0cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO21hcmdpbi1ib3R0b206NHB4fS5mb2xkZXItcmVjZW50LXRpdGxle2ZvbnQtc2l6ZTouNjg3NXJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGV0dGVyLXNwYWNpbmc6LjA1ZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLWJvdHRvbTo0cHh9LmZvbGRlci1yZWNlbnQtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo2cHggOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07Ym9yZGVyLXJhZGl1czo0cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZvbGRlci1yZWNlbnQtaXRlbTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KX0uZm9sZGVyLXJlY2VudC1pdGVtLWljb257Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmZvbGRlci1yZWNlbnQtaXRlbS1wYXRoe2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZm9sZGVyLXBpY2tlci1pbnB1dC5pbnZhbGlke2JvcmRlci1jb2xvcjp2YXIoLS1kYW5nZXIpO2JhY2tncm91bmQ6I2IyNGY0NTE0fS5mb2xkZXItcGlja2VyLWlucHV0LmludmFsaWQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAycHggI2IyNGY0NTMzfS5mb2xkZXItcGlja2VyLXZhbGlkYXRpb257Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLWRhbmdlcik7cGFkZGluZzoycHggNHB4O21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6bm9uZX0uZm9sZGVyLXBpY2tlci12YWxpZGF0aW9uLnZpc2libGV7ZGlzcGxheTpibG9ja30uZm9sZGVyLXBpY2tlci1jb21wYWN0e3Bvc2l0aW9uOnN0aWNreTttYXJnaW4tYm90dG9tOjhweH0uZm9sZGVyLXBpY2tlci1jb21wYWN0LXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo2cHggMTBweDtiYWNrZ3JvdW5kOiNmZmZmZmY4MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5mb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93OmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNmZmZjO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaWNvbntmb250LXNpemU6Ljg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4LXNocmluazowfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXR7ZmxleDoxO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtvdXRsaW5lOm5vbmU7cGFkZGluZzoycHggMDttaW4td2lkdGg6MH0uZm9sZGVyLXBpY2tlci1jb21wYWN0LWlucHV0OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uZm9sZGVyLXBpY2tlci10b2dnbGV7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6NHB4IDZweDtmb250LXNpemU6LjYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5mb2xkZXItcGlja2VyLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmZvbGRlci1waWNrZXItcXVpY2stcm93e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O3BhZGRpbmc6NnB4IDhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKX0uZm9sZGVyLXBpY2tlci1xdWljay1yb3cgLmZvbGRlci1waWNrZXItcXVpY2stYnRue2ZsZXg6MTtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5saW5le2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjJweCA2cHg7YmFja2dyb3VuZDojZmZmOTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6NnB4O3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmZvbGRlci1waWNrZXItY29tcGFjdC1pbmxpbmU6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQ6I2ZmZmZmZmU2O2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5saW5lLWlucHV0e2ZsZXg6MTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO291dGxpbmU6bm9uZTtwYWRkaW5nOjJweCAwO21pbi13aWR0aDoxMjBweH0uZm9sZGVyLXBpY2tlci1jb21wYWN0LWlubGluZS1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmZvbGRlci1waWNrZXItY29tcGFjdC1pbmxpbmUtdG9nZ2xle2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czozcHg7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtmbGV4LXNocmluazowfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5saW5lLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LmZvbGRlci1waWNrZXItY29tcGFjdC1pbmxpbmUtdG9nZ2xlLm9wZW57dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mb2xkZXItcGlja2VyLWlubGluZS1kcm9wZG93bntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTAwJTtsZWZ0OjA7bWFyZ2luLXRvcDo0cHg7cGFkZGluZzo2cHg7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctZWxldmF0ZWQpO2Rpc3BsYXk6ZmxleDtnYXA6NHB4O21pbi13aWR0aDoxODBweDt6LWluZGV4OjEwMH0uZm9sZGVyLXBpY2tlci1pbmxpbmUtZHJvcGRvd24uaGlkZGVue2Rpc3BsYXk6bm9uZX0uZm9sZGVyLXBpY2tlci1pbmxpbmUtcXVpY2stYnRue2ZsZXg6MTtwYWRkaW5nOjRweCA4cHg7Zm9udC1zaXplOi42ODc1cmVtO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo2cHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3doaXRlLXNwYWNlOm5vd3JhcH0uZm9sZGVyLXBpY2tlci1pbmxpbmUtcXVpY2stYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LXNvZnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfS53b3JraW5nLWRpci1pbmRpY2F0b3J7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMHB4O2JvdHRvbTo1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjJweCA2cHg7YmFja2dyb3VuZDojYzU2NTNkMTQ7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1zaXplOi42NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7bWF4LXdpZHRoOjE4MHB4O3otaW5kZXg6Mjtwb2ludGVyLWV2ZW50czphdXRvfS53b3JraW5nLWRpci1pbmRpY2F0b3I6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCl9LndvcmtpbmctZGlyLWluZGljYXRvci1pY29ue2ZvbnQtc2l6ZTouNzVyZW07ZmxleC1zaHJpbms6MH0ud29ya2luZy1kaXItaW5kaWNhdG9yLXBhdGh7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dC10ZXh0YXJlYXstLWlucHV0LW1heC1oZWlnaHQ6IDEyMHB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi44MTI1cmVtO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjlweCA4cHg7b3V0bGluZTpub25lO3Jlc2l6ZTpub25lO21pbi1oZWlnaHQ6MzZweDttYXgtaGVpZ2h0OnZhcigtLWlucHV0LW1heC1oZWlnaHQpO3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dHJhbnNpdGlvbjpoZWlnaHQgLjE1cyBlYXNlLW91dDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGluZS1oZWlnaHQ6MS40O3RvdWNoLWFjdGlvbjpwYW4teTtzY3JvbGxiYXItZ3V0dGVyOnN0YWJsZX1AbWVkaWEocG9pbnRlcjpjb2Fyc2Upey5pbnB1dC10ZXh0YXJlYXstLWlucHV0LW1heC1oZWlnaHQ6IG1pbigxNjBweCwgMzVkdmgpO292ZXJmbG93LXk6YXV0b319QHN1cHBvcnRzIG5vdCAoaGVpZ2h0OiAxZHZoKXtAbWVkaWEocG9pbnRlcjpjb2Fyc2Upey5pbnB1dC10ZXh0YXJlYXstLWlucHV0LW1heC1oZWlnaHQ6IG1pbigxNjBweCwgMzV2aCl9fX0uaW5wdXQtdGV4dGFyZWE6Zm9jdXN7b3V0bGluZTpub25lfS5pbnB1dC10ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmlucHV0LXRleHRhcmVhLmhhcy1kaXItaW5kaWNhdG9ye3BhZGRpbmctYm90dG9tOjI4cHg7bWluLWhlaWdodDo2MHB4fS5pbnB1dC10ZXh0YXJlYS5pcy10ZXJtaW5hbC1wYXNzdGhyb3VnaHtvcGFjaXR5Oi43O2N1cnNvcjpkZWZhdWx0fS5pbnB1dC10ZXh0YXJlYS5pcy10ZXJtaW5hbC1wYXNzdGhyb3VnaDo6cGxhY2Vob2xkZXJ7Zm9udC1zdHlsZTppdGFsaWN9LmNvbXBvc2VyLXBpbGx7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTttaW4taGVpZ2h0OjIycHg7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JhY2tncm91bmQ6I2Y2ZjFlOGIzO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7Ym94LXNpemluZzpib3JkZXItYm94O3VzZXItc2VsZWN0Om5vbmV9LmNvbXBvc2VyLXBpbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZC1jb2xvcjojZjZmMWU4fS5jb21wb3Nlci1waWxsOmZvY3VzLC5jb21wb3Nlci1waWxsOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAycHggdmFyKC0tYWNjZW50LW11dGVkKTtvdXRsaW5lOm5vbmV9LmNvbXBvc2VyLXBpbGwuZGlzYWJsZWQsLmNvbXBvc2VyLXBpbGxbZGlzYWJsZWRde29wYWNpdHk6LjU1O2N1cnNvcjpub3QtYWxsb3dlZH0uY29tcG9zZXItcGlsbC1zZWxlY3R7cGFkZGluZzoxcHggMTZweCAxcHggNnB4O21heC13aWR0aDoxMTBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc1JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTEgMWwzIDMgMy0zJyBzdHJva2U9JyUyMzlhOGU4Micgc3Ryb2tlLXdpZHRoPScxLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRSIpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDRweCBjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpsZWZ0fS5jb21wb3Nlci1waWxsLWNoaXB7cGFkZGluZzoxcHggOHB4O2ZvbnQtc2l6ZTouNjI1cmVtfS5jb21wb3Nlci1waWxsLWNoaXAuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkLCByZ2JhKDE5NywgMTAxLCA2MSwgLjEyKSk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uY29tcG9zZXItcGlsbC1jaGlwLmFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QyZX0uY2hhdC1tb2RlLXNlbGVjdHttYXgtd2lkdGg6NzhweH0uY2hhdC1tb2RlbC1zZWxlY3R7bWF4LXdpZHRoOjk2cHh9LmNoYXQtdGhpbmtpbmctc2VsZWN0e21heC13aWR0aDo4NnB4fS5jaGF0LXRoaW5raW5nLXRyaWdnZXJ7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjg2cHg7cGFkZGluZy1sZWZ0OjZweH0uY2hhdC10aGlua2luZy1sYWJlbHtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztsZXR0ZXItc3BhY2luZzouMDFlbX0uY2hhdC10aGlua2luZy1oaWRkZW4tc2VsZWN0e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp0cmFuc3BhcmVudDtmb250OmluaGVyaXQ7b3BhY2l0eTowO2N1cnNvcjpwb2ludGVyO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX0uY2hhdC10aGlua2luZy1oaWRkZW4tc2VsZWN0OmZvY3Vze291dGxpbmU6bm9uZX0uYnRuLWNpcmNsZXt3aWR0aDoyOHB4O2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtmbGV4LXNocmluazowO3BhZGRpbmc6MH0uYnRuLWNpcmNsZS1zZW5ke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQpIDAlLCNhODUyMmYgMTAwJSk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDZweCAjYzU2NTNkNDB9LmJ0bi1jaXJjbGUtc2VuZDpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4wOCk7Ym94LXNoYWRvdzowIDNweCAxMHB4ICNjNTY1M2Q1OX0uYnRuLWNpcmNsZS1zZW5kOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uYnRuLWNpcmNsZS1zdG9we2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcil9LmJ0bi1jaXJjbGUtc3RvcDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS4wOCl9LmJ0bi1jaXJjbGUtc3RvcDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LmJ0bi1jaXJjbGUtYXR0YWNoe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmJ0bi1jaXJjbGUtYXR0YWNoOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDFhO2NvbG9yOnZhcigtLWFjY2VudCk7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfS5idG4tY2lyY2xlLWF0dGFjaDphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LmJ0bi1waWxse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo0cHg7aGVpZ2h0OjI4cHg7cGFkZGluZzowIDEwcHggMCA4cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZsZXgtc2hyaW5rOjA7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDJlbTt3aGl0ZS1zcGFjZTpub3dyYXB9LmJ0bi1waWxsLWljb257ZGlzcGxheTpibG9jaztmbGV4LXNocmluazowfS5idG4tcGlsbC1sYWJlbHtkaXNwbGF5OmlubGluZX0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNjNTY1M2Q4YywjYTg1MjJmOGMpO2JveC1zaGFkb3c6MCAxcHggNHB4ICNjNTY1M2QyNn0uYnRuLWNpcmNsZS1zZW5kLnF1ZXVlLW1vZGU6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudCkgMCUsI2E4NTIyZiAxMDAlKTtib3gtc2hhZG93OjAgM3B4IDEwcHggI2M1NjUzZDU5fS5wcm9tcHQtb3B0aW1pemUtYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7cmlnaHQ6NnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjIyKTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMmYyLCNlOGM1YWU1OSk7Y29sb3I6dmFyKC0tYWNjZW50KTt6LWluZGV4OjQ7Ym94LXNoYWRvdzowIDFweCA0cHggI2M1NjUzZDFhO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmZmYWYyLCNlOGM1YWU4Yyk7Y29sb3I6dmFyKC0tYWNjZW50LWhvdmVyKTt0cmFuc2Zvcm06c2NhbGUoMS4xMik7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q1OTtib3gtc2hhZG93OjAgMnB4IDEwcHggI2M1NjUzZDM4LDAgMCAwIDNweCAjYzU2NTNkMGZ9LnByb21wdC1vcHRpbWl6ZS1idG46YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTIpO2JveC1zaGFkb3c6MCAxcHggM3B4ICNjNTY1M2QyNn0ucHJvbXB0LW9wdGltaXplLWJ0bjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNn0ucHJvbXB0LW9wdGltaXplLWJ0bjpkaXNhYmxlZDpob3Zlcnt0cmFuc2Zvcm06bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMmYyLCNlOGM1YWU1OSk7Ym94LXNoYWRvdzowIDFweCA0cHggI2M1NjUzZDFhO2JvcmRlci1jb2xvcjojYzU2NTNkMzh9LnByb21wdC1vcHRpbWl6ZS1pY29ue3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgZWFzZSxvcGFjaXR5IC4ycyBlYXNlO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMTk3LDEwMSw2MSwuMykpfS5wcm9tcHQtb3B0aW1pemUtYnRuOmhvdmVyIC5wcm9tcHQtb3B0aW1pemUtaWNvbnthbmltYXRpb246cHJvbXB0LW9wdGltaXplLXR3aW5rbGUgMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDNweCByZ2JhKDE5NywxMDEsNjEsLjQpKX1Aa2V5ZnJhbWVzIHByb21wdC1vcHRpbWl6ZS10d2lua2xlezAlLHRve3RyYW5zZm9ybTpyb3RhdGUoMCkgc2NhbGUoMSl9NTAle3RyYW5zZm9ybTpyb3RhdGUoMTJkZWcpIHNjYWxlKDEuMTIpfX0ucHJvbXB0LW9wdGltaXplLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtiYWNrZ3JvdW5kOmNvbmljLWdyYWRpZW50KGZyb20gMGRlZyx0cmFuc3BhcmVudCAwZGVnLHZhcigtLWFjY2VudCkgMjcwZGVnLHRyYW5zcGFyZW50IDM2MGRlZyk7bWFzazpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMTFweCk7LXdlYmtpdC1tYXNrOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsdHJhbnNwYXJlbnQgMTBweCxibGFjayAxMXB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBlYXNlfS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLWxvYWRpbmd7Y29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZmFmMiwjZThjNWFlODApO2JvcmRlci1jb2xvcjojYzU2NTNkNjY7Ym94LXNoYWRvdzowIDJweCAxMnB4ICNjNTY1M2Q0MCwwIDAgMCAzcHggI2M1NjUzZDE0fS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLWxvYWRpbmcgLnByb21wdC1vcHRpbWl6ZS1pY29ue2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtcHVsc2UgMS4xcyBlYXNlLWluLW91dCBpbmZpbml0ZX0ucHJvbXB0LW9wdGltaXplLWJ0bi5pcy1sb2FkaW5nIC5wcm9tcHQtb3B0aW1pemUtc3Bpbm5lcntvcGFjaXR5OjE7YW5pbWF0aW9uOnByb21wdC1vcHRpbWl6ZS1zcGluIC45cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgcHJvbXB0LW9wdGltaXplLXB1bHNlezAlLHRve3RyYW5zZm9ybTpzY2FsZSguODgpO29wYWNpdHk6Ljh9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KTtvcGFjaXR5OjF9fS5pbnB1dC1jb21wb3Nlci5pcy1vcHRpbWl6aW5ne2JvcmRlci1jb2xvcjojYzU2NTNkNmI7Ym94LXNoYWRvdzowIDAgMCAycHggI2M1NjUzZDFhLDAgMCAxOHB4ICNjNTY1M2QyNH0uaW5wdXQtY29tcG9zZXIuaXMtb3B0aW1pemluZyAuY29tcG9zZXItaW5wdXQtd3JhcDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTAwZGVnLHRyYW5zcGFyZW50IDAlLHRyYW5zcGFyZW50IDM4JSxyZ2JhKDIxNCwxMjMsODIsLjE2KSA1MCUsdHJhbnNwYXJlbnQgNjIlLHRyYW5zcGFyZW50IDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMjAlIDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246MjIwJSAwO2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtZmxvdyAxLjZzIGxpbmVhciBpbmZpbml0ZTt6LWluZGV4OjB9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtZmxvd3swJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIyMCUgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjAlIDB9fS5wcm9tcHQtb3B0aW1pemUtYnRuLmlzLXNoYWtle2FuaW1hdGlvbjpwcm9tcHQtb3B0aW1pemUtc2hha2UgLjRzIGVhc2Utb3V0O2NvbG9yOnZhcigtLWRhbmdlcil9QGtleWZyYW1lcyBwcm9tcHQtb3B0aW1pemUtc2hha2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtM3B4KX00MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgzcHgpfTYwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCl9fUBtZWRpYShtYXgtd2lkdGg6NzIwcHgpey5wcm9tcHQtb3B0aW1pemUtYnRue3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHh9LnByb21wdC1vcHRpbWl6ZS1pY29ue3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHh9fS5idG4tY2lyY2xlLWFjdGlvbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjMycHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2ZsZXgtc2hyaW5rOjA7cGFkZGluZzowfS5idG4tY2lyY2xlLWFjdGlvbjpob3ZlcntiYWNrZ3JvdW5kOiNjNTY1M2QxYTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTpzY2FsZSgxLjA4KX0uYnRuLWNpcmNsZS1hY3Rpb246YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS5idG4tY2lyY2xlLWFjdGlvbi5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQsIHJnYmEoMTk3LCAxMDEsIDYxLCAuMTQpKTtjb2xvcjp2YXIoLS1hY2NlbnQpfS5idG4tY2lyY2xlLWFjdGlvbi5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMzh9LmNoYXQtbW9kZS10cmlve2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC13cmFwOndyYXB9LmNoYXQtbW9kZS10cmlvLXBpbGx7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0uY2hhdC1tb2RlLXRyaW8tdGFne2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5LCAjYjVhODlhKTtsZXR0ZXItc3BhY2luZzouMDRlbTttYXJnaW4tcmlnaHQ6NHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtvcGFjaXR5Oi43NX0uZW1wdHktc3RhdGUtdHJpby13cmFwe21hcmdpbi10b3A6MTRweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2FuaW1hdGlvbjplbXB0eVN0YXRlVHJpb0ZhZGVJbiAuNHMgZWFzZS1vdXR9LmVtcHR5LXN0YXRlLXRyaW8taGludHtmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xldHRlci1zcGFjaW5nOi4wMmVtfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93bntnYXA6NHB4O3BhZGRpbmc6NnB4IDEycHg7YmFja2dyb3VuZDojZjZmMWU4OTk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDFweCAzcHggIzAwMDAwMDBhfS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6Ljc4cmVtO3BhZGRpbmc6M3B4IDZweDtib3JkZXItcmFkaXVzOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMGZ9LmNoYXQtbW9kZS10cmlvLWRyb3Bkb3duIC5jaGF0LW1vZGUtdHJpby1waWxsOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kOiNjNTY1M2QxNH0uY2hhdC1tb2RlLXRyaW8tZHJvcGRvd24gLmNvbXBvc2VyLXRleHQtbGFiZWx7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO21heC13aWR0aDoxNDBweH1Aa2V5ZnJhbWVzIGVtcHR5U3RhdGVUcmlvRmFkZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdHttYXJnaW4tcmlnaHQ6NHB4O2dhcDozcHg7b3BhY2l0eTouNTU7dHJhbnNpdGlvbjpvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbWVzc2FnZS1hdmF0YXIudXNlcjpob3ZlciAuY2hhdC1tb2RlLXRyaW8tY29tcGFjdCwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmZvY3VzLXdpdGhpbiwuY2hhdC1tZXNzYWdlLWF2YXRhci51c2VyIC5jaGF0LW1vZGUtdHJpby1jb21wYWN0OmhvdmVye29wYWNpdHk6MX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY2hhdC1tb2RlLXRyaW8tcGlsbHtmb250LXNpemU6LjY4NzVyZW07cGFkZGluZzoycHggNnB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiNmNmYxZTg4Yztib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO2xpbmUtaGVpZ2h0OjF9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXJ7YmFja2dyb3VuZDojYzU2NTNkMWE7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uY2hhdC1tb2RlLXRyaW8tY29tcGFjdCAuY29tcG9zZXItdGV4dC1sYWJlbHtmb250LXNpemU6LjY4NzVyZW07bWF4LXdpZHRoOjg4cHg7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNvbXBvc2VyLXRleHQtc2Vwe2Rpc3BsYXk6bm9uZX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuY2hhdC1tb2RlLXRyaW8tZHJvcGRvd257cGFkZGluZzo2cHggMTBweDtnYXA6MnB4fS5jaGF0LW1vZGUtdHJpby1kcm9wZG93biAuY29tcG9zZXItdGV4dC1sYWJlbHttYXgtd2lkdGg6MTAwcHh9LmNoYXQtbW9kZS10cmlvLWNvbXBhY3QgLmNoYXQtbW9kZS10cmlvLXBpbGx7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoycHggNXB4fS5jaGF0LW1vZGUtdHJpby1jb21wYWN0IC5jb21wb3Nlci10ZXh0LWxhYmVse21heC13aWR0aDo2NHB4fX0uY29tcG9zZXItcGx1cy1wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MTRweDtib3R0b206Y2FsYyh2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSArIDU2cHgpO3otaW5kZXg6Mjg7bWluLXdpZHRoOjI0MHB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAyOHB4KTtiYWNrZ3JvdW5kOiNmZmZmZmZmYTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjE2cHg7Ym94LXNoYWRvdzowIDEycHggMjhweCAjMDAwMDAwMmUsMCAycHggNnB4ICMwMDAwMDAxNDtwYWRkaW5nOjZweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHg7YW5pbWF0aW9uOnBsdXNQb3BvdmVySW4gLjE4cyBlYXNlLW91dDt0cmFuc2Zvcm0tb3JpZ2luOjE2cHggY2FsYygxMDAlICsgOHB4KX0uY29tcG9zZXItcGx1cy1wb3BvdmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9QGtleWZyYW1lcyBwbHVzUG9wb3ZlckluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0ucGx1cy1wb3BvdmVyLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjhweCAxMHB4O2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoxMHB4O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOi44MnJlbTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjEwMCV9LnBsdXMtcG9wb3Zlci1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2M1NjUzZDE0fS5wbHVzLXBvcG92ZXItaXRlbTphY3RpdmV7YmFja2dyb3VuZDojYzU2NTNkMjR9LnBsdXMtcG9wb3Zlci1pY29ue2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmbGV4LXNocmluazowfS5wbHVzLXBvcG92ZXItbGFiZWx7ZmxleDoxO2xpbmUtaGVpZ2h0OjEuMn0ucGx1cy1wb3BvdmVyLXRvZ2dsZS1zdGF0ZXtmb250LXNpemU6LjY4cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOiMwMDAwMDAwZDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnBsdXMtcG9wb3Zlci1pdGVtLmlzLW9uLC5wbHVzLXBvcG92ZXItaXRlbS5pcy1vbiAucGx1cy1wb3BvdmVyLWljb257Y29sb3I6dmFyKC0tYWNjZW50KX0ucGx1cy1wb3BvdmVyLWl0ZW0uaXMtb24gLnBsdXMtcG9wb3Zlci10b2dnbGUtc3RhdGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnBsdXMtcG9wb3Zlci1zZXB7aGVpZ2h0OjFweDttYXJnaW46NHB4IDZweDtiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1zdWJ0bGUpfS5wbHVzLXBvcG92ZXItdHJpby13cmFwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjJweH0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjJweH0uY2hhdC1tb2RlLXRyaW8tcG9wb3ZlciAuY29tcG9zZXItdGV4dC1zZXB7ZGlzcGxheTpub25lfS5jaGF0LW1vZGUtdHJpby1wb3BvdmVyIC5jaGF0LW1vZGUtdHJpby1waWxse2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjdweCAxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtmb250LXNpemU6LjgycmVtO21heC13aWR0aDpub25lO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXBpbGw6aG92ZXIsLmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXBpbGw6Zm9jdXMtd2l0aGlue2JhY2tncm91bmQ6I2M1NjUzZDE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNoYXQtbW9kZS10cmlvLXRhZ3tmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LXRyYW5zZm9ybTpub25lO29wYWNpdHk6MTttYXJnaW4tcmlnaHQ6MDtmbGV4LXNocmluazowO3dpZHRoOjM2cHh9LmNoYXQtbW9kZS10cmlvLXBvcG92ZXIgLmNvbXBvc2VyLXRleHQtbGFiZWx7ZmxleDoxO2ZvbnQtc2l6ZTouODJyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0ZXh0LWFsaWduOnJpZ2h0O21heC13aWR0aDoxMDAlO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuY29tcG9zZXItcGx1cy1wb3BvdmVye21pbi13aWR0aDoyMjBweDtsZWZ0OjEwcHg7Ym90dG9tOmNhbGModmFyKC0tc2FmZS1ib3R0b20sIDBweCkgKyA2MHB4KX19LnByb21wdC1vcHRpbWl6ZS1idG57ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OmF1dG8gNHB4IDRweCBhdXRvO3RyYW5zZm9ybTpub25lO3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7ei1pbmRleDo0fS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAucHJvbXB0LW9wdGltaXplLWJ0bntkaXNwbGF5OmlubGluZS1mbGV4fS5pbnB1dC1jb21wb3Nlci5oYXMtdGV4dCAucHJvbXB0LW9wdGltaXplLWJ0bjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xMil9LmlucHV0LWNvbXBvc2VyLmhhcy10ZXh0IC5wcm9tcHQtb3B0aW1pemUtYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjkyKX0uaW5wdXQtY29tcG9zZXIuaGFzLXRleHQgLmlucHV0LXRleHRhcmVhe3BhZGRpbmctcmlnaHQ6MzZweH0udm9pY2UtaW5wdXQtbW9kZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjAgNHB4fS52b2ljZS1pbnB1dC1tb2RlLmhpZGRlbntkaXNwbGF5Om5vbmV9LnZvaWNlLXJlY29yZC1idG57ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjk5OXB4O2JvcmRlcjoxcHggZGFzaGVkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtiYWNrZ3JvdW5kOiNmNmYxZTg4MDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Z2FwOjhweDt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259LnZvaWNlLXJlY29yZC1idG46aG92ZXJ7YmFja2dyb3VuZDojZjZmMWU4ZTY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KX0udm9pY2UtcmVjb3JkLWJ0bjphY3RpdmUsLnZvaWNlLXJlY29yZC1idG4uaXMtcmVjb3JkaW5ne2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkLCByZ2JhKDE5NywgMTAxLCA2MSwgLjE0KSk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItc3R5bGU6c29saWR9LnZvaWNlLXJlY29yZC1wdWxzZXt3aWR0aDo4cHg7aGVpZ2h0OjhweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtvcGFjaXR5Oi41NX0udm9pY2UtcmVjb3JkLWJ0bi5pcy1yZWNvcmRpbmcgLnZvaWNlLXJlY29yZC1wdWxzZXtvcGFjaXR5OjE7YW5pbWF0aW9uOnZvaWNlLXB1bHNlIDEuMXMgZWFzZS1pbi1vdXQgaW5maW5pdGV9QGtleWZyYW1lcyB2b2ljZS1wdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS40NSk7b3BhY2l0eTouNDV9fS52b2ljZS1jYW5jZWwtYnRue3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0udm9pY2UtY2FuY2VsLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxYTtjb2xvcjp2YXIoLS1kYW5nZXIpfS5pbnB1dC1jb21wb3Nlci52b2ljZS1tb2RlIC5pbnB1dC10ZXh0YXJlYXt2aXNpYmlsaXR5OmhpZGRlbn0uaW5wdXQtY29tcG9zZXIudm9pY2UtbW9kZSAucHJvbXB0LW9wdGltaXplLWJ0bntkaXNwbGF5Om5vbmV9LmlucHV0LWNvbXBvc2VyLnZvaWNlLW1vZGUgLnZvaWNlLWlucHV0LW1vZGV7ZGlzcGxheTpmbGV4fSN2b2ljZS1idG57ZGlzcGxheTpub25lfS5pbnB1dC1jb21wb3Nlci52b2ljZS1tb2RlICN2b2ljZS1idG57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQsIHJnYmEoMTk3LCAxMDEsIDYxLCAuMTgpKTtjb2xvcjp2YXIoLS1hY2NlbnQpfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEycHg7cmlnaHQ6MTJweDtib3R0b206Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjQwO3BhZGRpbmc6MTJweCAxNnB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LCAjYzU2NTNkKTtjb2xvcjojZmZmO2JveC1zaGFkb3c6MCA2cHggMjRweCAjMDAwMDAwMmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gY2VudGVyO2FuaW1hdGlvbjp2b2ljZS1idWJibGUtaW4gLjE4cyBlYXNlfS52b2ljZS10cmFuc2NyaXB0LWJ1YmJsZS5oaWRkZW57ZGlzcGxheTpub25lfUBrZXlmcmFtZXMgdm9pY2UtYnViYmxlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45Nil9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpfX0udm9pY2UtdHJhbnNjcmlwdC10ZXh0e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi45NXJlbTtsaW5lLWhlaWdodDoxLjU7Zm9udC13ZWlnaHQ6NTAwO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDttaW4taGVpZ2h0OjEuNGVtO2NvbG9yOiNmZmZ9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlOm5vdCguaGFzLXRleHQpIC52b2ljZS10cmFuc2NyaXB0LXRleHQ6YmVmb3Jle2NvbnRlbnQ6Ilw4YmY3XDVmMDBcNTljYlw4YmY0XDhiZGRcMjAyNiI7b3BhY2l0eTouNn0udm9pY2UtdHJhbnNjcmlwdC1oaW50e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6LjcycmVtO29wYWNpdHk6Ljg1fS52b2ljZS10cmFuc2NyaXB0LXN0YXR1c3tsZXR0ZXItc3BhY2luZzouMDJlbX0udm9pY2Utd2F2ZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDoycHg7aGVpZ2h0OjEycHh9LnZvaWNlLXdhdmU+aXt3aWR0aDoyLjVweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjthbmltYXRpb246dm9pY2Utd2F2ZS1ib3VuY2UgLjlzIGVhc2UtaW4tb3V0IGluZmluaXRlfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDEpe2hlaWdodDo1cHg7YW5pbWF0aW9uLWRlbGF5OjBzfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDIpe2hlaWdodDoxMnB4O2FuaW1hdGlvbi1kZWxheTouMTVzfS52b2ljZS13YXZlPmk6bnRoLWNoaWxkKDMpe2hlaWdodDo4cHg7YW5pbWF0aW9uLWRlbGF5Oi4zc30udm9pY2Utd2F2ZT5pOm50aC1jaGlsZCg0KXtoZWlnaHQ6MTFweDthbmltYXRpb24tZGVsYXk6LjQ1c31Aa2V5ZnJhbWVzIHZvaWNlLXdhdmUtYm91bmNlezAlLHRve3RyYW5zZm9ybTpzY2FsZVkoLjQpO29wYWNpdHk6LjZ9NTAle3RyYW5zZm9ybTpzY2FsZVkoMSk7b3BhY2l0eToxfX0udm9pY2UtYnViYmxlLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MjhweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6OHB4IHNvbGlkIHZhcigtLWFjY2VudCwgI2M1NjUzZCl9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlLmlzLWNhbmNlbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWRhbmdlciwgI2IyNGY0NSl9LnZvaWNlLXRyYW5zY3JpcHQtYnViYmxlLmlzLWNhbmNlbGluZyAudm9pY2UtYnViYmxlLWFycm93e2JvcmRlci10b3AtY29sb3I6dmFyKC0tZGFuZ2VyLCAjYjI0ZjQ1KX1AbWVkaWEobWF4LXdpZHRoOjcyMHB4KXsuYnRuLWNpcmNsZS1hY3Rpb257d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttaW4td2lkdGg6MzBweH0uY29tcG9zZXItbWFpbi1yb3d7cGFkZGluZzozcHggNHB4O21pbi1oZWlnaHQ6NDJweDtnYXA6MnB4fX0uYXR0YWNobWVudC1wcmV2aWV3e2Rpc3BsYXk6ZmxleDtnYXA6NnB4O3BhZGRpbmc6NnB4IDEwcHg7ZmxleC13cmFwOndyYXA7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LmF0dGFjaG1lbnQtcHJldmlldy5oaWRkZW57ZGlzcGxheTpub25lfS5hdHRhY2htZW50LXBpbGx7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtwYWRkaW5nOjNweCA4cHg7YmFja2dyb3VuZDojYzU2NTNkMGY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjE4KTtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6LjcycmVtO21heC13aWR0aDoyMDBweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YW5pbWF0aW9uOnBlcm1pc3Npb24tZmFkZS1pbiAuMnMgZWFzZS1vdXR9LmF0dGFjaG1lbnQtcGlsbCBpbWd7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtvYmplY3QtZml0OmNvdmVyO2JvcmRlci1yYWRpdXM6NHB4O2ZsZXgtc2hyaW5rOjB9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LWljb257d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6Ljg1cmVtfS5hdHRhY2htZW50LXBpbGwgLmF0dC1uYW1le292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjE7bWluLXdpZHRoOjB9LmF0dGFjaG1lbnQtcGlsbCAuYXR0LXNpemV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi42NXJlbTtmbGV4LXNocmluazowfS5hdHRhY2htZW50LXBpbGwgLmF0dC1yZW1vdmV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44cmVtO2xpbmUtaGVpZ2h0OjE7cGFkZGluZzowIDJweDtmbGV4LXNocmluazowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZX0uYXR0YWNobWVudC1waWxsIC5hdHQtcmVtb3ZlOmhvdmVye2NvbG9yOnZhcigtLWRhbmdlcil9LmlucHV0LWNvbXBvc2VyLmRyYWctb3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KSFpbXBvcnRhbnQ7YmFja2dyb3VuZDojYzU2NTNkMGEhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCksaW5zZXQgMCAwIDIwcHggI2M1NjUzZDA4fS5rZXlib2FyZC1hd2FyZXtwb3NpdGlvbjpmaXhlZDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjMwO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtwYWRkaW5nOjEycHggMTRweDtwYWRkaW5nLWJvdHRvbTptYXgoMTJweCxlbnYoa2V5Ym9hcmQtaW5zZXQtYm90dG9tLDBweCkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlfS5rZXlib2FyZC1hd2FyZS5oaWRkZW57dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9LmZvbGRlci1pY29uLWJ0bnt3aWR0aDo0NnB4O2hlaWdodDo0NnB4O21pbi13aWR0aDo0NnB4O2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6I2ZmZmZmZmE2O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2ZvbnQtc2l6ZToxLjI1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7YWxpZ24tc2VsZjpmbGV4LWVuZH0uZm9sZGVyLWljb24tYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06c2NhbGUoMS4wNSl9LmZvbGRlci1pY29uLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45NSl9LmZvbGRlci1waWNrZXItbW9kYWx7bWF4LXdpZHRoOjQ4MHB4fS5mb2xkZXItcGlja2VyLW1vZGFsIC5tb2RhbC1ib2R5e3BhZGRpbmc6MTZweH0uaW5wdXQtYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjhweDtmbGV4LXNocmluazowO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjB9LmlucHV0LWFjdGlvbnMgLmJ0bnttaW4td2lkdGg6NzBweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXdlaWdodDo2MDA7d2hpdGUtc3BhY2U6bm93cmFwO2hlaWdodDo0MnB4O2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmlucHV0LWFjdGlvbnMtc3BhY2Vye2ZsZXg6MX0ucXVpY2staW5wdXR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXdlaWdodDo1MDB9LmJ0bi15ZXN7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uYnRuLXllczpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2NvbG9yOiNmZmZ9LmJ0bi1ub3tiYWNrZ3JvdW5kOnZhcigtLWRhbmdlci1tdXRlZCk7Y29sb3I6dmFyKC0tZGFuZ2VyKX0uYnRuLW5vOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyKTtjb2xvcjojZmZmfS5sb2dpbi1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi1oZWlnaHQ6MTAwdmg7bWluLWhlaWdodDoxMDBkdmg7cGFkZGluZzoyNHB4fS5sb2dpbi1jYXJke3dpZHRoOjEwMCU7bWF4LXdpZHRoOjM4MHB4O2JhY2tncm91bmQ6I2ZmZmJmNWViO2JvcmRlcjoxcHggc29saWQgcmdiYSgxNTAsMTE4LDg1LC4xNik7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO292ZXJmbG93OmhpZGRlbjtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1zb2Z0KX0ubG9naW4taGVhZGVye3BhZGRpbmc6MjhweCAyNHB4IDIycHg7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCxyZ2JhKDIxNCwxNDQsMTAwLC4yNiksdHJhbnNwYXJlbnQgNDUlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY2ZWJkOSwjZmZmYmY1ZDkpfS5ib290LWxvYWRpbmd7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoyNHB4fS5ib290LWxvYWRpbmctY2FyZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3BhZGRpbmc6MTZweCAxOHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQ6dmFyKC0tc3VyZmFjZS1lbGV2YXRlZCk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc20pO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uYm9vdC1sb2FkaW5nLXNwaW5uZXJ7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO2JvcmRlcjoycHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xNik7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OTk5cHg7YW5pbWF0aW9uOmxvZ2luU3BpbiAuOHMgbGluZWFyIGluZmluaXRlfS5ib290LWxvYWRpbmctdGV4dHtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NTAwfS5sb2dpbi1sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6MTBweDttYXJnaW4tYm90dG9tOjhweH0ubG9naW4tbG9nby1pY29ue3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNkNjdiNTIsI2FiNTIyZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmY1OTtmb250LXNpemU6MThweDtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjcwMH0ubG9naW4tbG9nby10ZXh0e2ZvbnQtc2l6ZToxLjZyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi0uMDJlbX0ubG9naW4tc3VidGl0bGV7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi44NzVyZW19LmxvZ2luLWJvZHl7cGFkZGluZzoyMnB4IDI0cHggMjRweH0ubG9naW4tY2FyZC1sb2FkaW5nIC5sb2dpbi1ib2R5e3BhZGRpbmctdG9wOjE4cHg7cGFkZGluZy1ib3R0b206MjRweH0ubG9naW4taGludHtmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbi1ib3R0b206MTZweDtsaW5lLWhlaWdodDoxLjV9LmxvZ2luLW11dGVke21hcmdpbjo0cHggMCAwO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS40NX0ubG9naW4tc3RhdHVze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxNHB4O3BhZGRpbmc6MnB4IDB9LmxvZ2luLXNwaW5uZXJ7d2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O2JvcmRlcjoycHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xNik7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1hY2NlbnQpO2JvcmRlci1yYWRpdXM6OTk5cHg7YW5pbWF0aW9uOmxvZ2luU3BpbiAuOHMgbGluZWFyIGluZmluaXRlfS5wYXNzd29yZC1maWVsZHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5wYXNzd29yZC1pbnB1dHtwYWRkaW5nLXJpZ2h0Ojc4cHg7bWluLWhlaWdodDo0NnB4fS5wYXNzd29yZC10b2dnbGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6OHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzo2cHggOHB4O2JvcmRlci1yYWRpdXM6OHB4O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LnBhc3N3b3JkLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wYXNzd29yZC10b2dnbGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH1Aa2V5ZnJhbWVzIGxvZ2luU3BpbnswJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmJ0bjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWQ7b3BhY2l0eTouNzI7dHJhbnNmb3JtOm5vbmU7Ym94LXNoYWRvdzpub25lfS5sb2dpbi1ib2R5IC5maWVsZHttYXJnaW4tYm90dG9tOjIwcHh9LmxvZ2luLWJvZHkgLmhpbnR7bWFyZ2luLXRvcDoxMHB4fS5sb2dpbi1ib2R5IC5lcnJvci1tZXNzYWdle21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjB9Lm1vZGFsLXN1YnRpdGxle21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1ib2R5e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206OHB4fS5zZXNzaW9uLW1vZGFsIC5maWVsZDpsYXN0LW9mLXR5cGV7bWFyZ2luLWJvdHRvbTo2cHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWZvb3RlcntmbGV4LXNocmluazowO3BhZGRpbmc6MTJweCAyMnB4IDE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWZvb3RlciAuZXJyb3ItbWVzc2FnZXttYXJnaW4tdG9wOjhweDttYXJnaW4tYm90dG9tOjB9Lm1vZGUtY2FyZHN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2dhcDo2cHh9Lm1vZGUtY2FyZHtmbGV4OjEgMSAwO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDozcHg7cGFkZGluZzoxMHB4IDhweDtib3JkZXI6MS41cHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIpO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiNmZmY5O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTt0ZXh0LWFsaWduOmNlbnRlcjtvdXRsaW5lOm5vbmV9Lm1vZGUtY2FyZDpob3Zlcntib3JkZXItY29sb3I6I2M1NjUzZDU5O2JhY2tncm91bmQ6I2ZmZmN9Lm1vZGUtY2FyZC5hY3RpdmV7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojZmZmN2VmZjI7Ym94LXNoYWRvdzowIDAgMCAxLjVweCB2YXIoLS1hY2NlbnQtbXV0ZWQpfS5tb2RlLWNhcmQ6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDEuNXB4IHZhcigtLWFjY2VudC1tdXRlZCl9Lm1vZGUtY2FyZC1sYWJlbHtmb250LXNpemU6LjhyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGluZS1oZWlnaHQ6MS4zfS5tb2RlLWNhcmQtZGVzY3tmb250LXNpemU6LjY4cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuM30ubW9kZS1jYXJkLmFjdGl2ZSAubW9kZS1jYXJkLWxhYmVse2NvbG9yOnZhcigtLWFjY2VudCl9Lm1vZGUtY2FyZC5kaXNhYmxlZHtvcGFjaXR5Oi40NTtjdXJzb3I6bm90LWFsbG93ZWQ7cG9pbnRlci1ldmVudHM6bm9uZX0ubW9kZS1jYXJkLmRpc2FibGVkOmhvdmVye2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7YmFja2dyb3VuZDojZmZmOX0ubW9kZS1jYXJkLmRpc2FibGVkIC5tb2RlLWNhcmQtbGFiZWwsLm1vZGUtY2FyZC5kaXNhYmxlZCAubW9kZS1jYXJkLWRlc2N7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9Lm1vZGUtY2FyZC5hY3RpdmUuZGlzYWJsZWR7Ym94LXNoYWRvdzpub25lfS5wYXNzd29yZC1pbnB1dFtkYXRhLWVycm9yPXRydWVdLC5wYXNzd29yZC1pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcik7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tZGFuZ2VyLW11dGVkKX0ucGFzc3dvcmQtaW5wdXRbZGF0YS1lcnJvcj10cnVlXSsucGFzc3dvcmQtdG9nZ2xlLC5wYXNzd29yZC1pbnB1dFthcmlhLWludmFsaWQ9dHJ1ZV0rLnBhc3N3b3JkLXRvZ2dsZXtjb2xvcjp2YXIoLS1kYW5nZXIpfS5wYXNzd29yZC1pbnB1dDpmb2N1cysucGFzc3dvcmQtdG9nZ2xle2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnBhc3N3b3JkLXRvZ2dsZTphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjk4KX0ucGFzc3dvcmQtaW5wdXQ6Oi1tcy1yZXZlYWwsLnBhc3N3b3JkLWlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5wYXNzd29yZC1pbnB1dDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9uLC5wYXNzd29yZC1pbnB1dDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS5wYXNzd29yZC1pbnB1dFt0eXBlPXRleHRde2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyl9LmZpZWxke21hcmdpbi1ib3R0b206MThweH0uZmllbGQtbGFiZWx7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTttYXJnaW4tYm90dG9tOjhweH0uZmllbGQtaW5wdXR7d2lkdGg6MTAwJTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODc1cmVtO2JhY2tncm91bmQ6I2ZmZmZmZmJmO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIyKTtib3JkZXItcmFkaXVzOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtwYWRkaW5nOjEycHggMTRweDtvdXRsaW5lOm5vbmU7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCksYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO21pbi1oZWlnaHQ6NDRweH0uZmllbGQtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDAgMjBweCAjYzU2NTNkMTQ7YmFja2dyb3VuZDojZmZmZmZmZTZ9LmZpZWxkLWlucHV0OjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ubW9kYWwtYmFja2Ryb3B7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDt6LWluZGV4OjUwMDtiYWNrZ3JvdW5kOiMxNDBlMDg1NztiYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXRvcDptYXgoMzJweCx2YXIoLS13YW5kLXNhZmUtdG9wKSk7cGFkZGluZy1ib3R0b206bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkpO3BhZGRpbmctbGVmdDptYXgoMzJweCx2YXIoLS13YW5kLXNhZmUtbGVmdCkpO3BhZGRpbmctcmlnaHQ6bWF4KDMycHgsdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSk7YW5pbWF0aW9uOmxpcXVpZEJhY2tkcm9wSW4gLjI4cyB2YXIoLS1lYXNlLW91dC1leHBvLCBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkpIGJvdGh9Lm1vZGFsLWJhY2tkcm9wLmNsb3Npbmd7YW5pbWF0aW9uOmxpcXVpZEJhY2tkcm9wT3V0IC4xOHMgdmFyKC0tZWFzZS1pbi1vdXQtc21vb3RoLCBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSkgYm90aDtwb2ludGVyLWV2ZW50czpub25lfUBrZXlmcmFtZXMgbGlxdWlkQmFja2Ryb3BJbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGxpcXVpZEJhY2tkcm9wT3V0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fS5tb2RhbHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO21heC13aWR0aDo1NjBweDttYXgtaGVpZ2h0Ojg4dmg7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOiNmZmZjZjdiZDtib3JkZXI6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC42KTtib3JkZXItcmFkaXVzOjI2cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tkcm9wLWZpbHRlcjpibHVyKDQwcHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoNDBweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzowIDMycHggODBweCAtMTZweCAjMTQwZTA4NTcsMCA4cHggMjRweCAtOHB4ICMxNDBlMDgyZSwwIDAgMCAuNXB4ICM3ZDViMzkxNCxpbnNldCAwIDFweCAjZmZmZmZmYjM7YW5pbWF0aW9uOmxpcXVpZE1vZGFsSW4gLjMycyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSkgYm90aH0ubW9kYWwtYmFja2Ryb3AuY2xvc2luZyAubW9kYWx7YW5pbWF0aW9uOmxpcXVpZE1vZGFsT3V0IC4xOHMgdmFyKC0tZWFzZS1pbi1vdXQtc21vb3RoLCBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSkgYm90aH1Aa2V5ZnJhbWVzIGxpcXVpZE1vZGFsSW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTQpIHRyYW5zbGF0ZVkoMTJweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGxpcXVpZE1vZGFsT3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC45NykgdHJhbnNsYXRlWSg0cHgpfX1AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5tb2RhbC1iYWNrZHJvcCwubW9kYWwtYmFja2Ryb3AuY2xvc2luZywubW9kYWwsLm1vZGFsLWJhY2tkcm9wLmNsb3NpbmcgLm1vZGFse2FuaW1hdGlvbjpub25lIWltcG9ydGFudH19QHN1cHBvcnRzIG5vdCAoKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSBvciAoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkpey5tb2RhbC1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxNDBlMDg5OX0ubW9kYWx7YmFja2dyb3VuZDojZmZmYWYyO2JvcmRlci1jb2xvcjojN2Q1YjM5MmV9fUBtZWRpYShwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXsubW9kYWwtYmFja2Ryb3B7YmFja2dyb3VuZDojMDgwNTAyODB9QHN1cHBvcnRzIG5vdCAoKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSBvciAoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkpey5tb2RhbC1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMwODA1MDJjN319fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1oZWFkZXIsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1oZWFkZXJ7cGFkZGluZzoyNHB4IDI4cHggMThweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjE2cHg7bWluLWhlaWdodDowfS5zZXNzaW9uLW1vZGFsIC5tb2RhbC10aXRsZSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLXRpdGxlLWdyb3VwIC5tb2RhbC10aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotLjAyMmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGluZS1oZWlnaHQ6MS4yfS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1zdWJ0aXRsZSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLXN1YnRpdGxle21hcmdpbi10b3A6NXB4O2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGluZS1oZWlnaHQ6MS41O21heC13aWR0aDo0NGNofS5tb2RhbC1jbG9zZS1idG4sLnNlc3Npb24tbW9kYWwgLm1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0LC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3R7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDttaW4taGVpZ2h0OjMycHg7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzdkNWIzOTEyO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2ZsZXgtc2hyaW5rOjA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjI4cyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSksYm94LXNoYWRvdyAuMThzIGVhc2V9Lm1vZGFsLWNsb3NlLWJ0biBzdmd7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lfS5tb2RhbC1jbG9zZS1idG46aG92ZXIsLnNlc3Npb24tbW9kYWwgLm1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0OmhvdmVyLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtaGVhZGVyPi5idG4taWNvbi5idG4tZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZDojYjI0ZjQ1MWY7Y29sb3I6dmFyKC0tZGFuZ2VyKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtib3gtc2hhZG93OjAgMnB4IDhweCAjYjI0ZjQ1MmV9Lm1vZGFsLWNsb3NlLWJ0bjphY3RpdmUsLnNlc3Npb24tbW9kYWwgLm1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0OmFjdGl2ZSwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWhlYWRlcj4uYnRuLWljb24uYnRuLWdob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kOiNiMjRmNDUzMzt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSBzY2FsZSguOTIpO3RyYW5zaXRpb24tZHVyYXRpb246LjA2c30ubW9kYWwtY2xvc2UtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDozcHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWJvZHksLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1tb2RhbC1ib2R5e3BhZGRpbmc6MjBweCAyOHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXJ7cGFkZGluZzoxNnB4IDI4cHggMjJweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDgpfS5zZXNzaW9uLW1vZGFsIC5maWVsZC1pbnB1dCwuc2V0dGluZ3MtbW9kYWwgLmZpZWxkLWlucHV0LC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtY2FyZCAuZmllbGQtaW5wdXQsLnNlc3Npb24tbW9kYWwgc2VsZWN0LmZpZWxkLWlucHV0LC5zZXR0aW5ncy1tb2RhbCBzZWxlY3QuZmllbGQtaW5wdXR7YmFja2dyb3VuZDojZmZmZmZmYzc7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTQpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjExcHggMTRweDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDEuNXB4ICM3ZDViMzkwYTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2UsYmFja2dyb3VuZCAuMTVzIGVhc2U7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2Vzc2lvbi1tb2RhbCAuZmllbGQtaW5wdXQ6aG92ZXIsLnNldHRpbmdzLW1vZGFsIC5maWVsZC1pbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzdkNWIzOTNkO2JhY2tncm91bmQ6I2ZmZmZmZmVifS5zZXNzaW9uLW1vZGFsIC5maWVsZC1pbnB1dDpmb2N1cywuc2V0dGluZ3MtbW9kYWwgLmZpZWxkLWlucHV0OmZvY3VzLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtY2FyZCAuZmllbGQtaW5wdXQ6Zm9jdXMsLnNlc3Npb24tbW9kYWwgc2VsZWN0LmZpZWxkLWlucHV0OmZvY3VzLC5zZXR0aW5ncy1tb2RhbCBzZWxlY3QuZmllbGQtaW5wdXQ6Zm9jdXN7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMS41cHggIzdkNWIzOTBhLDAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpfS5zZXNzaW9uLW1vZGFsIC5tb2RlLWNhcmRze2dhcDo4cHh9LnNlc3Npb24tbW9kYWwgLm1vZGUtY2FyZHtwYWRkaW5nOjEycHggMTBweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xKTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmOTtib3gtc2hhZG93OjAgMXB4IDJweCAjN2Q1YjM5MDg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxib3JkZXItY29sb3IgLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMTZzIGVhc2U7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2Vzc2lvbi1tb2RhbCAubW9kZS1jYXJkOmhvdmVye2JhY2tncm91bmQ6I2ZmZmZmZmViO2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4ICM3ZDViMzkxNH0uc2Vzc2lvbi1tb2RhbCAubW9kZS1jYXJkLmFjdGl2ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmNmN2YyLCNmZmYwZTBkMSk7Ym9yZGVyOi41cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuOCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMCAwIDFweCAjYzU2NTNkNTIsMCAwIDAgNHB4ICNjNTY1M2QyNCwwIDhweCAyMnB4IC00cHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmZmZmZmMixpbnNldCAwIC0xcHggI2M1NjUzZDE0O3RyYW5zZm9ybTpub25lfS5zZXNzaW9uLW1vZGFsIC5tb2RlLWNhcmQuYWN0aXZlIC5tb2RlLWNhcmQtbGFiZWx7Y29sb3I6dmFyKC0tYWNjZW50KX0uc2Vzc2lvbi1tb2RhbCAudG9vbC1jYXJke2JhY2tncm91bmQ6I2ZmZmZmZmIzO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKTtib3JkZXItcmFkaXVzOjE0cHg7cGFkZGluZzoxNHB4IDE2cHg7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTA4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsYm9yZGVyLWNvbG9yIC4xOHMgZWFzZSxib3gtc2hhZG93IC4xOHMgZWFzZSx0cmFuc2Zvcm0gLjE4cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNlc3Npb24tbW9kYWwgLnRvb2wtY2FyZDpob3ZlcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiM3ZDViMzkzODt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgOHB4IDIwcHggIzdkNWIzOTFhfS5zZXNzaW9uLW1vZGFsIC50b29sLWNhcmQuYWN0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3ZjIsI2ZmZjBlMGQxKTtib3JkZXI6LjVweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC44KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAwIDAgMXB4ICNjNTY1M2Q0ZCwwIDAgMCA0cHggI2M1NjUzZDI0LDAgMTBweCAyOHB4IC02cHggI2M1NjUzZDRkLGluc2V0IDAgMXB4ICNmZmZmZmZmMixpbnNldCAwIC0xcHggI2M1NjUzZDE0O3RyYW5zZm9ybTpub25lfS5zZXNzaW9uLW1vZGFsIC50b29sLWNoaXB7YmFja2dyb3VuZDojYzU2NTNkMWY7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAyZW19LnNlc3Npb24tbW9kYWwgLnJlY2VudC1wYXRoLWJ1YmJsZXtiYWNrZ3JvdW5kOiNmZmZmZmY4Yztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTA4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZX0uc2Vzc2lvbi1tb2RhbCAucmVjZW50LXBhdGgtYnViYmxlOmhvdmVye2JhY2tncm91bmQ6I2ZmZjdlZjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtjb2xvcjp2YXIoLS1hY2NlbnQpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjZweCA4cHggNnB4IDEycHg7Ym9yZGVyLXJhZGl1czo5OTlweDtiYWNrZ3JvdW5kOiM3ZDViMzkwZDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE4cyBlYXNlLGJvcmRlci1jb2xvciAuMThzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UsY29sb3IgLjE4cyBlYXNlO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTE3O2JvcmRlci1jb2xvcjojN2Q1YjM5Mjl9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZTpoYXMoLnN3aXRjaC10b2dnbGU6Y2hlY2tlZCl7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY3ZWYsI2ZmZWVkOCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtbXV0ZWQpLDAgNHB4IDEycHggI2M1NjUzZDFmfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGUtaWNvbntmbGV4LXNocmluazowO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246Y29sb3IgLjE4cyBlYXNlLHRyYW5zZm9ybSAuMjhzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc2Vzc2lvbi1tb2RhbCAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlOmhhcyguc3dpdGNoLXRvZ2dsZTpjaGVja2VkKSAuc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlLWljb257Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06cm90YXRlKDhkZWcpfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGUtbGFiZWx7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAwNWVtO2NvbG9yOmluaGVyaXQ7dHJhbnNpdGlvbjpjb2xvciAuMThzIGVhc2V9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXRvZ2dsZXtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7d2lkdGg6MDtoZWlnaHQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWlubGluZS10b2dnbGUgLnN3aXRjaC1zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzJweDtoZWlnaHQ6MjBweDttaW4td2lkdGg6MzJweDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojN2Q1YjM5Mzg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggIzdkNWIzOTJlO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMjJzIGVhc2UsYm94LXNoYWRvdyAuMjJzIGVhc2V9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXNsaWRlcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7bGVmdDoycHg7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIDEuNXB4IDNweCAjMTQwZTA4MzgsMCAwIDAgLjVweCAjN2Q1YjM5MGY7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI0cyBjdWJpYy1iZXppZXIoLjM0LDEuNCwuNjQsMSl9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXRvZ2dsZTpjaGVja2VkKy5zd2l0Y2gtc2xpZGVye2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjMDAwMDAwMWF9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXRvZ2dsZTpjaGVja2VkKy5zd2l0Y2gtc2xpZGVyOmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGUoMTJweCl9LnNlc3Npb24tbW9kYWwgLnNlc3Npb24taW5saW5lLXRvZ2dsZSAuc3dpdGNoLXRvZ2dsZTpmb2N1cy12aXNpYmxlKy5zd2l0Y2gtc2xpZGVye291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5zZXNzaW9uLW1vZGFsIC5zZXNzaW9uLWtpbmQtaGludC1yb3d7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNHB4fS5zZXNzaW9uLW1vZGFsIC5zdWdnZXN0aW9uc3tiYWNrZ3JvdW5kOiNmZmZjZjdmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNCk7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MGQsMCAxMnB4IDI4cHggLThweCAjMTQwZTA4MmU7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjBweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KSBzYXR1cmF0ZSgxODAlKTtvdmVyZmxvdzpoaWRkZW59LnNlc3Npb24tbW9kYWwgLnN1Z2dlc3Rpb24taXRlbTpob3ZlcntiYWNrZ3JvdW5kOiNlOGM1YWU1Mn0uc2Vzc2lvbi1tb2RhbCAuZXJyb3ItbWVzc2FnZSwuc2V0dGluZ3MtbW9kYWwgLmVycm9yLW1lc3NhZ2V7YmFja2dyb3VuZDojYjI0ZjQ1MWE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE3OCw3OSw2OSwuMik7Y29sb3I6dmFyKC0tZGFuZ2VyKTtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDEycHg7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2Vzc2lvbi1tb2RhbCAuZmllbGQtbGFiZWwsLnNldHRpbmdzLW1vZGFsIC5maWVsZC1sYWJlbHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZTouODEyNXJlbTttYXJnaW4tYm90dG9tOjhweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtZm9vdGVyIC5idG4tcHJpbWFyeSwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1wcmltYXJ5e2JveC1zaGFkb3c6MCA2cHggMTZweCAtNHB4ICNjNTY1M2Q2NiwwIDJweCA2cHggLTJweCAjYzU2NTNkNGQsaW5zZXQgMCAxcHggI2ZmZjM7Ym9yZGVyLXJhZGl1czoxMnB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1mb290ZXIgLmJ0bi1wcmltYXJ5OmhvdmVyLC5zZXR0aW5ncy1tb2RhbCAuYnRuLXByaW1hcnk6aG92ZXJ7Ym94LXNoYWRvdzowIDEwcHggMjRweCAtNHB4ICNjNTY1M2Q3NSwwIDRweCAxMHB4IC0ycHggI2M1NjUzZDU3LGluc2V0IDAgMXB4ICNmZmZmZmY0MH0uc2Vzc2lvbi1tb2RhbCAuYnRuLXNlY29uZGFyeSwuc2V0dGluZ3MtbW9kYWwgLmJ0bi1zZWNvbmRhcnl7YmFja2dyb3VuZDojZmZmZmZmYzc7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTQpO2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ZDViMzkwYTtib3JkZXItcmFkaXVzOjEycHh9LnNlc3Npb24tbW9kYWwgLmJ0bi1zZWNvbmRhcnk6aG92ZXIsLnNldHRpbmdzLW1vZGFsIC5idG4tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6IzdkNWIzOTNkO2JveC1zaGFkb3c6MCA0cHggMTJweCAjN2Q1YjM5MTR9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1zaWRlYmFye2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtwYWRkaW5nLXJpZ2h0OjEycHh9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1zaWRlYmFyLXRpdGxle2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo2MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOi4wOGVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFic3tnYXA6MnB4fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFie3BhZGRpbmc6MTFweCAxNHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6bm9uZTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNHMgZWFzZSxjb2xvciAuMTRzIGVhc2UsdHJhbnNmb3JtIC4xNHMgZWFzZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiOmJlZm9yZXtkaXNwbGF5Om5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWI6aG92ZXJ7YmFja2dyb3VuZDojN2Q1YjM5MGY7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt0cmFuc2Zvcm06bm9uZTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10YWIuYWN0aXZle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3ZjIsI2ZmZjRlOGM3KTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpIHNhdHVyYXRlKDE4MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTRweCkgc2F0dXJhdGUoMTgwJSk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2M1NjUzZDQwLGluc2V0IDAgMXB4ICNmZmZmZmZlNixpbnNldCAwIC0xcHggI2M1NjUzZDE0LDAgNHB4IDE0cHggLTRweCAjYzU2NTNkMzgsMCAxcHggM3B4ICM3ZDViMzkwZn0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi5hY3RpdmUgLnNldHRpbmdzLXRhYi1tZXRhe2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXRhYi1tYWlue2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzotLjAwNWVtfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtdGFiLW1ldGF7Zm9udC1zaXplOi43MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtcGFuZWwtaGVhZGVye21hcmdpbjowIDAgMTZweDtwYWRkaW5nLWJvdHRvbToxNHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC10aXRsZXtmb250LXNpemU6MS4xODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotLjAyZW19LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC1kZXNje2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNhcmQsLnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy11cGRhdGUtc2VjdGlvbiwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtYWJvdXQtaW5mbywuc2V0dGluZ3MtbW9kYWwgLnByZXNldC1pdGVte2JhY2tncm91bmQ6I2ZmZmZmZmE2O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMXB4IDJweCAjN2Q1YjM5MDg7YmFja2Ryb3AtZmlsdGVyOm5vbmU7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6bm9uZX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFib3V0LXJvd3tib3JkZXItYm90dG9tLWNvbG9yOiM3ZDViMzkxNH0uc2V0dGluZ3MtbW9kYWwgLnN3aXRjaC1jYXJkLWxpc3R7Z2FwOjhweH0uc2V0dGluZ3MtbW9kYWwgLnN3aXRjaC1jYXJke2JhY2tncm91bmQ6I2ZmZjk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7Ym9yZGVyLXJhZGl1czoxNHB4O2JveC1zaGFkb3c6MCAxcHggMnB4ICM3ZDViMzkwODt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2UsdHJhbnNmb3JtIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZTtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXR0aW5ncy1tb2RhbCAuc3dpdGNoLWNhcmQ6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmZDk7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNHB4IDEycHggIzdkNWIzOTBmfS5zZXR0aW5ncy1tb2RhbCAuc3dpdGNoLWNhcmQ6aGFzKC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQpe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmN2VmLCNmZmYxZGUpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLWFjY2VudC1tdXRlZCksMCA0cHggMTJweCAjYzU2NTNkMWF9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy10b2dnbGUtcm93LC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtcmFuZ2Utcm93LC5zZXR0aW5ncy1tb2RhbCAuZmllbGQtaW5saW5le2JhY2tncm91bmQ6I2ZmZmZmZjhjO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjA4KTtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNoYWRvdzowIDFweCAxcHggIzdkNWIzOTA1O2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1wYW5lbC1pbnRyb3tiYWNrZ3JvdW5kOiNjNTY1M2QwZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTYpO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZHJvcC1maWx0ZXI6bm9uZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpub25lfS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtY2FyZC1pY29uLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3Mtc2VjdGlvbi1pY29ue2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjYzU2NTNkMjksI2M1NjUzZDBmKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTk3LDEwMSw2MSwuMTgpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggI2ZmZjk7Y29sb3I6dmFyKC0tYWNjZW50KX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbntiYWNrZ3JvdW5kOiNmZmZmZmZhNjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xKTtib3JkZXItcmFkaXVzOjE0cHg7Ym94LXNoYWRvdzowIDFweCAycHggIzdkNWIzOTA4O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE2cyBlYXNlO2JhY2tkcm9wLWZpbHRlcjpub25lOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOm5vbmV9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb246aG92ZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojN2Q1YjM5MzM7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDRweCAxMnB4ICM3ZDViMzkxNH0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbi5zZWxlY3RlZCwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWFwcC1pY29uLW9wdGlvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmY3ZWYsI2ZmZjFkZSk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tYWNjZW50LW11dGVkKSwwIDRweCAxMnB4ICNjNTY1M2QxZn0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLWNvbm5lY3QtdXJsLWJveHtiYWNrZ3JvdW5kOiM3ZDViMzkwZDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Ym9yZGVyLXJhZGl1czoxMnB4fS5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtYWN0aW9ucy1zdGlja3l7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjcwMCwjZmZmY2Y3ZDkgMjhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1kaXZpZGVye2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCl9LnNldHRpbmdzLW1vZGFsIC5zZXR0aW5ncy1zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjAwNWVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNlc3Npb24tbW9kYWwgLm1vZGFsLWhlYWRlciwuc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLW1vZGFsLWhlYWRlcntwYWRkaW5nOjE2cHggMThweCAxNHB4fS5zZXNzaW9uLW1vZGFsIC5tb2RhbC1ib2R5LC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtYm9keXtwYWRkaW5nOjE0cHggMThweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtZm9vdGVye3BhZGRpbmc6MTJweCAxOHB4IDE4cHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLXRpdGxlLC5zZXR0aW5ncy1tb2RhbCAuc2V0dGluZ3MtbW9kYWwtdGl0bGUtZ3JvdXAgLm1vZGFsLXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbX0uc2V0dGluZ3MtbW9kYWwgLnNldHRpbmdzLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZToxLjA2MjVyZW19fS5zaWRlYmFye2JhY2tncm91bmQ6I2ZmZmNmN2I4O2JvcmRlci1yaWdodDouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjU1KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigzNnB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDM2cHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MGYsNHB4IDAgMzJweCAtOHB4ICMxNDBlMDgyZX0uc2lkZWJhci5vcGVue2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MGYsMTJweCAwIDQ4cHggLTEycHggIzE0MGUwODQ3fS5zaWRlYmFyLnBpbm5lZHtib3gtc2hhZG93OjAgMCAwIC41cHggIzdkNWIzOTBmLDJweCAwIDEycHggLThweCAjMTQwZTA4MWZ9LmRyYXdlci1iYWNrZHJvcHtiYWNrZ3JvdW5kOiMxNDBlMDg1MjtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEycHgpfS5kcmF3ZXItYmFja2Ryb3Aub3BlbntiYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE4cHgpIHNhdHVyYXRlKDE0MCUpfS5zaWRlYmFyLWhlYWRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7cGFkZGluZzoxNHB4IDE2cHh9LnNpZGViYXItdGl0bGV7Zm9udC1zaXplOi45Mzc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotLjAxMmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnNlc3Npb24tY291bnR7YmFja2dyb3VuZDojN2Q1YjM5MTQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3BhZGRpbmc6MnB4IDlweDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2xpbmUtaGVpZ2h0OjEuNX0uc2lkZWJhci1oZWFkZXItYWN0aW9ucyAuYnRuLWdob3N0LmJ0bi1zbSwuZHJhd2VyLWNsb3NlLWJ0bnt3aWR0aDozMnB4O2hlaWdodDozMnB4O21pbi13aWR0aDozMnB4O21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JvcmRlcjpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMjJzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc2lkZWJhci1oZWFkZXItYWN0aW9ucyAuYnRuLWdob3N0LmJ0bi1zbTpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5kcmF3ZXItY2xvc2UtYnRue2JhY2tncm91bmQ6IzdkNWIzOTEyfS5kcmF3ZXItY2xvc2UtYnRuOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTFmO2NvbG9yOnZhcigtLWRhbmdlcik7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmRyYXdlci1jbG9zZS1idG46YWN0aXZle2JhY2tncm91bmQ6I2IyNGY0NTMzO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpIHNjYWxlKC45Mik7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDZzfS5kcmF3ZXItY2xvc2UtYnRuOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDozcHh9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93e2JhY2tncm91bmQ6I2ZmZmNmN2RiO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjU1KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyNHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDI0cHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MTQsMCAxMnB4IDI4cHggLThweCAjMTQwZTA4Mzg7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6NnB4fS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbXtib3JkZXItcmFkaXVzOjlweDtwYWRkaW5nOjlweCAxMHB4O2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo1MDA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxjb2xvciAuMTZzIGVhc2UsYm94LXNoYWRvdyAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgdmFyKC0tZWFzZS1vdXQtZXhwbyl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVtOmhvdmVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmZTYsI2ZmZmNmNzk5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JveC1zaGFkb3c6MCAwIDAgLjVweCAjN2Q1YjM5MTQsaW5zZXQgMCAxcHggI2ZmZmZmZmQ5fS5zaWRlYmFyLWhlYWRlci1vdmVyZmxvdyAub3ZlcmZsb3ctaXRlbTphY3RpdmV7YmFja2dyb3VuZDojYzU2NTNkMWY7Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06c2NhbGUoLjk4KX0uc2Vzc2lvbi1tYW5hZ2UtYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjhweDtwYWRkaW5nOjRweCA0cHggNHB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O21hcmdpbi1ib3R0b206MTBweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2V9LnNlc3Npb24tbWFuYWdlLWJhcjpob3ZlcntiYWNrZ3JvdW5kOiM3ZDViMzkwZH0uc2Vzc2lvbi1tYW5hZ2UtYmFyIC5zaWRlYmFyLWludHJve2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfS5zZXNzaW9uLW1hbmFnZS1iYXIuYWN0aXZle3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjY7bWFyZ2luOi0xMHB4IC0xMHB4IDhweDtwYWRkaW5nOjlweCAxMHB4IDlweCA2cHg7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6I2ZmZmJmNWYwOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnNhdHVyYXRlKDEuMikgYmx1cig4cHgpO2JhY2tkcm9wLWZpbHRlcjpzYXR1cmF0ZSgxLjIpIGJsdXIoOHB4KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3gtc2hhZG93Om5vbmV9LnNlc3Npb24tbWFuYWdlLWJhci5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZDojZmZmYmY1ZjB9LnNlc3Npb24tbWFuYWdlLWV4aXR7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7cGFkZGluZzowO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNHMgZWFzZSxjb2xvciAuMTRzIGVhc2U7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5zZXNzaW9uLW1hbmFnZS1leGl0OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTFhO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LnNlc3Npb24tbWFuYWdlLXN1bW1hcnl7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttaW4td2lkdGg6MDtmbGV4OjE7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NTAwfS5zZXNzaW9uLW1hbmFnZS1jb3VudHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MCA2cHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLXRleHQtaW52ZXJzZSk7Zm9udC1zaXplOi42ODc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtdmFyaWFudC1udW1lcmljOnRhYnVsYXItbnVtc30uc2Vzc2lvbi1tYW5hZ2Utc3VtbWFyeS1sYWJlbHtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC13ZWlnaHQ6NjAwfS5zZXNzaW9uLW1hbmFnZS1zdW1tYXJ5LWxhYmVsLm11dGVke2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtd2VpZ2h0OjUwMH0uc2Vzc2lvbi1tYW5hZ2UtYWN0aW9uc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1tYW5hZ2UtdG9nZ2xle2dhcDo1cHh9LnNlc3Npb24taGlzdG9yeS1jbGVhciwuY2xhdWRlLWhpc3RvcnktZGlyZWN0b3J5LWNsZWFyLWJ0bnttYXJnaW4tbGVmdDphdXRvfS5zZXNzaW9uLWdyb3VwLXRpdGxle3BhZGRpbmc6MTBweCA2cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjFlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0uc2Vzc2lvbi1ncm91cC10aXRsZTpiZWZvcmV7d2lkdGg6M3B4O2hlaWdodDoxMnB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWFjY2VudCkscmdiYSgxOTcsMTAxLDYxLC40KSk7b3BhY2l0eToxfS5zZXNzaW9uLWl0ZW17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTFweDtwYWRkaW5nOjlweCAxMnB4O21hcmdpbi1ib3R0b206MnB4O2JveC1zaGFkb3c6bm9uZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE2cyBlYXNlLGJvcmRlci1jb2xvciAuMTZzIGVhc2V9LnNlc3Npb24taXRlbTpiZWZvcmV7bGVmdDo0cHg7dG9wOjlweDtib3R0b206OXB4O3dpZHRoOjNweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50KSxyZ2JhKDE5NywxMDEsNjEsLjUpKX0uc2Vzc2lvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc2Vzc2lvbi1pdGVtOmhvdmVyOmJlZm9yZXtvcGFjaXR5OjB9LnNlc3Npb24taXRlbS5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdlYiwjZmZmNGU4YmQpO2JvcmRlci1jb2xvcjojYzU2NTNkNDc7Ym94LXNoYWRvdzppbnNldCAwIDFweCAjZmZmZmZmOGN9LnNlc3Npb24taXRlbS5hY3RpdmU6YmVmb3Jle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5zZXNzaW9uLWl0ZW0uc2VsZWN0ZWR7YmFja2dyb3VuZDojYzU2NTNkMTc7Ym9yZGVyLWNvbG9yOiNjNTY1M2QyZX0uc2Vzc2lvbi1pdGVtLnNlbGVjdGVkOmJlZm9yZXtvcGFjaXR5Oi43O3RyYW5zZm9ybTpzY2FsZVkoMSl9LnNlc3Npb24taXRlbTphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45OTIpO3RyYW5zaXRpb24tZHVyYXRpb246LjA4c30uc2Vzc2lvbi10aXRsZSwuc2Vzc2lvbi1jb21tYW5ke2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LS4wMDVlbX0uc2Vzc2lvbi10aXRsZS1yb3d7Z2FwOjEwcHh9LnNlc3Npb24tdGltZXtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5zZXNzaW9uLWFjdGl2aXR5e29wYWNpdHk6MTtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0OjUwMH0uc2Vzc2lvbi1zdGF0dXN7cGFkZGluZzoycHggOHB4O2ZvbnQtc2l6ZTouNjI1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzouMDJlbX0uc2Vzc2lvbi1pZHtiYWNrZ3JvdW5kOiM3ZDViMzkxNDtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtmb250LXNpemU6LjYyNXJlbTtwYWRkaW5nOjEuNXB4IDZweDtib3JkZXItcmFkaXVzOjRweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWluLXdpZHRoOjI4cHg7bWluLWhlaWdodDoyOHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzdkNWIzOTBmO2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JvcmRlcjpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTZzIGVhc2UsY29sb3IgLjE2cyBlYXNlLHRyYW5zZm9ybSAuMThzIGN1YmljLWJlemllciguMzQsMS40LC42NCwxKX0uc2Vzc2lvbi1hY3Rpb24tYnRuOmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTI0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnNlc3Npb24tYWN0aW9uLWJ0bi5kZWxldGUtYnRuOmhvdmVye2JhY2tncm91bmQ6I2IyNGY0NTI0O2NvbG9yOnZhcigtLWRhbmdlcil9LnNlc3Npb24tYWN0aW9uLWJ0bi5tZXJnZS1idG46aG92ZXJ7YmFja2dyb3VuZDojNGY3YTU4Mjk7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnNlc3Npb24tYWN0aW9uLWJ0bjphY3RpdmV7dHJhbnNmb3JtOnNjYWxlKC45KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LnNlc3Npb24tYWN0aW9uLWJ0bjpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fS5zZXNzaW9uLW1hbmFnZS1jaGVjayBzcGFue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyLXJhZGl1czo2cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4yMik7YmFja2dyb3VuZDojZmZmOTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjN2Q1YjM5MGE7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxib3JkZXItY29sb3IgLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlfS5zZXNzaW9uLW1hbmFnZS1jaGVjayBpbnB1dDpjaGVja2VkK3NwYW57YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAxcHggM3B4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmM30uc2Vzc2lvbi1tYW5hZ2UtY2hlY2sgaW5wdXQ6Y2hlY2tlZCtzcGFuOmFmdGVye2NvbnRlbnQ6IiI7d2lkdGg6NnB4O2hlaWdodDoxMHB4O2JvcmRlci1yaWdodDoycHggc29saWQgI2ZmZjtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZmZmO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtMXB4LC0xcHgpfS5zaWRlYmFyLWZvb3RlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wNik7cGFkZGluZzoxNHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG57YmFja2dyb3VuZDojZmZmZmZmNzM7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMDYpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjhweCA0cHg7Z2FwOjRweDtmb250LXNpemU6LjYyNXJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW07Y29sb3I6dmFyKC0tdGV4dC10ZXJ0aWFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNnMgZWFzZSxib3JkZXItY29sb3IgLjE2cyBlYXNlLGNvbG9yIC4xNnMgZWFzZSx0cmFuc2Zvcm0gLjE2cyBlYXNlLGJveC1zaGFkb3cgLjE2cyBlYXNlfS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG46aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmZDk7Ym9yZGVyLWNvbG9yOiM3ZDViMzkyOTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCAycHggOHB4ICM3ZDViMzkwZn0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk2KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bi5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmZjZjdmMiwjZmZmMmU0YzcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4yOCk7Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6MCAzcHggMTBweCAtM3B4ICNjNTY1M2QzOCxpbnNldCAwIDFweCAjZmZmZmZmYjN9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bi5zaWRlYmFyLWxvZ291dDpob3ZlcntiYWNrZ3JvdW5kOiNiMjRmNDUxNDtib3JkZXItY29sb3I6I2IyNGY0NTMzO2NvbG9yOnZhcigtLWRhbmdlcik7b3BhY2l0eToxfS5zaWRlYmFyLWZvb3RlciAuYnRuLXByaW1hcnl7Ym94LXNoYWRvdzowIDZweCAxNnB4IC00cHggI2M1NjUzZDY2LDAgMnB4IDZweCAtMnB4ICNjNTY1M2Q0ZCxpbnNldCAwIDFweCAjZmZmMztib3JkZXItcmFkaXVzOjEycHh9LnNpZGViYXItZm9vdGVyIC5idG4tcHJpbWFyeTpob3Zlcntib3gtc2hhZG93OjAgMTBweCAyNHB4IC00cHggI2M1NjUzZDc1LDAgNHB4IDEwcHggLTJweCAjYzU2NTNkNTcsaW5zZXQgMCAxcHggI2ZmZmZmZjQwfS5zZXNzaW9ucy1saXN0OmVtcHR5OmJlZm9yZXtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW07bGV0dGVyLXNwYWNpbmc6LjAxZW19QHN1cHBvcnRzIG5vdCAoKGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpKSBvciAoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkpey5zaWRlYmFye2JhY2tncm91bmQ6I2ZmZmJmNWZhfS5kcmF3ZXItYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4OGN9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93e2JhY2tncm91bmQ6I2ZmZmFmMn19Lm1vZGFsLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MThweCAyMnB4IDE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7ZmxleC1zaHJpbms6MDttaW4taGVpZ2h0OjU2cHh9Lm1vZGFsLXRpdGxle2ZvbnQtc2l6ZToxLjA2MjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LS4wMWVtfS5tb2RhbC1ib2R5e3BhZGRpbmc6MjJweDtvdmVyZmxvdy15OmF1dG87ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjB9Lm1vZGFsLWJvZHkgLmZpZWxke21hcmdpbi1ib3R0b206MTRweH0ubW9kYWwtYm9keSAuZmllbGQ6bGFzdC1vZi10eXBle21hcmdpbi1ib3R0b206MTZweH0uc2Vzc2lvbi1raW5kLWhpbnQtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHh9LnNlc3Npb24ta2luZC1oaW50LXJvdyAjc2Vzc2lvbi1raW5kLWRlc2NyaXB0aW9ue2ZsZXg6MSAxIGF1dG99LnNlc3Npb24taW5saW5lLXRvZ2dsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZX0uc2Vzc2lvbi1pbmxpbmUtdG9nZ2xlLWxhYmVse2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uZmllbGQtaGludHttYXJnaW4tdG9wOjZweDtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0udG9vbC1waWNrZXJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKTtnYXA6MTBweH0udG9vbC1jYXJke3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjIpO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOiNmZmZmZmZhNjtwYWRkaW5nOjE0cHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS50b29sLWNhcmQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudC1zb2Z0KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgOHB4IDI0cHggIzU5M2EyMDFhO2JhY2tncm91bmQ6I2ZmZmZmZmQ5fS50b29sLWNhcmQuYWN0aXZle2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2ZmZjdlZmZhO2JveC1zaGFkb3c6MCAwIDAgMnB4IHZhcigtLWFjY2VudC1tdXRlZCksMCA2cHggMjBweCAjNTkzYTIwMTR9LnRvb2wtY2FyZC10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHg7Zm9udC1zaXplOi45Mzc1cmVtO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjZweDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS50b29sLWNhcmQtZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjV9LnRvb2wtY2hpcHtmbGV4LXNocmluazowO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6I2M1NjUzZDFhfXNlbGVjdC5maWVsZC1pbnB1dHthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM4YzczNWYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BhdGggZD0nTTYgOWw2IDYgNi02Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgMTRweCBjZW50ZXI7cGFkZGluZy1yaWdodDo0MHB4O2N1cnNvcjpwb2ludGVyfS5zdWdnZXN0aW9ucy13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlfS5zdWdnZXN0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYygxMDAlICsgNHB4KTtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjUwO2JhY2tncm91bmQ6I2ZmZmFmNGZhO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTttYXgtaGVpZ2h0OjIwMHB4O292ZXJmbG93LXk6YXV0b30uc3VnZ2VzdGlvbi1pdGVte3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MTBweCAxMnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODEyNXJlbTt0cmFuc2l0aW9uOmJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uc3VnZ2VzdGlvbi1pdGVtOmhvdmVye2JhY2tncm91bmQ6I2U4YzVhZTU3fS5zdWdnZXN0aW9uLWl0ZW0gc21hbGx7ZGlzcGxheTpibG9jaztmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoycHh9LnJlY2VudC1wYXRocy1idWJibGVze2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NXB4O21hcmdpbi10b3A6NnB4fS5yZWNlbnQtcGF0aHMtYnViYmxlczplbXB0eXtkaXNwbGF5Om5vbmV9LnJlY2VudC1wYXRoLWJ1YmJsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweCAxMHB4O2JhY2tncm91bmQ6I2U4YzVhZTJlO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6OTk5cHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42ODc1cmVtO2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3doaXRlLXNwYWNlOm5vd3JhcDttYXgtd2lkdGg6MTgwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnJlY2VudC1wYXRoLWJ1YmJsZTpob3ZlcntiYWNrZ3JvdW5kOiNlOGM1YWU2Njtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWhvdmVyLCB2YXIoLS1ib3JkZXItZGVmYXVsdCkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9LmVycm9yLW1lc3NhZ2V7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS1kYW5nZXIpO3BhZGRpbmc6MTBweCAxMnB4O2JhY2tncm91bmQ6dmFyKC0tZGFuZ2VyLW11dGVkKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7bWFyZ2luLXRvcDoxMnB4O2FuaW1hdGlvbjpzaGFrZSAuM3MgZWFzZX1Aa2V5ZnJhbWVzIHNoYWtlezAlLHRve3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGUoLTRweCl9NzUle3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4KX19LmZpZWxkLWlucHV0W2RhdGEtZXJyb3I9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcik7Ym94LXNoYWRvdzowIDAgMCAzcHggdmFyKC0tZGFuZ2VyLW11dGVkKX0uaGludHtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoxMnB4fS5lbXB0eS1zdGF0ZXt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjQwcHggMjBweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW19LmVtcHR5LXN0YXRlIHN0cm9uZ3tkaXNwbGF5OmJsb2NrO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtmb250LXNpemU6Ljk1cmVtO21hcmdpbi1ib3R0b206OHB4O2ZvbnQtd2VpZ2h0OjYwMH0uaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Lm9mZmxpbmUtYmFubmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTo4MHB4O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTtjb2xvcjojZmZmO3BhZGRpbmc6OHB4IDE2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo1MDA7ei1pbmRleDoxMDA7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctZWxldmF0ZWQpO2FuaW1hdGlvbjpzbGlkZVVwIC4zcyBlYXNlfUBrZXlmcmFtZXMgc2xpZGVVcHswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDIwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9fS5wd2EtaW5zdGFsbC1wcm9tcHR7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjI0cHg7bGVmdDoyNHB4O3JpZ2h0OjI0cHg7bWF4LXdpZHRoOjQwMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWxnKTtwYWRkaW5nOjE2cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3ctc29mdCk7ei1pbmRleDoxMDA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweH0ucHdhLWluc3RhbGwtcHJvbXB0IC5wcm9tcHQtaWNvbnt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZDc3YTUyLCNhOTUxMzApO2JvcmRlci1yYWRpdXM6MTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjIwcHg7ZmxleC1zaHJpbms6MH0ucHdhLWluc3RhbGwtcHJvbXB0IC5wcm9tcHQtY29udGVudHtmbGV4OjE7bWluLXdpZHRoOjB9LnB3YS1pbnN0YWxsLXByb21wdCAucHJvbXB0LXRpdGxle2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6LjkzNzVyZW07bWFyZ2luLWJvdHRvbToycHh9LnB3YS1pbnN0YWxsLXByb21wdCAucHJvbXB0LWRlc2N7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucHdhLWluc3RhbGwtcHJvbXB0IC5wcm9tcHQtYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjhweH06Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjZweDtoZWlnaHQ6NnB4fTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6Izk2NzY1NTRkO2JvcmRlci1yYWRpdXM6M3B4fTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1ODB9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjRweH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uc2Vzc2lvbnMtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1NDA7Ym9yZGVyLXJhZGl1czoycHh9LnNlc3Npb25zLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6Izk2NzY1NTY2fTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWFjY2VudCk7b3V0bGluZS1vZmZzZXQ6MnB4fWJ1dHRvbjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjB9QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LnNpZGViYXIucGlubmVkOm5vdCguY29sbGFwc2VkKTpub3QoLm9wZW4pe3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfS5tYWluLWxheW91dC5zaWRlYmFyLXBpbm5lZDpub3QoLnNpZGViYXItY29sbGFwc2VkKXtwYWRkaW5nLWxlZnQ6MH0uYXBwLWNvbnRhaW5lcnstLWxheW91dC1tYWluLWZpbGUtcGFuZWwtd2lkdGg6IDBweH0uc2lkZWJhcnt3aWR0aDptaW4oMzAwcHgsY2FsYygxMDB2dyAtIDIwcHgpKTt0b3A6MH0udGVybWluYWwtY29udGFpbmVye21hcmdpbjowIDZweCA2cHg7bWluLWhlaWdodDowfS5idG57bWluLWhlaWdodDo0MHB4fS5idG4tc217bWluLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07aGVpZ2h0OjM2cHh9LmJ0bi1pY29ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLWhlaWdodDozNnB4fS52aWV3LXRvZ2dsZXtoZWlnaHQ6MzZweH0udmlldy10b2dnbGUtYnRue3BhZGRpbmc6MCAxMnB4O2ZvbnQtc2l6ZTouNzVyZW07aGVpZ2h0OjMwcHg7bWluLWhlaWdodDozMHB4fS5jaGF0LWNvbnRhaW5lcntwYWRkaW5nOjAgMTJweCAxMnB4fS5jaGF0LW1lc3NhZ2V7bWF4LXdpZHRoOjEwMCV9LnRoaW5raW5nLWNhcmR7cGFkZGluZzoxMHB4IDE0cHh9LnRoaW5raW5nLWNvbnRlbnR7Zm9udC1zaXplOi44MTI1cmVtfS50b29sLXBpY2tlcntncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfS5zZXNzaW9uLWl0ZW17bWluLWhlaWdodDo1MnB4O3BhZGRpbmc6MTJweH0uc2Vzc2lvbi1hY3Rpb24tYnRue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWluLXdpZHRoOjM2cHg7bWluLWhlaWdodDozNnB4fS5zZXNzaW9uLW1hbmFnZS1iYXIgLmJ0bnttaW4taGVpZ2h0OjMycHh9LmNsYXVkZS1oaXN0b3J5LXRvZ2dsZXttaW4taGVpZ2h0OjQwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue21pbi1oZWlnaHQ6NDRweH0udHJlZS1pdGVte21pbi1oZWlnaHQ6NDRweDtwYWRkaW5nOjhweCAxMnB4fS5mb2xkZXItcGlja2VyLWl0ZW17bWluLWhlaWdodDo0NHB4fX1AbWVkaWEobWluLXdpZHRoOjc2OXB4KXsuZHJhd2VyLWJhY2tkcm9we2Rpc3BsYXk6bm9uZX19QG1lZGlhKG1heC13aWR0aDo2NDBweCl7OnJvb3R7LS1zaWRlYmFyLXdpZHRoOiAyODBweDstLWZpbGUtcGFuZWwtd2lkdGg6IDEwMCV9LmFwcC1jb250YWluZXJ7LS1sYXlvdXQtbWFpbi1maWxlLXBhbmVsLXdpZHRoOiAwcHh9aHRtbCxib2R5e21pbi1oZWlnaHQ6MTAwZHZoO2hlaWdodDoxMDBkdmh9Ym9keXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmFwcC1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVufS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZXt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NnB4fS5mbG9hdGluZy1zaWRlYmFyLXRvZ2dsZSAuaGFtYnVyZ2VyLWljb257d2lkdGg6MTNweDtoZWlnaHQ6OXB4fS5zaWRlYmFye3RvcDowfS5zaWRlYmFyLWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDttaW4taGVpZ2h0OjQ4cHg7Z2FwOjhweH0uc2lkZWJhci1oZWFkZXItYWN0aW9uc3tnYXA6NHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpO2dhcDo0cHh9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0bnttaW4taGVpZ2h0OjQwcHg7cGFkZGluZzo2cHggNHB4fS5zaWRlYmFyLWZvb3Rlci1hY3Rpb25zIC5idG4gc3BhbntkaXNwbGF5Om5vbmV9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzdmd7d2lkdGg6MThweDtoZWlnaHQ6MThweH0uc2lkZWJhci1oZWFkZXItb3ZlcmZsb3d7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gMjRweCl9LnNpZGViYXItaGVhZGVyLW92ZXJmbG93IC5vdmVyZmxvdy1pdGVte3BhZGRpbmc6MTFweCAxNHB4O2ZvbnQtc2l6ZTouODc1cmVtfS50ZXJtaW5hbC1oZWFkZXJ7cGFkZGluZzo1cHggOHB4O21pbi1oZWlnaHQ6MzJweH0udGVybWluYWwtaGVhZGVyLWFjdGlvbnN7Z2FwOjRweH0udGVybWluYWwtaGVhZGVyLWFjdGlvbnMgLmJ0bi1zbSwudGVybWluYWwtaGVhZGVyLWFjdGlvbnMgLmJ0bi1pY29uLC50ZXJtaW5hbC1oZWFkZXItYWN0aW9ucyAudG9wYmFyLWJ0bntoZWlnaHQ6MjhweDttaW4taGVpZ2h0OjI4cHg7bWluLXdpZHRoOjI4cHg7Zm9udC1zaXplOi42MjVyZW07Ym9yZGVyLXJhZGl1czo1cHh9LnRlcm1pbmFsLXRpdGxle2dhcDo0cHg7Zm9udC1zaXplOi42ODc1cmVtfS50ZXJtaW5hbC10aXRsZS10ZXh0e2ZvbnQtc2l6ZTouNzVyZW19LnRlcm1pbmFsLWluZm97Zm9udC1zaXplOi41NjI1cmVtfS5jdXJyZW50LXRhc2t7Zm9udC1zaXplOi41NjI1cmVtO3BhZGRpbmc6MXB4IDZweCAxcHggNHB4O2dhcDozcHh9Lm1haW4taGVhZGVyLXJvd3twYWRkaW5nOjJweCA2cHg7Z2FwOjRweH0udG9wYmFyLWJyYW5kLC50b3BiYXItY3dke2Rpc3BsYXk6bm9uZX0udG9wYmFyLXNlc3Npb24tdGl0bGV7bWF4LXdpZHRoOjE0MHB4O2ZvbnQtc2l6ZTouNzhyZW19LnNlc3Npb24tc3RhdHVzLXBpbGx7Zm9udC1zaXplOi42MjVyZW07cGFkZGluZzoxcHggN3B4IDFweCA1cHg7bWF4LXdpZHRoOjExMHB4fS5zZXNzaW9uLXN0YXR1cy1waWxsIC5zZXNzaW9uLXN0YXR1cy1kb3R7d2lkdGg6NXB4O2hlaWdodDo1cHh9LnRvcGJhci1tb3JlLW1lbnV7bWluLXdpZHRoOjE1NnB4fS52aWV3LXRvZ2dsZXtoZWlnaHQ6MjhweDtwYWRkaW5nOjJweDtnYXA6MXB4fS52aWV3LXRvZ2dsZS1idG57aGVpZ2h0OjI0cHg7bWluLWhlaWdodDoyNHB4O3BhZGRpbmc6MCA2cHg7Zm9udC1zaXplOi42MjVyZW07Z2FwOjJweDtib3JkZXItcmFkaXVzOjRweH0udGVybWluYWwtc2NhbGUtb3ZlcmxheXt0b3A6NnB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtnYXA6MXB4fS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWJ0bnttaW4td2lkdGg6MjZweDtoZWlnaHQ6MjZweDtmb250LXNpemU6Ljc1cmVtfS50ZXJtaW5hbC1zY2FsZS1vdmVybGF5LWxhYmVse21pbi13aWR0aDoyOHB4O2ZvbnQtc2l6ZTouNTYyNXJlbTtwYWRkaW5nOjAgMnB4fS50ZXJtaW5hbC10b29sLWJ0bntwYWRkaW5nOjAgOHB4O2ZvbnQtc2l6ZTouNjI1cmVtfS5maWxlLXBhbmVsLXRvZ2dsZXtkaXNwbGF5OmZsZXh9Lm1haW4tbGF5b3V0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4OjE7bWluLWhlaWdodDowO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6MH0uc2lkZWJhcnt0b3A6MDt3aWR0aDptaW4oMjYwcHgsY2FsYygxMDB2dyAtIDEycHgpKTttYXgtaGVpZ2h0Om5vbmU7Ym9yZGVyLWJvdHRvbTpub25lfS5tYWluLWNvbnRlbnR7ZmxleDoxO21pbi1oZWlnaHQ6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmhpZGRlbn0udGVybWluYWwtY29udGFpbmVye2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO21heC1oZWlnaHQ6bm9uZX0uc2Vzc2lvbnMtbGlzdHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAwIGF1dG87bWluLWhlaWdodDowO292ZXJmbG93OnZpc2libGU7cGFkZGluZzo0cHh9LnNlc3Npb24taXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDpub25lO21hcmdpbi1ib3R0b206NHB4O3BhZGRpbmc6OHB4IDEwcHg7bWluLWhlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NnB4fS5zZXNzaW9uLWl0ZW0tdGl0bGV7Zm9udC1zaXplOi42ODc1cmVtfS5zZXNzaW9uLWl0ZW0tbWV0YXtmb250LXNpemU6LjU2MjVyZW19LnNlc3Npb24tYWN0aW9uLWJ0bnt3aWR0aDozMnB4O2hlaWdodDozMnB4O21pbi1oZWlnaHQ6MzJweDttaW4td2lkdGg6MzJweDtib3JkZXItcmFkaXVzOjZweH0uaW5wdXQtcGFuZWx7ei1pbmRleDozMDtwYWRkaW5nOjRweCA2cHg7cGFkZGluZy1ib3R0b206Y2FsYyg2cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpICsgdmFyKC0ta2V5Ym9hcmQtb2Zmc2V0LCAwcHgpKTtmbGV4OjAgMCBhdXRvO21hcmdpbi10b3A6YXV0bztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y2ZjFlODgwLCNmNmYxZThlMCAzMCUsI2Y2ZjFlOCksI2Y2ZjFlODtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KX0uaW5wdXQtdGV4dGFyZWF7cGFkZGluZy1ib3R0b206NHB4fS5pbnB1dC1jb21wb3Nlcntib3JkZXItcmFkaXVzOjEwcHh9LmlucHV0LWNvbXBvc2VyLWJhcntwYWRkaW5nOjFweCAzcHggMnB4IDVweDtnYXA6MnB4fS5pbnB1dC1jb21wb3Nlci1sZWZ0e2dhcDoycHh9LmlucHV0LWNvbXBvc2VyLXJpZ2h0e2dhcDozcHh9LmlucHV0LWNvbXBvc2VyLWxlZnQgLmNvbXBvc2VyLXBpbGwtZ3JvdXB7cGFkZGluZzowO2dhcDoxcHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LmlucHV0LWNvbXBvc2VyLWxlZnQgLmNvbXBvc2VyLXBpbGwtY2hpcHtmb250LXNpemU6LjZyZW07cGFkZGluZzoxcHggNnB4fS5pbnB1dC1jb21wb3Nlci1sZWZ0IC5jaGF0LW1vZGUtc2VsZWN0e21heC13aWR0aDo2NHB4fS5pbnB1dC1jb21wb3Nlci1sZWZ0IC5jaGF0LW1vZGVsLXNlbGVjdHttYXgtd2lkdGg6NzhweH0uaW5wdXQtY29tcG9zZXItbGVmdCAuY2hhdC10aGlua2luZy10cmlnZ2Vye21heC13aWR0aDo3MnB4fS5pbnB1dC1yb3d7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjZweDttYXgtd2lkdGg6MTAwJX0uaW5wdXQtZmllbGR7Z2FwOjRweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0uaW5wdXQtbGFiZWx7Zm9udC1zaXplOi41NjI1cmVtfS5pbnB1dC1hY3Rpb25ze3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7Z2FwOjZweDthbGlnbi1pdGVtczpzdHJldGNofS5pbnB1dC1hY3Rpb25zIC5jaGF0LW1vZGUtc2VsZWN0e2ZsZXgtc2hyaW5rOjA7d2lkdGg6NzBweDtmb250LXNpemU6LjYyNXJlbTtoZWlnaHQ6MzZweDttaW4taGVpZ2h0OjM2cHh9LmlucHV0LWFjdGlvbnMgLmJ0bntmbGV4OjE7bWluLXdpZHRoOjA7bWluLWhlaWdodDozNnB4O2ZvbnQtc2l6ZTouNzVyZW07Zm9udC13ZWlnaHQ6NjAwfS5idG4tY2lyY2xle3dpZHRoOjI2cHg7aGVpZ2h0OjI2cHg7Ym9yZGVyLXJhZGl1czo1MCV9LmJ0bi1jaXJjbGUtc2VuZCBzdmcsLmJ0bi1jaXJjbGUtc3RvcCBzdmd7d2lkdGg6MTJweDtoZWlnaHQ6MTJweH0uaW5wdXQtdGV4dGFyZWEsLmZpZWxkLWlucHV0e2ZvbnQtc2l6ZToxNnB4fS5pbnB1dC10ZXh0YXJlYXttaW4taGVpZ2h0OjMycHg7cGFkZGluZzo2cHggMzBweCAzcHggOHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuMzV9LmNoYXQtbW9kZS1zZWxlY3R7bWF4LXdpZHRoOjY1cHg7Zm9udC1zaXplOi41NjI1cmVtO2hlaWdodDoyMnB4O21pbi1oZWlnaHQ6MjJweDtwYWRkaW5nOjAgMTRweCAwIDRweDtib3JkZXItcmFkaXVzOjVweH0uaW5wdXQtaGludHtmb250LXNpemU6LjQ1cmVtO21heC13aWR0aDoxOGNoO29wYWNpdHk6LjZ9LnRlcm1pbmFsLWp1bXAtYm90dG9te3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7cGFkZGluZzowO3JpZ2h0OjEwcHg7Ym90dG9tOjEycHh9LmNoYXQtdW5yZWFkLWJ1YmJsZXtoZWlnaHQ6MzBweDttaW4td2lkdGg6MzBweDtyaWdodDoxMHB4O2JvdHRvbTo4cHg7cGFkZGluZzowIDlweDtmb250LXNpemU6LjcycmVtfS5jaGF0LXVucmVhZC1idWJibGUuaGFzLXVucmVhZHtwYWRkaW5nOjAgMTFweCAwIDlweH0uY2hhdC11bnJlYWQtYnViYmxlLWNvdW50e2ZvbnQtc2l6ZTouNzJyZW19Lm1pbmkta2V5Ym9hcmQtZmFie3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym90dG9tOjUwcHg7cmlnaHQ6MTBweDtmb250LXNpemU6MXJlbX0ubWluaS1rZXlib2FyZHtib3R0b206NTBweDtyaWdodDo4cHg7bGVmdDo4cHg7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czoxMHB4fS5taW5pLWtleWJvYXJkLWhlYWRlcntwYWRkaW5nOjZweCAxMHB4IDRweH0ubWluaS1rZXlib2FyZC1ib2R5e3BhZGRpbmc6NnB4O2dhcDo0cHh9LmZsb2F0aW5nLXBhZHtyaWdodDowO2JvdHRvbTpjYWxjKDEwMCUgKyA2cHgpO3dpZHRoOm1pbigxODBweCxjYWxjKDEwMHZ3IC0gMTZweCkpO3BhZGRpbmc6NnB4IDhweDtib3JkZXItcmFkaXVzOjhweH0uZmxvYXRpbmctcGFkLWdyaWQgLmJ0bnttaW4taGVpZ2h0OjM2cHg7Zm9udC1zaXplOi43NXJlbX0uY2hhdC1jb250YWluZXJ7bWluLWhlaWdodDowO2ZsZXg6MSAxIGF1dG87b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNoYXQtY29udGFpbmVyLmFjdGl2ZXtkaXNwbGF5OmZsZXh9LmZvbGRlci1waWNrZXItY29udGFpbmVye21hcmdpbi1ib3R0b206NHB4fS5mb2xkZXItcGlja2VyLXF1aWNrLXBhdGhze2ZsZXgtd3JhcDp3cmFwO2dhcDo0cHh9LmZvbGRlci1waWNrZXItcXVpY2stYnRue21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjZweCAxMHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtib3JkZXItcmFkaXVzOjZweH0uZm9sZGVyLWJyZWFkY3J1bWJ7cGFkZGluZzo0cHggNnB4O2ZvbnQtc2l6ZTouNTYyNXJlbTttYXJnaW4tYm90dG9tOjNweDtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9LmZvbGRlci1icmVhZGNydW1iLWl0ZW17cGFkZGluZzo0cHggNnB4O21pbi1oZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1mbGV4fS5mb2xkZXItcGlja2Vye3BhZGRpbmc6OHB4IDEwcHg7bWluLWhlaWdodDozNnB4fS5mb2xkZXItcGlja2VyLWlucHV0e2ZvbnQtc2l6ZToxNnB4O3BhZGRpbmc6NnB4fS5mb2xkZXItcGlja2VyLWRyb3Bkb3due21heC1oZWlnaHQ6MTgwcHh9LmZvbGRlci1waWNrZXItaXRlbXtwYWRkaW5nOjhweCAxMHB4O21pbi1oZWlnaHQ6MzZweH0uZm9sZGVyLXJlY2VudC1pdGVte3BhZGRpbmc6NnB4IDEwcHg7bWluLWhlaWdodDozNnB4fS5mb2xkZXItcGlja2VyLWNvbXBhY3Qtcm93e3BhZGRpbmc6NnB4fS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaW5wdXR7Zm9udC1zaXplOi42MjVyZW19LndvcmtpbmctZGlyLWluZGljYXRvcntmb250LXNpemU6LjU2MjVyZW07cGFkZGluZzoxcHggNHB4O21heC13aWR0aDoxMjBweH0uaW5wdXQtdGV4dGFyZWEuaGFzLWRpci1pbmRpY2F0b3J7cGFkZGluZy1ib3R0b206MjJweDttaW4taGVpZ2h0OjQ0cHh9LnRvZG8tcHJvZ3Jlc3MtaGVhZGVye3BhZGRpbmc6M3B4IDZweDtnYXA6NHB4fS50b2RvLXByb2dyZXNzLWNvdW50ZXIsLnRvZG8tcHJvZ3Jlc3MtdGFza3tmb250LXNpemU6LjU2MjVyZW19LnRvZG8tcHJvZ3Jlc3MtY2hldnJvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS50b2RvLXByb2dyZXNzLWJvZHl7cGFkZGluZzo0cHggNnB4fS5sb2dpbi1jb250YWluZXJ7bWluLWhlaWdodDoxMDBkdmg7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjhweCA4cHggY2FsYyg4cHggKyB2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KSl9LmxvZ2luLWNhcmR7bWFyZ2luLXRvcDptYXgoNnB4LGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLDBweCkpfS5sb2dpbi1oZWFkZXJ7cGFkZGluZzoxNHB4IDEycHggMTBweH0ubG9naW4tYm9keXtwYWRkaW5nOjEycHh9LmJ0bnttaW4taGVpZ2h0OjQwcHh9LmJ0bi1zbXttaW4taGVpZ2h0OjMycHh9LmNoYXQtbWVzc2FnZS1idWJibGV7cGFkZGluZzo4cHggMTBweDtmb250LXNpemU6Ljc1cmVtfS5jaGF0LW1lc3NhZ2UtYXZhdGFye2ZvbnQtc2l6ZTouNjg3NXJlbX0ubW9kYWwtYmFja2Ryb3B7cGFkZGluZzo4cHg7cGFkZGluZy10b3A6bWF4KDhweCx2YXIoLS13YW5kLXNhZmUtdG9wKSk7cGFkZGluZy1sZWZ0Om1heCg4cHgsdmFyKC0td2FuZC1zYWZlLWxlZnQpKTtwYWRkaW5nLXJpZ2h0Om1heCg4cHgsdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSk7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lm1vZGFse21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6ODV2aDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCkgdmFyKC0tcmFkaXVzLW1kKSAwIDA7bWFyZ2luLWJvdHRvbTp2YXIoLS1zYWZlLWJvdHRvbSwgMHB4KX0ubW9kYWwtaGVhZGVye3BhZGRpbmc6MTBweCAxMnB4O21pbi1oZWlnaHQ6NDBweH0ubW9kYWwtYm9keXtwYWRkaW5nOjEwcHggMTJweH0ubW9kYWwtZm9vdGVye3BhZGRpbmc6OHB4IDEycHh9LnNlc3Npb24tbW9kYWwgLm1vZGFsLWZvb3RlcntwYWRkaW5nOjEwcHggMTJweCAxNHB4fS50b29sLWNhcmR7cGFkZGluZzoxMHB4O21pbi1oZWlnaHQ6MzZweH0ubWFpbi1jb250ZW50LmZpbGUtcGFuZWwtb3BlbnttYXJnaW4tcmlnaHQ6MH0uZmlsZS1zaWRlLXBhbmVse3dpZHRoOjEwMCV9LmZpbGUtc2lkZS1wYW5lbC1oZWFkZXJ7cGFkZGluZzoxMHB4IDEycHg7bWluLWhlaWdodDo0OHB4fS5maWxlLXNpZGUtcGFuZWwtaWNvbmJ0bnt3aWR0aDozNHB4O2hlaWdodDozNHB4fS5maWxlLWV4cGxvcmVyLWhlYWRlcntwYWRkaW5nOjZweCAxMHB4IDRweDtnYXA6NnB4fS5maWxlLWV4cGxvcmVyLXVwe3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9LmZpbGUtc2VhcmNoLWJveHtwYWRkaW5nOjZweCAxMHB4IDhweH0uZmlsZS1zZWFyY2gtaWNvbntsZWZ0OjIwcHh9LmZpbGUtc2VhcmNoLWNsZWFye3JpZ2h0OjE2cHh9LmZpbGUtc2VhcmNoLWlucHV0e21pbi1oZWlnaHQ6MzRweDtmb250LXNpemU6MTZweDtwYWRkaW5nOjdweCAzMnB4IDdweCAzMHB4fS5maWxlLWl0ZW17cGFkZGluZzo2cHggOHB4O21pbi1oZWlnaHQ6MzJweH0uYmxhbmstY2hhdHtwYWRkaW5nOjE2cHggMTJweDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5ibGFuay1jaGF0LWlubmVye21heC13aWR0aDoxMDAlfS5ibGFuay1jaGF0LWxvZ297d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtmb250LXNpemU6MjRweDtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbToxMHB4fS5ibGFuay1jaGF0LXRpdGxle2ZvbnQtc2l6ZToxLjEyNXJlbX0uYmxhbmstY2hhdC1zdWJ0aXRsZXtmb250LXNpemU6Ljc1cmVtO21hcmdpbi1ib3R0b206MTZweH0uYmxhbmstY2hhdC1pbnB1dC13cmFwe21hcmdpbi1ib3R0b206MTJweH0uYmxhbmstY2hhdC1pbnB1dHtwYWRkaW5nOjEwcHggNjBweCAxMHB4IDEycHg7Zm9udC1zaXplOjE2cHg7Ym9yZGVyLXJhZGl1czoxMHB4fS5ibGFuay1jaGF0LXNlbmQtYnRue3BhZGRpbmc6NnB4IDEycHg7Zm9udC1zaXplOi43NXJlbTtyaWdodDo1cHh9LmJsYW5rLWNoYXQtdG9vbHN7Z2FwOjRweDttYXJnaW4tYm90dG9tOjhweH0uYmxhbmstY2hhdC10b29sLWJ0bntwYWRkaW5nOjZweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07bWluLWhlaWdodDo0NHB4fS5ibGFuay1jaGF0LWhpbnR7Zm9udC1zaXplOi42ODc1cmVtfS5tb2RlLWJ0bi1ncm91cHtnYXA6NHB4O21hcmdpbi10b3A6OHB4fS5tb2RlLWJ0bntwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTttaW4taGVpZ2h0OjM2cHh9Lm5vdGlmaWNhdGlvbi1idWJibGV7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAyNHB4KX0uYmxhbmstY2hhdC1jd2QtZHJvcGRvd257bWluLXdpZHRoOjA7d2lkdGg6Y2FsYygxMDB2dyAtIDMycHgpO21heC13aWR0aDozMjBweH0udG9hc3QtbWVzc2FnZXttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDMycHgpfX1AbWVkaWEobWluLXdpZHRoOjM5MXB4KWFuZCAobWF4LXdpZHRoOjQyMHB4KXsudGVybWluYWwtY29udGFpbmVye21hcmdpbjowIDZweCA2cHg7cGFkZGluZzo2cHh9LmlucHV0LXBhbmVse3BhZGRpbmc6NnB4IDEwcHg7cGFkZGluZy1ib3R0b206Y2FsYyg4cHggKyB2YXIoLS1pbnB1dC1zYWZlLWJvdHRvbSwgdmFyKC0tc2FmZS1ib3R0b20sIDBweCkpKX19QG1lZGlhKG1heC13aWR0aDozOTBweCl7LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9LmZsb2F0aW5nLXNpZGViYXItdG9nZ2xlIC5oYW1idXJnZXItaWNvbnt3aWR0aDoxMXB4O2hlaWdodDo4cHh9LnRlcm1pbmFsLWhlYWRlcntwYWRkaW5nOjRweCA2cHg7bWluLWhlaWdodDoyOHB4fS50ZXJtaW5hbC10aXRsZS10ZXh0e2ZvbnQtc2l6ZTouNjg3NXJlbX0udGVybWluYWwtaW5mbywudGVybWluYWwtdG9vbC1idG57ZGlzcGxheTpub25lfS50ZXJtaW5hbC1jb250YWluZXJ7bWFyZ2luOjAgNHB4IDRweDtwYWRkaW5nOjRweH0uaW5wdXQtcGFuZWx7cGFkZGluZzo1cHggNnB4O3BhZGRpbmctYm90dG9tOmNhbGMoNnB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSl9LmlucHV0LWNvbXBvc2Vye2JvcmRlci1yYWRpdXM6OHB4fS5pbnB1dC10ZXh0YXJlYXttaW4taGVpZ2h0OjI4cHg7cGFkZGluZzo1cHggMjhweCAycHggNnB4O2ZvbnQtc2l6ZToxNnB4fS5idG4tY2lyY2xle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWluLXdpZHRoOjI4cHh9LnNlc3Npb24taXRlbXtwYWRkaW5nOjZweCA4cHg7bWluLWhlaWdodDo0MHB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttaW4td2lkdGg6MzBweDttaW4taGVpZ2h0OjMwcHh9LnNpZGViYXJ7dG9wOjA7d2lkdGg6bWluKDI0MHB4LGNhbGMoMTAwdncgLSAxMHB4KSl9LnNpZGViYXItZm9vdGVyLWFjdGlvbnN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LnNpZGViYXItZm9vdGVyLWFjdGlvbnMgLmJ0biBzcGFue2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1mb290ZXItYWN0aW9ucyAuYnRue21pbi1oZWlnaHQ6MzZweDtwYWRkaW5nOjZweH0ubW9kYWx7bWF4LWhlaWdodDo4MHZofS5tb2RhbC1oZWFkZXJ7cGFkZGluZzo4cHggMTBweDttaW4taGVpZ2h0OjM2cHh9Lm1vZGFsLWJvZHl7cGFkZGluZzo4cHggMTBweH0uc2Vzc2lvbi1tb2RhbCAubW9kYWwtZm9vdGVye3BhZGRpbmc6OHB4IDEwcHggMTJweH0uZmllbGQtcm93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjB9LmJ0bnttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo4cHggMTJweH0uYnRuLXNte21pbi1oZWlnaHQ6MjhweDtwYWRkaW5nOjRweCA4cHh9fUBtZWRpYShtaW4td2lkdGg6NjQxcHgpYW5kIChtYXgtd2lkdGg6NzY4cHgpey5zaWRlYmFye3RvcDowO3dpZHRoOm1pbigzMjBweCxjYWxjKDEwMHZ3IC0gNDBweCkpfS5zZXNzaW9uLWl0ZW17bWluLWhlaWdodDo1MnB4O3BhZGRpbmc6MTFweCAxMnB4fS5zZXNzaW9uLWFjdGlvbi1idG57d2lkdGg6MzRweDtoZWlnaHQ6MzRweDttaW4td2lkdGg6MzRweDttaW4taGVpZ2h0OjM0cHh9LmJ0bnttaW4taGVpZ2h0OjQycHh9LmJ0bi1zbXttaW4taGVpZ2h0OjM2cHh9LmlucHV0LWFjdGlvbnMgLmJ0bnttaW4taGVpZ2h0OjQ0cHh9LmZsb2F0aW5nLXRvZ2dsZXttaW4td2lkdGg6NDhweDttaW4taGVpZ2h0OjQ4cHh9fUBtZWRpYShtYXgtaGVpZ2h0OjQyMHB4KWFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuZmxvYXRpbmctc2lkZWJhci10b2dnbGV7d2lkdGg6MjhweDtoZWlnaHQ6MjhweH0uc2lkZWJhcnt0b3A6MH0udGVybWluYWwtY29udGFpbmVye21pbi1oZWlnaHQ6NTV2aDttYXJnaW46NnB4O3BhZGRpbmc6OHB4fS5jaGF0LWNvbnRhaW5lcntwYWRkaW5nOjAgMTBweCA4cHh9LmlucHV0LXBhbmVse3BhZGRpbmc6OHB4O3BhZGRpbmctYm90dG9tOmNhbGMoOHB4ICsgdmFyKC0taW5wdXQtc2FmZS1ib3R0b20sIHZhcigtLXNhZmUtYm90dG9tLCAwcHgpKSl9LmlucHV0LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjhweH0uaW5wdXQtYWN0aW9uc3t3aWR0aDphdXRvfS5mbG9hdGluZy1wYWR7Ym90dG9tOjcwcHg7d2lkdGg6bWluKDE4MHB4LGNhbGMoMTAwdncgLSAyNHB4KSl9fUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5jaGF0LWNvbnRhaW5lcntwYWRkaW5nOjAgNnB4IDhweH0uY2hhdC1tZXNzYWdlc3twYWRkaW5nLWxlZnQ6MnB4O3BhZGRpbmctcmlnaHQ6MnB4O2dhcDoxMnB4fS5jaGF0LW1lc3NhZ2V7LS1jaGF0LWNhcmQtbWF4LXdpZHRoOiAxMDAlfS50b29sLXVzZS1oZWFkZXJ7ZmxleC13cmFwOndyYXA7cm93LWdhcDo0cHg7cGFkZGluZzo4cHggMTJweH0udG9vbC11c2UtZmlsZXttYXgtd2lkdGg6MTAwJX0udG9vbC11c2UtYm9keXtwYWRkaW5nOjEwcHggMTJweH0uc3ViYWdlbnQtcmVwbHl7cGFkZGluZzo5cHggMTJweH0uc3ViYWdlbnQtcmVwbHkuY29sbGFwc2libGV7cGFkZGluZzowfS5zdWJhZ2VudC1yZXBseS5maW5hbHtwYWRkaW5nOjlweCAxMXB4fS5zdWJhZ2VudC1wYW5lbHttYXJnaW46NnB4IDB9LnN1YmFnZW50LXBhbmVsLWhlYWRlcntwYWRkaW5nOjdweCAxMHB4O2dhcDo2cHg7Zm9udC1zaXplOi43NHJlbX0uc3ViYWdlbnQtcGFuZWwtYXR0cmlidXRpb257d2hpdGUtc3BhY2U6bm9ybWFsO2xpbmUtaGVpZ2h0OjEuNH0uc3ViYWdlbnQtcGFuZWwtdGFne21hcmdpbjowIDRweDtwYWRkaW5nOjAgNHB4fS5zdWJhZ2VudC1wYW5lbC1ib2R5e3BhZGRpbmc6OXB4IDExcHh9LnN1YmFnZW50LXBhbmVsW2RhdGEtZXhwYW5kZWQ9ZmFsc2VdIC5zdWJhZ2VudC1wYW5lbC1ib2R5e21heC1oZWlnaHQ6MThlbX0uc3ViYWdlbnQtcGFuZWxbZGF0YS1leHBhbmRlZD10cnVlXSAuc3ViYWdlbnQtcGFuZWwtYm9keXttYXgtaGVpZ2h0OjYwdmh9LnN1YmFnZW50LXBhbmVsLWZvb3RlcntwYWRkaW5nOjVweCAxMHB4fS5zdWJhZ2VudC1wYW5lbC1mb290ZXItaGludHtkaXNwbGF5Om5vbmV9Lm1hcmtkb3duLWNvbnRlbnQgLmNvZGUtYmxvY2t7bWFyZ2luOjhweCAwfS5tYXJrZG93bi1jb250ZW50IHByZSwubWFya2Rvd24tY29udGVudCAuY29kZS1ibG9jayBwcmUsLnN1YmFnZW50LXJlcGx5IHByZXtwYWRkaW5nOjEwcHh9LmRpZmYtY29sdW1uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmRpZmYtY29sLC5kaWZmLWNvbC1oYWxmLC5kaWZmLWNvbC1mdWxse2ZsZXg6MSAxIGF1dG87d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJX0udGVybS1oZWFkZXIsLmRpZmYtaGVhZGVye2ZsZXgtd3JhcDp3cmFwO3Jvdy1nYXA6NHB4fS5kaWZmLXBhdGh7ZmxleC1iYXNpczoxMDAlO29yZGVyOjk5fS5pbmxpbmUtdG9vbC1yb3d7ZmxleC13cmFwOndyYXA7cm93LWdhcDoycHh9LmlubGluZS10b29sLW1ldGF7bWF4LXdpZHRoOjEwMCU7ZmxleC1iYXNpczoxMDAlO3BhZGRpbmctbGVmdDoyMnB4fX0uc2Vzc2lvbi1raW5kLWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoxOHB4O3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMWVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7ZmxleC1zaHJpbms6MH0uc2Vzc2lvbi1raW5kLWJhZGdlLnB0eXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDojNzg4MDhjMWY7Ym9yZGVyLWNvbG9yOiM3ODgwOGMyZX0uc2Vzc2lvbi1raW5kLWJhZGdlLnN0cnVjdHVyZWR7Y29sb3I6I2QxOGI1MjtiYWNrZ3JvdW5kOiNkNzdhNTIxYTtib3JkZXItY29sb3I6I2Q3N2E1MjM4fS5zZXNzaW9uLWtpbmQtYmFkZ2Uud29ya3RyZWV7Y29sb3I6IzJmNmY1NDtiYWNrZ3JvdW5kOiM0ZjdhNTgxZjtib3JkZXItY29sb3I6IzRmN2E1ODM4fS5zZXNzaW9uLWtpbmQtZGlzcGxheXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjY4NzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiM4YTRiMjQ7YmFja2dyb3VuZDojZDc3YTUyMWY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxNSwxMjIsODIsLjIpfS5zdHJ1Y3R1cmVkLXRvb2wtaGludHttYXJnaW46NHB4IDAgOHB4O3BhZGRpbmc6NnB4IDEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7YmFja2dyb3VuZDojZDc3YTUyMTQ7Ym9yZGVyOjFweCBkYXNoZWQgcmdiYSgyMTUsMTIyLDgyLC4xOCl9LmJsYW5rLWNoYXR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXg6MTtwYWRkaW5nOjIwcHggMTZweDttaW4taGVpZ2h0OjA7b3ZlcmZsb3c6YXV0b30uYmxhbmstY2hhdC1pbm5lcnt3aWR0aDoxMDAlO21heC13aWR0aDo1NjBweDt0ZXh0LWFsaWduOmNlbnRlcn0uYmxhbmstY2hhdC1sb2dve3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNkNzdhNTIsI2E5NTEzMCk7Ym9yZGVyLXJhZGl1czoxNnB4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjttYXJnaW46MCBhdXRvIDE0cHg7Ym94LXNoYWRvdzowIDRweCAxNnB4ICNjNTY1M2QzOH0uYmxhbmstY2hhdC10aXRsZXtmb250LXNpemU6MS4zNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luOjAgMCA2cHh9LmJsYW5rLWNoYXQtc3VidGl0bGV7Zm9udC1zaXplOi44MTI1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO21hcmdpbjowIDAgMjBweH0uYmxhbmstY2hhdC1pbnB1dC13cmFwe3Bvc2l0aW9uOnN0aWNreTttYXJnaW4tYm90dG9tOjE0cHh9LmJsYW5rLWNoYXQtaW5wdXR7d2lkdGg6MTAwJTtwYWRkaW5nOjEycHggNzBweCAxMnB4IDE2cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmYztjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpO291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMnB4IDhweCAjNTkzYTIwMGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7Ym94LXNpemluZzpib3JkZXItYm94fS5ibGFuay1jaGF0LWlucHV0OmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6MCAwIDAgM3B4IHZhcigtLWFjY2VudC1tdXRlZCksMCAycHggOHB4ICM1OTNhMjAwYX0uYmxhbmstY2hhdC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmJsYW5rLWNoYXQtc2VuZC1idG57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7cGFkZGluZzo2cHggMTRweDtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmJsYW5rLWNoYXQtc2VuZC1idG46aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtaG92ZXIpfS5ibGFuay1jaGF0LXRvb2xze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbToxMnB4O2ZsZXgtd3JhcDp3cmFwfS5ibGFuay1jaGF0LXRvb2wtYnRue3BhZGRpbmc6OHB4IDE0cHg7Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZDojZmZmZmZmYjM7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouODc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YWxsIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O21pbi1oZWlnaHQ6NDBweH0uYmxhbmstY2hhdC10b29sLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTtib3gtc2hhZG93OjAgNHB4IDEycHggIzU5M2EyMDE0fS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb257Zm9udC1zaXplOjEuMTI1cmVtfS5ibGFuay1jaGF0LWN3ZC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi10b3A6OHB4fS5ibGFuay1jaGF0LWN3ZHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo0cHggOHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTt0cmFuc2l0aW9uOmNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO3VzZXItc2VsZWN0Om5vbmV9LmJsYW5rLWNoYXQtY3dkOmhvdmVye2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpfS5ibGFuay1jaGF0LWN3ZC1pY29ue2ZvbnQtc2l6ZTouODEyNXJlbX0uYmxhbmstY2hhdC1jd2QtcGF0aHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO21heC13aWR0aDoyODBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmJsYW5rLWNoYXQtY3dkLWFycm93e2ZvbnQtc2l6ZTouNjI1cmVtO29wYWNpdHk6LjY7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KX0uYmxhbmstY2hhdC1jd2QtZHJvcGRvd257cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTttaW4td2lkdGg6MjYwcHg7bWF4LXdpZHRoOjQwMHB4O21heC1oZWlnaHQ6MjQwcHg7b3ZlcmZsb3cteTphdXRvO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbWQpO2JveC1zaGFkb3c6MCA0cHggMTZweCAjMDAwMDAwMWE7ei1pbmRleDo1MDttYXJnaW4tdG9wOjRweDtwYWRkaW5nOjRweH0uYmxhbmstY2hhdC1jd2QtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCl9LmJsYW5rLWNoYXQtY3dkLWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCl9LmJsYW5rLWNoYXQtY3dkLWl0ZW0uYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtjb2xvcjp2YXIoLS1hY2NlbnQpO2ZvbnQtd2VpZ2h0OjUwMH0uYmxhbmstY2hhdC1jd2QtaXRlbS1sYWJlbHtmb250LXNpemU6LjYyNXJlbTtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KTtwYWRkaW5nOjFweCA1cHg7Ym9yZGVyLXJhZGl1czozcHg7Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0uYmxhbmstY2hhdC1jd2QtaXRlbS1wYXRoe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5ibGFuay1jaGF0LWN3ZC1sb2FkaW5ne3BhZGRpbmc6OHB4IDEwcHg7Zm9udC1zaXplOi43NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0ZXh0LWFsaWduOmNlbnRlcn0uYmxhbmstY2hhdC1oaW50e2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTttYXJnaW46MDtmb250LXdlaWdodDo1MDB9Lm1vZGUtYnRuLWdyb3Vwe2Rpc3BsYXk6ZmxleDtnYXA6NHB4O21hcmdpbi10b3A6MTBweDtmbGV4LXdyYXA6d3JhcH0ubW9kZS1idG57cGFkZGluZzo1cHggMTJweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItZGVmYXVsdCk7YmFja2dyb3VuZDojZmZmZmZmODA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07Zm9udC1mYW1pbHk6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5tb2RlLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOiNmZmZjO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2NvbG9yOnZhcigtLWFjY2VudCl9Lm1vZGUtYnRuLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZn0ubW9kZS1zZWxlY3Rvci13cmFwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweH0uY2hhdC1tb2RlLXNlbGVjdHtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZX0uY2hhdC1tb2RlLXNlbGVjdDpmb2N1c3tib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uaW5wdXQtZmllbGQtZnVsbHtmbGV4OjE7bWluLXdpZHRoOjB9LnRvYXN0LW1lc3NhZ2V7cG9zaXRpb246Zml4ZWQ7dG9wOjI0cHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKTtwYWRkaW5nOjEwcHggMjBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7Zm9udC1zaXplOi44NzVyZW07ei1pbmRleDo5OTk5O2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LWxnKTthbmltYXRpb246dG9hc3QtaW4gLjIycyBjdWJpYy1iZXppZXIoLjM0LDEuNTYsLjY0LDEpfS50b2FzdC1lcnJvcntiYWNrZ3JvdW5kOnZhcigtLWRhbmdlcik7Y29sb3I6I2ZmZn1Aa2V5ZnJhbWVzIHRvYXN0LWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoLTEycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9fS5ub3RpZmljYXRpb24tYnViYmxle3Bvc2l0aW9uOmZpeGVkO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7ei1pbmRleDoxMDAwMDttaW4td2lkdGg6MjIwcHg7bWF4LXdpZHRoOjMyMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1sZyk7cGFkZGluZzo4cHggMTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLXNsaWRlLWluIC4zcyBjdWJpYy1iZXppZXIoLjM0LDEuNTYsLjY0LDEpO3RyYW5zaXRpb246dG9wIC4yNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZX0ubm90aWZpY2F0aW9uLWJ1YmJsZS5zbGlkZS1vdXR7YW5pbWF0aW9uOm5vdGlmaWNhdGlvbi1zbGlkZS1vdXQgLjI1cyBlYXNlIGZvcndhcmRzO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9Lm5vdGlmaWNhdGlvbi1idWJibGUtaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDttYXJnaW4tYm90dG9tOjJweH0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2ZvbnQtc2l6ZToxMHB4fS5ub3RpZmljYXRpb24tYnViYmxlLWljb24uaW5mb3tiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZn0ubm90aWZpY2F0aW9uLWJ1YmJsZS1pY29uLndhcm5pbmd7YmFja2dyb3VuZDp2YXIoLS13YXJuaW5nKTtjb2xvcjojZmZmfS5ub3RpZmljYXRpb24tYnViYmxlLWljb24uc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXN1Y2Nlc3MpO2NvbG9yOiNmZmZ9Lm5vdGlmaWNhdGlvbi1idWJibGUtdGl0bGV7Zm9udC1zaXplOi43NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tZmctcHJpbWFyeSk7ZmxleDoxO21pbi13aWR0aDowfS5ub3RpZmljYXRpb24tYnViYmxlLWNsb3Nle2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtjb2xvcjp2YXIoLS1mZy1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTtwYWRkaW5nOjFweCAzcHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2ZsZXgtc2hyaW5rOjB9Lm5vdGlmaWNhdGlvbi1idWJibGUtY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcik7Y29sb3I6dmFyKC0tZmctcHJpbWFyeSl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYm9keXtmb250LXNpemU6LjdyZW07Y29sb3I6dmFyKC0tZmctc2Vjb25kYXJ5KTtsaW5lLWhlaWdodDoxLjQ7bWFyZ2luLWJvdHRvbTowO21heC1oZWlnaHQ6NC4yZW07b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnN7bWFyZ2luLXRvcDo2cHg7ZGlzcGxheTpmbGV4O2dhcDo2cHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9ue2ZvbnQtc2l6ZTouN3JlbTtwYWRkaW5nOjJweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLWZnLXByaW1hcnkpO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctaG92ZXIpfS5ub3RpZmljYXRpb24tYnViYmxlLWFjdGlvbnMgYnV0dG9uLnByaW1hcnl7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2NvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24ucHJpbWFyeTpob3ZlcntmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpfUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLXNsaWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoLTIwcHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLXNsaWRlLW91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKSB0cmFuc2xhdGVZKDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpIHRyYW5zbGF0ZVkoLTIwcHgpfX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbjpkaXNhYmxlZHtvcGFjaXR5Oi42O2N1cnNvcjpub3QtYWxsb3dlZDtmaWx0ZXI6bm9uZX0ubm90aWZpY2F0aW9uLWJ1YmJsZS1hY3Rpb25zIGJ1dHRvbi5zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcyk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyl9Lm5vdGlmaWNhdGlvbi1idWJibGUtYWN0aW9ucyBidXR0b24uc3VjY2Vzczpob3Zlcjpub3QoOmRpc2FibGVkKXtmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpfS5ub3RpZmljYXRpb24tYnViYmxlLnVwZGF0ZS1jYXJke3dpZHRoOm1pbigzNjBweCxjYWxjKDEwMHZ3IC0gMjRweCkpO21heC13aWR0aDptaW4oMzYwcHgsY2FsYygxMDB2dyAtIDI0cHgpKTttaW4td2lkdGg6MDtwYWRkaW5nOjE0cHggMTRweCAxMnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgxMjAlIDEyMCUgYXQgMCUgMCUsdmFyKC0tYWNjZW50LW11dGVkKSAwJSx0cmFuc3BhcmVudCA1NSUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYmctZWxldmF0ZWQpIDAlLHZhcigtLWJnLXByaW1hcnkpIDEwMCUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN0cm9uZyk7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteGwpLDAgMCAwIDFweCAjZmZmNiBpbnNldDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGV9LnVwZGF0ZS1jYXJkLXNoaW5le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMTVkZWcsdHJhbnNwYXJlbnQgMCUscmdiYSgyNTUsMjU1LDI1NSwuMTgpIDQ1JSxyZ2JhKDI1NSwyNTUsMjU1LC4zMikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE4KSA1NSUsdHJhbnNwYXJlbnQgMTAwJSk7YmFja2dyb3VuZC1zaXplOjIyMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEyMCUgMDttaXgtYmxlbmQtbW9kZTpvdmVybGF5O29wYWNpdHk6LjY1O2FuaW1hdGlvbjp1cGRhdGUtY2FyZC1zaGluZSA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTt6LWluZGV4OjB9QGtleWZyYW1lcyB1cGRhdGUtY2FyZC1zaGluZXswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEyMCUgMH01NSV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAlIDB9fS51cGRhdGUtY2FyZC5pcy1zdWNjZXNze2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KDEyMCUgMTIwJSBhdCAwJSAwJSx2YXIoLS1zdWNjZXNzLW11dGVkKSAwJSx0cmFuc3BhcmVudCA1NSUpLGxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYmctZWxldmF0ZWQpIDAlLHZhcigtLWJnLXByaW1hcnkpIDEwMCUpO2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy14bCksMCAwIDAgMXB4ICNmZmY2IGluc2V0LHZhcigtLXNoYWRvdy1nbG93LXN1Y2Nlc3MpfS51cGRhdGUtY2FyZC1oZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4fS51cGRhdGUtY2FyZC1pY29ue3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tYWNjZW50LWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY1OX0udXBkYXRlLWNhcmQuaXMtc3VjY2VzcyAudXBkYXRlLWNhcmQtaWNvbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tc3VjY2VzcykgMCUsdmFyKC0tc3VjY2Vzcy1ob3ZlcikgMTAwJSk7Ym94LXNoYWRvdzowIDRweCAxMnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyksaW5zZXQgMCAxcHggI2ZmZmZmZjU5fS51cGRhdGUtY2FyZC1oZWFkaW5ne2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnVwZGF0ZS1jYXJkLXRpdGxle2ZvbnQtc2l6ZTouODhyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LjAxZW07bGluZS1oZWlnaHQ6MS4yNX0udXBkYXRlLWNhcmQtc3VidGl0bGV7Zm9udC1zaXplOi43MnJlbTtjb2xvcjp2YXIoLS10ZXh0LXRlcnRpYXJ5KTtsaW5lLWhlaWdodDoxLjM1fS51cGRhdGUtY2FyZC1jbG9zZXtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzfS51cGRhdGUtY2FyZC1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS51cGRhdGUtY2FyZC12ZXJzaW9ue3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW46MTJweCAwIDEwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2ZsZXgtd3JhcDpub3dyYXB9LnVwZGF0ZS1jYXJkLXZlcnNpb24tY2hpcHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIHVpLW1vbm9zcGFjZSwgIlNGIE1vbm8iLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZSk7Zm9udC1zaXplOi43NHJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzozcHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1mdWxsKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO3doaXRlLXNwYWNlOm5vd3JhcH0udXBkYXRlLWNhcmQtdmVyc2lvbi1jdXJyZW50e2NvbG9yOnZhcigtLXRleHQtdGVydGlhcnkpO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS51cGRhdGUtY2FyZC12ZXJzaW9uLWxhdGVzdHtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMXB4IDZweCB2YXIoLS1hY2NlbnQtZ2xvdyl9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLXZlcnNpb24tbGF0ZXN0e2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpO2JveC1zaGFkb3c6MCAxcHggNnB4IHZhcigtLXN1Y2Nlc3MtZ2xvdyl9LnVwZGF0ZS1jYXJkLXZlcnNpb24tYXJyb3d7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7ZmxleC1zaHJpbms6MH0udXBkYXRlLWNhcmQtcHJvZ3Jlc3N7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDt0cmFuc2l0aW9uOmhlaWdodCAuMjVzIGVhc2UsbWFyZ2luIC4yNXMgZWFzZX0udXBkYXRlLWNhcmQtcHJvZ3Jlc3MuYWN0aXZle2hlaWdodDo2cHg7bWFyZ2luOjAgMCAxMHB4fS51cGRhdGUtY2FyZC1wcm9ncmVzcy10cmFja3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO292ZXJmbG93OmhpZGRlbn0udXBkYXRlLWNhcmQtcHJvZ3Jlc3MtZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0Oi00MCU7d2lkdGg6NDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLWFjY2VudCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgMCAxMHB4IHZhcigtLWFjY2VudC1nbG93KTthbmltYXRpb246dXBkYXRlLWNhcmQtcHJvZ3Jlc3Mtc3dlZXAgMS40cyBjdWJpYy1iZXppZXIoLjY1LC4wNSwuMzUsMSkgaW5maW5pdGV9QGtleWZyYW1lcyB1cGRhdGUtY2FyZC1wcm9ncmVzcy1zd2VlcHswJXtsZWZ0Oi00NSU7d2lkdGg6NDAlfTUwJXtsZWZ0OjI1JTt3aWR0aDo1NSV9dG97bGVmdDoxMDUlO3dpZHRoOjQwJX19LnVwZGF0ZS1jYXJkLXN0YXR1c3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7Zm9udC1zaXplOi43MnJlbTtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7bWFyZ2luLWJvdHRvbToxMHB4O2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpfS51cGRhdGUtY2FyZC1zdGF0dXMuZXJyb3J7YmFja2dyb3VuZDp2YXIoLS1kYW5nZXItbXV0ZWQpO2NvbG9yOnZhcigtLWRhbmdlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWRhbmdlcil9LnVwZGF0ZS1jYXJkLXN0YXR1cy5zdWNjZXNze2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Y29sb3I6dmFyKC0tc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfS51cGRhdGUtY2FyZC1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2dhcDo4cHh9LnVwZGF0ZS1jYXJkLWFjdGlvbntmb250LXNpemU6Ljc4cmVtO2ZvbnQtd2VpZ2h0OjYwMDtwYWRkaW5nOjdweCAxNnB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjEycyBlYXNlLGZpbHRlciAuMTVzIGVhc2UsYm94LXNoYWRvdyAuMTVzIGVhc2V9LnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudC1ob3ZlcikgMTAwJSk7Y29sb3I6I2ZmZjtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tYWNjZW50LWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0MH0udXBkYXRlLWNhcmQtYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCl7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDZweCAxNnB4IHZhcigtLWFjY2VudC1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNGR9LnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoOmRpc2FibGVkKXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtmaWx0ZXI6YnJpZ2h0bmVzcyguOTYpfS51cGRhdGUtY2FyZC1hY3Rpb246ZGlzYWJsZWR7b3BhY2l0eTouNztjdXJzb3I6cHJvZ3Jlc3M7ZmlsdGVyOm5vbmU7dHJhbnNmb3JtOm5vbmV9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZyx2YXIoLS1zdWNjZXNzKSAwJSx2YXIoLS1zdWNjZXNzLWhvdmVyKSAxMDAlKTtib3gtc2hhZG93OjAgNHB4IDEycHggdmFyKC0tc3VjY2Vzcy1nbG93KSxpbnNldCAwIDFweCAjZmZmZmZmNDB9LnVwZGF0ZS1jYXJkLmlzLXN1Y2Nlc3MgLnVwZGF0ZS1jYXJkLWFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe2JveC1zaGFkb3c6MCA2cHggMTZweCB2YXIoLS1zdWNjZXNzLWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0ZH0ucmVzdGFydC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo5OTk5OTtiYWNrZ3JvdW5kOiMwMDAwMDBhNjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2Ryb3AtZmlsdGVyOmJsdXIoNHB4KTthbmltYXRpb246cmVzdGFydC1mYWRlLWluIC4zcyBlYXNlfS5yZXN0YXJ0LW92ZXJsYXktY29udGVudHt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmfS5yZXN0YXJ0LXRpdGxle2ZvbnQtc2l6ZToxLjI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDttYXJnaW4tYm90dG9tOjhweH0ucmVzdGFydC1zdWJ0aXRsZXtmb250LXNpemU6LjlyZW07b3BhY2l0eTouOH0ucmVzdGFydC1zcGlubmVye3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWFyZ2luOjAgYXV0byAxNnB4O2JvcmRlcjozcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO2JvcmRlci10b3AtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246cmVzdGFydC1zcGluIC44cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyByZXN0YXJ0LXNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHJlc3RhcnQtZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0uZmlsZS1wcmV2aWV3LW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMwMDAwMDA4MDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FuaW1hdGlvbjpmYWRlLWluIC4xNXMgZWFzZX1Aa2V5ZnJhbWVzIGZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19LnNldHRpbmdzLW1vZGFse3dpZHRoOm1pbigxMDgwcHgsMTAwJSk7bWF4LXdpZHRoOjEwODBweDtoZWlnaHQ6bWluKDg4dmgsOTIwcHgpO21heC1oZWlnaHQ6bWluKDg4dmgsOTIwcHgpO21pbi1oZWlnaHQ6bWluKDg4dmgsOTIwcHgpO292ZXJmbG93OmhpZGRlbn0uc2V0dGluZ3MtbW9kYWwtaGVhZGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjE2cHg7cGFkZGluZy1ib3R0b206MTRweH0uc2V0dGluZ3MtbW9kYWwtdGl0bGUtZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O21pbi13aWR0aDowfS5zZXR0aW5ncy1tb2RhbC1zdWJ0aXRsZXtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0uc2V0dGluZ3MtbW9kYWwtYm9keXtwYWRkaW5nLXRvcDoxOHB4O2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zZXR0aW5ncy1sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyNjBweCBtaW5tYXgoMCwxZnIpO2dhcDoyMnB4O21pbi1oZWlnaHQ6MDtmbGV4OjEgMSBhdXRvO2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnNldHRpbmdzLWxheW91dD4qe21pbi1oZWlnaHQ6MH0uc2V0dGluZ3Mtc2lkZWJhcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxNHB4O21pbi13aWR0aDowO21pbi1oZWlnaHQ6MDtwYWRkaW5nLXJpZ2h0OjZweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO292ZXJmbG93OmhpZGRlbn0uc2V0dGluZ3Mtc2lkZWJhci1oZWFkZXIsLnNldHRpbmdzLXNpZGViYXItdGl0bGUsLnNldHRpbmdzLXNpZGViYXItaGludHtmbGV4LXNocmluazowfS5zZXR0aW5ncy1zaWRlYmFyLWhlYWRlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7cGFkZGluZzoycHggNHB4IDB9LnNldHRpbmdzLXNpZGViYXItdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LjAxZW19LnNldHRpbmdzLXNpZGViYXItaGludHtmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNX0uc2V0dGluZ3MtdGFic3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7bWFyZ2luOjA7cGFkZGluZzowIDEwcHggMCAwO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5zZXR0aW5ncy10YWJzOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo2cHg7aGVpZ2h0OjZweH0uc2V0dGluZ3MtdGFiczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDojOTY3NjU1Mzg7Ym9yZGVyLXJhZGl1czo5OTlweH0uc2V0dGluZ3MtdGFiczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojOTY3NjU1NWN9LnNldHRpbmdzLXRhYnN7c2Nyb2xsYmFyLXdpZHRoOnRoaW59LnNldHRpbmdzLXRhYntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjRweDt3aWR0aDoxMDAlO3BhZGRpbmc6MTJweCAxNHB4IDEycHggMTZweDtmb250LXNpemU6LjgxMjVyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtiYWNrZ3JvdW5kOiNmZmZmZmY4Yztib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTZweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmNvbG9yIC4xNXMsYm9yZGVyLWNvbG9yIC4xNXMsYmFja2dyb3VuZCAuMTVzLGJveC1zaGFkb3cgLjE1cyx0cmFuc2Zvcm0gLjE1czt0ZXh0LWFsaWduOmxlZnR9LnNldHRpbmdzLXRhYjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjEwcHg7Ym90dG9tOjEwcHg7d2lkdGg6M3B4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyBlYXNlfS5zZXR0aW5ncy10YWI6aG92ZXJ7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtiYWNrZ3JvdW5kOiNjNTY1M2QxNDtib3JkZXItY29sb3I6I2M1NjUzZDFmO3RyYW5zZm9ybTp0cmFuc2xhdGUoMnB4KX0uc2V0dGluZ3MtdGFiOmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LnNldHRpbmdzLXRhYi5hY3RpdmV7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6I2ZmZmZmZmIzO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmY2Y3ZWIsI2ZmZjRlOGI4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNHB4KSBzYXR1cmF0ZSgxODAlKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE0cHgpIHNhdHVyYXRlKDE4MCUpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNjNTY1M2QzOCxpbnNldCAwIDFweCAjZmZmZmZmZTYsaW5zZXQgMCAtMXB4ICNjNTY1M2QwZiwwIDRweCAxNHB4IC00cHggI2M1NjUzZDM4LDAgMXB4IDNweCAjN2Q1YjM5MGF9LnNldHRpbmdzLXRhYi5hY3RpdmU6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX0uc2V0dGluZ3MtdGFiLW1haW57Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOmluaGVyaXQ7bGluZS1oZWlnaHQ6MS4zfS5zZXR0aW5ncy10YWItbWV0YXtmb250LXNpemU6Ljc1cmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjQ1fS5zZXR0aW5ncy10YWIuYWN0aXZlIC5zZXR0aW5ncy10YWItbWV0YXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnNldHRpbmdzLWNvbnRlbnR7bWluLXdpZHRoOjA7bWluLWhlaWdodDowO2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG87cGFkZGluZy1yaWdodDo0cHh9LnNldHRpbmdzLXBhbmVse2Rpc3BsYXk6bm9uZTttaW4taGVpZ2h0OjEwMCU7cGFkZGluZzoycHggMnB4IDhweH0uc2V0dGluZ3MtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6OHB4fS5zZXR0aW5ncy1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5Njc2NTUzZDtib3JkZXItcmFkaXVzOjk5OXB4fS5zZXR0aW5ncy1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOiM5Njc2NTU2MX0uc2V0dGluZ3MtY29udGVudHtzY3JvbGxiYXItd2lkdGg6dGhpbn0uc2V0dGluZ3MtcGFuZWwuYWN0aXZle2Rpc3BsYXk6YmxvY2s7YW5pbWF0aW9uOmZhZGUtaW4gLjE4cyBlYXNlfS5zZXR0aW5ncy1wYW5lbC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4O21hcmdpbjowIDAgMTRweDtwYWRkaW5nLWJvdHRvbToxMnB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMil9LnNldHRpbmdzLXBhbmVsLXRpdGxle2ZvbnQtc2l6ZToxLjA2MjVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0uMDFlbX0uc2V0dGluZ3MtcGFuZWwtZGVzY3tmb250LXNpemU6LjgxMjVyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xpbmUtaGVpZ2h0OjEuNTV9LnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1zZWN0aW9uLXRpdGxle21hcmdpbi10b3A6MThweH0uc2V0dGluZ3MtcGFuZWw+LnNldHRpbmdzLXNlY3Rpb24tdGl0bGU6Zmlyc3Qtb2YtdHlwZXttYXJnaW4tdG9wOjB9LnNldHRpbmdzLXBhbmVsPi5maWVsZC1yb3csLnNldHRpbmdzLXBhbmVsPi5maWVsZCwuc2V0dGluZ3MtcGFuZWw+LmZpZWxkLWhpbnR7bWF4LXdpZHRoOjc2MHB4fS5zZXR0aW5ncy1wYW5lbD4uc3dpdGNoLWNhcmQtbGlzdCwuc2V0dGluZ3MtcGFuZWw+LnNldHRpbmdzLWNhcmQsLnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy11cGRhdGUtc2VjdGlvbiwuc2V0dGluZ3MtcGFuZWw+LnNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9uLC5zZXR0aW5ncy1wYW5lbD4jcHJlc2V0cy1saXN0e21heC13aWR0aDo4NjBweH0uc2V0dGluZ3MtcGFuZWw+LnNldHRpbmdzLWNhcmQrLnNldHRpbmdzLWNhcmQsLnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy11cGRhdGUtc2VjdGlvbisuc2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24sLnNldHRpbmdzLXBhbmVsPi5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbisuc2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb257bWFyZ2luLXRvcDoxNHB4fS5zZXR0aW5ncy1wYW5lbFtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnNldHRpbmdzLXBhbmVsLW1peGVkLWdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpO2dhcDoxNHB4fUBtZWRpYShtaW4td2lkdGg6OTYwcHgpey5zZXR0aW5ncy1wYW5lbC1taXhlZC1ncmlkLnR3by1jb2x1bW57Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfX1AbWVkaWEobWF4LXdpZHRoOjkwMHB4KXsuc2V0dGluZ3MtbGF5b3V0e2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMjBweCBtaW5tYXgoMCwxZnIpO2dhcDoxOHB4fX1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuc2V0dGluZ3MtbW9kYWx7d2lkdGg6bWluKDEwMCUsNzIwcHgpO2hlaWdodDptaW4oOTJ2aCw5MjBweCk7bWF4LWhlaWdodDptaW4oOTJ2aCw5MjBweCk7bWluLWhlaWdodDptaW4oOTJ2aCw5MjBweCl9LnNldHRpbmdzLW1vZGFsLWJvZHl7b3ZlcmZsb3cteTphdXRvfS5zZXR0aW5ncy1sYXlvdXR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcik7Z2FwOjE0cHg7ZmxleDowIDAgYXV0b30uc2V0dGluZ3Mtc2lkZWJhcntwYWRkaW5nLXJpZ2h0OjA7Ym9yZGVyLXJpZ2h0Om5vbmV9LnNldHRpbmdzLXRhYnN7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDpub3dyYXA7b3ZlcmZsb3cteDphdXRvO3Njcm9sbGJhci13aWR0aDpub25lO3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWJvdHRvbTo0cHh9LnNldHRpbmdzLXRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc2V0dGluZ3MtdGFie2ZsZXg6MCAwIDIwMHB4O21pbi1oZWlnaHQ6NzJweH0uc2V0dGluZ3MtdGFiOmhvdmVye3RyYW5zZm9ybTpub25lfS5zZXR0aW5ncy1jb250ZW50e292ZXJmbG93OnZpc2libGU7cGFkZGluZy1yaWdodDowfX1AbWVkaWEobWF4LXdpZHRoOjQ4MHB4KXsuc2V0dGluZ3MtdGFie2ZsZXgtYmFzaXM6MTgwcHg7cGFkZGluZzoxMHB4IDEycHggMTBweCAxNHB4fS5zZXR0aW5ncy10YWItbWFpbntmb250LXNpemU6LjgxMjVyZW19LnNldHRpbmdzLXRhYi1tZXRhe2ZvbnQtc2l6ZTouNjg3NXJlbX19LnNldHRpbmdzLXBhbmVsLWludHJve21hcmdpbjowIDAgMTRweDtwYWRkaW5nOjExcHggMTNweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1tZCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNjNTY1M2QxNCwjYzU2NTNkMDgpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxOTcsMTAxLDYxLC4xMik7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtc2l6ZTouNzVyZW07bGluZS1oZWlnaHQ6MS42fS5zZXR0aW5ncy1hYm91dC1pbmZve2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjA7bWFyZ2luLWJvdHRvbToxOHB4O2JhY2tncm91bmQ6I2ZmZmZmZjgwO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO3BhZGRpbmc6NHB4IDE2cHg7Ym94LXNoYWRvdzp2YXIoLS1zaGFkb3cteHMpfS5zZXR0aW5ncy1hYm91dC1yb3d7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTRweDtmb250LXNpemU6LjgxMjVyZW07cGFkZGluZzoxMnB4IDA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LnNldHRpbmdzLWFib3V0LXJvdzpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0uc2V0dGluZ3MtbGFiZWx7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMDtmbGV4OjAgMCAxMTJweH0uc2V0dGluZ3MtdmFsdWV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouOHJlbTttaW4td2lkdGg6MDt0ZXh0LWFsaWduOnJpZ2h0O3dvcmQtYnJlYWs6YnJlYWstd29yZH0uc2V0dGluZ3MtdmFsdWUgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfS5zZXR0aW5ncy12YWx1ZSBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LnNldHRpbmdzLXVwZGF0ZS1zZWN0aW9uLC5zZXR0aW5ncy1ub3RpZmljYXRpb24tc2VjdGlvbiwuc2V0dGluZ3MtY2FyZCwuc3dpdGNoLWNhcmQsLnByZXNldC1pdGVte2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKX0uc2V0dGluZ3MtdXBkYXRlLXNlY3Rpb24sLnNldHRpbmdzLW5vdGlmaWNhdGlvbi1zZWN0aW9ue21hcmdpbi10b3A6MTRweDtwYWRkaW5nOjE2cHg7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7YmFja2dyb3VuZDojZmZmZmZmN2F9LnNldHRpbmdzLXNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bWFyZ2luOjAgMCAxMnB4O2xldHRlci1zcGFjaW5nOi4wMWVtfS5zZXR0aW5ncy11cGRhdGUtYWN0aW9ucywuc2V0dGluZ3MtYWN0aW9uc3tkaXNwbGF5OmZsZXg7Z2FwOjEwcHg7ZmxleC13cmFwOndyYXA7bWFyZ2luLXRvcDoxMnB4fS5zZXR0aW5ncy1hY3Rpb25zLXN0aWNreXtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjA7cGFkZGluZy10b3A6MTZweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZmJmNTAwLCNmZmZiZjVmYSAyOHB4KTt6LWluZGV4OjE7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zZXR0aW5ncy1zdGF0dXMtbWVzc2FnZXttYXJnaW4tdG9wOjEwcHh9LnNldHRpbmdzLWlubGluZS1oaW50e21hcmdpbi10b3A6LTRweDttYXJnaW4tYm90dG9tOjEycHh9LnNldHRpbmdzLWNvbm5lY3QtdXJsLWJveHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2JhY2tncm91bmQ6I2ZmZmZmZmI4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTBweCAxMnB4O21hcmdpbi10b3A6NnB4fS5zZXR0aW5ncy1jb25uZWN0LXVybC10ZXh0e2ZsZXg6MTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7Zm9udC1zaXplOjEzcHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3b3JkLWJyZWFrOmJyZWFrLWFsbDt1c2VyLXNlbGVjdDphbGw7LXdlYmtpdC11c2VyLXNlbGVjdDphbGx9LnNldHRpbmdzLWNvbm5lY3QtcXItYm94e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi10b3A6MTRweH0uc2V0dGluZ3MtY29ubmVjdC1xci13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweDtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxNnB4O2JveC1zaGFkb3c6MCA0cHggMTJweCAjN2Q1YjM5MTQ7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE1cyBlYXNlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2V0dGluZ3MtY29ubmVjdC1xci13cmFwOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6MCA2cHggMTZweCAjN2Q1YjM5MWZ9LnNldHRpbmdzLWNvbm5lY3QtcXItd3JhcCBjYW52YXN7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LnNldHRpbmdzLWNvbm5lY3QtcXItZW1wdHl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO3BvaW50ZXItZXZlbnRzOm5vbmV9LnNldHRpbmdzLWNvbm5lY3QtcXItaGludHttYXJnaW46MDtmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dGV4dC1hbGlnbjpjZW50ZXI7bWF4LXdpZHRoOjI4MHB4fS5jb25uZWN0LXFyLW1vZGFsLW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7aW5zZXQ6MDtiYWNrZ3JvdW5kOiMxNDBlMDg4YztiYWNrZHJvcC1maWx0ZXI6Ymx1cig2cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoNnB4KTt6LWluZGV4Ojk5OTk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MjRweH0uY29ubmVjdC1xci1tb2RhbC1jYXJke2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNHB4O2JveC1zaGFkb3c6MCAyMHB4IDYwcHggIzAwMDAwMDU5fS5jb25uZWN0LXFyLW1vZGFsLWNhcmQgY2FudmFze2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czo4cHh9LmNvbm5lY3QtcXItbW9kYWwtaGludHttYXJnaW46MDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7dGV4dC1hbGlnbjpjZW50ZXJ9LnNldHRpbmdzLWRpdmlkZXJ7Ym9yZGVyOm5vbmU7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7bWFyZ2luOjE4cHggMH0uc2V0dGluZ3MtaGludHtmb250LXNpemU6LjhyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO21hcmdpbjowIDAgMTJweH0uZmllbGQtaW5saW5le2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmc6MTBweCAxMnB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiNmZmZmZmY2MTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4wOCl9LmZpZWxkLWlubGluZSAuZmllbGQtbGFiZWx7bWFyZ2luLWJvdHRvbTowfS5maWVsZC1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKTtnYXA6MTRweDttYXJnaW4tYm90dG9tOjE0cHh9LmZpZWxkLXJvdyAuZmllbGR7bWFyZ2luLWJvdHRvbTowfS5zZXR0aW5ncy1jYXJke2JhY2tncm91bmQ6I2ZmZmZmZjg1O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO3BhZGRpbmc6MThweDttYXJnaW4tYm90dG9tOjE0cHh9LnNldHRpbmdzLWNhcmQgLmZpZWxkOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjEycHh9LnNldHRpbmdzLWNhcmQgLnNldHRpbmdzLXNlY3Rpb24tdGl0bGV7bWFyZ2luLXRvcDowfS5zZXR0aW5ncy1jYXJkIC5maWVsZC1pbnB1dHtiYWNrZ3JvdW5kOiNmZmZmZmZiOH0uc2V0dGluZ3MtY2FyZCAuYnRuLWJsb2Nre21hcmdpbi1ib3R0b206MH0uc2V0dGluZ3MtcGFuZWwgLmJ0bi1ibG9ja3ttaW4taGVpZ2h0OjQ0cHh9LnNldHRpbmdzLXBhbmVsIC5oaW50LC5zZXR0aW5ncy1wYW5lbCAuZmllbGQtaGludHtsaW5lLWhlaWdodDoxLjU1fS5zZXR0aW5ncy1wYW5lbCBpbnB1dFt0eXBlPXJhbmdlXXt3aWR0aDoxMDAlfS5zZXR0aW5ncy1wYW5lbCBjb2Rle21heC13aWR0aDoxMDAlfS5zZXR0aW5ncy1wYW5lbCAuaGlkZGVuKy5oaW50e21hcmdpbi10b3A6MH0uc2V0dGluZ3MtcGFuZWwgLmZpZWxkOm5vdCguZmllbGQtaW5saW5lKXttYXJnaW4tYm90dG9tOjE2cHh9LnNldHRpbmdzLXBhbmVsIC5maWVsZC1pbnB1dCwuc2V0dGluZ3MtcGFuZWwgLmZpZWxkLXNlbGVjdCwuc2V0dGluZ3MtcGFuZWwgLmZpZWxkLWZpbGV7d2lkdGg6MTAwJX0uc2V0dGluZ3MtcGFuZWwgLmJ0bi1zbXttaW4taGVpZ2h0OjM0cHh9LnNldHRpbmdzLXBhbmVsIC5hcHAtaWNvbi1vcHRpb257ZmxleDoxIDEgMDttaW4td2lkdGg6MH0uc2V0dGluZ3MtcGFuZWwgLmFwcC1pY29uLXByZXZpZXd7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uc2V0dGluZ3MtcGFuZWwgLmVycm9yLW1lc3NhZ2UsLnNldHRpbmdzLXBhbmVsIC5oaW50LmhpZGRlbiwuc2V0dGluZ3MtcGFuZWwgLmVycm9yLW1lc3NhZ2UuaGlkZGVue21hcmdpbi10b3A6MTBweH0uc2V0dGluZ3MtcGFuZWwgI3ByZXNldHMtbGlzdDplbXB0eTpiZWZvcmV7Y29udGVudDoiXDUyYTBcOGY3ZFw0ZTJkLi4uIjtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MThweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6LjgxMjVyZW19QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LnNldHRpbmdzLWFib3V0LXJvd3thbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zZXR0aW5ncy11cGRhdGUtYWN0aW9ucywuc2V0dGluZ3MtYWN0aW9uc3tmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNldHRpbmdzLXVwZGF0ZS1hY3Rpb25zIC5idG4sLnNldHRpbmdzLWFjdGlvbnMgLmJ0bnt3aWR0aDoxMDAlfS5zZXR0aW5ncy1jb25uZWN0LXVybC1ib3h7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2h9fUBtZWRpYShtYXgtd2lkdGg6NjQwcHgpey5zZXR0aW5ncy1tb2RhbC1oZWFkZXJ7Z2FwOjEwcHh9LnNldHRpbmdzLW1vZGFsLXN1YnRpdGxle2ZvbnQtc2l6ZTouNjg3NXJlbX0uc2V0dGluZ3MtcGFuZWx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5zZXR0aW5ncy1hYm91dC1pbmZvLC5zZXR0aW5ncy11cGRhdGUtc2VjdGlvbiwuc2V0dGluZ3Mtbm90aWZpY2F0aW9uLXNlY3Rpb24sLnNldHRpbmdzLWNhcmR7cGFkZGluZy1sZWZ0OjE0cHg7cGFkZGluZy1yaWdodDoxNHB4fS5zZXR0aW5ncy1hYm91dC1yb3d7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjRweH0uc2V0dGluZ3MtbGFiZWwsLnNldHRpbmdzLXZhbHVle2ZsZXg6bm9uZTt0ZXh0LWFsaWduOmxlZnR9LmZpZWxkLWlubGluZXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zZXR0aW5ncy1wYW5lbCAuYnRuLWljb257bWluLXdpZHRoOjM0cHg7bWluLWhlaWdodDozNHB4fX1AbWVkaWEobWluLXdpZHRoOjc2OXB4KXsuc2V0dGluZ3MtcGFuZWwgLmJ0bi1ibG9ja3t3aWR0aDphdXRvO21pbi13aWR0aDoxODBweH19QHN1cHBvcnRzIG5vdCAocG9zaXRpb246IHN0aWNreSl7LnNldHRpbmdzLXRhYnMsLnNldHRpbmdzLWFjdGlvbnMtc3RpY2t5e3Bvc2l0aW9uOnN0YXRpY319LmVtcHR5LXN0YXRlLWNvbXBhY3R7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtwYWRkaW5nOjMycHggMTZweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjgxMjVyZW19LmVtcHR5LXN0YXRlLWNvbXBhY3QgLmVtcHR5LWljb257Zm9udC1zaXplOjEuNXJlbTtvcGFjaXR5Oi41fS5maWVsZC1jaGVja2JveHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2FjY2VudC1jb2xvcjp2YXIoLS1hY2NlbnQpO2N1cnNvcjpwb2ludGVyfS5zd2l0Y2gtY2FyZC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LnN3aXRjaC1jYXJke2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojZmZmZmZmODA7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MTRweDtwYWRkaW5nOjE0cHggMTZweDtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMnMsYmFja2dyb3VuZCAuMnMsdHJhbnNmb3JtIC4yczt1c2VyLXNlbGVjdDpub25lfS5zd2l0Y2gtY2FyZDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnN3aXRjaC1jYXJkLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4fS5zd2l0Y2gtY2FyZC10aXRsZXtmbGV4OjE7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5zd2l0Y2gtY2FyZC1kZXNje2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDowO21heC1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47b3BhY2l0eTowO3RyYW5zaXRpb246bWF4LWhlaWdodCAuMjVzIGVhc2Usb3BhY2l0eSAuMnMgZWFzZSxtYXJnaW4tdG9wIC4yNXMgZWFzZX0uc3dpdGNoLWNhcmQ6aGFzKC5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQpIC5zd2l0Y2gtY2FyZC1kZXNje21heC1oZWlnaHQ6NDBweDtvcGFjaXR5OjE7bWFyZ2luLXRvcDo4cHh9LnN3aXRjaC1jYXJkOmhhcyguc3dpdGNoLXRvZ2dsZTpjaGVja2VkKXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNiUsdmFyKC0tYmctc2Vjb25kYXJ5KSl9LnN3aXRjaC10b2dnbGV7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowO3dpZHRoOjA7aGVpZ2h0OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpdGNoLXNsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo0NHB4O2hlaWdodDoyNnB4O21pbi13aWR0aDo0NHB4O2JvcmRlci1yYWRpdXM6MTNweDtiYWNrZ3JvdW5kOiM3ZDViMzkzODtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCAjN2Q1YjM5MmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4yMnMgZWFzZSxib3gtc2hhZG93IC4yMnMgZWFzZTtjdXJzb3I6cG9pbnRlcn0uc3dpdGNoLXNsaWRlcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7bGVmdDoycHg7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzowIDJweCA0cHggIzE0MGUwODJlLDAgMCAwIC41cHggIzdkNWIzOTBmO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpfS5zd2l0Y2gtdG9nZ2xlOmNoZWNrZWQrLnN3aXRjaC1zbGlkZXJ7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4ICMwMDAwMDAxYX0uc3dpdGNoLXRvZ2dsZTpjaGVja2VkKy5zd2l0Y2gtc2xpZGVyOmFmdGVye3RyYW5zZm9ybTp0cmFuc2xhdGUoMThweCl9LnN3aXRjaC10b2dnbGU6Zm9jdXMtdmlzaWJsZSsuc3dpdGNoLXNsaWRlcntvdXRsaW5lOjJweCBzb2xpZCB2YXIoLS1hY2NlbnQpO291dGxpbmUtb2Zmc2V0OjJweH0uZmllbGQtZmlsZXtmb250LXNpemU6LjhyZW07cGFkZGluZzo2cHh9LnByZXNldC1pdGVte2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE0cHg7YmFja2dyb3VuZDojZmZmZmZmODU7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtib3JkZXItcmFkaXVzOjEycHg7bWFyZ2luLWJvdHRvbToxMHB4O2ZvbnQtc2l6ZTouODEyNXJlbX0ucHJlc2V0LWxhYmVse2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS5wcmVzZXQtZGV0YWlse21pbi13aWR0aDowO3RleHQtYWxpZ246cmlnaHQ7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi43NXJlbTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnByZXNldC1pdGVte2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5wcmVzZXQtZGV0YWlse3RleHQtYWxpZ246bGVmdH19LmZpbGUtcHJldmlldy1tb2RhbHt3aWR0aDptaW4oOTB2dyxtYXgoNjQwcHgsY2FsYygxMDB2dyAtIDM4MHB4KSkpO21heC13aWR0aDoxMDAwcHg7aGVpZ2h0Ojgwdmg7bWF4LWhlaWdodDo4NXZoO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtbGcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3gtc2hhZG93OjAgMjBweCA2MHB4ICMwMDAwMDA0ZDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO292ZXJmbG93OmhpZGRlbjthbmltYXRpb246bW9kYWwtc2xpZGUtaW4gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpfUBrZXlmcmFtZXMgbW9kYWwtc2xpZGUtaW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19QG1lZGlhKG1heC13aWR0aDo3NjhweCl7LmZpbGUtcHJldmlldy1vdmVybGF5e3BhZGRpbmc6MDthbGlnbi1pdGVtczpzdHJldGNoO2p1c3RpZnktY29udGVudDpzdHJldGNoO3RvcDp2YXIoLS1hcHAtdmlld3BvcnQtdG9wLCAwcHgpO2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpfS5maWxlLXByZXZpZXctbW9kYWx7d2lkdGg6MTAwdnc7bWF4LXdpZHRoOjEwMHZ3O2hlaWdodDp2YXIoLS1hcHAtdmlld3BvcnQtaGVpZ2h0LCAxMDBkdmgpO21heC1oZWlnaHQ6dmFyKC0tYXBwLXZpZXdwb3J0LWhlaWdodCwgMTAwZHZoKTtib3JkZXItcmFkaXVzOjA7Ym9yZGVyOm5vbmU7Ym94LXNoYWRvdzpub25lO2FuaW1hdGlvbjpmYWRlLWluIC4xOHMgZWFzZX0uZmlsZS1wcmV2aWV3LWhlYWRlcntwYWRkaW5nOjEwcHggMTJweDtnYXA6OHB4O3BhZGRpbmctdG9wOm1heCgxMHB4LGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7cGFkZGluZy1sZWZ0Om1heCgxMnB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO3BhZGRpbmctcmlnaHQ6bWF4KDEycHgsZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpfS5maWxlLXByZXZpZXctdGl0bGV7Zm9udC1zaXplOi44NzVyZW07Z2FwOjZweDttaW4td2lkdGg6MDtmbGV4OjF9LmZpbGUtcHJldmlldy1maWxlbmFtZXttYXgtd2lkdGg6MTAwJX0uZmlsZS1wcmV2aWV3LXBhdGh7ZGlzcGxheTpub25lfS5maWxlLXByZXZpZXctdG9vbGJhcntnYXA6NHB4O2ZsZXgtc2hyaW5rOjB9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bntwYWRkaW5nOjAgNnB4O2ZvbnQtc2l6ZTouNzVyZW19LmZpbGUtcHJldmlldy1jbG9zZXt3aWR0aDozNHB4O2hlaWdodDozNHB4O3BhZGRpbmc6MH0uZmlsZS1wcmV2aWV3LWljb257Zm9udC1zaXplOjEuMTI1cmVtfS5maWxlLXByZXZpZXctYm9keXtwYWRkaW5nLWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSl9fS5maWxlLXByZXZpZXctaGVhZGVye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzoxMnB4IDE4cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2ZsZXgtc2hyaW5rOjB9LmZpbGUtcHJldmlldy10aXRsZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4OjE7bWluLXdpZHRoOjB9LmZpbGUtcHJldmlldy1pY29ue2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjE7ZmxleC1zaHJpbms6MH0uZmlsZS1wcmV2aWV3LW5hbWUtYmxvY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21pbi13aWR0aDowO2ZsZXg6MX0uZmlsZS1wcmV2aWV3LW5hbWUtcm93e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtnYXA6OHB4O21pbi13aWR0aDowfS5maWxlLXByZXZpZXctZmlsZW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouOTM3NXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsZXR0ZXItc3BhY2luZzouMDFlbTttaW4td2lkdGg6MH0uZmlsZS1wcmV2aWV3LXBhdGh7Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO21pbi13aWR0aDowO29wYWNpdHk6Ljh9LmZpbGUtcHJldmlldy1kaXJ0eXtmb250LXNpemU6LjY4NzVyZW07Y29sb3I6I2M2NmExYTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAyZW07ZmxleC1zaHJpbms6MDtwYWRkaW5nOjFweCA4cHg7YmFja2dyb3VuZDojYzY2YTFhMWE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5OCwxMDYsMjYsLjI1KTtib3JkZXItcmFkaXVzOjk5OXB4O2FuaW1hdGlvbjpkaXJ0eS1wdWxzZSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgZGlydHktcHVsc2V7MCUsdG97b3BhY2l0eTouNjV9NTAle29wYWNpdHk6MX19LmZpbGUtcHJldmlldy1sYW5ne2ZvbnQtc2l6ZTouNjg3NXJlbTtmb250LXdlaWdodDo2MDA7cGFkZGluZzoycHggOHB4O2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQtbXV0ZWQpO2NvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDIxMiwxNTIsOTksLjMpO2xldHRlci1zcGFjaW5nOi4wNGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmbGV4LXNocmluazowO2FsaWduLXNlbGY6Y2VudGVyfS5maWxlLXByZXZpZXctY2xvc2V7YmFja2dyb3VuZDpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo4cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cyxjb2xvciAuMTVzLGJvcmRlci1jb2xvciAuMTVzLHRyYW5zZm9ybSAuMTVzO2xpbmUtaGVpZ2h0OjE7ZmxleC1zaHJpbms6MH0uZmlsZS1wcmV2aWV3LWNsb3NlOmhvdmVye2JhY2tncm91bmQ6I2RjNDY0NjE0O2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym9yZGVyLWNvbG9yOiNkYzQ2NDY0MH0uZmlsZS1wcmV2aWV3LWNsb3NlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk0KX0uZmlsZS1wcmV2aWV3LWJvZHl7ZmxleDoxO292ZXJmbG93OmF1dG87bWluLWhlaWdodDowO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCkgdHJhbnNwYXJlbnR9LmZpbGUtcHJldmlldy1ib2R5Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHg7aGVpZ2h0OjhweH0uZmlsZS1wcmV2aWV3LWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmZpbGUtcHJldmlldy1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjRweH0uZmlsZS1wcmV2aWV3LWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCl9LmZpbGUtcHJldmlldy1ib2R5Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uY29kZS1wcmV2aWV3LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtzY3JvbGxiYXItd2lkdGg6dGhpbjtzY3JvbGxiYXItY29sb3I6dmFyKC0tYm9yZGVyLWRlZmF1bHQpIHRyYW5zcGFyZW50fS5jb2RlLXByZXZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6OHB4O2hlaWdodDo4cHh9LmNvZGUtcHJldmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5jb2RlLXByZXZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZDp2YXIoLS1ib3JkZXItZGVmYXVsdCk7Ym9yZGVyLXJhZGl1czo0cHh9LmNvZGUtcHJldmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLXRleHQtbXV0ZWQpfS5jb2RlLXByZXZpZXctbGluZXN7cGFkZGluZzoxNnB4IDEycHggMTZweCAxNnB4O3RleHQtYWxpZ246cmlnaHQ7dXNlci1zZWxlY3Q6bm9uZTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtc20pO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0KTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3dpZHRoOjUycHg7bWF4LXdpZHRoOjUycHg7ZmxleC1zaHJpbms6MDtvdmVyZmxvdzpoaWRkZW59LmNvZGUtcHJldmlldy1jb250ZW50e2ZsZXg6MTttaW4td2lkdGg6MDt3aWR0aDoxMDAlO3BhZGRpbmc6MTZweCAyMHB4O292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmF1dG99LmNvZGUtcHJldmlldy1jb250ZW50IHByZXttYXJnaW46MDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtc20pO2xpbmUtaGVpZ2h0OnZhcigtLWxpbmUtaGVpZ2h0KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO3doaXRlLXNwYWNlOnByZTt3b3JkLWJyZWFrOm5vcm1hbDtvdmVyZmxvdy13cmFwOm5vcm1hbH0uc3ludGF4LWtleXdvcmR7Y29sb3I6I2M2NzhkZH0uc3ludGF4LXN0cmluZ3tjb2xvcjojOThjMzc5fS5zeW50YXgtbnVtYmVye2NvbG9yOiNkMTlhNjZ9LnN5bnRheC1jb21tZW50e2NvbG9yOiM1YzYzNzA7Zm9udC1zdHlsZTppdGFsaWN9LnN5bnRheC1mdW5jdGlvbntjb2xvcjojNjFhZmVmfS5zeW50YXgtdmFyaWFibGV7Y29sb3I6I2UwNmM3NX0uc3ludGF4LW9wZXJhdG9ye2NvbG9yOiM1NmI2YzJ9LnN5bnRheC10eXBle2NvbG9yOiNlNWMwN2J9LnN5bnRheC1wcm9wZXJ0eSwuc3ludGF4LXRhZ3tjb2xvcjojZTA2Yzc1fS5zeW50YXgtYXR0cntjb2xvcjojZDE5YTY2fS5zeW50YXgtbWV0YXtjb2xvcjojNTZiNmMyfS5zeW50YXgtcHVuY3R1YXRpb257Y29sb3I6I2FiYjJiZn0uc3ludGF4LWNvbnN0YW50e2NvbG9yOiNkMTlhNjZ9LnN5bnRheC1idWlsdF9pbntjb2xvcjojNTZiNmMyfS5zeW50YXgtdGl0bGV7Y29sb3I6IzYxYWZlZn0uc3ludGF4LXBhcmFtc3tjb2xvcjojZDE5YTY2fS5zeW50YXgtcmVnZXhwe2NvbG9yOiM5OGMzNzl9LnN5bnRheC1zZWN0aW9ue2NvbG9yOiM2MWFmZWY7Zm9udC13ZWlnaHQ6NzAwfS5zeW50YXgtc2VsZWN0b3J7Y29sb3I6I2M2NzhkZH0uc3ludGF4LWRlbGV0aW9ue2NvbG9yOiNlMDZjNzU7YmFja2dyb3VuZDojZTA2Yzc1MWF9LnN5bnRheC1hZGRpdGlvbntjb2xvcjojOThjMzc5O2JhY2tncm91bmQ6Izk4YzM3OTFhfS5tYXJrZG93bi1wcmV2aWV3e3BhZGRpbmc6MjBweCAyOHB4O2xpbmUtaGVpZ2h0OjEuNztmb250LXNpemU6LjkzNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ubWFya2Rvd24tcHJldmlldyBoMSwubWFya2Rvd24tcHJldmlldyBoMiwubWFya2Rvd24tcHJldmlldyBoMywubWFya2Rvd24tcHJldmlldyBoNCwubWFya2Rvd24tcHJldmlldyBoNSwubWFya2Rvd24tcHJldmlldyBoNnttYXJnaW4tdG9wOjEuNWVtO21hcmdpbi1ib3R0b206LjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS4zO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSl9Lm1hcmtkb3duLXByZXZpZXcgaDF7Zm9udC1zaXplOjEuNzVyZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nLWJvdHRvbTouM2VtfS5tYXJrZG93bi1wcmV2aWV3IGgye2ZvbnQtc2l6ZToxLjM3NXJlbTtib3JkZXItYm90dG9tOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO3BhZGRpbmctYm90dG9tOi4zZW19Lm1hcmtkb3duLXByZXZpZXcgaDN7Zm9udC1zaXplOjEuMTI1cmVtfS5tYXJrZG93bi1wcmV2aWV3IGg0e2ZvbnQtc2l6ZToxcmVtfS5tYXJrZG93bi1wcmV2aWV3IHB7bWFyZ2luOi43NWVtIDB9Lm1hcmtkb3duLXByZXZpZXcgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfS5tYXJrZG93bi1wcmV2aWV3IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubWFya2Rvd24tcHJldmlldyBjb2Rle2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpO3BhZGRpbmc6MnB4IDZweDtib3JkZXItcmFkaXVzOjNweDtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouODc1ZW07Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfS5tYXJrZG93bi1wcmV2aWV3IHByZXtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLW1kKTtwYWRkaW5nOjE2cHg7b3ZlcmZsb3cteDphdXRvO21hcmdpbjoxZW0gMH0ubWFya2Rvd24tcHJldmlldyBwcmUgY29kZXtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2ZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtc20pfS5tYXJrZG93bi1wcmV2aWV3IGJsb2NrcXVvdGV7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkIHZhcigtLWFjY2VudCk7bWFyZ2luOjFlbSAwO3BhZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOjAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDB9Lm1hcmtkb3duLXByZXZpZXcgdWwsLm1hcmtkb3duLXByZXZpZXcgb2x7cGFkZGluZy1sZWZ0OjEuNWVtO21hcmdpbjouNzVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IGxpe21hcmdpbjouMjVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IHRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTt3aWR0aDoxMDAlO21hcmdpbjoxZW0gMDtmb250LXNpemU6Ljg3NXJlbX0ubWFya2Rvd24tcHJldmlldyB0aCwubWFya2Rvd24tcHJldmlldyB0ZHtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7cGFkZGluZzo4cHggMTJweDt0ZXh0LWFsaWduOmxlZnR9Lm1hcmtkb3duLXByZXZpZXcgdGh7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjYwMH0ubWFya2Rvd24tcHJldmlldyB0cjpudGgtY2hpbGQoMm4pe2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KX0ubWFya2Rvd24tcHJldmlldyBocntib3JkZXI6bm9uZTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO21hcmdpbjoxLjVlbSAwfS5tYXJrZG93bi1wcmV2aWV3IGltZ3ttYXgtd2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSl9LmZpbGUtcHJldmlldy1sb2FkaW5ne2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljg3NXJlbTtnYXA6MTBweH0uZmlsZS1wcmV2aWV3LWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXI6MnB4IHNvbGlkIHZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItdG9wLWNvbG9yOnZhcigtLWFjY2VudCk7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnByZXZpZXctc3BpbiAuN3MgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgcHJldmlldy1zcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmZpbGUtcHJldmlldy1lcnJvcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDoxMDAlO2dhcDo4cHg7Y29sb3I6dmFyKC0tZGFuZ2VyKTtmb250LXNpemU6Ljg3NXJlbTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjIwcHh9LmZpbGUtcHJldmlldy1lcnJvciAucHJldmlldy1lcnJvci1pY29ue2ZvbnQtc2l6ZToycmVtO29wYWNpdHk6LjV9LmZpbGUtcHJldmlldy1iaW5hcnl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJTtnYXA6MTJweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljg3NXJlbX0uZmlsZS1wcmV2aWV3LWJpbmFyeS1pY29ue2ZvbnQtc2l6ZTozcmVtO29wYWNpdHk6LjR9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV17Y3Vyc29yOnBvaW50ZXJ9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy1ob3Zlcil9LnRyZWUtaXRlbVtkYXRhLXR5cGU9ZmlsZV06aG92ZXIgLnRyZWUtbmFtZXtjb2xvcjp2YXIoLS1hY2NlbnQpfS5maWxlLWV4cGxvcmVyLXVwe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7ZmxleC1zaHJpbms6MH0uZmlsZS1leHBsb3Jlci11cDpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX0uZmlsZS1leHBsb3Jlci11cDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCl9LnRyZWUtbWV0YXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7bWFyZ2luLWxlZnQ6NnB4O3BhZGRpbmctbGVmdDo2cHg7bWF4LXdpZHRoOjcwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO29wYWNpdHk6Ljg1fS50cmVlLWl0ZW06aG92ZXIgLnRyZWUtbWV0YXtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnRyZWUtdHJ1bmNhdGVke3BhZGRpbmc6OHB4IDE0cHg7bWFyZ2luOjRweCA2cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSk7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjZweDt0ZXh0LWFsaWduOmNlbnRlcn0uZmlsZS1jb250ZXh0LW1lbnV7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMTAwO21pbi13aWR0aDoyMDBweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEwcHg7Ym94LXNoYWRvdzowIDEycHggMzZweCAjMDAwMDAwMmU7YW5pbWF0aW9uOmN0eC1mYWRlLWluIC4xMnMgZWFzZX1Aa2V5ZnJhbWVzIGN0eC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KSBzY2FsZSguOTgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSgxKX19LmZpbGUtY29udGV4dC1tZW51LWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDt3aWR0aDoxMDAlO3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2ZvbnQtc2l6ZTouODEyNXJlbTt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xMnN9LmZpbGUtY29udGV4dC1tZW51LWl0ZW06aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZy10ZXJ0aWFyeSl9LmZpbGUtY29udGV4dC1tZW51LWl0ZW0gLmN0eC1pY29ue3dpZHRoOjE4cHg7dGV4dC1hbGlnbjpjZW50ZXI7b3BhY2l0eTouODV9LndhbmQtbWluaS10b2FzdHtwb3NpdGlvbjpmaXhlZDt0b3A6MzBweDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTE0cHgpO3otaW5kZXg6MTIwMDtwYWRkaW5nOjhweCAxNnB4O2JhY2tncm91bmQ6IzE0MTQxNGViO2NvbG9yOiNmZmY7Zm9udC1zaXplOi44MTI1cmVtO2JvcmRlci1yYWRpdXM6OTk5cHg7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZTtwb2ludGVyLWV2ZW50czpub25lfS53YW5kLW1pbmktdG9hc3Quc2hvd3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX0uZmlsZS1wcmV2aWV3LXRvb2xiYXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWxlZnQ6OHB4fS5maWxlLXByZXZpZXctdG9vbGJhci1idG57YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MCA4cHg7bWluLXdpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Z2FwOjZweDtib3JkZXItcmFkaXVzOjhweDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOi43NXJlbTtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGNvbG9yIC4xNXMsYm9yZGVyLWNvbG9yIC4xNXMsYm94LXNoYWRvdyAuMTVzLHRyYW5zZm9ybSAuMXN9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpO2JveC1zaGFkb3c6MCAxcHggM3B4ICMwMDAwMDAwYX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkO3RyYW5zZm9ybTpub25lfS5maWxlLXByZXZpZXctdG9vbGJhci1idG4gLnRvb2xiYXItaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5maWxlLXByZXZpZXctdG9vbGJhci1idG4gLnRvb2xiYXItdGV4dHtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW19LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bi50b29sYmFyLWFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Y29sb3I6dmFyKC0tYWNjZW50KTtib3JkZXItY29sb3I6I2Q0OTg2MzY2fS5maWxlLXByZXZpZXctdG9vbGJhci1idG4ucHJpbWFyeXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtib3gtc2hhZG93OjAgMXB4IDJweCAjNTkzYTIwMjZ9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0bi5wcmltYXJ5OmhvdmVye2JhY2tncm91bmQ6I2I4N2E0Nztib3JkZXItY29sb3I6I2I4N2E0Nztjb2xvcjojZmZmO2JveC1zaGFkb3c6MCAycHggNnB4ICM1OTNhMjAzM30uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuLmRhbmdlcntjb2xvcjojYzAzOTJifS5maWxlLXByZXZpZXctdG9vbGJhci1idG4uZGFuZ2VyOmhvdmVye2JhY2tncm91bmQ6I2RjNDY0NjE0O2JvcmRlci1jb2xvcjojZGM0NjQ2NGQ7Y29sb3I6I2EwMjgxOH0uZmlsZS1wcmV2aWV3LXRvb2xiYXItZ3JvdXB7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpzdHJldGNoO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmZpbGUtcHJldmlldy10b29sYmFyLWdyb3VwIC5maWxlLXByZXZpZXctdG9vbGJhci1idG57Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWluLXdpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym94LXNoYWRvdzpub25lfS5maWxlLXByZXZpZXctdG9vbGJhci1ncm91cCAuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5maWxlLXByZXZpZXctdG9vbGJhci1ncm91cGxhYmVse2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDZweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtib3JkZXItbGVmdDoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9LmZpbGUtcHJldmlldy10b29sYmFyLmVkaXRpbmd7Z2FwOjZweH1AbWVkaWEobWF4LXdpZHRoOjc2OHB4KXsuZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRue2hlaWdodDoyOHB4O21pbi13aWR0aDoyOHB4O3BhZGRpbmc6MCA2cHh9LmZpbGUtcHJldmlldy10b29sYmFyLWJ0biAudG9vbGJhci10ZXh0e2Rpc3BsYXk6bm9uZX0uZmlsZS1wcmV2aWV3LXRvb2xiYXItYnRuLnByaW1hcnkgLnRvb2xiYXItdGV4dHtkaXNwbGF5OmlubGluZS1mbGV4fX0ud2FuZC1pY29ue2ZsZXgtc2hyaW5rOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5jb2RlLXByZXZpZXctY29udGVudCBwcmUud3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmZpbGUtcHJldmlldy1ib2R5LmVkaXRpbmd7cGFkZGluZzowO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmNvZGUtZWRpdG9yLXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDowO2JhY2tncm91bmQ6dmFyKC0tYmctcHJpbWFyeSl9LmNvZGUtZWRpdG9yLXRleHRhcmVhe2ZsZXg6MTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4IDIwcHg7bWFyZ2luOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO3Jlc2l6ZTpub25lO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOnZhcigtLWZvbnQtc2l6ZS1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tbGluZS1oZWlnaHQpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7YmFja2dyb3VuZDp2YXIoLS1iZy1wcmltYXJ5KTt0YWItc2l6ZToyOy1tb3otdGFiLXNpemU6Mjt3aGl0ZS1zcGFjZTpwcmU7b3ZlcmZsb3c6YXV0bztjYXJldC1jb2xvcjp2YXIoLS1hY2NlbnQpO3Njcm9sbGJhci13aWR0aDp0aGluO3Njcm9sbGJhci1jb2xvcjp2YXIoLS1ib3JkZXItZGVmYXVsdCkgdHJhbnNwYXJlbnR9LmNvZGUtZWRpdG9yLXRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo4cHg7aGVpZ2h0OjhweH0uY29kZS1lZGl0b3ItdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9LmNvZGUtZWRpdG9yLXRleHRhcmVhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOnZhcigtLWJvcmRlci1kZWZhdWx0KTtib3JkZXItcmFkaXVzOjRweH0uY29kZS1lZGl0b3ItdGV4dGFyZWE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQ6dmFyKC0tdGV4dC1tdXRlZCl9LmNvZGUtZWRpdG9yLXRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICNkNDk4NjMyNn0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1pbWFnZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgwLDAsMCwuMDQpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNzUlLHJnYmEoMCwwLDAsLjA0KSA3NSUpLGxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDAsMCwwLC4wNCkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA3NSUscmdiYSgwLDAsMCwuMDQpIDc1JSksdmFyKC0tYmctcHJpbWFyeSk7YmFja2dyb3VuZC1zaXplOjE2cHggMTZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMCw4cHggOHB4fS5pbWFnZS1wcmV2aWV3LXdyYXBwZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjE2cHh9LmltYWdlLXByZXZpZXctaW1ne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47Y3Vyc29yOnpvb20taW47dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGVhc2U7Ym94LXNoYWRvdzowIDZweCAyMHB4ICMwMDAwMDAxZjtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmZ9LmltYWdlLXByZXZpZXctaW1nLnpvb21lZHttYXgtd2lkdGg6bm9uZTttYXgtaGVpZ2h0Om5vbmU7Y3Vyc29yOnpvb20tb3V0O3RyYW5zZm9ybTpzY2FsZSgxKX0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1wZGZ7cGFkZGluZzowO2JhY2tncm91bmQ6dmFyKC0tYmctc2Vjb25kYXJ5KX0ucGRmLXByZXZpZXctZnJhbWV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtdmlkZW8sLmZpbGUtcHJldmlldy1ib2R5LmtpbmQtYXVkaW97ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQ6IzBkMGQwZH0uZmlsZS1wcmV2aWV3LWJvZHkua2luZC1hdWRpb3tiYWNrZ3JvdW5kOnZhcigtLWJnLXNlY29uZGFyeSl9Lm1lZGlhLXByZXZpZXctd3JhcHBlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7cGFkZGluZzoyNHB4fS5tZWRpYS1wcmV2aWV3LXZpZGVve21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gNDBweCk7YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6NHB4fS5tZWRpYS1wcmV2aWV3LWF1ZGlve3dpZHRoOm1pbig0MjBweCw5MCUpfS5tZWRpYS1wcmV2aWV3LWljb257Zm9udC1zaXplOjMuNXJlbTtvcGFjaXR5Oi43fS5tZWRpYS1wcmV2aWV3LW5hbWV7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjFyZW07bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5tZWRpYS1wcmV2aWV3LW1ldGF7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NXJlbTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXN9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtdmlkZW8gLm1lZGlhLXByZXZpZXctbWV0YXtjb2xvcjojZmZmZmZmYjN9LmZpbGUtcHJldmlldy1ib2R5LmtpbmQtYmluYXJ5e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uYmluYXJ5LXByZXZpZXctY2FyZHttYXgtd2lkdGg6NDgwcHg7cGFkZGluZzozMnB4IDI4cHg7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDp2YXIoLS1iZy1zZWNvbmRhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1sZyk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LmJpbmFyeS1wcmV2aWV3LWljb257Zm9udC1zaXplOjNyZW07b3BhY2l0eTouNn0uYmluYXJ5LXByZXZpZXctbmFtZXtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXNpemU6MXJlbTt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYmluYXJ5LXByZXZpZXctbWV0YXtkaXNwbGF5OmZsZXg7Z2FwOjZweDthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Zm9udC1zaXplOi43NXJlbX0uYmluYXJ5LXByZXZpZXctcGF0aHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTouNzVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5iaW5hcnktcHJldmlldy1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtnYXA6OHB4O21hcmdpbi10b3A6OHB4O2ZsZXgtd3JhcDp3cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmJpbmFyeS1wcmV2aWV3LWJ0bntwYWRkaW5nOjhweCAxNnB4O2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtiYWNrZ3JvdW5kOnZhcigtLWJnLXByaW1hcnkpO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOi44MTI1cmVtO2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLGJvcmRlci1jb2xvciAuMTVzLGNvbG9yIC4xNXN9LmJpbmFyeS1wcmV2aWV3LWJ0bjpob3ZlcntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudC1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Y29sb3I6dmFyKC0tYWNjZW50KX1Aa2V5ZnJhbWVzIHNrZWxldG9uLXNoaW1tZXJ7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjoyMDAlIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJSAwfX1Aa2V5ZnJhbWVzIGZhZGVJblNjYWxlezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk1KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tUmlnaHR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMjBweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9fUBrZXlmcmFtZXMgc2xpZGVJbkZyb21MZWZ0ezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC0yMHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX19QGtleWZyYW1lcyBwdWxzZUdsb3d7MCUsdG97Ym94LXNoYWRvdzowIDAgI2M1NjUzZDY2fTUwJXtib3gtc2hhZG93OjAgMCAwIDhweCAjYzU2NTNkMDB9fS5hbmltYXRlLWZhZGUtaW4tc2NhbGV7YW5pbWF0aW9uOmZhZGVJblNjYWxlIC4zcyB2YXIoLS1lYXNlLW91dC1iYWNrKX0uYW5pbWF0ZS1zbGlkZS1yaWdodHthbmltYXRpb246c2xpZGVJbkZyb21SaWdodCAuMzVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5hbmltYXRlLXNsaWRlLWxlZnR7YW5pbWF0aW9uOnNsaWRlSW5Gcm9tTGVmdCAuMzVzIHZhcigtLWVhc2Utb3V0LWV4cG8pfS5hbmltYXRlLXB1bHNlLWdsb3d7YW5pbWF0aW9uOnB1bHNlR2xvdyAycyBlYXNlLWluLW91dCBpbmZpbml0ZX0udHJlZS1pdGVte3RyYW5zaXRpb246YWxsIC4ycyB2YXIoLS1lYXNlLW91dC1leHBvKX0udHJlZS1pdGVtOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4KX0udHJlZS1pdGVtOmFjdGl2ZXt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCkgc2NhbGUoLjk5KX1Aa2V5ZnJhbWVzIHJpcHBsZS1lZmZlY3R7dG97dHJhbnNmb3JtOnNjYWxlKDQpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzdWNjZXNzUG9wezAle3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjIpfXRve3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZXJyb3JTaGFrZXswJSx0b3t0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNHB4KX0yMCUsNDAlLDYwJSw4MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgpfX0uYW5pbWF0ZS1zdWNjZXNze2FuaW1hdGlvbjpzdWNjZXNzUG9wIC40cyB2YXIoLS1lYXNlLXNwcmluZyl9LmFuaW1hdGUtZXJyb3J7YW5pbWF0aW9uOmVycm9yU2hha2UgLjVzIGVhc2V9LmZpbGUtc2lkZS1wYW5lbHt0cmFuc2l0aW9uOnJpZ2h0IC4zNXMgdmFyKC0tZWFzZS1vdXQtZXhwbyksYm94LXNoYWRvdyAuMzVzIGVhc2V9LmZpbGUtc2lkZS1wYW5lbC5vcGVue2JveC1zaGFkb3c6LThweCAwIDMycHggIzU5M2EyMDFmfUBrZXlmcmFtZXMgc2hpbW1lcnswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDAwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMDBweCAwfX0uYnRuLWdsb3Nze3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uYnRuLWdsb3NzOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOi01MCU7bGVmdDotNTAlO3dpZHRoOjIwMCU7aGVpZ2h0OjIwMCU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsdHJhbnNwYXJlbnQgMzAlLHJnYmEoMjU1LDI1NSwyNTUsLjEpIDUwJSx0cmFuc3BhcmVudCA3MCUpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBlYXNlfS5idG4tZ2xvc3M6aG92ZXI6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDUwJSw1MCUpfS5pbnB1dC1nbG93e3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dC1nbG93OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi0ycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsdmFyKC0tYWNjZW50KSx2YXIoLS1hY2NlbnQtaG92ZXIpKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7b3BhY2l0eTowO3otaW5kZXg6LTE7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2ZpbHRlcjpibHVyKDhweCl9LmlucHV0LWdsb3c6Zm9jdXMtd2l0aGluOmJlZm9yZXtvcGFjaXR5Oi41fS5jYXJkLWxpZnR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIHZhcigtLWVhc2Utb3V0LWV4cG8pLGJveC1zaGFkb3cgLjNzIGVhc2V9LmNhcmQtbGlmdDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KSBzY2FsZSgxLjAxKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy14bCl9LmJhZGdlLXB1bHNle2FuaW1hdGlvbjpiYWRnZVB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgYmFkZ2VQdWxzZXswJSx0b3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4wNSk7b3BhY2l0eTouOH19Lmljb24td2lnZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyB2YXIoLS1lYXNlLXNwcmluZyl9Lmljb24td2lnZ2xlOmhvdmVye2FuaW1hdGlvbjp3aWdnbGUgLjVzIGVhc2UtaW4tb3V0fUBrZXlmcmFtZXMgd2lnZ2xlezAlLHRve3RyYW5zZm9ybTpyb3RhdGUoMCl9MjUle3RyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX03NSV7dHJhbnNmb3JtOnJvdGF0ZSgxMGRlZyl9fUBrZXlmcmFtZXMgZmFkZUluVXB7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyB6b29tRmFkZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgYm91bmNlSW57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOCkgdHJhbnNsYXRlWSgyMHB4KX01MCV7dHJhbnNmb3JtOnNjYWxlKDEuMDUpIHRyYW5zbGF0ZVkoLTVweCl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGVZKDApfX0ucHJvZ3Jlc3MtZmlsbHt0cmFuc2l0aW9uOndpZHRoIC41cyB2YXIoLS1lYXNlLW91dC1leHBvKTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnByb2dyZXNzLWZpbGw6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50LHJnYmEoMjU1LDI1NSwyNTUsLjIpLHRyYW5zcGFyZW50KTthbmltYXRpb246cHJvZ3Jlc3NTaGltbWVyIDEuNXMgaW5maW5pdGV9QGtleWZyYW1lcyBwcm9ncmVzc1NoaW1tZXJ7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTAwJSl9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZSgxMDAlKX19LnRvYXN0LXNsaWRle2FuaW1hdGlvbjp0b2FzdFNsaWRlIC40cyB2YXIoLS1lYXNlLW91dC1leHBvKX1Aa2V5ZnJhbWVzIHRvYXN0U2xpZGV7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwyMHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX19LnNwaW5uZXJ7YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgc3Bpbnt0b3t0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgZmxvYXR7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX0uZmxvYXR7YW5pbWF0aW9uOmZsb2F0IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlfUBrZXlmcmFtZXMgZ3JhZGllbnRGbG93ezAle2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfTUwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgNTAlfXRve2JhY2tncm91bmQtcG9zaXRpb246MCUgNTAlfX1Aa2V5ZnJhbWVzIGhpZ2hsaWdodFNjYW57MCV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJSBjZW50ZXJ9dG97YmFja2dyb3VuZC1wb3NpdGlvbjoyMDAlIGNlbnRlcn19QGtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEycHgpfX1Aa2V5ZnJhbWVzIHpvb21GYWRlT3V0ezAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguOTUpfX1Aa2V5ZnJhbWVzIHJpcHBsZUV4cGFuZHswJXt0cmFuc2Zvcm06c2NhbGUoMCk7b3BhY2l0eTouNX10b3t0cmFuc2Zvcm06c2NhbGUoNCk7b3BhY2l0eTowfX0uYnRuLXByZXNze3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyB2YXIoLS1lYXNlLXNwcmluZyksYm94LXNoYWRvdyAuMXMgZWFzZX0uYnRuLXByZXNzOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk1KTtib3gtc2hhZG93Omluc2V0IDAgMnB4IDRweCAjMDAwMDAwMWF9LnN0YXR1cy1icmVhdGh7YW5pbWF0aW9uOnN0YXR1c0JyZWF0aCAycyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHN0YXR1c0JyZWF0aHswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguOSl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMS4xKX19QGtleWZyYW1lcyBzdGFnZ2VyRmFkZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19Lm1lbnUtZXhwYW5ke3RyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgdmFyKC0tZWFzZS1zcHJpbmcpLG9wYWNpdHkgLjJzIGVhc2V9Lm1lbnUtZXhwYW5kLmNvbGxhcHNlZHt0cmFuc2Zvcm06c2NhbGVZKDApO29wYWNpdHk6MH0ubWVudS1leHBhbmQuZXhwYW5kZWR7dHJhbnNmb3JtOnNjYWxlWSgxKTtvcGFjaXR5OjF9QGtleWZyYW1lcyBjaGVja21hcmt7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MTAwfXRve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgcGxhY2Vob2xkZXJXYXZlezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246LTIwMCUgMH19LmNoYXQtbWVzc2FnZS1idWJibGV7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9Lm1zZy1jb3B5LWJ0bntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0zMnB4O3JpZ2h0OjRweDtwYWRkaW5nOjRweCAxMHB4O2ZvbnQtc2l6ZTouNzVyZW07YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLWRlZmF1bHQpO2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtib3gtc2hhZG93OnZhcigtLXNoYWRvdy1tZCk7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7ei1pbmRleDoxMDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lm1zZy1jb3B5LWJ0bi52aXNpYmxle2Rpc3BsYXk6YmxvY2t9Lm1zZy1jb3B5LWJ0bi5jb3BpZWR7YmFja2dyb3VuZDp2YXIoLS1zdWNjZXNzLW11dGVkKTtjb2xvcjp2YXIoLS1zdWNjZXNzKTtib3JkZXItY29sb3I6dmFyKC0tc3VjY2Vzcyl9LmNoYXQtbWVzc2FnZXtwb3NpdGlvbjpyZWxhdGl2ZX0udGVybWluYWwtanVtcC1ib3R0b217ei1pbmRleDoyMH0uaW5wdXQtY29tcG9zZXIuaW4tZmxpZ2h0e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtY29tcG9zZXIuaW4tZmxpZ2h0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O2xlZnQ6LTYwJTt3aWR0aDoyMjAlO2hlaWdodDozcHg7Ym9yZGVyLXJhZGl1czoxNHB4IDE0cHggMCAwO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMjgwcHggNHB4LHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuNDUpIDAlLHJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuMTIpIDM1JSx0cmFuc3BhcmVudCA2MCUpIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MjgwcHggNHB4O2FuaW1hdGlvbjpjb21wb3NlcldhdmVTbGlkZSA3cyBjdWJpYy1iZXppZXIoLjM1LDAsLjY1LDEpIGluZmluaXRlO3otaW5kZXg6Mjtwb2ludGVyLWV2ZW50czpub25lfS5pbnB1dC1jb21wb3Nlci5pbi1mbGlnaHQ6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDtsZWZ0Oi02MCU7d2lkdGg6MjIwJTtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6MTRweCAxNHB4IDAgMDtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDIyMHB4IDNweCxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjI1KSAwJSxyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjA2KSAzNSUsdHJhbnNwYXJlbnQgNjAlKSBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjIyMHB4IDNweDthbmltYXRpb246Y29tcG9zZXJXYXZlU2xpZGUgOXMgY3ViaWMtYmV6aWVyKC4zNSwwLC42NSwxKSBpbmZpbml0ZSByZXZlcnNlO3otaW5kZXg6Mjtwb2ludGVyLWV2ZW50czpub25lfUBrZXlmcmFtZXMgY29tcG9zZXJXYXZlU2xpZGV7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjowJSBjZW50ZXJ9dG97YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIGNlbnRlcn19LnN0cnVjdHVyZWQtc3RhdHVzLWJhcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6NXB4O21hcmdpbjowIDAgMCBhdXRvO3BhZGRpbmc6NHB4IDhweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2UsY29sb3IgLjNzIGVhc2U7b3ZlcmZsb3c6aGlkZGVuO2ZsZXgtc2hyaW5rOjB9LnN0cnVjdHVyZWQtc3RhdHVzLWJhciAuc3RhdHVzLWJhci1kb3R7d2lkdGg6NXB4O2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2JhKHZhcigtLWFjY2VudC1yZ2IsIDE5NywgMTAxLCA2MSksLjgpO2FuaW1hdGlvbjpzdGF0dXNEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO2ZsZXgtc2hyaW5rOjB9QGtleWZyYW1lcyBzdGF0dXNEb3RQdWxzZXswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguOSl9NTAle29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMS4xKX19LnN0cnVjdHVyZWQtc3RhdHVzLWJhciAuc3RhdHVzLWJhci1sYWJlbHtmbGV4LXNocmluazowO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjYyNXJlbX0uc3RydWN0dXJlZC1zdGF0dXMtYmFyIC5zdGF0dXMtYmFyLXRpbWVye2ZsZXgtc2hyaW5rOjA7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOi42MjVyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnN0cnVjdHVyZWQtc3RhdHVzLWJhci5jb21wbGV0ZWR7YW5pbWF0aW9uOnN0YXR1c0JhckZhZGVPdXQgMnMgZWFzZS1vdXQgMXMgZm9yd2FyZHN9LnN0cnVjdHVyZWQtc3RhdHVzLWJhci5jb21wbGV0ZWQgLnN0YXR1cy1iYXItbGFiZWx7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9QGtleWZyYW1lcyBzdGF0dXNCYXJGYWRlT3V0ezAle29wYWNpdHk6MTttYXgtaGVpZ2h0OjIwcHh9NzAle29wYWNpdHk6MDttYXgtaGVpZ2h0OjIwcHh9dG97b3BhY2l0eTowO21heC1oZWlnaHQ6MDttYXJnaW46MH19LmNyb3NzLXNlc3Npb24tcXVldWV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4O21hcmdpbjowIDhweCA0cHh9LnF1ZXVlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7cGFkZGluZzowIDRweDtmb250LXNpemU6LjZyZW07Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LnF1ZXVlLWhlYWRlci1sYWJlbHtmbGV4OjE7b3BhY2l0eTouNn0ucXVldWUtaGVhZGVyLWNsZWFye2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOi41NjI1cmVtO3BhZGRpbmc6MXB4IDRweDtib3JkZXItcmFkaXVzOjNweDtvcGFjaXR5Oi41O3RyYW5zaXRpb246Y29sb3IgLjE1cyxiYWNrZ3JvdW5kIC4xNXMsb3BhY2l0eSAuMTVzfS5xdWV1ZS1oZWFkZXItY2xlYXI6aG92ZXJ7Y29sb3I6dmFyKC0tZXJyb3IsICNlNTUpO2JhY2tncm91bmQ6I2U1NTU1NTFmO29wYWNpdHk6MX0ucXVldWUtaXRlbXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo0cHggOHB4O2ZvbnQtc2l6ZTouNjg3NXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvcGFjaXR5Oi43O3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2V9LnF1ZXVlLWl0ZW06aG92ZXJ7b3BhY2l0eToxfS5xdWV1ZS1pdGVtLWRvdHtmbGV4LXNocmluazowO3dpZHRoOjRweDtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC42KTthbmltYXRpb246c3RhdHVzRG90UHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX0ucXVldWUtaXRlbS10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOi42ODc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xdWV1ZS1pdGVtLWFnZXtmbGV4LXNocmluazowO2ZvbnQtc2l6ZTouNTYyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7b3BhY2l0eTouNX0ucXVldWUtaXRlbS1zZW5kLW5vd3tmbGV4LXNocmluazowO2JvcmRlcjoxcHggc29saWQgcmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4zKTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOnZhcigtLWFjY2VudCwgI2M1NjUzZCk7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxcHggOHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZTouNnJlbTtsaW5lLWhlaWdodDoxLjQ7dHJhbnNpdGlvbjpjb2xvciAuMTVzLGJhY2tncm91bmQgLjE1cyxib3JkZXItY29sb3IgLjE1c30ucXVldWUtaXRlbS1zZW5kLW5vdzpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQsICNjNTY1M2QpO2JhY2tncm91bmQ6cmdiYSh2YXIoLS1hY2NlbnQtcmdiLCAxOTcsIDEwMSwgNjEpLC4xMik7Ym9yZGVyLWNvbG9yOnJnYmEodmFyKC0tYWNjZW50LXJnYiwgMTk3LCAxMDEsIDYxKSwuNSl9LnF1ZXVlLWl0ZW0tY2FuY2Vse2ZsZXgtc2hyaW5rOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjFweCA0cHg7Ym9yZGVyLXJhZGl1czozcHg7Zm9udC1zaXplOi42ODc1cmVtO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNDt0cmFuc2l0aW9uOmNvbG9yIC4xNXMsYmFja2dyb3VuZCAuMTVzLG9wYWNpdHkgLjE1c30ucXVldWUtaXRlbS1jYW5jZWw6aG92ZXJ7Y29sb3I6dmFyKC0tZXJyb3IsICNlNTUpO2JhY2tncm91bmQ6I2U1NTU1NTFmO29wYWNpdHk6MX0uc2V0dGluZ3MtY2FyZC1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMnB4O21hcmdpbi1ib3R0b206MTRweH0uc2V0dGluZ3MtY2FyZC1pY29ue2ZsZXg6MCAwIGF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2M1NjUzZDJlLCNjNTY1M2QwZik7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXNpemU6MThweDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjYzU2NTNkMmV9LnNldHRpbmdzLWNhcmQtaGVhZC10ZXh0e2ZsZXg6MTttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoycHh9LnNldHRpbmdzLWNhcmQtdGl0bGV7Zm9udC1zaXplOi45Mzc1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpO2xldHRlci1zcGFjaW5nOi4wMDVlbTtsaW5lLWhlaWdodDoxLjM7bWFyZ2luOjB9LnNldHRpbmdzLWNhcmQtZGVzY3tmb250LXNpemU6Ljc1cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2xpbmUtaGVpZ2h0OjEuNTttYXJnaW46MH0uc2V0dGluZ3MtY2FyZC1hY3Rpb25ze2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O21hcmdpbi10b3A6NnB4fS5zZXR0aW5ncy1jYXJkLWFjdGlvbnMgLmJ0bnttaW4td2lkdGg6MTIwcHh9LnNldHRpbmdzLXN1Y2Nlc3MtbWVzc2FnZXtjb2xvcjp2YXIoLS1zdWNjZXNzKX0uc2V0dGluZ3Mtc2VjdGlvbi1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2dhcDoxMHB4O21hcmdpbi1ib3R0b206MTJweH0uc2V0dGluZ3Mtc2VjdGlvbi1pY29ue2ZsZXg6MCAwIGF1dG87d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I2M1NjUzZDFhO2ZvbnQtc2l6ZToxNHB4fS5zZXR0aW5ncy1zZWN0aW9uLWhlYWQtdGV4dHtmbGV4OjE7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MnB4fS5zZXR0aW5ncy1zZWN0aW9uLWhlYWRpbmd7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7bGV0dGVyLXNwYWNpbmc6LjAwNWVtO2xpbmUtaGVpZ2h0OjEuMzttYXJnaW46MH0uc2V0dGluZ3Mtc2VjdGlvbi1zdWJ7Zm9udC1zaXplOi43MnJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjU7bWFyZ2luOjB9LnNldHRpbmdzLXRvZ2dsZS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTRweDtwYWRkaW5nOjEycHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmZmZmOGM7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7bWFyZ2luLXRvcDoxMHB4fS5zZXR0aW5ncy10b2dnbGUtcm93Ky5zZXR0aW5ncy10b2dnbGUtcm93LC5zZXR0aW5ncy10b2dnbGUtcm93Ky5zZXR0aW5ncy1yYW5nZS1yb3csLnNldHRpbmdzLXJhbmdlLXJvdysuc2V0dGluZ3MtdG9nZ2xlLXJvd3ttYXJnaW4tdG9wOjhweH0uc2V0dGluZ3MtdG9nZ2xlLXRleHR7ZmxleDoxO21pbi13aWR0aDowO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjNweH0uc2V0dGluZ3MtdG9nZ2xlLXRpdGxle2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtjdXJzb3I6cG9pbnRlcn0uc2V0dGluZ3MtdG9nZ2xlLWRlc2N7Zm9udC1zaXplOi43MnJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtsaW5lLWhlaWdodDoxLjV9LnNldHRpbmdzLXN3aXRjaHtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjAgMCBhdXRvO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zZXR0aW5ncy10b2dnbGUtYXNpZGV7ZmxleDowIDAgYXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4fS5lbnYtcHJldmlldy1tb2RhbHttYXgtd2lkdGg6NzIwcHh9LmVudi1wcmV2aWV3LWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTJweDtwYWRkaW5nOjE4cHggMjRweCA4cHg7bWluLWhlaWdodDowfS5lbnYtcHJldmlldy10b29sYmFye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEycHg7ZmxleC13cmFwOndyYXB9LmVudi1wcmV2aWV3LW1ldGF7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtmb250LXNpemU6Ljc4cmVtO2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KX0uZW52LXByZXZpZXctcGlsbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLWZ1bGwpO2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LmVudi1wcmV2aWV3LXBpbGwuaXMtaW5oZXJpdHtjb2xvcjp2YXIoLS1hY2NlbnQpO2JhY2tncm91bmQ6dmFyKC0tYWNjZW50LW11dGVkKTtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KX0uZW52LXByZXZpZXctcGlsbC5pcy1taW5pbWFse2NvbG9yOnZhcigtLXN1Y2Nlc3MpO2JhY2tncm91bmQ6dmFyKC0tc3VjY2Vzcy1tdXRlZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfS5lbnYtcHJldmlldy1jb3VudHtmb250LXNpemU6LjcycmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5lbnYtcHJldmlldy1jb250cm9sc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXgtd3JhcDp3cmFwfS5lbnYtcHJldmlldy1zZWFyY2h7d2lkdGg6MjAwcHg7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo2cHggMTBweDtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cy1zbSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2ZvbnQtc2l6ZTouNzhyZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0uZW52LXByZXZpZXctc2VhcmNoOmZvY3Vze291dGxpbmU6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWZvY3VzKTtib3gtc2hhZG93OjAgMCAwIDNweCB2YXIoLS1hY2NlbnQtZ2xvdyl9LmVudi1wcmV2aWV3LXJldmVhbHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZTouNzRyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmV9LmVudi1wcmV2aWV3LXJldmVhbCBpbnB1dHthY2NlbnQtY29sb3I6dmFyKC0tYWNjZW50KTtjdXJzb3I6cG9pbnRlcn0uZW52LXByZXZpZXctbGlzdHttYXgtaGVpZ2h0Om1pbig1NnZoLDQ2MHB4KTtvdmVyZmxvdy15OmF1dG87Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtc20pO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7YmFja2dyb3VuZDp2YXIoLS1iZy1lbGV2YXRlZCk7cGFkZGluZzo0cHh9LmVudi1wcmV2aWV3LWxpc3Q6Zm9jdXN7b3V0bGluZTpub25lfS5lbnYtcHJldmlldy1yb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwyMjBweCkgbWlubWF4KDAsMWZyKSBhdXRvO2dhcDoxMnB4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjhweCAxMHB4O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXhzKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIHVpLW1vbm9zcGFjZSwgIlNGIE1vbm8iLCBNZW5sbywgQ29uc29sYXMsIG1vbm9zcGFjZSk7Zm9udC1zaXplOi43NHJlbTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjEyc30uZW52LXByZXZpZXctcm93OmhvdmVye2JhY2tncm91bmQ6dmFyKC0tYmctdGVydGlhcnkpfS5lbnYtcHJldmlldy1yb3crLmVudi1wcmV2aWV3LXJvd3tib3JkZXItdG9wOjFweCBkYXNoZWQgdmFyKC0tYm9yZGVyLXN1YnRsZSl9LmVudi1wcmV2aWV3LW5hbWV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXdlaWdodDo2MDA7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4LXdyYXA6d3JhcDtvdmVyZmxvdy13cmFwOmFueXdoZXJlfS5lbnYtcHJldmlldy1yb3cuaXMtc2Vuc2l0aXZlIC5lbnYtcHJldmlldy1uYW1le2NvbG9yOnZhcigtLXdhcm5pbmcpfS5lbnYtcHJldmlldy1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMtZnVsbCk7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6LjYycmVtO2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzouMDRlbTtiYWNrZ3JvdW5kOnZhcigtLXdhcm5pbmctbXV0ZWQpO2NvbG9yOnZhcigtLXdhcm5pbmcpO2JvcmRlcjoxcHggc29saWQgdmFyKC0td2FybmluZyl9LmVudi1wcmV2aWV3LWJhZGdlLXJ1bnRpbWV7YmFja2dyb3VuZDp2YXIoLS1pbmZvLW11dGVkKTtjb2xvcjp2YXIoLS1pbmZvKTtib3JkZXItY29sb3I6dmFyKC0taW5mbyl9LmVudi1wcmV2aWV3LXZhbHVle2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjB9LmVudi1wcmV2aWV3LXZhbHVlLmlzLXJ1bnRpbWV7Zm9udC1zdHlsZTppdGFsaWM7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCl9LmVudi1wcmV2aWV3LWxlbntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6LjY4cmVtO3doaXRlLXNwYWNlOm5vd3JhcH0uZW52LXByZXZpZXctbG9hZGluZywuZW52LXByZXZpZXctZW1wdHl7cGFkZGluZzoyNHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXNpemU6Ljc4cmVtfS5lbnYtcHJldmlldy1mb290ZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTJweDtwYWRkaW5nOjE0cHggMjRweCAxOHB4fS5lbnYtcHJldmlldy1oaW50e2ZvbnQtc2l6ZTouN3JlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmbGV4OjE7bWluLXdpZHRoOjB9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LmVudi1wcmV2aWV3LW1vZGFse21heC13aWR0aDpjYWxjKDEwMHZ3IC0gMjRweCl9LmVudi1wcmV2aWV3LXJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dhcDo0cHh9LmVudi1wcmV2aWV3LWxlbntqdXN0aWZ5LXNlbGY6ZW5kfS5lbnYtcHJldmlldy1zZWFyY2gsLmVudi1wcmV2aWV3LWNvbnRyb2xze3dpZHRoOjEwMCV9fS5zZXR0aW5ncy1yYW5nZS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDtwYWRkaW5nOjEycHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojZmZmZmZmOGM7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMSk7bWFyZ2luLXRvcDo4cHh9LnNldHRpbmdzLXJhbmdlLWxhYmVse2ZvbnQtc2l6ZTouODEyNXJlbTtmb250LXdlaWdodDo2MDA7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmbGV4OjAgMCBhdXRvO21hcmdpbi1ib3R0b206MH0uc2V0dGluZ3MtcmFuZ2V7ZmxleDoxO21pbi13aWR0aDowO2FjY2VudC1jb2xvcjp2YXIoLS1hY2NlbnQpfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdley13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDttYXJnaW46MDstLXJhbmdlLWZpbGw6IDUwJX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS1hY2NlbnQpIDAlLHZhcigtLWFjY2VudCkgdmFyKC0tcmFuZ2UtZmlsbCwgNTAlKSxyZ2JhKDEyNSw5MSw1NywuMikgdmFyKC0tcmFuZ2UtZmlsbCwgNTAlKSxyZ2JhKDEyNSw5MSw1NywuMikgMTAwJSk7Ym9yZGVyOm5vbmV9aW5wdXRbdHlwZT1yYW5nZV0uc2V0dGluZ3MtcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6bm9uZTtib3gtc2hhZG93OjAgMnB4IDZweCAjMTQwZTA4MzgsMCAwIDAgLjVweCAjN2Q1YjM5MWE7bWFyZ2luLXRvcDotOHB4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNnMgZWFzZSxib3gtc2hhZG93IC4xNnMgZWFzZX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTpob3Zlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDgpfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMTYpO2JveC1zaGFkb3c6MCA0cHggMTBweCAjMTQwZTA4NDcsMCAwIDAgOHB4ICNjNTY1M2QxZiwwIDAgMCAuNXB4ICM3ZDViMzkxYX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTpmb2N1cy12aXNpYmxlOjotd2Via2l0LXNsaWRlci10aHVtYntib3gtc2hhZG93OjAgMnB4IDZweCAjMTQwZTA4MzgsMCAwIDAgNHB4IHZhcigtLWFjY2VudC1tdXRlZCksMCAwIDAgLjVweCAjN2Q1YjM5MWF9aW5wdXRbdHlwZT1yYW5nZV0uc2V0dGluZ3MtcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kOiM3ZDViMzkzMztib3JkZXI6bm9uZX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTo6LW1vei1yYW5nZS1wcm9ncmVzc3toZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtib3JkZXI6bm9uZX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZjtjdXJzb3I6cG9pbnRlcjtib3gtc2hhZG93OjAgMnB4IDZweCAjMTQwZTA4MzgsMCAwIDAgLjVweCAjN2Q1YjM5MWE7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE2cyBlYXNlfWlucHV0W3R5cGU9cmFuZ2VdLnNldHRpbmdzLXJhbmdlOmhvdmVyOjotbW96LXJhbmdlLXRodW1ie3RyYW5zZm9ybTpzY2FsZSgxLjA4KX1pbnB1dFt0eXBlPXJhbmdlXS5zZXR0aW5ncy1yYW5nZTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMTYpfS5zZXR0aW5ncy1yYW5nZS12YWx1ZXtmbGV4OjAgMCA0NHB4O3RleHQtYWxpZ246cmlnaHQ7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zfS5zZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb257ZGlzcGxheTpmbGV4O2dhcDo4cHg7YWxpZ24taXRlbXM6c3RyZXRjaH0uc2V0dGluZ3Mtcm93LXdpdGgtYWN0aW9uPi5maWVsZC1pbnB1dCwuc2V0dGluZ3Mtcm93LXdpdGgtYWN0aW9uPi5maWVsZC1zZWxlY3QsLnNldHRpbmdzLXJvdy13aXRoLWFjdGlvbj5zZWxlY3R7ZmxleDoxO21pbi13aWR0aDowfS5zZXR0aW5ncy1yb3ctd2l0aC1hY3Rpb24+LmJ0bntmbGV4LXNocmluazowfS5zZXR0aW5ncy1hYm91dC1yb3ctYWN0aW9ue2ZsZXgtd3JhcDpub3dyYXB9LnNldHRpbmdzLXZhbHVlLWZsZXh7ZmxleDoxO3RleHQtYWxpZ246cmlnaHR9LmZpbGUtcGlja2Vye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7cGFkZGluZzo2cHggMTJweCA2cHggNnB4O2JhY2tncm91bmQ6I2ZmZmZmZmI4O2JvcmRlcjoxcHggZGFzaGVkIHJnYmEoMTI1LDkxLDU3LC4yNSk7Ym9yZGVyLXJhZGl1czoxMnB4O3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xOHMsYmFja2dyb3VuZCAuMThzfS5maWxlLXBpY2tlcjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYWNjZW50LXNvZnQsIHJnYmEoMTk3LCAxMDEsIDYxLCAuNDUpKTtiYWNrZ3JvdW5kOiNmZmZmZmZlNn0uZmlsZS1waWNrZXIuZmlsZS1waWNrZXItaGFzLWZpbGV7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojYzU2NTNkNTk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNjNTY1M2QxNCwjZmZmZmZmZDkpfS5maWxlLXBpY2tlci1pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uZmlsZS1waWNrZXItdHJpZ2dlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O3BhZGRpbmc6OHB4IDE0cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudCksY29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tYWNjZW50KSA4MCUsIzAwMCAwJSkpO2NvbG9yOiNmZmY7Zm9udC1zaXplOi44MTI1cmVtO2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItcmFkaXVzOjlweDtjdXJzb3I6cG9pbnRlcjtmbGV4LXNocmluazowO3RyYW5zaXRpb246ZmlsdGVyIC4xNXMsdHJhbnNmb3JtIC4xNXMsYm94LXNoYWRvdyAuMTVzO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXhzKTt1c2VyLXNlbGVjdDpub25lfS5maWxlLXBpY2tlci10cmlnZ2VyOmhvdmVye2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JveC1zaGFkb3c6dmFyKC0tc2hhZG93LXNtKX0uZmlsZS1waWNrZXItdHJpZ2dlcjphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmZpbGUtcGlja2VyLWlucHV0OmZvY3VzLXZpc2libGUrLmZpbGUtcGlja2VyLXRyaWdnZXJ7b3V0bGluZToycHggc29saWQgdmFyKC0tYWNjZW50KTtvdXRsaW5lLW9mZnNldDoycHh9LmZpbGUtcGlja2VyLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtmbGV4LXNocmluazowfS5maWxlLXBpY2tlci1sYWJlbHt3aGl0ZS1zcGFjZTpub3dyYXB9LmZpbGUtcGlja2VyLW5hbWV7ZmxleDoxO21pbi13aWR0aDowO2ZvbnQtc2l6ZTouODEyNXJlbTtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKX0uZmlsZS1waWNrZXIuZmlsZS1waWNrZXItaGFzLWZpbGUgLmZpbGUtcGlja2VyLW5hbWV7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtmb250LXdlaWdodDo1MDB9LnNldHRpbmdzLWFwcC1pY29uLWJsb2Nre21hcmdpbi1ib3R0b206MThweH0uc2V0dGluZ3MtYXBwLWljb24tcGlja2Vye2Rpc3BsYXk6ZmxleDtnYXA6MTJweDtmbGV4LXdyYXA6d3JhcH0uc2V0dGluZ3MtYXBwLWljb24tb3B0aW9ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOiNmZmZmZmY4Yztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xMik7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE4cyxiYWNrZ3JvdW5kIC4xOHMsdHJhbnNmb3JtIC4xOHMsYm94LXNoYWRvdyAuMThzO21pbi13aWR0aDo4NHB4fS5zZXR0aW5ncy1hcHAtaWNvbi1vcHRpb246aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym9yZGVyLWNvbG9yOiNjNTY1M2Q0ZDtiYWNrZ3JvdW5kOiNmZmZmZmZjNztib3gtc2hhZG93OnZhcigtLXNoYWRvdy14cyl9LnNldHRpbmdzLWFwcC1pY29uLW9wdGlvbi5zZWxlY3RlZCwuc2V0dGluZ3MtYXBwLWljb24tb3B0aW9uW2FyaWEtcHJlc3NlZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tYWNjZW50KTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2M1NjUzZDI0LCNjNTY1M2QwYSk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2M1NjUzZDMzfS5zZXR0aW5ncy1hcHAtaWNvbi1wcmV2aWV3e3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnZhcigtLWJnLXRlcnRpYXJ5KTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNldHRpbmdzLWFwcC1pY29uLWxhYmVse2ZvbnQtc2l6ZTouNzJyZW07Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtd2VpZ2h0OjUwMH0uc2V0dGluZ3MtY29ubmVjdC11cmwtdGV4dHtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8sIG1vbm9zcGFjZSk7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTt3b3JkLWJyZWFrOmJyZWFrLWFsbDt1c2VyLXNlbGVjdDphbGw7LXdlYmtpdC11c2VyLXNlbGVjdDphbGx9QG1lZGlhKG1heC13aWR0aDo2NDBweCl7LnNldHRpbmdzLXRvZ2dsZS1yb3csLnNldHRpbmdzLXJhbmdlLXJvd3twYWRkaW5nOjEwcHggMTJweH0uc2V0dGluZ3MtdG9nZ2xlLXJvd3tmbGV4LXdyYXA6d3JhcH0uc2V0dGluZ3MtY2FyZC1hY3Rpb25ze2p1c3RpZnktY29udGVudDpzdHJldGNofS5zZXR0aW5ncy1jYXJkLWFjdGlvbnMgLmJ0bntmbGV4OjE7bWluLXdpZHRoOjB9LmZpbGUtcGlja2Vye2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6OHB4fS5maWxlLXBpY2tlci10cmlnZ2Vye2ZsZXg6MSAxIGF1dG87anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZmlsZS1waWNrZXItbmFtZXtmbGV4OjEgMSAxMDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCA0cHh9LnNldHRpbmdzLXJvdy13aXRoLWFjdGlvbntmbGV4LXdyYXA6d3JhcH0uc2V0dGluZ3Mtcm93LXdpdGgtYWN0aW9uPi5idG57ZmxleDoxfX0udG9wYmFyLWdpdC1zbG90e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS50b3BiYXItZ2l0LXNsb3Q6ZW1wdHl7ZGlzcGxheTpub25lfS50b3BiYXItZ2l0LWJhZGdle2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo1cHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1zYW5zKTtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSk7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzLXNtKTtjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dHJhbnNpdGlvbjphbGwgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGluZS1oZWlnaHQ6MX0udG9wYmFyLWdpdC1iYWRnZTpob3ZlcntiYWNrZ3JvdW5kOiNmZmZmZmY4MDtjb2xvcjp2YXIoLS10ZXh0LXByaW1hcnkpfS50b3BiYXItZ2l0LWJhZGdlOmFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoLjk2KX0udG9wYmFyLWdpdC1pY29ue2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTouODV9LnRvcGJhci1naXQtYnJhbmNoe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtmb250LXdlaWdodDo2MDA7bWF4LXdpZHRoOjEyZW07b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnRvcGJhci1naXQtY291bnR7Y29sb3I6dmFyKC0tYWNjZW50KTtmb250LXdlaWdodDo3MDA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpfS50b3BiYXItZ2l0LWNsZWFue2NvbG9yOiMzY2EwNWFkOTtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi43OHJlbX0ucXVpY2stY29tbWl0LW1vZGFse21heC13aWR0aDo1NDBweH0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEycHh9LnFjLWZpbGVzLXdyYXB7bWF4LWhlaWdodDoxOTBweDtvdmVyZmxvdy15OmF1dG87cGFkZGluZzo2cHggOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEpO2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOiNmZmY2O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtmb250LXNpemU6Ljc4cmVtO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjFweH0ucWMtZW1wdHl7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7cGFkZGluZzo2cHggMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXN0eWxlOml0YWxpY30ucWMtZmlsZS1yb3d7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OXB4O2xpbmUtaGVpZ2h0OjEuNjtwYWRkaW5nOjFweCAycHg7Ym9yZGVyLXJhZGl1czo1cHh9LnFjLWZpbGUtcm93OmhvdmVye2JhY2tncm91bmQ6IzdkNWIzOTBmfS5xYy1maWxlLWJhZGdle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTdweDtoZWlnaHQ6MTdweDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZTouNjZyZW07Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOjA7bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTp2YXIoLS1mb250LXNhbnMpfS5xYy1iYWRnZS1hZGR7Y29sb3I6IzIyODA0MmZhO2JhY2tncm91bmQ6IzNjYTA1YTI5fS5xYy1iYWRnZS1tb2R7Y29sb3I6I2FhNmUwZWZhO2JhY2tncm91bmQ6I2RjOTYxZTI5fS5xYy1iYWRnZS1kZWx7Y29sb3I6I2JlMzgzOGZhO2JhY2tncm91bmQ6I2M4NDY0NjI2fS5xYy1iYWRnZS1yZW57Y29sb3I6IzRlNjRiY2ZhO2JhY2tncm91bmQ6IzZlODJjODI5fS5xYy1iYWRnZS11bnRyYWNrZWR7Y29sb3I6IzIyODA0MmYyO2JhY2tncm91bmQ6IzNjYTA1YTFmfS5xYy1iYWRnZS1pZ25vcmVkLC5xYy1iYWRnZS1vdGhlcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM3ODc4NzgxZn0ucWMtZmlsZS1wYXRoe292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowfS5xYy1maWxlLWRpcntjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucWMtZmlsZS1uYW1le2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Zm9udC13ZWlnaHQ6NTAwfS5xYy1zdWJtb2R1bGUtYmFkZ2V7ZmxleC1zaHJpbms6MDtwYWRkaW5nOjFweCA2cHg7Ym9yZGVyLXJhZGl1czo4cHg7YmFja2dyb3VuZDojOGM2NGM4Mjk7Y29sb3I6IzZlNDZiNGYyO2ZvbnQtc2l6ZTouNjhyZW07Zm9udC13ZWlnaHQ6NjAwO2xldHRlci1zcGFjaW5nOi4wMmVtO3doaXRlLXNwYWNlOm5vd3JhcH0ucWMtbWVzc2FnZS1yb3d7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NnB4fS5xYy1tZXNzYWdlLXJvdy5oaWRkZW57ZGlzcGxheTpub25lfS5xYy1tZXNzYWdlLWhlYWRlcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDo4cHh9LnFjLW1lc3NhZ2UtbGFiZWx7bWFyZ2luLWJvdHRvbTowfS5xYy1haS1idG57ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjVweDtjb2xvcjp2YXIoLS1hY2NlbnQpfS5xYy1haS1idG4gc3Zne2NvbG9yOnZhcigtLWFjY2VudCk7ZmxleC1zaHJpbms6MH0ucWMtYWktYnRuOmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOm5vdC1hbGxvd2VkO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xYy1haS1idG46ZGlzYWJsZWQgc3Zne2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpfS5xYy1tZXNzYWdlLWlucHV0e3Jlc2l6ZTp2ZXJ0aWNhbDttaW4taGVpZ2h0OjY4cHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouODRyZW07bGluZS1oZWlnaHQ6MS41NX0ucWMtdGFnLWZpZWxke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHh9LnFjLXRhZy1maWVsZC1sYWJlbHtmbGV4LXNocmluazowO3dpZHRoOjIuNGVtO2ZvbnQtc2l6ZTouN3JlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjA2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLWFjY2VudCl9LnFjLXRhZy1maWVsZC5pcy1vZmYgLnFjLXRhZy1maWVsZC1sYWJlbHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKX0ucWMtdGFnLWZpZWxkLWlucHV0e2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouODJyZW19LnFjLXRhZy1maWVsZC1pbnB1dDpkaXNhYmxlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtiYWNrZ3JvdW5kOiM3ZDViMzkwYTtib3JkZXItY29sb3I6IzdkNWIzOTE0O2N1cnNvcjpkZWZhdWx0O2JveC1zaGFkb3c6bm9uZX0ucWMtdGFnLWZpZWxkLW5vdGV7ZmxleC1zaHJpbms6MDtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3BhZGRpbmc6MnB4IDhweDtib3JkZXItcmFkaXVzOjk5OXB4O2JhY2tncm91bmQ6IzdkNWIzOTE0fS5xdWljay1jb21taXQtbW9kYWwgLndvcmt0cmVlLW1lcmdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6OHB4O21hcmdpbi10b3A6NHB4fS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLWJvZHl7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweH0ucWMtc2VjdGlvbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMnB4fS5xYy1zZWN0aW9uLS1yZXBve3BhZGRpbmctdG9wOjE2cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgxMjUsOTEsNTcsLjEyKX0ucWMtc2VjdGlvbi1oZWFke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6OHB4fS5xYy1zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZTouNzJyZW07Zm9udC13ZWlnaHQ6NzAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzouMDdlbTtjb2xvcjp2YXIoLS10ZXh0LXNlY29uZGFyeSl9LnFjLXNlY3Rpb24tbWV0YXtmb250LXNpemU6Ljc0cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjB9LnFjLXNlY3Rpb24tYWN0aW9uc3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O21hcmdpbi10b3A6MnB4O2ZsZXgtd3JhcDp3cmFwfS5xYy1zZWN0aW9uLWFjdGlvbnMtLXNlY29uZGFyeXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ucWMtYWN0aW9uLWdyb3Vwe2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6OHB4fS5xYy1jbGVhbi1iYWRnZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O21hcmdpbi1sZWZ0OjhweDtwYWRkaW5nOjFweCA4cHg7Ym9yZGVyLXJhZGl1czo5OTlweDtmb250LXNpemU6LjdyZW07Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOiMyODgyNDZmMjtiYWNrZ3JvdW5kOiMzY2EwNWExZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoNjAsMTYwLDkwLC4yMik7dmVydGljYWwtYWxpZ246MXB4fS5xYy1jbGVhbi1iYWRnZSBzdmd7ZmxleC1zaHJpbms6MH0ucXVpY2stY29tbWl0LW1vZGFse21heC13aWR0aDo2MjBweH0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e2dhcDowfS5xYy1yZWxlYXNlLXBhbmVsLC5xYy1yZXN1bHQtcGFuZWx7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTRweH0ucWMtcGFpcntkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjcycHggbWlubWF4KDAsMWZyKTtnYXA6MTJweDthbGlnbi1pdGVtczpzdGFydH0ucWMtcGFpci1sYWJlbHtwYWRkaW5nLXRvcDo5cHg7Zm9udC1zaXplOi43MnJlbTtmb250LXdlaWdodDo4MDA7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bGV0dGVyLXNwYWNpbmc6LjA2ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5xYy1wYWlyLWZsb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwuOWZyKSAyNHB4IG1pbm1heCgwLDEuMWZyKTtnYXA6OHB4O2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ucWMtcGFpci12YWx1ZXttaW4td2lkdGg6MDttaW4taGVpZ2h0OjM4cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6OHB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMTIpO2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQ6I2ZmZmZmZjg1O2NvbG9yOnZhcigtLXRleHQtc2Vjb25kYXJ5KTtvdmVyZmxvdzpoaWRkZW59LnFjLXBhaXItdmFsdWUtLXRve2JhY2tncm91bmQ6I2ZmZmZmZmQ2O2JvcmRlci1jb2xvcjojYzU2NTNkMzg7Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KX0ucWMtcGFpci12YWx1ZSBjb2Rle2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO2ZvbnQtc2l6ZTouNzhyZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOnZhcigtLWFjY2VudCk7YmFja2dyb3VuZDojYzU2NTNkMTc7Ym9yZGVyLXJhZGl1czo1cHg7cGFkZGluZzoycHggNnB4fS5xYy1wYWlyLXZhbHVlIHNwYW57bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZTouODJyZW19LnFjLXBhaXItLWNvbW1pdCAucWMtcGFpci1mbG93e2FsaWduLWl0ZW1zOnN0cmV0Y2h9LnFjLXBhaXItLWNvbW1pdCAucWMtcGFpci12YWx1ZXttaW4taGVpZ2h0Ojc2cHg7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ucWMtcGFpci0tY29tbWl0IC5xYy1wYWlyLXZhbHVlLS10b3twYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ucWMtcGFpci0tY29tbWl0IC5xYy1tZXNzYWdlLWlucHV0e21pbi1oZWlnaHQ6NzZweDt3aWR0aDoxMDAlO3Jlc2l6ZTp2ZXJ0aWNhbH0ucWMtcGFpci0tdGFnIC5xYy1wYWlyLXZhbHVlLS10b3twYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ucWMtcGFpci0tdGFnIC5xYy10YWctZmllbGQtaW5wdXR7d2lkdGg6MTAwJTttaW4taGVpZ2h0OjM4cHh9LnFjLXBhaXItYXJyb3d7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXdlaWdodDo4MDA7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpfS5xYy1tdXRlZHtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTtmb250LXN0eWxlOml0YWxpY30ucWMtbW9kYWwtYWN0aW9ucywucWMtcmVzdWx0LWFjdGlvbnN7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtnYXA6OHB4fS5xYy1yZXN1bHQtcGFuZWx7cGFkZGluZy10b3A6MnB4fS5xYy1yZXN1bHQtcHVzaGVke2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MzBweDtwYWRkaW5nOjAgMTBweDtib3JkZXItcmFkaXVzOjk5OXB4O2NvbG9yOiMyODgyNDZmMjtiYWNrZ3JvdW5kOiMzY2EwNWExZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoNjAsMTYwLDkwLC4yNCk7Zm9udC1zaXplOi43OHJlbTtmb250LXdlaWdodDo3MDB9LnFjLWRvY2std3JhcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZy10b3A6MnB4fS5xYy1kb2NrLXdyYXBbZGF0YS1kaXNhYmxlZD0iMSJde29wYWNpdHk6LjU1O3BvaW50ZXItZXZlbnRzOm5vbmV9LnFjLWRvY2stYnVzeXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2FsaWduLXNlbGY6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHggMTRweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDojYzU2NTNkMWE7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDE5NywxMDEsNjEsLjIpO2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo3MDB9LnFjLWRvY2stYnVzeS1kb3R7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2FuaW1hdGlvbjpxYy1kb2NrLWJ1c3ktcHVsc2UgMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHFjLWRvY2stYnVzeS1wdWxzZXswJSx0b3tvcGFjaXR5Oi40O3RyYW5zZm9ybTpzY2FsZSguODUpfTUwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEuMTUpfX0ucWMtZG9jay1zdGFnZXstLXFjLXRvbmU6IHZhcigtLWFjY2VudCk7LS1xYy10b25lLXNvZnQ6IHJnYmEoMTk3LCAxMDEsIDYxLCAuMik7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczptaW5tYXgoMCwxZnIpIDk2cHg7Z2FwOjEwcHg7aGVpZ2h0OjE2OHB4O3BhZGRpbmc6OHB4O2JvcmRlci1yYWRpdXM6MTZweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMTI1LDkxLDU3LC4xNik7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTIwJSAxMjAlIGF0IDMwJSAzMCUsI2ZmZmZmZjhjLCNmZmY1ZWIyOSksbGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmZmZmNzUsI2ZmZjVlYjM4KTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmZiMywwIDFweCAzcHggIzU5M2EyMDBkO3VzZXItc2VsZWN0Om5vbmV9LnFjLWRvY2stc3RhZ2VbZGF0YS1hY3Rpb249Y29tbWl0LXRhZ117LS1xYy10b25lOiAjNGE2ZmE1Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDc0LCAxMTEsIDE2NSwgLjIyKX0ucWMtZG9jay1zdGFnZVtkYXRhLWFjdGlvbj1jb21taXQtcHVzaF17LS1xYy10b25lOiAjNGY3YTU4Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDc5LCAxMjIsIDg4LCAuMjIpfS5xYy1kb2NrLXN0YWdlW2RhdGEtYWN0aW9uPWNvbW1pdC10YWctcHVzaF17LS1xYy10b25lOiAjN2M1YWE4Oy0tcWMtdG9uZS1zb2Z0OiByZ2JhKDEyNCwgOTAsIDE2OCwgLjI0KX0ucWMtZG9jay1maWVsZHtwb3NpdGlvbjpyZWxhdGl2ZTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZDpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMTI1LDkxLDU3LC4wMzUpIDAgOHB4LHRyYW5zcGFyZW50IDhweCAxNnB4KTt0b3VjaC1hY3Rpb246bm9uZTtvdmVyZmxvdzpoaWRkZW59LnFjLWRvY2stY2x1c3Rlcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym9yZGVyLXJhZGl1czoxNHB4O2JhY2tncm91bmQ6Y29sb3ItbWl4KGluIHNyZ2IsdmFyKC0tcWMtdG9uZSkgMTAlLHRyYW5zcGFyZW50KTtib3JkZXI6MS41cHggZGFzaGVkIGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDM4JSx0cmFuc3BhcmVudCk7Ym94LXNoYWRvdzowIDRweCAxNHB4IHZhcigtLXFjLXRvbmUtc29mdCk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjA7b3BhY2l0eTowO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yMnMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSx3aWR0aCAuMjJzIGN1YmljLWJlemllciguMjIsMSwuMzYsMSksaGVpZ2h0IC4yMnMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSxvcGFjaXR5IC4xOHMgZWFzZSxiYWNrZ3JvdW5kIC4ycyBlYXNlLGJvcmRlci1jb2xvciAuMnMgZWFzZX0ucWMtZG9jay1jbHVzdGVyLmlzLWFjdGl2ZXtvcGFjaXR5OjF9LnFjLWNoaXB7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo3cHg7aGVpZ2h0OjM4cHg7cGFkZGluZzowIDE0cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDEyNSw5MSw1NywuMjIpO2JvcmRlci1yYWRpdXM6OTk5cHg7YmFja2dyb3VuZDojZmZmZmZmZWI7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi44MnJlbTtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LjAxZW07d2hpdGUtc3BhY2U6bm93cmFwO2N1cnNvcjpncmFiO3RvdWNoLWFjdGlvbjpub25lO2JveC1zaGFkb3c6MCAycHggNnB4ICM1OTNhMjAxNDt6LWluZGV4OjI7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0ucWMtY2hpcC5xYy1jaGlwLS1hbmlte3RyYW5zaXRpb246dHJhbnNmb3JtIC4yOHMgY3ViaWMtYmV6aWVyKC4yMiwxLC4zNiwxKSxib3gtc2hhZG93IC4xOHMgZWFzZSxib3JkZXItY29sb3IgLjE4cyBlYXNlLGJhY2tncm91bmQgLjE4cyBlYXNlLGNvbG9yIC4xOHMgZWFzZX0ucWMtY2hpcC5pcy1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmc7ei1pbmRleDo1O2JveC1zaGFkb3c6MCAxMnB4IDI2cHggIzU5M2EyMDM4fS5xYy1jaGlwOmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0ucWMtY2hpcDpub3QoOmRpc2FibGVkKTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcWMtdG9uZSl9LnFjLWNoaXAtZG90e3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6IzdkNWIzOTRkO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICNmZmY5O3RyYW5zaXRpb246YmFja2dyb3VuZCAuMThzIGVhc2UsdHJhbnNmb3JtIC4xOHMgZWFzZX0ucWMtY2hpcC0tY29tbWl0IC5xYy1jaGlwLWRvdHtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCl9LnFjLWNoaXAtLXRhZyAucWMtY2hpcC1kb3R7YmFja2dyb3VuZDojNGE2ZmE1fS5xYy1jaGlwLS1wdXNoIC5xYy1jaGlwLWRvdHtiYWNrZ3JvdW5kOiM0ZjdhNTh9LnFjLWNoaXAtLXN1YiAucWMtY2hpcC1kb3R7YmFja2dyb3VuZDojM2E4YThmfS5xYy1jaGlwLS1jb21taXR7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgMzAlLHJnYmEoMTI1LDkxLDU3LC4yKSl9LnFjLWNoaXAtLXRhZ3tib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzRhNmZhNSAzMCUscmdiYSgxMjUsOTEsNTcsLjIpKX0ucWMtY2hpcC0tcHVzaHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzRmN2E1OCAzMCUscmdiYSgxMjUsOTEsNTcsLjIpKX0ucWMtY2hpcC0tc3Vie2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjM2E4YThmIDMwJSxyZ2JhKDEyNSw5MSw1NywuMikpfS5xYy1jaGlwLmlzLWdyYWJiaW5nLC5xYy1jaGlwLmlzLWF0dGFjaGVke2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym94LXNoYWRvdzowIDEycHggMjZweCB2YXIoLS1xYy10b25lLXNvZnQpO3otaW5kZXg6NX0ucWMtY2hpcC5pcy1ncmFiYmluZyAucWMtY2hpcC1kb3QsLnFjLWNoaXAuaXMtYXR0YWNoZWQgLnFjLWNoaXAtZG90e3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5xYy1jaGlwLS1jb21taXQuaXMtZ3JhYmJpbmcsLnFjLWNoaXAtLWNvbW1pdC5pcy1hdHRhY2hlZHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2ZmZixjb2xvci1taXgoaW4gc3JnYix2YXIoLS1hY2NlbnQpIDE2JSwjZmZmKSk7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLWFjY2VudCkgNDYlLHRyYW5zcGFyZW50KX0ucWMtY2hpcC0tdGFnLmlzLWdyYWJiaW5nLC5xYy1jaGlwLS10YWcuaXMtYXR0YWNoZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmYsY29sb3ItbWl4KGluIHNyZ2IsIzRhNmZhNSAxNiUsI2ZmZikpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjNGE2ZmE1IDQ2JSx0cmFuc3BhcmVudCl9LnFjLWNoaXAtLXB1c2guaXMtZ3JhYmJpbmcsLnFjLWNoaXAtLXB1c2guaXMtYXR0YWNoZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmZmYsY29sb3ItbWl4KGluIHNyZ2IsIzRmN2E1OCAxNiUsI2ZmZikpO2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gc3JnYiwjNGY3YTU4IDQ2JSx0cmFuc3BhcmVudCl9LnFjLWNoaXAtLXN1Yi5pcy1ncmFiYmluZywucWMtY2hpcC0tc3ViLmlzLWF0dGFjaGVke2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZmZmLGNvbG9yLW1peChpbiBzcmdiLCMzYThhOGYgMTYlLCNmZmYpKTtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIHNyZ2IsIzNhOGE4ZiA0NiUsdHJhbnNwYXJlbnQpfS5xYy1kb2NrLWxhdW5jaHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHg7Ym9yZGVyLXJhZGl1czoxNHB4O2JvcmRlcjoxLjVweCBkYXNoZWQgcmdiYSgxMjUsOTEsNTcsLjMyKTtiYWNrZ3JvdW5kOiNmZmY2O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO2N1cnNvcjpwb2ludGVyO3RvdWNoLWFjdGlvbjpub25lO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMnMgZWFzZSxib3JkZXItY29sb3IgLjJzIGVhc2UsY29sb3IgLjJzIGVhc2UsdHJhbnNmb3JtIC4ycyBlYXNlLGJveC1zaGFkb3cgLjJzIGVhc2V9LnFjLWRvY2stbGF1bmNoOm5vdCg6ZGlzYWJsZWQpOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1xYy10b25lKTtjb2xvcjp2YXIoLS1xYy10b25lKTtiYWNrZ3JvdW5kOmNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDglLHJnYmEoMjU1LDI1NSwyNTUsLjUpKX0ucWMtZG9jay1sYXVuY2g6ZGlzYWJsZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5xYy1kb2NrLWxhdW5jaC1hcnJvd3tkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBlYXNlfS5xYy1kb2NrLWxhdW5jaC1sYWJlbHtmb250LXNpemU6LjcycmVtO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzouMDRlbX0ucWMtZG9jay1zdGFnZVtkYXRhLWhvdD0iMSJdIC5xYy1kb2NrLWxhdW5jaHtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnZhcigtLXFjLXRvbmUpO2JhY2tncm91bmQ6dmFyKC0tcWMtdG9uZSk7Y29sb3I6I2ZmZjt0cmFuc2Zvcm06c2NhbGUoMS4wNCk7Ym94LXNoYWRvdzowIDhweCAyMnB4IHZhcigtLXFjLXRvbmUtc29mdCksMCAwIDAgNXB4IGNvbG9yLW1peChpbiBzcmdiLHZhcigtLXFjLXRvbmUpIDE4JSx0cmFuc3BhcmVudCl9LnFjLWRvY2stc3RhZ2VbZGF0YS1ob3Q9IjEiXSAucWMtZG9jay1sYXVuY2gtYXJyb3d7dHJhbnNmb3JtOnRyYW5zbGF0ZSgzcHgpfS5xYy1kb2NrLWhpbnR7bWluLWhlaWdodDoxZW07Zm9udC1zaXplOi43cmVtO2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RleHQtYWxpZ246Y2VudGVyO2xldHRlci1zcGFjaW5nOi4wMmVtO29wYWNpdHk6Ljh9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsucWMtY2hpcCwucWMtY2hpcC0tYW5pbSwucWMtZG9jay1jbHVzdGVyLC5xYy1kb2NrLWxhdW5jaCwucWMtZG9jay1idXN5LWRvdHthbmltYXRpb246bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpub25lIWltcG9ydGFudH19QG1lZGlhKG1heC13aWR0aDo3MjBweCl7LnRvcGJhci1naXQtYnJhbmNoe21heC13aWR0aDo4ZW19LnRvcGJhci1naXQtYmFkZ2V7cGFkZGluZzowIDhweDtmb250LXNpemU6LjdyZW19LnF1aWNrLWNvbW1pdC1tb2RhbHt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSBtYXgoMTZweCx2YXIoLS13YW5kLXNhZmUtdG9wKSkgLSBtYXgoMTJweCx2YXIoLS13YW5kLXNhZmUtYm90dG9tKSkpfS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLWhlYWRlcntwYWRkaW5nOjE0cHggMTZweCAxMnB4fS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLXRpdGxle2ZvbnQtc2l6ZToxLjA1cmVtfS5xdWljay1jb21taXQtbW9kYWwgLm1vZGFsLXN1YnRpdGxle21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZTouNzhyZW07bGluZS1oZWlnaHQ6MS4zNX0ucXVpY2stY29tbWl0LW1vZGFsIC5tb2RhbC1ib2R5e3BhZGRpbmc6MTRweCAxNnB4IGNhbGMoMTZweCArIHZhcigtLXdhbmQtc2FmZS1ib3R0b20pKX0ucWMtcmVsZWFzZS1wYW5lbCwucWMtcmVzdWx0LXBhbmVse2dhcDoxMnB4fS5xYy1maWxlcy13cmFwe21heC1oZWlnaHQ6MTYwcHh9LnFjLXBhaXJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6NXB4fS5xYy1wYWlyLWxhYmVse3BhZGRpbmctdG9wOjA7Zm9udC1zaXplOi42OHJlbX0ucWMtcGFpci1mbG93e2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjdweDtwb3NpdGlvbjpyZWxhdGl2ZX0ucWMtcGFpci1hcnJvd3t3aWR0aDoyOHB4O2hlaWdodDoyMHB4O2p1c3RpZnktc2VsZjpjZW50ZXI7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MX0ucWMtcGFpci12YWx1ZXttaW4taGVpZ2h0OjM2cHg7cGFkZGluZzo4cHggMTBweH0ucWMtcGFpci12YWx1ZSBjb2Rle2ZvbnQtc2l6ZTouNzZyZW19LnFjLXBhaXItdmFsdWUgc3Bhbntmb250LXNpemU6LjhyZW19LnFjLXBhaXItLWNvbW1pdCAucWMtcGFpci12YWx1ZXttaW4taGVpZ2h0OmF1dG99LnFjLXBhaXItLWNvbW1pdCAucWMtbWVzc2FnZS1pbnB1dHttaW4taGVpZ2h0OjkycHg7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MS40NX0ucWMtcGFpci0tdGFnIC5xYy10YWctZmllbGQtaW5wdXR7bWluLWhlaWdodDo0NHB4O2ZvbnQtc2l6ZToxNnB4fS5xYy1kb2NrLXN0YWdle2hlaWdodDoyMzZweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czptaW5tYXgoMCwxZnIpIDU4cHg7Z2FwOjhweDtwYWRkaW5nOjhweDtib3JkZXItcmFkaXVzOjE0cHh9LnFjLWRvY2stZmllbGR7bWluLWhlaWdodDoxNjBweH0ucWMtY2hpcHtoZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTJweDtmb250LXNpemU6LjhyZW19LnFjLWRvY2stbGF1bmNoe21pbi1oZWlnaHQ6NThweDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjhweDtib3JkZXItcmFkaXVzOjEzcHh9LnFjLWRvY2stbGF1bmNoLWxhYmVse2ZvbnQtc2l6ZTouNzhyZW19LnFjLWRvY2stc3RhZ2VbZGF0YS1ob3Q9IjEiXSAucWMtZG9jay1sYXVuY2gtYXJyb3d7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LndhbmQtZGlhbG9nLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDo5MDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXRvcDptYXgoMjRweCx2YXIoLS13YW5kLXNhZmUtdG9wKSk7cGFkZGluZy1ib3R0b206bWF4KDI0cHgsdmFyKC0td2FuZC1zYWZlLWJvdHRvbSkpO3BhZGRpbmctbGVmdDptYXgoMjRweCx2YXIoLS13YW5kLXNhZmUtbGVmdCkpO3BhZGRpbmctcmlnaHQ6bWF4KDI0cHgsdmFyKC0td2FuZC1zYWZlLXJpZ2h0KSk7YmFja2dyb3VuZDojMTQwZTA4NTc7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMThweCkgc2F0dXJhdGUoMTQwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxOHB4KSBzYXR1cmF0ZSgxNDAlKTthbmltYXRpb246d2FuZERpYWxvZ0JhY2tkcm9wSW4gLjIycyBjdWJpYy1iZXppZXIoLjE2LDEsLjMsMSkgYm90aH0ud2FuZC1kaWFsb2ctYmFja2Ryb3AuY2xvc2luZ3thbmltYXRpb246d2FuZERpYWxvZ0JhY2tkcm9wT3V0IC4xNnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgYm90aDtwb2ludGVyLWV2ZW50czpub25lfUBrZXlmcmFtZXMgd2FuZERpYWxvZ0JhY2tkcm9wSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB3YW5kRGlhbG9nQmFja2Ryb3BPdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19LndhbmQtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjQyMHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTIwJSAxMjAlIGF0IDAlIDAlLHZhcigtLWFjY2VudC1tdXRlZCkgMCUsdHJhbnNwYXJlbnQgNTUlKSxsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWJnLWVsZXZhdGVkKSAwJSx2YXIoLS1iZy1zZWNvbmRhcnkpIDEwMCUpO2JvcmRlcjouNXB4IHNvbGlkIHZhcigtLWJvcmRlci1zdWJ0bGUpO2JvcmRlci1yYWRpdXM6MjJweDtvdmVyZmxvdzpoaWRkZW47YmFja2Ryb3AtZmlsdGVyOmJsdXIoNDBweCkgc2F0dXJhdGUoMTgwJSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig0MHB4KSBzYXR1cmF0ZSgxODAlKTtib3gtc2hhZG93OjAgMjRweCA2NHB4IC0xMnB4ICM1OTNhMjA0NywwIDZweCAyMHB4IC02cHggIzU5M2EyMDI5LDAgMCAwIC41cHggIzdkNWIzOTE0LGluc2V0IDAgMXB4ICNmZmZmZmZiMzthbmltYXRpb246d2FuZERpYWxvZ0luIC4yOHMgY3ViaWMtYmV6aWVyKC4zNCwxLjQsLjY0LDEpIGJvdGh9LndhbmQtZGlhbG9nLWJhY2tkcm9wLmNsb3NpbmcgLndhbmQtZGlhbG9ne2FuaW1hdGlvbjp3YW5kRGlhbG9nT3V0IC4xNnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgYm90aH1Aa2V5ZnJhbWVzIHdhbmREaWFsb2dJbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKC45MikgdHJhbnNsYXRlWSgxMHB4KX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgd2FuZERpYWxvZ091dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjk2KSB0cmFuc2xhdGVZKDRweCl9fS53YW5kLWRpYWxvZy1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjE0cHg7cGFkZGluZzoyMnB4IDI0cHggMTJweH0ud2FuZC1kaWFsb2ctaWNvbntmbGV4LXNocmluazowO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtib3gtc2hhZG93Omluc2V0IDAgMXB4ICNmZmZmZmY4MH0ud2FuZC1kaWFsb2ctaWNvbi5pbmZve2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1hY2NlbnQtc29mdCkgMCUsdmFyKC0tYWNjZW50LWhvdmVyKSAxMDAlKTtjb2xvcjojZmZmfS53YW5kLWRpYWxvZy1pY29uLndhcm5pbmd7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmMGM4OTEgMCUsdmFyKC0td2FybmluZykgMTAwJSk7Y29sb3I6I2ZmZn0ud2FuZC1kaWFsb2ctaWNvbi5kYW5nZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNkOTgxNzggMCUsdmFyKC0tZGFuZ2VyKSAxMDAlKTtjb2xvcjojZmZmfS53YW5kLWRpYWxvZy1pY29uLnN1Y2Nlc3N7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCM4Y2FmOTQgMCUsdmFyKC0tc3VjY2VzcykgMTAwJSk7Y29sb3I6I2ZmZn0ud2FuZC1kaWFsb2ctaWNvbi5xdWVzdGlvbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdmFyKC0tYWNjZW50LXNvZnQpIDAlLHZhcigtLWFjY2VudCkgMTAwJSk7Y29sb3I6I2ZmZn0ud2FuZC1kaWFsb2ctdGV4dHdyYXB7ZmxleDoxIDEgYXV0bzttaW4td2lkdGg6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo2cHg7cGFkZGluZy10b3A6NHB4fS53YW5kLWRpYWxvZy10aXRsZXtmb250LXNpemU6MS4wNjI1cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzotLjAxZW07Y29sb3I6dmFyKC0tdGV4dC1wcmltYXJ5KTtsaW5lLWhlaWdodDoxLjM7d29yZC1icmVhazpicmVhay13b3JkfS53YW5kLWRpYWxvZy1tZXNzYWdle2ZvbnQtc2l6ZTouOXJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0tdGV4dC1zZWNvbmRhcnkpO2xpbmUtaGVpZ2h0OjEuNTU7d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkfS53YW5kLWRpYWxvZy1ib2R5e3BhZGRpbmc6NHB4IDI0cHggMTRweH0ud2FuZC1kaWFsb2ctaW5wdXR7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnZhcigtLWJnLXN1cmZhY2UpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyLXN1YnRsZSk7Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6MTFweCAxNHB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtc2Fucyk7Zm9udC1zaXplOi45cmVtO2NvbG9yOnZhcigtLXRleHQtcHJpbWFyeSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxLjVweCAjN2Q1YjM5MGE7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLGJveC1zaGFkb3cgLjE1cyBlYXNlLGJhY2tncm91bmQgLjE1cyBlYXNlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ud2FuZC1kaWFsb2ctaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMS41cHggIzdkNWIzOTBhLDAgMCAwIDNweCB2YXIoLS1hY2NlbnQtZ2xvdyl9LndhbmQtZGlhbG9nLWZvb3RlcntkaXNwbGF5OmZsZXg7Z2FwOjhweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzoxNHB4IDIwcHggMjBweDtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItc3VidGxlKTttYXJnaW4tdG9wOjZweH0ud2FuZC1kaWFsb2ctZm9vdGVyIC5idG57bWluLXdpZHRoOjg0cHh9LndhbmQtZGlhbG9nIC5idG4tZGFuZ2Vye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx2YXIoLS1kYW5nZXItaG92ZXIpIDAlLHZhcigtLWRhbmdlcikgMTAwJSk7Y29sb3I6dmFyKC0tdGV4dC1pbnZlcnNlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDFweCAycHggdmFyKC0tZGFuZ2VyLW11dGVkKSwwIDRweCAxMHB4IC0ycHggdmFyKC0tZGFuZ2VyLW11dGVkKSxpbnNldCAwIDFweCAjZmZmZmZmMzgsaW5zZXQgMCAtMXB4ICM2MDFlMTgyZX0ud2FuZC1kaWFsb2cgLmJ0bi1kYW5nZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNjOTYwNTUsI2IyNGY0NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tZGFuZ2VyLW11dGVkKSwwIDhweCAyMHB4IC00cHggdmFyKC0tZGFuZ2VyLWdsb3cpLGluc2V0IDAgMXB4ICNmZmZmZmY0NyxpbnNldCAwIC0xcHggIzYwMWUxODJlfS53YW5kLWRpYWxvZyAuYnRuLWRhbmdlcjphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHZhcigtLWRhbmdlcikgMCUsIzkzMzkyZiAxMDAlKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNnN9QG1lZGlhKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsud2FuZC1kaWFsb2ctYmFja2Ryb3AsLndhbmQtZGlhbG9nLWJhY2tkcm9wLmNsb3NpbmcsLndhbmQtZGlhbG9nLC53YW5kLWRpYWxvZy1iYWNrZHJvcC5jbG9zaW5nIC53YW5kLWRpYWxvZ3thbmltYXRpb246bm9uZSFpbXBvcnRhbnR9fUBzdXBwb3J0cyBub3QgKChiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMXB4KSkgb3IgKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDFweCkpKXsud2FuZC1kaWFsb2ctYmFja2Ryb3B7YmFja2dyb3VuZDojMTQwZTA4OTl9LndhbmQtZGlhbG9ne2JhY2tncm91bmQ6dmFyKC0tYmctZWxldmF0ZWQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItc3VidGxlKX19QG1lZGlhKG1heC13aWR0aDo0ODBweCl7LndhbmQtZGlhbG9nLWJhY2tkcm9we3BhZGRpbmc6MTZweDthbGlnbi1pdGVtczpjZW50ZXJ9LndhbmQtZGlhbG9ne21heC13aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MjBweH0ud2FuZC1kaWFsb2ctZm9vdGVye2ZsZXgtd3JhcDp3cmFwfS53YW5kLWRpYWxvZy1mb290ZXIgLmJ0bntmbGV4OjEgMSBhdXRvfX0uYnRuLXdpdGgtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4fS5idG4td2l0aC1pY29uPnN2Z3tmbGV4LXNocmluazowfS5jb21wb3Nlci1waWxsLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246LTJweH0uY29tcG9zZXItcGlsbC1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztsZXR0ZXItc3BhY2luZzouMDJlbX0uY29tcG9zZXItaW50ZXJhY3RpdmUtdG9nZ2xle2ZvbnQtc2l6ZTouNjI1cmVtO3BhZGRpbmc6MCA4cHg7bWluLWhlaWdodDoyMnB4fS5zZXR0aW5ncy1zZWN0aW9uLWljb257Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uc2V0dGluZ3Mtc2VjdGlvbi1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZvbnQtc2l6ZToxLjEyNXJlbX0uYmxhbmstY2hhdC10b29sLWJ0biAudG9vbC1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5ibGFuay1jaGF0LXRvb2wtYnRuIC50b29sLWljb24tdGV4dHt3aWR0aDphdXRvO2hlaWdodDphdXRvO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MX0uYmxhbmstY2hhdC1jd2QtaWNvbntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjB9LmJsYW5rLWNoYXQtY3dkLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LmJsYW5rLWNoYXQtY3dkLWFycm93e2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpfS5ibGFuay1jaGF0LWN3ZC1hcnJvdz5zdmd7ZGlzcGxheTpibG9ja30uZm9sZGVyLXBpY2tlci1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0uZm9sZGVyLXBpY2tlci1pY29uPnN2Z3tkaXNwbGF5OmJsb2NrfS5mb2xkZXItcGlja2VyLXF1aWNrLWJ0bi5idG4td2l0aC1pY29ue2dhcDo1cHh9LmFwcHJvdmFsLXN0YXRzLXJvdy1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5hcHByb3ZhbC1zdGF0cy1yb3ctaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uYXR0YWNobWVudC1waWxsIC5hdHQtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uZm9sZGVyLXBpY2tlci1jb21wYWN0LWljb257ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5mb2xkZXItcGlja2VyLWNvbXBhY3QtaWNvbj5zdmd7ZGlzcGxheTpibG9ja30uZm9sZGVyLXBpY2tlci10b2dnbGV7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MDtsaW5lLWhlaWdodDowfS5mb2xkZXItcGlja2VyLXRvZ2dsZT5zdmd7ZGlzcGxheTpibG9ja30uZm9sZGVyLXBpY2tlci10b2dnbGUub3Blbnt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LndvcmtpbmctZGlyLWluZGljYXRvci1pY29ue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MH0ud29ya2luZy1kaXItaW5kaWNhdG9yLWljb24+c3Zne2Rpc3BsYXk6YmxvY2t9LndhbmQtam95c3RpY2stcm9vdHtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjQwO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZX0ud2FuZC1qb3lzdGljay1yb290LnZpc2libGV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZX0ud2FuZC1qb3lzdGljay1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn0ud2FuZC1qb3lzdGljay1iYWNrZHJvcC5hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlO3BvaW50ZXItZXZlbnRzOmF1dG99LndhbmQtam95c3RpY2stYmFsbHtwb3NpdGlvbjpmaXhlZDtyaWdodDoxOHB4O2JvdHRvbTo5NnB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmNWViZTFmMDtiYWNrZ3JvdW5kOiMyMzFjMThkYjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjQ1LDIzNSwyMjUsLjE4KTtib3gtc2hhZG93OjAgOHB4IDIycHggIzAwMDAwMDRkLGluc2V0IDAgMXB4ICNmZmZmZmYxNDtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxMHB4KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpO3BvaW50ZXItZXZlbnRzOmF1dG87dG91Y2gtYWN0aW9uOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3otaW5kZXg6NDM7Y3Vyc29yOmdyYWI7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE4cyB2YXIoLS1lYXNlLXNwcmluZyksYmFja2dyb3VuZCAuMnMgZWFzZSxib3JkZXItY29sb3IgLjJzIGVhc2UsYm94LXNoYWRvdyAuMnMgZWFzZX0ud2FuZC1qb3lzdGljay1sb2dve3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ud2FuZC1qb3lzdGljay1iYWxsOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpO2JvcmRlci1jb2xvcjojZjVlYmUxNGQ7YmFja2dyb3VuZDojMmIyMjFkZTY7Ym94LXNoYWRvdzowIDEwcHggMjZweCAjMDAwMDAwNTcsaW5zZXQgMCAxcHggI2ZmZmZmZjFhfS53YW5kLWpveXN0aWNrLWJhbGw6YWN0aXZlLC53YW5kLWpveXN0aWNrLWJhbGwucGFuZWwtb3BlbntiYWNrZ3JvdW5kOiMxZDE3MTRmMH0ud2FuZC1qb3lzdGljay1iYWxsLmRyYWdnaW5ne3RyYW5zZm9ybTpzY2FsZSgxLjEyKTtjdXJzb3I6Z3JhYmJpbmc7Ym94LXNoYWRvdzowIDEwcHggMjhweCAjMDAwMDAwNWN9LndhbmQtam95c3RpY2stcGFuZWx7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MThweDtib3R0b206MTYwcHg7ei1pbmRleDo0NDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOiMxZDE3MTRmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjQ1LDIzNSwyMjUsLjEyKTtib3gtc2hhZG93OjAgMTRweCAzNHB4ICMwMDAwMDA1NyxpbnNldCAwIDFweCAjZmZmZmZmMGY7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxMnB4KTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpIHNjYWxlKC45Nik7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gcmlnaHQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xOHMgdmFyKC0tZWFzZS1vdXQtZXhwbyksdHJhbnNmb3JtIC4yMnMgdmFyKC0tZWFzZS1zcHJpbmcpLHZpc2liaWxpdHkgMHMgbGluZWFyIC4xOHM7d2lkdGg6bWluKDIyNHB4LGNhbGMoMTAwdncgLSAzNnB4KSk7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAzNnB4KX0ud2FuZC1qb3lzdGljay1wYW5lbC5hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0bztvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKDEpO3RyYW5zaXRpb24tZGVsYXk6MHN9LndqcC1oZWFkZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MTBweDttaW4taGVpZ2h0OjI0cHh9LndqcC10aXRsZXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtc2l6ZTouNzZyZW07bGV0dGVyLXNwYWNpbmc6MDtjb2xvcjojZjVlYmUxYzc7Zm9udC13ZWlnaHQ6NjAwfS53anAtdGl0bGUtaWNvbntjb2xvcjojZjVlYmUxYjh9LndqcC1jbG9zZXt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTIpO2JhY2tncm91bmQ6I2ZmZmZmZjBkO2NvbG9yOiNmNWViZTFiODtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE0cyBlYXNlLGNvbG9yIC4xNHMgZWFzZSx0cmFuc2Zvcm0gLjE0cyBlYXNlfS53anAtY2xvc2U6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmMWE7Y29sb3I6I2Y1ZWJlMWYyfS53anAtY2xvc2U6YWN0aXZle3RyYW5zZm9ybTpzY2FsZSguOTQpfS53anAtZHBhZHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NXB4fS53anAtZHBhZC1yb3d7ZGlzcGxheTpmbGV4O2dhcDo1cHh9LndqcC1ncmlke2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtnYXA6NXB4O2p1c3RpZnktY29udGVudDpjZW50ZXJ9LndqcC1mbmtleXN7bWF4LXdpZHRoOjIwMHB4fS53anAta2V5e21pbi13aWR0aDo0NHB4O2hlaWdodDozOHB4O3BhZGRpbmc6MCA4cHg7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOi43NnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2Y1ZWJlMWQ2O2JhY2tncm91bmQ6I2ZmZmZmZjBiO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNDUsMjM1LDIyNSwuMTEpO2N1cnNvcjpwb2ludGVyO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2UsYmFja2dyb3VuZCAuMTVzIGVhc2UsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSxjb2xvciAuMTVzIGVhc2V9LndqcC1rZXk6aG92ZXJ7YmFja2dyb3VuZDojZmZmZmZmMTQ7Ym9yZGVyLWNvbG9yOiNmNWViZTEzMztjb2xvcjojZjVlYmUxZjJ9LndqcC1rZXk6YWN0aXZle2JhY2tncm91bmQ6I2ZmZmZmZjFmO3RyYW5zZm9ybTpzY2FsZSguOTYpfS53anAta2V5LndqcC1tb2QuYWN0aXZle2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KTtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfQo="),
|
|
10
10
|
vendor: {
|
|
11
11
|
"/vendor/wterm/wterm.bundle.js": {
|