{"report_id":"4c4e9e5b-4869-4310-8a6c-877595f20e3f","version":0,"status":"done","tags":[],"date":"2026-07-27T07:12:59Z","url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"216.198.79.65","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"title":"HashVault - Professional Bitcoin Cloud Mining","dom":{"size":50535,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (50330), with no line terminators","md5":"1d91e7dcef113fdbb14d3570268af0b6","sha1":"f6a8f3d0e7e4d5c5b1cadc4cfcd36185b2eb1f25","sha256":"33d6f6f64ade781a3f5809a8b2f26ac2da661b1fe55e4541f375d0a470ad344d","sha512":"263b97b39bf0489fef6c3f48c9dcdb9285fa1b3e8c8dd0625132c6ff04e7ab368378cdbb2920519566080c3ae1b3fb34bc5501f42b2910a5d8a05d262b25046c","ssdeep":"768:hHOuz57RiAifXfqrQgsu6aiBZMPbuXB4wdmlyBEjOxhatfq8TJ/:P5gXCrQgsu6F8lyYFqUJ/","tlshash":"a733f1357102d99eecaf6ea9607e5d3e209dc76fc55bcea5d2e8c95007c28386f816c0","dom_hash":"domhash1b10431b9b5685afc306a4f94a703339","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"216.198.79.65","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:12:59Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"api.coingecko.com","ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":442226,"first_seen":"2018-05-18T12:16:11Z","last_seen":"2026-07-21T20:24:11.162909Z","alert_count":0,"request_count":1,"received_data":1242,"sent_data":532,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"hashvault.site","ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2026-04-09","domain_rank":0,"first_seen":"2026-07-27T07:13:00.784169Z","last_seen":"2026-07-27T07:13:00.784169Z","alert_count":0,"request_count":49,"received_data":923192,"sent_data":24612,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"NextAuth.js","description":"NextAuth.js is a complete open-source authentication solution for Next.js applications.","website":"https://next-auth.js.org","common_platform_enumeration":"","icon":"Next-Auth.png","categories":["Authentication"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-07-29T12:59:59.054606Z","times_seen":207178,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"2763a672ea444e86071faabb6607e5a2","sha1":"23681484207653e436a5b1c23fef631c30a94601","sha256":"54f3fbe41f2610f6fb27c74d5bca59c8e4d0719cca909c7cdac7b81d39e32805","sha512":"7314d0996a8e2c63783fd5e7c2b64cab890df814fc85fde8a70c892b34c57c5cfb1669dbb3394cd2326f6bdee2912374f3f667cb507ec449a010c7c83359b2d7","ssdeep":"","tlshash":"1231f69bfa8bfc043db0ddde112e4fb698d5ec3a9471146df24dcac9521287213889d1","size":1447,"data":"","first_seen":"2026-07-27T05:24:49.532987Z","last_seen":"2026-07-27T07:13:55.121978Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f2bc2655b29e25b9e1272dce8af44e9c","sha1":"77a804799eee103f8f00dc000dbb6a9dcbcb52a7","sha256":"2a0b30a81a435dcfdd04c71d58cb5ec5386e8d80751a030a600dbe2e2dee9953","sha512":"0474b91f1e84e20a48fa15b9990d69a6e1988c3e644f37d9affc25309b7523a2cebc28d3cf05e0e0730cbe961dfb20d85df249cfcc1741f121bb765b1cdf3d59","ssdeep":"96:LvjHQGXKvTpXR56R6IOASktLr1vFQcu2pBoRmuDWUBkpqCZ4XwP7X15vr:tK5wT/Bovy","tlshash":"e9b1992a3002dd9dec6b3e68157f5c3a548cca7b8766ceb8c1e8cd21568743d6bd19c0","size":5182,"data":"","first_seen":"2026-07-27T05:24:49.539377Z","last_seen":"2026-07-27T07:13:55.122572Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e2f6f9705e764737ad5e26083152bc55","sha1":"5b985b4f7e66ce98b66e493a586d48a847655c46","sha256":"2a70711e1d7a94b49feb9f959ee42416340954557634cf34751ca490b455dd2b","sha512":"c0f42be9dd9c8892ac2f01835a79e9f1874f9c0c6265810635883b92c4e8b27a81de885bbd2de17fa60580cec29ae85ebed429b7e44773f420b91caf156178d7","ssdeep":"","tlshash":"4511ad65f546ed84ed76ec5f003f5f3918e4dc3a807989b9e28dcd84434287567888d1","size":1106,"data":"","first_seen":"2026-07-27T05:24:49.555034Z","last_seen":"2026-07-27T07:13:55.123183Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"cb716dd64588ca0fff615625fbf2680d","sha1":"4ee6aa96f077bae2be26a62fafea5be9aa2e4ff1","sha256":"ae35121d74369806737bc6d40f2d0354a19272826c3fd5aab0f30efe66c3f506","sha512":"ec0cc5355f2a0775dbe8ec8f20af26cd67c033347fcd66655b4a065c1c9f5bacaa85d497bfae3ea23cf5b605bdb629c8c16f7b177bd027678c5d8bae134f7526","ssdeep":"","tlshash":"b431e2306016ddd8ed8b3d64747f6c2c2a5dd72ac94bce6091e0d93182cb838eb826c0","size":1828,"data":"","first_seen":"2026-07-27T05:24:49.557087Z","last_seen":"2026-07-27T07:13:55.123839Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"7babd4046cecf6a4ffc7177bee23a27a","sha1":"2ae9b9092aa6fc0cc88897c4ebb4f9aedba3d12b","sha256":"9745168461fd17c11ceb5979f478d01504bf77941a22faf5f9808c54c76f2c30","sha512":"afed96a0ef550725c2b6d03548893ceb647f3a2cec745b44f245537c380bb7220572ba709e42a76c7604cd0b56338c75135c360326454fd281c28bdc93ac139c","ssdeep":"96:LjXHC98C2zqnn1VX2ZpT8SrcYPrkfnGgV/H1JnnTXVtpTVY2Y9S:Fltl2x","tlshash":"d4a1f4347002da9dfc9f7e4515be9c7a214e939fc687deb5c1e8d910468283dbb82ac0","size":5003,"data":"","first_seen":"2026-07-27T05:24:49.559151Z","last_seen":"2026-07-27T07:13:55.124445Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"70c2e1f03381b3af6ee99b1c0d3daa1c","sha1":"751cd73f5e90a9d91e500fb7a6a976cc2004ee4a","sha256":"d1076307847b3fa717c43b8e692958e5b1844793c8071106aad98730baa43a9f","sha512":"887523d226bf3cf380992a83e8beeafd1874cd9dae8af18fd5b7e079ceb3ff062cb13514eb8557f4be4d91d55dbafe64ad5f975c79cd056cc04a37461e4fb09f","ssdeep":"","tlshash":"e8713434b116c98ded9b3a55643f4d3c2a4dd26b8acbcf75e2f0d92152c643cab826c0","size":3581,"data":"","first_seen":"2026-07-27T05:24:49.561293Z","last_seen":"2026-07-27T07:13:55.124979Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f36ec53d8fc5859b64ef0a62395d51be","sha1":"d3cec57bdc304bec9fb9d69d9aa46bbf04862a26","sha256":"73e4d0580eda54ce143b4de04c08cb96dd05a0b79f8d021ef55a76b42fac5d98","sha512":"624ca8a965a23e9bcfd4b9a36ea3fcec61a1f7095e51e4c858f48e67e4fd9cc8e0e85221d069997709c4ea51a49ccb1c9ebbb0ad8a584c9a88837826dbe1ab1f","ssdeep":"","tlshash":"069002f980448c355c3664131c342d02119c880a01441e1563d4de46371553a7605d4b","size":54,"data":"","first_seen":"2026-01-02T20:48:17.850347Z","last_seen":"2026-07-27T07:13:55.125708Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"26a90859fa93c3c0e6c85d63ddf32d48","sha1":"0fdb50fdf622fae40d9bcdbbb866d588e72185f5","sha256":"7461e7dad84b2834af30072f66e82c5eafb6f6c4595500b7265a6d19081bb144","sha512":"b7f4acf05d23db7fc9db83932270efbd6a0c290711f85d764e91c46bb5f9427c7fff01eaaba4e29562872f2fb8ba2118fc4f6dbb537863b37d0ecc152698d248","ssdeep":"","tlshash":"e95156747052ce8dfd8b3a15243f5c2e244dd66f899bceb1c1e0d92146c683c6b826c0","size":3130,"data":"","first_seen":"2026-07-27T05:24:49.565604Z","last_seen":"2026-07-27T07:13:55.126338Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d6d8795bf98211f0da1bc07c3d81f61d","sha1":"cdfe2ad44ac8dbf87a29f42e70c856d58d268130","sha256":"42e9285b8a2675387dceda57772119d6d76df9569329af28e87a7adc8635e328","sha512":"e114a617e35642d28418d1ffe387ad76a42ea374238e536c044fe8e5b6340ab51084c44eea6092eec8fdf63698e1317b64ae1aefbc7667ad12e55052bbf8c12c","ssdeep":"","tlshash":"6d51f434711adf9dfc9e3d45143e9c3a218d925f898bdeb582a4dd20468743ebb829c0","size":2760,"data":"","first_seen":"2026-07-27T05:24:49.567676Z","last_seen":"2026-07-27T07:13:55.12684Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a36a25faf70a49eb2035beca1ebc2687","sha1":"c3eb52042596b8e9deb85ec7d01515131b5934f5","sha256":"4192e885b6b5e47d7e0053a1f41f97110fbd49416139da208ecf3f4851317527","sha512":"05fdee5577642e22ae04412ada3a85e88e7040026fc87e77cfcf5f8bf585e060602170896a6a5028264752d46e4d31ea026a6530459fd4e10be21b4fecede908","ssdeep":"","tlshash":"1011e52da804de06ec3d7d99053edd3b24cc897b8158def842cdce481a06a7a33c69c1","size":910,"data":"","first_seen":"2026-07-27T05:24:49.569767Z","last_seen":"2026-07-27T07:13:55.12735Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"03676da12d45b4f029122476b222a036","sha1":"98b36200361826659d303341662c63081390fb1e","sha256":"75f6f668d37285ad7f84090d975805586b7e8c683a64b589b3e9613ea89612e9","sha512":"c6cf21cc2ef49d18cb157fb6c0fb173f8f08d1111172b697ac3276eaf6d4cb2fdc74380a50334fc39d04ba7232804a696a762267c520db8f443ca4d9dcc2e3f2","ssdeep":"","tlshash":"d4e0ab6d2002ec4edc8b2966257dbc33c1e8486f4155eabc82acddb5004b03d7b83bd0","size":406,"data":"","first_seen":"2026-07-27T05:24:49.572Z","last_seen":"2026-07-27T07:13:55.127921Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f9a1704ab61fea180be21e74aa31095d","sha1":"ee85adeba532c8a26a67dc1e242e8319c1081c44","sha256":"6217128f81ffe5644dfb52ecb348e20e2878eb74e2922d6ba65a034a8ef713f7","sha512":"c7cb86f8dbef8857772e4900d0adaa2be9b9b59a80ad5bacc5756e70f1ac61691466ce47d7bd348c931d2794e767fb9f162b236745ce4436f7ccccb581f13107","ssdeep":"","tlshash":"ac41d4347105da9efc9e7e55117e9c7a108e939f8686deb581a8dd10068243dbb83ac0","size":2262,"data":"","first_seen":"2026-07-27T05:24:49.57403Z","last_seen":"2026-07-27T07:13:55.128449Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"5b52a21743638c3198a5a2bf5581fe5c","sha1":"f3f3646991a488ce9054e3627d05c7f6c78b1f01","sha256":"968c78277145357643bb68dc41f146c042b8d476ffbbbf8d14a3e044ee3c9f3d","sha512":"2beaebf3617f7a5b98d381a6c1288a1fd9fc102c77d82d6456825a606b6f0dcf3cff684a30de3220ac791ab42a90903db5d88a9611004d0396f1c354580231dc","ssdeep":"","tlshash":"ebd02b34b009cd9cc85b2ca2143e5c271089452ec00bce7a42e0cb61524547de7429c0","size":256,"data":"","first_seen":"2026-07-27T05:24:49.576076Z","last_seen":"2026-07-27T07:13:55.129054Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f021b490d3d85caa80c4c711dc5b3e42","sha1":"15b34d1efa741d9204873613d5912152ffc4314d","sha256":"b1e9831e05e8e016d217925a498dc45616b294251ee8482892a65b471b34eb09","sha512":"74fc5eaa5da7df92e50854082d3e04c2e58477af96f79d27cf485024eab79990055c8f5a3f7a9dbbe6ce7dcfbdc16feff9ee1cd096d417fa3fe582c1253ff05b","ssdeep":"","tlshash":"12c080a1dc42cc1dc6674f261c3a1c3521dcc574074555479dd5d9291985b3105b5d8a","size":178,"data":"","first_seen":"2025-09-30T10:59:21.66596Z","last_seen":"2026-07-29T12:34:26.33446Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"82fc3a943ea662f3147786170ccea94b","sha1":"291724d788d5275ab8385650b032a28feff800c6","sha256":"3fa5cb008fba46bb7c28e73c97c6847a87fc2478040c8c3151541b914dbff517","sha512":"1f44f0bb36cb804e23cea48407539ccc06ef7c43e033e8bc02c4b2f61a4cb7982bfada905694e296879c6c5c5ac9069b500e3f7184fb7f58d649fe5322800481","ssdeep":"","tlshash":"fff02612ad0fdc05dff2fe1842bd2c7195e6cf7555745d219189cc840232c351f80982","size":584,"data":"","first_seen":"2026-07-27T05:24:49.583576Z","last_seen":"2026-07-27T07:13:55.148204Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0csa4r95ocl1m.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2ac2ffea73dd897ce6373123a3d2f2cd","sha1":"4ebe53d6946c5d1a096c6be65e8e8108a2cf74b1","sha256":"be514dc19c45f343681db95b27e7d056861a82bc6d5578fd850a49a659cae907","sha512":"3501c5be1ca4b6a8c39e831a9c91fa37d389e61227e9ffb30ab6f9150b3f1cb45af8d54cdefb6d5079ecc8293894bd3f1da11101141be282330bffb09075baed","ssdeep":"","tlshash":"32412f04b001df9c689704e5902ec41de43b6facca1fedabb5bca8612b5549d39433ed","size":1954,"data":"","first_seen":"2026-07-27T05:24:49.477446Z","last_seen":"2026-07-27T07:13:55.088129Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0wvuh0i0qh6r8.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b268d268ecab0e02c3ed9e4e6d2a2761","sha1":"1596419c645dd36a6537ad893c25496d4af76353","sha256":"242585328dd540da8bd42e863c607d414f1584ec3f0ad602d7de5e0877ed3bfa","sha512":"e99e234f170d0cfc5f89994c8d7b87a4460172a7dfcbc0278de2ed93291d0e1a9c003c4ebcf47532a2935f31d5fc3f396fe80cbc24fe692b7394137aa445bf72","ssdeep":"384:27MuqZ8wPSkMFWdvE+Ff8IiULq2UPWuqgVitiA/HXdjz9/KD:2W8w6aLqRWuqgSJKD","tlshash":"94c2b626690705fe2aee93d7e05cebd5cd385602e0498b4ce3878f319b59be81187b1d","size":26629,"data":"","first_seen":"2026-07-27T05:24:49.496948Z","last_seen":"2026-07-27T07:13:55.093129Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0n.q~r5d-mmxn.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"0f1c14bdc100b47fe5e12828255a9ad2","sha1":"c386cc35649819345104a3689366e8bc98ea4e89","sha256":"2b8e779e1b1bc0774e8df41a0b3bff6d4a23c17403012c626543b78b01909d2c","sha512":"2c27f78b157a0751753301c64871277b8bfbd3e9c411d78f82777a72775ac192976af979023891043f8adcb90cb9042f106811fa7444fb84584945fd4af05e74","ssdeep":"384:2s/Wst5gWTnrYV3uXeqbkJdeUtdaVmzlhjuNf9zXYpDuYNb4x2pk81FZTDxJRiGD:v/WstOoS3HSqD95hdFQcCDFZ1dqFY+V","tlshash":"db33da753295faa303db91d9c0370012f2780d7130ad64b4b395d8af399dd8a92faf69","size":54647,"data":"","first_seen":"2026-04-04T20:24:28.334703Z","last_seen":"2026-07-27T07:13:55.118078Z","times_seen":30,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0ka051yepewro.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"a55b8222a6db754870d488d6544f10bd","sha1":"5d97e34968af306a146acb6d6d7828306b16568c","sha256":"46224418f3f036efa4474a8b27bd4ee3be13817674967219c89786b952e20f5d","sha512":"b0a56c94365069140020820de72c00d47df85056c7d698464cc66afb4bd706d93c47f647c085f7452870da43f4d220ef6038bfb19dd0c87ffb654a2557443bd7","ssdeep":"96:hZCupYlfuneFctuv2+3oeBVW/QFv2Hj3xAKquhSQD9HUJMdqhJqdy6cv2P:hZCuaZutQos6QFeDBv7hfDi6CqDP","tlshash":"66c1a7f530a4f4d1d69b42848427441ef23a1d3aa0ae74a4a3e98cf965b044df1b3f96","size":5828,"data":"","first_seen":"2026-03-21T22:42:53.135088Z","last_seen":"2026-07-28T14:30:14.133741Z","times_seen":887,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/03~89e2dz7-nf.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"f703781193b1e8797df0f85fe72976c5","sha1":"71a0d3d149ac142a15605c08ce1fedd1f6bc85ad","sha256":"935d077cb9350993165087826387156eb748f12dfcc082c2ddcc1feb5a57bcd8","sha512":"d80551c0cf35980f9ffa2f724dd8337ddece92c9b15198282e40b1fb82f669cb050a54f182417e5887e1a018c0f4f0d4a8292f82b208b186d5a1f61e13299703","ssdeep":"3072:UFLtaNMDfGWY7V70PTIt6h+8BibKNn0ZJGXjFMAL98nwdH+am:UFLtKOfGWYpyI9vGzD58nwdH+am","tlshash":"8d24fbe83995f6626ab302b710af18037338252b280d4d60a351fdddb57845eb17bf9e","size":227538,"data":"","first_seen":"2026-04-11T09:57:17.574743Z","last_seen":"2026-07-27T07:13:55.094721Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0pqt~8bl3ukh4.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c621d697f789f9a625e80384da50359c","sha1":"21b6e9613cc917a5fa984be427364d03e5757cbc","sha256":"5261101892e2476e4346e19e86fd5f19cbcf7c765ff76e92eb9cefcc86b6db6a","sha512":"59a0ad4d3270e18ccc1178b7a1c8902793a70e88a518f01ce894d1d3335251953289630dcaa26b4c6d9a3b6bb5563b8845d5fabfc521878c382c7d2a56957ffa","ssdeep":"384:p7/A2dkTd93jBT0diRTRIpowbIBqjac/s+rPYjDExpCkKMny1V0U5+wQhKHAlwe4:BN8pcowkpc/s+zYXExp7ly1V0UVD","tlshash":"4513e7b132d4faa3539341e0e43f2016f2780d7520ad6470a7e89c9f754d88da6befa5","size":44414,"data":"","first_seen":"2026-03-18T18:55:57.705164Z","last_seen":"2026-07-29T12:53:51.358604Z","times_seen":11394,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0e-wrhqh4h3r5.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"d2b948c38709ec123e4b532b853d9a60","sha1":"b6c7bbdf533d9e6949f6010ea0895c8c1adddc8b","sha256":"3ed1f4eefaa8cb71b85ef1a3847204d4bbb7668871602877d2c6867b1b79910c","sha512":"1e1c487d98148a71fa8a14d1539aecfb8e990bff1d8a075193008523add78693eae3113a2b48aba5c9a1bb0524178aed8e06df6024e2e81799657c1f77a7b68e","ssdeep":"3072:awCwD5IY3pHnoOcyNA4tuXgSFbwZHS75B:awCwD5IY3pHoOcGAqWgZZHyB","tlshash":"b1d3e7f935d1f4820bab50a6c03f0006f22c4d77189e6860e3e5ddda756465de1b3faa","size":140798,"data":"","first_seen":"2026-03-22T12:28:35.128875Z","last_seen":"2026-07-29T09:49:15.740094Z","times_seen":703,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/17qytxj7hm2v9.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"04004336a9d26bd1f0e773d905a2dd54","sha1":"c56669f586239a9f156babf3164ad6e12da2b6c5","sha256":"7cdfefaac0b7d7033c5614e249e3655df2d88f83d2255adf5dba0f5d087ec7e2","sha512":"c42de7d21f36d19b0865b5a6ac6c677eea6a2082742efd3db3ef434452962381707029cd381e4cde9ef4cb5dc3f760979903e75a2089048020d778484c679e00","ssdeep":"192:sWyGEhj7jEcBFFesFPpf34GJU5irqezi4yrwszycKAhhTs:sWyBxL/4DcQ4yrwSEAg","tlshash":"9a12a3753194aad8a95b01d8842bd00df22f2e7dd81fa8a4b3f89cf55a5004cb663fd5","size":9854,"data":"","first_seen":"2026-07-27T05:24:49.435788Z","last_seen":"2026-07-27T07:13:55.091006Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/17sxn1xpkb_ap.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"63b597c68c0e6a80bac2e559cdde149f","sha1":"811a680bcd4e16e2c6037e9707593411b0050817","sha256":"744e36150364c4bb2090c7ec698d798364baa38aa48b7dca96ce11b69cddd523","sha512":"c2c50668906e3b4c01ed0ce0097e3c3dfcbff6391c471f663cae7697593b9ec2dcd9e6fd7c64777af09326b38493a3ff5168623f6bc434e261d04bdd35798faf","ssdeep":"384:f4MjBRxOM+kYLoO8NfwE6kUp+yy8JQrtg6KaFpg5UG2er6eJ2p1cHBYjYvI2cNJv:f4MjYM+PoTH6kUp+FncHBqVJHR7zt","tlshash":"3ce2d6a571d5f49117a354a8803f100bf23d1c7a296cb4b0a3e2ccea79a059de533fda","size":32498,"data":"","first_seen":"2026-04-29T23:47:13.31551Z","last_seen":"2026-07-27T07:13:55.093635Z","times_seen":16,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0-h0l215hb013.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"40bfcc734e428362b2720408a689ae3b","sha1":"665c913693905d0c52f08ff58214f591f83f9f42","sha256":"8c3c3f6da9eb9fc6414eb07e794b6f84e90c4f76707b528efbff5c696117416b","sha512":"ad1c6f2f1515ba190a0dddd3c849cd530b53819174ab6f7a897bb5bb4666bffe7234ecf18ace3b508bdc812bb7ddd8128cab9ec8dd0d735586cf6dbcd22cfd9e","ssdeep":"192:MWFTNzZejuBo1FdFeWLNf/SkT8ZO0164yrGWzy+nAXTXeYBvola3DcHBw:MWF5uDHRw64yrGk3ATVvolGcK","tlshash":"e4626325b094aedcb96b05d9942fd00cb21f6e6dcd4fd8b8f7b86ca41a5008cb653bc5","size":14617,"data":"","first_seen":"2026-07-27T05:24:49.492315Z","last_seen":"2026-07-27T07:13:55.104031Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/10kvqm-y-lmui.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"e40e9f8f8c5918ad4d3fed3b7c5e5f96","sha1":"6bd4f7dd64f55362b040ffdf12923048fb043299","sha256":"86f3bc021007f36b68a8d16e21d4f97fb4529a931e934027a300e0c4d4bc2035","sha512":"580aef5fe86ad53509afd35defe39031978bd1c7ca7774a033e10609046f62dac0246fb82d9b69f87ce1a2a923cedacc0d06efbd14653c0a4807a9c621a23bdf","ssdeep":"192:KWUT2jUTuMFHlaMFe8MS7hf3WEoQJyxX4yrN0zyj4AjT8kwMQ8Bqe3/:KWUHsIMY/WJ4yrNqVAjwMQ8Bqev","tlshash":"284284657194eadcea6b00d8442fc00db12f2e6dc90faca8b7f8ace51a5404d7563bc9","size":12661,"data":"","first_seen":"2026-07-27T05:24:49.459169Z","last_seen":"2026-07-27T07:13:55.100322Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0mv~lpk~~d~i0.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"dc96dbd3fdeb631e1a4a6252679ee2b6","sha1":"ee806a2654bbed69bc5bfb20d129f1e91b7a7f8d","sha256":"d53316a9449f221e8359b626028dd2c1fd9eedb868bc5abed18f2d66d970411c","sha512":"fdbb3342947fbdfb9b01408f0884c41c0943956ec808eeb69be7805a942f4332bc527408cfea8509b31c129e9f19d9071517ca00924d2e857673f44bfe98a788","ssdeep":"192:sWyUEvVrvbm999FeV/+PpHVjnBMNskY1ExMatRTXp:sWy7rm7HVWTxrbp","tlshash":"f012eaa53090a9d4959b0194842f840df23f6e3ed85fa8b4b3fc9cf9296045db1a2fd9","size":9520,"data":"","first_seen":"2026-07-27T05:24:49.486915Z","last_seen":"2026-07-27T07:13:55.119826Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0yy3m.q_jf9g4.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ab0ca01a6785ba6c1c1e8b940818ce6","sha1":"329baba9e37b8805415dc089c98203bf88e919c9","sha256":"0bac9f953f80d36a1cfe836e31629b33b7bc7a5894ec9ae5a95f32cf25566438","sha512":"42c64cb27d9b0ca782187a6fca4f564813a7175395e5441c0004e73cca3e55e04dfe59731b042a3a7a5fffb6c8ef50026d0a399b6ac218b1023741e69cfa4d1f","ssdeep":"192:sWyUEvVrvbmK/gFeR11PpHV3h1FKumz+Xf5tN+:sWy7rXjHVARz+v5tI","tlshash":"7512b6747091b9d8a59b0094802f840db13f6f3dd85fa8b8f7f89cf9266085cb592bd9","size":9348,"data":"","first_seen":"2026-07-27T05:24:49.443253Z","last_seen":"2026-07-27T07:13:55.096008Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/turbopack-0-at0kwc3u7bh.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"9520facd0bad823ab7c67fcf093aae0f","sha1":"153c5bbc136cec3c764ad0db5b49a79e8534bd7b","sha256":"84bd95beb4699f445a76c31e19c18ab506822a1d4439a97e743ef997b57f4149","sha512":"20faaa3faa75dbba02b600b407dfd0bf5b90f89393bb4d93c344c0b974747071d36c3b85082ce4bf56cd4f505c4a676242152a34cba75dcd02fef19a8fd3ae90","ssdeep":"192:Jl4gM6A68kEsgdo2YE4hHqlC+yWn+03sBT4fCT2cXXqrzor+yLxP:Jl4gM6YPiKlYW++sqCTPKLyLxP","tlshash":"3032d6ea33a6f07343af90ebd07b4004f1798469145e541c939ce8eb28394ae85e7f76","size":10947,"data":"","first_seen":"2026-07-27T05:24:49.430238Z","last_seen":"2026-07-27T07:13:55.096466Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/16i.vm_.6ma_u.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b07ba12bea3b3e88868d21bf7d8aaf68","sha1":"4fe6ad585838a51ce9d3fc48442801fc0060c0a4","sha256":"e11717d1bbd42223ef1e057d4c97185d29258fa55e5bcb89584d0b2eb226d79c","sha512":"6b0deb68dc98da20e3002204235e1bd3bad46beb6f83beef3f417f7a5ff50e2ff26e2604cea73d4a0ff9c8a182229e92b2b19c407385390ab5891a7b4e9566d4","ssdeep":"768:8QY+FmARrYdv/6rCwlEdVYFkrAJ/BP/pg0and/CbJCUAM/aWwQPa/Xx9:XYERrYd3CCwWrYeAtBS0adGQfQPaPx9","tlshash":"e523f6ca71c2f0a203e7c16a403f5206f2291c5a645ce8a0f3a5dde67a25d1ee273f75","size":47652,"data":"","first_seen":"2026-07-27T05:24:49.474298Z","last_seen":"2026-07-27T07:13:55.097052Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"hashvault.site/contact?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.991Z","timestamp":1785136352991,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /contact?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"f7dfeae1392938449e77aaba16772fd1\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /contact.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136352998-37b685fb8c1d\r\ncontent-length: 429\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":429,"size_decoded":1090,"mime_type":"text/x-component","magic":"ASCII text","md5":"a1f2cf008ee379f480bee7f661f2ee65","sha1":"0b49c446dfdfa2db27489be89e588785cb356b81","sha256":"a72092deb3d42802d2aa3a729d6fced2f4182d1fe2af6892d08aaed6eaae06e4","sha512":"c71e56ae949af5911b40486dbfe35218bd34ce7deae5fd9f89250cb4d888c38d02432f6dfbfce0da04c5649c72204f4f809581ded519df681e556c6d29ed8cad","ssdeep":"","tlshash":"4ce0227388082c88acf0d894066ae70f553c563b70b64cadc8cd8d9403a147e1a87687","first_seen":"2026-07-27T05:24:49.482503Z","last_seen":"2026-07-27T07:13:55.101567Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImNvbnRhY3QiLCJwYXJhbSI6bnVsbCwicHJlZmV0Y2hIaW50cyI6MCwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6Il9fUEFHRV9fIiwicGFyYW0iOm51bGwsInByZWZldGNoSGludHMiOjAsInNsb3RzIjpudWxsfX19fX0sInN0YWxlVGltZSI6MzAwLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0K"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/about?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.026Z","timestamp":1785136353026,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /about?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"5fcb1b5e43de7fcd6c9ddc5ebc3a09d2\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /about.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353033-567da61cb696\r\ncontent-length: 427\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":427,"size_decoded":1086,"mime_type":"text/x-component","magic":"ASCII text","md5":"9b2729367e233d111dd8f2487456ef2b","sha1":"2690384d2be6fc10fe258f4b47586bd5c7f4c969","sha256":"4d0420a812c01a2f90467733389222cdcda93ae648f2b15d9652e6335fdcc2da","sha512":"ed57c43cd98e0332693e9343a50c8beaa326593b94fef694bf389bd12d9862d7c04684f3b05967f765176410740740d7edd5a6bf1a0fb9a85c72c741f7f7ecf0","ssdeep":"","tlshash":"01e0227388082c89acf0d894066ae70b543c153b70f64cacc8ce8d9003b143a1a87687","first_seen":"2026-07-27T05:24:49.527322Z","last_seen":"2026-07-27T07:13:55.118648Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImFib3V0IiwicGFyYW0iOm51bGwsInByZWZldGNoSGludHMiOjAsInNsb3RzIjp7ImNoaWxkcmVuIjp7Im5hbWUiOiJfX1BBR0VfXyIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjowLCJzbG90cyI6bnVsbH19fX19LCJzdGFsZVRpbWUiOjMwMCwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":35,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":35,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/plans?_rsc=do406","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.069Z","timestamp":1785136353069,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /plans?_rsc=do406 HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /plans/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"17ba8222e90f622e5d548539080eb886\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /plans.segments/plans/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7rkmv-1785136353074-e14bfb645230\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":19745,"size_decoded":3612,"mime_type":"text/x-component","magic":"Unicode text, UTF-8 text, with very long lines (4500)","md5":"61a36b74a387c08dd949931e98954341","sha1":"5f32b7e7230f4a5e3bd2f7fe4f9ea6204ab47b0a","sha256":"c1d8b628153778dd9d5ba4703a93a25aaf4fad244c1558880d60cb90f5312589","sha512":"38b58be3455ef95b2bf52adb5fbdc00dd0dc74c1ac0ff23fe9a02e439650b3bb5f2f5cd846290733a2880596d555bfc99ed043ca05c96ce3d31ab939b5ff2f74","ssdeep":"384:CvtGxvIJMDkquiVvI8Spcqu2HvIdO7QqurnSujcCrxDEaH0BxDL9VK1xl4mpAn3a:CvtGxvIJMDkqvVvI8SpcqFHvIdO7Qq2T","tlshash":"e992d33e66465fad7ebf45a6652fc96a262d473bca578eb7e1fd6d1003820342d03380","first_seen":"2026-07-27T05:24:49.46313Z","last_seen":"2026-07-27T07:13:55.098138Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzMyNjUsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQozOklbMjIwMTYsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sIiJdCmM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk91dGxldEJvdW5kYXJ5Il0KZDoiJFNyZWFjdC5zdXNwZW5zZSIKMDp7InJzYyI6WyIkIiwiJDEiLCJjIix7ImNoaWxkcmVuIjpbWyIkIiwibWFpbiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiJEwyIixudWxsLHt9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJwdC0yNCBwYi0yMCBtYXgtdy03eGwgbXgtYXV0byBweC00IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWNlbnRlciBtYi0xNiIsImNoaWxkcmVuIjpbWyIkIiwiaDEiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTV4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IiwiY2hpbGRyZW4iOiJNaW5pbmcgUGxhbnMifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAgdGV4dC1sZyBtYXgtdy14bCBteC1hdXRvIiwiY2hpbGRyZW4iOlsiQWxsIHBsYW5zIHJ1biBhdCAiLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWFtYmVyLTQwMCBmb250LXNlbWlib2xkIiwiY2hpbGRyZW4iOiIxNTAlIHBlciBob3VyIn1dLCIgb24geW91ciBpbnZlc3RtZW50IG92ZXIgYSAzLWRheSBjb250cmFjdCwgcGx1cyBhIDUwJSB3ZWxjb21lIGJvbnVzIG9uIGFjdGl2YXRpb24uIl19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbXQtNCBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgcm91bmRlZC1mdWxsIHB4LTQgcHktMS41IHRleHQtZ3JlZW4tNDAwIHRleHQtc20iLCJjaGlsZHJlbiI6IvCfjoEgNTAlIFdlbGNvbWUgQm9udXMgb24gYWxsIHBsYW5zIOKAlCBsaW1pdGVkIHRpbWUgb2ZmZXIifV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtOCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IiwiU3RhcnRlciIseyJjbGFzc05hbWUiOiJyZWxhdGl2ZSBiZy1ncmF5LTkwMCBib3JkZXIgcm91bmRlZC0yeGwgcC04IGZsZXggZmxleC1jb2wgYm9yZGVyLWdyYXktODAwIiwiY2hpbGRyZW4iOltmYWxzZSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSB0b3AtNCByaWdodC00IGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTEgcm91bmRlZC1mdWxsIiwiY2hpbGRyZW4iOiIrNTAlIEJPTlVTIn1dLFsiJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSIsImNoaWxkcmVuIjoiU3RhcnRlciJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTR4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAgbWItMSIsImNoaWxkcmVuIjpbIiQkIiwiMjAwIl19XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmVlbi00MDAgdGV4dC1zbSBtYi02IiwiY2hpbGRyZW4iOlsiKyAkIiwiMTAwIiwiIHdlbGNvbWUgYm9udXMiXX1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InNwYWNlLXktMyBtYi04IGZsZXgtMSIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IiwiSGFzaHJhdGUiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6Ikhhc2hyYXRlIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiIxIFRIL3MifV1dfV0sWyIkIiwiZGl2IiwiTWluaW5nIFJhdGUiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6Ik1pbmluZyBSYXRlIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiMTUwJSAvIGhvdXIifV1dfV0sWyIkIiwiZGl2IiwiQ29udHJhY3QgRHVyYXRpb24iLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IkNvbnRyYWN0IER1cmF0aW9uIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiIzIERheXMifV1dfV0sWyIkIiwiZGl2IiwiSG91cmx5IEVhcm5pbmdzIix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJIb3VybHkgRWFybmluZ3MifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IiQkMzAwIn1dXX1dLFsiJCIsImRpdiIsIkRhaWx5IEVhcm5pbmdzIix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJEYWlseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiJCQ3LDIwMCJ9XV19XSxbIiQiLCJkaXYiLCJUb3RhbCBSZXR1cm4gKDMgZGF5cykiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IlRvdGFsIFJldHVybiAoMyBkYXlzKSJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC1hbWJlci0zMDAiLCJjaGlsZHJlbiI6IiQkMjEsNjAwIn1dXX1dLFsiJCIsImRpdiIsIldlbGNvbWUgQm9udXMiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IldlbGNvbWUgQm9udXMifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtZ3JlZW4tNDAwIiwiY2hpbGRyZW4iOiIrJDEwMCJ9XV19XSxbIiQiLCJkaXYiLCJQYXlvdXQgRnJlcXVlbmN5Iix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJQYXlvdXQgRnJlcXVlbmN5In1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiJIb3VybHkifV1dfV0sWyIkIiwiZGl2IiwiU3VwcG9ydCIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiU3VwcG9ydCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMjQvNyJ9XV19XV19XSxbIiQiLCIkTDMiLG51bGwseyJocmVmIjoiL2F1dGgvcmVnaXN0ZXIiLCJjaGlsZHJlbiI6WyIkIiwiYnV0dG9uIixudWxsLHsiY2xhc3NOYW1lIjoiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAgdGV4dC1hbWJlci00MDAgaG92ZXI6YmctYW1iZXItNTAwLzEwIHB4LTcgcHktMyB0ZXh0LWJhc2Ugdy1mdWxsIiwiY2hpbGRyZW4iOiJHZXQgU3RhcnRlZCJ9XX1dXX1dLCIkTDQiLCIkTDUiXX1dLCIkTDYiLCIkTDciXX1dLCIkTDgiXX1dLFsiJEw5IiwiJExhIl0sIiRMYiJdfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjpudWxsLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0KNDpbIiQiLCJkaXYiLCJQcm8iLHsiY2xhc3NOYW1lIjoicmVsYXRpdmUgYmctZ3JheS05MDAgYm9yZGVyIHJvdW5kZWQtMnhsIHAtOCBmbGV4IGZsZXgtY29sIGJvcmRlci1hbWJlci01MDAgcmluZy0yIHJpbmctYW1iZXItNTAwLzIwIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSAtdG9wLTQgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiBiZy1hbWJlci01MDAgdGV4dC1ibGFjayB0ZXh0LXhzIGZvbnQtYm9sZCBweC00IHB5LTEuNSByb3VuZGVkLWZ1bGwiLCJjaGlsZHJlbiI6Ik1PU1QgUE9QVUxBUiJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSB0b3AtNCByaWdodC00IGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTEgcm91bmRlZC1mdWxsIiwiY2hpbGRyZW4iOiIrNTAlIEJPTlVTIn1dLFsiJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSIsImNoaWxkcmVuIjoiUHJvIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtNHhsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCBtYi0xIiwiY2hpbGRyZW4iOlsiJCQiLCI1MDAiXX1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXNtIG1iLTYiLCJjaGlsZHJlbiI6WyIrICQiLCIyNTAiLCIgd2VsY29tZSBib251cyJdfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0zIG1iLTggZmxleC0xIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLCJIYXNocmF0ZSIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiSGFzaHJhdGUifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IjUgVEgvcyJ9XV19XSxbIiQiLCJkaXYiLCJNaW5pbmcgUmF0ZSIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiTWluaW5nIFJhdGUifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiIxNTAlIC8gaG91ciJ9XV19XSxbIiQiLCJkaXYiLCJDb250cmFjdCBEdXJhdGlvbiIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiQ29udHJhY3QgRHVyYXRpb24ifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IjMgRGF5cyJ9XV19XSxbIiQiLCJkaXYiLCJIb3VybHkgRWFybmluZ3MiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IkhvdXJseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiJCQ3NTAifV1dfV0sWyIkIiwiZGl2IiwiRGFpbHkgRWFybmluZ3MiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IkRhaWx5IEVhcm5pbmdzIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiIkJDE4LDAwMCJ9XV19XSxbIiQiLCJkaXYiLCJUb3RhbCBSZXR1cm4gKDMgZGF5cykiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IlRvdGFsIFJldHVybiAoMyBkYXlzKSJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC1hbWJlci0zMDAiLCJjaGlsZHJlbiI6IiQkNTQsMDAwIn1dXX1dLFsiJCIsImRpdiIsIldlbGNvbWUgQm9udXMiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IldlbGNvbWUgQm9udXMifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtZ3JlZW4tNDAwIiwiY2hpbGRyZW4iOiIrJDI1MCJ9XV19XSxbIiQiLCJkaXYiLCJQYXlvdXQgRnJlcXVlbmN5Iix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJQYXlvdXQgRnJlcXVlbmN5In1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiJIb3VybHkifV1dfV0sWyIkIiwiZGl2IiwiU3VwcG9ydCIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiU3VwcG9ydCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMjQvNyJ9XV19XV19XSxbIiQiLCIkTDMiLG51bGwseyJocmVmIjoiL2F1dGgvcmVnaXN0ZXIiLCJjaGlsZHJlbiI6WyIkIiwiYnV0dG9uIixudWxsLHsiY2xhc3NOYW1lIjoiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYmctYW1iZXItNTAwIGhvdmVyOmJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIHB4LTcgcHktMyB0ZXh0LWJhc2Ugdy1mdWxsIiwiY2hpbGRyZW4iOiJHZXQgU3RhcnRlZCJ9XX1dXX1dCjU6WyIkIiwiZGl2IiwiRW50ZXJwcmlzZSIseyJjbGFzc05hbWUiOiJyZWxhdGl2ZSBiZy1ncmF5LTkwMCBib3JkZXIgcm91bmRlZC0yeGwgcC04IGZsZXggZmxleC1jb2wgYm9yZGVyLWdyYXktODAwIiwiY2hpbGRyZW4iOltmYWxzZSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSB0b3AtNCByaWdodC00IGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTEgcm91bmRlZC1mdWxsIiwiY2hpbGRyZW4iOiIrNTAlIEJPTlVTIn1dLFsiJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSIsImNoaWxkcmVuIjoiRW50ZXJwcmlzZSJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTR4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAgbWItMSIsImNoaWxkcmVuIjpbIiQkIiwiMiwwMDAiXX1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXNtIG1iLTYiLCJjaGlsZHJlbiI6WyIrICQiLCIxLDAwMCIsIiB3ZWxjb21lIGJvbnVzIl19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJzcGFjZS15LTMgbWItOCBmbGV4LTEiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIkhhc2hyYXRlIix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJIYXNocmF0ZSJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMjUgVEgvcyJ9XV19XSxbIiQiLCJkaXYiLCJNaW5pbmcgUmF0ZSIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiTWluaW5nIFJhdGUifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiIxNTAlIC8gaG91ciJ9XV19XSxbIiQiLCJkaXYiLCJDb250cmFjdCBEdXJhdGlvbiIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiQ29udHJhY3QgRHVyYXRpb24ifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IjMgRGF5cyJ9XV19XSxbIiQiLCJkaXYiLCJIb3VybHkgRWFybmluZ3MiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IkhvdXJseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZm9udC1tZWRpdW0gdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiJCQzLDAwMCJ9XV19XSxbIiQiLCJkaXYiLCJEYWlseSBFYXJuaW5ncyIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiRGFpbHkgRWFybmluZ3MifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IiQkNzIsMDAwIn1dXX1dLFsiJCIsImRpdiIsIlRvdGFsIFJldHVybiAoMyBkYXlzKSIseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCBwYi0yIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjoiVG90YWwgUmV0dXJuICgzIGRheXMpIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LWFtYmVyLTMwMCIsImNoaWxkcmVuIjoiJCQyMTYsMDAwIn1dXX1dLFsiJCIsImRpdiIsIldlbGNvbWUgQm9udXMiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IldlbGNvbWUgQm9udXMifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtZ3JlZW4tNDAwIiwiY2hpbGRyZW4iOiIrJDEsMDAwIn1dXX1dLFsiJCIsImRpdiIsIlBheW91dCBGcmVxdWVuY3kiLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1zbSBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcGItMiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6IlBheW91dCBGcmVxdWVuY3kifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZvbnQtbWVkaXVtIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IkhvdXJseSJ9XV19XSxbIiQiLCJkaXYiLCJTdXBwb3J0Iix7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc20gYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHBiLTIiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOiJTdXBwb3J0In1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmb250LW1lZGl1bSB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiIyNC83In1dXX1dXX1dLFsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvYXV0aC9yZWdpc3RlciIsImNoaWxkcmVuIjpbIiQiLCJidXR0b24iLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1zZW1pYm9sZCByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMCB0ZXh0LWFtYmVyLTQwMCBob3ZlcjpiZy1hbWJlci01MDAvMTAgcHgtNyBweS0zIHRleHQtYmFzZSB3LWZ1bGwiLCJjaGlsZHJlbiI6IkdldCBTdGFydGVkIn1dfV1dfV0KNjpbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJtdC0xNiBiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQtMnhsIHAtOCIsImNoaWxkcmVuIjpbWyIkIiwiaDIiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LXhsIG1iLTYgdGV4dC1jZW50ZXIiLCJjaGlsZHJlbiI6IkhvdyBFYXJuaW5ncyBBcmUgQ2FsY3VsYXRlZCJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02IHRleHQtc20gdGV4dC1jZW50ZXIiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIkZvcm11bGEiLHsiY2xhc3NOYW1lIjoiYmctZ3JheS04MDAgcm91bmRlZC14bCBwLTQiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtMnhsIG1iLTIiLCJjaGlsZHJlbiI6IvCfk5AifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAgdGV4dC14cyBtYi0xIiwiY2hpbGRyZW4iOiJGb3JtdWxhIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQiLCJjaGlsZHJlbiI6IkludmVzdG1lbnQgw5cgMTUwJSDDlyBIb3VycyJ9XV19XSxbIiQiLCJkaXYiLCJIb3VybHkgUmF0ZSIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0yeGwgbWItMiIsImNoaWxkcmVuIjoi4pqhIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNDAwIHRleHQteHMgbWItMSIsImNoaWxkcmVuIjoiSG91cmx5IFJhdGUifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCIsImNoaWxkcmVuIjoiMS41w5cgeW91ciBpbnZlc3RtZW50IHBlciBob3VyIn1dXX1dLFsiJCIsImRpdiIsIjMtRGF5IFRvdGFsIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktODAwIHJvdW5kZWQteGwgcC00IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTJ4bCBtYi0yIiwiY2hpbGRyZW4iOiLwn5OFIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNDAwIHRleHQteHMgbWItMSIsImNoaWxkcmVuIjoiMy1EYXkgVG90YWwifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCIsImNoaWxkcmVuIjoiSW52ZXN0bWVudCDDlyAxLjUgw5cgNzIgaG91cnMifV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibXQtNiBvdmVyZmxvdy14LWF1dG8gLW14LTQgc206bXgtMCIsImNoaWxkcmVuIjpbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJtaW4tdy1bNTAwcHhdIHB4LTQgc206cHgtMCIsImNoaWxkcmVuIjpbIiQiLCJ0YWJsZSIsbnVsbCx7ImNsYXNzTmFtZSI6InctZnVsbCB0ZXh0LXNtIHRleHQtY2VudGVyIiwiY2hpbGRyZW4iOltbIiQiLCJ0aGVhZCIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCJ0ciIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIiwiY2hpbGRyZW4iOltbIiQiLCJ0aCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTIgdGV4dC1sZWZ0IiwiY2hpbGRyZW4iOiJQbGFuIn1dLFsiJCIsInRoIixudWxsLHsiY2xhc3NOYW1lIjoicHktMiIsImNoaWxkcmVuIjoiSW52ZXN0bWVudCJ9XSxbIiQiLCJ0aCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTIiLCJjaGlsZHJlbiI6IkhvdXJseSAow5cxLjUpIn1dLFsiJCIsInRoIixudWxsLHsiY2xhc3NOYW1lIjoicHktMiIsImNoaWxkcmVuIjoiRGFpbHkgKMOXMjQpIn1dLFsiJCIsInRoIixudWxsLHsiY2xhc3NOYW1lIjoicHktMiIsImNoaWxkcmVuIjoiMy1EYXkgVG90YWwgKMOXNzIpIn1dLFsiJCIsInRoIixudWxsLHsiY2xhc3NOYW1lIjoicHktMiB0ZXh0LWdyZWVuLTQwMCIsImNoaWxkcmVuIjoiKzUwJSBCb251cyJ9XV19XX1dLFsiJCIsInRib2R5IixudWxsLHsiY2xhc3NOYW1lIjoiZGl2aWRlLXkgZGl2aWRlLWdyYXktODAwIiwiY2hpbGRyZW4iOltbIiQiLCJ0ciIsIlN0YXJ0ZXIiLHsiY2hpbGRyZW4iOltbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1sZWZ0IHRleHQtd2hpdGUgZm9udC1tZWRpdW0iLCJjaGlsZHJlbiI6IlN0YXJ0ZXIifV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtZ3JheS0zMDAiLCJjaGlsZHJlbiI6WyIkJCIsIjIwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOlsiJCQiLCIzMDAiXX1dLFsiJCIsInRkIixudWxsLHsiY2xhc3NOYW1lIjoicHktMyB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOlsiJCQiLCI3LDIwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtYW1iZXItMzAwIGZvbnQtYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiMjEsNjAwIl19XSxbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1ncmVlbi00MDAiLCJjaGlsZHJlbiI6WyIrJCIsIjEwMCJdfV1dfV0sWyIkIiwidHIiLCJQcm8iLHsiY2hpbGRyZW4iOltbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1sZWZ0IHRleHQtd2hpdGUgZm9udC1tZWRpdW0iLCJjaGlsZHJlbiI6IlBybyJ9XSxbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1ncmF5LTMwMCIsImNoaWxkcmVuIjpbIiQkIiwiNTAwIl19XSxbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6WyIkJCIsIjc1MCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6WyIkJCIsIjE4LDAwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtYW1iZXItMzAwIGZvbnQtYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiNTQsMDAwIl19XSxbIiQiLCJ0ZCIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTMgdGV4dC1ncmVlbi00MDAiLCJjaGlsZHJlbiI6WyIrJCIsIjI1MCJdfV1dfV0sWyIkIiwidHIiLCJFbnRlcnByaXNlIix7ImNoaWxkcmVuIjpbWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtbGVmdCB0ZXh0LXdoaXRlIGZvbnQtbWVkaXVtIiwiY2hpbGRyZW4iOiJFbnRlcnByaXNlIn1dLFsiJCIsInRkIixudWxsLHsiY2xhc3NOYW1lIjoicHktMyB0ZXh0LWdyYXktMzAwIiwiY2hpbGRyZW4iOlsiJCQiLCIyLDAwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOlsiJCQiLCIzLDAwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6WyIkJCIsIjcyLDAwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtYW1iZXItMzAwIGZvbnQtYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiMjE2LDAwMCJdfV0sWyIkIiwidGQiLG51bGwseyJjbGFzc05hbWUiOiJweS0zIHRleHQtZ3JlZW4tNDAwIiwiY2hpbGRyZW4iOlsiKyQiLCIxLDAwMCJdfV1dfV1dfV1dfV19XX1dXX1dCjc6WyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibXQtMTAgZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtNiB0ZXh0LWNlbnRlciIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IiwiMTUwJSBIb3VybHkgUmF0ZSIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBtYi0zIiwiY2hpbGRyZW4iOiLimqEifV0sWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiMTUwJSBIb3VybHkgUmF0ZSJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJFYXJuIDEuNcOXIHlvdXIgaW52ZXN0bWVudCBldmVyeSBzaW5nbGUgaG91ciwgY3JlZGl0ZWQgdG8geW91ciBiYWxhbmNlLiJ9XV19XSxbIiQiLCJkaXYiLCI1MCUgV2VsY29tZSBCb251cyIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBtYi0zIiwiY2hpbGRyZW4iOiLwn46BIn1dLFsiJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6IjUwJSBXZWxjb21lIEJvbnVzIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IkdldCBhbiBpbnN0YW50IDUwJSBib251cyBjcmVkaXRlZCB0aGUgbW9tZW50IHlvdSBhY3RpdmF0ZSBhIHBsYW4uIn1dXX1dLFsiJCIsImRpdiIsIjMtRGF5IENvbnRyYWN0cyIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBtYi0zIiwiY2hpbGRyZW4iOiLwn5OFIn1dLFsiJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6IjMtRGF5IENvbnRyYWN0cyJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJGYXN0IDcyLWhvdXIgY29udHJhY3RzLiBXaXRoZHJhdyB5b3VyIGVhcm5pbmdzIGFzIHNvb24gYXMgdGhleSBsYW5kLiJ9XV19XV19XQo4OlsiJCIsImZvb3RlciIsbnVsbCx7ImNsYXNzTmFtZSI6ImJnLWJsYWNrIGJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBtdC0yMCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibWF4LXctN3hsIG14LWF1dG8gcHgtNCBweS0xMiBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy00IGdhcC04IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1iLTQiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LXhsIiwiY2hpbGRyZW4iOiLim48ifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtbGciLCJjaGlsZHJlbiI6Ikhhc2hWYXVsdCJ9XV19XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJQcm9mZXNzaW9uYWwgQml0Y29pbiBjbG91ZCBtaW5pbmcgcGxhdGZvcm0gd2l0aCBndWFyYW50ZWVkIHVwdGltZSBhbmQgdHJhbnNwYXJlbnQgcGF5b3V0cy4ifV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJQbGF0Zm9ybSJ9XSxbIiQiLCJ1bCIsbnVsbCx7ImNsYXNzTmFtZSI6InNwYWNlLXktMiB0ZXh0LXNtIHRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6W1siJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvcGxhbnMiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiTWluaW5nIFBsYW5zIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9kYXNoYm9hcmQiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiRGFzaGJvYXJkIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9hdXRoL3JlZ2lzdGVyIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkdldCBTdGFydGVkIn1dfV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJDb21wYW55In1dLFsiJCIsInVsIixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjpbWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9hYm91dCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJBYm91dCBVcyJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvZmFxIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkZBUSJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvY29udGFjdCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJDb250YWN0In1dfV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJUcnVzdCAmIFNlY3VyaXR5In1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IvCflJIgU1NMIFNlY3VyZWQifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIiwiY2hpbGRyZW4iOiLinIUgVmVyaWZpZWQgUGF5b3V0cyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IuKaoSA5OS45JSBVcHRpbWUifV1dfV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIHB5LTQgdGV4dC1jZW50ZXIgdGV4dC1ncmF5LTYwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOlsiwqkgIiwyMDI2LCIgSGFzaFZhdWx0LiBBbGwgcmlnaHRzIHJlc2VydmVkLiJdfV1dfV0KOTpbIiQiLCJzY3JpcHQiLCJzY3JpcHQtMCIseyJzcmMiOiIvX25leHQvc3RhdGljL2NodW5rcy8xN3F5dHhqN2htMnY5LmpzIiwiYXN5bmMiOnRydWV9XQphOlsiJCIsInNjcmlwdCIsInNjcmlwdC0xIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzB3dnVoMGkwcWg2cjguanMiLCJhc3luYyI6dHJ1ZX1dCmI6WyIkIiwiJExjIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRkIixudWxsLHsibmFtZSI6Ik5leHQuTWV0YWRhdGFPdXRsZXQiLCJjaGlsZHJlbiI6IiRAZSJ9XX1dCmU6bnVsbAo="}},"time_used":23,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":23,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/login?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.110Z","timestamp":1785136353110,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/login?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"290ab4b396c41a0933e119354c2ae07a\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/login.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5jlz5-1785136353117-ccadc2b179cf\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1260,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0mv~lpk~~d~i0.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.134Z","timestamp":1785136353134,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0mv~lpk~~d~i0.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 6505\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0mv~lpk~~d~i0.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"dc96dbd3fdeb631e1a4a6252679ee2b6\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:07 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0mv~lpk~~d~i0.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5jlz5-1785136353140-533d6c794b84\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":9520,"size_decoded":4743,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (9518), with no line terminators","md5":"dc96dbd3fdeb631e1a4a6252679ee2b6","sha1":"ee806a2654bbed69bc5bfb20d129f1e91b7a7f8d","sha256":"d53316a9449f221e8359b626028dd2c1fd9eedb868bc5abed18f2d66d970411c","sha512":"fdbb3342947fbdfb9b01408f0884c41c0943956ec808eeb69be7805a942f4332bc527408cfea8509b31c129e9f19d9071517ca00924d2e857673f44bfe98a788","ssdeep":"192:sWyUEvVrvbm999FeV/+PpHVjnBMNskY1ExMatRTXp:sWy7rm7HVWTxrbp","tlshash":"f012eaa53090a9d4959b0194842f840df23f6e3ed85fa8b4b3fc9cf9296045db1a2fd9","first_seen":"2026-07-27T05:24:49.486915Z","last_seen":"2026-07-27T07:13:55.119826Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOm49Im1kIixjaGlsZHJlbjphLGxvYWRpbmc6bCxjbGFzc05hbWU6byxkaXNhYmxlZDpzLC4uLml9KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVtuXSxvKSxkaXNhYmxlZDpzfHxsLC4uLmksY2hpbGRyZW46bD8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOmF9KX1dKX0sOTUwNTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2Zvcm1hdFVybDpmdW5jdGlvbigpe3JldHVybiBzfSxmb3JtYXRXaXRoVmFsaWRhdGlvbjpmdW5jdGlvbigpe3JldHVybiB1fSx1cmxPYmplY3RLZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkwODA5KS5fKGUucig5ODE4MykpLG89L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIHMoZSl7bGV0e2F1dGg6dCxob3N0bmFtZTpyfT1lLG49ZS5wcm90b2NvbHx8IiIsYT1lLnBhdGhuYW1lfHwiIixzPWUuaGFzaHx8IiIsaT1lLnF1ZXJ5fHwiIix1PSExO3Q9dD9lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTNBL2ksIjoiKSsiQCI6IiIsZS5ob3N0P3U9dCtlLmhvc3Q6ciYmKHU9dCsofnIuaW5kZXhPZigiOiIpP2BbJHtyfV1gOnIpLGUucG9ydCYmKHUrPSI6IitlLnBvcnQpKSxpJiYib2JqZWN0Ij09dHlwZW9mIGkmJihpPVN0cmluZyhsLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMoaSkpKTtsZXQgYz1lLnNlYXJjaHx8aSYmYD8ke2l9YHx8IiI7cmV0dXJuIG4mJiFuLmVuZHNXaXRoKCI6IikmJihuKz0iOiIpLGUuc2xhc2hlc3x8KCFufHxvLnRlc3QobikpJiYhMSE9PXU/KHU9Ii8vIisodXx8IiIpLGEmJiIvIiE9PWFbMF0mJihhPSIvIithKSk6dXx8KHU9IiIpLHMmJiIjIiE9PXNbMF0mJihzPSIjIitzKSxjJiYiPyIhPT1jWzBdJiYoYz0iPyIrYyksYT1hLnJlcGxhY2UoL1s/I10vZyxlbmNvZGVVUklDb21wb25lbnQpLGM9Yy5yZXBsYWNlKCIjIiwiJTIzIiksYCR7bn0ke3V9JHthfSR7Y30ke3N9YH1sZXQgaT1bImF1dGgiLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGgiLCJwYXRobmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInF1ZXJ5Iiwic2VhcmNoIiwic2xhc2hlcyJdO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHMoZSl9fSwxODU4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlTWVyZ2VkUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoNzE2NDUpO2Z1bmN0aW9uIGEoZSx0KXtsZXQgcj0oMCxuLnVzZVJlZikobnVsbCksYT0oMCxuLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsbi51c2VDYWxsYmFjaykobj0+e2lmKG51bGw9PT1uKXtsZXQgZT1yLmN1cnJlbnQ7ZSYmKHIuY3VycmVudD1udWxsLGUoKSk7bGV0IHQ9YS5jdXJyZW50O3QmJihhLmN1cnJlbnQ9bnVsbCx0KCkpfWVsc2UgZSYmKHIuY3VycmVudD1sKGUsbikpLHQmJihhLmN1cnJlbnQ9bCh0LG4pKX0sW2UsdF0pfWZ1bmN0aW9uIGwoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gZS5jdXJyZW50PXQsKCk9PntlLmN1cnJlbnQ9bnVsbH07e2xldCByPWUodCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ZShudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTG9jYWxVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODk2NyksYT1lLnIoNTI4MTcpO2Z1bmN0aW9uIGwoZSl7aWYoISgwLG4uaXNBYnNvbHV0ZVVybCkoZSkpcmV0dXJuITA7dHJ5e2xldCB0PSgwLG4uZ2V0TG9jYXRpb25PcmlnaW4pKCkscj1uZXcgVVJMKGUsdCk7cmV0dXJuIHIub3JpZ2luPT09dCYmKDAsYS5oYXNCYXNlUGF0aCkoci5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sODQ1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVycm9yT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319LDIyMDE2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LHVzZUxpbmtTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gZ319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoOTA4MDkpLG89ZS5yKDQzNDc2KSxzPWwuXyhlLnIoNzE2NDUpKSxpPWUucig5NTA1NyksdT1lLnIoODM3MiksYz1lLnIoMTg1ODEpLGQ9ZS5yKDE4OTY3KSxmPWUucig1NTUwKTtlLnIoMzM1MjUpO2xldCBwPWUucig4ODU0MCksaD1lLnIoOTE5NDkpLG09ZS5yKDczNjY4KSx5PWUucig5Mzk2KTtmdW5jdGlvbiBiKHQpe3ZhciByLG47bGV0IGEsbCxiLFtnLHZdPSgwLHMudXNlT3B0aW1pc3RpYykoaC5JRExFX0xJTktfU1RBVFVTKSxqPSgwLHMudXNlUmVmKShudWxsKSx7aHJlZjpTLGFzOkMsY2hpbGRyZW46TixwcmVmZXRjaDpfPW51bGwscGFzc0hyZWY6UCxyZXBsYWNlOncsc2hhbGxvdzpPLHNjcm9sbDprLG9uQ2xpY2s6VCxvbk1vdXNlRW50ZXI6UixvblRvdWNoU3RhcnQ6RSxsZWdhY3lCZWhhdmlvcjpNPSExLG9uTmF2aWdhdGU6TCx0cmFuc2l0aW9uVHlwZXM6QSxyZWY6VSx1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjpCLC4uLkl9PXQ7YT1OLE0mJigic3RyaW5nIj09dHlwZW9mIGF8fCJudW1iZXIiPT10eXBlb2YgYSkmJihhPSgwLG8uanN4KSgiYSIse2NoaWxkcmVuOmF9KSk7bGV0IEQ9cy5kZWZhdWx0LnVzZUNvbnRleHQodS5BcHBSb3V0ZXJDb250ZXh0KSxLPSExIT09XywkPSExIT09Xz9udWxsPT09KG49Xyl8fCJhdXRvIj09PW4/eS5GZXRjaFN0cmF0ZWd5LlBQUjp5LkZldGNoU3RyYXRlZ3kuRnVsbDp5LkZldGNoU3RyYXRlZ3kuUFBSLEY9InN0cmluZyI9PXR5cGVvZihyPUN8fFMpP3I6KDAsaS5mb3JtYXRVcmwpKHIpO2lmKE0pe2lmKGE/LiQkdHlwZW9mPT09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPmAgcmVjZWl2ZWQgYSBkaXJlY3QgY2hpbGQgdGhhdCBpcyBlaXRoZXIgYSBTZXJ2ZXIgQ29tcG9uZW50LCBvciBKU1ggdGhhdCB3YXMgbG9hZGVkIHdpdGggUmVhY3QubGF6eSgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIEVpdGhlciByZW1vdmUgbGVnYWN5QmVoYXZpb3IsIG9yIG1ha2UgdGhlIGRpcmVjdCBjaGlsZCBhIENsaWVudCBDb21wb25lbnQgdGhhdCByZW5kZXJzIHRoZSBMaW5rJ3MgYDxhPmAgdGFnLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODYzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2w9cy5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoYSl9bGV0IEo9TT9sJiYib2JqZWN0Ij09dHlwZW9mIGwmJmwucmVmOlUscT1zLmRlZmF1bHQudXNlQ2FsbGJhY2soZT0+KG51bGwhPT1EJiYoai5jdXJyZW50PSgwLGgubW91bnRMaW5rSW5zdGFuY2UpKGUsRixELCQsSyx2KSksKCk9PntqLmN1cnJlbnQmJigoMCxoLnVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24pKGouY3VycmVudCksai5jdXJyZW50PW51bGwpLCgwLGgudW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKShlKX0pLFtLLEYsRCwkLHZdKSx6PXtyZWY6KDAsYy51c2VNZXJnZWRSZWYpKHEsSiksb25DbGljayh0KXtNfHwiZnVuY3Rpb24iIT10eXBlb2YgVHx8VCh0KSxNJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbkNsaWNrJiZsLnByb3BzLm9uQ2xpY2sodCksIUR8fHQuZGVmYXVsdFByZXZlbnRlZHx8ZnVuY3Rpb24odCxyLG4sYSxsLG8saSl7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCB1LHtub2RlTmFtZTpjfT10LmN1cnJlbnRUYXJnZXQ7aWYoIkEiPT09Yy50b1VwcGVyQ2FzZSgpJiYoKHU9dC5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFyZ2V0IikpJiYiX3NlbGYiIT09dXx8dC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuc2hpZnRLZXl8fHQuYWx0S2V5fHx0Lm5hdGl2ZUV2ZW50JiYyPT09dC5uYXRpdmVFdmVudC53aGljaCl8fHQuY3VycmVudFRhcmdldC5oYXNBdHRyaWJ1dGUoImRvd25sb2FkIikpcmV0dXJuO2lmKCEoMCxtLmlzTG9jYWxVUkwpKHIpKXthJiYodC5wcmV2ZW50RGVmYXVsdCgpLGxvY2F0aW9uLnJlcGxhY2UocikpO3JldHVybn1pZih0LnByZXZlbnREZWZhdWx0KCksbyl7bGV0IGU9ITE7aWYobyh7cHJldmVudERlZmF1bHQ6KCk9PntlPSEwfX0pLGUpcmV0dXJufWxldHtkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOmR9PWUucig5OTc4MSk7cy5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbigoKT0+e2QocixhPyJyZXBsYWNlIjoicHVzaCIsITE9PT1sP3AuU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6cC5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LG4uY3VycmVudCxpKX0pfX0odCxGLGosdyxrLEwsQSl9LG9uTW91c2VFbnRlcihlKXtNfHwiZnVuY3Rpb24iIT10eXBlb2YgUnx8UihlKSxNJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbk1vdXNlRW50ZXImJmwucHJvcHMub25Nb3VzZUVudGVyKGUpLEQmJksmJigwLGgub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT1CKX0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe018fCJmdW5jdGlvbiIhPXR5cGVvZiBFfHxFKGUpLE0mJmwucHJvcHMmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnByb3BzLm9uVG91Y2hTdGFydCYmbC5wcm9wcy5vblRvdWNoU3RhcnQoZSksRCYmSyYmKDAsaC5vbk5hdmlnYXRpb25JbnRlbnQpKGUuY3VycmVudFRhcmdldCwhMD09PUIpfX07cmV0dXJuKDAsZC5pc0Fic29sdXRlVXJsKShGKT96LmhyZWY9RjpNJiYhUCYmKCJhIiE9PWwudHlwZXx8ImhyZWYiaW4gbC5wcm9wcyl8fCh6LmhyZWY9KDAsZi5hZGRCYXNlUGF0aCkoRikpLGI9TT9zLmRlZmF1bHQuY2xvbmVFbGVtZW50KGwseik6KDAsby5qc3gpKCJhIix7Li4uSSwuLi56LGNoaWxkcmVuOmF9KSwoMCxvLmpzeCkoeC5Qcm92aWRlcix7dmFsdWU6ZyxjaGlsZHJlbjpifSl9ZS5yKDg0NTA4KTtsZXQgeD0oMCxzLmNyZWF0ZUNvbnRleHQpKGguSURMRV9MSU5LX1NUQVRVUyksZz0oKT0+KDAscy51c2VDb250ZXh0KSh4KTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxODU2NiwoZSx0LHIpPT57dC5leHBvcnRzPWUucig3NjU2Mil9LDUxNTI5LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3MTY0NSksbj1lLmkoMTg1NjYpLGE9ZS5pKDIyMDE2KSxsPWUuaSg1OTU0NCksbz1lLmkoNTc2Nik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG4udXNlUm91dGVyKSgpLHM9KDAsbi51c2VTZWFyY2hQYXJhbXMpKCksW2ksdV09KDAsci51c2VTdGF0ZSkoe25hbWU6IiIsZW1haWw6IiIscGFzc3dvcmQ6IiIscmVmZXJyYWxDb2RlOnMuZ2V0KCJyZWYiKXx8IiJ9KSxbYyxkXT0oMCxyLnVzZVN0YXRlKSghMSksZj1hc3luYyB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGQoITApO2xldCByPWF3YWl0IGZldGNoKCIvYXBpL2F1dGgvcmVnaXN0ZXIiLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShpKX0pLG49YXdhaXQgci50ZXh0KCksYT1uP0pTT04ucGFyc2Uobik6e307ZCghMSksci5vaz8oby5kZWZhdWx0LnN1Y2Nlc3MoIkFjY291bnQgY3JlYXRlZCEgWW91IGNhbiBub3cgc2lnbiBpbi4iKSxlLnB1c2goIi9hdXRoL2xvZ2luIikpOm8uZGVmYXVsdC5lcnJvcihhLmVycm9yfHwiUmVnaXN0cmF0aW9uIGZhaWxlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4iKX07cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6Im1pbi1oLXNjcmVlbiBiZy1ibGFjayBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC00IixjaGlsZHJlbjooMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InctZnVsbCBtYXgtdy1tZCIsY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgbWItOCIsY2hpbGRyZW46WygwLHQuanN4cykoYS5kZWZhdWx0LHtocmVmOiIvIixjbGFzc05hbWU6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtYi02IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LTJ4bCIsY2hpbGRyZW46IuKbjyJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQteGwiLGNoaWxkcmVuOiJIYXNoVmF1bHQifSldfSksKDAsdC5qc3gpKCJoMSIse2NsYXNzTmFtZToidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiLGNoaWxkcmVuOiJDcmVhdGUgeW91ciBhY2NvdW50In0pLCgwLHQuanN4KSgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTUwMCBtdC0xIixjaGlsZHJlbjoiU3RhcnQgbWluaW5nIEJpdGNvaW4gdG9kYXkifSldfSksKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC04IixjaGlsZHJlbjpbKDAsdC5qc3hzKSgiZm9ybSIse29uU3VibWl0OmYsY2xhc3NOYW1lOiJzcGFjZS15LTQiLGNoaWxkcmVuOltbe2xhYmVsOiJGdWxsIE5hbWUiLGtleToibmFtZSIsdHlwZToidGV4dCIscGxhY2Vob2xkZXI6IkpvaG4gRG9lIn0se2xhYmVsOiJFbWFpbCIsa2V5OiJlbWFpbCIsdHlwZToiZW1haWwiLHBsYWNlaG9sZGVyOiJ5b3VAZXhhbXBsZS5jb20ifSx7bGFiZWw6IlBhc3N3b3JkIixrZXk6InBhc3N3b3JkIix0eXBlOiJwYXNzd29yZCIscGxhY2Vob2xkZXI6Ik1pbiA4IGNoYXJhY3RlcnMifSx7bGFiZWw6IlJlZmVycmFsIENvZGUgKG9wdGlvbmFsKSIsa2V5OiJyZWZlcnJhbENvZGUiLHR5cGU6InRleHQiLHBsYWNlaG9sZGVyOiJFbnRlciByZWZlcnJhbCBjb2RlIn1dLm1hcChlPT4oMCx0LmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse2NsYXNzTmFtZToiYmxvY2sgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTEuNSIsY2hpbGRyZW46ZS5sYWJlbH0pLCgwLHQuanN4KSgiaW5wdXQiLHt0eXBlOmUudHlwZSx2YWx1ZTppW2Uua2V5XSxvbkNoYW5nZTp0PT51KHsuLi5pLFtlLmtleV06dC50YXJnZXQudmFsdWV9KSxyZXF1aXJlZDoicmVmZXJyYWxDb2RlIiE9PWUua2V5LGNsYXNzTmFtZToidy1mdWxsIGJnLWdyYXktODAwIGJvcmRlciBib3JkZXItZ3JheS03MDAgcm91bmRlZC1sZyBweC00IHB5LTIuNSB0ZXh0LXdoaXRlIHRleHQtc20gZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1hbWJlci01MDAiLHBsYWNlaG9sZGVyOmUucGxhY2Vob2xkZXJ9KV19LGUua2V5KSksKDAsdC5qc3gpKGwuZGVmYXVsdCx7dHlwZToic3VibWl0IixjbGFzc05hbWU6InctZnVsbCIsbG9hZGluZzpjLGNoaWxkcmVuOiJDcmVhdGUgQWNjb3VudCJ9KV19KSwoMCx0LmpzeHMpKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciB0ZXh0LWdyYXktNTAwIHRleHQtc20gbXQtNiIsY2hpbGRyZW46WyJBbHJlYWR5IGhhdmUgYW4gYWNjb3VudD8iLCIgIiwoMCx0LmpzeCkoYS5kZWZhdWx0LHtocmVmOiIvYXV0aC9sb2dpbiIsY2xhc3NOYW1lOiJ0ZXh0LWFtYmVyLTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTMwMCIsY2hpbGRyZW46IlNpZ24gaW4ifSldfSldfSldfSl9KX1lLnMoWyJkZWZhdWx0IiwwLGZ1bmN0aW9uKCl7cmV0dXJuKDAsdC5qc3gpKHIuU3VzcGVuc2Use2NoaWxkcmVuOigwLHQuanN4KShzLHt9KX0pfV0pfV0pOw=="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/contact?_rsc=1399r","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.190Z","timestamp":1785136353190,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /contact?_rsc=1399r HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /contact\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"9d0481e19fa0ef49db74bbfc07f861f1\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /contact.segments/contact.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353198-fbf282cc3085\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1108,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0pqt~8bl3ukh4.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.520Z","timestamp":1785136352520,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0pqt~8bl3ukh4.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0pqt~8bl3ukh4.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"c621d697f789f9a625e80384da50359c\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0pqt~8bl3ukh4.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zklz5-1785136352525-1cc7a2e6cd84\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":44414,"size_decoded":10238,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (24405)","md5":"c621d697f789f9a625e80384da50359c","sha1":"21b6e9613cc917a5fa984be427364d03e5757cbc","sha256":"5261101892e2476e4346e19e86fd5f19cbcf7c765ff76e92eb9cefcc86b6db6a","sha512":"59a0ad4d3270e18ccc1178b7a1c8902793a70e88a518f01ce894d1d3335251953289630dcaa26b4c6d9a3b6bb5563b8845d5fabfc521878c382c7d2a56957ffa","ssdeep":"384:p7/A2dkTd93jBT0diRTRIpowbIBqjac/s+rPYjDExpCkKMny1V0U5+wQhKHAlwe4:BN8pcowkpc/s+zYXExp7ly1V0UVD","tlshash":"4513e7b132d4faa3539341e0e43f2016f2780d7520ad6470a7e89c9f754d88da6befa5","first_seen":"2026-03-18T18:55:57.705164Z","last_seen":"2026-07-29T12:53:51.358604Z","times_seen":11394,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDMyMDYxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtCYWlsb3V0VG9DU1JFcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxpc0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9IkJBSUxPVVRfVE9fQ0xJRU5UX1NJREVfUkVOREVSSU5HIjtjbGFzcyBvIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoYEJhaWwgb3V0IHRvIGNsaWVudC1zaWRlIHJlbmRlcmluZzogJHtlfWApLHRoaXMucmVhc29uPWUsdGhpcy5kaWdlc3Q9aX19ZnVuY3Rpb24gcyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJmUuZGlnZXN0PT09aX19LDU0Mzk0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtIVFRQQWNjZXNzRXJyb3JTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldEFjY2Vzc0ZhbGxiYWNrRXJyb3JUeXBlQnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgaT17Tk9UX0ZPVU5EOjQwNCxGT1JCSURERU46NDAzLFVOQVVUSE9SSVpFRDo0MDF9LG89bmV3IFNldChPYmplY3QudmFsdWVzKGkpKSxzPSJORVhUX0hUVFBfRVJST1JfRkFMTEJBQ0siO2Z1bmN0aW9uIHUoZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZXx8ISgiZGlnZXN0ImluIGUpfHwic3RyaW5nIiE9dHlwZW9mIGUuZGlnZXN0KXJldHVybiExO2xldFt0LHJdPWUuZGlnZXN0LnNwbGl0KCI7Iik7cmV0dXJuIHQ9PT1zJiZvLmhhcyhOdW1iZXIocikpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIE51bWJlcihlLmRpZ2VzdC5zcGxpdCgiOyIpWzFdKX1mdW5jdGlvbiBsKGUpe3N3aXRjaChlKXtjYXNlIDQwMTpyZXR1cm4idW5hdXRob3JpemVkIjtjYXNlIDQwMzpyZXR1cm4iZm9yYmlkZGVuIjtjYXNlIDQwNDpyZXR1cm4ibm90LWZvdW5kIjtkZWZhdWx0OnJldHVybn19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjU3MTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmV4dFJvdXRlckVycm9yIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1lLnIoNTQzOTQpLGE9ZS5yKDY4MzkxKTtmdW5jdGlvbiBpKGUpe3JldHVybigwLGEuaXNSZWRpcmVjdEVycm9yKShlKXx8KDAsbi5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzNjgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxOTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiB1fSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBvLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBkfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBpPWUucig3MTY0NSksbz1lLnIoMzY4MCkscz0oMCxpLmNyZWF0ZUNvbnRleHQpKG51bGwpLHU9KDAsaS5jcmVhdGVDb250ZXh0KShudWxsKSxjPSgwLGkuY3JlYXRlQ29udGV4dCkobnVsbCksbD0oMCxpLmNyZWF0ZUNvbnRleHQpKG51bGwpO2Z1bmN0aW9uIGQoZSx0KXtsZXQgcj1Qcm9taXNlLnJlc29sdmUodCk7cmV0dXJuIHIuc3RhdHVzPSJmdWxmaWxsZWQiLHIudmFsdWU9dCxyLmRpc3BsYXlOYW1lPWAke2V9IChTU1IpYCxyfX0sNDU5NTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtVbml0QXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPSgwLGUucig5MDMxNykuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDQyODUyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e1JlbmRlclN0YWdlOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LFN0YWdlZFJlbmRlcmluZ0NvbnRyb2xsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgaSBpbiBhKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGkse2VudW1lcmFibGU6ITAsZ2V0OmFbaV19KTtsZXQgbz1lLnIoMTI3MTgpLHM9ZS5yKDM5NDcwKTt2YXIgdT0oKG49e30pW24uQmVmb3JlPTFdPSJCZWZvcmUiLG5bbi5FYXJseVN0YXRpYz0yXT0iRWFybHlTdGF0aWMiLG5bbi5TdGF0aWM9M109IlN0YXRpYyIsbltuLkVhcmx5UnVudGltZT00XT0iRWFybHlSdW50aW1lIixuW24uUnVudGltZT01XT0iUnVudGltZSIsbltuLkR5bmFtaWM9Nl09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9N109IkFiYW5kb25lZCIsbik7Y2xhc3MgY3tjb25zdHJ1Y3RvcihlLHQscil7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuYWJhbmRvbkNvbnRyb2xsZXI9dCx0aGlzLnNob3VsZFRyYWNrU3luY0lPPXIsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN5bmNJbnRlcnJ1cHRSZWFzb249bnVsbCx0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT0xLzAsdGhpcy5ydW50aW1lU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnN0YXRpY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZWFybHlSdW50aW1lU3RhZ2VMaXN0ZW5lcnM9W10sdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnM9W10sdGhpcy5keW5hbWljU3RhZ2VMaXN0ZW5lcnM9W10sdGhpcy5zdGF0aWNTdGFnZVByb21pc2U9KDAscy5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSx0aGlzLmVhcmx5UnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLGUmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57bGV0e3JlYXNvbjp0fT1lO3RoaXMuc3RhdGljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5zdGF0aWNTdGFnZVByb21pc2UucmVqZWN0KHQpLHRoaXMuZWFybHlSdW50aW1lU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5lYXJseVJ1bnRpbWVTdGFnZVByb21pc2UucmVqZWN0KHQpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KX0se29uY2U6ITB9KSx0JiZ0LnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt0aGlzLmFiYW5kb25SZW5kZXIoKX0se29uY2U6ITB9KX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5zdGF0aWNTdGFnZUxpc3RlbmVycy5wdXNoKHQpO2Vsc2UgaWYoND09PWUpdGhpcy5lYXJseVJ1bnRpbWVTdGFnZUxpc3RlbmVycy5wdXNoKHQpO2Vsc2UgaWYoNT09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDY9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG8uSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9c2hvdWxkVHJhY2tTeW5jSW50ZXJydXB0KCl7aWYoIXRoaXMuc2hvdWxkVHJhY2tTeW5jSU8pcmV0dXJuITE7c3dpdGNoKHRoaXMuY3VycmVudFN0YWdlKXtjYXNlIDE6Y2FzZSA1OmNhc2UgNjpjYXNlIDc6ZGVmYXVsdDpyZXR1cm4hMTtjYXNlIDI6Y2FzZSAzOmNhc2UgNDpyZXR1cm4hMH19c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlJiY3IT09dGhpcy5jdXJyZW50U3RhZ2Upe2lmKHRoaXMuYWJhbmRvbkNvbnRyb2xsZXIpcmV0dXJuIHZvaWQgdGhpcy5hYmFuZG9uQ29udHJvbGxlci5hYm9ydCgpO2lmKHRoaXMuYWJvcnRTaWduYWwpe3RoaXMuc3luY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuY3VycmVudFN0YWdlPTc7cmV0dXJufXN3aXRjaCh0aGlzLmN1cnJlbnRTdGFnZSl7Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6dGhpcy5zeW5jSW50ZXJydXB0UmVhc29uPWUsdGhpcy5hZHZhbmNlU3RhZ2UoNik7cmV0dXJuO2Nhc2UgNTpyZXR1cm59fX1nZXRTeW5jSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3luY0ludGVycnVwdFJlYXNvbn1nZXRTdGF0aWNTdGFnZUVuZFRpbWUoKXtyZXR1cm4gdGhpcy5zdGF0aWNTdGFnZUVuZFRpbWV9Z2V0UnVudGltZVN0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWV9YWJhbmRvblJlbmRlcigpe2xldHtjdXJyZW50U3RhZ2U6ZX09dGhpcztzd2l0Y2goZSl7Y2FzZSAyOnRoaXMucmVzb2x2ZVN0YXRpY1N0YWdlKCk7Y2FzZSAzOnRoaXMucmVzb2x2ZUVhcmx5UnVudGltZVN0YWdlKCk7Y2FzZSA0OnRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO2Nhc2UgNTp0aGlzLmN1cnJlbnRTdGFnZT03O3JldHVybn19YWR2YW5jZVN0YWdlKGUpe2lmKGU8PXRoaXMuY3VycmVudFN0YWdlKXJldHVybjtsZXQgdD10aGlzLmN1cnJlbnRTdGFnZTtpZih0aGlzLmN1cnJlbnRTdGFnZT1lLHQ8MyYmZT49MyYmdGhpcy5yZXNvbHZlU3RhdGljU3RhZ2UoKSx0PDQmJmU+PTQmJnRoaXMucmVzb2x2ZUVhcmx5UnVudGltZVN0YWdlKCksdDw1JiZlPj01JiYodGhpcy5zdGF0aWNTdGFnZUVuZFRpbWU9cGVyZm9ybWFuY2Uubm93KCkrcGVyZm9ybWFuY2UudGltZU9yaWdpbix0aGlzLnJlc29sdmVSdW50aW1lU3RhZ2UoKSksdDw2JiZlPj02KXt0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9cGVyZm9ybWFuY2Uubm93KCkrcGVyZm9ybWFuY2UudGltZU9yaWdpbix0aGlzLnJlc29sdmVEeW5hbWljU3RhZ2UoKTtyZXR1cm59fXJlc29sdmVTdGF0aWNTdGFnZSgpe2xldCBlPXRoaXMuc3RhdGljU3RhZ2VMaXN0ZW5lcnM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpO2UubGVuZ3RoPTAsdGhpcy5zdGF0aWNTdGFnZVByb21pc2UucmVzb2x2ZSgpfXJlc29sdmVFYXJseVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMuZWFybHlSdW50aW1lU3RhZ2VMaXN0ZW5lcnM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpO2UubGVuZ3RoPTAsdGhpcy5lYXJseVJ1bnRpbWVTdGFnZVByb21pc2UucmVzb2x2ZSgpfXJlc29sdmVSdW50aW1lU3RhZ2UoKXtsZXQgZT10aGlzLnJ1bnRpbWVTdGFnZUxpc3RlbmVycztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdKCk7ZS5sZW5ndGg9MCx0aGlzLnJ1bnRpbWVTdGFnZVByb21pc2UucmVzb2x2ZSgpfXJlc29sdmVEeW5hbWljU3RhZ2UoKXtsZXQgZT10aGlzLmR5bmFtaWNTdGFnZUxpc3RlbmVycztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdKCk7ZS5sZW5ndGg9MCx0aGlzLmR5bmFtaWNTdGFnZVByb21pc2UucmVzb2x2ZSgpfWdldFN0YWdlUHJvbWlzZShlKXtzd2l0Y2goZSl7Y2FzZSAzOnJldHVybiB0aGlzLnN0YXRpY1N0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5lYXJseVJ1bnRpbWVTdGFnZVByb21pc2UucHJvbWlzZTtjYXNlIDU6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNjpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG8uSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLGk7bGV0IG8scz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsaT1yLG89bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsaSksdCl9KSx2b2lkIDAhPT1hJiYoby5kaXNwbGF5TmFtZT1hKSxvKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sNjIxNDEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBnfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGdldFNlcnZlckNvbXBvbmVudHNIbXJDYWNoZTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRTdGFnZWRSZW5kZXJpbmdDb250cm9sbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBofSxpc0luRWFybHlSZW5kZXJTdGFnZTpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gaS53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBpPWUucig0NTk1NSk7ZS5yKDIxNzY4KTtsZXQgbz1lLnIoMTI3MTgpLHM9ZS5yKDQyODUyKTtmdW5jdGlvbiB1KGUpe2xldCB0PWUuc3RhZ2VkUmVuZGVyaW5nO3JldHVybiEhdCYmKHQuY3VycmVudFN0YWdlPT09cy5SZW5kZXJTdGFnZS5FYXJseVN0YXRpY3x8dC5jdXJyZW50U3RhZ2U9PT1zLlJlbmRlclN0YWdlLkVhcmx5UnVudGltZSl9ZnVuY3Rpb24gYyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gbCgpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInZhbGlkYXRpb24tY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6cmV0dXJuIG51bGw7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZihlKXtzd2l0Y2goZS50eXBlKXtjYXNlInJlcXVlc3QiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UidmFsaWRhdGlvbi1jbGllbnQiOmlmKGUucmVuZGVyUmVzdW1lRGF0YUNhY2hlKXJldHVybiBlLnJlbmRlclJlc3VtZURhdGFDYWNoZTtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZT8/bnVsbDtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJnZW5lcmF0ZS1zdGF0aWMtcGFyYW1zIjpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBtKGUpe31mdW5jdGlvbiBoKGUpe3JldHVybiExfWZ1bmN0aW9uIHAoZSl7fWZ1bmN0aW9uIGcoZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gZS5zdGFnZWRSZW5kZXJpbmc/P251bGw7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJ2YWxpZGF0aW9uLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJnZW5lcmF0ZS1zdGF0aWMtcGFyYW1zIjpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBiKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UidmFsaWRhdGlvbi1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicmVxdWVzdCI6aWYoZS5jYWNoZVNpZ25hbClyZXR1cm4gZS5jYWNoZVNpZ25hbDtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlImdlbmVyYXRlLXN0YXRpYy1wYXJhbXMiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTM5NTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9ZS5yKDkwODA5KS5fKGUucig3MTY0NSkpLG89aS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gcyhlKXtsZXQgdD0oMCxpLnVzZUNvbnRleHQpKG8pO3QmJnQoZSl9fSwyMjc4MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig1NDM5NCksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBpKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA0MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmRpZ2VzdD1hLGV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzk4NTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgZm9yYmlkZGVuKClgIGlzIGV4cGVyaW1lbnRhbCBhbmQgb25seSBhbGxvd2VkIHRvIGJlIGVuYWJsZWQgd2hlbiBgZXhwZXJpbWVudGFsLmF1dGhJbnRlcnJ1cHRzYCBpcyBlbmFibGVkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZm9yYmlkZGVuIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoNTQzOTQpLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMjY4MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImB1bmF1dGhvcml6ZWQoKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgdXNlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0MTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bmF1dGhvcml6ZWQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1NDM5NCkuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE1NTA3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtpZigoMCxhLmlzTmV4dFJvdXRlckVycm9yKSh0KXx8KDAsbi5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KSl0aHJvdyB0O3QgaW5zdGFuY2VvZiBFcnJvciYmImNhdXNlImluIHQmJmUodC5jYXVzZSl9fX0pO2xldCBuPWUucigzMjA2MSksYT1lLnIoNjU3MTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYzMTM4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZWxheVVudGlsUnVudGltZVN0YWdlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGdldFJ1bnRpbWVTdGFnZTpmdW5jdGlvbigpe3JldHVybiBtfSxpc0hhbmdpbmdQcm9taXNlUmVqZWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gb30sbWFrZURldnRvb2xzSU9Bd2FyZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sbWFrZUhhbmdpbmdQcm9taXNlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9ZS5yKDQyODUyKTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1zfWxldCBzPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1zfX1sZXQgYz1uZXcgV2Vha01hcDtmdW5jdGlvbiBsKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBpPWEuYmluZChudWxsLG5ldyB1KHQscikpLG89Yy5nZXQoZSk7aWYobylvLnB1c2goaSk7ZWxzZXtsZXQgdD1baV07Yy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGYoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIGUuY3VycmVudFN0YWdlPT09aS5SZW5kZXJTdGFnZS5FYXJseVN0YXRpY3x8ZS5jdXJyZW50U3RhZ2U9PT1pLlJlbmRlclN0YWdlLkVhcmx5UnVudGltZT9pLlJlbmRlclN0YWdlLkVhcmx5UnVudGltZTppLlJlbmRlclN0YWdlLlJ1bnRpbWV9ZnVuY3Rpb24gaChlLHQpe2xldHtzdGFnZWRSZW5kZXJpbmc6cn09ZTtyZXR1cm4gcj9yLndhaXRGb3JTdGFnZShtKHIpKS50aGVuKCgpPT50KTp0fX0sNjcyODcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDc2MzUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gb30saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgaT0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIG8gZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9aX19ZnVuY3Rpb24gcyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09aX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MzI0OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBvIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPWl9fWZ1bmN0aW9uIHMoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09aX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDgzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBpfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBzfSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gb319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgaT0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLG89Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIixzPSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHU9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjk0MTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoNDcxNjcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIG99LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGkgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDphW2ldfSk7bGV0IG89ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0scz1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiB1KCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnMoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDI4OTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIklOU1RBTlRfVkFMSURBVElPTl9CT1VOREFSWV9OQU1FIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0iX19uZXh0X2luc3RhbnRfdmFsaWRhdGlvbl9ib3VuZGFyeV9fIn0sNjc2NzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYSxpLG89e0R5bmFtaWNIb2xlS2luZDpmdW5jdGlvbigpe3JldHVybiBafSxQb3N0cG9uZTpmdW5jdGlvbigpe3JldHVybiBUfSxQcmVsdWRlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZWl9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBqfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBIfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiAkfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBFfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIFh9LGNyZWF0ZUluc3RhbnRWYWxpZGF0aW9uU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gUX0sY3JlYXRlUmVuZGVySW5Ccm93c2VyQWJvcnRTaWduYWw6ZnVuY3Rpb24oKXtyZXR1cm4gQn0sZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldEZpcnN0RHluYW1pY1JlYXNvbjpmdW5jdGlvbigpe3JldHVybiB2fSxnZXROYXZpZ2F0aW9uRGlzYWxsb3dlZER5bmFtaWNSZWFzb25zOmZ1bmN0aW9uKCl7cmV0dXJuIGVjfSxnZXRTdGF0aWNTaGVsbERpc2FsbG93ZWREeW5hbWljUmVhc29uczpmdW5jdGlvbigpe3JldHVybiBldX0saXNEeW5hbWljUG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30saXNQcmVyZW5kZXJJbnRlcnJ1cHRlZEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIEl9LGxvZ0Rpc2FsbG93ZWREeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZW99LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gU30scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4geH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVzfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiBPfSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIEp9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gd30sdHJhY2tEeW5hbWljSG9sZUluTmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBlZX0sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIGVyfSx0cmFja0R5bmFtaWNIb2xlSW5TdGF0aWNTaGVsbDpmdW5jdGlvbigpe3JldHVybiBlbn0sdHJhY2tUaHJvd25FcnJvckluTmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBldH0sdXNlRHluYW1pY1JvdXRlUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIEZ9LHVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gV319O2Zvcih2YXIgcyBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLHMse2VudW1lcmFibGU6ITAsZ2V0Om9bc119KTtsZXQgdT0obj1lLnIoNzE2NDUpKSYmbi5fX2VzTW9kdWxlP246e2RlZmF1bHQ6bn0sYz1lLnIoNzYzNTMpLGw9ZS5yKDQzMjQ4KSxkPWUucig2MjE0MSksZj1lLnIoNjM1OTkpLG09ZS5yKDYzMTM4KSxoPWUucig1NDgzOSkscD1lLnIoMjk0MTkpLGc9ZS5yKDMyMDYxKSx5PWUucigxMjcxOCksYj1lLnIoMjg5NyksXz0iZnVuY3Rpb24iPT10eXBlb2YgdS5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lO2Z1bmN0aW9uIEUoZSl7cmV0dXJue2lzRGVidWdEeW5hbWljQWNjZXNzZXM6ZSxkeW5hbWljQWNjZXNzZXM6W10sc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjazpudWxsfX1mdW5jdGlvbiBSKCl7cmV0dXJue2hhc1N1c3BlbnNlQWJvdmVCb2R5OiExLGhhc0R5bmFtaWNNZXRhZGF0YTohMSxkeW5hbWljTWV0YWRhdGE6bnVsbCxoYXNEeW5hbWljVmlld3BvcnQ6ITEsaGFzQWxsb3dlZER5bmFtaWM6ITEsZHluYW1pY0Vycm9yczpbXX19ZnVuY3Rpb24gdihlKXt2YXIgdDtyZXR1cm4gbnVsbD09KHQ9ZS5keW5hbWljQWNjZXNzZXNbMF0pP3ZvaWQgMDp0LmV4cHJlc3Npb259ZnVuY3Rpb24gUyhlLHQscil7aWYodClzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnJldHVybn1pZighZS5mb3JjZUR5bmFtaWMmJiFlLmZvcmNlU3RhdGljKXtpZihlLmR5bmFtaWNTaG91bGRFcnJvcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGwuU3RhdGljR2VuQmFpbG91dEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHdpdGggXGBkeW5hbWljID0gImVycm9yIlxgIGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtyfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtpZih0KXN3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyLXBwciI6cmV0dXJuIHgoZS5yb3V0ZSxyLHQuZHluYW1pY1RyYWNraW5nKTtjYXNlInByZXJlbmRlci1sZWdhY3kiOnQucmV2YWxpZGF0ZT0wO2xldCBuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7ZS5yb3V0ZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgJHtyfS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvcmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNTUwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb249cixlLmR5bmFtaWNVc2FnZVN0YWNrPW4uc3RhY2ssbn19fWZ1bmN0aW9uIE8oZSx0LHIpe2xldCBuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7dC5yb3V0ZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgXGAke2V9XGAuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyByLnJldmFsaWRhdGU9MCx0LmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPWUsdC5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59ZnVuY3Rpb24gdyhlKXtzd2l0Y2goZS50eXBlKXtjYXNlImNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnJldHVybn19ZnVuY3Rpb24gUChlLHQscil7bGV0IG49TShgUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS5gKTtyLmNvbnRyb2xsZXIuYWJvcnQobik7bGV0IGE9ci5keW5hbWljVHJhY2tpbmc7YSYmYS5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6YS5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pfWZ1bmN0aW9uIGooZSx0LHIsbil7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7UChlLHQsbiksYSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX1mdW5jdGlvbiBEKGUsdCxyLG4pe2lmKCExPT09bi5jb250cm9sbGVyLnNpZ25hbC5hYm9ydGVkKXtQKGUsdCxuKTtsZXQgYT1uLmR5bmFtaWNUcmFja2luZzthJiZudWxsPT09YS5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrJiYoYS5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrPXIpfXRocm93IE0oYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCl9ZnVuY3Rpb24gVCh7cmVhc29uOmUscm91dGU6dH0pe2xldCByPWQud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTt4KHQsZSxyJiYicHJlcmVuZGVyLXBwciI9PT1yLnR5cGU/ci5keW5hbWljVHJhY2tpbmc6bnVsbCl9ZnVuY3Rpb24geChlLHQscil7KGZ1bmN0aW9uKCl7aWYoIV8pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJJbnZhcmlhbnQ6IFJlYWN0LnVuc3RhYmxlX3Bvc3Rwb25lIGlzIG5vdCBkZWZpbmVkLiBUaGlzIHN1Z2dlc3RzIHRoZSB3cm9uZyB2ZXJzaW9uIG9mIFJlYWN0IHdhcyBsb2FkZWQuIFRoaXMgaXMgYSBidWcgaW4gTmV4dC5qcyIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjI0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSkoKSxyJiZyLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtzdGFjazpyLmlzRGVidWdEeW5hbWljQWNjZXNzZXM/RXJyb3IoKS5zdGFjazp2b2lkIDAsZXhwcmVzc2lvbjp0fSksdS5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lKEEoZSx0KSl9ZnVuY3Rpb24gQShlLHQpe3JldHVybmBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBSZWFjdCB0aHJvd3MgdGhpcyBzcGVjaWFsIG9iamVjdCB0byBpbmRpY2F0ZSB3aGVyZS4gSXQgc2hvdWxkIG5vdCBiZSBjYXVnaHQgYnkgeW91ciBvd24gdHJ5L2NhdGNoLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yYH1mdW5jdGlvbiBDKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJzdHJpbmciPT10eXBlb2YgZS5tZXNzYWdlJiZOKGUubWVzc2FnZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5pbmNsdWRlcygibmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkIikmJmUuaW5jbHVkZXMoIkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3Bwci1jYXVnaHQtZXJyb3IiKX1pZighMT09PU4oQSgiJSUlIiwiXl5eIikpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBpc0R5bmFtaWNQb3N0cG9uZSBtaXNpZGVudGlmaWVkIGEgcG9zdHBvbmUgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI5NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgaz0iTkVYVF9QUkVSRU5ERVJfSU5URVJSVVBURUQiO2Z1bmN0aW9uIE0oZSl7bGV0IHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiB0LmRpZ2VzdD1rLHR9ZnVuY3Rpb24gSShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLmRpZ2VzdD09PWsmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGUmJmUgaW5zdGFuY2VvZiBFcnJvcn1mdW5jdGlvbiBMKGUpe3JldHVybiBlLmxlbmd0aD4wfWZ1bmN0aW9uICQoZSx0KXtyZXR1cm4gZS5keW5hbWljQWNjZXNzZXMucHVzaCguLi50LmR5bmFtaWNBY2Nlc3NlcyksZS5keW5hbWljQWNjZXNzZXN9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS5maWx0ZXIoZT0+InN0cmluZyI9PXR5cGVvZiBlLnN0YWNrJiZlLnN0YWNrLmxlbmd0aD4wKS5tYXAoKHtleHByZXNzaW9uOmUsc3RhY2s6dH0pPT4odD10LnNwbGl0KCJcbiIpLnNsaWNlKDQpLmZpbHRlcihlPT4hKGUuaW5jbHVkZXMoIm5vZGVfbW9kdWxlcy9uZXh0LyIpfHxlLmluY2x1ZGVzKCIgKDxhbm9ueW1vdXM+KSIpfHxlLmluY2x1ZGVzKCIgKG5vZGU6IikpKS5qb2luKCJcbiIpLGBEeW5hbWljIEFQSSBVc2FnZSBEZWJ1ZyAtICR7ZX06CiR7dH1gKSl9ZnVuY3Rpb24gQigpe2xldCBlPW5ldyBBYm9ydENvbnRyb2xsZXI7cmV0dXJuIGUuYWJvcnQoT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBnLkJhaWxvdXRUb0NTUkVycm9yKCJSZW5kZXIgaW4gQnJvd3NlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzIxIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pKSxlLnNpZ25hbH1mdW5jdGlvbiBYKGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpsZXQgdD1uZXcgQWJvcnRDb250cm9sbGVyO2lmKGUuY2FjaGVTaWduYWwpZS5jYWNoZVNpZ25hbC5pbnB1dFJlYWR5KCkudGhlbigoKT0+e3QuYWJvcnQoKX0pO2Vsc2UgaWYoInByZXJlbmRlci1ydW50aW1lIj09PWUudHlwZSYmZS5zdGFnZWRSZW5kZXJpbmcpe2xldHtzdGFnZWRSZW5kZXJpbmc6cn09ZTtyLndhaXRGb3JTdGFnZSgoMCxtLmdldFJ1bnRpbWVTdGFnZSkocikpLnRoZW4oKCk9PigwLHAuc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSl9ZWxzZSgwLHAuc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKTtyZXR1cm4gdC5zaWduYWw7Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInZhbGlkYXRpb24tY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6cmV0dXJufX1mdW5jdGlvbiBIKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEYoZSl7bGV0IHQ9Zi53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLG0ubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIHgodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInZhbGlkYXRpb24tY2xpZW50IjpjYXNlInByZXJlbmRlci1sZWdhY3kiOmNhc2UicmVxdWVzdCI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6YnJlYWs7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGR1cmluZyBhIHJ1bnRpbWUgcHJlcmVuZGVyLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgaW5zaWRlIGEgY2FjaGUgc2NvcGUuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImdlbmVyYXRlLXN0YXRpYy1wYXJhbXMiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbiBcYGdlbmVyYXRlU3RhdGljUGFyYW1zXGAuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnQgZmlsZXMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEzMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX19ZnVuY3Rpb24gVyhlKXtsZXQgdD1mLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKSxyPWQud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZih0KXN3aXRjaCghciYmKDAsZC50aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmUpKGUpLHIudHlwZSl7Y2FzZSJ2YWxpZGF0aW9uLWNsaWVudCI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm47Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp1LmRlZmF1bHQudXNlKCgwLG0ubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVhaztjYXNlInByZXJlbmRlci1sZWdhY3kiOmNhc2UicHJlcmVuZGVyLXBwciI6aWYodC5mb3JjZVN0YXRpYylyZXR1cm47dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBnLkJhaWxvdXRUb0NTUkVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZnJvbSBhIFNlcnZlciBDb21wb25lbnQuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc5NSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluIFxgZ2VuZXJhdGVTdGF0aWNQYXJhbXNcYC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudCBmaWxlcyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTMwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1sZXQgej0vXG5ccythdCBTdXNwZW5zZSBcKDxhbm9ueW1vdXM+XCkvLFY9UmVnRXhwKGBcXG5cXHMrYXQgU3VzcGVuc2UgXFwoPGFub255bW91cz5cXCkoPzooPyFcXG5cXHMrYXQgKD86Ym9keXxkaXZ8bWFpbnxzZWN0aW9ufGFydGljbGV8YXNpZGV8aGVhZGVyfGZvb3RlcnxuYXZ8Zm9ybXxwfHNwYW58aDF8aDJ8aDN8aDR8aDV8aDYpIFxcKDxhbm9ueW1vdXM+XFwpKVtcXHNcXFNdKSo/XFxuXFxzK2F0ICR7aC5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FfSBcXChbXlxcbl0qXFwpYCkscT1SZWdFeHAoYFxcblxccythdCAke2guTUVUQURBVEFfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLEc9UmVnRXhwKGBcXG5cXHMrYXQgJHtoLlZJRVdQT1JUX0JPVU5EQVJZX05BTUV9W1xcblxcc11gKSxZPVJlZ0V4cChgXFxuXFxzK2F0ICR7aC5PVVRMRVRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLEs9UmVnRXhwKGBcXG5cXHMrYXQgJHtiLklOU1RBTlRfVkFMSURBVElPTl9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gSihlLHQscixuKXtpZighWS50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihWLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZih6LnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgPFN1c3BlbnNlPi4gVGhpcyBkZWxheXMgdGhlIGVudGlyZSBwYWdlIGZyb20gcmVuZGVyaW5nLCByZXN1bHRpbmcgaW4gYSBzbG93IHVzZXIgZXhwZXJpZW5jZS4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYmxvY2tpbmctcm91dGVgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNzkiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxudWxsKTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fXZhciBaPSgoYT17fSlbYS5SdW50aW1lPTFdPSJSdW50aW1lIixhW2EuRHluYW1pYz0yXT0iRHluYW1pYyIsYSk7ZnVuY3Rpb24gUShlKXtyZXR1cm57aGFzRHluYW1pY01ldGFkYXRhOiExLGhhc0FsbG93ZWRDbGllbnREeW5hbWljQWJvdmVCb3VuZGFyeTohMSxkeW5hbWljTWV0YWRhdGE6bnVsbCxoYXNEeW5hbWljVmlld3BvcnQ6ITEsaGFzQWxsb3dlZER5bmFtaWM6ITEsZHluYW1pY0Vycm9yczpbXSx2YWxpZGF0aW9uUHJldmVudGluZ0Vycm9yczpbXSx0aHJvd25FcnJvcnNPdXRzaWRlQm91bmRhcnk6W10sY3JlYXRlSW5zdGFudFN0YWNrOmV9fWZ1bmN0aW9uIGVlKGUsdCxyLG4sYSxpKXtpZihZLnRlc3QodCkpcmV0dXJuO2lmKHEudGVzdCh0KSl7bGV0IG49ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSI6ICR7MT09PWE/IlJ1bnRpbWUgZGF0YSBzdWNoIGFzIGBjb29raWVzKClgLCBgaGVhZGVycygpYCwgYHBhcmFtc2AsIG9yIGBzZWFyY2hQYXJhbXNgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgYGdlbmVyYXRlTWV0YWRhdGFgIG9yIHlvdSBoYXZlIGZpbGUtYmFzZWQgbWV0YWRhdGEgc3VjaCBhcyBpY29ucyB0aGF0IGRlcGVuZCBvbiBkeW5hbWljIHBhcmFtcyBzZWdtZW50cy4iOiJVbmNhY2hlZCBkYXRhIG9yIGBjb25uZWN0aW9uKClgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgYGdlbmVyYXRlTWV0YWRhdGFgLiJ9IEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA3NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LHIuY3JlYXRlSW5zdGFudFN0YWNrKTtyLmR5bmFtaWNNZXRhZGF0YT1uO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPWVhKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgUm91dGUgIiR7ZS5yb3V0ZX0iOiAkezE9PT1hPyJSdW50aW1lIGRhdGEgc3VjaCBhcyBgY29va2llcygpYCwgYGhlYWRlcnMoKWAsIGBwYXJhbXNgLCBvciBgc2VhcmNoUGFyYW1zYCB3YXMgYWNjZXNzZWQgaW5zaWRlIGBnZW5lcmF0ZVZpZXdwb3J0YC4iOiJVbmNhY2hlZCBkYXRhIG9yIGBjb25uZWN0aW9uKClgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgYGdlbmVyYXRlVmlld3BvcnRgLiJ9IFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwODYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxyLmNyZWF0ZUluc3RhbnRTdGFjayk7ci5keW5hbWljRXJyb3JzLnB1c2gobik7cmV0dXJufWxldCBvPUsuZXhlYyh0KTtpZihvKXtsZXQgZT16LmV4ZWModCk7aWYoZSYmZS5pbmRleDxvLmluZGV4KXtyLmhhc0FsbG93ZWREeW5hbWljPSEwO3JldHVybn19ZWxzZSBpZihpLmV4cGVjdGVkSWRzLnNpemU9PT1pLnJlbmRlcmVkSWRzLnNpemUpe3IuaGFzQWxsb3dlZENsaWVudER5bmFtaWNBYm92ZUJvdW5kYXJ5PSEwLHIuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7bGV0IG49ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IENvdWxkIG5vdCB2YWxpZGF0ZSBcYHVuc3RhYmxlX2luc3RhbnRcYCBiZWNhdXNlIGEgQ2xpZW50IENvbXBvbmVudCBpbiBhIHBhcmVudCBzZWdtZW50IHByZXZlbnRlZCB0aGUgcGFnZSBmcm9tIHJlbmRlcmluZy5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwODIiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxyLmNyZWF0ZUluc3RhbnRTdGFjayk7ci52YWxpZGF0aW9uUHJldmVudGluZ0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spe2xldCBlPW4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaztudWxsIT09ci5jcmVhdGVJbnN0YW50U3RhY2smJnZvaWQgMD09PWUuY2F1c2UmJihlLmNhdXNlPXIuY3JlYXRlSW5zdGFudFN0YWNrKCkpLHIuZHluYW1pY0Vycm9ycy5wdXNoKGUpO3JldHVybn1sZXQgcz1lYShPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFJvdXRlICIke2Uucm91dGV9IjogJHsxPT09YT8iUnVudGltZSBkYXRhIHN1Y2ggYXMgYGNvb2tpZXMoKWAsIGBoZWFkZXJzKClgLCBgcGFyYW1zYCwgb3IgYHNlYXJjaFBhcmFtc2Agd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgYDxTdXNwZW5zZT5gLiI6IlVuY2FjaGVkIGRhdGEgb3IgYGNvbm5lY3Rpb24oKWAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgYDxTdXNwZW5zZT5gLiJ9IFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDc4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQsci5jcmVhdGVJbnN0YW50U3RhY2spO3IuZHluYW1pY0Vycm9ycy5wdXNoKHMpfWZ1bmN0aW9uIGV0KGUsdCxyLG4pe2xldCBhPUsuZXhlYyhuKTtpZihhKXtsZXQgaT16LmV4ZWMobik7aWYoaSYmaS5pbmRleDxhLmluZGV4KXJldHVybjtsZXQgbz1lYShPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFJvdXRlICIke2Uucm91dGV9IjogQ291bGQgbm90IHZhbGlkYXRlIFxgdW5zdGFibGVfaW5zdGFudFxgIGJlY2F1c2UgYW4gZXJyb3IgcHJldmVudGVkIHRoZSB0YXJnZXQgc2VnbWVudCBmcm9tIHJlbmRlcmluZy5gLHtjYXVzZTpyfSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4sbnVsbCk7dC52YWxpZGF0aW9uUHJldmVudGluZ0Vycm9ycy5wdXNoKG8pfWVsc2V7bGV0IGU9ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBhdHRlbXB0aW5nIHRvIHZhbGlkYXRlIGluc3RhbnQgVUkuIFRoaXMgZXJyb3IgbWF5IGJlIHByZXZlbnRpbmcgdGhlIHZhbGlkYXRpb24gZnJvbSBjb21wbGV0aW5nLiIse2NhdXNlOnJ9KSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbixudWxsKTt0LnRocm93bkVycm9yc091dHNpZGVCb3VuZGFyeS5wdXNoKGUpfX1mdW5jdGlvbiBlcihlLHQscixuKXtpZihZLnRlc3QodCkpcmV0dXJuO2lmKHEudGVzdCh0KSl7ci5keW5hbWljTWV0YWRhdGE9ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwODAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxudWxsKTtyZXR1cm59aWYoRy50ZXN0KHQpKXtsZXQgbj1lYShPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNzciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxudWxsKTtyLmR5bmFtaWNFcnJvcnMucHVzaChuKTtyZXR1cm59aWYoVi50ZXN0KHQpKXtyLmhhc0FsbG93ZWREeW5hbWljPSEwLHIuaGFzU3VzcGVuc2VBYm92ZUJvZHk9ITA7cmV0dXJufWlmKHoudGVzdCh0KSl7ci5oYXNBbGxvd2VkRHluYW1pYz0hMDtyZXR1cm59ZWxzZSBpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spcmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2gobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKTtsZXQgYT1lYShPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA4NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LG51bGwpO3IuZHluYW1pY0Vycm9ycy5wdXNoKGEpfWZ1bmN0aW9uIGVuKGUsdCxyLG4pe2lmKCFZLnRlc3QodCkpe2lmKHEudGVzdCh0KSl7ci5keW5hbWljTWV0YWRhdGE9ZWEoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA4NSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LG51bGwpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPWVhKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksdCxudWxsKTtyLmR5bmFtaWNFcnJvcnMucHVzaChuKTtyZXR1cm59aWYoVi50ZXN0KHQpKXtyLmhhc0FsbG93ZWREeW5hbWljPSEwLHIuaGFzU3VzcGVuc2VBYm92ZUJvZHk9ITA7cmV0dXJufWVsc2UgaWYoei50ZXN0KHQpKXtyLmhhc0FsbG93ZWREeW5hbWljPSEwO3JldHVybn1lbHNle2lmKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaylyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spO2xldCBhPWVhKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA4MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSx0LG51bGwpO3JldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKGEpfX19ZnVuY3Rpb24gZWEoZSx0LHIpe3JldHVybiBudWxsIT09ciYmKGUuY2F1c2U9cigpKSxlLnN0YWNrPWUubmFtZSsiOiAiK2UubWVzc2FnZSt0LGV9dmFyIGVpPSgoaT17fSlbaS5GdWxsPTBdPSJGdWxsIixpW2kuRW1wdHk9MV09IkVtcHR5IixpW2kuRXJyb3JlZD0yXT0iRXJyb3JlZCIsaSk7ZnVuY3Rpb24gZW8oZSx0KXtjb25zb2xlLmVycm9yKHQpLGNvbnNvbGUuZXJyb3IoYFRvIGdldCBhIG1vcmUgZGV0YWlsZWQgc3RhY2sgdHJhY2UgYW5kIHBpbnBvaW50IHRoZSBpc3N1ZSwgdHJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOgogIC0gU3RhcnQgdGhlIGFwcCBpbiBkZXZlbG9wbWVudCBtb2RlIGJ5IHJ1bm5pbmcgXGBuZXh0IGRldlxgLCB0aGVuIG9wZW4gIiR7ZS5yb3V0ZX0iIGluIHlvdXIgYnJvd3NlciB0byBpbnZlc3RpZ2F0ZSB0aGUgZXJyb3IuCiAgLSBSZXJ1biB0aGUgcHJvZHVjdGlvbiBidWlsZCB3aXRoIFxgbmV4dCBidWlsZCAtLWRlYnVnLXByZXJlbmRlclxgIHRvIGdlbmVyYXRlIGJldHRlciBzdGFjayB0cmFjZXMuYCl9ZnVuY3Rpb24gZXMoZSx0LHIsbil7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXRocm93IGVvKGUsbi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKSxuZXcgbC5TdGF0aWNHZW5CYWlsb3V0RXJyb3I7aWYoMCE9PXQpe2lmKHIuaGFzU3VzcGVuc2VBYm92ZUJvZHkpcmV0dXJuO2xldCBuPXIuZHluYW1pY0Vycm9ycztpZihuLmxlbmd0aD4wKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyllbyhlLG5bdF0pO3Rocm93IG5ldyBsLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBsLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGwuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGwuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV1KGUsdCxyLG4pe2lmKG58fHIuaGFzU3VzcGVuc2VBYm92ZUJvZHkpcmV0dXJuW107aWYoMCE9PXQpe2xldCBuPXIuZHluYW1pY0Vycm9ycztpZihuLmxlbmd0aD4wKXJldHVybiBuO2lmKDE9PT10KXJldHVybltPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFJvdXRlICIke2Uucm91dGV9IiBkaWQgbm90IHByb2R1Y2UgYSBzdGF0aWMgc2hlbGwgYW5kIE5leHQuanMgd2FzIHVuYWJsZSB0byBkZXRlcm1pbmUgYSByZWFzb24uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU5MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSldfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiYwPT09ci5keW5hbWljRXJyb3JzLmxlbmd0aCYmci5keW5hbWljTWV0YWRhdGEpcmV0dXJuW3IuZHluYW1pY01ldGFkYXRhXTtyZXR1cm5bXX1mdW5jdGlvbiBlYyhlLHQscixuLGEpe2lmKG4pe2xldHttaXNzaW5nU2FtcGxlRXJyb3JzOmV9PW47aWYoZS5sZW5ndGg+MClyZXR1cm4gZX1sZXR7dmFsaWRhdGlvblByZXZlbnRpbmdFcnJvcnM6aX09cjtpZihpLmxlbmd0aD4wKXJldHVybiBpO2lmKGEucmVuZGVyZWRJZHMuc2l6ZTxhLmV4cGVjdGVkSWRzLnNpemUpe2xldHt0aHJvd25FcnJvcnNPdXRzaWRlQm91bmRhcnk6dCxjcmVhdGVJbnN0YW50U3RhY2s6bn09cjtpZigwPT09dC5sZW5ndGgpe2xldCB0PWBSb3V0ZSAiJHtlLnJvdXRlfSI6IENvdWxkIG5vdCB2YWxpZGF0ZSBcYHVuc3RhYmxlX2luc3RhbnRcYCBiZWNhdXNlIHRoZSB0YXJnZXQgc2VnbWVudCB3YXMgcHJldmVudGVkIGZyb20gcmVuZGVyaW5nIGZvciBhbiB1bmtub3duIHJlYXNvbi5gLHI9bnVsbCE9PW4/bigpOkVycm9yKCk7cmV0dXJuIHIubmFtZT0iRXJyb3IiLHIubWVzc2FnZT10LFtyXX1pZigxPT09dC5sZW5ndGgpe2xldCByPWBSb3V0ZSAiJHtlLnJvdXRlfSI6IENvdWxkIG5vdCB2YWxpZGF0ZSBcYHVuc3RhYmxlX2luc3RhbnRcYCBiZWNhdXNlIHRoZSB0YXJnZXQgc2VnbWVudCB3YXMgcHJldmVudGVkIGZyb20gcmVuZGVyaW5nLCBsaWtlbHkgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3IuYCxhPW51bGwhPT1uP24oKTpFcnJvcigpO3JldHVybiBhLm5hbWU9IkVycm9yIixhLm1lc3NhZ2U9cixbYSx0WzBdXX17bGV0IHI9YFJvdXRlICIke2Uucm91dGV9IjogQ291bGQgbm90IHZhbGlkYXRlIFxgdW5zdGFibGVfaW5zdGFudFxgIGJlY2F1c2UgdGhlIHRhcmdldCBzZWdtZW50IHdhcyBwcmV2ZW50ZWQgZnJvbSByZW5kZXJpbmcsIGxpa2VseSBkdWUgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmcgZXJyb3JzLmAsYT1udWxsIT09bj9uKCk6RXJyb3IoKTtyZXR1cm4gYS5uYW1lPSJFcnJvciIsYS5tZXNzYWdlPXIsW2EsLi4udF19fWlmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm4gci5oYXNBbGxvd2VkQ2xpZW50RHluYW1pY0Fib3ZlQm91bmRhcnk/W106W09iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgUm91dGUgIiR7ZS5yb3V0ZX0iIGZhaWxlZCB0byByZW5kZXIgZHVyaW5nIGluc3RhbnQgdmFsaWRhdGlvbiBhbmQgTmV4dC5qcyB3YXMgdW5hYmxlIHRvIGRldGVybWluZSBhIHJlYXNvbi5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSldfWVsc2V7bGV0IGU9ci5keW5hbWljRXJyb3JzO2lmKGUubGVuZ3RoPjApcmV0dXJuIGU7aWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmR5bmFtaWNNZXRhZGF0YSlyZXR1cm5bci5keW5hbWljTWV0YWRhdGFdfXJldHVybltdfX0sOTE0MTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLG8uaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxpLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCx1LmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAscy5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAscy5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDYzMTM4KSxhPWUucig2NzI4NyksaT1lLnIoMzIwNjEpLG89ZS5yKDY1NzEzKSxzPWUucig2NzY3MyksdT1lLnIoNzYzNTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDkwNTA4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoOTE0MTQpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE1NTA3KS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDkyODA1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHUuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBvLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBvLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9ZS5yKDM2ODApLG89ZS5yKDI0MDYzKSxzPWUucigyMjc4MyksdT1lLnIoNzk4NTQpLGM9ZS5yKDIyNjgzKSxsPWUucig5MDUwOCk7ZnVuY3Rpb24gZCgpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3JgIGNhbiBvbmx5IGJlIHVzZWQgb24gdGhlIGNsaWVudC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1sZXQgZj17cHVzaDoicHVzaCIscmVwbGFjZToicmVwbGFjZSJ9OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc2NTYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBzLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gZC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gZC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGQubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGQucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGQucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBkLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIF99LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB5fSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBSfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGk9ZS5yKDkwODA5KS5fKGUucig3MTY0NSkpLG89ZS5yKDgzNzIpLHM9ZS5yKDYxOTk0KSx1PWUucigxMzI1OCksYz1lLnIoMTM5NTcpLGw9ZS5yKDkyODM4KSxkPWUucig5MjgwNSksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc2NzMpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAsbT0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc2NzMpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwLHtpbnN0cnVtZW50UGFyYW1zRm9yQ2xpZW50VmFsaWRhdGlvbjpoLGluc3RydW1lbnRTZWFyY2hQYXJhbXNGb3JDbGllbnRWYWxpZGF0aW9uOnAsZXhwZWN0Q29tcGxldGVQYXJhbXNJbkNsaWVudFZhbGlkYXRpb246Z309e307ZnVuY3Rpb24geSgpe20/LigidXNlU2VhcmNoUGFyYW1zKCkiKTtsZXQgZT0oMCxpLnVzZUNvbnRleHQpKHMuU2VhcmNoUGFyYW1zQ29udGV4dCk7cmV0dXJuKDAsaS51c2VNZW1vKSgoKT0+ZT9uZXcgcy5SZWFkb25seVVSTFNlYXJjaFBhcmFtcyhlKTpudWxsLFtlXSl9ZnVuY3Rpb24gYigpe3JldHVybiBmPy4oInVzZVBhdGhuYW1lKCkiKSwoMCxpLnVzZUNvbnRleHQpKHMuUGF0aG5hbWVDb250ZXh0KX1mdW5jdGlvbiBfKCl7bGV0IGU9KDAsaS51c2VDb250ZXh0KShvLkFwcFJvdXRlckNvbnRleHQpO2lmKG51bGw9PT1lKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGV4cGVjdGVkIGFwcCByb3V0ZXIgdG8gYmUgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjM4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlfWZ1bmN0aW9uIEUoKXtyZXR1cm4gZj8uKCJ1c2VQYXJhbXMoKSIpLCgwLGkudXNlQ29udGV4dCkocy5QYXRoUGFyYW1zQ29udGV4dCl9ZnVuY3Rpb24gUihlPSJjaGlsZHJlbiIpe2Y/LigidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cygpIik7bGV0IHQ9KDAsaS51c2VDb250ZXh0KShvLkxheW91dFJvdXRlckNvbnRleHQpO3JldHVybiB0PygwLHUuZ2V0U2VsZWN0ZWRMYXlvdXRTZWdtZW50UGF0aCkodC5wYXJlbnRUcmVlLGUpOm51bGx9ZnVuY3Rpb24gdihlPSJjaGlsZHJlbiIpe2Y/LigidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KCkiKSwoMCxpLnVzZUNvbnRleHQpKHMuTmF2aWdhdGlvblByb21pc2VzQ29udGV4dCk7bGV0IHQ9UihlKTtyZXR1cm4oMCx1LmNvbXB1dGVTZWxlY3RlZExheW91dFNlZ21lbnQpKHQsZSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":27,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":27,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0n.q~r5d-mmxn.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.531Z","timestamp":1785136352531,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0n.q~r5d-mmxn.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0n.q~r5d-mmxn.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"0f1c14bdc100b47fe5e12828255a9ad2\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0n.q~r5d-mmxn.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::hfd4l-1785136352538-4086835bfa45\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":54647,"size_decoded":13999,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (54645), with no line terminators","md5":"0f1c14bdc100b47fe5e12828255a9ad2","sha1":"c386cc35649819345104a3689366e8bc98ea4e89","sha256":"2b8e779e1b1bc0774e8df41a0b3bff6d4a23c17403012c626543b78b01909d2c","sha512":"2c27f78b157a0751753301c64871277b8bfbd3e9c411d78f82777a72775ac192976af979023891043f8adcb90cb9042f106811fa7444fb84584945fd4af05e74","ssdeep":"384:2s/Wst5gWTnrYV3uXeqbkJdeUtdaVmzlhjuNf9zXYpDuYNb4x2pk81FZTDxJRiGD:v/WstOoS3HSqD95hdFQcCDFZ1dqFY+V","tlshash":"db33da753295faa303db91d9c0370012f2780d7130ad64b4b395d8af399dd8a92faf69","first_seen":"2026-04-04T20:24:28.334703Z","last_seen":"2026-07-27T07:13:55.118078Z","times_seen":30,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTE1LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzM1MjUpfSw2ODAxNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBuPWUucig5MDgwOSksYT1lLnIoNDM0NzYpLG89bi5fKGUucig3MTY0NSkpLGk9ZS5yKDkwMzczKSxzPWUucig1NDM5NCk7ZS5yKDMzNTI1KTtsZXQgbD1lLnIoODM3Mik7Y2xhc3MgYyBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgbD1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLGM9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCx1PW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGx8fGN8fHU/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gdSh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxkPSgwLG8udXNlQ29udGV4dCkobC5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KShjLHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmQsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMjgyOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3MTY0NSk7ZnVuY3Rpb24gYShlLHQscil7bGV0W2Esb109KDAsbi51c2VTdGF0ZSkoKCk9Pih7dHJlZTplLGNhY2hlTm9kZTp0LHN0YXRlS2V5OnIsbmV4dDpudWxsfSkpO2lmKGEudHJlZT09PWUpcmV0dXJuIGE7bGV0IGk9e3RyZWU6ZSxjYWNoZU5vZGU6dCxzdGF0ZUtleTpyLG5leHQ6bnVsbH0scz0xLGw9YSxjPWk7Zm9yKDtudWxsIT09bCYmczwxOyl7aWYobC5zdGF0ZUtleT09PXIpe2MubmV4dD1sLm5leHQ7YnJlYWt9e3MrKztsZXQgZT17dHJlZTpsLnRyZWUsY2FjaGVOb2RlOmwuY2FjaGVOb2RlLHN0YXRlS2V5Omwuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9bD1sLm5leHR9cmV0dXJuIG8oaSksaX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzOTc1NiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TG9hZGluZ0JvdW5kYXJ5UHJvdmlkZXI6ZnVuY3Rpb24oKXtyZXR1cm4gan0sZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBBfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig1NTY4MiksaT1lLnIoOTA4MDkpLHM9ZS5yKDQzNDc2KSxsPWkuXyhlLnIoNzE2NDUpKSxjPW8uXyhlLnIoNzQwODApKSx1PWUucig4MzcyKSxkPWUucigxNTA3MyksZj1lLnIoNzIzODMpLHA9ZS5yKDkxOTE1KSxtPWUucig1ODQ0MiksaD1lLnIoNjgwMTcpLGc9ZS5yKDcwNzI1KSx5PWUucigyODI5OCk7ZS5yKDc0MTgwKTtsZXQgYj1lLnIoNjE5OTQpLFA9ZS5yKDMzOTA2KSxfPWUucig5NTg3MSksdj1jLmRlZmF1bHQuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLEU9WyJib3R0b20iLCJoZWlnaHQiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJ3aWR0aCIsIngiLCJ5Il07ZnVuY3Rpb24gUihlLHQpe2xldCByPWUuZ2V0Q2xpZW50UmVjdHMoKTtpZigwPT09ci5sZW5ndGgpcmV0dXJuITE7bGV0IG49MS8wO2ZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXtsZXQgdD1yW2VdO3QudG9wPG4mJihuPXQudG9wKX1yZXR1cm4gbj49MCYmbjw9dH1jbGFzcyBPIGV4dGVuZHMgbC5kZWZhdWx0LkNvbXBvbmVudHtjb21wb25lbnREaWRNb3VudCgpe3RoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKCl9Y29tcG9uZW50RGlkVXBkYXRlKCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbn1jb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbD0oKT0+e2xldHtmb2N1c0FuZFNjcm9sbFJlZjplLGNhY2hlTm9kZTp0fT10aGlzLnByb3BzLHI9ZS5mb3JjZVNjcm9sbD9lLnNjcm9sbFJlZjp0LnNjcm9sbFJlZjtpZihudWxsPT09cnx8IXIuY3VycmVudClyZXR1cm47bGV0IG49bnVsbCxhPWUuaGFzaEZyYWdtZW50O2lmKGEmJihuPSJ0b3AiPT09YT9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpPz9kb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShhKVswXSksbnx8KG49InUiPHR5cGVvZiB3aW5kb3c/bnVsbDooMCx2LmZpbmRET01Ob2RlKSh0aGlzKSksbiBpbnN0YW5jZW9mIEVsZW1lbnQpe2Zvcig7IShuIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpfHxmdW5jdGlvbihlKXtpZihbInN0aWNreSIsImZpeGVkIl0uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlKS5wb3NpdGlvbikpcmV0dXJuITA7bGV0IHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gRS5ldmVyeShlPT4wPT09dFtlXSl9KG4pOyl7aWYobnVsbD09PW4ubmV4dEVsZW1lbnRTaWJsaW5nKXJldHVybjtuPW4ubmV4dEVsZW1lbnRTaWJsaW5nfXIuY3VycmVudD0hMSwoMCxwLmRpc2FibGVTbW9vdGhTY3JvbGxEdXJpbmdSb3V0ZVRyYW5zaXRpb24pKCgpPT57aWYoYSlyZXR1cm4gdm9pZCBuLnNjcm9sbEludG9WaWV3KCk7bGV0IGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQ9ZS5jbGllbnRIZWlnaHQ7IVIobix0KSYmKGUuc2Nyb2xsVG9wPTAsUihuLHQpfHxuLnNjcm9sbEludG9WaWV3KCkpfSx7ZG9udEZvcmNlTGF5b3V0OiEwLG9ubHlIYXNoQ2hhbmdlOmUub25seUhhc2hDaGFuZ2V9KSxlLm9ubHlIYXNoQ2hhbmdlPSExLGUuaGFzaEZyYWdtZW50PW51bGwsbi5mb2N1cygpfX19fWZ1bmN0aW9uIHcoe2NoaWxkcmVuOmUsY2FjaGVOb2RlOnR9KXtsZXQgcj0oMCxsLnVzZUNvbnRleHQpKHUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIXIpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZ2xvYmFsIGxheW91dCByb3V0ZXIgbm90IG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4oMCxzLmpzeCkoTyx7Zm9jdXNBbmRTY3JvbGxSZWY6ci5mb2N1c0FuZFNjcm9sbFJlZixjYWNoZU5vZGU6dCxjaGlsZHJlbjplfSl9ZnVuY3Rpb24gUyh7dHJlZTplLHNlZ21lbnRQYXRoOnQsZGVidWdOYW1lQ29udGV4dDpyLGNhY2hlTm9kZTpuLHBhcmFtczphLHVybDpvLGlzQWN0aXZlOml9KXtsZXQgYyxmPSgwLGwudXNlQ29udGV4dCkodS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZigoMCxsLnVzZUNvbnRleHQpKGIuTmF2aWdhdGlvblByb21pc2VzQ29udGV4dCksIWYpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZ2xvYmFsIGxheW91dCByb3V0ZXIgbm90IG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcD1udWxsIT09bj9uOigwLGwudXNlKShkLnVucmVzb2x2ZWRUaGVuYWJsZSksbT1udWxsIT09cC5wcmVmZXRjaFJzYz9wLnByZWZldGNoUnNjOnAucnNjLGg9KDAsbC51c2VEZWZlcnJlZFZhbHVlKShwLnJzYyxtKTtpZigoMCxfLmlzRGVmZXJyZWRSc2MpKGgpKXtsZXQgZT0oMCxsLnVzZSkoaCk7bnVsbD09PWUmJigwLGwudXNlKShkLnVucmVzb2x2ZWRUaGVuYWJsZSksYz1lfWVsc2UgbnVsbD09PWgmJigwLGwudXNlKShkLnVucmVzb2x2ZWRUaGVuYWJsZSksYz1oO2xldCBnPWM7cmV0dXJuKDAscy5qc3gpKHUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6e3BhcmVudFRyZWU6ZSxwYXJlbnRDYWNoZU5vZGU6cCxwYXJlbnRTZWdtZW50UGF0aDp0LHBhcmVudFBhcmFtczphLHBhcmVudExvYWRpbmdEYXRhOm51bGwsZGVidWdOYW1lQ29udGV4dDpyLHVybDpvLGlzQWN0aXZlOml9LGNoaWxkcmVuOmd9KX1mdW5jdGlvbiBqKHtsb2FkaW5nOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGwudXNlKSh1LkxheW91dFJvdXRlckNvbnRleHQpO3JldHVybiBudWxsPT09cj90OigwLHMuanN4KSh1LkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOnIucGFyZW50VHJlZSxwYXJlbnRDYWNoZU5vZGU6ci5wYXJlbnRDYWNoZU5vZGUscGFyZW50U2VnbWVudFBhdGg6ci5wYXJlbnRTZWdtZW50UGF0aCxwYXJlbnRQYXJhbXM6ci5wYXJlbnRQYXJhbXMscGFyZW50TG9hZGluZ0RhdGE6ZSxkZWJ1Z05hbWVDb250ZXh0OnIuZGVidWdOYW1lQ29udGV4dCx1cmw6ci51cmwsaXNBY3RpdmU6ci5pc0FjdGl2ZX0sY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEMoe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2lmKG51bGwhPT10KXtsZXQgbj10WzBdLGE9dFsxXSxvPXRbMl07cmV0dXJuKDAscy5qc3gpKGwuU3VzcGVuc2Use25hbWU6ZSxmYWxsYmFjazooMCxzLmpzeHMpKHMuRnJhZ21lbnQse2NoaWxkcmVuOlthLG8sbl19KSxjaGlsZHJlbjpyfSl9cmV0dXJuKDAscy5qc3gpKHMuRnJhZ21lbnQse2NoaWxkcmVuOnJ9KX1mdW5jdGlvbiBBKHtwYXJhbGxlbFJvdXRlcktleTplLGVycm9yOnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bix0ZW1wbGF0ZVN0eWxlczphLHRlbXBsYXRlU2NyaXB0czpvLHRlbXBsYXRlOmksbm90Rm91bmQ6Yyxmb3JiaWRkZW46cCx1bmF1dGhvcml6ZWQ6YixzZWdtZW50Vmlld0JvdW5kYXJpZXM6X30pe2xldCB2PSgwLGwudXNlQ29udGV4dCkodS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighdil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBsYXlvdXQgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldHtwYXJlbnRUcmVlOkUscGFyZW50Q2FjaGVOb2RlOlIscGFyZW50U2VnbWVudFBhdGg6TyxwYXJlbnRQYXJhbXM6aixwYXJlbnRMb2FkaW5nRGF0YTp4LHVybDprLGlzQWN0aXZlOlQsZGVidWdOYW1lQ29udGV4dDpOfT12LEQ9RVswXSxNPW51bGw9PT1PP1tlXTpPLmNvbmNhdChbRCxlXSksST1FWzFdW2VdLEY9Ui5zbG90czsodm9pZCAwPT09SXx8bnVsbD09PUYpJiYoMCxsLnVzZSkoZC51bnJlc29sdmVkVGhlbmFibGUpO2xldCAkPUlbMF0sTD1GW2VdPz9udWxsLFU9KDAsZy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoJCwhMCksWD0oMCx5LnVzZVJvdXRlckJGQ2FjaGUpKEksTCxVKSxIPVtdO2Rve2xldCBlPVgudHJlZSxsPVguY2FjaGVOb2RlLGQ9WC5zdGF0ZUtleSxnPWVbMF0seT1qO2lmKEFycmF5LmlzQXJyYXkoZykpe2xldCBlPWdbMF0sdD1nWzFdLHI9Z1syXSxuPSgwLFAuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKHk9ey4uLmosW2VdOm59KX1sZXQgXz1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihfX1NMT1RfXykiPT09ZSlyZXR1cm47ZWxzZSByZXR1cm4gZSsiLyI7cmV0dXJuIGVbMV0rIi8ifShnKSx2PV8/P04sRT12b2lkIDA9PT1fP3ZvaWQgMDpOLFI9KDAscy5qc3hzKSh3LHtjYWNoZU5vZGU6bCxjaGlsZHJlbjpbKDAscy5qc3gpKGYuRXJyb3JCb3VuZGFyeSx7ZXJyb3JDb21wb25lbnQ6dCxlcnJvclN0eWxlczpyLGVycm9yU2NyaXB0czpuLGNoaWxkcmVuOigwLHMuanN4KShDLHtuYW1lOkUsbG9hZGluZzp4LGNoaWxkcmVuOigwLHMuanN4KShoLkhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5LHtub3RGb3VuZDpjLGZvcmJpZGRlbjpwLHVuYXV0aG9yaXplZDpiLGNoaWxkcmVuOigwLHMuanN4cykobS5SZWRpcmVjdEJvdW5kYXJ5LHtjaGlsZHJlbjpbKDAscy5qc3gpKFMse3VybDprLHRyZWU6ZSxwYXJhbXM6eSxjYWNoZU5vZGU6bCxzZWdtZW50UGF0aDpNLGRlYnVnTmFtZUNvbnRleHQ6dixpc0FjdGl2ZTpUJiZkPT09VX0pLG51bGxdfSl9KX0pfSksbnVsbF19KSxPPSgwLHMuanN4cykodS5UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOlIsY2hpbGRyZW46W2EsbyxpXX0sZCk7SC5wdXNoKE8pLFg9WC5uZXh0fXdoaWxlKG51bGwhPT1YKXJldHVybiBIfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM3NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTA4MDkpLGE9ZS5yKDQzNDc2KSxvPW4uXyhlLnIoNzE2NDUpKSxpPWUucig4MzcyKTtmdW5jdGlvbiBzKCl7bGV0IGU9KDAsby51c2VDb250ZXh0KShpLlRlbXBsYXRlQ29udGV4dCk7cmV0dXJuKDAsYS5qc3gpKGEuRnJhZ21lbnQse2NoaWxkcmVuOmV9KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw5MzUwNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY2OTk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoOTM1MDQpLmNyZWF0ZVJlbmRlclNlYXJjaFBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjgzMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk3Njg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNjgzMSkuY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NjM3MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17YWNjdW11bGF0ZVJvb3RWYXJ5UGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4geX0sYWNjdW11bGF0ZVZhcnlQYXJhbTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVSZXNwb25zZVZhcnlQYXJhbXNBY2N1bXVsYXRvcjpmdW5jdGlvbigpe3JldHVybiBjfSxjcmVhdGVWYXJ5UGFyYW1zQWNjdW11bGF0b3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sY3JlYXRlVmFyeWluZ1BhcmFtczpmdW5jdGlvbigpe3JldHVybiBifSxjcmVhdGVWYXJ5aW5nU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFB9LGVtcHR5VmFyeVBhcmFtc0FjY3VtdWxhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGZpbmlzaEFjY3VtdWxhdGluZ1ZhcnlQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZ2V0TWV0YWRhdGFWYXJ5UGFyYW1zQWNjdW11bGF0b3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0TWV0YWRhdGFWYXJ5UGFyYW1zVGhlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sZ2V0Um9vdFBhcmFtc1ZhcnlQYXJhbXNBY2N1bXVsYXRvcjpmdW5jdGlvbigpe3JldHVybiBofSxnZXRWYXJ5UGFyYW1zVGhlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZ2V0Vmlld3BvcnRWYXJ5UGFyYW1zQWNjdW11bGF0b3I6ZnVuY3Rpb24oKXtyZXR1cm4gbX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoNjIxNDEpO2Z1bmN0aW9uIGkoKXtsZXQgZT17dmFyeVBhcmFtczpuZXcgU2V0LHN0YXR1czoicGVuZGluZyIsdmFsdWU6bmV3IFNldCx0aGVuKHQpe3QmJigicGVuZGluZyI9PT1lLnN0YXR1cz9lLnJlc29sdmVycy5wdXNoKHQpOnQoZS52YWx1ZSkpfSxyZXNvbHZlcnM6W119O3JldHVybiBlfWxldCBzPW5ldyBTZXQsbD17dmFyeVBhcmFtczpzLHN0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpzLHRoZW4oZSl7ZSYmZShzKX0scmVzb2x2ZXJzOltdfTtmdW5jdGlvbiBjKCl7bGV0IGU9aSgpO3JldHVybntoZWFkOmUscm9vdFBhcmFtczppKCksc2VnbWVudHM6bmV3IFNldH19ZnVuY3Rpb24gdSgpe2xldCBlPW8ud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihlKXN3aXRjaChlLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjp7bGV0IHQ9ZS52YXJ5UGFyYW1zQWNjdW11bGF0b3I7aWYobnVsbCE9PXQpe2xldCBlPWkoKTtyZXR1cm4gdC5zZWdtZW50cy5hZGQoZSksZX19fXJldHVybiBudWxsfWZ1bmN0aW9uIGQoKXtsZXQgZT1vLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYoZSlzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6e2xldCB0PWUudmFyeVBhcmFtc0FjY3VtdWxhdG9yO2lmKG51bGwhPT10KXJldHVybiB0LmhlYWR9fXJldHVybiBudWxsfWZ1bmN0aW9uIGYoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gcCgpe2xldCBlPWQoKTtyZXR1cm4gbnVsbCE9PWU/ZTpudWxsfWxldCBtPWQ7ZnVuY3Rpb24gaCgpe2xldCBlPW8ud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihlKXN3aXRjaChlLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjp7bGV0IHQ9ZS52YXJ5UGFyYW1zQWNjdW11bGF0b3I7aWYobnVsbCE9PXQpcmV0dXJuIHQucm9vdFBhcmFtc319cmV0dXJuIG51bGx9ZnVuY3Rpb24gZyhlLHQpe2UudmFyeVBhcmFtcy5hZGQodCl9ZnVuY3Rpb24geShlKXtsZXQgdD1oKCk7bnVsbCE9PXQmJmcodCxlKX1mdW5jdGlvbiBiKGUsdCxyKXtpZihudWxsIT09cilyZXR1cm4gbmV3IFByb3h5KHQse2dldDoodCxuLGEpPT4oInN0cmluZyI9PXR5cGVvZiBuJiYobj09PXJ8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pKSYmZyhlLG4pLFJlZmxlY3QuZ2V0KHQsbixhKSksaGFzOih0LG4pPT4obj09PXImJmcoZSxyKSxSZWZsZWN0Lmhhcyh0LG4pKSxvd25LZXlzOnQ9PihnKGUsciksUmVmbGVjdC5vd25LZXlzKHQpKX0pO2xldCBuPXt9O2ZvcihsZXQgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHIse2dldDooKT0+KGcoZSxyKSx0W3JdKSxlbnVtZXJhYmxlOiEwfSk7cmV0dXJuIG59ZnVuY3Rpb24gUChlLHQpe2xldCByPXt9O2ZvcihsZXQgbiBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG4se2dldDooKT0+KGcoZSwiPyIpLHRbbl0pLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gcn1hc3luYyBmdW5jdGlvbiBfKGUpe2xldCB0PWUucm9vdFBhcmFtcy52YXJ5UGFyYW1zO2ZvcihsZXQgciBvZih2KGUuaGVhZCx0KSxlLnNlZ21lbnRzKSl2KHIsdCk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCl9ZnVuY3Rpb24gdihlLHQpe2lmKCJwZW5kaW5nIiE9PWUuc3RhdHVzKXJldHVybjtsZXQgcj1uZXcgU2V0KGUudmFyeVBhcmFtcyk7Zm9yKGxldCBlIG9mIHQpci5hZGQoZSk7Zm9yKGxldCB0IG9mKGUudmFsdWU9cixlLnN0YXR1cz0iZnVsZmlsbGVkIixlLnJlc29sdmVycykpdChyKTtlLnJlc29sdmVycz1bXX19LDQyNzE1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWZsZWN0QWRhcHRlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbntzdGF0aWMgZ2V0KGUsdCxyKXtsZXQgbj1SZWZsZWN0LmdldChlLHQscik7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5iaW5kKGUpOm59c3RhdGljIHNldChlLHQscixuKXtyZXR1cm4gUmVmbGVjdC5zZXQoZSx0LHIsbil9c3RhdGljIGhhcyhlLHQpe3JldHVybiBSZWZsZWN0LmhhcyhlLHQpfXN0YXRpYyBkZWxldGVQcm9wZXJ0eShlLHQpe3JldHVybiBSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KGUsdCl9fX0sNzYzNjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWZ1bmN0aW9uKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZihudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm57ZGVmYXVsdDplfTt2YXIgdD1hKHZvaWQgMCk7aWYodCYmdC5oYXMoZSkpcmV0dXJuIHQuZ2V0KGUpO3ZhciByPXtfX3Byb3RvX186bnVsbH0sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBvIGluIGUpaWYoImRlZmF1bHQiIT09byYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbykpe3ZhciBpPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG8pOm51bGw7aSYmKGkuZ2V0fHxpLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyxpKTpyW29dPWVbb119cmV0dXJuIHIuZGVmYXVsdD1lLHQmJnQuc2V0KGUscikscn0oZS5yKDcxNjQ1KSk7ZnVuY3Rpb24gYShlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgV2Vha01hcClyZXR1cm4gbnVsbDt2YXIgdD1uZXcgV2Vha01hcCxyPW5ldyBXZWFrTWFwO3JldHVybihhPWZ1bmN0aW9uKGUpe3JldHVybiBlP3I6dH0pKGUpfWxldCBvPXtjdXJyZW50Om51bGx9LGk9ImZ1bmN0aW9uIj09dHlwZW9mIG4uY2FjaGU/bi5jYWNoZTplPT5lLHM9Y29uc29sZS53YXJuO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGZ1bmN0aW9uKC4uLnQpe3MoZSguLi50KSl9fWkoZT0+e3RyeXtzKG8uY3VycmVudCl9ZmluYWxseXtvLmN1cnJlbnQ9bnVsbH19KX0sNjU5MzIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2Rlc2NyaWJlSGFzQ2hlY2tpbmdTdHJpbmdQcm9wZXJ0eTpmdW5jdGlvbigpe3JldHVybiBzfSxkZXNjcmliZVN0cmluZ1Byb3BlcnR5QWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdlbGxLbm93blByb3BlcnRpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0vXltBLVphLXpfJF1bQS1aYS16MC05XyRdKiQvO2Z1bmN0aW9uIGkoZSx0KXtyZXR1cm4gby50ZXN0KHQpP2BcYCR7ZX0uJHt0fVxgYDpgXGAke2V9WyR7SlNPTi5zdHJpbmdpZnkodCl9XVxgYH1mdW5jdGlvbiBzKGUsdCl7bGV0IHI9SlNPTi5zdHJpbmdpZnkodCk7cmV0dXJuYFxgUmVmbGVjdC5oYXMoJHtlfSwgJHtyfSlcYCwgXGAke3J9IGluICR7ZX1cYCwgb3Igc2ltaWxhcmB9bGV0IGw9bmV3IFNldChbImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidG9TdHJpbmciLCJ2YWx1ZU9mIiwidG9Mb2NhbGVTdHJpbmciLCJ0aGVuIiwiY2F0Y2giLCJmaW5hbGx5Iiwic3RhdHVzIiwiZGlzcGxheU5hbWUiLCJfZGVidWdJbmZvIiwidG9KU09OIiwiJCR0eXBlb2YiLCJfX2VzTW9kdWxlIiwiQEBpdGVyYXRvciJdKX0sODMwNjYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoOTAzMTcpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSw0MTY0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoODMwNjYpfSw1MDk5OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiBjfSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoNDMyNDgpLGk9ZS5yKDQxNjQzKTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gYygpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sMjg2NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QuZGVmaW5lUHJvcGVydHksYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLG89T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMsaT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHM9e30sbD17UmVxdWVzdENvb2tpZXM6KCk9PmgsUmVzcG9uc2VDb29raWVzOigpPT5nLHBhcnNlQ29va2llOigpPT5kLHBhcnNlU2V0Q29va2llOigpPT5mLHN0cmluZ2lmeUNvb2tpZTooKT0+dX07Zm9yKHZhciBjIGluIGwpbihzLGMse2dldDpsW2NdLGVudW1lcmFibGU6ITB9KTtmdW5jdGlvbiB1KGUpe3ZhciB0O2xldCByPVsicGF0aCJpbiBlJiZlLnBhdGgmJmBQYXRoPSR7ZS5wYXRofWAsImV4cGlyZXMiaW4gZSYmKGUuZXhwaXJlc3x8MD09PWUuZXhwaXJlcykmJmBFeHBpcmVzPSR7KCJudW1iZXIiPT10eXBlb2YgZS5leHBpcmVzP25ldyBEYXRlKGUuZXhwaXJlcyk6ZS5leHBpcmVzKS50b1VUQ1N0cmluZygpfWAsIm1heEFnZSJpbiBlJiYibnVtYmVyIj09dHlwZW9mIGUubWF4QWdlJiZgTWF4LUFnZT0ke2UubWF4QWdlfWAsImRvbWFpbiJpbiBlJiZlLmRvbWFpbiYmYERvbWFpbj0ke2UuZG9tYWlufWAsInNlY3VyZSJpbiBlJiZlLnNlY3VyZSYmIlNlY3VyZSIsImh0dHBPbmx5ImluIGUmJmUuaHR0cE9ubHkmJiJIdHRwT25seSIsInNhbWVTaXRlImluIGUmJmUuc2FtZVNpdGUmJmBTYW1lU2l0ZT0ke2Uuc2FtZVNpdGV9YCwicGFydGl0aW9uZWQiaW4gZSYmZS5wYXJ0aXRpb25lZCYmIlBhcnRpdGlvbmVkIiwicHJpb3JpdHkiaW4gZSYmZS5wcmlvcml0eSYmYFByaW9yaXR5PSR7ZS5wcmlvcml0eX1gXS5maWx0ZXIoQm9vbGVhbiksbj1gJHtlLm5hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KG51bGwhPSh0PWUudmFsdWUpP3Q6IiIpfWA7cmV0dXJuIDA9PT1yLmxlbmd0aD9uOmAke259OyAke3Iuam9pbigiOyAiKX1gfWZ1bmN0aW9uIGQoZSl7bGV0IHQ9bmV3IE1hcDtmb3IobGV0IHIgb2YgZS5zcGxpdCgvOyAqLykpe2lmKCFyKWNvbnRpbnVlO2xldCBlPXIuaW5kZXhPZigiPSIpO2lmKC0xPT09ZSl7dC5zZXQociwidHJ1ZSIpO2NvbnRpbnVlfWxldFtuLGFdPVtyLnNsaWNlKDAsZSksci5zbGljZShlKzEpXTt0cnl7dC5zZXQobixkZWNvZGVVUklDb21wb25lbnQobnVsbCE9YT9hOiJ0cnVlIikpfWNhdGNoe319cmV0dXJuIHR9ZnVuY3Rpb24gZihlKXtpZighZSlyZXR1cm47bGV0W1t0LHJdLC4uLm5dPWQoZSkse2RvbWFpbjphLGV4cGlyZXM6byxodHRwb25seTppLG1heGFnZTpzLHBhdGg6bCxzYW1lc2l0ZTpjLHNlY3VyZTp1LHBhcnRpdGlvbmVkOmYscHJpb3JpdHk6aH09T2JqZWN0LmZyb21FbnRyaWVzKG4ubWFwKChbZSx0XSk9PltlLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvLS9nLCIiKSx0XSkpO3t2YXIgZyx5LGI9e25hbWU6dCx2YWx1ZTpkZWNvZGVVUklDb21wb25lbnQociksZG9tYWluOmEsLi4ubyYme2V4cGlyZXM6bmV3IERhdGUobyl9LC4uLmkmJntodHRwT25seTohMH0sLi4uInN0cmluZyI9PXR5cGVvZiBzJiZ7bWF4QWdlOk51bWJlcihzKX0scGF0aDpsLC4uLmMmJntzYW1lU2l0ZTpwLmluY2x1ZGVzKGc9KGc9YykudG9Mb3dlckNhc2UoKSk/Zzp2b2lkIDB9LC4uLnUmJntzZWN1cmU6ITB9LC4uLmgmJntwcmlvcml0eTptLmluY2x1ZGVzKHk9KHk9aCkudG9Mb3dlckNhc2UoKSk/eTp2b2lkIDB9LC4uLmYmJntwYXJ0aXRpb25lZDohMH19O2xldCBlPXt9O2ZvcihsZXQgdCBpbiBiKWJbdF0mJihlW3RdPWJbdF0pO3JldHVybiBlfX10LmV4cG9ydHM9KChlLHQscik9PntpZih0JiYib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KWZvcihsZXQgcyBvZiBvKHQpKWkuY2FsbChlLHMpfHx2b2lkIDA9PT1zfHxuKGUscyx7Z2V0OigpPT50W3NdLGVudW1lcmFibGU6IShyPWEodCxzKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiBlfSkobih7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyk7dmFyIHA9WyJzdHJpY3QiLCJsYXgiLCJub25lIl0sbT1bImxvdyIsIm1lZGl1bSIsImhpZ2giXSxoPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuX3BhcnNlZD1uZXcgTWFwLHRoaXMuX2hlYWRlcnM9ZTtjb25zdCB0PWUuZ2V0KCJjb29raWUiKTtpZih0KWZvcihjb25zdFtlLHJdb2YgZCh0KSl0aGlzLl9wYXJzZWQuc2V0KGUse25hbWU6ZSx2YWx1ZTpyfSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5fcGFyc2VkW1N5bWJvbC5pdGVyYXRvcl0oKX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9wYXJzZWQuc2l6ZX1nZXQoLi4uZSl7bGV0IHQ9InN0cmluZyI9PXR5cGVvZiBlWzBdP2VbMF06ZVswXS5uYW1lO3JldHVybiB0aGlzLl9wYXJzZWQuZ2V0KHQpfWdldEFsbCguLi5lKXt2YXIgdDtsZXQgcj1BcnJheS5mcm9tKHRoaXMuX3BhcnNlZCk7aWYoIWUubGVuZ3RoKXJldHVybiByLm1hcCgoW2UsdF0pPT50KTtsZXQgbj0ic3RyaW5nIj09dHlwZW9mIGVbMF0/ZVswXTpudWxsPT0odD1lWzBdKT92b2lkIDA6dC5uYW1lO3JldHVybiByLmZpbHRlcigoW2VdKT0+ZT09PW4pLm1hcCgoW2UsdF0pPT50KX1oYXMoZSl7cmV0dXJuIHRoaXMuX3BhcnNlZC5oYXMoZSl9c2V0KC4uLmUpe2xldFt0LHJdPTE9PT1lLmxlbmd0aD9bZVswXS5uYW1lLGVbMF0udmFsdWVdOmUsbj10aGlzLl9wYXJzZWQ7cmV0dXJuIG4uc2V0KHQse25hbWU6dCx2YWx1ZTpyfSksdGhpcy5faGVhZGVycy5zZXQoImNvb2tpZSIsQXJyYXkuZnJvbShuKS5tYXAoKFtlLHRdKT0+dSh0KSkuam9pbigiOyAiKSksdGhpc31kZWxldGUoZSl7bGV0IHQ9dGhpcy5fcGFyc2VkLHI9QXJyYXkuaXNBcnJheShlKT9lLm1hcChlPT50LmRlbGV0ZShlKSk6dC5kZWxldGUoZSk7cmV0dXJuIHRoaXMuX2hlYWRlcnMuc2V0KCJjb29raWUiLEFycmF5LmZyb20odCkubWFwKChbZSx0XSk9PnUodCkpLmpvaW4oIjsgIikpLHJ9Y2xlYXIoKXtyZXR1cm4gdGhpcy5kZWxldGUoQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQua2V5cygpKSksdGhpc31bU3ltYm9sLmZvcigiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tIildKCl7cmV0dXJuYFJlcXVlc3RDb29raWVzICR7SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuX3BhcnNlZCkpfWB9dG9TdHJpbmcoKXtyZXR1cm5bLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAoZT0+YCR7ZS5uYW1lfT0ke2VuY29kZVVSSUNvbXBvbmVudChlLnZhbHVlKX1gKS5qb2luKCI7ICIpfX0sZz1jbGFzc3tjb25zdHJ1Y3RvcihlKXt2YXIgdCxyLG47dGhpcy5fcGFyc2VkPW5ldyBNYXAsdGhpcy5faGVhZGVycz1lO2NvbnN0IGE9bnVsbCE9KG49bnVsbCE9KHI9bnVsbD09KHQ9ZS5nZXRTZXRDb29raWUpP3ZvaWQgMDp0LmNhbGwoZSkpP3I6ZS5nZXQoInNldC1jb29raWUiKSk/bjpbXTtmb3IoY29uc3QgZSBvZiBBcnJheS5pc0FycmF5KGEpP2E6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuW107dmFyIHQscixuLGEsbyxpPVtdLHM9MDtmdW5jdGlvbiBsKCl7Zm9yKDtzPGUubGVuZ3RoJiYvXHMvLnRlc3QoZS5jaGFyQXQocykpOylzKz0xO3JldHVybiBzPGUubGVuZ3RofWZvcig7czxlLmxlbmd0aDspe2Zvcih0PXMsbz0hMTtsKCk7KWlmKCIsIj09PShyPWUuY2hhckF0KHMpKSl7Zm9yKG49cyxzKz0xLGwoKSxhPXM7czxlLmxlbmd0aCYmIj0iIT09KHI9ZS5jaGFyQXQocykpJiYiOyIhPT1yJiYiLCIhPT1yOylzKz0xO3M8ZS5sZW5ndGgmJiI9Ij09PWUuY2hhckF0KHMpPyhvPSEwLHM9YSxpLnB1c2goZS5zdWJzdHJpbmcodCxuKSksdD1zKTpzPW4rMX1lbHNlIHMrPTE7KCFvfHxzPj1lLmxlbmd0aCkmJmkucHVzaChlLnN1YnN0cmluZyh0LGUubGVuZ3RoKSl9cmV0dXJuIGl9KGEpKXtjb25zdCB0PWYoZSk7dCYmdGhpcy5fcGFyc2VkLnNldCh0Lm5hbWUsdCl9fWdldCguLi5lKXtsZXQgdD0ic3RyaW5nIj09dHlwZW9mIGVbMF0/ZVswXTplWzBdLm5hbWU7cmV0dXJuIHRoaXMuX3BhcnNlZC5nZXQodCl9Z2V0QWxsKC4uLmUpe3ZhciB0O2xldCByPUFycmF5LmZyb20odGhpcy5fcGFyc2VkLnZhbHVlcygpKTtpZighZS5sZW5ndGgpcmV0dXJuIHI7bGV0IG49InN0cmluZyI9PXR5cGVvZiBlWzBdP2VbMF06bnVsbD09KHQ9ZVswXSk/dm9pZCAwOnQubmFtZTtyZXR1cm4gci5maWx0ZXIoZT0+ZS5uYW1lPT09bil9aGFzKGUpe3JldHVybiB0aGlzLl9wYXJzZWQuaGFzKGUpfXNldCguLi5lKXtsZXRbdCxyLG5dPTE9PT1lLmxlbmd0aD9bZVswXS5uYW1lLGVbMF0udmFsdWUsZVswXV06ZSxhPXRoaXMuX3BhcnNlZDtyZXR1cm4gYS5zZXQodCxmdW5jdGlvbihlPXtuYW1lOiIiLHZhbHVlOiIifSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlLmV4cGlyZXMmJihlLmV4cGlyZXM9bmV3IERhdGUoZS5leHBpcmVzKSksZS5tYXhBZ2UmJihlLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKSsxZTMqZS5tYXhBZ2UpKSwobnVsbD09PWUucGF0aHx8dm9pZCAwPT09ZS5wYXRoKSYmKGUucGF0aD0iLyIpLGV9KHtuYW1lOnQsdmFsdWU6ciwuLi5ufSkpLGZ1bmN0aW9uKGUsdCl7Zm9yKGxldFsscl1vZih0LmRlbGV0ZSgic2V0LWNvb2tpZSIpLGUpKXtsZXQgZT11KHIpO3QuYXBwZW5kKCJzZXQtY29va2llIixlKX19KGEsdGhpcy5faGVhZGVycyksdGhpc31kZWxldGUoLi4uZSl7bGV0W3Qscl09InN0cmluZyI9PXR5cGVvZiBlWzBdP1tlWzBdXTpbZVswXS5uYW1lLGVbMF1dO3JldHVybiB0aGlzLnNldCh7Li4ucixuYW1lOnQsdmFsdWU6IiIsZXhwaXJlczpuZXcgRGF0ZSgwKX0pfVtTeW1ib2wuZm9yKCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b20iKV0oKXtyZXR1cm5gUmVzcG9uc2VDb29raWVzICR7SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuX3BhcnNlZCkpfWB9dG9TdHJpbmcoKXtyZXR1cm5bLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAodSkuam9pbigiOyAiKX19fSw5Njg4MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17UmVxdWVzdENvb2tpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gby5SZXF1ZXN0Q29va2llc30sUmVzcG9uc2VDb29raWVzOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVzcG9uc2VDb29raWVzfSxzdHJpbmdpZnlDb29raWU6ZnVuY3Rpb24oKXtyZXR1cm4gby5zdHJpbmdpZnlDb29raWV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDI4NjQ5KX0sOTcyNzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e011dGFibGVSZXF1ZXN0Q29va2llc0FkYXB0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFJlcXVlc3RDb29raWVzQWRhcHRlcjpmdW5jdGlvbigpe3JldHVybiB1fSxhcHBlbmRNdXRhYmxlQ29va2llczpmdW5jdGlvbigpe3JldHVybiBwfSxhcmVDb29raWVzTXV0YWJsZUluQ3VycmVudFBoYXNlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZUNvb2tpZXNXaXRoTXV0YWJsZUFjY2Vzc0NoZWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGdldE1vZGlmaWVkQ29va2llVmFsdWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlc3BvbnNlQ29va2llc1RvUmVxdWVzdENvb2tpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoOTY4ODMpLGk9ZS5yKDQyNzE1KSxzPWUucig2MzU5OSksbD1lLnIoMzkxNDYpO2NsYXNzIGMgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCJDb29raWVzIGNhbiBvbmx5IGJlIG1vZGlmaWVkIGluIGEgU2VydmVyIEFjdGlvbiBvciBSb3V0ZSBIYW5kbGVyLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9jb29raWVzI29wdGlvbnMiKX1zdGF0aWMgY2FsbGFibGUoKXt0aHJvdyBuZXcgY319Y2xhc3MgdXtzdGF0aWMgc2VhbChlKXtyZXR1cm4gbmV3IFByb3h5KGUse2dldChlLHQscil7c3dpdGNoKHQpe2Nhc2UiY2xlYXIiOmNhc2UiZGVsZXRlIjpjYXNlInNldCI6cmV0dXJuIGMuY2FsbGFibGU7ZGVmYXVsdDpyZXR1cm4gaS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KX19bGV0IGQ9U3ltYm9sLmZvcigibmV4dC5tdXRhdGVkLmNvb2tpZXMiKTtmdW5jdGlvbiBmKGUpe2xldCB0PWVbZF07cmV0dXJuIHQmJkFycmF5LmlzQXJyYXkodCkmJjAhPT10Lmxlbmd0aD90OltdfWZ1bmN0aW9uIHAoZSx0KXtsZXQgcj1mKHQpO2lmKDA9PT1yLmxlbmd0aClyZXR1cm4hMTtsZXQgbj1uZXcgby5SZXNwb25zZUNvb2tpZXMoZSksYT1uLmdldEFsbCgpO2ZvcihsZXQgZSBvZiByKW4uc2V0KGUpO2ZvcihsZXQgZSBvZiBhKW4uc2V0KGUpO3JldHVybiEwfWNsYXNzIG17c3RhdGljIHdyYXAoZSx0KXtsZXQgcj1uZXcgby5SZXNwb25zZUNvb2tpZXMobmV3IEhlYWRlcnMpO2ZvcihsZXQgdCBvZiBlLmdldEFsbCgpKXIuc2V0KHQpO2xldCBuPVtdLGE9bmV3IFNldCxjPSgpPT57bGV0IGU9cy53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYoZSYmKGUucGF0aFdhc1JldmFsaWRhdGVkPWwuQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMpLG49ci5nZXRBbGwoKS5maWx0ZXIoZT0+YS5oYXMoZS5uYW1lKSksdCl7bGV0IGU9W107Zm9yKGxldCB0IG9mIG4pe2xldCByPW5ldyBvLlJlc3BvbnNlQ29va2llcyhuZXcgSGVhZGVycyk7ci5zZXQodCksZS5wdXNoKHIudG9TdHJpbmcoKSl9dChlKX19LHU9bmV3IFByb3h5KHIse2dldChlLHQscil7c3dpdGNoKHQpe2Nhc2UgZDpyZXR1cm4gbjtjYXNlImRlbGV0ZSI6cmV0dXJuIGZ1bmN0aW9uKC4uLnQpe2EuYWRkKCJzdHJpbmciPT10eXBlb2YgdFswXT90WzBdOnRbMF0ubmFtZSk7dHJ5e3JldHVybiBlLmRlbGV0ZSguLi50KSx1fWZpbmFsbHl7YygpfX07Y2FzZSJzZXQiOnJldHVybiBmdW5jdGlvbiguLi50KXthLmFkZCgic3RyaW5nIj09dHlwZW9mIHRbMF0/dFswXTp0WzBdLm5hbWUpO3RyeXtyZXR1cm4gZS5zZXQoLi4udCksdX1maW5hbGx5e2MoKX19O2RlZmF1bHQ6cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19fSk7cmV0dXJuIHV9fWZ1bmN0aW9uIGgoZSl7bGV0IHQ9bmV3IFByb3h5KGUubXV0YWJsZUNvb2tpZXMse2dldChyLG4sYSl7c3dpdGNoKG4pe2Nhc2UiZGVsZXRlIjpyZXR1cm4gZnVuY3Rpb24oLi4ubil7cmV0dXJuIHkoZSwiY29va2llcygpLmRlbGV0ZSIpLHIuZGVsZXRlKC4uLm4pLHR9O2Nhc2Uic2V0IjpyZXR1cm4gZnVuY3Rpb24oLi4ubil7cmV0dXJuIHkoZSwiY29va2llcygpLnNldCIpLHIuc2V0KC4uLm4pLHR9O2RlZmF1bHQ6cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KHIsbixhKX19fSk7cmV0dXJuIHR9ZnVuY3Rpb24gZyhlKXtyZXR1cm4iYWN0aW9uIj09PWUucGhhc2V9ZnVuY3Rpb24geShlLHQpe2lmKCFnKGUpKXRocm93IG5ldyBjfWZ1bmN0aW9uIGIoZSl7bGV0IHQ9bmV3IG8uUmVxdWVzdENvb2tpZXMobmV3IEhlYWRlcnMpO2ZvcihsZXQgciBvZiBlLmdldEFsbCgpKXQuc2V0KHIpO3JldHVybiB0fX0sODc3MjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hlYWRlcnNBZGFwdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFJlYWRvbmx5SGVhZGVyc0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQyNzE1KTtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiSGVhZGVycyBjYW5ub3QgYmUgbW9kaWZpZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL2hlYWRlcnMiKX1zdGF0aWMgY2FsbGFibGUoKXt0aHJvdyBuZXcgaX19Y2xhc3MgcyBleHRlbmRzIEhlYWRlcnN7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLmhlYWRlcnM9bmV3IFByb3h5KGUse2dldCh0LHIsbil7aWYoInN5bWJvbCI9PXR5cGVvZiByKXJldHVybiBvLlJlZmxlY3RBZGFwdGVyLmdldCh0LHIsbik7bGV0IGE9ci50b0xvd2VyQ2FzZSgpLGk9T2JqZWN0LmtleXMoZSkuZmluZChlPT5lLnRvTG93ZXJDYXNlKCk9PT1hKTtpZih2b2lkIDAhPT1pKXJldHVybiBvLlJlZmxlY3RBZGFwdGVyLmdldCh0LGksbil9LHNldCh0LHIsbixhKXtpZigic3ltYm9sIj09dHlwZW9mIHIpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuc2V0KHQscixuLGEpO2xldCBpPXIudG9Mb3dlckNhc2UoKSxzPU9iamVjdC5rZXlzKGUpLmZpbmQoZT0+ZS50b0xvd2VyQ2FzZSgpPT09aSk7cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuc2V0KHQscz8/cixuLGEpfSxoYXModCxyKXtpZigic3ltYm9sIj09dHlwZW9mIHIpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuaGFzKHQscik7bGV0IG49ci50b0xvd2VyQ2FzZSgpLGE9T2JqZWN0LmtleXMoZSkuZmluZChlPT5lLnRvTG93ZXJDYXNlKCk9PT1uKTtyZXR1cm4gdm9pZCAwIT09YSYmby5SZWZsZWN0QWRhcHRlci5oYXModCxhKX0sZGVsZXRlUHJvcGVydHkodCxyKXtpZigic3ltYm9sIj09dHlwZW9mIHIpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZGVsZXRlUHJvcGVydHkodCxyKTtsZXQgbj1yLnRvTG93ZXJDYXNlKCksYT1PYmplY3Qua2V5cyhlKS5maW5kKGU9PmUudG9Mb3dlckNhc2UoKT09PW4pO3JldHVybiB2b2lkIDA9PT1hfHxvLlJlZmxlY3RBZGFwdGVyLmRlbGV0ZVByb3BlcnR5KHQsYSl9fSl9c3RhdGljIHNlYWwoZSl7cmV0dXJuIG5ldyBQcm94eShlLHtnZXQoZSx0LHIpe3N3aXRjaCh0KXtjYXNlImFwcGVuZCI6Y2FzZSJkZWxldGUiOmNhc2Uic2V0IjpyZXR1cm4gaS5jYWxsYWJsZTtkZWZhdWx0OnJldHVybiBvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscil9fX0pfW1lcmdlKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Uuam9pbigiLCAiKTplfXN0YXRpYyBmcm9tKGUpe3JldHVybiBlIGluc3RhbmNlb2YgSGVhZGVycz9lOm5ldyBzKGUpfWFwcGVuZChlLHQpe2xldCByPXRoaXMuaGVhZGVyc1tlXTsic3RyaW5nIj09dHlwZW9mIHI/dGhpcy5oZWFkZXJzW2VdPVtyLHRdOkFycmF5LmlzQXJyYXkocik/ci5wdXNoKHQpOnRoaXMuaGVhZGVyc1tlXT10fWRlbGV0ZShlKXtkZWxldGUgdGhpcy5oZWFkZXJzW2VdfWdldChlKXtsZXQgdD10aGlzLmhlYWRlcnNbZV07cmV0dXJuIHZvaWQgMCE9PXQ/dGhpcy5tZXJnZSh0KTpudWxsfWhhcyhlKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5oZWFkZXJzW2VdfXNldChlLHQpe3RoaXMuaGVhZGVyc1tlXT10fWZvckVhY2goZSx0KXtmb3IobGV0W3Isbl1vZiB0aGlzLmVudHJpZXMoKSllLmNhbGwodCxuLHIsdGhpcyl9KmVudHJpZXMoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5oZWFkZXJzKSl7bGV0IHQ9ZS50b0xvd2VyQ2FzZSgpLHI9dGhpcy5nZXQodCk7eWllbGRbdCxyXX19KmtleXMoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5oZWFkZXJzKSl7bGV0IHQ9ZS50b0xvd2VyQ2FzZSgpO3lpZWxkIHR9fSp2YWx1ZXMoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5oZWFkZXJzKSl7bGV0IHQ9dGhpcy5nZXQoZSk7eWllbGQgdH19W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9fX0sMTY0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Z2V0UGFyYW1Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFNlZ21lbnRQYXJhbTpmdW5jdGlvbigpe3JldHVybiBpfSxpc0NhdGNoQWxsOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDkxNDYzKTtmdW5jdGlvbiBpKGUpe2xldCB0PW8uSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCh0PT5lLnN0YXJ0c1dpdGgodCkpO3JldHVybih0JiYoZT1lLnNsaWNlKHQubGVuZ3RoKSksZS5zdGFydHNXaXRoKCJbWy4uLiIpJiZlLmVuZHNXaXRoKCJdXSIpKT97cGFyYW1UeXBlOiJvcHRpb25hbC1jYXRjaGFsbCIscGFyYW1OYW1lOmUuc2xpY2UoNSwtMil9OmUuc3RhcnRzV2l0aCgiWy4uLiIpJiZlLmVuZHNXaXRoKCJdIik/e3BhcmFtVHlwZTp0P2BjYXRjaGFsbC1pbnRlcmNlcHRlZC0ke3R9YDoiY2F0Y2hhbGwiLHBhcmFtTmFtZTplLnNsaWNlKDQsLTEpfTplLnN0YXJ0c1dpdGgoIlsiKSYmZS5lbmRzV2l0aCgiXSIpP3twYXJhbVR5cGU6dD9gZHluYW1pYy1pbnRlcmNlcHRlZC0ke3R9YDoiZHluYW1pYyIscGFyYW1OYW1lOmUuc2xpY2UoMSwtMSl9Om51bGx9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iY2F0Y2hhbGwiPT09ZXx8ImNhdGNoYWxsLWludGVyY2VwdGVkLSguLikoLi4pIj09PWV8fCJjYXRjaGFsbC1pbnRlcmNlcHRlZC0oLikiPT09ZXx8ImNhdGNoYWxsLWludGVyY2VwdGVkLSguLikiPT09ZXx8ImNhdGNoYWxsLWludGVyY2VwdGVkLSguLi4pIj09PWV8fCJvcHRpb25hbC1jYXRjaGFsbCI9PT1lfWZ1bmN0aW9uIGwoZSl7bGV0IHQ9ITEscj0hMTtzd2l0Y2goZSl7Y2FzZSJjYXRjaGFsbCI6Y2FzZSJjYXRjaGFsbC1pbnRlcmNlcHRlZC0oLi4pKC4uKSI6Y2FzZSJjYXRjaGFsbC1pbnRlcmNlcHRlZC0oLikiOmNhc2UiY2F0Y2hhbGwtaW50ZXJjZXB0ZWQtKC4uKSI6Y2FzZSJjYXRjaGFsbC1pbnRlcmNlcHRlZC0oLi4uKSI6dD0hMDticmVhaztjYXNlIm9wdGlvbmFsLWNhdGNoYWxsIjp0PSEwLHI9ITB9cmV0dXJue3JlcGVhdDp0LG9wdGlvbmFsOnJ9fX0sOTA5MjksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUmVsYXRpdmVVcmwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucigxODk2NyksYT1lLnIoOTgxODMpO2Z1bmN0aW9uIG8oZSx0LHI9ITApe2xldCBpPW5ldyBVUkwoInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjooMCxuLmdldExvY2F0aW9uT3JpZ2luKSgpKSxzPXQ/bmV3IFVSTCh0LGkpOmUuc3RhcnRzV2l0aCgiLiIpP25ldyBVUkwoInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik6aSx7cGF0aG5hbWU6bCxzZWFyY2hQYXJhbXM6YyxzZWFyY2g6dSxoYXNoOmQsaHJlZjpmLG9yaWdpbjpwfT1lLnN0YXJ0c1dpdGgoIi8iKT9uZXcgVVJMKGAke3MucHJvdG9jb2x9Ly8ke3MuaG9zdH0ke2V9YCk6bmV3IFVSTChlLHMpO2lmKHAhPT1pLm9yaWdpbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYGludmFyaWFudDogaW52YWxpZCByZWxhdGl2ZSBVUkwsIHJvdXRlciByZWNlaXZlZCAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxNTkiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJue2F1dGg6bnVsbCxob3N0Om51bGwsaG9zdG5hbWU6bnVsbCxwYXRobmFtZTpsLHBvcnQ6bnVsbCxwcm90b2NvbDpudWxsLHF1ZXJ5OnI/KDAsYS5zZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KShjKTp2b2lkIDAsc2VhcmNoOnUsaGFzaDpkLGhyZWY6Zi5zbGljZShwLmxlbmd0aCksc2xhc2hlczpudWxsfX19LDEzNzcwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJbnN0YW50VmFsaWRhdGlvbkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGlzSW5zdGFudFZhbGlkYXRpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPSJJTlNUQU5UX1ZBTElEQVRJT05fRVJST1IiO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISEoZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlIGluc3RhbmNlb2YgRXJyb3ImJmUuZGlnZXN0PT09byl9Y2xhc3MgcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuZGlnZXN0PW99fX0sMTg0NTAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2Fzc2VydFJvb3RQYXJhbUluU2FtcGxlczpmdW5jdGlvbigpe3JldHVybiBTfSxjcmVhdGVDb29raWVzRnJvbVNhbXBsZTpmdW5jdGlvbigpe3JldHVybiB5fSxjcmVhdGVEcmFmdE1vZGVGb3JWYWxpZGF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUV4aGF1c3RpdmVQYXJhbXNQcm94eTpmdW5jdGlvbigpe3JldHVybiB2fSxjcmVhdGVFeGhhdXN0aXZlU2VhcmNoUGFyYW1zUHJveHk6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sY3JlYXRlRXhoYXVzdGl2ZVVSTFNlYXJjaFBhcmFtc1Byb3h5OmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LGNyZWF0ZUhlYWRlcnNGcm9tU2FtcGxlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9LGNyZWF0ZVJlbGF0aXZlVVJMRnJvbVNhbXBsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gd30sY3JlYXRlVmFsaWRhdGlvblNhbXBsZVRyYWNraW5nOmZ1bmN0aW9uKCl7cmV0dXJuIG19LHRyYWNrTWlzc2luZ1NhbXBsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LHRyYWNrTWlzc2luZ1NhbXBsZUVycm9yQW5kVGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gZ319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoOTY4ODMpLGk9ZS5yKDk3MjcwKSxzPWUucig4NzcyMCksbD1lLnIoMTY0MyksYz1lLnIoOTA5MjkpLHU9ZS5yKDEyNzE4KSxkPWUucigxMzc3MCksZj1lLnIoNjIxNDEpLHA9ZS5yKDY1OTMyKTtmdW5jdGlvbiBtKCl7cmV0dXJue21pc3NpbmdTYW1wbGVFcnJvcnM6W119fWZ1bmN0aW9uIGgoZSl7KGZ1bmN0aW9uKCl7bGV0IGU9bnVsbCx0PWYud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZih0KXN3aXRjaCh0LnR5cGUpe2Nhc2UicmVxdWVzdCI6Y2FzZSJ2YWxpZGF0aW9uLWNsaWVudCI6ZT10LnZhbGlkYXRpb25TYW1wbGVUcmFja2luZz8/bnVsbH1pZighZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIkV4cGVjdGVkIHRvIGhhdmUgYSB3b3JrVW5pdFN0b3JlIHRoYXQgcHJvdmlkZXMgdmFsaWRhdGlvblNhbXBsZVRyYWNraW5nIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTEwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlfSkoKS5taXNzaW5nU2FtcGxlRXJyb3JzLnB1c2goZSl9ZnVuY3Rpb24gZyhlKXt0aHJvdyBoKGUpLGV9ZnVuY3Rpb24geShlLHQpe2xldCByPW5ldyBTZXQsbj1uZXcgby5SZXF1ZXN0Q29va2llcyhuZXcgSGVhZGVycyk7aWYoZSlmb3IobGV0IHQgb2YgZSlyLmFkZCh0Lm5hbWUpLG51bGwhPT10LnZhbHVlJiZuLnNldCh0Lm5hbWUsdC52YWx1ZSk7cmV0dXJuIG5ldyBQcm94eShpLlJlcXVlc3RDb29raWVzQWRhcHRlci5zZWFsKG4pLHtnZXQoZSxuLGEpe2lmKCJoYXMiPT09bil7bGV0IG89UmVmbGVjdC5nZXQoZSxuLGEpO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gci5oYXMobil8fGcoYih0LG4pKSxvLmNhbGwoZSxuKX19aWYoImdldCI9PT1uKXtsZXQgbz1SZWZsZWN0LmdldChlLG4sYSk7cmV0dXJuIGZ1bmN0aW9uKG4pe2xldCBhO2lmKCJzdHJpbmciPT10eXBlb2YgbilhPW47ZWxzZXtpZighbnx8Im9iamVjdCIhPXR5cGVvZiBufHwic3RyaW5nIiE9dHlwZW9mIG4ubmFtZSlyZXR1cm4gby5jYWxsKGUsbik7YT1uLm5hbWV9cmV0dXJuIHIuaGFzKGEpfHxnKGIodCxhKSksby5jYWxsKGUsYSl9fXJldHVybiBSZWZsZWN0LmdldChlLG4sYSl9fSl9ZnVuY3Rpb24gYihlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGQuSW5zdGFudFZhbGlkYXRpb25FcnJvcihgUm91dGUgIiR7ZX0iIGFjY2Vzc2VkIGNvb2tpZSAiJHt0fSIgd2hpY2ggaXMgbm90IGRlZmluZWQgaW4gdGhlIFxgc2FtcGxlc1xgIG9mIFxgdW5zdGFibGVfaW5zdGFudFxgLiBBZGQgaXQgdG8gdGhlIHNhbXBsZSdzIFxgY29va2llc1xgIGFycmF5LCBvciBcYHsgbmFtZTogIiR7dH0iLCB2YWx1ZTogbnVsbCB9XGAgaWYgaXQgc2hvdWxkIGJlIGFic2VudC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gUChlLHQscil7bGV0IG49ZT9bLi4uZV06W107aWYobi5maW5kKChbZV0pPT4iY29va2llIj09PWUudG9Mb3dlckNhc2UoKSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBkLkluc3RhbnRWYWxpZGF0aW9uRXJyb3IoJ0ludmFsaWQgc2FtcGxlOiBEZWZpbmluZyBjb29raWVzIHZpYSBhICJjb29raWUiIGhlYWRlciBpcyBub3Qgc3VwcG9ydGVkLiBVc2UgYGNvb2tpZXM6IFt7IG5hbWU6IC4uLiwgdmFsdWU6IC4uLiB9XWAgaW5zdGVhZC4nKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodCl7bGV0IGU9dC50b1N0cmluZygpO24ucHVzaChbImNvb2tpZSIsIiIhPT1lP2U6bnVsbF0pfWxldCBhPW5ldyBTZXQsbz17fTtmb3IobGV0W2UsdF1vZiBuKWEuYWRkKGUudG9Mb3dlckNhc2UoKSksbnVsbCE9PXQmJihvW2UudG9Mb3dlckNhc2UoKV09dCk7cmV0dXJuIG5ldyBQcm94eShzLkhlYWRlcnNBZGFwdGVyLnNlYWwocy5IZWFkZXJzQWRhcHRlci5mcm9tKG8pKSx7Z2V0KGUsdCxuKXtpZigiZ2V0Ij09PXR8fCJoYXMiPT09dCl7bGV0IG89UmVmbGVjdC5nZXQoZSx0LG4pO3JldHVybiBmdW5jdGlvbih0KXtsZXQgbj10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGEuaGFzKG4pfHxnKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgZC5JbnN0YW50VmFsaWRhdGlvbkVycm9yKGBSb3V0ZSAiJHtyfSIgYWNjZXNzZWQgaGVhZGVyICIke259IiB3aGljaCBpcyBub3QgZGVmaW5lZCBpbiB0aGUgXGBzYW1wbGVzXGAgb2YgXGB1bnN0YWJsZV9pbnN0YW50XGAuIEFkZCBpdCB0byB0aGUgc2FtcGxlJ3MgXGBoZWFkZXJzXGAgYXJyYXksIG9yIFxgWyIke259IiwgbnVsbF1cYCBpZiBpdCBzaG91bGQgYmUgYWJzZW50LmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTExNiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksby5jYWxsKGUsbil9fXJldHVybiBSZWZsZWN0LmdldChlLHQsbil9fSl9ZnVuY3Rpb24gXygpe3JldHVybntnZXQgaXNFbmFibGVkKCl7cmV0dXJuITF9LGVuYWJsZSgpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiRHJhZnQgbW9kZSBjYW5ub3QgYmUgZW5hYmxlZCBkdXJpbmcgYnVpbGQtdGltZSBpbnN0YW50IHZhbGlkYXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDkyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSxkaXNhYmxlKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJEcmFmdCBtb2RlIGNhbm5vdCBiZSBkaXNhYmxlZCBkdXJpbmcgYnVpbGQtdGltZSBpbnN0YW50IHZhbGlkYXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX19ZnVuY3Rpb24gdihlLHQscil7cmV0dXJuIG5ldyBQcm94eShlLHtnZXQ6KG4sYSxvKT0+KCJzdHJpbmciPT10eXBlb2YgYSYmIXAud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSkmJmEgaW4gZSYmIXQuaGFzKGEpJiZnKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgZC5JbnN0YW50VmFsaWRhdGlvbkVycm9yKGBSb3V0ZSAiJHtyfSIgYWNjZXNzZWQgcGFyYW0gIiR7YX0iIHdoaWNoIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBcYHNhbXBsZXNcYCBvZiBcYHVuc3RhYmxlX2luc3RhbnRcYC4gQWRkIGl0IHRvIHRoZSBzYW1wbGUncyBcYHBhcmFtc1xgIG9iamVjdC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwOTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLFJlZmxlY3QuZ2V0KG4sYSxvKSl9KX1mdW5jdGlvbiBFKGUsdCxyKXtyZXR1cm4gbmV3IFByb3h5KGUse2dldDooZSxuLGEpPT4oInN0cmluZyIhPXR5cGVvZiBufHxwLndlbGxLbm93blByb3BlcnRpZXMuaGFzKG4pfHx0LmhhcyhuKXx8ZyhPKHIsbikpLFJlZmxlY3QuZ2V0KGUsbixhKSksaGFzOihlLG4pPT4oInN0cmluZyIhPXR5cGVvZiBufHxwLndlbGxLbm93blByb3BlcnRpZXMuaGFzKG4pfHx0LmhhcyhuKXx8ZyhPKHIsbikpLFJlZmxlY3QuaGFzKGUsbikpfSl9ZnVuY3Rpb24gUihlLHQscil7cmV0dXJuIG5ldyBQcm94eShlLHtnZXQoZSxuLGEpe2lmKCJnZXQiPT09bnx8ImdldEFsbCI9PT1ufHwiaGFzIj09PW4pe2xldCBvPVJlZmxlY3QuZ2V0KGUsbixhKTtyZXR1cm4gbj0+KCJzdHJpbmciIT10eXBlb2Ygbnx8dC5oYXMobil8fGcoTyhyLG4pKSxvLmNhbGwoZSxuKSl9bGV0IG89UmVmbGVjdC5nZXQoZSxuLGEpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBvfHxPYmplY3QuaGFzT3duKGUsbik/bzpvLmJpbmQoZSl9fSl9ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGQuSW5zdGFudFZhbGlkYXRpb25FcnJvcihgUm91dGUgIiR7ZX0iIGFjY2Vzc2VkIHNlYXJjaFBhcmFtICIke3R9IiB3aGljaCBpcyBub3QgZGVmaW5lZCBpbiB0aGUgXGBzYW1wbGVzXGAgb2YgXGB1bnN0YWJsZV9pbnN0YW50XGAuIEFkZCBpdCB0byB0aGUgc2FtcGxlJ3MgXGBzZWFyY2hQYXJhbXNcYCBvYmplY3QsIG9yIFxgeyAiJHt0fSI6IG51bGwgfVxgIGlmIGl0IHNob3VsZCBiZSBhYnNlbnQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDk4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPWZ1bmN0aW9uKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUuc3BsaXQoIi8iKSl7bGV0IGU9KDAsbC5nZXRTZWdtZW50UGFyYW0pKG4pO2lmKGUpc3dpdGNoKGUucGFyYW1UeXBlKXtjYXNlImNhdGNoYWxsIjpjYXNlIm9wdGlvbmFsLWNhdGNoYWxsIjp7bGV0IGE9dFtlLnBhcmFtTmFtZV07aWYodm9pZCAwPT09YSlhPVtuXTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgZC5JbnN0YW50VmFsaWRhdGlvbkVycm9yKGBFeHBlY3RlZCBzYW1wbGUgcGFyYW0gdmFsdWUgZm9yIHNlZ21lbnQgJyR7bn0nIHRvIGJlIGFuIGFycmF5IG9mIHN0cmluZ3MsIGdvdCAke3R5cGVvZiBhfWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEwNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyLnB1c2goLi4uYS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKSk7YnJlYWt9Y2FzZSJkeW5hbWljIjp7bGV0IGE9dFtlLnBhcmFtTmFtZV07aWYodm9pZCAwPT09YSlhPW47ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBkLkluc3RhbnRWYWxpZGF0aW9uRXJyb3IoYEV4cGVjdGVkIHNhbXBsZSBwYXJhbSB2YWx1ZSBmb3Igc2VnbWVudCAnJHtufScgdG8gYmUgYSBzdHJpbmcsIGdvdCAke3R5cGVvZiBhfWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEwOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGEpKTticmVha31jYXNlImNhdGNoYWxsLWludGVyY2VwdGVkLSguLikoLi4pIjpjYXNlImNhdGNoYWxsLWludGVyY2VwdGVkLSguKSI6Y2FzZSJjYXRjaGFsbC1pbnRlcmNlcHRlZC0oLi4pIjpjYXNlImNhdGNoYWxsLWludGVyY2VwdGVkLSguLi4pIjpjYXNlImR5bmFtaWMtaW50ZXJjZXB0ZWQtKC4uKSguLikiOmNhc2UiZHluYW1pYy1pbnRlcmNlcHRlZC0oLikiOmNhc2UiZHluYW1pYy1pbnRlcmNlcHRlZC0oLi4pIjpjYXNlImR5bmFtaWMtaW50ZXJjZXB0ZWQtKC4uLikiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiTm90IGltcGxlbWVudGVkOiBWYWxpZGF0aW9uIG9mIGludGVyY2VwdGlvbiByb3V0ZXMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMDYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7ZGVmYXVsdDplLnBhcmFtVHlwZX1lbHNlIHIucHVzaChuKX1yZXR1cm4gci5qb2luKCIvIil9KGUsdD8/e30pLGE9IiI7aWYocil7bGV0IGU9KGZ1bmN0aW9uKGUpe2xldCB0PW5ldyBVUkxTZWFyY2hQYXJhbXM7aWYoZSl7Zm9yKGxldFtyLG5db2YgT2JqZWN0LmVudHJpZXMoZSkpaWYobnVsbCE9bilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgZSBvZiBuKXQuYXBwZW5kKHIsZSk7ZWxzZSB0LnNldChyLG4pfXJldHVybiB0fSkocikudG9TdHJpbmcoKTtlJiYoYT0iPyIrZSl9cmV0dXJuKDAsYy5wYXJzZVJlbGF0aXZlVXJsKShuK2Esdm9pZCAwLCEwKX1mdW5jdGlvbiBTKGUsdCxyKXtpZih0JiZyIGluIHQpO2Vsc2V7bGV0IHQ9ZS5yb3V0ZTtnKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgZC5JbnN0YW50VmFsaWRhdGlvbkVycm9yKGBSb3V0ZSAiJHt0fSIgYWNjZXNzZWQgcm9vdCBwYXJhbSAiJHtyfSIgd2hpY2ggaXMgbm90IGRlZmluZWQgaW4gdGhlIFxgc2FtcGxlc1xgIG9mIFxgdW5zdGFibGVfaW5zdGFudFxgLiBBZGQgaXQgdG8gdGhlIHNhbXBsZSdzIFxgcGFyYW1zXGAgb2JqZWN0LmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTExNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSl9fX0sNjk4ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gUH0sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiB5fSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIE99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDYzNTk5KSxpPWUucig2NjM3Mykscz1lLnIoNDI3MTUpLGw9ZS5yKDY3NjczKSxjPWUucig2MjE0MSksdT1lLnIoMTI3MTgpLGQ9ZS5yKDYzMTM4KSxmPWUucig3NjM2MSkscD1lLnIoNjU5MzIpLG09ZS5yKDUwOTk5KSxoPWUucig0Mjg1Mik7ZnVuY3Rpb24gZyh0KXtsZXQgcj1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIkV4cGVjdGVkIHdvcmtTdG9yZSB0byBiZSBpbml0aWFsaXplZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgbj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYobilzd2l0Y2gobi50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIF8ocixuKTtjYXNlInZhbGlkYXRpb24tY2xpZW50IjpyZXR1cm4gZnVuY3Rpb24odCxyLG4pe3ZhciBhO2xldHtjcmVhdGVFeGhhdXN0aXZlU2VhcmNoUGFyYW1zUHJveHk6b309ZS5yKDE4NDUwKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQ9byh0LG5ldyBTZXQoT2JqZWN0LmtleXMoKG51bGw9PShhPW4udmFsaWRhdGlvblNhbXBsZXMpP3ZvaWQgMDphLnNlYXJjaFBhcmFtcyk/P3t9KSksci5yb3V0ZSkpfSh0LHIsbik7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NjkiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlYXJjaFBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzkiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJnZW5lcmF0ZS1zdGF0aWMtcGFyYW1zIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlYXJjaFBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW5zaWRlIGdlbmVyYXRlU3RhdGljUGFyYW1zLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEzMyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInJlcXVlc3QiOnJldHVybiB2KHQscixuLCExKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4gYihlLCgwLGkuZ2V0TWV0YWRhdGFWYXJ5UGFyYW1zQWNjdW11bGF0b3IpKCksdCl9ZnVuY3Rpb24gYihlLHQscil7bGV0IG49by53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYoIW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gYmUgaW5pdGlhbGl6ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IGE9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKGEpc3dpdGNoKGEudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBfKG4sYSk7Y2FzZSJ2YWxpZGF0aW9uLWNsaWVudCI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgY2xpZW50IHZhbGlkYXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDY2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ3IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluc2lkZSBnZW5lcmF0ZVN0YXRpY1BhcmFtcy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGZ1bmN0aW9uKGUsdCxyLG4pe2xldCBhPXcobnVsbCE9PXI/KDAsaS5jcmVhdGVWYXJ5aW5nU2VhcmNoUGFyYW1zKShyLGUpOmUpLHtzdGFnZWRSZW5kZXJpbmc6b309dDtpZighbylyZXR1cm4gYTtsZXQgcz1uP2guUmVuZGVyU3RhZ2UuRWFybHlSdW50aW1lOmguUmVuZGVyU3RhZ2UuUnVudGltZTtyZXR1cm4gby53YWl0Rm9yU3RhZ2UocykudGhlbigoKT0+YSl9KGUsYSx0LHIpO2Nhc2UicmVxdWVzdCI6cmV0dXJuIHYoZSxuLGEscil9KDAsYy50aHJvd0ludmFyaWFudEZvck1pc3NpbmdTdG9yZSkoKX1mdW5jdGlvbiBQKCl7bGV0IGU9by53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYoIWUpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gYmUgaW5pdGlhbGl6ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCxkLm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInZhbGlkYXRpb24tY2xpZW50Ijp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBjbGllbnQgdmFsaWRhdGlvbi4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNjEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQcmVyZW5kZXJTZWFyY2hQYXJhbXNGb3JDbGllbnRQYWdlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJnZW5lcmF0ZS1zdGF0aWMtcGFyYW1zIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW5zaWRlIGdlbmVyYXRlU3RhdGljUGFyYW1zLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIF8oZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPUUuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IG89KDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksaT1uZXcgUHJveHkobyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKG8sdCkpcmV0dXJuIHMuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxsLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxzLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGwuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxzLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gcy5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gRS5zZXQobixpKSxpO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgYz1lLHU9dDtsZXQgZj1FLmdldChjKTtpZihmKXJldHVybiBmO2xldCBwPVByb21pc2UucmVzb2x2ZSh7fSksaD1uZXcgUHJveHkocCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHAsdCkpcmV0dXJuIHMuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7Yy5keW5hbWljU2hvdWxkRXJyb3I/KDAsbS50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikoYy5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT11LnR5cGU/KDAsbC5wb3N0cG9uZVdpdGhUcmFja2luZykoYy5yb3V0ZSxlLHUuZHluYW1pY1RyYWNraW5nKTooMCxsLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGMsdSl9cmV0dXJuIHMuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gRS5zZXQoYyxoKSxoO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIHYodCxyLG4sYSl7aWYoci5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtpZighbi5hc3luY0FwaVByb21pc2VzKXJldHVybiB3KHQpO2lmKG4udmFsaWRhdGlvblNhbXBsZXMpe2xldHtjcmVhdGVFeGhhdXN0aXZlU2VhcmNoUGFyYW1zUHJveHk6YX09ZS5yKDE4NDUwKSxvPW5ldyBTZXQoT2JqZWN0LmtleXMobi52YWxpZGF0aW9uU2FtcGxlcy5zZWFyY2hQYXJhbXM/P3t9KSk7dD1hKHQsbyxyLnJvdXRlKX1yZXR1cm4oYT9uLmFzeW5jQXBpUHJvbWlzZXMuZWFybHlTaGFyZWRTZWFyY2hQYXJhbXNQYXJlbnQ6bi5hc3luY0FwaVByb21pc2VzLnNoYXJlZFNlYXJjaFBhcmFtc1BhcmVudCkudGhlbigoKT0+dCl9bGV0IEU9bmV3IFdlYWtNYXAsUj1uZXcgV2Vha01hcDtmdW5jdGlvbiBPKCl7bGV0IGU9by53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYoIWUpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gYmUgaW5pdGlhbGl6ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHQ9Ui5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxvKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJnAud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLG0udGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLHMuUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxvKX19KTtyZXR1cm4gUi5zZXQoZSxuKSxufWZ1bmN0aW9uIHcoZSl7bGV0IHQ9RS5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIEUuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNzQ4MDQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDkwMzE3KS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODgyNzYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNzQ4MDQpfSw0MTQ4OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gUH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoNjM1OTkpLGk9ZS5yKDY2MzczKSxzPWUucig0MjcxNSksbD1lLnIoNjc2NzMpLGM9ZS5yKDYyMTQxKSx1PWUucigxMjcxOCksZD1lLnIoNjU5MzIpLGY9ZS5yKDYzMTM4KSxwPWUucig3NjM2MSksbT1lLnIoODgyNzYpLGg9ZS5yKDQyODUyKTtmdW5jdGlvbiBnKGUpe2xldCB0PW8ud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKCF0KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGJlIGluaXRpYWxpemVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDY4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gdihlLG51bGwsdCxyLG51bGwpO2Nhc2UidmFsaWRhdGlvbi1jbGllbnQiOnJldHVybiBSKGUsdCxyLnZhbGlkYXRpb25TYW1wbGVzKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTczNiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImdlbmVyYXRlLXN0YXRpYy1wYXJhbXMiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbnNpZGUgZ2VuZXJhdGVTdGF0aWNQYXJhbXMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTIyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6aWYoci52YWxpZGF0aW9uU2FtcGxlcylyZXR1cm4gUihlLHQsci52YWxpZGF0aW9uU2FtcGxlcyk7cmV0dXJuIFMoZSl9KDAsYy50aHJvd0ludmFyaWFudEZvck1pc3NpbmdTdG9yZSkoKX1mdW5jdGlvbiB5KGUsdCxyKXtyZXR1cm4gUChlLHQsKDAsaS5nZXRNZXRhZGF0YVZhcnlQYXJhbXNBY2N1bXVsYXRvcikoKSxyKX1mdW5jdGlvbiBiKGUsdD1udWxsKXtsZXQgcj1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIkV4cGVjdGVkIHdvcmtTdG9yZSB0byBiZSBpbml0aWFsaXplZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTA2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgbj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYobilzd2l0Y2gobi50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiB2KGUsbnVsbCxyLG4sdCk7Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInZhbGlkYXRpb24tY2xpZW50Ijp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNsaWVudCBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwNjQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlIHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJQYXJhbXNGb3JSb3V0ZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbnNpZGUgZ2VuZXJhdGVTdGF0aWNQYXJhbXMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTMxIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnJldHVybiBFKGUsbnVsbCxuLHQsITEpO2Nhc2UicmVxdWVzdCI6cmV0dXJuIFMoZSl9KDAsYy50aHJvd0ludmFyaWFudEZvck1pc3NpbmdTdG9yZSkoKX1mdW5jdGlvbiBQKHQscixuLGEpe2xldCBpPW8ud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKCFpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGJlIGluaXRpYWxpemVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMDY4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBzPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihzKXN3aXRjaChzLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gdih0LHIsaSxzLG4pO2Nhc2UidmFsaWRhdGlvbi1jbGllbnQiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yU2VydmVyU2VnbWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjbGllbnQgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTAxIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJQYXJhbXNGb3JTZXJ2ZXJTZWdtZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiZ2VuZXJhdGUtc3RhdGljLXBhcmFtcyI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVTZXJ2ZXJQYXJhbXNGb3JTZXJ2ZXJTZWdtZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluc2lkZSBnZW5lcmF0ZVN0YXRpY1BhcmFtcy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTExMjAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIEUodCxyLHMsbixhKTtjYXNlInJlcXVlc3QiOmlmKHMuYXN5bmNBcGlQcm9taXNlcyYmcy52YWxpZGF0aW9uU2FtcGxlcylyZXR1cm4gZnVuY3Rpb24odCxyLG4sYSxvKXtsZXR7Y3JlYXRlRXhoYXVzdGl2ZVBhcmFtc1Byb3h5Oml9PWUucigxODQ1MCkscz1pKHQsbmV3IFNldChPYmplY3Qua2V5cyhuLnBhcmFtcz8/e30pKSxyLnJvdXRlKTtyZXR1cm4obz9hLmVhcmx5U2hhcmVkUGFyYW1zUGFyZW50OmEuc2hhcmVkUGFyYW1zUGFyZW50KS50aGVuKCgpPT5zKX0odCxpLHMudmFsaWRhdGlvblNhbXBsZXMscy5hc3luY0FwaVByb21pc2VzLGEpO2lmKHMuYXN5bmNBcGlQcm9taXNlcyYmZnVuY3Rpb24oZSx0KXtpZih0KXtmb3IobGV0IHIgaW4gZSlpZih0LmhhcyhyKSlyZXR1cm4hMH1yZXR1cm4hMX0odCxzLmZhbGxiYWNrUGFyYW1zKSlyZXR1cm4oYT9zLmFzeW5jQXBpUHJvbWlzZXMuZWFybHlTaGFyZWRQYXJhbXNQYXJlbnQ6cy5hc3luY0FwaVByb21pc2VzLnNoYXJlZFBhcmFtc1BhcmVudCkudGhlbigoKT0+dCk7cmV0dXJuIFModCl9KDAsYy50aHJvd0ludmFyaWFudEZvck1pc3NpbmdTdG9yZSkoKX1mdW5jdGlvbiBfKGUpe2xldCB0PW8ud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKCF0KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiTWlzc2luZyB3b3JrU3RvcmUgaW4gY3JlYXRlUHJlcmVuZGVyUGFyYW1zRm9yQ2xpZW50U2VnbWVudCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmxldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4oMCxmLm1ha2VIYW5naW5nUHJvbWlzZSkoci5yZW5kZXJTaWduYWwsdC5yb3V0ZSwiYHBhcmFtc2AiKX1icmVhaztjYXNlInZhbGlkYXRpb24tY2xpZW50Ijp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gdmFsaWRhdGlvbiBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTEwOTkiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJnZW5lcmF0ZS1zdGF0aWMtcGFyYW1zIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW5zaWRlIGdlbmVyYXRlU3RhdGljUGFyYW1zLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyNiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUpfWZ1bmN0aW9uIHYoZSx0LHIsbixhKXtsZXQgbz1udWxsIT09YT8oMCxpLmNyZWF0ZVZhcnlpbmdQYXJhbXMpKGEsZSx0KTplO3N3aXRjaChuLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOntsZXQgdD1uLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYodCl7Zm9yKGxldCBhIGluIGUpaWYodC5oYXMoYSkpcmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1PLmdldChlKTtpZihuKXJldHVybiBuO2xldCBhPW5ldyBQcm94eSgoMCxmLm1ha2VIYW5naW5nUHJvbWlzZSkoci5yZW5kZXJTaWduYWwsdC5yb3V0ZSwiYHBhcmFtc2AiKSx3KTtyZXR1cm4gTy5zZXQoZSxhKSxhfShvLHIsbil9YnJlYWt9Y2FzZSJwcmVyZW5kZXItcHByIjp7bGV0IHQ9bi5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKHQpe2ZvcihsZXQgYSBpbiBlKWlmKHQuaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscixuKXtsZXQgYT1PLmdldChlKTtpZihhKXJldHVybiBhO2xldCBvPXsuLi5lfSxpPVByb21pc2UucmVzb2x2ZShvKTtyZXR1cm4gTy5zZXQoZSxpKSxPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGU9PntkLndlbGxLbm93blByb3BlcnRpZXMuaGFzKGUpfHx0LmhhcyhlKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sZSx7Z2V0KCl7bGV0IHQ9KDAsZC5kZXNjcmliZVN0cmluZ1Byb3BlcnR5QWNjZXNzKSgicGFyYW1zIixlKTsicHJlcmVuZGVyLXBwciI9PT1uLnR5cGU/KDAsbC5wb3N0cG9uZVdpdGhUcmFja2luZykoci5yb3V0ZSx0LG4uZHluYW1pY1RyYWNraW5nKTooMCxsLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKSh0LHIsbil9LGVudW1lcmFibGU6ITB9KX0pLGl9KG8sdCxyLG4pfX19cmV0dXJuIFMobyl9ZnVuY3Rpb24gRShlLHQscixuLGEpe2xldCBvPVMobnVsbCE9PW4/KDAsaS5jcmVhdGVWYXJ5aW5nUGFyYW1zKShuLGUsdCk6ZSkse3N0YWdlZFJlbmRlcmluZzpzfT1yO2lmKCFzKXJldHVybiBvO2xldCBsPWE/aC5SZW5kZXJTdGFnZS5FYXJseVJ1bnRpbWU6aC5SZW5kZXJTdGFnZS5SdW50aW1lO3JldHVybiBzLndhaXRGb3JTdGFnZShsKS50aGVuKCgpPT5vKX1mdW5jdGlvbiBSKHQscixuKXtsZXR7Y3JlYXRlRXhoYXVzdGl2ZVBhcmFtc1Byb3h5OmF9PWUucigxODQ1MCk7cmV0dXJuIFByb21pc2UucmVzb2x2ZShhKHQsbmV3IFNldChPYmplY3Qua2V5cygobnVsbD09bj92b2lkIDA6bi5wYXJhbXMpPz97fSkpLHIucm91dGUpKX1sZXQgTz1uZXcgV2Vha01hcCx3PXtnZXQ6ZnVuY3Rpb24oZSx0LHIpe2lmKCJ0aGVuIj09PXR8fCJjYXRjaCI9PT10fHwiZmluYWxseSI9PT10KXtsZXQgbj1zLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7cmV0dXJuKHtbdF06KC4uLnQpPT57bGV0IHI9bS5keW5hbWljQWNjZXNzQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuIHImJnIuYWJvcnRDb250cm9sbGVyLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiQWNjZXNzZWQgZmFsbGJhY2sgYHBhcmFtc2AgZHVyaW5nIHByZXJlbmRlcmluZy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTY5MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksbmV3IFByb3h5KG4uYXBwbHkoZSx0KSx3KX19KVt0XX1yZXR1cm4gcy5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX07ZnVuY3Rpb24gUyhlKXtsZXQgdD1PLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gTy5zZXQoZSxyKSxyfSgwLHAuY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldikoZnVuY3Rpb24oZSx0KXtsZXQgcj1lP2BSb3V0ZSAiJHtlfSIgYDoiVGhpcyByb3V0ZSAiO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYCR7cn11c2VkICR7dH0uIFxgcGFyYW1zXGAgaXMgYSBQcm9taXNlIGFuZCBtdXN0IGJlIHVud3JhcHBlZCB3aXRoIFxgYXdhaXRcYCBvciBcYFJlYWN0LnVzZSgpXGAgYmVmb3JlIGFjY2Vzc2luZyBpdHMgcHJvcGVydGllcy4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvc3luYy1keW5hbWljLWFwaXNgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTgzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pfSw0NzI1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiQ2xpZW50UGFnZVJvb3QiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig0MzQ3NiksYT1lLnIoODM3Miksbz1lLnIoNzE2NDUpLGk9ZS5yKDMzOTA2KSxzPWUucig2MTk5NCk7ZnVuY3Rpb24gbCh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCBjLHU7aWYobnVsbCE9PXIpYz1yLnNlYXJjaFBhcmFtcyx1PXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsby51c2UpKGEuTGF5b3V0Um91dGVyQ29udGV4dCk7dT1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSxjPSgwLGkudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsby51c2UpKHMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixhLHtjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Om99PWUucig2OTg4Mik7cj1vKGMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50Oml9PWUucig0MTQ4OSk7cmV0dXJuIGE9aSh1KSwoMCxuLmpzeCkodCx7cGFyYW1zOmEsc2VhcmNoUGFyYW1zOnJ9KX17bGV0e2NyZWF0ZVJlbmRlclNlYXJjaFBhcmFtc0Zyb21DbGllbnQ6cn09ZS5yKDY2OTk2KSxhPXIoYykse2NyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ6b309ZS5yKDk3Njg5KSxpPW8odSk7cmV0dXJuKDAsbi5qc3gpKHQse3BhcmFtczppLHNlYXJjaFBhcmFtczphfSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDkyODI1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJDbGllbnRTZWdtZW50Um9vdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IG49ZS5yKDQzNDc2KSxhPWUucig4MzcyKSxvPWUucig3MTY0NSk7ZnVuY3Rpb24gaSh7Q29tcG9uZW50OnQsc2xvdHM6cixzZXJ2ZXJQcm92aWRlZFBhcmFtczpzfSl7bGV0IGw7aWYobnVsbCE9PXMpbD1zLnBhcmFtcztlbHNle2xldCBlPSgwLG8udXNlKShhLkxheW91dFJvdXRlckNvbnRleHQpO2w9bnVsbCE9PWU/ZS5wYXJlbnRQYXJhbXM6e319aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmF9PWUucig0MTQ4OSksbz1hKGwpO3JldHVybigwLG4uanN4KSh0LHsuLi5yLHBhcmFtczpvfSl9e2xldHtjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50OmF9PWUucig5NzY4OSksbz1hKGwpO3JldHVybigwLG4uanN4KSh0LHsuLi5yLHBhcmFtczpvfSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI3MjAxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJY29uTWFyayIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDQzNDc2KSxhPSgpPT4idSI+dHlwZW9mIHdpbmRvdz9udWxsOigwLG4uanN4KSgibWV0YSIse25hbWU6IsKrbnh0LWljb27CuyJ9KX1dKTs="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/favicon.ico?favicon.0x3dzn~oxb6tn.ico","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.665Z","timestamp":1785136352665,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /favicon.ico?favicon.0x3dzn~oxb6tn.ico HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 142475\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"favicon.ico\"\r\ncontent-encoding: br\r\ncontent-type: image/vnd.microsoft.icon\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"c30c7d42707a47a3f4591831641e50dc\"\r\nlast-modified: Sat, 25 Jul 2026 15:37:56 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /favicon.ico\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::f9dkx-1785136352671-21b7e79b1324\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":25931,"size_decoded":9847,"mime_type":"image/vnd.microsoft.icon","magic":"MS Windows icon resource - 4 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel","md5":"c30c7d42707a47a3f4591831641e50dc","sha1":"9ecfcc8f0ead0bf3d2d7c39e084b88f41cc89a2e","sha256":"2b8ad2d33455a8f736fc3a8ebf8f0bdea8848ad4c0db48a2833bd0f9cd775932","sha512":"7053e0f76e92179fb5154e2665d81897736bdcc22b002b0a3f8e212f27ef80f56224adaa09972848a20c66b064d16eafa732140461071ad70b6193c33dd517e0","ssdeep":"384:ryveIpvjGAUdJ/RN0d2q3OTirIDpXofYPj68Xg5RNy7yyTLb4v0:bIAJdhwYqZ8pYYPjSy7j3j","tlshash":"11c28e9b2b7e2015c908257641aeddfb011b5d4b28b4a20025fa3eb7b4b3735091fa7f","first_seen":"2023-04-30T22:57:19Z","last_seen":"2026-07-29T12:49:43.851447Z","times_seen":36392,"resource_available":false,"data":"AAABAAQAEBAAAAEAIAAoBQAARgAAACAgAAABACAAKBQAAG4FAAAwMAAAAQAgACgtAACWGQAAAAAAAAEAIACNHgAAvkYAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAABdAAAAugAAALoAAABdAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAADyAAAA/wAAAP8AAAD/AAAA/wAAAPIAAACgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAOAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOAAAAA4AAAAAAAAAAAAAAAAAAAAHwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAB8AAAAAAAAAAAAAAKEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAChAAAAAAAAACMAAAD0AAAA/wAAAP9PT0//rq6u/6urq/+rq6v/q6ur/6urq/+tra3/Z2dn/wAAAP8AAAD/AAAA9AAAACMAAABZAAAA/wAAAP8AAAD/Hx8f/+3t7f///////////////////////f39/zU1Nf8AAAD/AAAA/wAAAP8AAABZAAAAuwAAAP8AAAD/AAAA/wAAAP9ra2v//////////////////////46Ojv8AAAD/AAAA/wAAAP8AAAD/AAAAuwAAALsAAAD/AAAA/wAAAP8AAAD/CQkJ/83Nzf///////////+Tk5P8YGBj/AAAA/wAAAP8AAAD/AAAA/wAAALsAAABZAAAA/wAAAP8AAAD/AAAA/wAAAP9KSkr//f39//////9ra2v/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABZAAAAIwAAAPQAAAD/AAAA/wAAAP8AAAD/AQEB/7a2tv/V1dX/CQkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAIwAAAAAAAAChAAAA/wAAAP8AAAD/AAAA/wAAAP8xMTH/RERE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAoQAAAAAAAAAAAAAAHwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAB8AAAAAAAAAAAAAAAAAAAA4AAAA4AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAA8gAAAP8AAAD/AAAA/wAAAP8AAADyAAAAoAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAABdAAAAugAAALoAAABdAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAsAAAAVQAAAIEAAADoAAAA6AAAAIEAAABVAAAALAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAACFAAAA0gAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA0gAAAIUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACWAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAACWAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAAAA4QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADhAAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAAAA+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAOQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAGwAAAAAAAAAAAAAAAAAAAAAAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAAAAAAAAAAAAAAAAAAKAAAAPUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAAAnAAAAAAAAAAAAAACGAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ODg4/4uLi/+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+JiYn/X19f/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIYAAAAAAAAABwAAANQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8eHh7/7u7u//////////////////////////////////////////////////////////////////////9TU1P/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAAcAAAArAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9oaGj/////////////////////////////////////////////////////////////////rq6u/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAAKwAAAFQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP/Ly8v///////////////////////////////////////////////////////T09P8sLCz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABUAAAAggAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0dHR//9/f3/////////////////////////////////////////////////jY2N/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIEAAADpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/62trf///////////////////////////////////////////+Tk5P8XFxf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Kysr//Pz8///////////////////////////////////////ampq/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAAgQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/i4uL/////////////////////////////////8zMzP8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIIAAABUAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8WFhb/4+Pj///////////////////////9/f3/SUlJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAVAAAACsAAAD6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9oaGj//////////////////////6+vr/8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAArAAAABwAAANQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP/Ly8v////////////09PT/LCws/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAAcAAAAAAAAAhgAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0dHR//9/f3//////42Njf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACGAAAAAAAAAAAAAAAnAAAA9AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/7Gxsf/s7Oz/FxcX/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAACgAAAAAAAAAAAAAAAAAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/MzMz/19fX/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAAAAAAAAAAAAAAAAAAAAAAABoAAADjAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5AAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8AAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAABPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACWAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAACWAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAhQAAANIAAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAANIAAACFAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACwAAABVAAAAgQAAAOgAAADoAAAAgQAAAFUAAAAsAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAKAAAAEwAAABqAAAAswAAAPgAAAD3AAAAswAAAGoAAABLAAAAKAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAVgAAAKAAAADYAAAA+AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAANgAAACgAAAAVQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAIsAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAACLAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAACLAAAA7wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7wAAAIsAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADcAAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACKAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAIoAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAK0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACtAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAuAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAuAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACuAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAK4AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3wAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAADxAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPEAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACLAAAAAAAAAAAAAAAAAAAAEQAAAOQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8kJCT/aGho/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/1BQUP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADkAAAAEQAAAAAAAAAAAAAAVQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/6+vr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////3Nzc/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAVQAAAAAAAAAAAAAAoQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ZWVl////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzM/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAoQAAAAAAAAAJAAAA2gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BwcH/8nJyf/////////////////////////////////////////////////////////////////////////////////////////////////9/f3/SEhI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2gAAAAkAAAAoAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0VFRf/8/Pz///////////////////////////////////////////////////////////////////////////////////////////+urq7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAACgAAABLAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+qqqr///////////////////////////////////////////////////////////////////////////////////////T09P8sLCz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAEwAAABqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pKSn/8vLy/////////////////////////////////////////////////////////////////////////////////4yMjP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGoAAAC0AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/iIiI////////////////////////////////////////////////////////////////////////////4+Pj/xYWFv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALMAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FBQU/+Hh4f//////////////////////////////////////////////////////////////////////aWlp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2VlZf/////////////////////////////////////////////////////////////////Ly8v/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAACzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wcHB//Jycn///////////////////////////////////////////////////////39/f9ISEj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALQAAABqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9FRUX//Pz8/////////////////////////////////////////////////66u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AAAAAAAAAAAAAAAAAAAAAAAVAAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3wAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACuAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAK4AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAuAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAuAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAK0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACtAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACKAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAIoAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADcAAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAACLAAAA7wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7wAAAIsAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAIsAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAACLAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAVQAAAKAAAADYAAAA+AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAANgAAACgAAAAVgAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAKAAAAEsAAABqAAAAswAAAPcAAAD4AAAAswAAAGoAAABMAAAAKAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/faq?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.017Z","timestamp":1785136353017,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /faq?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"78a0c5bd05a8609dad9efab96ce4d65d\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /faq.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353029-5a6aa566fd7e\r\ncontent-length: 425\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":425,"size_decoded":1082,"mime_type":"text/x-component","magic":"ASCII text","md5":"ff4bee1b76951951ebfb040aee0bdc89","sha1":"7a011c39d58387956089e8001c182dbd2e4364a8","sha256":"3d30a077bae3cf93b7c1e07c75f8ca6c527160260fd6088cafea8fa6228d5eef","sha512":"34ebfd9865874546c1a703657e07a44febd74602f256b07131172dcaa59c0bfe36a5da2895d076bafcfb05545f51d4b6389e5919539a21c10c71f3598b8de675","ssdeep":"","tlshash":"8fe0227388082c89acf0d894066ae70b543c153b70ba4cadc8dd9d9003a243a1a8b687","first_seen":"2026-07-27T05:24:49.524851Z","last_seen":"2026-07-27T07:13:55.097524Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImZhcSIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjowLCJzbG90cyI6eyJjaGlsZHJlbiI6eyJuYW1lIjoiX19QQUdFX18iLCJwYXJhbSI6bnVsbCwicHJlZmV0Y2hIaW50cyI6MCwic2xvdHMiOm51bGx9fX19fSwic3RhbGVUaW1lIjozMDAsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=fy47i","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.108Z","timestamp":1785136353108,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=fy47i HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /auth/register/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"b115063ba4804447041805c034170d90\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/auth/register/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::hfd4l-1785136353114-ae6057b62974\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1031,"size_decoded":1135,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (511)","md5":"a61efd093beecd9c2d31d5a845b92358","sha1":"eb4ee95a5bbf3803c71e4162640218800618531e","sha256":"e6bba8b6bc9e88ecb29426ae1eedf1050915dab8ce685e9214c397ed756d3f8c","sha512":"926385dd36d3fffd9044747a813685593d119a946503fbdc82b7f554da44dba2362f54dfef088b28a787aeb366f504c44cbd515b67e418837499f9bd13eac52b","ssdeep":"","tlshash":"5c117b27de09fd4a5cb0cc9c281f8b2b61ed683795714cacd28ecda802468b117440d0","first_seen":"2026-07-27T05:24:49.44815Z","last_seen":"2026-07-27T07:13:55.09866Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzQ3MjU3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiQ2xpZW50UGFnZVJvb3QiXQozOklbNTE1MjksWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBtdn5scGt+fmR+aTAuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQo2OklbOTczNjcsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJPdXRsZXRCb3VuZGFyeSJdCjc6IiRTcmVhY3Quc3VzcGVuc2UiCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W1siJCIsIiRMMiIsbnVsbCx7IkNvbXBvbmVudCI6IiQzIiwic2VydmVyUHJvdmlkZWRQYXJhbXMiOnsic2VhcmNoUGFyYW1zIjp7fSwicGFyYW1zIjp7fSwicHJvbWlzZXMiOlsiJEA0IiwiJEA1Il19fV0sW1siJCIsInNjcmlwdCIsInNjcmlwdC0wIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzBtdn5scGt+fmR+aTAuanMiLCJhc3luYyI6dHJ1ZX1dLFsiJCIsInNjcmlwdCIsInNjcmlwdC0xIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzB3dnVoMGkwcWg2cjguanMiLCJhc3luYyI6dHJ1ZX1dXSxbIiQiLCIkTDYiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJDciLG51bGwseyJuYW1lIjoiTmV4dC5NZXRhZGF0YU91dGxldCIsImNoaWxkcmVuIjoiJEA4In1dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjpudWxsLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0KNDp7fQo1OiIkMDpyc2M6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpzZXJ2ZXJQcm92aWRlZFBhcmFtczpwYXJhbXMiCjg6bnVsbAo="}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/faq?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.196Z","timestamp":1785136353196,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /faq?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"b9edc01ebb53e18b1e8528e181740cd7\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /faq.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353201-36e5f63ee3d5\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1253,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/about?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.226Z","timestamp":1785136353226,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /about?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"7a338492366f3e650d18f60382c65e3b\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /about.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7rkmv-1785136353231-21bee91f6d46\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1255,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/about?_rsc=uudir","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.249Z","timestamp":1785136353249,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /about?_rsc=uudir HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /about\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"6828690f7ad66acfb5f94d7fcd671a04\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /about.segments/about.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353254-03fb498bef8f\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1104,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/17sxn1xpkb_ap.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.518Z","timestamp":1785136352518,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/17sxn1xpkb_ap.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98146\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"17sxn1xpkb_ap.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"63b597c68c0e6a80bac2e559cdde149f\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/17sxn1xpkb_ap.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dnmw9-1785136352524-3001fa967b13\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":32498,"size_decoded":10327,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (29064)","md5":"63b597c68c0e6a80bac2e559cdde149f","sha1":"811a680bcd4e16e2c6037e9707593411b0050817","sha256":"744e36150364c4bb2090c7ec698d798364baa38aa48b7dca96ce11b69cddd523","sha512":"c2c50668906e3b4c01ed0ce0097e3c3dfcbff6391c471f663cae7697593b9ec2dcd9e6fd7c64777af09326b38493a3ff5168623f6bc434e261d04bdd35798faf","ssdeep":"384:f4MjBRxOM+kYLoO8NfwE6kUp+yy8JQrtg6KaFpg5UG2er6eJ2p1cHBYjYvI2cNJv:f4MjYM+PoTH6kUp+FncHBqVJHR7zt","tlshash":"3ce2d6a571d5f49117a354a8803f100bf23d1c7a296cb4b0a3e2ccea79a059de533fda","first_seen":"2026-04-29T23:47:13.31551Z","last_seen":"2026-07-27T07:13:55.093635Z","times_seen":16,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDM1NDUxLChlLHQscik9Pnt2YXIgbj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LHIsbixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e3I9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtyPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKHIpe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChyKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmbiYmKHM9ITEsbi5sZW5ndGg/bD1uLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKG49bCxsPVtdOysrYzx0OyluJiZuW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1uPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihyPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKHI9PT1pfHwhcikmJmNsZWFyVGltZW91dClyZXR1cm4gcj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtyKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gci5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIHIuY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTFdPWFyZ3VtZW50c1tyXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgcj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtuW2VdKHIsci5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gci5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2Vzcy8iLHQuZXhwb3J0cz11KDIyOSl9LDQ3MTY3LChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4sbzt0LmV4cG9ydHM9KG51bGw9PShuPWUuZy5wcm9jZXNzKT92b2lkIDA6bi5lbnYpJiYib2JqZWN0Ij09dHlwZW9mKG51bGw9PShvPWUuZy5wcm9jZXNzKT92b2lkIDA6by5lbnYpP2UuZy5wcm9jZXNzOmUucigzNTQ1MSl9LDQ1Njg5LChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKTtmdW5jdGlvbiBvKGUsdCxyKXt2YXIgbz1udWxsO2lmKHZvaWQgMCE9PXImJihvPSIiK3IpLHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksImtleSJpbiB0KWZvcih2YXIgdSBpbiByPXt9LHQpImtleSIhPT11JiYoclt1XT10W3VdKTtlbHNlIHI9dDtyZXR1cm57JCR0eXBlb2Y6bix0eXBlOmUsa2V5Om8scmVmOnZvaWQgMCE9PSh0PXIucmVmKT90Om51bGwscHJvcHM6cn19ci5GcmFnbWVudD1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLHIuanN4PW8sci5qc3hzPW99LDQzNDc2LChlLHQscik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0NTY4OSl9LDUwNzQwLChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49ZS5pKDQ3MTY3KSxvPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IiksdT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxpPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLGw9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmNvbnN1bWVyIiksYz1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksZj1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxwPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSx5PVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxfPVN5bWJvbC5mb3IoInJlYWN0LmFjdGl2aXR5IiksYj1TeW1ib2wuZm9yKCJyZWFjdC52aWV3X3RyYW5zaXRpb24iKSxoPVN5bWJvbC5pdGVyYXRvcixFPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxnPU9iamVjdC5hc3NpZ24sdj17fTtmdW5jdGlvbiBtKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPXYsdGhpcy51cGRhdGVyPXJ8fEV9ZnVuY3Rpb24geCgpe31mdW5jdGlvbiBSKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPXYsdGhpcy51cGRhdGVyPXJ8fEV9bS5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSxtLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLHQsInNldFN0YXRlIil9LG0ucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSx4LnByb3RvdHlwZT1tLnByb3RvdHlwZTt2YXIgaj1SLnByb3RvdHlwZT1uZXcgeDtqLmNvbnN0cnVjdG9yPVIsZyhqLG0ucHJvdG90eXBlKSxqLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciBPPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gVCgpe312YXIgUz17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxQPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gQShlLHQscil7dmFyIG49ci5yZWY7cmV0dXJueyQkdHlwZW9mOm8sdHlwZTplLGtleTp0LHJlZjp2b2lkIDAhPT1uP246bnVsbCxwcm9wczpyfX1mdW5jdGlvbiB3KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmUuJCR0eXBlb2Y9PT1vfXZhciBNPS9cLysvZztmdW5jdGlvbiBDKGUsdCl7dmFyIHIsbjtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT8ocj0iIitlLmtleSxuPXsiPSI6Ij0wIiwiOiI6Ij0yIn0sIiQiK3IucmVwbGFjZSgvWz06XS9nLGZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfSkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIE4oZSx0LHIpe2lmKG51bGw9PWUpcmV0dXJuIGU7dmFyIG49W10saT0wO3JldHVybiFmdW5jdGlvbiBlKHQscixuLGksYSl7dmFyIGwscyxjLGY9dHlwZW9mIHQ7KCJ1bmRlZmluZWQiPT09Znx8ImJvb2xlYW4iPT09ZikmJih0PW51bGwpO3ZhciBkPSExO2lmKG51bGw9PT10KWQ9ITA7ZWxzZSBzd2l0Y2goZil7Y2FzZSJiaWdpbnQiOmNhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6ZD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgbzpjYXNlIHU6ZD0hMDticmVhaztjYXNlIHk6cmV0dXJuIGUoKGQ9dC5faW5pdCkodC5fcGF5bG9hZCkscixuLGksYSl9fWlmKGQpcmV0dXJuIGE9YSh0KSxkPSIiPT09aT8iLiIrQyh0LDApOmksTyhhKT8obj0iIixudWxsIT1kJiYobj1kLnJlcGxhY2UoTSwiJCYvIikrIi8iKSxlKGEscixuLCIiLGZ1bmN0aW9uKGUpe3JldHVybiBlfSkpOm51bGwhPWEmJih3KGEpJiYobD1hLHM9bisobnVsbD09YS5rZXl8fHQmJnQua2V5PT09YS5rZXk/IiI6KCIiK2Eua2V5KS5yZXBsYWNlKE0sIiQmLyIpKyIvIikrZCxhPUEobC50eXBlLHMsbC5wcm9wcykpLHIucHVzaChhKSksMTtkPTA7dmFyIHA9IiI9PT1pPyIuIjppKyI6IjtpZihPKHQpKWZvcih2YXIgXz0wO188dC5sZW5ndGg7XysrKWY9cCtDKGk9dFtfXSxfKSxkKz1lKGkscixuLGYsYSk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YoXz1udWxsPT09KGM9dCl8fCJvYmplY3QiIT10eXBlb2YgYz9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihjPWgmJmNbaF18fGNbIkBAaXRlcmF0b3IiXSk/YzpudWxsKSlmb3IodD1fLmNhbGwodCksXz0wOyEoaT10Lm5leHQoKSkuZG9uZTspZj1wK0MoaT1pLnZhbHVlLF8rKyksZCs9ZShpLHIsbixmLGEpO2Vsc2UgaWYoIm9iamVjdCI9PT1mKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXJldHVybiBlKGZ1bmN0aW9uKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiBlLnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGUucmVhc29uO2RlZmF1bHQ6c3dpdGNoKCJzdHJpbmciPT10eXBlb2YgZS5zdGF0dXM/ZS50aGVuKFQsVCk6KGUuc3RhdHVzPSJwZW5kaW5nIixlLnRoZW4oZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0iZnVsZmlsbGVkIixlLnZhbHVlPXQpfSxmdW5jdGlvbih0KXsicGVuZGluZyI9PT1lLnN0YXR1cyYmKGUuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dCl9KSksZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbn19dGhyb3cgZX0odCkscixuLGksYSk7dGhyb3cgRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT0ocj1TdHJpbmcodCkpPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOnIpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIil9cmV0dXJuIGR9KGUsbiwiIiwiIixmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxpKyspfSksbn1mdW5jdGlvbiBIKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXt2YXIgdD0oMCxlLl9yZXN1bHQpKCk7dC50aGVuKGZ1bmN0aW9uKHIpeygwPT09ZS5fc3RhdHVzfHwtMT09PWUuX3N0YXR1cykmJihlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9cix2b2lkIDA9PT10LnN0YXR1cyYmKHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9cikpfSxmdW5jdGlvbihyKXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXIsdm9pZCAwPT09dC5zdGF0dXMmJih0LnN0YXR1cz0icmVqZWN0ZWQiLHQucmVhc29uPXIpKX0pLC0xPT09ZS5fc3RhdHVzJiYoZS5fc3RhdHVzPTAsZS5fcmVzdWx0PXQpfWlmKDE9PT1lLl9zdGF0dXMpcmV0dXJuIGUuX3Jlc3VsdC5kZWZhdWx0O3Rocm93IGUuX3Jlc3VsdH12YXIgRD0iZnVuY3Rpb24iPT10eXBlb2YgcmVwb3J0RXJyb3I/cmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuRXJyb3JFdmVudCl7dmFyIHQ9bmV3IHdpbmRvdy5FcnJvckV2ZW50KCJlcnJvciIse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxtZXNzYWdlOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJzdHJpbmciPT10eXBlb2YgZS5tZXNzYWdlP1N0cmluZyhlLm1lc3NhZ2UpOlN0cmluZyhlKSxlcnJvcjplfSk7aWYoIXdpbmRvdy5kaXNwYXRjaEV2ZW50KHQpKXJldHVybn1lbHNlIGlmKCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0LmVtaXQpcmV0dXJuIHZvaWQgbi5kZWZhdWx0LmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixlKTtjb25zb2xlLmVycm9yKGUpfTtmdW5jdGlvbiBJKGUpe3ZhciB0PVMuVCxyPXt9O3IudHlwZXM9bnVsbCE9PXQ/dC50eXBlczpudWxsLFMuVD1yO3RyeXt2YXIgbj1lKCksbz1TLlM7bnVsbCE9PW8mJm8ocixuKSwib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuJiZuLnRoZW4oVCxEKX1jYXRjaChlKXtEKGUpfWZpbmFsbHl7bnVsbCE9PXQmJm51bGwhPT1yLnR5cGVzJiYodC50eXBlcz1yLnR5cGVzKSxTLlQ9dH19ZnVuY3Rpb24gVShlKXt2YXIgdD1TLlQ7aWYobnVsbCE9PXQpe3ZhciByPXQudHlwZXM7bnVsbD09PXI/dC50eXBlcz1bZV06LTE9PT1yLmluZGV4T2YoZSkmJnIucHVzaChlKX1lbHNlIEkoVS5iaW5kKG51bGwsZSkpfXIuQWN0aXZpdHk9XyxyLkNoaWxkcmVuPXttYXA6Tixmb3JFYWNoOmZ1bmN0aW9uKGUsdCxyKXtOKGUsZnVuY3Rpb24oKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scil9LGNvdW50OmZ1bmN0aW9uKGUpe3ZhciB0PTA7cmV0dXJuIE4oZSxmdW5jdGlvbigpe3QrK30pLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIE4oZSxmdW5jdGlvbihlKXtyZXR1cm4gZX0pfHxbXX0sb25seTpmdW5jdGlvbihlKXtpZighdyhlKSl0aHJvdyBFcnJvcigiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuIik7cmV0dXJuIGV9fSxyLkNvbXBvbmVudD1tLHIuRnJhZ21lbnQ9aSxyLlByb2ZpbGVyPWwsci5QdXJlQ29tcG9uZW50PVIsci5TdHJpY3RNb2RlPWEsci5TdXNwZW5zZT1kLHIuVmlld1RyYW5zaXRpb249YixyLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERT1TLHIuX19DT01QSUxFUl9SVU5USU1FPXtfX3Byb3RvX186bnVsbCxjOmZ1bmN0aW9uKGUpe3JldHVybiBTLkgudXNlTWVtb0NhY2hlKGUpfX0sci5hZGRUcmFuc2l0aW9uVHlwZT1VLHIuY2FjaGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sci5jYWNoZVNpZ25hbD1mdW5jdGlvbigpe3JldHVybiBudWxsfSxyLmNsb25lRWxlbWVudD1mdW5jdGlvbihlLHQscil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbj1nKHt9LGUucHJvcHMpLG89ZS5rZXk7aWYobnVsbCE9dClmb3IodSBpbiB2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLHQpUC5jYWxsKHQsdSkmJiJrZXkiIT09dSYmIl9fc2VsZiIhPT11JiYiX19zb3VyY2UiIT09dSYmKCJyZWYiIT09dXx8dm9pZCAwIT09dC5yZWYpJiYoblt1XT10W3VdKTt2YXIgdT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXUpbi5jaGlsZHJlbj1yO2Vsc2UgaWYoMTx1KXtmb3IodmFyIGk9QXJyYXkodSksYT0wO2E8dTthKyspaVthXT1hcmd1bWVudHNbYSsyXTtuLmNoaWxkcmVuPWl9cmV0dXJuIEEoZS50eXBlLG8sbil9LHIuY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6YyxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGx9KS5Qcm92aWRlcj1lLGUuQ29uc3VtZXI9eyQkdHlwZW9mOnMsX2NvbnRleHQ6ZX0sZX0sci5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGUsdCxyKXt2YXIgbixvPXt9LHU9bnVsbDtpZihudWxsIT10KWZvcihuIGluIHZvaWQgMCE9PXQua2V5JiYodT0iIit0LmtleSksdClQLmNhbGwodCxuKSYmImtleSIhPT1uJiYiX19zZWxmIiE9PW4mJiJfX3NvdXJjZSIhPT1uJiYob1tuXT10W25dKTt2YXIgaT1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWkpby5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxpKXtmb3IodmFyIGE9QXJyYXkoaSksbD0wO2w8aTtsKyspYVtsXT1hcmd1bWVudHNbbCsyXTtvLmNoaWxkcmVuPWF9aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKG4gaW4gaT1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW25dJiYob1tuXT1pW25dKTtyZXR1cm4gQShlLHUsbyl9LHIuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHIuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZixyZW5kZXI6ZX19LHIuaXNWYWxpZEVsZW1lbnQ9dyxyLmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnksX3BheWxvYWQ6e19zdGF0dXM6LTEsX3Jlc3VsdDplfSxfaW5pdDpIfX0sci5tZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOnAsdHlwZTplLGNvbXBhcmU6dm9pZCAwPT09dD9udWxsOnR9fSxyLnN0YXJ0VHJhbnNpdGlvbj1JLHIudW5zdGFibGVfdXNlQ2FjaGVSZWZyZXNoPWZ1bmN0aW9uKCl7cmV0dXJuIFMuSC51c2VDYWNoZVJlZnJlc2goKX0sci51c2U9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuSC51c2UoZSl9LHIudXNlQWN0aW9uU3RhdGU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBTLkgudXNlQWN0aW9uU3RhdGUoZSx0LHIpfSxyLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFMuSC51c2VDYWxsYmFjayhlLHQpfSxyLnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuSC51c2VDb250ZXh0KGUpfSxyLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHIudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlLHQpe3JldHVybiBTLkgudXNlRGVmZXJyZWRWYWx1ZShlLHQpfSxyLnVzZUVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBTLkgudXNlRWZmZWN0KGUsdCl9LHIudXNlRWZmZWN0RXZlbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuSC51c2VFZmZlY3RFdmVudChlKX0sci51c2VJZD1mdW5jdGlvbigpe3JldHVybiBTLkgudXNlSWQoKX0sci51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gUy5ILnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSxyLnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBTLkgudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHIudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFMuSC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sci51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFMuSC51c2VNZW1vKGUsdCl9LHIudXNlT3B0aW1pc3RpYz1mdW5jdGlvbihlLHQpe3JldHVybiBTLkgudXNlT3B0aW1pc3RpYyhlLHQpfSxyLnVzZVJlZHVjZXI9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBTLkgudXNlUmVkdWNlcihlLHQscil9LHIudXNlUmVmPWZ1bmN0aW9uKGUpe3JldHVybiBTLkgudXNlUmVmKGUpfSxyLnVzZVN0YXRlPWZ1bmN0aW9uKGUpe3JldHVybiBTLkgudXNlU3RhdGUoZSl9LHIudXNlU3luY0V4dGVybmFsU3RvcmU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBTLkgudXNlU3luY0V4dGVybmFsU3RvcmUoZSx0LHIpfSxyLnVzZVRyYW5zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gUy5ILnVzZVRyYW5zaXRpb24oKX0sci52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LTNmMGI5ZTYxLTIwMjYwMzE3In0sNzE2NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZS5yKDUwNzQwKX0sNTU2ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtyLl89ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fX0sOTAzMTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2JpbmRTbmFwc2hvdDpmdW5jdGlvbigpe3JldHVybiBzfSxjcmVhdGVBc3luY0xvY2FsU3RvcmFnZTpmdW5jdGlvbigpe3JldHVybiBsfSxjcmVhdGVTbmFwc2hvdDpmdW5jdGlvbigpe3JldHVybiBjfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBBc3luY0xvY2FsU3RvcmFnZSBhY2Nlc3NlZCBpbiBydW50aW1lIHdoZXJlIGl0IGlzIG5vdCBhdmFpbGFibGUiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTUwNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjbGFzcyBpe2Rpc2FibGUoKXt0aHJvdyB1fWdldFN0b3JlKCl7fXJ1bigpe3Rocm93IHV9ZXhpdCgpe3Rocm93IHV9ZW50ZXJXaXRoKCl7dGhyb3cgdX1zdGF0aWMgYmluZChlKXtyZXR1cm4gZX19bGV0IGE9InUiPnR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLkFzeW5jTG9jYWxTdG9yYWdlO2Z1bmN0aW9uIGwoKXtyZXR1cm4gYT9uZXcgYTpuZXcgaX1mdW5jdGlvbiBzKGUpe3JldHVybiBhP2EuYmluZChlKTppLmJpbmQoZSl9ZnVuY3Rpb24gYygpe3JldHVybiBhP2Euc25hcHNob3QoKTpmdW5jdGlvbihlLC4uLnQpe3JldHVybiBlKC4uLnQpfX19LDEyNzE4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sNzY5NjMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZGlyZWN0U3RhdHVzQ29kZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7dmFyIG4sbz0oKG49e30pW24uU2VlT3RoZXI9MzAzXT0iU2VlT3RoZXIiLG5bbi5UZW1wb3JhcnlSZWRpcmVjdD0zMDddPSJUZW1wb3JhcnlSZWRpcmVjdCIsbltuLlBlcm1hbmVudFJlZGlyZWN0PTMwOF09IlBlcm1hbmVudFJlZGlyZWN0IixuKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2ODM5MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBpfSxpc1JlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNzY5NjMpLGk9Ik5FWFRfUkVESVJFQ1QiO2Z1bmN0aW9uIGEoZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZXx8ISgiZGlnZXN0ImluIGUpfHwic3RyaW5nIiE9dHlwZW9mIGUuZGlnZXN0KXJldHVybiExO2xldCB0PWUuZGlnZXN0LnNwbGl0KCI7IiksW3Isbl09dCxvPXQuc2xpY2UoMiwtMikuam9pbigiOyIpLGE9TnVtYmVyKHQuYXQoLTIpKTtyZXR1cm4gcj09PWkmJigicmVwbGFjZSI9PT1ufHwicHVzaCI9PT1uKSYmInN0cmluZyI9PXR5cGVvZiBvJiYhaXNOYU4oYSkmJmEgaW4gdS5SZWRpcmVjdFN0YXR1c0NvZGV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTA4MDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBXZWFrTWFwKXJldHVybiBudWxsO3ZhciB0PW5ldyBXZWFrTWFwLHI9bmV3IFdlYWtNYXA7cmV0dXJuKG49ZnVuY3Rpb24oZSl7cmV0dXJuIGU/cjp0fSkoZSl9ci5fPWZ1bmN0aW9uKGUsdCl7aWYoIXQmJmUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZihudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm57ZGVmYXVsdDplfTt2YXIgcj1uKHQpO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbz17X19wcm90b19fOm51bGx9LHU9T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgYT11P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO2EmJihhLmdldHx8YS5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGksYSk6b1tpXT1lW2ldfXJldHVybiBvLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG8pLG99fSwyMTc2OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiBifSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBUfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sTkVYVF9JTlNUQU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0lOU1RBTlRfVEVTVF9DT09LSUU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gan0sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBFfSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT0ibmV4dC1pbnN0YW50LW5hdmlnYXRpb24tdGVzdGluZy1wcmVmZXRjaCIsXz0ibmV4dC1pbnN0YW50LW5hdmlnYXRpb24tdGVzdGluZyIsYj1bdSxhLGwsYyxzXSxoPSJfcnNjIixFPSJ4LW5leHRqcy1zdGFsZS10aW1lIixnPSJ4LW5leHRqcy1wb3N0cG9uZWQiLHY9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixtPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLHg9IngtbmV4dGpzLXByZXJlbmRlciIsUj0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsaj0ieC1uZXh0anMtcmVxdWVzdC1pZCIsTz0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixUPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzk0NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sODM3MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig1NTY4MikuXyhlLnIoNzE2NDUpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDEzMjU4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtERUZBVUxUX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LE5PVF9GT1VORF9TRUdNRU5UX0tFWTpmdW5jdGlvbigpe3JldHVybiBkfSxQQUdFX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY29tcHV0ZVNlbGVjdGVkTGF5b3V0U2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWdtZW50VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0U2VsZWN0ZWRMYXlvdXRTZWdtZW50UGF0aDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscixuPSEwLG89W10pe2xldCBpO2lmKG4paT10WzFdW3JdO2Vsc2V7bGV0IGU9dFsxXTtpPWUuY2hpbGRyZW4/P09iamVjdC52YWx1ZXMoZSlbMF19aWYoIWkpcmV0dXJuIG87bGV0IGE9dShpWzBdKTtyZXR1cm4hYXx8YS5zdGFydHNXaXRoKGMpP286KG8ucHVzaChhKSxlKGksciwhMSxvKSl9fSxpc0dyb3VwU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBpfSxpc1BhcmFsbGVsUm91dGVTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7ZnVuY3Rpb24gdShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lWzFdOmV9ZnVuY3Rpb24gaShlKXtyZXR1cm4iKCI9PT1lWzBdJiZlLmVuZHNXaXRoKCIpIil9ZnVuY3Rpb24gYShlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJAIikmJiJAY2hpbGRyZW4iIT09ZX1mdW5jdGlvbiBsKGUsdCl7aWYoZS5pbmNsdWRlcyhjKSl7bGV0IGU9SlNPTi5zdHJpbmdpZnkodCk7cmV0dXJuInt9IiE9PWU/YysiPyIrZTpjfXJldHVybiBlfWZ1bmN0aW9uIHMoZSx0KXtpZighZXx8MD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCByPSJjaGlsZHJlbiI9PT10P2VbMF06ZVtlLmxlbmd0aC0xXTtyZXR1cm4gcj09PWY/bnVsbDpyfWxldCBjPSJfX1BBR0VfXyIsZj0iX19ERUZBVUxUX18iLGQ9Ii9fbm90LWZvdW5kIn0sOTI4MzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1VucmVjb2duaXplZEFjdGlvbkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5uYW1lPSJVbnJlY29nbml6ZWRBY3Rpb25FcnJvciJ9fWZ1bmN0aW9uIGkoZSl7cmV0dXJuISEoZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlIGluc3RhbmNlb2YgdSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQ0NTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoOTAzMTcpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSw2MjI2NiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWN0aW9uQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hY3Rpb25Bc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoMzQ0NTcpfSwyNDA2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Z2V0UmVkaXJlY3RFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSxnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGdldFVSTEZyb21SZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7bGV0IHU9ZS5yKDc2OTYzKSxpPWUucig2ODM5MSksYT0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjIyNjYpLmFjdGlvbkFzeW5jU3RvcmFnZTp2b2lkIDA7ZnVuY3Rpb24gbChlLHQscj11LlJlZGlyZWN0U3RhdHVzQ29kZS5UZW1wb3JhcnlSZWRpcmVjdCl7bGV0IG49T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGkuUkVESVJFQ1RfRVJST1JfQ09ERSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIG4uZGlnZXN0PWAke2kuUkVESVJFQ1RfRVJST1JfQ09ERX07JHt0fTske2V9OyR7cn07YCxufWZ1bmN0aW9uIHMoZSx0KXt0aHJvdyBsKGUsdD8/PWE/LmdldFN0b3JlKCk/LmlzQWN0aW9uPyJwdXNoIjoicmVwbGFjZSIsdS5SZWRpcmVjdFN0YXR1c0NvZGUuVGVtcG9yYXJ5UmVkaXJlY3QpfWZ1bmN0aW9uIGMoZSx0PSJyZXBsYWNlIil7dGhyb3cgbChlLHQsdS5SZWRpcmVjdFN0YXR1c0NvZGUuUGVybWFuZW50UmVkaXJlY3QpfWZ1bmN0aW9uIGYoZSl7cmV0dXJuKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpP2UuZGlnZXN0LnNwbGl0KCI7Iikuc2xpY2UoMiwtMikuam9pbigiOyIpOm51bGx9ZnVuY3Rpb24gZChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZS5kaWdlc3Quc3BsaXQoIjsiLDIpWzFdfWZ1bmN0aW9uIHAoZSl7aWYoISgwLGkuaXNSZWRpcmVjdEVycm9yKShlKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIk5vdCBhIHJlZGlyZWN0IGVycm9yIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNjAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIE51bWJlcihlLmRpZ2VzdC5zcGxpdCgiOyIpLmF0KC0yKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDIzNDQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDkwMzE3KS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNjM1OTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDIzNDQpfSwxMjM1NCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFuZGxlSVNSRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPSJ1Ijx0eXBlb2Ygd2luZG93P2Uucig2MzU5OSkud29ya0FzeW5jU3RvcmFnZTp2b2lkIDA7ZnVuY3Rpb24gbyh7ZXJyb3I6ZX0pe2lmKG4pe2xldCB0PW4uZ2V0U3RvcmUoKTtpZih0Py5pc1N0YXRpY0dlbmVyYXRpb24pdGhyb3cgZSYmY29uc29sZS5lcnJvcihlKSxlfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw5MDM3MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlVW50cmFja2VkUGF0aG5hbWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBuPWUucig3MTY0NSksbz1lLnIoNjE5OTQpO2Z1bmN0aW9uIHUoKXtyZXR1cm4hZnVuY3Rpb24oKXtpZigidSI8dHlwZW9mIHdpbmRvdyl7bGV0e3dvcmtVbml0QXN5bmNTdG9yYWdlOnR9PWUucig2MjE0MSkscj10LmdldFN0b3JlKCk7aWYoIXIpcmV0dXJuITE7c3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInZhbGlkYXRpb24tY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7cmV0dXJuISFuJiZuLnNpemU+MH19cmV0dXJuITF9KCk/KDAsbi51c2VDb250ZXh0KShvLlBhdGhuYW1lQ29udGV4dCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3ODM3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aGFuZGxlSGFyZE5hdkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHVzZU5hdkZhaWx1cmVIYW5kbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIGF9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7ZS5yKDcxNjQ1KTtsZXQgdT1lLnIoNTExOTEpO2Z1bmN0aW9uIGkoZSl7cmV0dXJuISEoZSYmInUiPnR5cGVvZiB3aW5kb3cpJiYhIXdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCYmKDAsdS5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09KDAsdS5jcmVhdGVIcmVmRnJvbVVybCkod2luZG93Lm5leHQuX19wZW5kaW5nVXJsKSYmKGNvbnNvbGUuZXJyb3IoIkVycm9yIG9jY3VycmVkIGR1cmluZyBuYXZpZ2F0aW9uLCBmYWxsaW5nIGJhY2sgdG8gaGFyZCBuYXZpZ2F0aW9uIixlKSx3aW5kb3cubG9jYXRpb24uaHJlZj13aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwudG9TdHJpbmcoKSwhMCl9ZnVuY3Rpb24gYSgpe30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MjM4MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBffSxFcnJvckJvdW5kYXJ5SGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig5MDgwOSksaT1lLnIoNDM0NzYpLGE9dS5fKGUucig3MTY0NSkpLGw9ZS5yKDkwMzczKSxzPWUucig2NTcxMyk7ZS5yKDc4Mzc3KTtsZXQgYz1lLnIoMTIzNTQpLGY9ZS5yKDgyNjA0KSxkPWUucig4MzcyKSxwPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxmLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgeSBleHRlbmRzIGEuZGVmYXVsdC5Db21wb25lbnR7c3RhdGlje3RoaXMuY29udGV4dFR5cGU9ZC5BcHBSb3V0ZXJDb250ZXh0fWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMucmVzZXQ9KCk9Pnt0aGlzLnNldFN0YXRlKHtlcnJvcjpudWxsfSl9LHRoaXMudW5zdGFibGVfcmV0cnk9KCk9PnsoMCxhLnN0YXJ0VHJhbnNpdGlvbikoKCk9Pnt0aGlzLmNvbnRleHQ/LnJlZnJlc2goKSx0aGlzLnJlc2V0KCl9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIXA/KCgwLGMuaGFuZGxlSVNSRXJyb3IpKHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yfSksKDAsaS5qc3hzKShpLkZyYWdtZW50LHtjaGlsZHJlbjpbdGhpcy5wcm9wcy5lcnJvclN0eWxlcyx0aGlzLnByb3BzLmVycm9yU2NyaXB0cywoMCxpLmpzeCkodGhpcy5wcm9wcy5lcnJvckNvbXBvbmVudCx7ZXJyb3I6dGhpcy5zdGF0ZS5lcnJvcixyZXNldDp0aGlzLnJlc2V0LHVuc3RhYmxlX3JldHJ5OnRoaXMudW5zdGFibGVfcmV0cnl9KV19KSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19ZnVuY3Rpb24gXyh7ZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KXtsZXQgbz0oMCxsLnVzZVVudHJhY2tlZFBhdGhuYW1lKSgpO3JldHVybiBlPygwLGkuanN4KSh5LHtwYXRobmFtZTpvLGVycm9yQ29tcG9uZW50OmUsZXJyb3JTdHlsZXM6dCxlcnJvclNjcmlwdHM6cixjaGlsZHJlbjpufSk6KDAsaS5qc3gpKGkuRnJhZ21lbnQse2NoaWxkcmVuOm59KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1ODQ0MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17UmVkaXJlY3RCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBwfSxSZWRpcmVjdEVycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoOTA4MDkpLGk9ZS5yKDQzNDc2KSxhPXUuXyhlLnIoNzE2NDUpKSxsPWUucig3NjU2Mikscz1lLnIoMjQwNjMpLGM9ZS5yKDY4MzkxKTtmdW5jdGlvbiBmKHtyZWRpcmVjdDplLHJlc2V0OnQscmVkaXJlY3RUeXBlOnJ9KXtsZXQgbj0oMCxsLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxhLnVzZUVmZmVjdCkoKCk9PnthLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57InB1c2giPT09cj9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZCBleHRlbmRzIGEuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxjLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsaS5qc3gpKGYse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxsLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxpLmpzeCkoZCx7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDcwNzI1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49ZS5yKDEzMjU4KTtmdW5jdGlvbiBvKGUsdD0hMSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/YCR7ZVswXX18JHtlWzFdfXwke2VbMl19YDp0JiZlLnN0YXJ0c1dpdGgobi5QQUdFX1NFR01FTlRfS0VZKT9uLlBBR0VfU0VHTUVOVF9LRVk6ZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNTA3MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidW5yZXNvbHZlZFRoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj17dGhlbjooKT0+e319OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk3MzY3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtNZXRhZGF0YUJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGF9LE91dGxldEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFJvb3RMYXlvdXRCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBjfSxWaWV3cG9ydEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7bGV0IHU9ZS5yKDU0ODM5KSxpPXtbdS5NRVRBREFUQV9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5WSUVXUE9SVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5PVVRMRVRfQk9VTkRBUllfTkFNRV06ZnVuY3Rpb24oe2NoaWxkcmVuOmV9KXtyZXR1cm4gZX0sW3UuUk9PVF9MQVlPVVRfQk9VTkRBUllfTkFNRV06ZnVuY3Rpb24oe2NoaWxkcmVuOmV9KXtyZXR1cm4gZX19LGE9aVt1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGw9aVt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLHM9aVt1Lk9VVExFVF9CT1VOREFSWV9OQU1FLnNsaWNlKDApXSxjPWlbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FLnNsaWNlKDApXX0sMTg1NzYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1dhcm5pbmdJY29uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGVycm9yU3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGVycm9yVGhlbWVDc3M6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtlLnIoNTU2ODIpO2xldCB1PWUucig0MzQ3Nik7ZS5yKDcxNjQ1KTtsZXQgaT17Y29udGFpbmVyOntmb250RmFtaWx5OidzeXN0ZW0tdWksIlNlZ29lIFVJIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiJyxoZWlnaHQ6IjEwMHZoIixkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxjYXJkOnttYXJnaW5Ub3A6Ii0zMnB4IixtYXhXaWR0aDoiMzI1cHgiLHBhZGRpbmc6IjMycHggMjhweCIsdGV4dEFsaWduOiJsZWZ0In0saWNvbjp7bWFyZ2luQm90dG9tOiIyNHB4In0sdGl0bGU6e2ZvbnRTaXplOiIyNHB4Iixmb250V2VpZ2h0OjUwMCxsZXR0ZXJTcGFjaW5nOiItMC4wMmVtIixsaW5lSGVpZ2h0OiIzMnB4IixtYXJnaW46IjAgMCAxMnB4IDAiLGNvbG9yOiJ2YXIoLS1uZXh0LWVycm9yLXRpdGxlKSJ9LG1lc3NhZ2U6e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyMXB4IixtYXJnaW46IjAgMCAyMHB4IDAiLGNvbG9yOiJ2YXIoLS1uZXh0LWVycm9yLW1lc3NhZ2UpIn0sZm9ybTp7bWFyZ2luOjB9LGJ1dHRvbkdyb3VwOntkaXNwbGF5OiJmbGV4IixnYXA6IjhweCIsYWxpZ25JdGVtczoiY2VudGVyIn0sYnV0dG9uOntkaXNwbGF5OiJpbmxpbmUtZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixqdXN0aWZ5Q29udGVudDoiY2VudGVyIixoZWlnaHQ6IjMycHgiLHBhZGRpbmc6IjAgMTJweCIsZm9udFNpemU6IjE0cHgiLGZvbnRXZWlnaHQ6NTAwLGxpbmVIZWlnaHQ6IjIwcHgiLGJvcmRlclJhZGl1czoiNnB4IixjdXJzb3I6InBvaW50ZXIiLGNvbG9yOiJ2YXIoLS1uZXh0LWVycm9yLWJ0bi10ZXh0KSIsYmFja2dyb3VuZDoidmFyKC0tbmV4dC1lcnJvci1idG4tYmcpIixib3JkZXI6InZhcigtLW5leHQtZXJyb3ItYnRuLWJvcmRlcikifSxidXR0b25TZWNvbmRhcnk6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIiLGhlaWdodDoiMzJweCIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToiMTRweCIsZm9udFdlaWdodDo1MDAsbGluZUhlaWdodDoiMjBweCIsYm9yZGVyUmFkaXVzOiI2cHgiLGN1cnNvcjoicG9pbnRlciIsY29sb3I6InZhcigtLW5leHQtZXJyb3ItYnRuLXNlY29uZGFyeS10ZXh0KSIsYmFja2dyb3VuZDoidmFyKC0tbmV4dC1lcnJvci1idG4tc2Vjb25kYXJ5LWJnKSIsYm9yZGVyOiJ2YXIoLS1uZXh0LWVycm9yLWJ0bi1zZWNvbmRhcnktYm9yZGVyKSJ9LGRpZ2VzdEZvb3Rlcjp7cG9zaXRpb246ImZpeGVkIixib3R0b206IjMycHgiLGxlZnQ6IjAiLHJpZ2h0OiIwIix0ZXh0QWxpZ246ImNlbnRlciIsZm9udEZhbWlseTondWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLCJTRiBNb25vIixNZW5sbyxDb25zb2xhcyxtb25vc3BhY2UnLGZvbnRTaXplOiIxMnB4IixsaW5lSGVpZ2h0OiIxOHB4Iixmb250V2VpZ2h0OjQwMCxtYXJnaW46IjAiLGNvbG9yOiJ2YXIoLS1uZXh0LWVycm9yLWRpZ2VzdCkifX0sYT1gCjpyb290IHsKICAtLW5leHQtZXJyb3ItYmc6ICNmZmY7CiAgLS1uZXh0LWVycm9yLXRleHQ6ICMxNzE3MTc7CiAgLS1uZXh0LWVycm9yLXRpdGxlOiAjMTcxNzE3OwogIC0tbmV4dC1lcnJvci1tZXNzYWdlOiAjMTcxNzE3OwogIC0tbmV4dC1lcnJvci1kaWdlc3Q6ICM2NjY2NjY7CiAgLS1uZXh0LWVycm9yLWJ0bi10ZXh0OiAjZmZmOwogIC0tbmV4dC1lcnJvci1idG4tYmc6ICMxNzE3MTc7CiAgLS1uZXh0LWVycm9yLWJ0bi1ib3JkZXI6IG5vbmU7CiAgLS1uZXh0LWVycm9yLWJ0bi1zZWNvbmRhcnktdGV4dDogIzE3MTcxNzsKICAtLW5leHQtZXJyb3ItYnRuLXNlY29uZGFyeS1iZzogdHJhbnNwYXJlbnQ7CiAgLS1uZXh0LWVycm9yLWJ0bi1zZWNvbmRhcnktYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjA4KTsKfQpAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgOnJvb3QgewogICAgLS1uZXh0LWVycm9yLWJnOiAjMGEwYTBhOwogICAgLS1uZXh0LWVycm9yLXRleHQ6ICNlZGVkZWQ7CiAgICAtLW5leHQtZXJyb3ItdGl0bGU6ICNlZGVkZWQ7CiAgICAtLW5leHQtZXJyb3ItbWVzc2FnZTogI2VkZWRlZDsKICAgIC0tbmV4dC1lcnJvci1kaWdlc3Q6ICNhMGEwYTA7CiAgICAtLW5leHQtZXJyb3ItYnRuLXRleHQ6ICMwYTBhMGE7CiAgICAtLW5leHQtZXJyb3ItYnRuLWJnOiAjZWRlZGVkOwogICAgLS1uZXh0LWVycm9yLWJ0bi1ib3JkZXI6IG5vbmU7CiAgICAtLW5leHQtZXJyb3ItYnRuLXNlY29uZGFyeS10ZXh0OiAjZWRlZGVkOwogICAgLS1uZXh0LWVycm9yLWJ0bi1zZWNvbmRhcnktYmc6IHRyYW5zcGFyZW50OwogICAgLS1uZXh0LWVycm9yLWJ0bi1zZWNvbmRhcnktYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE0KTsKICB9Cn0KYm9keSB7IG1hcmdpbjogMDsgY29sb3I6IHZhcigtLW5leHQtZXJyb3ItdGV4dCk7IGJhY2tncm91bmQ6IHZhcigtLW5leHQtZXJyb3ItYmcpOyB9CmAucmVwbGFjZSgvXG5ccyovZywiIik7ZnVuY3Rpb24gbCgpe3JldHVybigwLHUuanN4KSgic3ZnIix7d2lkdGg6IjMyIixoZWlnaHQ6IjMyIix2aWV3Qm94OiItMC4yIC0xLjUgMzIgMzIiLGZpbGw6Im5vbmUiLHN0eWxlOmkuaWNvbixjaGlsZHJlbjooMCx1LmpzeCkoInBhdGgiLHtkOiJNMTYuOTMyOCAwQzE4LjA4MzkgMC4wMDAxMTY3NzEgMTkuMTMzNCAwLjY1ODgzMiAxOS42MzQgMS42OTUzMUwzMS40Mjk5IDI2LjEzMDlDMzIuMDcwOCAyNy40NTg4IDMxLjEwMzYgMjguOTk5OSAyOS42MjkxIDI5SDIuMDAyMTVDMC41Mjc1NDEgMjkgLTAuNDM5NjI4IDI3LjQ1ODggMC4yMDEzNzEgMjYuMTMwOUwxMS45OTczIDEuNjk1MzFDMTIuNDk3OSAwLjY1ODgyMyAxMy41NDc0IDcuNzUwNjZlLTA1IDE0LjY5ODQgMEgxNi45MzI4Wk0zLjU5NDkzIDI2SDI4LjAzNjNMMTYuOTMyOCAzSDE0LjY5ODRMMy41OTQ5MyAyNlpNMTUuODE1NiAxOUMxNi45MjAyIDE5LjAwMDEgMTcuODE1NiAxOS44OTU1IDE3LjgxNTYgMjFDMTcuODE1NiAyMi4xMDQ1IDE2LjkyMDIgMjIuOTk5OSAxNS44MTU2IDIzQzE0LjcxMTEgMjMgMTMuODE1NiAyMi4xMDQ2IDEzLjgxNTYgMjFDMTMuODE1NiAxOS44OTU0IDE0LjcxMTEgMTkgMTUuODE1NiAxOVpNMTcuMzE1NiAxNi41SDE0LjMxNTZWOC41SDE3LjMxNTZWMTYuNVoiLGZpbGw6InZhcigtLW5leHQtZXJyb3ItdGl0bGUpIn0pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjgwMjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pLGUucig1NTY4Mik7bGV0IG49ZS5yKDQzNDc2KTtlLnIoNzE2NDUpO2xldCBvPWUucigxMjM1NCksdT1lLnIoMTg1NzYpLGk9ZnVuY3Rpb24oe2Vycm9yOmV9KXtsZXQgdD1lPy5kaWdlc3Qscj0hIXQ7cmV0dXJuKDAsby5oYW5kbGVJU1JFcnJvcikoe2Vycm9yOmV9KSwoMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7Y2hpbGRyZW46KDAsbi5qc3gpKCJzdHlsZSIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6dS5lcnJvclRoZW1lQ3NzfX0pfSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoImRpdiIse3N0eWxlOnUuZXJyb3JTdHlsZXMuY29udGFpbmVyLGNoaWxkcmVuOigwLG4uanN4cykoImRpdiIse3N0eWxlOnUuZXJyb3JTdHlsZXMuY2FyZCxjaGlsZHJlbjpbKDAsbi5qc3gpKHUuV2FybmluZ0ljb24se30pLCgwLG4uanN4KSgiaDEiLHtzdHlsZTp1LmVycm9yU3R5bGVzLnRpdGxlLGNoaWxkcmVuOiJUaGlzIHBhZ2UgY291bGRu4oCZdCBsb2FkIn0pLCgwLG4uanN4KSgicCIse3N0eWxlOnUuZXJyb3JTdHlsZXMubWVzc2FnZSxjaGlsZHJlbjpyPyJBIHNlcnZlciBlcnJvciBvY2N1cnJlZC4gUmVsb2FkIHRvIHRyeSBhZ2Fpbi4iOiJSZWxvYWQgdG8gdHJ5IGFnYWluLCBvciBnbyBiYWNrLiJ9KSwoMCxuLmpzeHMpKCJkaXYiLHtzdHlsZTp1LmVycm9yU3R5bGVzLmJ1dHRvbkdyb3VwLGNoaWxkcmVuOlsoMCxuLmpzeCkoImZvcm0iLHtzdHlsZTp1LmVycm9yU3R5bGVzLmZvcm0sY2hpbGRyZW46KDAsbi5qc3gpKCJidXR0b24iLHt0eXBlOiJzdWJtaXQiLHN0eWxlOnUuZXJyb3JTdHlsZXMuYnV0dG9uLGNoaWxkcmVuOiJSZWxvYWQifSl9KSwhciYmKDAsbi5qc3gpKCJidXR0b24iLHt0eXBlOiJidXR0b24iLHN0eWxlOnUuZXJyb3JTdHlsZXMuYnV0dG9uU2Vjb25kYXJ5LG9uQ2xpY2s6KCk9Pnt3aW5kb3cuaGlzdG9yeS5sZW5ndGg+MT93aW5kb3cuaGlzdG9yeS5iYWNrKCk6d2luZG93LmxvY2F0aW9uLmhyZWY9Ii8ifSxjaGlsZHJlbjoiQmFjayJ9KV19KV19KX0pLHQmJigwLG4uanN4cykoInAiLHtzdHlsZTp1LmVycm9yU3R5bGVzLmRpZ2VzdEZvb3RlcixjaGlsZHJlbjpbIkVSUk9SICIsdF19KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0e-wrhqh4h3r5.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.527Z","timestamp":1785136352527,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0e-wrhqh4h3r5.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98146\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0e-wrhqh4h3r5.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"d2b948c38709ec123e4b532b853d9a60\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0e-wrhqh4h3r5.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qj4gs-1785136352532-61ba768822c3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":140798,"size_decoded":39982,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"d2b948c38709ec123e4b532b853d9a60","sha1":"b6c7bbdf533d9e6949f6010ea0895c8c1adddc8b","sha256":"3ed1f4eefaa8cb71b85ef1a3847204d4bbb7668871602877d2c6867b1b79910c","sha512":"1e1c487d98148a71fa8a14d1539aecfb8e990bff1d8a075193008523add78693eae3113a2b48aba5c9a1bb0524178aed8e06df6024e2e81799657c1f77a7b68e","ssdeep":"3072:awCwD5IY3pHnoOcyNA4tuXgSFbwZHS75B:awCwD5IY3pHoOcGAqWgZZHyB","tlshash":"b1d3e7f935d1f4820bab50a6c03f0006f22c4d77189e6860e3e5ddda756465de1b3faa","first_seen":"2026-03-22T12:28:35.128875Z","last_seen":"2026-07-29T09:49:15.740094Z","times_seen":703,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQzMzY5LChlLHQscik9PnsidXNlIHN0cmljdCI7bGV0IG47T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBhPXtnZXRBc3NldFRva2VuOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEFzc2V0VG9rZW5RdWVyeTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXREZXBsb3ltZW50SWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0RGVwbG95bWVudElkUXVlcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbCBpbiBhKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGwse2VudW1lcmFibGU6ITAsZ2V0OmFbbF19KTtmdW5jdGlvbiB1KCl7cmV0dXJuIG59ZnVuY3Rpb24gaShlPSExKXtsZXQgdD1uO3JldHVybiB0P2Ake2U/IiYiOiI/In1kcGw9JHt0fWA6IiJ9ZnVuY3Rpb24gbygpe3JldHVybiExfWZ1bmN0aW9uIHMoZT0hMSl7cmV0dXJuIiJ9InUiPnR5cGVvZiB3aW5kb3c/KG49ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQuZHBsSWQsZGVsZXRlIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0LmRwbElkKTpuPXZvaWQgMH0sMTg4MDAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLnIoNzE2NDUpO2Z1bmN0aW9uIGEoZSl7dmFyIHQ9Imh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy8iK2U7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz0iP2FyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgcj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdCs9IiZhcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW3JdKX1yZXR1cm4iTWluaWZpZWQgUmVhY3QgZXJyb3IgIyIrZSsiOyB2aXNpdCAiK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuIn1mdW5jdGlvbiBsKCl7fXZhciB1PXtkOntmOmwscjpmdW5jdGlvbigpe3Rocm93IEVycm9yKGEoNTIyKSl9LEQ6bCxDOmwsTDpsLG06bCxYOmwsUzpsLE06bH0scDowLGZpbmRET01Ob2RlOm51bGx9LGk9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksbz1TeW1ib2wuZm9yKCJyZWFjdC5vcHRpbWlzdGljX2tleSIpLHM9bi5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU7ZnVuY3Rpb24gYyhlLHQpe3JldHVybiJmb250Ij09PWU/IiI6InN0cmluZyI9PXR5cGVvZiB0PyJ1c2UtY3JlZGVudGlhbHMiPT09dD90OiIiOnZvaWQgMH1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERT11LHIuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7dmFyIHI9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGw7aWYoIXR8fDEhPT10Lm5vZGVUeXBlJiY5IT09dC5ub2RlVHlwZSYmMTEhPT10Lm5vZGVUeXBlKXRocm93IEVycm9yKGEoMjk5KSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyKXt2YXIgbj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbDtyZXR1cm57JCR0eXBlb2Y6aSxrZXk6bnVsbD09bj9udWxsOm49PT1vP286IiIrbixjaGlsZHJlbjplLGNvbnRhaW5lckluZm86dCxpbXBsZW1lbnRhdGlvbjpyfX0oZSx0LG51bGwscil9LHIuZmx1c2hTeW5jPWZ1bmN0aW9uKGUpe3ZhciB0PXMuVCxyPXUucDt0cnl7aWYocy5UPW51bGwsdS5wPTIsZSlyZXR1cm4gZSgpfWZpbmFsbHl7cy5UPXQsdS5wPXIsdS5kLmYoKX19LHIucHJlY29ubmVjdD1mdW5jdGlvbihlLHQpeyJzdHJpbmciPT10eXBlb2YgZSYmKHQ9dD8ic3RyaW5nIj09dHlwZW9mKHQ9dC5jcm9zc09yaWdpbik/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwOm51bGwsdS5kLkMoZSx0KSl9LHIucHJlZmV0Y2hETlM9ZnVuY3Rpb24oZSl7InN0cmluZyI9PXR5cGVvZiBlJiZ1LmQuRChlKX0sci5wcmVpbml0PWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiZ0JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciByPXQuYXMsbj1jKHIsdC5jcm9zc09yaWdpbiksYT0ic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxsPSJzdHJpbmciPT10eXBlb2YgdC5mZXRjaFByaW9yaXR5P3QuZmV0Y2hQcmlvcml0eTp2b2lkIDA7InN0eWxlIj09PXI/dS5kLlMoZSwic3RyaW5nIj09dHlwZW9mIHQucHJlY2VkZW5jZT90LnByZWNlZGVuY2U6dm9pZCAwLHtjcm9zc09yaWdpbjpuLGludGVncml0eTphLGZldGNoUHJpb3JpdHk6bH0pOiJzY3JpcHQiPT09ciYmdS5kLlgoZSx7Y3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6YSxmZXRjaFByaW9yaXR5Omwsbm9uY2U6InN0cmluZyI9PXR5cGVvZiB0Lm5vbmNlP3Qubm9uY2U6dm9pZCAwfSl9fSxyLnByZWluaXRNb2R1bGU9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYobnVsbD09dC5hc3x8InNjcmlwdCI9PT10LmFzKXt2YXIgcj1jKHQuYXMsdC5jcm9zc09yaWdpbik7dS5kLk0oZSx7Y3Jvc3NPcmlnaW46cixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDAsbm9uY2U6InN0cmluZyI9PXR5cGVvZiB0Lm5vbmNlP3Qubm9uY2U6dm9pZCAwfSl9fWVsc2UgbnVsbD09dCYmdS5kLk0oZSl9LHIucHJlbG9hZD1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSYmIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmInN0cmluZyI9PXR5cGVvZiB0LmFzKXt2YXIgcj10LmFzLG49YyhyLHQuY3Jvc3NPcmlnaW4pO3UuZC5MKGUscix7Y3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDAsbm9uY2U6InN0cmluZyI9PXR5cGVvZiB0Lm5vbmNlP3Qubm9uY2U6dm9pZCAwLHR5cGU6InN0cmluZyI9PXR5cGVvZiB0LnR5cGU/dC50eXBlOnZvaWQgMCxmZXRjaFByaW9yaXR5OiJzdHJpbmciPT10eXBlb2YgdC5mZXRjaFByaW9yaXR5P3QuZmV0Y2hQcmlvcml0eTp2b2lkIDAscmVmZXJyZXJQb2xpY3k6InN0cmluZyI9PXR5cGVvZiB0LnJlZmVycmVyUG9saWN5P3QucmVmZXJyZXJQb2xpY3k6dm9pZCAwLGltYWdlU3JjU2V0OiJzdHJpbmciPT10eXBlb2YgdC5pbWFnZVNyY1NldD90LmltYWdlU3JjU2V0OnZvaWQgMCxpbWFnZVNpemVzOiJzdHJpbmciPT10eXBlb2YgdC5pbWFnZVNpemVzP3QuaW1hZ2VTaXplczp2b2lkIDAsbWVkaWE6InN0cmluZyI9PXR5cGVvZiB0Lm1lZGlhP3QubWVkaWE6dm9pZCAwfSl9fSxyLnByZWxvYWRNb2R1bGU9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYodCl7dmFyIHI9Yyh0LmFzLHQuY3Jvc3NPcmlnaW4pO3UuZC5tKGUse2FzOiJzdHJpbmciPT10eXBlb2YgdC5hcyYmInNjcmlwdCIhPT10LmFzP3QuYXM6dm9pZCAwLGNyb3NzT3JpZ2luOnIsaW50ZWdyaXR5OiJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwfSl9ZWxzZSB1LmQubShlKX0sci5yZXF1ZXN0Rm9ybVJlc2V0PWZ1bmN0aW9uKGUpe3UuZC5yKGUpfSxyLnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUodCl9LHIudXNlRm9ybVN0YXRlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gcy5ILnVzZUZvcm1TdGF0ZShlLHQscil9LHIudXNlRm9ybVN0YXR1cz1mdW5jdGlvbigpe3JldHVybiBzLkgudXNlSG9zdFRyYW5zaXRpb25TdGF0dXMoKX0sci52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LTNmMGI5ZTYxLTIwMjYwMzE3In0sNzQwODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucigxODgwMCl9LDY0ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49ZS5yKDc0MDgwKSxhPXtzdHJlYW06ITB9LGw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiB1KHQpe3ZhciByPWUucih0KTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2Ygci50aGVufHwiZnVsZmlsbGVkIj09PXIuc3RhdHVzP251bGw6KHIudGhlbihmdW5jdGlvbihlKXtyLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPWV9LGZ1bmN0aW9uKGUpe3Iuc3RhdHVzPSJyZWplY3RlZCIsci5yZWFzb249ZX0pLHIpfXZhciBpPW5ldyBXZWFrU2V0LG89bmV3IFdlYWtTZXQ7ZnVuY3Rpb24gcygpe31mdW5jdGlvbiBjKHQpe2Zvcih2YXIgcj10WzFdLG49W10sYT0wO2E8ci5sZW5ndGg7YSsrKXt2YXIgbD1lLkwoclthXSk7aWYoby5oYXMobCl8fG4ucHVzaChsKSwhaS5oYXMobCkpe3ZhciBjPW8uYWRkLmJpbmQobyxsKTtsLnRoZW4oYyxzKSxpLmFkZChsKX19cmV0dXJuIDQ9PT10Lmxlbmd0aD8wPT09bi5sZW5ndGg/dSh0WzBdKTpQcm9taXNlLmFsbChuKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHUodFswXSl9KTowPG4ubGVuZ3RoP1Byb21pc2UuYWxsKG4pOm51bGx9ZnVuY3Rpb24gZih0KXt2YXIgcj1lLnIodFswXSk7aWYoND09PXQubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKWlmKCJmdWxmaWxsZWQiPT09ci5zdGF0dXMpcj1yLnZhbHVlO2Vsc2UgdGhyb3cgci5yZWFzb247cmV0dXJuIioiPT09dFsyXT9yOiIiPT09dFsyXT9yLl9fZXNNb2R1bGU/ci5kZWZhdWx0OnI6bC5jYWxsKHIsdFsyXSk/clt0WzJdXTp2b2lkIDB9dmFyIGQ9bi5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsaD1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHA9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLHk9U3ltYm9sLml0ZXJhdG9yLGc9U3ltYm9sLmFzeW5jSXRlcmF0b3IsXz1BcnJheS5pc0FycmF5LHY9T2JqZWN0LmdldFByb3RvdHlwZU9mLG09T2JqZWN0LnByb3RvdHlwZSxSPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUoZSx0LHIpe1IuaGFzKGUpfHxSLnNldChlLHtpZDp0LG9yaWdpbmFsQmluZDplLmJpbmQsYm91bmQ6cn0pfWZ1bmN0aW9uIFMoZSx0LHIpe3RoaXMuc3RhdHVzPWUsdGhpcy52YWx1ZT10LHRoaXMucmVhc29uPXJ9ZnVuY3Rpb24gUChlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkYoZSk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOlUoZSl9c3dpdGNoKGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJwZW5kaW5nIjpjYXNlImJsb2NrZWQiOmNhc2UiaGFsdGVkIjp0aHJvdyBlO2RlZmF1bHQ6dGhyb3cgZS5yZWFzb259fWZ1bmN0aW9uIGIoKXtyZXR1cm4gbmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9ZnVuY3Rpb24gVChlLHQscixuKXtmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIGw9dFthXTsiZnVuY3Rpb24iPT10eXBlb2YgbD9sKHIpOkgoZSxsLHIsbil9fWZ1bmN0aW9uIE8oZSx0LHIpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT10W25dOyJmdW5jdGlvbiI9PXR5cGVvZiBhP2Eocik6VihlLGEuaGFuZGxlcixyKX19ZnVuY3Rpb24gQShlLHQpe3ZhciByPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09cilyZXR1cm4gbnVsbDtpZihyPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1yLnZhbHVlKSlmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10W3JdO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuJiZudWxsIT09KG49QShlLG4pKSlyZXR1cm4gbn1yZXR1cm4gbnVsbH1mdW5jdGlvbiB3KGUsdCxyLG4pe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOlQoZSxyLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIGE9MDthPHIubGVuZ3RoO2ErKyl7dmFyIGw9clthXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgbCl7dmFyIHU9QSh0LGwpO2lmKG51bGwhPT11KXN3aXRjaChIKGUsbCx1LnZhbHVlLHQpLHIuc3BsaWNlKGEsMSksYS0tLG51bGwhPT1uJiYtMSE9PShsPW4uaW5kZXhPZihsKSkmJm4uc3BsaWNlKGwsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpUKGUscix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09biYmTyhlLG4sdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChyW2VdKTtlbHNlIHQudmFsdWU9cjtpZih0LnJlYXNvbil7aWYobilmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXQucmVhc29uLnB1c2gobltyXSl9ZWxzZSB0LnJlYXNvbj1uO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOm4mJk8oZSxuLHQucmVhc29uKX19ZnVuY3Rpb24gQyhlLHQscil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKHIpO2Vsc2V7dmFyIG49dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1yLG51bGwhPT1uJiZPKGUsbixyKX19ZnVuY3Rpb24gTihlLHQscil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKHI/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBJKGUsdCxyLG4pe00oZSx0LChuPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrcisifSIpfWZ1bmN0aW9uIE0oZSx0LHIpe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChyKTtlbHNle3ZhciBuPXQudmFsdWUsYT10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9cix0LnJlYXNvbj1lLG51bGwhPT1uJiYoRih0KSx3KGUsdCxuLGEpKX19ZnVuY3Rpb24gRChlLHQscil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgbj10LnZhbHVlLGE9dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1yLHQucmVhc29uPW51bGwsbnVsbCE9PW4mJihVKHQpLHcoZSx0LG4sYSkpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpGKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpVKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgaj1udWxsO2Z1bmN0aW9uIEYoZSl7dmFyIHQ9ajtqPW51bGw7dmFyIHI9ZS52YWx1ZSxuPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIGE9ZWkobixyKSxsPWUudmFsdWU7aWYobnVsbCE9PWwpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLHI9MDtyPGwubGVuZ3RoO3IrKyl7dmFyIHU9bFtyXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KGEpOkgobix1LGEsZSl9aWYobnVsbCE9PWope2lmKGouZXJyb3JlZCl0aHJvdyBqLnJlYXNvbjtpZigwPGouZGVwcyl7ai52YWx1ZT1hLGouY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9YSxlLnJlYXNvbj1udWxsfWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH1maW5hbGx5e2o9dH19ZnVuY3Rpb24gVShlKXt0cnl7dmFyIHQ9ZihlLnZhbHVlKTtlLnN0YXR1cz0iZnVsZmlsbGVkIixlLnZhbHVlPXQsZS5yZWFzb249bnVsbH1jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9fWZ1bmN0aW9uIEwoZSx0KXtlLl9jbG9zZWQ9ITAsZS5fY2xvc2VkUmVhc29uPXQsZS5fY2h1bmtzLmZvckVhY2goZnVuY3Rpb24ocil7InBlbmRpbmciPT09ci5zdGF0dXM/QyhlLHIsdCk6ImZ1bGZpbGxlZCI9PT1yLnN0YXR1cyYmbnVsbCE9PXIucmVhc29uJiZyLnJlYXNvbi5lcnJvcih0KX0pfWZ1bmN0aW9uIGsoZSl7cmV0dXJueyQkdHlwZW9mOnAsX3BheWxvYWQ6ZSxfaW5pdDpQfX1mdW5jdGlvbiB4KGUsdCl7dmFyIHI9ZS5fY2h1bmtzLG49ci5nZXQodCk7cmV0dXJuIG58fChlLl9jbG9zZWQ/ZS5fYWxsb3dQYXJ0aWFsU3RyZWFtPygoZT1uPWIoKSkuc3RhdHVzPSJoYWx0ZWQiLGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsKTpuPW5ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm49YigpLHIuc2V0KHQsbikpLG59ZnVuY3Rpb24gSChlLHQscil7dmFyIG49dC5oYW5kbGVyLGE9dC5wYXJlbnRPYmplY3QsdT10LmtleSxpPXQubWFwLG89dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPG8ubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yJiZyLiQkdHlwZW9mPT09cDspe3ZhciBjPXIuX3BheWxvYWQ7aWYoYz09PW4uY2h1bmspcj1uLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpGKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpVKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnI9Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPUEoYyx0KTtpZihudWxsIT09Zil7cj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6by5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpWKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1vW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJmwuY2FsbChyLGQpKXI9cltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJnIuJCR0eXBlb2Y9PT1wOyl7dmFyIHk9ci5fcGF5bG9hZDtpZih5PT09bi5jaHVuaylyPW4udmFsdWU7ZWxzZXtzd2l0Y2goeS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkYoeSk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOlUoeSl9aWYoImZ1bGZpbGxlZCI9PT15LnN0YXR1cyl7cj15LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgZz1pKGUscixhLHUpO2lmKCJfX3Byb3RvX18iIT09dSYmKGFbdV09ZyksIiI9PT11JiZudWxsPT09bi52YWx1ZSYmKG4udmFsdWU9ZyksYVswXT09PWgmJiJvYmplY3QiPT10eXBlb2Ygbi52YWx1ZSYmbnVsbCE9PW4udmFsdWUmJm4udmFsdWUuJCR0eXBlb2Y9PT1oKXt2YXIgXz1uLnZhbHVlOyIzIj09PXUmJihfLnByb3BzPWcpfX1jYXRjaChyKXtWKGUsdC5oYW5kbGVyLHIpO3JldHVybn1uLmRlcHMtLSwwPT09bi5kZXBzJiZudWxsIT09KHQ9bi5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYocj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bi52YWx1ZSx0LnJlYXNvbj1uLnJlYXNvbixudWxsIT09ciYmVChlLHIsbi52YWx1ZSx0KSl9ZnVuY3Rpb24gVihlLHQscil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1yLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkMoZSx0LHIpKX1mdW5jdGlvbiBCKGUsdCxyLG4sYSxsKXtyZXR1cm4gaj8obj1qLG4uZGVwcysrKTpuPWo9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpuLHBhcmVudE9iamVjdDp0LGtleTpyLG1hcDphLHBhdGg6bH0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uICQoZSx0LHIsbil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiByKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gYT8iZnVsZmlsbGVkIj09PWEuc3RhdHVzP3QobixhLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKGEpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHQobixyLmNvbmNhdChlKSl9KTp0KG4sZSl9dmFyIG49ZS5pZCxhPWUuYm91bmQ7cmV0dXJuIEUocixuLGEpLHJ9KHQsZS5fY2FsbFNlcnZlcik7dmFyIGE9ZnVuY3Rpb24oZSx0KXt2YXIgcj0iIixuPWVbdF07aWYobilyPW4ubmFtZTtlbHNle3ZhciBhPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PWEmJihyPXQuc2xpY2UoYSsxKSxuPWVbdC5zbGljZSgwLGEpXSksIW4pdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiBuLmFzeW5jP1tuLmlkLG4uY2h1bmtzLHIsMV06W24uaWQsbi5jaHVua3Mscl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSxsPWMoYSk7aWYobCl0LmJvdW5kJiYobD1Qcm9taXNlLmFsbChbbCx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUobD1mKGEpLHQuaWQsdC5ib3VuZCksbDtsPVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZihqKXt2YXIgdT1qO3UuZGVwcysrfWVsc2UgdT1qPXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiBsLnRoZW4oZnVuY3Rpb24oKXt2YXIgbD1mKGEpO2lmKHQuYm91bmQpe3ZhciBpPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7aS51bnNoaWZ0KG51bGwpLGw9bC5iaW5kLmFwcGx5KGwsaSl9RShsLHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1uJiYocltuXT1sKSwiIj09PW4mJm51bGw9PT11LnZhbHVlJiYodS52YWx1ZT1sKSxyWzBdPT09aCYmIm9iamVjdCI9PXR5cGVvZiB1LnZhbHVlJiZudWxsIT09dS52YWx1ZSYmdS52YWx1ZS4kJHR5cGVvZj09PWgmJihpPXUudmFsdWUsIjMiPT09bikmJihpLnByb3BzPWwpLHUuZGVwcy0tLDA9PT11LmRlcHMmJm51bGwhPT0obD11LmNodW5rKSYmImJsb2NrZWQiPT09bC5zdGF0dXMmJihpPWwudmFsdWUsbC5zdGF0dXM9ImZ1bGZpbGxlZCIsbC52YWx1ZT11LnZhbHVlLGwucmVhc29uPW51bGwsbnVsbCE9PWkmJlQoZSxpLHUudmFsdWUsbCkpfSxmdW5jdGlvbih0KXtpZighdS5lcnJvcmVkKXt1LmVycm9yZWQ9ITAsdS52YWx1ZT1udWxsLHUucmVhc29uPXQ7dmFyIHI9dS5jaHVuaztudWxsIT09ciYmImJsb2NrZWQiPT09ci5zdGF0dXMmJkMoZSxyLHQpfX0pLG51bGx9ZnVuY3Rpb24gSyhlLHQscixuLGEpe3ZhciBsPXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgobD14KGUsbCkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RihsKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6VShsKX1zd2l0Y2gobC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpsPWwudmFsdWU7Zm9yKHZhciB1PTE7dTx0Lmxlbmd0aDt1Kyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bCYmbC4kJHR5cGVvZj09PXA7KXtzd2l0Y2goKGw9bC5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpGKGwpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpVKGwpfXN3aXRjaChsLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOmw9bC52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEIobCxyLG4sZSxhLHQuc2xpY2UodS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiBqPyhlPWosZS5kZXBzKyspOmo9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiBqPyhqLmVycm9yZWQ9ITAsai52YWx1ZT1udWxsLGoucmVhc29uPWwucmVhc29uKTpqPXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOmwucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1sPWxbdFt1XV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sJiZsLiQkdHlwZW9mPT09cDspe3N3aXRjaCgodD1sLl9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkYodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOlUodCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7bD10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBhKGUsbCxyLG4pO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gQihsLHIsbixlLGEsdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiBqPyhlPWosZS5kZXBzKyspOmo9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiBqPyhqLmVycm9yZWQ9ITAsai52YWx1ZT1udWxsLGoucmVhc29uPWwucmVhc29uKTpqPXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOmwucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBYKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gRyhlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gWShlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKWUuYXBwZW5kKHRbcl1bMF0sdFtyXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24geihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBXKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24gUSgpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIEooZSx0LHIsbixhLGwsdSxpKXt2YXIgbz1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPXIsdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1uP246USx0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPWEsdGhpcy5fbm9uY2U9bCx0aGlzLl9jaHVua3M9byx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9jbG9zZWQ9ITEsdGhpcy5fY2xvc2VkUmVhc29uPW51bGwsdGhpcy5fYWxsb3dQYXJ0aWFsU3RyZWFtPWksdGhpcy5fdGVtcFJlZnM9dX1mdW5jdGlvbiBaKGUsdCxyKXt2YXIgbj0oZT1lLl9jaHVua3MpLmdldCh0KTtuJiYicGVuZGluZyIhPT1uLnN0YXR1cz9uLnJlYXNvbi5lbnF1ZXVlVmFsdWUocik6KHI9bmV3IFMoImZ1bGZpbGxlZCIscixudWxsKSxlLnNldCh0LHIpKX1mdW5jdGlvbiBlZShlLHQscixuKXt2YXIgYT1lLl9jaHVua3MsbD1hLmdldCh0KTtsPyJwZW5kaW5nIj09PWwuc3RhdHVzJiYodD1sLnZhbHVlLGwuc3RhdHVzPSJmdWxmaWxsZWQiLGwudmFsdWU9cixsLnJlYXNvbj1uLG51bGwhPT10JiZUKGUsdCxsLnZhbHVlLGwpKTooZT1uZXcgUygiZnVsZmlsbGVkIixyLG4pLGEuc2V0KHQsZSkpfWZ1bmN0aW9uIGV0KGUsdCxyKXt2YXIgbj1udWxsLGE9ITE7cj1uZXcgUmVhZGFibGVTdHJlYW0oe3R5cGU6cixzdGFydDpmdW5jdGlvbihlKXtuPWV9fSk7dmFyIGw9bnVsbDtlZShlLHQscix7ZW5xdWV1ZVZhbHVlOmZ1bmN0aW9uKGUpe251bGw9PT1sP24uZW5xdWV1ZShlKTpsLnRoZW4oZnVuY3Rpb24oKXtuLmVucXVldWUoZSl9KX0sZW5xdWV1ZU1vZGVsOmZ1bmN0aW9uKHQpe2lmKG51bGw9PT1sKXt2YXIgcj1uZXcgUygicmVzb2x2ZWRfbW9kZWwiLHQsZSk7RihyKSwiZnVsZmlsbGVkIj09PXIuc3RhdHVzP24uZW5xdWV1ZShyLnZhbHVlKTooci50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBuLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBuLmVycm9yKGUpfSksbD1yKX1lbHNle3I9bDt2YXIgYT1iKCk7YS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBuLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiBuLmVycm9yKGUpfSksbD1hLHIudGhlbihmdW5jdGlvbigpe2w9PT1hJiYobD1udWxsKSxNKGUsYSx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighYSlpZihhPSEwLG51bGw9PT1sKW4uY2xvc2UoKTtlbHNle3ZhciBlPWw7bD1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiBuLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFhKWlmKGE9ITAsbnVsbD09PWwpbi5lcnJvcihlKTtlbHNle3ZhciB0PWw7bD1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiBuLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGVyKCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LHIpe3ZhciBuPVtdLGE9ITEsbD0wLHU9e307dVtnXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PW4ubGVuZ3RoKXtpZihhKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO25bdF09YigpfXJldHVybiBuW3QrK119fSlbZ109ZXIsZX0sZWUoZSx0LHI/dVtnXSgpOnUse2VucXVldWVWYWx1ZTpmdW5jdGlvbih0KXtpZihsPT09bi5sZW5ndGgpbltsXT1uZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMSx2YWx1ZTp0fSxudWxsKTtlbHNle3ZhciByPW5bbF0sYT1yLnZhbHVlLHU9ci5yZWFzb247ci5zdGF0dXM9ImZ1bGZpbGxlZCIsci52YWx1ZT17ZG9uZTohMSx2YWx1ZTp0fSxyLnJlYXNvbj1udWxsLG51bGwhPT1hJiZ3KGUscixhLHUpfWwrK30sZW5xdWV1ZU1vZGVsOmZ1bmN0aW9uKHQpe2w9PT1uLmxlbmd0aD9uW2xdPU4oZSx0LCExKTpJKGUsbltsXSx0LCExKSxsKyt9LGNsb3NlOmZ1bmN0aW9uKHQpe2lmKCFhKWZvcihhPSEwLGw9PT1uLmxlbmd0aD9uW2xdPU4oZSx0LCEwKTpJKGUsbltsXSx0LCEwKSxsKys7bDxuLmxlbmd0aDspSShlLG5bbCsrXSwnIiR1bmRlZmluZWQiJywhMCl9LGVycm9yOmZ1bmN0aW9uKHQpe2lmKCFhKWZvcihhPSEwLGw9PT1uLmxlbmd0aCYmKG5bbF09YigpKTtsPG4ubGVuZ3RoOylDKGUsbltsKytdLHQpfX0pfWZ1bmN0aW9uIGVhKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVsKGUsdCl7Zm9yKHZhciByPWUubGVuZ3RoLG49dC5sZW5ndGgsYT0wO2E8cjthKyspbis9ZVthXS5ieXRlTGVuZ3RoO249bmV3IFVpbnQ4QXJyYXkobik7Zm9yKHZhciBsPWE9MDtsPHI7bCsrKXt2YXIgdT1lW2xdO24uc2V0KHUsYSksYSs9dS5ieXRlTGVuZ3RofXJldHVybiBuLnNldCh0LGEpLG59ZnVuY3Rpb24gZXUoZSx0LHIsbixhLGwpe1ooZSx0LGE9bmV3IGEoKHI9MD09PXIubGVuZ3RoJiYwPT1uLmJ5dGVPZmZzZXQlbD9uOmVsKHIsbikpLmJ1ZmZlcixyLmJ5dGVPZmZzZXQsci5ieXRlTGVuZ3RoL2wpKX1mdW5jdGlvbiBlaShlLHQpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEpe2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4iJCI9PT1yWzBdP2Z1bmN0aW9uKGUsdCxyLG4pe2lmKCIkIj09PW5bMF0pe2lmKCIkIj09PW4pcmV0dXJuIG51bGwhPT1qJiYiMCI9PT1yJiYoaj17cGFyZW50OmosY2h1bms6bnVsbCx2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGRlcHM6MCxlcnJvcmVkOiExfSksaDtzd2l0Y2goblsxXSl7Y2FzZSIkIjpyZXR1cm4gbi5zbGljZSgxKTtjYXNlIkwiOnJldHVybiBrKGU9eChlLHQ9cGFyc2VJbnQobi5zbGljZSgyKSwxNikpKTtjYXNlIkAiOnJldHVybiB4KGUsdD1wYXJzZUludChuLnNsaWNlKDIpLDE2KSk7Y2FzZSJTIjpyZXR1cm4gU3ltYm9sLmZvcihuLnNsaWNlKDIpKTtjYXNlImgiOnJldHVybiBLKGUsbj1uLnNsaWNlKDIpLHQsciwkKTtjYXNlIlQiOmlmKHQ9IiQiK24uc2xpY2UoMiksbnVsbD09KGU9ZS5fdGVtcFJlZnMpKXRocm93IEVycm9yKCJNaXNzaW5nIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQgYnV0IHRoZSBSU0MgcmVzcG9uc2UgcmV0dXJuZWQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlLiBQYXNzIGEgdGVtcG9yYXJ5UmVmZXJlbmNlIG9wdGlvbiB3aXRoIHRoZSBzZXQgdGhhdCB3YXMgdXNlZCB3aXRoIHRoZSByZXBseS4iKTtyZXR1cm4gZS5nZXQodCk7Y2FzZSJRIjpyZXR1cm4gSyhlLG49bi5zbGljZSgyKSx0LHIsWCk7Y2FzZSJXIjpyZXR1cm4gSyhlLG49bi5zbGljZSgyKSx0LHIsRyk7Y2FzZSJCIjpyZXR1cm4gSyhlLG49bi5zbGljZSgyKSx0LHIscSk7Y2FzZSJLIjpyZXR1cm4gSyhlLG49bi5zbGljZSgyKSx0LHIsWSk7Y2FzZSJaIjpyZXR1cm4gZWEoKTtjYXNlImkiOnJldHVybiBLKGUsbj1uLnNsaWNlKDIpLHQscix6KTtjYXNlIkkiOnJldHVybiAxLzA7Y2FzZSItIjpyZXR1cm4iJC0wIj09PW4/LTA6LTEvMDtjYXNlIk4iOnJldHVybiBOYU47Y2FzZSJ1IjpyZXR1cm47Y2FzZSJEIjpyZXR1cm4gbmV3IERhdGUoRGF0ZS5wYXJzZShuLnNsaWNlKDIpKSk7Y2FzZSJuIjpyZXR1cm4gQmlnSW50KG4uc2xpY2UoMikpO2RlZmF1bHQ6cmV0dXJuIEsoZSxuPW4uc2xpY2UoMSksdCxyLFcpfX1yZXR1cm4gbn0odCxuLGEscik6cjtpZigib2JqZWN0IiE9dHlwZW9mIHJ8fG51bGw9PT1yKXJldHVybiByO2lmKF8ocikpe2Zvcih2YXIgbD0wO2w8ci5sZW5ndGg7bCsrKXJbbF09ZSh0LHJbbF0sciwiIitsKTtyZXR1cm4gclswXT09PWg/KHJbMF09PT1oPyh0PXskJHR5cGVvZjpoLHR5cGU6clsxXSxrZXk6clsyXSxyZWY6bnVsbCxwcm9wczpyWzNdfSxudWxsIT09aiYmKGo9KHI9aikucGFyZW50LHIuZXJyb3JlZD90PWsodD1uZXcgUygicmVqZWN0ZWQiLG51bGwsci5yZWFzb24pKTowPHIuZGVwcyYmKGw9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCksci52YWx1ZT10LHIuY2h1bms9bCx0PWsobCkpKSk6dD1yLHQpOnJ9Zm9yKGwgaW4gcikiX19wcm90b19fIj09PWw/ZGVsZXRlIHJbbF06dm9pZCAwIT09KG49ZSh0LHJbbF0scixsKSk/cltsXT1uOmRlbGV0ZSByW2xdO3JldHVybiByfShlLHQ9SlNPTi5wYXJzZSh0KSx7IiI6dH0sIiIpfWZ1bmN0aW9uIGVvKGUpe2UuX2FsbG93UGFydGlhbFN0cmVhbT8oZS5fY2xvc2VkPSEwLGUuX2NodW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGUpeyJwZW5kaW5nIj09PWUuc3RhdHVzPyhlLnN0YXR1cz0iaGFsdGVkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbCk6ImZ1bGZpbGxlZCI9PT1lLnN0YXR1cyYmbnVsbCE9PWUucmVhc29uJiZlLnJlYXNvbi5jbG9zZSgnIiR1bmRlZmluZWQiJyl9KSk6TChlLEVycm9yKCJDb25uZWN0aW9uIGNsb3NlZC4iKSl9ZnVuY3Rpb24gZXMoZSl7cmV0dXJuIG5ldyBKKG51bGwsbnVsbCxudWxsLGUmJmUuY2FsbFNlcnZlcj9lLmNhbGxTZXJ2ZXI6dm9pZCAwLHZvaWQgMCx2b2lkIDAsZSYmZS50ZW1wb3JhcnlSZWZlcmVuY2VzP2UudGVtcG9yYXJ5UmVmZXJlbmNlczp2b2lkIDAsISFlJiYhIWUudW5zdGFibGVfYWxsb3dQYXJ0aWFsU3RyZWFtJiZlLnVuc3RhYmxlX2FsbG93UGFydGlhbFN0cmVhbSl9ZnVuY3Rpb24gZWMoZSx0LHIpe2Z1bmN0aW9uIG4odCl7TChlLHQpfXZhciBsPXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LHU9dC5nZXRSZWFkZXIoKTt1LnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoaSl7dmFyIG89aS52YWx1ZTtpZihpLmRvbmUpcmV0dXJuIHIoKTt2YXIgcz0wLGY9bC5fcm93U3RhdGU7aT1sLl9yb3dJRDtmb3IodmFyIGg9bC5fcm93VGFnLHA9bC5fcm93TGVuZ3RoLHk9bC5fYnVmZmVyLGc9by5sZW5ndGg7czxnOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPW9bcysrXSk/Zj0xOmk9aTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPW9bc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhoPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhoPWYsZj0zLHMrKyk6KGg9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPW9bcysrXSk/Zj00OnA9cDw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPW8uaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cytwKT5vLmxlbmd0aCYmKF89LTEpfXZhciB2PW8uYnl0ZU9mZnNldCtzO2lmKC0xPF8pcD1uZXcgVWludDhBcnJheShvLmJ1ZmZlcix2LF8tcyksOTg9PT1oP1ooZSxpLF89PT1nP3A6cC5zbGljZSgpKTpmdW5jdGlvbihlLHQscixuLGwsdSl7c3dpdGNoKG4pe2Nhc2UgNjU6WihlLHIsZWwobCx1KS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUscixsLHUsSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpaKGUsciwwPT09bC5sZW5ndGg/dTplbChsLHUpKTtyZXR1cm47Y2FzZSA4NTpldShlLHIsbCx1LFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUscixsLHUsSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxyLGwsdSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLHIsbCx1LEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUscixsLHUsVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxyLGwsdSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUscixsLHUsRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUscixsLHUsQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxyLGwsdSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLHIsbCx1LERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBpPSIiLG89MDtvPGwubGVuZ3RoO28rKylpKz10LmRlY29kZShsW29dLGEpO3N3aXRjaChsPWkrPXQuZGVjb2RlKHUpLG4pe2Nhc2UgNzM6dmFyIHM9ZSxmPXIsaD1sLHA9cy5fY2h1bmtzLHk9cC5nZXQoZik7aD1laShzLGgpO3ZhciBnPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIHI9ZVt0WzBdXTtpZihlPXImJnJbdFsyXV0pcj1lLm5hbWU7ZWxzZXtpZighKGU9ciYmclsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7cj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsciwxXTpbZS5pZCxlLmNodW5rcyxyXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxoKTtpZihoPWMoZykpe2lmKHkpe3ZhciBfPXk7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSxwLnNldChmLF8pO2gudGhlbihmdW5jdGlvbigpe3JldHVybiBEKHMsXyxnKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEMocyxfLGUpfSl9ZWxzZSB5P0Qocyx5LGcpOih5PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGcsbnVsbCkscC5zZXQoZix5KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gocj1sWzBdLGU9ZWkoZSxsPWwuc2xpY2UoMSkpLGw9ZC5kLHIpe2Nhc2UiRCI6bC5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP2wuQyhlKTpsLkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOnI9ZVswXSxuPWVbMV0sMz09PWUubGVuZ3RoP2wuTChyLG4sZVsyXSk6bC5MKHIsbik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/bC5tKGUpOmwubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP2wuWChlKTpsLlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT9sLlMoZSk6bC5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT9sLk0oZSk6bC5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTp1PShuPWUuX2NodW5rcykuZ2V0KHIpLGw9SlNPTi5wYXJzZShsKSwodD1lYSgpKS5kaWdlc3Q9bC5kaWdlc3QsdT9DKGUsdSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksbi5zZXQocixlKSk7YnJlYWs7Y2FzZSA4NDoobj0oZT1lLl9jaHVua3MpLmdldChyKSkmJiJwZW5kaW5nIiE9PW4uc3RhdHVzP24ucmVhc29uLmVucXVldWVWYWx1ZShsKToobD1uZXcgUygiZnVsZmlsbGVkIixsLG51bGwpLGUuc2V0KHIsbCkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjpldChlLHIsdm9pZCAwKTticmVhaztjYXNlIDExNDpldChlLHIsImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLHIsITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsciwhMCk7YnJlYWs7Y2FzZSA2Nzoocj1lLl9jaHVua3MuZ2V0KHIpKSYmImZ1bGZpbGxlZCI9PT1yLnN0YXR1cyYmci5yZWFzb24uY2xvc2UoIiI9PT1sPyciJHVuZGVmaW5lZCInOmwpO2JyZWFrO2RlZmF1bHQ6KHU9KG49ZS5fY2h1bmtzKS5nZXQocikpP00oZSx1LGwpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsbCxlKSxuLnNldChyLGUpKX19KGUsbCxpLGgseSxwKSxzPV8sMz09PWYmJnMrKyxwPWk9aD1mPTAseS5sZW5ndGg9MDtlbHNle289bmV3IFVpbnQ4QXJyYXkoby5idWZmZXIsdixvLmJ5dGVMZW5ndGgtcyksOTg9PT1oPyhwLT1vLmJ5dGVMZW5ndGgsWihlLGksbykpOih5LnB1c2gobykscC09by5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIGwuX3Jvd1N0YXRlPWYsbC5fcm93SUQ9aSxsLl9yb3dUYWc9aCxsLl9yb3dMZW5ndGg9cCx1LnJlYWQoKS50aGVuKHQpLmNhdGNoKG4pfSkuY2F0Y2gobil9ci5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgcj1lcyh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VjKHIsZS5ib2R5LGVvLmJpbmQobnVsbCxyKSl9LGZ1bmN0aW9uKGUpe0wocixlKX0pLHgociwwKX0sci5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWModD1lcyh0KSxlLGVvLmJpbmQobnVsbCx0KSkseCh0LDApfSxyLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIHIoKXt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUscil9cmV0dXJuIEUocixlLG51bGwpLHJ9LHIuY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LHIuZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocixuKXt2YXIgYT1mdW5jdGlvbihlLHQscixuKXtmdW5jdGlvbiBhKGUsdCl7dD1uZXcgQmxvYihbbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCldKTt2YXIgcj1pKys7cmV0dXJuIG51bGw9PT1zJiYocz1uZXcgRm9ybURhdGEpLHMuYXBwZW5kKCIiK3IsdCksIiQiK2Urci50b1N0cmluZygxNil9ZnVuY3Rpb24gbChlLGQpe2lmKG51bGw9PT1kKXJldHVybiBudWxsO2lmKCJvYmplY3QiPT10eXBlb2YgZCl7c3dpdGNoKGQuJCR0eXBlb2Ype2Nhc2UgaDppZih2b2lkIDAhPT10JiYtMT09PWUuaW5kZXhPZigiOiIpKXt2YXIgRSxTLFAsYixULE89Yy5nZXQodGhpcyk7aWYodm9pZCAwIT09TylyZXR1cm4gdC5zZXQoTysiOiIrZSxkKSwiJFQifWlmKHZvaWQgMCE9PXQmJmY9PT1kKXJldHVybiBmPW51bGwsIiRUIjt0aHJvdyBFcnJvcigiUmVhY3QgRWxlbWVudCBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50IHdpdGhvdXQgYSB0ZW1wb3JhcnkgcmVmZXJlbmNlIHNldC4gUGFzcyBhIFRlbXBvcmFyeVJlZmVyZW5jZVNldCB0byB0aGUgb3B0aW9ucy4iKTtjYXNlIHA6Tz1kLl9wYXlsb2FkO3ZhciBBPWQuX2luaXQ7bnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSksbysrO3RyeXt2YXIgdz1BKE8pLEM9aSsrLE49dSh3LEMpO3JldHVybiBzLmFwcGVuZCgiIitDLE4pLCIkIitDLnRvU3RyaW5nKDE2KX1jYXRjaChlKXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXtvKys7dmFyIEk9aSsrO3JldHVybiBPPWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPXUoZCxJKSx0PXM7dC5hcHBlbmQoIiIrSSxlKSxvLS0sMD09PW8mJnIodCl9Y2F0Y2goZSl7bihlKX19LGUudGhlbihPLE8pLCIkIitJLnRvU3RyaW5nKDE2KX1yZXR1cm4gbihlKSxudWxsfWZpbmFsbHl7by0tfX1pZihPPWMuZ2V0KGQpLCJmdW5jdGlvbiI9PXR5cGVvZiBkLnRoZW4pe2lmKHZvaWQgMCE9PU8paWYoZiE9PWQpcmV0dXJuIE87ZWxzZSBmPW51bGw7bnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSksbysrO3ZhciBNPWkrKztyZXR1cm4gZT0iJEAiK00udG9TdHJpbmcoMTYpLGMuc2V0KGQsZSksZC50aGVuKGZ1bmN0aW9uKGUpe3RyeXt2YXIgdD1jLmdldChlKSxhPXZvaWQgMCE9PXQ/SlNPTi5zdHJpbmdpZnkodCk6dShlLE0pOyhlPXMpLmFwcGVuZCgiIitNLGEpLG8tLSwwPT09byYmcihlKX1jYXRjaChlKXtuKGUpfX0sbiksZX1pZih2b2lkIDAhPT1PKWlmKGYhPT1kKXJldHVybiBPO2Vsc2UgZj1udWxsO2Vsc2UgLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KE89Yy5nZXQodGhpcykpJiYoZT1PKyI6IitlLGMuc2V0KGQsZSksdm9pZCAwIT09dCYmdC5zZXQoZSxkKSk7aWYoXyhkKSlyZXR1cm4gZDtpZihkIGluc3RhbmNlb2YgRm9ybURhdGEpe251bGw9PT1zJiYocz1uZXcgRm9ybURhdGEpO3ZhciBEPXMsaj0iIisoZT1pKyspKyJfIjtyZXR1cm4gZC5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7RC5hcHBlbmQoait0LGUpfSksIiRLIitlLnRvU3RyaW5nKDE2KX1pZihkIGluc3RhbmNlb2YgTWFwKXJldHVybiBlPWkrKyxPPXUoQXJyYXkuZnJvbShkKSxlKSxudWxsPT09cyYmKHM9bmV3IEZvcm1EYXRhKSxzLmFwcGVuZCgiIitlLE8pLCIkUSIrZS50b1N0cmluZygxNik7aWYoZCBpbnN0YW5jZW9mIFNldClyZXR1cm4gZT1pKyssTz11KEFycmF5LmZyb20oZCksZSksbnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSkscy5hcHBlbmQoIiIrZSxPKSwiJFciK2UudG9TdHJpbmcoMTYpO2lmKGQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZT1uZXcgQmxvYihbZF0pLE89aSsrLG51bGw9PT1zJiYocz1uZXcgRm9ybURhdGEpLHMuYXBwZW5kKCIiK08sZSksIiRBIitPLnRvU3RyaW5nKDE2KTtpZihkIGluc3RhbmNlb2YgSW50OEFycmF5KXJldHVybiBhKCJPIixkKTtpZihkIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gYSgibyIsZCk7aWYoZCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KXJldHVybiBhKCJVIixkKTtpZihkIGluc3RhbmNlb2YgSW50MTZBcnJheSlyZXR1cm4gYSgiUyIsZCk7aWYoZCBpbnN0YW5jZW9mIFVpbnQxNkFycmF5KXJldHVybiBhKCJzIixkKTtpZihkIGluc3RhbmNlb2YgSW50MzJBcnJheSlyZXR1cm4gYSgiTCIsZCk7aWYoZCBpbnN0YW5jZW9mIFVpbnQzMkFycmF5KXJldHVybiBhKCJsIixkKTtpZihkIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KXJldHVybiBhKCJHIixkKTtpZihkIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KXJldHVybiBhKCJnIixkKTtpZihkIGluc3RhbmNlb2YgQmlnSW50NjRBcnJheSlyZXR1cm4gYSgiTSIsZCk7aWYoZCBpbnN0YW5jZW9mIEJpZ1VpbnQ2NEFycmF5KXJldHVybiBhKCJtIixkKTtpZihkIGluc3RhbmNlb2YgRGF0YVZpZXcpcmV0dXJuIGEoIlYiLGQpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBCbG9iJiZkIGluc3RhbmNlb2YgQmxvYilyZXR1cm4gbnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSksZT1pKysscy5hcHBlbmQoIiIrZSxkKSwiJEIiK2UudG9TdHJpbmcoMTYpO2lmKGU9bnVsbD09PShFPWQpfHwib2JqZWN0IiE9dHlwZW9mIEU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoRT15JiZFW3ldfHxFWyJAQGl0ZXJhdG9yIl0pP0U6bnVsbClyZXR1cm4oTz1lLmNhbGwoZCkpPT09ZD8oZT1pKyssTz11KEFycmF5LmZyb20oTyksZSksbnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSkscy5hcHBlbmQoIiIrZSxPKSwiJGkiK2UudG9TdHJpbmcoMTYpKTpBcnJheS5mcm9tKE8pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBSZWFkYWJsZVN0cmVhbSYmZCBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtKXJldHVybiBmdW5jdGlvbihlKXt0cnl7dmFyIHQsYSx1LGMsZixkLGgscD1lLmdldFJlYWRlcih7bW9kZToiYnlvYiJ9KX1jYXRjaChjKXtyZXR1cm4gdD1lLmdldFJlYWRlcigpLG51bGw9PT1zJiYocz1uZXcgRm9ybURhdGEpLGE9cyxvKyssdT1pKyssdC5yZWFkKCkudGhlbihmdW5jdGlvbiBlKGkpe2lmKGkuZG9uZSlhLmFwcGVuZCgiIit1LCJDIiksMD09LS1vJiZyKGEpO2Vsc2UgdHJ5e3ZhciBzPUpTT04uc3RyaW5naWZ5KGkudmFsdWUsbCk7YS5hcHBlbmQoIiIrdSxzKSx0LnJlYWQoKS50aGVuKGUsbil9Y2F0Y2goZSl7bihlKX19LG4pLCIkUiIrdS50b1N0cmluZygxNil9cmV0dXJuIGM9cCxudWxsPT09cyYmKHM9bmV3IEZvcm1EYXRhKSxmPXMsbysrLGQ9aSsrLGg9W10sYy5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGZ1bmN0aW9uIGUodCl7dC5kb25lPyh0PWkrKyxmLmFwcGVuZCgiIit0LG5ldyBCbG9iKGgpKSxmLmFwcGVuZCgiIitkLCciJG8nK3QudG9TdHJpbmcoMTYpKyciJyksZi5hcHBlbmQoIiIrZCwiQyIpLDA9PS0tbyYmcihmKSk6KGgucHVzaCh0LnZhbHVlKSxjLnJlYWQobmV3IFVpbnQ4QXJyYXkoMTAyNCkpLnRoZW4oZSxuKSl9LG4pLCIkciIrZC50b1N0cmluZygxNil9KGQpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZihlPWRbZ10pKXJldHVybiBTPWQsUD1lLmNhbGwoZCksbnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSksYj1zLG8rKyxUPWkrKyxTPVM9PT1QLFAubmV4dCgpLnRoZW4oZnVuY3Rpb24gZSh0KXtpZih0LmRvbmUpe2lmKHZvaWQgMD09PXQudmFsdWUpYi5hcHBlbmQoIiIrVCwiQyIpO2Vsc2UgdHJ5e3ZhciBhPUpTT04uc3RyaW5naWZ5KHQudmFsdWUsbCk7Yi5hcHBlbmQoIiIrVCwiQyIrYSl9Y2F0Y2goZSl7bihlKTtyZXR1cm59MD09LS1vJiZyKGIpfWVsc2UgdHJ5e3ZhciB1PUpTT04uc3RyaW5naWZ5KHQudmFsdWUsbCk7Yi5hcHBlbmQoIiIrVCx1KSxQLm5leHQoKS50aGVuKGUsbil9Y2F0Y2goZSl7bihlKX19LG4pLCIkIisoUz8ieCI6IlgiKStULnRvU3RyaW5nKDE2KTtpZigoZT12KGQpKSE9PW0mJihudWxsPT09ZXx8bnVsbCE9PXYoZSkpKXtpZih2b2lkIDA9PT10KXRocm93IEVycm9yKCJPbmx5IHBsYWluIG9iamVjdHMsIGFuZCBhIGZldyBidWlsdC1pbnMsIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucy4gQ2xhc3NlcyBvciBudWxsIHByb3RvdHlwZXMgYXJlIG5vdCBzdXBwb3J0ZWQuIik7cmV0dXJuIiRUIn1yZXR1cm4gZH1pZigic3RyaW5nIj09dHlwZW9mIGQpcmV0dXJuIloiPT09ZFtkLmxlbmd0aC0xXSYmdGhpc1tlXWluc3RhbmNlb2YgRGF0ZT8iJEQiK2Q6ZT0iJCI9PT1kWzBdPyIkIitkOmQ7aWYoImJvb2xlYW4iPT10eXBlb2YgZClyZXR1cm4gZDtpZigibnVtYmVyIj09dHlwZW9mIGQpcmV0dXJuIE51bWJlci5pc0Zpbml0ZShkKT8wPT09ZCYmLTEvMD09MS9kPyIkLTAiOmQ6MS8wPT09ZD8iJEluZmluaXR5IjotMS8wPT09ZD8iJC1JbmZpbml0eSI6IiROYU4iO2lmKHZvaWQgMD09PWQpcmV0dXJuIiR1bmRlZmluZWQiO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBkKXtpZih2b2lkIDAhPT0oTz1SLmdldChkKSkpcmV0dXJuIHZvaWQgMCE9PShlPWMuZ2V0KGQpKXx8KGU9SlNPTi5zdHJpbmdpZnkoe2lkOk8uaWQsYm91bmQ6Ty5ib3VuZH0sbCksbnVsbD09PXMmJihzPW5ldyBGb3JtRGF0YSksTz1pKysscy5zZXQoIiIrTyxlKSxlPSIkaCIrTy50b1N0cmluZygxNiksYy5zZXQoZCxlKSksZTtpZih2b2lkIDAhPT10JiYtMT09PWUuaW5kZXhPZigiOiIpJiZ2b2lkIDAhPT0oTz1jLmdldCh0aGlzKSkpcmV0dXJuIHQuc2V0KE8rIjoiK2UsZCksIiRUIjt0aHJvdyBFcnJvcigiQ2xpZW50IEZ1bmN0aW9ucyBjYW5ub3QgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIFNlcnZlciBGdW5jdGlvbnMuIE9ubHkgRnVuY3Rpb25zIHBhc3NlZCBmcm9tIHRoZSBTZXJ2ZXIgY2FuIGJlIHBhc3NlZCBiYWNrIGFnYWluLiIpfWlmKCJzeW1ib2wiPT10eXBlb2YgZCl7aWYodm9pZCAwIT09dCYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KE89Yy5nZXQodGhpcykpKXJldHVybiB0LnNldChPKyI6IitlLGQpLCIkVCI7dGhyb3cgRXJyb3IoIlN5bWJvbHMgY2Fubm90IGJlIHBhc3NlZCB0byBhIFNlcnZlciBGdW5jdGlvbiB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIil9aWYoImJpZ2ludCI9PXR5cGVvZiBkKXJldHVybiIkbiIrZC50b1N0cmluZygxMCk7dGhyb3cgRXJyb3IoIlR5cGUgIit0eXBlb2YgZCsiIGlzIG5vdCBzdXBwb3J0ZWQgYXMgYW4gYXJndW1lbnQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24uIil9ZnVuY3Rpb24gdShlLHIpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJihyPSIkIityLnRvU3RyaW5nKDE2KSxjLnNldChlLHIpLHZvaWQgMCE9PXQmJnQuc2V0KHIsZSkpLGY9ZSxKU09OLnN0cmluZ2lmeShlLGwpfXZhciBpPTEsbz0wLHM9bnVsbCxjPW5ldyBXZWFrTWFwLGY9ZSxkPXUoZSwwKTtyZXR1cm4gbnVsbD09PXM/cihkKToocy5zZXQoIjAiLGQpLDA9PT1vJiZyKHMpKSxmdW5jdGlvbigpezA8byYmKG89MCxudWxsPT09cz9yKGQpOnIocykpfX0oZSx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxyLG4pO2lmKHQmJnQuc2lnbmFsKXt2YXIgbD10LnNpZ25hbDtpZihsLmFib3J0ZWQpYShsLnJlYXNvbik7ZWxzZXt2YXIgdT1mdW5jdGlvbigpe2EobC5yZWFzb24pLGwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHUpfTtsLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix1KX19fSl9LHIucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDIxNDEzLChlLHQscik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig2NDg5Myl9LDM1MzI2LChlLHQscik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucigyMTQxMyl9LDUxMTkxLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMjY5MzUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sODI2MDQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUTUxfTElNSVRFRF9CT1RfVUFfUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFfSxIVE1MX0xJTUlURURfQk9UX1VBX1JFX1NUUklORzpmdW5jdGlvbigpe3JldHVybiBpfSxnZXRCb3RUeXBlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGlzQm90OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI2OTM1KSx1PS9Hb29nbGVib3QoPyEtKXxHb29nbGVib3QkL2ksaT1sLkhUTUxfTElNSVRFRF9CT1RfVUFfUkUuc291cmNlO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS50ZXN0KGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKXx8byhlKX1mdW5jdGlvbiBjKGUpe3JldHVybiB1LnRlc3QoZSk/ImRvbSI6byhlKT8iaHRtbCI6dm9pZCAwfX0sODg1NDAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYSxsPXtBQ1RJT05fSE1SX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX05BVklHQVRFOmZ1bmN0aW9uKCl7cmV0dXJuIG99LEFDVElPTl9SRUZSRVNIOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LEFDVElPTl9SRVNUT1JFOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LEFDVElPTl9TRVJWRVJfQUNUSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LEFDVElPTl9TRVJWRVJfUEFUQ0g6ZnVuY3Rpb24oKXtyZXR1cm4gY30sUHJlZmV0Y2hLaW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LFNjcm9sbEJlaGF2aW9yOmZ1bmN0aW9uKCl7cmV0dXJuIHB9fTtmb3IodmFyIHUgaW4gbClPYmplY3QuZGVmaW5lUHJvcGVydHkocix1LHtlbnVtZXJhYmxlOiEwLGdldDpsW3VdfSk7bGV0IGk9InJlZnJlc2giLG89Im5hdmlnYXRlIixzPSJyZXN0b3JlIixjPSJzZXJ2ZXItcGF0Y2giLGY9Imhtci1yZWZyZXNoIixkPSJzZXJ2ZXItYWN0aW9uIjt2YXIgaD0oKG49e30pLkFVVE89ImF1dG8iLG4uRlVMTD0iZnVsbCIsbikscD0oKGE9e30pW2EuRGVmYXVsdD0wXT0iRGVmYXVsdCIsYVthLk5vU2Nyb2xsPTFdPSJOb1Njcm9sbCIsYSk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjQyNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYidGhlbiJpbiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVufU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNUaGVuYWJsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDQxNTM4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkaXNwYXRjaEFwcFJvdXRlckFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBzfSxkaXNwYXRjaEdlc3R1cmVTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBmfSxyZWZyZXNoT25JbnN0YW50TmF2aWdhdGlvblVubG9jazpmdW5jdGlvbigpe3JldHVybiBvfSx1c2VBY3Rpb25RdWV1ZTpmdW5jdGlvbigpe3JldHVybiBkfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MDgwOSkuXyhlLnIoNzE2NDUpKSx1PWUucig2NDI0NSk7ZS5yKDg4NTQwKTtsZXQgaT1udWxsO2Z1bmN0aW9uIG8oKXt9ZnVuY3Rpb24gcyhlKXtpZihudWxsPT09aSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aShlKX1sZXQgYz1udWxsO2Z1bmN0aW9uIGYoZSl7aWYobnVsbD09PWMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJJbnRlcm5hbCBOZXh0LmpzIGVycm9yOiBSb3V0ZXIgYWN0aW9uIGRpc3BhdGNoZWQgYmVmb3JlIGluaXRpYWxpemF0aW9uLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjY4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2MoZSl9ZnVuY3Rpb24gZChlKXtsZXRbdCxyXT1sLmRlZmF1bHQudXNlU3RhdGUoZS5zdGF0ZSksW24sYV09KDAsbC51c2VPcHRpbWlzdGljKSh0KTsidSI+dHlwZW9mIHdpbmRvdyYmKGM9YSksInUiPnR5cGVvZiB3aW5kb3cmJihpPXQ9PmUuZGlzcGF0Y2godCxyKSk7bGV0IG89KDAsbC51c2VNZW1vKSgoKT0+bixbbl0pO3JldHVybigwLHUuaXNUaGVuYWJsZSkobyk/KDAsbC51c2UpKG8pOm99KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzIxMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNhbGxTZXJ2ZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBuPWUucig3MTY0NSksYT1lLnIoODg1NDApLGw9ZS5yKDQxNTM4KTthc3luYyBmdW5jdGlvbiB1KGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChyLHUpPT57KDAsbi5zdGFydFRyYW5zaXRpb24pKCgpPT57KDAsbC5kaXNwYXRjaEFwcFJvdXRlckFjdGlvbikoe3R5cGU6YS5BQ1RJT05fU0VSVkVSX0FDVElPTixhY3Rpb25JZDplLGFjdGlvbkFyZ3M6dCxyZXNvbHZlOnIscmVqZWN0OnV9KX0pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTIyNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImZpbmRTb3VyY2VNYXBVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NzY0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtIRUFEX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWTpmdW5jdGlvbigpe3JldHVybiB1fSxhcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY29udmVydFNlZ21lbnRQYXRoVG9TdGF0aWNFeHBvcnRGaWxlbmFtZTpmdW5jdGlvbigpe3JldHVybiBkfSxjcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTMyNTgpLHU9IiIsaT0iL19oZWFkIjtmdW5jdGlvbiBvKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSk/bC5QQUdFX1NFR01FTlRfS0VZOiIvX25vdC1mb3VuZCI9PT1lPyJfbm90LWZvdW5kIjpmKGUpO2xldCB0PWVbMF07cmV0dXJuIiQiK2VbMl0rIiQiK2YodCl9ZnVuY3Rpb24gcyhlLHQscil7cmV0dXJuIGUrIi8iKygiY2hpbGRyZW4iPT09dD9yOmBAJHtmKHQpfS8ke3J9YCl9bGV0IGM9L15bYS16QS1aMC05XC1fQF0rJC87ZnVuY3Rpb24gZihlKXtyZXR1cm4gYy50ZXN0KGUpP2U6IiEiK2J0b2EoZSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKX1mdW5jdGlvbiBkKGUpe3JldHVybmBfX25leHQke2UucmVwbGFjZSgvXC8vZywiLiIpfS50eHRgfX0sMzM5MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2RvZXNTdGF0aWNTZWdtZW50QXBwZWFySW5VUkw6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sZ2V0Q2FjaGVLZXlGb3JEeW5hbWljUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZW5kZXJlZFBhdGhuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFJlbmRlcmVkU2VhcmNoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LHBhcnNlRHluYW1pY1BhcmFtRnJvbVVSTFBhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeTpmdW5jdGlvbigpe3JldHVybiB5fSx1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTMyNTgpLHU9ZS5yKDY3NzY0KSxpPWUucigyMTc2OCk7ZnVuY3Rpb24gbyhlKXtsZXQgdD1lLmhlYWRlcnMuZ2V0KGkuTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSKTtyZXR1cm4gbnVsbCE9PXQ/IiI9PT10PyIiOiI/Iit0OmgobmV3IFVSTChlLnVybCkpLnNlYXJjaH1mdW5jdGlvbiBzKGUpe3JldHVybiBlLmhlYWRlcnMuZ2V0KGkuTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVIpPz9oKG5ldyBVUkwoZS51cmwpKS5wYXRobmFtZX1mdW5jdGlvbiBjKGUsdCxyKXtzd2l0Y2goZSl7Y2FzZSJjIjpyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcChlPT5lbmNvZGVVUklDb21wb25lbnQoZSkpOltdO2Nhc2UiY2koLi4pKC4uKSI6Y2FzZSJjaSguKSI6Y2FzZSJjaSguLikiOmNhc2UiY2koLi4uKSI6e2xldCBuPWUubGVuZ3RoLTI7cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoKGUsdCk9PjA9PT10P2VuY29kZVVSSUNvbXBvbmVudChlLnNsaWNlKG4pKTplbmNvZGVVUklDb21wb25lbnQoZSkpOltdfWNhc2Uib2MiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6bnVsbDtjYXNlImQiOmlmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXSk7Y2FzZSJkaSguLikoLi4pIjpjYXNlImRpKC4pIjpjYXNlImRpKC4uKSI6Y2FzZSJkaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtpZihyPj10Lmxlbmd0aClyZXR1cm4iIjtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHRbcl0uc2xpY2UobikpfWRlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIGYoZSl7cmV0dXJuIShlPT09dS5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVl8fGUuc3RhcnRzV2l0aChsLlBBR0VfU0VHTUVOVF9LRVkpfHwiKCI9PT1lWzBdJiZlLmVuZHNXaXRoKCIpIikpJiZlIT09bC5ERUZBVUxUX1NFR01FTlRfS0VZJiYiL19ub3QtZm91bmQiIT09ZX1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlPygwLGwuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZSxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0KSkpOm51bGw9PT1lPyIiOmUuam9pbigiLyIpfWZ1bmN0aW9uIGgoZSl7bGV0IHQ9bmV3IFVSTChlKTtyZXR1cm4gdC5zZWFyY2hQYXJhbXMuZGVsZXRlKGkuTkVYVF9SU0NfVU5JT05fUVVFUlkpLHR9ZnVuY3Rpb24gcChlLHQpe3JldHVybiJjIj09PXR8fCJvYyI9PT10P2Uuc3BsaXQoIi8iKTplfWZ1bmN0aW9uIHkoZSl7bGV0IHQ9e307Zm9yKGxldFtyLG5db2YgZS5lbnRyaWVzKCkpdm9pZCAwPT09dFtyXT90W3JdPW46QXJyYXkuaXNBcnJheSh0W3JdKT90W3JdLnB1c2gobik6dFtyXT1bdFtyXSxuXTtyZXR1cm4gdH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MDU5MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlSW5pdGlhbFJTQ1BheWxvYWRGcm9tRmFsbGJhY2tQcmVyZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZ2V0RmxpZ2h0RGF0YVBhcnRzRnJvbVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZ2V0TmV4dEZsaWdodFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG5vcm1hbGl6ZUZsaWdodERhdGE6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBkfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigxMzI1OCksdT1lLnIoMzM5MDYpLGk9ZS5yKDUxMTkxKTtmdW5jdGlvbiBvKGUpe2xldFt0LHIsbixhXT1lLnNsaWNlKC00KSxsPWUuc2xpY2UoMCwtNCk7cmV0dXJue3BhdGhUb1NlZ21lbnQ6bC5zbGljZSgwLC0xKSxzZWdtZW50UGF0aDpsLHNlZ21lbnQ6bFtsLmxlbmd0aC0xXT8/IiIsdHJlZTp0LHNlZWREYXRhOnIsaGVhZDpuLGlzSGVhZFBhcnRpYWw6YSxpc1Jvb3RSZW5kZXI6ND09PWUubGVuZ3RofX1mdW5jdGlvbiBzKGUsdCl7bGV0IHI9KDAsdS5nZXRSZW5kZXJlZFBhdGhuYW1lKShlKSxuPSgwLHUuZ2V0UmVuZGVyZWRTZWFyY2gpKGUpLGE9KDAsaS5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTChsb2NhdGlvbi5ocmVmKSksbD10LmZbMF0sbz1sWzBdLHM9e2M6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxpLG89dFswXTtpZigic3RyaW5nIj09dHlwZW9mIG8pbD1vLGk9KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShvKTtlbHNle2xldCBlPW9bMF0sdD1vWzJdLHM9b1szXSxjPSgwLHUucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkodCxuLGEpO2w9W2UsKDAsdS5nZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbSkoYyxyKSx0LHNdLGk9ITB9bGV0IHM9aT9hKzE6YSxjPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gYyl7bGV0IGE9Y1t0XTtmW3RdPWUoYSxyLG4scyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KG8sbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuUyxoOnQuaH07cmV0dXJuIHQuYiYmKHMuYj10LmIpLHN9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9Pm8oZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe2xldFtyLG4sYSx1LGldPXQsbz1mdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGUuc3RhcnRzV2l0aChsLlBBR0VfU0VHTUVOVF9LRVkrIj8iKT9sLlBBR0VfU0VHTUVOVF9LRVk6ZTtsZXRbdCxyLG5dPWU7cmV0dXJuW3QscixuLG51bGxdfShyKSxzPXt9O2ZvcihsZXRbdCxyXW9mIE9iamVjdC5lbnRyaWVzKG4pKXNbdF09ZShyKTtsZXQgYz1bbyxzXTtyZXR1cm4gdSYmKGNbMl09bnVsbCxjWzNdPXUpLHZvaWQgMCE9PWkmJihjWzRdPWkpLGN9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTk5MjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2RqYjJIYXNoOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGhleEhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBsKGUpe2xldCB0PTUzODE7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspdD0odDw8NSkrdCtlLmNoYXJDb2RlQXQocil8MDtyZXR1cm4gdD4+PjB9ZnVuY3Rpb24gdShlKXtyZXR1cm4gbChlKS50b1N0cmluZygzNikuc2xpY2UoMCw1KX19LDg2MDUxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigxOTkyMSk7ZnVuY3Rpb24gYShlLHQscixhKXtyZXR1cm4odm9pZCAwPT09ZXx8IjAiPT09ZSkmJnZvaWQgMD09PXQmJnZvaWQgMD09PXImJnZvaWQgMD09PWE/IiI6KDAsbi5oZXhIYXNoKShbZXx8IjAiLHR8fCIwIixyfHwiMCIsYXx8IjAiXS5qb2luKCIsIikpfX0sODgwOTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e3NldENhY2hlQnVzdGluZ1NlYXJjaFBhcmFtOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHNldENhY2hlQnVzdGluZ1NlYXJjaFBhcmFtV2l0aEhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gb319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoODYwNTEpLHU9ZS5yKDIxNzY4KSxpPShlLHQpPT57byhlLCgwLGwuY29tcHV0ZUNhY2hlQnVzdGluZ1NlYXJjaFBhcmFtKSh0W3UuTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSx0W3UuTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl0sdFt1Lk5FWFRfVVJMXSkpfSxvPShlLHQpPT57bGV0IHI9ZS5zZWFyY2gsbj0oci5zdGFydHNXaXRoKCI/Iik/ci5zbGljZSgxKTpyKS5zcGxpdCgiJiIpLmZpbHRlcihlPT5lJiYhZS5zdGFydHNXaXRoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PWApKTt0Lmxlbmd0aD4wP24ucHVzaChgJHt1Lk5FWFRfUlNDX1VOSU9OX1FVRVJZfT0ke3R9YCk6bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9YCksZS5zZWFyY2g9bi5sZW5ndGg/YD8ke24uam9pbigiJiIpfWA6IiJ9OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyOTkyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtnZXROYXZpZ2F0aW9uQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiBpfSxzZXROYXZpZ2F0aW9uQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIGkoKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2MzQxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17QUNUSU9OX1NVRkZJWDpmdW5jdGlvbigpe3JldHVybiBnfSxBUFBfRElSX0FMSUFTOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LENBQ0hFX09ORV9ZRUFSX1NFQ09ORFM6ZnVuY3Rpb24oKXtyZXR1cm4gSX0sRE9UX05FWFRfQUxJQVM6ZnVuY3Rpb24oKXtyZXR1cm4geH0sRVNMSU5UX0RFRkFVTFRfRElSUzpmdW5jdGlvbigpe3JldHVybiBlaX0sR1NQX05PX1JFVFVSTkVEX1ZBTFVFOmZ1bmN0aW9uKCl7cmV0dXJuIGV0fSxHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1I6ZnVuY3Rpb24oKXtyZXR1cm4gZWF9LEdTU1BfTk9fUkVUVVJORURfVkFMVUU6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LEhUTUxfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiB1fSxJTkZJTklURV9DQUNIRTpmdW5jdGlvbigpe3JldHVybiBNfSxJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRTpmdW5jdGlvbigpe3JldHVybiBMfSxKU09OX0NPTlRFTlRfVFlQRV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sTUFUQ0hFRF9QQVRIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxNSURETEVXQVJFX0ZJTEVOQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIER9LE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQOmZ1bmN0aW9uKCl7cmV0dXJuIGp9LE5FWFRfQk9EWV9TVUZGSVg6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQ6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBTfSxORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBQfSxORVhUX0NBQ0hFX1JPT1RfUEFSQU1fVEFHX0lEOmZ1bmN0aW9uKCl7cmV0dXJuIE59LE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDpmdW5jdGlvbigpe3JldHVybiB3fSxORVhUX0NBQ0hFX1RBR1NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQ0FDSEVfVEFHX01BWF9JVEVNUzpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LE5FWFRfREFUQV9TVUZGSVg6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWDpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX01FVEFfU1VGRklYOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LE5FWFRfTkFWX0RFUExPWU1FTlRfSURfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LE5FWFRfUVVFUllfUEFSQU1fUFJFRklYOmZ1bmN0aW9uKCl7cmV0dXJuIG99LE5FWFRfUkVTVU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBifSxORVhUX1JFU1VNRV9TVEFURV9MRU5HVEhfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIFR9LE5PTl9TVEFOREFSRF9OT0RFX0VOVjpmdW5jdGlvbigpe3JldHVybiBlbH0sUEFHRVNfRElSX0FMSUFTOmZ1bmN0aW9uKCl7cmV0dXJuIGt9LFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBmfSxQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sUFJPWFlfRklMRU5BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gRn0sUFJPWFlfTE9DQVRJT05fUkVHRVhQOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDpmdW5jdGlvbigpe3JldHVybiB6fSxST09UX0RJUl9BTElBUzpmdW5jdGlvbigpe3JldHVybiBIfSxSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUzpmdW5jdGlvbigpe3JldHVybiBxfSxSU0NfQUNUSU9OX1BST1hZX0FMSUFTOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6ZnVuY3Rpb24oKXtyZXR1cm4gJH0sUlNDX0NBQ0hFX1dSQVBQRVJfQUxJQVM6ZnVuY3Rpb24oKXtyZXR1cm4gWH0sUlNDX0RZTkFNSUNfSU1QT1JUX1dSQVBQRVJfQUxJQVM6ZnVuY3Rpb24oKXtyZXR1cm4gR30sUlNDX01PRF9SRUZfUFJPWFlfQUxJQVM6ZnVuY3Rpb24oKXtyZXR1cm4gQn0sUlNDX1NFR01FTlRTX0RJUl9TVUZGSVg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sUlNDX1NFR01FTlRfU1VGRklYOmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJTQ19TVUZGSVg6ZnVuY3Rpb24oKXtyZXR1cm4geX0sU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjpmdW5jdGlvbigpe3JldHVybiBlZX0sU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6ZnVuY3Rpb24oKXtyZXR1cm4gSn0sU0VSVkVSX1JVTlRJTUU6ZnVuY3Rpb24oKXtyZXR1cm4gZW99LFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1I6ZnVuY3Rpb24oKXtyZXR1cm4gZXV9LFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDpmdW5jdGlvbigpe3JldHVybiBXfSxTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I6ZnVuY3Rpb24oKXtyZXR1cm4gWn0sVEVYVF9QTEFJTl9DT05URU5UX1RZUEVfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SOmZ1bmN0aW9uKCl7cmV0dXJuIGVufSxXRUJQQUNLX0xBWUVSUzpmdW5jdGlvbigpe3JldHVybiBlZn0sV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOmZ1bmN0aW9uKCl7cmV0dXJuIGVkfSxXRUJfU09DS0VUX01BWF9SRUNPTk5FQ1RJT05TOmZ1bmN0aW9uKCl7cmV0dXJuIGVzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSJ0ZXh0L3BsYWluIix1PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiLGk9ImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiLG89Im54dFAiLHM9Im54dEkiLGM9IngtbWF0Y2hlZC1wYXRoIixmPSJ4LXByZXJlbmRlci1yZXZhbGlkYXRlIixkPSJ4LXByZXJlbmRlci1yZXZhbGlkYXRlLWlmLWdlbmVyYXRlZCIsaD0iLnNlZ21lbnRzIixwPSIuc2VnbWVudC5yc2MiLHk9Ii5yc2MiLGc9Ii5hY3Rpb24iLF89Ii5qc29uIix2PSIubWV0YSIsbT0iLmJvZHkiLFI9IngtbmV4dGpzLWRlcGxveW1lbnQtaWQiLEU9IngtbmV4dC1jYWNoZS10YWdzIixTPSJ4LW5leHQtcmV2YWxpZGF0ZWQtdGFncyIsUD0ieC1uZXh0LXJldmFsaWRhdGUtdGFnLXRva2VuIixiPSJuZXh0LXJlc3VtZSIsVD0ieC1uZXh0LXJlc3VtZS1zdGF0ZS1sZW5ndGgiLE89MTI4LEE9MjU2LHc9MTAyNCxDPSJfTl9UXyIsTj0iX05fUlBfIixJPTMxNTM2ZTMsTT0weGZmZmZmZmZlLEQ9Im1pZGRsZXdhcmUiLGo9YCg/OnNyYy8pPyR7RH1gLEY9InByb3h5IixVPWAoPzpzcmMvKT8ke0Z9YCxMPSJpbnN0cnVtZW50YXRpb24iLGs9InByaXZhdGUtbmV4dC1wYWdlcyIseD0icHJpdmF0ZS1kb3QtbmV4dCIsSD0icHJpdmF0ZS1uZXh0LXJvb3QtZGlyIixWPSJwcml2YXRlLW5leHQtYXBwLWRpciIsQj0icHJpdmF0ZS1uZXh0LXJzYy1tb2QtcmVmLXByb3h5IiwkPSJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi12YWxpZGF0ZSIsSz0icHJpdmF0ZS1uZXh0LXJzYy1zZXJ2ZXItcmVmZXJlbmNlIixYPSJwcml2YXRlLW5leHQtcnNjLWNhY2hlLXdyYXBwZXIiLEc9InByaXZhdGUtbmV4dC1yc2MtdHJhY2stZHluYW1pYy1pbXBvcnQiLHE9InByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWVuY3J5cHRpb24iLFk9InByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWNsaWVudC13cmFwcGVyIix6PSJZb3UgY2FuIG5vdCBoYXZlIGEgJ19uZXh0JyBmb2xkZXIgaW5zaWRlIG9mIHlvdXIgcHVibGljIGZvbGRlci4gVGhpcyBjb25mbGljdHMgd2l0aCB0aGUgaW50ZXJuYWwgJy9fbmV4dCcgcm91dGUuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3B1YmxpYy1uZXh0LWZvbGRlci1jb25mbGljdCIsVz0iWW91IGNhbiBub3QgdXNlIGdldEluaXRpYWxQcm9wcyB3aXRoIGdldFN0YXRpY1Byb3BzLiBUbyB1c2UgU1NHLCBwbGVhc2UgcmVtb3ZlIHlvdXIgZ2V0SW5pdGlhbFByb3BzIixRPSJZb3UgY2FuIG5vdCB1c2UgZ2V0SW5pdGlhbFByb3BzIHdpdGggZ2V0U2VydmVyU2lkZVByb3BzLiBQbGVhc2UgcmVtb3ZlIGdldEluaXRpYWxQcm9wcy4iLEo9IllvdSBjYW4gbm90IHVzZSBnZXRTdGF0aWNQcm9wcyBvciBnZXRTdGF0aWNQYXRocyB3aXRoIGdldFNlcnZlclNpZGVQcm9wcy4gVG8gdXNlIFNTRywgcGxlYXNlIHJlbW92ZSBnZXRTZXJ2ZXJTaWRlUHJvcHMiLFo9ImNhbiBub3QgaGF2ZSBnZXRJbml0aWFsUHJvcHMvZ2V0U2VydmVyU2lkZVByb3BzLCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy80MDQtZ2V0LWluaXRpYWwtcHJvcHMiLGVlPSJwYWdlcyB3aXRoIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgIGNhbiBub3QgYmUgZXhwb3J0ZWQuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ3NzcC1leHBvcnQiLGV0PSJZb3VyIGBnZXRTdGF0aWNQcm9wc2AgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0LiBEaWQgeW91IGZvcmdldCB0byBhZGQgYSBgcmV0dXJuYD8iLGVyPSJZb3VyIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYWRkIGEgYHJldHVybmA/Iixlbj0iVGhlIGB1bnN0YWJsZV9yZXZhbGlkYXRlYCBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgZm9yIGdlbmVyYWwgdXNlLlxuUGxlYXNlIHVzZSBgcmV2YWxpZGF0ZWAgaW5zdGVhZC4iLGVhPSJjYW4gbm90IGJlIGF0dGFjaGVkIHRvIGEgcGFnZSdzIGNvbXBvbmVudCBhbmQgbXVzdCBiZSBleHBvcnRlZCBmcm9tIHRoZSBwYWdlLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dzc3AtY29tcG9uZW50LW1lbWJlciIsZWw9J1lvdSBhcmUgdXNpbmcgYSBub24tc3RhbmRhcmQgIk5PREVfRU5WIiB2YWx1ZSBpbiB5b3VyIGVudmlyb25tZW50LiBUaGlzIGNyZWF0ZXMgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBwcm9qZWN0IGFuZCBpcyBzdHJvbmdseSBhZHZpc2VkIGFnYWluc3QuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm9uLXN0YW5kYXJkLW5vZGUtZW52JyxldT0iUGFnZXMgd2l0aCBgZmFsbGJhY2tgIGVuYWJsZWQgaW4gYGdldFN0YXRpY1BhdGhzYCBjYW4gbm90IGJlIGV4cG9ydGVkLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3NzZy1mYWxsYmFjay10cnVlLWV4cG9ydCIsZWk9WyJhcHAiLCJwYWdlcyIsImNvbXBvbmVudHMiLCJsaWIiLCJzcmMiXSxlbz17ZWRnZToiZWRnZSIsZXhwZXJpbWVudGFsRWRnZToiZXhwZXJpbWVudGFsLWVkZ2UiLG5vZGVqczoibm9kZWpzIn0sZXM9MTIsZWM9e3NoYXJlZDoic2hhcmVkIixyZWFjdFNlcnZlckNvbXBvbmVudHM6InJzYyIsc2VydmVyU2lkZVJlbmRlcmluZzoic3NyIixhY3Rpb25Ccm93c2VyOiJhY3Rpb24tYnJvd3NlciIsYXBpTm9kZToiYXBpLW5vZGUiLGFwaUVkZ2U6ImFwaS1lZGdlIixtaWRkbGV3YXJlOiJtaWRkbGV3YXJlIixpbnN0cnVtZW50OiJpbnN0cnVtZW50IixlZGdlQXNzZXQ6ImVkZ2UtYXNzZXQiLGFwcFBhZ2VzQnJvd3NlcjoiYXBwLXBhZ2VzLWJyb3dzZXIiLHBhZ2VzRGlyQnJvd3NlcjoicGFnZXMtZGlyLWJyb3dzZXIiLHBhZ2VzRGlyRWRnZToicGFnZXMtZGlyLWVkZ2UiLHBhZ2VzRGlyTm9kZToicGFnZXMtZGlyLW5vZGUifSxlZj17Li4uZWMsR1JPVVA6e2J1aWx0aW5SZWFjdDpbZWMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLGVjLmFjdGlvbkJyb3dzZXJdLHNlcnZlck9ubHk6W2VjLnJlYWN0U2VydmVyQ29tcG9uZW50cyxlYy5hY3Rpb25Ccm93c2VyLGVjLmluc3RydW1lbnQsZWMubWlkZGxld2FyZV0sbmV1dHJhbFRhcmdldDpbZWMuYXBpTm9kZSxlYy5hcGlFZGdlXSxjbGllbnRPbmx5OltlYy5zZXJ2ZXJTaWRlUmVuZGVyaW5nLGVjLmFwcFBhZ2VzQnJvd3Nlcl0sYnVuZGxlZDpbZWMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLGVjLmFjdGlvbkJyb3dzZXIsZWMuc2VydmVyU2lkZVJlbmRlcmluZyxlYy5hcHBQYWdlc0Jyb3dzZXIsZWMuc2hhcmVkLGVjLmluc3RydW1lbnQsZWMubWlkZGxld2FyZV0sYXBwUGFnZXM6W2VjLnJlYWN0U2VydmVyQ29tcG9uZW50cyxlYy5zZXJ2ZXJTaWRlUmVuZGVyaW5nLGVjLmFwcFBhZ2VzQnJvd3NlcixlYy5hY3Rpb25Ccm93c2VyXX19LGVkPXtlZGdlU1NSRW50cnk6Il9fbmV4dF9lZGdlX3Nzcl9lbnRyeV9fIixtZXRhZGF0YToiX19uZXh0X21ldGFkYXRhX18iLG1ldGFkYXRhUm91dGU6Il9fbmV4dF9tZXRhZGF0YV9yb3V0ZV9fIixtZXRhZGF0YUltYWdlTWV0YToiX19uZXh0X21ldGFkYXRhX2ltYWdlX21ldGFfXyJ9fSw2MzcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4oZS50aGVuKGEpLCJmdWxmaWxsZWQiIT09ZS5zdGF0dXMpP251bGw6ZS52YWx1ZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlYWRWYXJ5UGFyYW1zIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgYT0oKT0+e319LDIyNzQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJQcmVmZXRjaEhpbnQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLkhhc1J1bnRpbWVQcmVmZXRjaD0xXT0iSGFzUnVudGltZVByZWZldGNoIixuW24uU3VidHJlZUhhc0luc3RhbnQ9Ml09IlN1YnRyZWVIYXNJbnN0YW50IixuW24uU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeT00XT0iU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSIsbltuLlN1YnRyZWVIYXNMb2FkaW5nQm91bmRhcnk9OF09IlN1YnRyZWVIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5Jc1Jvb3RMYXlvdXQ9MTZdPSJJc1Jvb3RMYXlvdXQiLG5bbi5QYXJlbnRJbmxpbmVkSW50b1NlbGY9MzJdPSJQYXJlbnRJbmxpbmVkSW50b1NlbGYiLG5bbi5JbmxpbmVkSW50b0NoaWxkPTY0XT0iSW5saW5lZEludG9DaGlsZCIsbltuLkhlYWRJbmxpbmVkSW50b1NlbGY9MTI4XT0iSGVhZElubGluZWRJbnRvU2VsZiIsbltuLkhlYWRPdXRsaW5lZD0yNTZdPSJIZWFkT3V0bGluZWQiLG4pfSw1NjAxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzcwNDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUsdCl7bGV0IHI9bmV3IFVSTChlKTtyZXR1cm57cGF0aG5hbWU6ci5wYXRobmFtZSxzZWFyY2g6ci5zZWFyY2gsbmV4dFVybDp0fX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZUNhY2hlS2V5Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw5Mzk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbCx1PXtGZXRjaFN0cmF0ZWd5OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LE5hdmlnYXRpb25SZXN1bHRUYWc6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUHJlZmV0Y2hQcmlvcml0eTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBpIGluIHUpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaSx7ZW51bWVyYWJsZTohMCxnZXQ6dVtpXX0pO3ZhciBvPSgobj17fSlbbi5NUEE9MF09Ik1QQSIsbltuLlN1Y2Nlc3M9MV09IlN1Y2Nlc3MiLG5bbi5Ob09wPTJdPSJOb09wIixuW24uQXN5bmM9M109IkFzeW5jIixuKSxzPSgoYT17fSlbYS5JbnRlbnQ9Ml09IkludGVudCIsYVthLkRlZmF1bHQ9MV09IkRlZmF1bHQiLGFbYS5CYWNrZ3JvdW5kPTBdPSJCYWNrZ3JvdW5kIixhKSxjPSgobD17fSlbbC5Mb2FkaW5nQm91bmRhcnk9MF09IkxvYWRpbmdCb3VuZGFyeSIsbFtsLlBQUj0xXT0iUFBSIixsW2wuUFBSUnVudGltZT0yXT0iUFBSUnVudGltZSIsbFtsLkZ1bGw9M109IkZ1bGwiLGwpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RmFsbGJhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sY3JlYXRlQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZGVsZXRlRnJvbUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGRlbGV0ZU1hcEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldEZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBzfSxpc1ZhbHVlRXhwaXJlZDpmdW5jdGlvbigpe3JldHVybiBjfSxzZXRJbkNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHNldFNpemVJbkNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDczODYxKSx1PXt9LGk9e307ZnVuY3Rpb24gbygpe3JldHVybntwYXJlbnQ6bnVsbCxrZXk6bnVsbCx2YWx1ZTpudWxsLG1hcDpudWxsLHByZXY6bnVsbCxuZXh0Om51bGwsc2l6ZTowfX1mdW5jdGlvbiBzKGUsdCxyLG4sYSl7bGV0IG89ZnVuY3Rpb24gZSh0LHIsbixhLGwsbyl7bGV0IHMsZjtpZihudWxsIT09YSlzPWEudmFsdWUsZj1hLnBhcmVudDtlbHNlIGlmKGwmJm8hPT1pKXM9aSxmPW51bGw7ZWxzZSByZXR1cm4gbnVsbD09PW4udmFsdWU/bjpjKHQscixuLnZhbHVlKT8ocChuKSxudWxsKTpuO2xldCBkPW4ubWFwO2lmKG51bGwhPT1kKXtsZXQgbj1kLmdldChzKTtpZih2b2lkIDAhPT1uKXtsZXQgYT1lKHQscixuLGYsbCxzKTtpZihudWxsIT09YSlyZXR1cm4gYX1sZXQgYT1kLmdldCh1KTtpZih2b2lkIDAhPT1hKXJldHVybiBlKHQscixhLGYsbCxzKX1yZXR1cm4gbnVsbH0oZSx0LHIsbixhLDApO3JldHVybiBudWxsPT09b3x8bnVsbD09PW8udmFsdWU/bnVsbDooKDAsbC5scnVQdXQpKG8pLG8udmFsdWUpfWZ1bmN0aW9uIGMoZSx0LHIpe3JldHVybiByLnN0YWxlQXQ8PWV8fHIudmVyc2lvbjx0fWZ1bmN0aW9uIGYoZSx0LHIsbil7bGV0IGE9ZnVuY3Rpb24oZSx0LHIpe2xldCBuPWUsYT10LGw9bnVsbDtmb3IoOzspe2xldCBlPWw7aWYobnVsbCE9PWEpbD1hLnZhbHVlLGE9YS5wYXJlbnQ7ZWxzZSBpZihyJiZlIT09aSl7aWYobnVsbD09PW4udmFsdWUpcmV0dXJuIG47bD1pfWVsc2UgYnJlYWs7bGV0IHQ9bi5tYXA7aWYobnVsbCE9PXQpe2xldCBlPXQuZ2V0KGwpO2lmKHZvaWQgMCE9PWUpe249ZTtjb250aW51ZX19ZWxzZSB0PW5ldyBNYXAsbi5tYXA9dDtsZXQgdT17cGFyZW50Om4sa2V5OmwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH07dC5zZXQobCx1KSxuPXV9cmV0dXJuIG59KGUsdCxuKTtkKGEsciksKDAsbC5scnVQdXQpKGEpLCgwLGwudXBkYXRlTHJ1U2l6ZSkoYSxyLnNpemUpfWZ1bmN0aW9uIGQoZSx0KXtudWxsIT09ZS52YWx1ZSYmKGUudmFsdWUucmVmPW51bGwsZS52YWx1ZT1udWxsKTtsZXQgcj10LnJlZjtlLnZhbHVlPXQsdC5yZWY9ZSwoMCxsLnVwZGF0ZUxydVNpemUpKGUsdC5zaXplKSxudWxsIT09ciYmciE9PWUmJnIudmFsdWU9PT10JiZwKHIpfWZ1bmN0aW9uIGgoZSl7bGV0IHQ9ZS5yZWY7bnVsbCE9PXQmJihlLnJlZj1udWxsLHAodCkpfWZ1bmN0aW9uIHAoZSl7ZS52YWx1ZT1udWxsLCgwLGwuZGVsZXRlRnJvbUxydSkoZSk7bGV0IHQ9ZS5tYXA7aWYobnVsbD09PXQpe2xldCB0PWUucGFyZW50LHI9ZS5rZXk7Zm9yKDtudWxsIT09dDspe2xldCBlPXQubWFwO2lmKG51bGwhPT1lJiYoZS5kZWxldGUociksMD09PWUuc2l6ZSkmJih0Lm1hcD1udWxsLG51bGw9PT10LnZhbHVlKSl7cj10LmtleSx0PXQucGFyZW50O2NvbnRpbnVlfWJyZWFrfX1lbHNle2xldCByPXQuZ2V0KGkpO3ZvaWQgMCE9PXImJm51bGwhPT1yLnZhbHVlJiZkKGUsci52YWx1ZSl9fWZ1bmN0aW9uIHkoZSx0KXtsZXQgcj1lLnJlZjtudWxsIT09ciYmKGUuc2l6ZT10LCgwLGwudXBkYXRlTHJ1U2l6ZSkocix0KSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM4NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NsZWFudXA6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBjfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1MTEpLHU9ZS5yKDc3NzA5KSxpPW51bGwsbz0wO2Z1bmN0aW9uIHMoZSl7aWYoaT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KG8rPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PWkpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD1pLnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PWksaS5wcmV2PWV9aT1lfWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKG89by1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihvLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsaT09PWU/dD09PWk/aT1udWxsOihpPXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvPD0weDMyMDAwMDB8fCgwLHUucGluZ1ByZWZldGNoU2NoZWR1bGVyKSgpfWZ1bmN0aW9uIGgoKXtpZighKG88PTB4MzIwMDAwMCkpZm9yKDtvPjB4MmQwMDAwMCYmbnVsbCE9PWk7KXtsZXQgZT1pLnByZXY7bnVsbCE9PWUmJigwLGwuZGVsZXRlTWFwRW50cnkpKGUpfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzcwOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y2FuY2VsUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LGlzUHJlZmV0Y2hUYXNrRGlydHk6ZnVuY3Rpb24oKXtyZXR1cm4gUH0scGluZ1ByZWZldGNoU2NoZWR1bGVyOmZ1bmN0aW9uKCl7cmV0dXJuIFR9LHBpbmdQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gQ30scmVzY2hlZHVsZVByZWZldGNoVGFzazpmdW5jdGlvbigpe3JldHVybiBTfSxzY2hlZHVsZVByZWZldGNoVGFzazpmdW5jdGlvbigpe3JldHVybiBSfSxzdGFydFJldmFsaWRhdGlvbkNvb2xkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG19fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDIyNzQ0KSx1PWUucig1NjAxOSksaT1lLnIoMjA4OTYpLG89ZS5yKDc3MDQ4KSxzPWUucig5Mzk2KSxjPWUucigxMzI1OCksZj1lLnIoNzM4NjEpLGQ9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOmU9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oZSkuY2F0Y2goZT0+c2V0VGltZW91dCgoKT0+e3Rocm93IGV9KSksaD1bXSxwPTAseT0wLGc9ITEsXz1udWxsLHY9bnVsbDtmdW5jdGlvbiBtKCl7bnVsbCE9PXYmJmNsZWFyVGltZW91dCh2KSx2PXNldFRpbWVvdXQoKCk9Pnt2PW51bGwsVCgpfSwzMDApfWZ1bmN0aW9uIFIoZSx0LHIsbixhLGwpe2xldCB1PXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LHJvdXRlQ2FjaGVWZXJzaW9uOigwLGkuZ2V0Q3VycmVudFJvdXRlQ2FjaGVWZXJzaW9uKSgpLHNlZ21lbnRDYWNoZVZlcnNpb246KDAsaS5nZXRDdXJyZW50U2VnbWVudENhY2hlVmVyc2lvbikoKSxwcmlvcml0eTpuLHBoYXNlOjEsaGFzQmFja2dyb3VuZFdvcms6ITEsc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzOm51bGwsZmV0Y2hTdHJhdGVneTpyLHNvcnRJZDp5KyssaXNDYW5jZWxlZDohMSxvbkludmFsaWRhdGU6YSxfaGVhcEluZGV4Oi0xfTtyZXR1cm4gYih1KSx4KGgsdSksVCgpLHV9ZnVuY3Rpb24gRShlKXtlLmlzQ2FuY2VsZWQ9ITAsZnVuY3Rpb24oZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7aWYoLTEhPT1yJiYodC5faGVhcEluZGV4PS0xLDAhPT1lLmxlbmd0aCkpe2xldCBuPWUucG9wKCk7biE9PXQmJihlW3JdPW4sbi5faGVhcEluZGV4PXIsSyhlLG4scikpfX0oaCxlKX1mdW5jdGlvbiBTKGUsdCxyLG4pe2UuaXNDYW5jZWxlZD0hMSxlLnBoYXNlPTEsZS5zb3J0SWQ9eSsrLGUucHJpb3JpdHk9ZT09PV8/cy5QcmVmZXRjaFByaW9yaXR5LkludGVudDpuLGUudHJlZUF0VGltZU9mUHJlZmV0Y2g9dCxlLmZldGNoU3RyYXRlZ3k9cixiKGUpLC0xIT09ZS5faGVhcEluZGV4P0IoaCxlKTp4KGgsZSksVCgpfWZ1bmN0aW9uIFAoZSx0LHIpe3JldHVybiBlLnJvdXRlQ2FjaGVWZXJzaW9uIT09KDAsaS5nZXRDdXJyZW50Um91dGVDYWNoZVZlcnNpb24pKCl8fGUuc2VnbWVudENhY2hlVmVyc2lvbiE9PSgwLGkuZ2V0Q3VycmVudFNlZ21lbnRDYWNoZVZlcnNpb24pKCl8fGUudHJlZUF0VGltZU9mUHJlZmV0Y2ghPT1yfHxlLmtleS5uZXh0VXJsIT09dH1mdW5jdGlvbiBiKGUpe2UucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50JiZlIT09XyYmKG51bGwhPT1fJiZfLnByaW9yaXR5IT09cy5QcmVmZXRjaFByaW9yaXR5LkJhY2tncm91bmQmJihfLnByaW9yaXR5PXMuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LEIoaCxfKSksXz1lKX1mdW5jdGlvbiBUKCl7Z3x8KGc9ITAsZChOKSl9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gbnVsbD09PXYmJihlLnByaW9yaXR5PT09cy5QcmVmZXRjaFByaW9yaXR5LkludGVudD9wPDEyOnA8NCl9ZnVuY3Rpb24gQShlKXtyZXR1cm4gcCsrLGUudGhlbihlPT5udWxsPT09ZT8odygpLG51bGwpOihlLmNsb3NlZC50aGVuKHcpLGUudmFsdWUpKX1mdW5jdGlvbiB3KCl7cC0tLFQoKX1mdW5jdGlvbiBDKGUpe2UuaXNDYW5jZWxlZHx8LTEhPT1lLl9oZWFwSW5kZXh8fCh4KGgsZSksVCgpKX1mdW5jdGlvbiBOKCl7Zz0hMTtsZXQgZT1EYXRlLm5vdygpLHQ9SChoKTtmb3IoO251bGwhPT10JiZPKHQpOyl7dC5yb3V0ZUNhY2hlVmVyc2lvbj0oMCxpLmdldEN1cnJlbnRSb3V0ZUNhY2hlVmVyc2lvbikoKSx0LnNlZ21lbnRDYWNoZVZlcnNpb249KDAsaS5nZXRDdXJyZW50U2VnbWVudENhY2hlVmVyc2lvbikoKTtsZXQgcj1mdW5jdGlvbihlLHQpe2xldCByPXQua2V5LG49KDAsaS5yZWFkT3JDcmVhdGVSb3V0ZUNhY2hlRW50cnkpKGUsdCxyKSxhPWZ1bmN0aW9uKGUsdCxyKXtzd2l0Y2goci5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5FbXB0eTpBKCgwLGkuZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShyLHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPWkuRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIGkuRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIGkuRW50cnlTdGF0dXMuRnVsZmlsbGVkOntsZXQgbztpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgYz1yLnRyZWU7c3dpdGNoKG89Yy5wcmVmZXRjaEhpbnRzJmwuUHJlZmV0Y2hIaW50LlN1YnRyZWVIYXNJbnN0YW50P3MuRmV0Y2hTdHJhdGVneS5QUFI6dC5mZXRjaFN0cmF0ZWd5PT09cy5GZXRjaFN0cmF0ZWd5LlBQUj9yLnN1cHBvcnRzUGVyU2VnbWVudFByZWZldGNoaW5nP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3kpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKGoobj1lLGE9dCx1PXIsKDAsaS5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUubWV0YWRhdGEpLGEua2V5LHUubWV0YWRhdGEpLDA9PT1mdW5jdGlvbiBlKHQscixuLGEsdSl7bGV0IG89KDAsaS5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksdSk7aih0LHIsbixvLHIua2V5LHUpO2xldCBzPWFbMV0sYz11LnNsb3RzO2lmKG51bGwhPT1jKWZvcihsZXQgYSBpbiBjKXtpZighTyhyKSlyZXR1cm4gMDtsZXQgdT1jW2FdLG89dS5zZWdtZW50LGY9c1thXSxkPWY/LlswXTtpZigwPT09KHZvaWQgMCE9PWQmJkwobixvLGQpP2UodCxyLG4sZix1KTpmdW5jdGlvbiBlKHQscixuLGEpe2lmKGEucHJlZmV0Y2hIaW50cyZsLlByZWZldGNoSGludC5IYXNSdW50aW1lUHJlZmV0Y2gpcmV0dXJuIG51bGw9PT1yLnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz9yLnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1uZXcgU2V0KFthLnJlcXVlc3RLZXldKTpyLnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcy5hZGQoYS5yZXF1ZXN0S2V5KSwyO2xldCB1PSgwLGkucmVhZE9yQ3JlYXRlU2VnbWVudENhY2hlRW50cnkpKHQsci5mZXRjaFN0cmF0ZWd5LGEpO2lmKGoodCxyLG4sdSxyLmtleSxhKSxudWxsIT09YS5zbG90cyl7aWYoIU8ocikpcmV0dXJuIDA7Zm9yKGxldCBsIGluIGEuc2xvdHMpaWYoMD09PWUodCxyLG4sYS5zbG90c1tsXSkpcmV0dXJuIDB9cmV0dXJuIDJ9KHQscixuLHUpKSlyZXR1cm4gMH1yZXR1cm4gMn0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxjKSlyZXR1cm4gMDtsZXQgbz10LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcztpZihudWxsIT09byl7bGV0IG49bmV3IE1hcDtNKGUsdCxyLG4scy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUpO2xldCBhPWZ1bmN0aW9uIGUodCxyLG4sYSxsLHUpe2lmKGwuaGFzKGEucmVxdWVzdEtleSkpcmV0dXJuIEQodCxyLG4sYSwhMSx1LHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgaT17fSxvPWEuc2xvdHM7aWYobnVsbCE9PW8pZm9yKGxldCBhIGluIG8pe2xldCBzPW9bYV07aVthXT1lKHQscixuLHMsbCx1KX1yZXR1cm5bYS5zZWdtZW50LGksbnVsbCxudWxsXX0oZSx0LHIsYyxvLG4pO24uc2l6ZT4wJiZBKCgwLGkuZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSxhLG4pKX1yZXR1cm4gMn1jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgbj1uZXcgTWFwO00oZSx0LHIsbixvKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsdSxvLGMpe2xldCBmPWFbMV0sZD11LnNsb3RzLGg9e307aWYobnVsbCE9PWQpZm9yKGxldCBhIGluIGQpe2xldCB1PWRbYV0scD11LnNlZ21lbnQseT1mW2FdLGc9eT8uWzBdO2lmKHZvaWQgMCE9PWcmJkwobixwLGcpKXtsZXQgbD1lKHQscixuLHksdSxvLGMpO2hbYV09bH1lbHNlIHN3aXRjaChjKXtjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6e2xldCBlPSh1LnByZWZldGNoSGludHMmKGwuUHJlZmV0Y2hIaW50LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnl8bC5QcmVmZXRjaEhpbnQuU3VidHJlZUhhc0xvYWRpbmdCb3VuZGFyeSkpIT0wP2Z1bmN0aW9uIGUodCxyLG4sYSx1LG8pe2xldCBjPW51bGw9PT11PyJpbnNpZGUtc2hhcmVkLWxheW91dCI6bnVsbCxmPSgwLGkucmVhZE9yQ3JlYXRlU2VnbWVudENhY2hlRW50cnkpKHQsci5mZXRjaFN0cmF0ZWd5LGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5Om8uc2V0KGEucmVxdWVzdEtleSwoMCxpLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBpLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZigoYS5wcmVmZXRjaEhpbnRzJmwuUHJlZmV0Y2hIaW50LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpIT0wKXJldHVybigwLGkuY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGUpKGEpO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9bGV0IGQ9e307aWYobnVsbCE9PWEuc2xvdHMpZm9yKGxldCBsIGluIGEuc2xvdHMpe2xldCBpPWEuc2xvdHNbbF07ZFtsXT1lKHQscixuLGksdSxvKX1yZXR1cm5bYS5zZWdtZW50LGQsbnVsbCxjXX0odCxyLG4sdSxudWxsLG8pOigwLGkuY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGUpKHUpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOntsZXQgZT1EKHQscixuLHUsITEsbyxjKTtoW2FdPWU7YnJlYWt9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDp7bGV0IGU9RCh0LHIsbix1LCExLG8sYyk7aFthXT1lfX19cmV0dXJuW3Uuc2VnbWVudCxoLG51bGwsbnVsbF19KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsYyxuLG8pO3JldHVybiBuLnNpemU+MCYmQSgoMCxpLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIsbyxhLG4pKSwyfX19fXJldHVybiAyfShlLHQsbik7aWYoMCE9PWEmJiIiIT09ci5zZWFyY2gpe2xldCBuPW5ldyBVUkwoci5wYXRobmFtZSxsb2NhdGlvbi5vcmlnaW4pLGE9KDAsby5jcmVhdGVDYWNoZUtleSkobi5ocmVmLHIubmV4dFVybCksbD0oMCxpLnJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeSkoZSx0LGEpO3N3aXRjaChsLnN0YXR1cyl7Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OkkodCkmJihsLnN0YXR1cz1pLkVudHJ5U3RhdHVzLlBlbmRpbmcsQSgoMCxpLmZldGNoUm91dGVPbkNhY2hlTWlzcykobCxhKSkpO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19cmV0dXJuIGF9KGUsdCksbj10Lmhhc0JhY2tncm91bmRXb3JrO3N3aXRjaCh0Lmhhc0JhY2tncm91bmRXb3JrPSExLHQuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW51bGwscil7Y2FzZSAwOnJldHVybjtjYXNlIDE6VihoKSx0PUgoaCk7Y29udGludWU7Y2FzZSAyOjE9PT10LnBoYXNlPyh0LnBoYXNlPTAsQihoLHQpKTpuPyh0LnByaW9yaXR5PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kLEIoaCx0KSk6VihoKSx0PUgoaCk7Y29udGludWV9fW51bGw9PT10JiYwPT09cCYmKDAsZi5jbGVhbnVwKSgpfWZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZHx8KGUuaGFzQmFja2dyb3VuZFdvcms9ITAsITEpfWZ1bmN0aW9uIE0oZSx0LHIsbixhKXtEKGUsdCxyLHIubWV0YWRhdGEsITEsbixhPT09cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeT9zLkZldGNoU3RyYXRlZ3kuRnVsbDphKX1mdW5jdGlvbiBEKGUsdCxyLG4sYSxsLHUpe2xldCBvPSgwLGkucmVhZE9yQ3JlYXRlU2VnbWVudENhY2hlRW50cnkpKGUsdSxuKSxjPW51bGw7c3dpdGNoKG8uc3RhdHVzKXtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6aWYodT09PXMuRmV0Y2hTdHJhdGVneS5GdWxsJiZudWxsIT09KDAsaS5hdHRlbXB0VG9GdWxmaWxsRHluYW1pY1NlZ21lbnRGcm9tQkZDYWNoZSkoZSxvLG4pKWJyZWFrO2M9KDAsaS51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkobyx1KTticmVhaztjYXNlIGkuRW50cnlTdGF0dXMuRnVsZmlsbGVkOmlmKG8uaXNQYXJ0aWFsJiYoMCxpLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKG8uZmV0Y2hTdHJhdGVneSx1KSl7aWYodT09PXMuRmV0Y2hTdHJhdGVneS5GdWxsJiZudWxsIT09KDAsaS5hdHRlbXB0VG9VcGdyYWRlU2VnbWVudEZyb21CRkNhY2hlKShlLG4pKWJyZWFrO2M9VShlLG4sdSl9YnJlYWs7Y2FzZSBpLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLGkuY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoby5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1VKGUsbix1KSl9bGV0IGY9e307aWYobnVsbCE9PW4uc2xvdHMpZm9yKGxldCBpIGluIG4uc2xvdHMpe2xldCBvPW4uc2xvdHNbaV07ZltpXT1EKGUsdCxyLG8sYXx8bnVsbCE9PWMsbCx1KX1udWxsIT09YyYmbC5zZXQobi5yZXF1ZXN0S2V5LGMpO2xldCBkPWF8fG51bGw9PT1jP251bGw6InJlZmV0Y2giO3JldHVybltuLnNlZ21lbnQsZixudWxsLGRdfWZ1bmN0aW9uIGooZSx0LHIsbixhLGwpe3N3aXRjaChuLnN0YXR1cyl7Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OkEoKDAsaS5mZXRjaFNlZ21lbnRPbkNhY2hlTWlzcykociwoMCxpLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShuLHMuRmV0Y2hTdHJhdGVneS5QUFIpLGEsbCkpO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnN3aXRjaChuLmZldGNoU3RyYXRlZ3kpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkZ1bGw6YnJlYWs7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OkkodCkmJkYoZSxyLGEsbCk7YnJlYWs7ZGVmYXVsdDpuLmZldGNoU3RyYXRlZ3l9YnJlYWs7Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOnN3aXRjaChuLmZldGNoU3RyYXRlZ3kpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkZ1bGw6YnJlYWs7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OkYoZSxyLGEsbCk7YnJlYWs7ZGVmYXVsdDpuLmZldGNoU3RyYXRlZ3l9Y2FzZSBpLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDp9fWZ1bmN0aW9uIEYoZSx0LHIsbil7bGV0IGE9KDAsaS5yZWFkT3JDcmVhdGVSZXZhbGlkYXRpbmdTZWdtZW50RW50cnkpKGUscy5GZXRjaFN0cmF0ZWd5LlBQUixuKTtzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5FbXB0eTpBKCgwLGkuZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsaS51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKTtjYXNlIGkuRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIGkuRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fWZ1bmN0aW9uIFUoZSx0LHIpe2xldCBuPSgwLGkucmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5KShlLHIsdCk7aWYobi5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkVtcHR5KXJldHVybigwLGkudXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scik7aWYoKDAsaS5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShuLmZldGNoU3RyYXRlZ3kscikpe2xldCBuPSgwLGkub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKGUscix0KTtyZXR1cm4oMCxpLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShuLHIpfXN3aXRjaChuLnN0YXR1cyl7Y2FzZSBpLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBpLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDpjYXNlIGkuRW50cnlTdGF0dXMuUmVqZWN0ZWQ6ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gTChlLHQscil7cmV0dXJuIHI9PT1jLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGMuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoYy5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gayhlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24geChlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9ciwkKGUsdCxyKX1mdW5jdGlvbiBIKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLEsoZSxyLDApKSx0fWZ1bmN0aW9uIEIoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/SyhlLHQsMCk6ayhlW3ItMT4+PjFdLHQpPjA/JChlLHQscik6SyhlLHQscikpfWZ1bmN0aW9uICQoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKGsoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIEsoZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxpPWVbdV07aWYoMD5rKGwsdCkpdTxhJiYwPmsoaSxsKT8oZVtuXT1pLGkuX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5rKGksdCkpKXJldHVybjtlW25dPWksaS5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU2NjU1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRGdWxmaWxsZWRTZWdtZW50VmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0LHIpe3JldHVybntpZDp0LmlkLHZhbHVlOm51bGw9PT10LmlkfHxyLmhhcyh0LmlkKT90LnZhbHVlOnUuRmFsbGJhY2sscGFyZW50Om51bGw9PT10LnBhcmVudD9udWxsOmUodC5wYXJlbnQscil9fX0sZ2V0UGFydGlhbExheW91dFZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGdldFBhcnRpYWxQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sZ2V0UmVuZGVyZWRTZWFyY2hGcm9tVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sZ2V0Um91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBvfSxnZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGd9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkzOTYpLHU9ZS5yKDUxMSksaT1lLnIoNjc3NjQpO2Z1bmN0aW9uIG8oZSx0LHIpe3JldHVybntpZDpudWxsLHZhbHVlOmUscGFyZW50OntpZDoiPyIsdmFsdWU6dCxwYXJlbnQ6e2lkOm51bGwsdmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBzKGUsdCxyLG4pe3JldHVybntpZDpudWxsLHZhbHVlOmUscGFyZW50OntpZDoiPyIsdmFsdWU6dCxwYXJlbnQ6e2lkOm51bGwsdmFsdWU6bj9yOnUuRmFsbGJhY2sscGFyZW50Om51bGx9fX19ZnVuY3Rpb24gYyhlLHQscil7cmV0dXJue2lkOnIsdmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybntpZDpudWxsLHZhbHVlOmUscGFyZW50OnR9fWZ1bmN0aW9uIGQoZSl7cmV0dXJuIGUucGFyZW50fWZ1bmN0aW9uIGgoZSx0LHIpe3JldHVybntpZDpudWxsLHZhbHVlOmUscGFyZW50OntpZDoiPyIsdmFsdWU6dCxwYXJlbnQ6cn19fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIGUucGFyZW50LnBhcmVudH1mdW5jdGlvbiB5KGUsdCxyKXtyZXR1cm57aWQ6bnVsbCx2YWx1ZTplK2kuSEVBRF9SRVFVRVNUX0tFWSxwYXJlbnQ6e2lkOiI/Iix2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gZyhlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue2lkOm51bGwsdmFsdWU6ci52YWx1ZSxwYXJlbnQ6e2lkOiI/Iix2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24gXyhlLHQpe2xldCByPWUucGFyZW50O3JldHVybntpZDpudWxsLHZhbHVlOmUudmFsdWUscGFyZW50OntpZDoiPyIsdmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX1mdW5jdGlvbiB2KGUpe2xldCB0PWUucGFyZW50LnZhbHVlO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90Om51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzI0NjMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpLHI9ZS5pbmRleE9mKCI/Iiksbj1yPi0xJiYodDwwfHxyPHQpO3JldHVybiBufHx0Pi0xP3twYXRobmFtZTplLnN1YnN0cmluZygwLG4/cjp0KSxxdWVyeTpuP2Uuc3Vic3RyaW5nKHIsdD4tMT90OnZvaWQgMCk6IiIsaGFzaDp0Pi0xP2Uuc2xpY2UodCk6IiJ9OntwYXRobmFtZTplLHF1ZXJ5OiIiLGhhc2g6IiJ9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicGFyc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDE4NTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3MjQ2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSwzODI4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw4MjgyMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigzODI4MSksYT1lLnIoNzI0NjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NTUwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhZGRCYXNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQxODU4KSxhPWUucig4MjgyMyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3NjMwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBvfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDgyNjA0KSx1PWUucig1NTUwKTtmdW5jdGlvbiBpKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gbyhlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gaSh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTE5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbW91bnRGb3JtSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sbW91bnRMaW5rSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sb25MaW5rVmlzaWJpbGl0eUNoYW5nZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gUH0sb25OYXZpZ2F0aW9uSW50ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LHBpbmdWaXNpYmxlTGlua3M6ZnVuY3Rpb24oKXtyZXR1cm4gT30sc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LHVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gaH0sdW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkzOTYpLHU9ZS5yKDc3MDQ4KSxpPWUucig3NzcwOSksbz1lLnIoNzE2NDUpLHM9bnVsbCxjPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e3M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGMpLHM9ZX0pfWZ1bmN0aW9uIGgoZSl7cz09PWUmJihzPW51bGwpfWZ1bmN0aW9uIHAoKXtyZXR1cm4gc31sZXQgeT0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9uZXcgV2Vha01hcDpuZXcgTWFwLGc9bmV3IFNldCxfPSJmdW5jdGlvbiI9PXR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlcj9uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZSl7Zm9yKGxldCB0IG9mIGUpe2xldCBlPXQuaW50ZXJzZWN0aW9uUmF0aW8+MDtQKHQudGFyZ2V0LGUpfX0se3Jvb3RNYXJnaW46IjIwMHB4In0pOm51bGw7ZnVuY3Rpb24gdihlLHQpe3ZvaWQgMCE9PXkuZ2V0KGUpJiZTKGUpLHkuc2V0KGUsdCksbnVsbCE9PV8mJl8ub2JzZXJ2ZShlKX1mdW5jdGlvbiBtKHQpe2lmKCEoInUiPnR5cGVvZiB3aW5kb3cpKXJldHVybiBudWxsO3tsZXR7Y3JlYXRlUHJlZmV0Y2hVUkw6cn09ZS5yKDU3NjMwKTt0cnl7cmV0dXJuIHIodCl9Y2F0Y2h7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpjb25zb2xlLmVycm9yKShgQ2Fubm90IHByZWZldGNoICcke3R9JyBiZWNhdXNlIGl0IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYSBVUkwuYCksbnVsbH19fWZ1bmN0aW9uIFIoZSx0LHIsbixhLGwpe2lmKGEpe2xldCBhPW0odCk7aWYobnVsbCE9PWEpe2xldCB0PXtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bH07cmV0dXJuIHYoZSx0KSx0fX1yZXR1cm57cm91dGVyOnIsZmV0Y2hTdHJhdGVneTpuLGlzVmlzaWJsZTohMSxwcmVmZXRjaFRhc2s6bnVsbCxwcmVmZXRjaEhyZWY6bnVsbCxzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfX1mdW5jdGlvbiBFKGUsdCxyLG4pe2xldCBhPW0odCk7bnVsbD09PWF8fHYoZSx7cm91dGVyOnIsZmV0Y2hTdHJhdGVneTpuLGlzVmlzaWJsZTohMSxwcmVmZXRjaFRhc2s6bnVsbCxwcmVmZXRjaEhyZWY6YS5ocmVmLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOm51bGx9KX1mdW5jdGlvbiBTKGUpe2xldCB0PXkuZ2V0KGUpO2lmKHZvaWQgMCE9PXQpe3kuZGVsZXRlKGUpLGcuZGVsZXRlKHQpO2xldCByPXQucHJlZmV0Y2hUYXNrO251bGwhPT1yJiYoMCxpLmNhbmNlbFByZWZldGNoVGFzaykocil9bnVsbCE9PV8mJl8udW5vYnNlcnZlKGUpfWZ1bmN0aW9uIFAoZSx0KXtsZXQgcj15LmdldChlKTt2b2lkIDAhPT1yJiYoci5pc1Zpc2libGU9dCx0P2cuYWRkKHIpOmcuZGVsZXRlKHIpLFQocixsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCkpfWZ1bmN0aW9uIGIoZSx0KXtsZXQgcj15LmdldChlKTt2b2lkIDAhPT1yJiZ2b2lkIDAhPT1yJiZUKHIsbC5QcmVmZXRjaFByaW9yaXR5LkludGVudCl9ZnVuY3Rpb24gVCh0LHIpe2lmKCJ1Ij50eXBlb2Ygd2luZG93KXtsZXQgbj10LnByZWZldGNoVGFzaztpZighdC5pc1Zpc2libGUpe251bGwhPT1uJiYoMCxpLmNhbmNlbFByZWZldGNoVGFzaykobik7cmV0dXJufWxldHtnZXRDdXJyZW50QXBwUm91dGVyU3RhdGU6YX09ZS5yKDk5NzgxKSxsPWEoKTtpZihudWxsIT09bCl7bGV0IGU9bC50cmVlO2lmKG51bGw9PT1uKXtsZXQgbj1sLm5leHRVcmwsYT0oMCx1LmNyZWF0ZUNhY2hlS2V5KSh0LnByZWZldGNoSHJlZixuKTt0LnByZWZldGNoVGFzaz0oMCxpLnNjaGVkdWxlUHJlZmV0Y2hUYXNrKShhLGUsdC5mZXRjaFN0cmF0ZWd5LHIsbnVsbCl9ZWxzZSgwLGkucmVzY2hlZHVsZVByZWZldGNoVGFzaykobixlLHQuZmV0Y2hTdHJhdGVneSxyKX19fWZ1bmN0aW9uIE8oZSx0KXtmb3IobGV0IHIgb2YgZyl7bGV0IG49ci5wcmVmZXRjaFRhc2s7aWYobnVsbCE9PW4mJiEoMCxpLmlzUHJlZmV0Y2hUYXNrRGlydHkpKG4sZSx0KSljb250aW51ZTtudWxsIT09biYmKDAsaS5jYW5jZWxQcmVmZXRjaFRhc2spKG4pO2xldCBhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHIucHJlZmV0Y2hIcmVmLGUpO3IucHJlZmV0Y2hUYXNrPSgwLGkuc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsdCxyLmZldGNoU3RyYXRlZ3ksbC5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQsbnVsbCl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5MDI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtVbmtub3duRHluYW1pY1N0YWxlVGltZTpmdW5jdGlvbigpe3JldHVybiBpfSxjb21wdXRlRHluYW1pY1N0YWxlQXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30saW52YWxpZGF0ZUJmQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scmVhZEZyb21CRkNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHJlYWRGcm9tQkZDYWNoZUR1cmluZ1JlZ3VsYXJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LHVwZGF0ZUJGQ2FjaGVFbnRyeVN0YWxlQXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sd3JpdGVIZWFkVG9CRkNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LHdyaXRlVG9CRkNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDY5KSx1PWUucig1MTEpLGk9LTE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiB0IT09aT9lKzFlMyp0OmUrbC5EWU5BTUlDX1NUQUxFVElNRV9NU31sZXQgcz0oMCx1LmNyZWF0ZUNhY2hlTWFwKSgpLGM9MDtmdW5jdGlvbiBmKCl7InUiPnR5cGVvZiB3aW5kb3cmJmMrK31mdW5jdGlvbiBkKGUsdCxyLG4sYSxsLGkpe2lmKCJ1Ijx0eXBlb2Ygd2luZG93KXJldHVybjtsZXQgbz17cnNjOnIscHJlZmV0Y2hSc2M6bixoZWFkOmEscHJlZmV0Y2hIZWFkOmwscmVmOm51bGwsc2l6ZToxMDAsbmF2aWdhdGVkQXQ6ZSxzdGFsZUF0OmksdmVyc2lvbjpjfTsoMCx1LnNldEluQ2FjaGVNYXApKHMsdCxvLCExKX1mdW5jdGlvbiBoKGUsdCxyLG4sYSl7ZChlLHQscixuLG51bGwsbnVsbCxhKX1mdW5jdGlvbiBwKGUsdCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpcmV0dXJuO2xldCByPSgwLHUuZ2V0RnJvbUNhY2hlTWFwKSgtMSxjLHMsZSwhMSk7bnVsbCE9PXImJihyLnN0YWxlQXQ9dCl9ZnVuY3Rpb24geShlKXtyZXR1cm4idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLHUuZ2V0RnJvbUNhY2hlTWFwKSgtMSxjLHMsZSwhMSl9ZnVuY3Rpb24gZyhlLHQpe3JldHVybiJ1Ijx0eXBlb2Ygd2luZG93P251bGw6KDAsdS5nZXRGcm9tQ2FjaGVNYXApKGUsYyxzLHQsITEpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk2MTY3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkaXNjb3Zlcktub3duUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sbWF0Y2hLbm93blJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LHJlc2V0S25vd25Sb3V0ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMjA4OTYpLHU9ZS5yKDMzOTA2KSxpPWUucig1NjY1NSk7ZnVuY3Rpb24gbygpe3JldHVybntzdGF0aWNDaGlsZHJlbjpudWxsLGR5bmFtaWNDaGlsZDpudWxsLGR5bmFtaWNDaGlsZFBhcmFtTmFtZTpudWxsLGR5bmFtaWNDaGlsZFBhcmFtVHlwZTpudWxsLHBhdHRlcm46bnVsbH19bGV0IHM9bygpO2Z1bmN0aW9uIGMoZSx0LHIsbixhLHUsaSxvLGMsZCl7bGV0IGg9dC5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLHA9aC5sZW5ndGg+MD9oWzBdOm51bGwseT1oLmxlbmd0aD4wP2guc2xpY2UoMSk6W107aWYobnVsbCE9PW4pe2xldCBoPSgwLGwuZnVsZmlsbFJvdXRlQ2FjaGVFbnRyeSkoZSxuLGEsdSxpLG8sYyk7cmV0dXJuIGQmJihoLmhhc0R5bmFtaWNSZXdyaXRlPSEwKSxmKHMsYSxwLHksaCxlLHQscixhLHUsaSxvLGMsZCksaH1yZXR1cm4gZihzLGEscCx5LG51bGwsZSx0LHIsYSx1LGksbyxjLGQpfWZ1bmN0aW9uIGYoZSx0LHIsbixhLGkscyxjLGQsaCxwLHksZyxfKXtsZXQgdixtLFI9dC5zZWdtZW50LEU9bnVsbCxTPW51bGwsUD1udWxsOyJzdHJpbmciPT10eXBlb2YgUj92PSgwLHUuZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTCkoUik6KEU9UlswXSxTPVJbMl0sUD1SWzNdLHY9ITApO2xldCBiPWUsVD1yLE89bjtpZih2KXtpZihudWxsPT09RSYmciE9PVIpcmV0dXJuIG51bGwhPT1hP2E6KDAsbC53cml0ZVJvdXRlSW50b0NhY2hlKShpLHMsYyxkLGgscCx5LGcpO2lmKG51bGwhPT1FJiZudWxsIT09Uyl7aWYoYj1mdW5jdGlvbihlLHQscil7aWYobnVsbCE9PWUuZHluYW1pY0NoaWxkKXJldHVybiBlLmR5bmFtaWNDaGlsZDtsZXQgbj1vKCk7cmV0dXJuIGUuZHluYW1pY0NoaWxkPW4sZS5keW5hbWljQ2hpbGRQYXJhbU5hbWU9dCxlLmR5bmFtaWNDaGlsZFBhcmFtVHlwZT1yLG59KGUsRSxTKSxudWxsIT09UClmb3IobGV0IHQgb2YobnVsbD09PWUuc3RhdGljQ2hpbGRyZW4mJihlLnN0YXRpY0NoaWxkcmVuPW5ldyBNYXApLFApKWUuc3RhdGljQ2hpbGRyZW4uaGFzKHQpfHxlLnN0YXRpY0NoaWxkcmVuLnNldCh0LG8oKSl9ZWxzZXtudWxsPT09ZS5zdGF0aWNDaGlsZHJlbiYmKGUuc3RhdGljQ2hpbGRyZW49bmV3IE1hcCk7bGV0IHQ9ZS5zdGF0aWNDaGlsZHJlbi5nZXQocik7dm9pZCAwPT09dCYmKHQ9bygpLGUuc3RhdGljQ2hpbGRyZW4uc2V0KHIsdCkpLGI9dH1UPW4ubGVuZ3RoPjA/blswXTpudWxsLE89bi5sZW5ndGg+MD9uLnNsaWNlKDEpOltdfWxldCBBPXQuc2xvdHMsdz1udWxsO2lmKG51bGwhPT1BKXtmb3IobGV0IGUgaW4gQSl7bGV0IHQ9QVtlXTtudWxsPT09dC5yZWZyZXNoU3RhdGUmJih3PWYoYix0LFQsTyxhLGkscyxjLGQsaCxwLHksZyxfKSl9cmV0dXJuIG51bGwhPT13P3c6bnVsbCE9PWE/YTooMCxsLndyaXRlUm91dGVJbnRvQ2FjaGUpKGkscyxjLGQsaCxwLHksZyl9cmV0dXJuIG51bGwhPT1iLnBhdHRlcm4/KF8mJihiLnBhdHRlcm4uaGFzRHluYW1pY1Jld3JpdGU9ITApLGIucGF0dGVybik6KG09bnVsbCE9PWE/YTooMCxsLndyaXRlUm91dGVJbnRvQ2FjaGUpKGkscyxjLGQsaCxwLHksZyksXyYmKG0uaGFzRHluYW1pY1Jld3JpdGU9ITApLGIucGF0dGVybj1tLG0pfWZ1bmN0aW9uIGQoZSx0KXtsZXQgcj1lLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksbj1uZXcgTWFwLGE9ZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbD1uPHIubGVuZ3RoP3Jbbl06bnVsbDtpZihudWxsPT09dC5zdGF0aWNDaGlsZHJlbil7aWYobnVsbD09PWwpe2xldCBlPXQucGF0dGVybjtpZihudWxsIT09ZSYmIWUuaGFzRHluYW1pY1Jld3JpdGUpcmV0dXJue3BhcnQ6dCxwYXR0ZXJuOmV9fXJldHVybiBudWxsfWlmKG51bGwhPT1sKXtsZXQgdT10LnN0YXRpY0NoaWxkcmVuLmdldChsKTtpZih2b2lkIDAhPT11KXtpZihudWxsPT09dS5wYXR0ZXJuJiZudWxsPT09dS5keW5hbWljQ2hpbGQmJm51bGw9PT11LnN0YXRpY0NoaWxkcmVuKXJldHVybiBudWxsO2xldCB0PWUodSxyLG4rMSxhKTtyZXR1cm4gbnVsbCE9PXQ/dDpudWxsfX1pZihudWxsIT09dC5keW5hbWljQ2hpbGQpe2xldCB1PXQuZHluYW1pY0NoaWxkLGk9dC5keW5hbWljQ2hpbGRQYXJhbU5hbWUsbz10LmR5bmFtaWNDaGlsZFBhcmFtVHlwZSxzPXUucGF0dGVybjtzd2l0Y2gobyl7Y2FzZSJjIjppZihudWxsIT09cyYmIXMuaGFzRHluYW1pY1Jld3JpdGUmJm51bGwhPT1sKXJldHVybiBhLnNldChpLHIuc2xpY2UobikpLHtwYXJ0OnUscGF0dGVybjpzfTticmVhaztjYXNlIm9jIjppZihudWxsIT09cyYmIXMuaGFzRHluYW1pY1Jld3JpdGUpe2lmKG51bGwhPT1sKXJldHVybiBhLnNldChpLHIuc2xpY2UobikpLHtwYXJ0OnUscGF0dGVybjpzfTtpZihudWxsPT09dC5wYXR0ZXJufHx0LnBhdHRlcm4uaGFzRHluYW1pY1Jld3JpdGUpcmV0dXJuIGEuc2V0KGksW10pLHtwYXJ0OnUscGF0dGVybjpzfX1icmVhaztjYXNlImQiOmlmKG51bGwhPT1sKXJldHVybiBhLnNldChpLGwpLGUodSxyLG4rMSxhKTticmVhaztjYXNlImNpKC4uKSguLikiOmNhc2UiY2koLikiOmNhc2UiY2koLi4pIjpjYXNlImNpKC4uLikiOmNhc2UiZGkoLi4pKC4uKSI6Y2FzZSJkaSguKSI6Y2FzZSJkaSguLikiOmNhc2UiZGkoLi4uKSI6cmV0dXJuIG51bGx9fWlmKG51bGw9PT1sKXtsZXQgZT10LnBhdHRlcm47aWYobnVsbCE9PWUmJiFlLmhhc0R5bmFtaWNSZXdyaXRlKXJldHVybntwYXJ0OnQscGF0dGVybjplfX1yZXR1cm4gbnVsbH0ocyxyLDAsbik7aWYobnVsbD09PWEpcmV0dXJuIG51bGw7bGV0IHU9YS5wYXJ0LG89YS5wYXR0ZXJuO2lmKG8uY291bGRCZUludGVyY2VwdGVkKXJldHVybiBudWxsO2xldCBjPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LGY9ZnVuY3Rpb24gZSh0LHIsbixhLGwpe2xldCB1LG89dC5zZWdtZW50LHM9bztpZigic3RyaW5nIiE9dHlwZW9mIG8pe2xldCBlPW9bMF0sdD1vWzJdLG49b1szXSxsPXIuZ2V0KGUpO2lmKHZvaWQgMCE9PWwpe2xldCByPUFycmF5LmlzQXJyYXkobCk/bC5qb2luKCIvIik6bDtzPVtlLHIsdCxuXSx1PSgwLGkuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKGEscixlKX1lbHNlIHU9YX1lbHNlIHU9YTtsZXQgYz1udWxsO2lmKG51bGwhPT10LnNsb3RzKWZvcihsZXQgYSBpbiBjPXt9LHQuc2xvdHMpY1thXT1lKHQuc2xvdHNbYV0scixuLHUsbCk7aWYodC5pc1BhZ2Upe2xldCBlPSgwLGkuZmluYWxpemVQYWdlVmFyeVBhdGgpKHQucmVxdWVzdEtleSxuLHUpO3JldHVybiBudWxsPT09bC5tZXRhZGF0YVZhcnlQYXRoJiYobC5tZXRhZGF0YVZhcnlQYXRoPSgwLGkuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKSh0LnJlcXVlc3RLZXksbix1KSkse3JlcXVlc3RLZXk6dC5yZXF1ZXN0S2V5LHNlZ21lbnQ6cyxyZWZyZXNoU3RhdGU6dC5yZWZyZXNoU3RhdGUsc2xvdHM6YyxwcmVmZXRjaEhpbnRzOnQucHJlZmV0Y2hIaW50cyxpc1BhZ2U6ITAsdmFyeVBhdGg6ZX19e2xldCBlPSgwLGkuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkodC5yZXF1ZXN0S2V5LHUpO3JldHVybntyZXF1ZXN0S2V5OnQucmVxdWVzdEtleSxzZWdtZW50OnMscmVmcmVzaFN0YXRlOnQucmVmcmVzaFN0YXRlLHNsb3RzOmMscHJlZmV0Y2hIaW50czp0LnByZWZldGNoSGludHMsaXNQYWdlOiExLHZhcnlQYXRoOmV9fX0oby50cmVlLG4sdCxudWxsLGMpLGQ9Yy5tZXRhZGF0YVZhcnlQYXRoO2lmKG51bGw9PT1kKXJldHVybiBudWxsO2xldCBoPSgwLGwuY3JlYXRlTWV0YWRhdGFSb3V0ZVRyZWUpKGQpLHA9e2Nhbm9uaWNhbFVybDplK3Qsc3RhdHVzOmwuRW50cnlTdGF0dXMuRnVsZmlsbGVkLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6ZixtZXRhZGF0YTpoLGNvdWxkQmVJbnRlcmNlcHRlZDpvLmNvdWxkQmVJbnRlcmNlcHRlZCxzdXBwb3J0c1BlclNlZ21lbnRQcmVmZXRjaGluZzpvLnN1cHBvcnRzUGVyU2VnbWVudFByZWZldGNoaW5nLGhhc0R5bmFtaWNSZXdyaXRlOiExLHJlbmRlcmVkU2VhcmNoOnQscmVmOm51bGwsc2l6ZTpvLnNpemUsc3RhbGVBdDpvLnN0YWxlQXQsdmVyc2lvbjpvLnZlcnNpb259O3JldHVybiB1LnBhdHRlcm49cCxwfWZ1bmN0aW9uIGgoKXtzPW8oKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDg5NiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhPXtFbnRyeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiB3fSxhdHRlbXB0VG9GdWxmaWxsRHluYW1pY1NlZ21lbnRGcm9tQkZDYWNoZTpmdW5jdGlvbigpe3JldHVybiBlZX0sYXR0ZW1wdFRvVXBncmFkZVNlZ21lbnRGcm9tQkZDYWNoZTpmdW5jdGlvbigpe3JldHVybiBldH0sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlU30sY29udmVydFJldXNlZEZsaWdodFJvdXRlclN0YXRlVG9Sb3V0ZVRyZWU6ZnVuY3Rpb24oKXtyZXR1cm4gZWZ9LGNvbnZlcnRSb290RmxpZ2h0Um91dGVyU3RhdGVUb1JvdXRlVHJlZTpmdW5jdGlvbigpe3JldHVybiBlY30sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEp9LGNyZWF0ZU1ldGFkYXRhUm91dGVUcmVlOmZ1bmN0aW9uKCl7cmV0dXJuIGVufSxkZXByZWNhdGVkX3JlcXVlc3RPcHRpbWlzdGljUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEd9LGZldGNoSW5saW5lZFNlZ21lbnRzT25DYWNoZU1pc3M6ZnVuY3Rpb24oKXtyZXR1cm4gZXl9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBlaH0sZmV0Y2hTZWdtZW50T25DYWNoZU1pc3M6ZnVuY3Rpb24oKXtyZXR1cm4gZXB9LGZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGVnfSxmdWxmaWxsUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGVhfSxnZXRDdXJyZW50Um91dGVDYWNoZVZlcnNpb246ZnVuY3Rpb24oKXtyZXR1cm4gRn0sZ2V0Q3VycmVudFNlZ21lbnRDYWNoZVZlcnNpb246ZnVuY3Rpb24oKXtyZXR1cm4gVX0sZ2V0U3RhbGVBdDpmdW5jdGlvbigpe3JldHVybiBlVH0sZ2V0U3RhbGVUaW1lTXM6ZnVuY3Rpb24oKXtyZXR1cm4gQX0saW52YWxpZGF0ZUVudGlyZVByZWZldGNoQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gTH0saW52YWxpZGF0ZVJvdXRlQ2FjaGVFbnRyaWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGt9LGludmFsaWRhdGVTZWdtZW50Q2FjaGVFbnRyaWVzOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LG1hcmtSb3V0ZUVudHJ5QXNEeW5hbWljUmV3cml0ZTpmdW5jdGlvbigpe3JldHVybiBldX0sb3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnk6ZnVuY3Rpb24oKXtyZXR1cm4gV30scGluZ0ludmFsaWRhdGlvbkxpc3RlbmVyczpmdW5jdGlvbigpe3JldHVybiBIfSxwcm9jZXNzUnVudGltZVByZWZldGNoU3RyZWFtOmZ1bmN0aW9uKCl7cmV0dXJuIGVBfSxyZWFkT3JDcmVhdGVSZXZhbGlkYXRpbmdTZWdtZW50RW50cnk6ZnVuY3Rpb24oKXtyZXR1cm4gen0scmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFh9LHJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHJlYWRSb3V0ZUNhY2hlRW50cnk6ZnVuY3Rpb24oKXtyZXR1cm4gVn0scmVhZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHN0cmlwSXNQYXJ0aWFsQnl0ZTpmdW5jdGlvbigpe3JldHVybiBld30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gWn0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFF9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiAkfSx3cml0ZUR5bmFtaWNSZW5kZXJSZXNwb25zZUludG9DYWNoZTpmdW5jdGlvbigpe3JldHVybiBldn0sd3JpdGVSb3V0ZUludG9DYWNoZTpmdW5jdGlvbigpe3JldHVybiBlbH0sd3JpdGVTdGF0aWNTdGFnZVJlc3BvbnNlSW50b0NhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGVPfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucig2MzcyKSxpPWUucigyMTc2OCksbz1lLnIoODcyODgpLHM9ZS5yKDc3NzA5KSxjPWUucig1NjY1NSksZj1lLnIoNTExOTEpLGQ9ZS5yKDc3MDQ4KSxoPWUucigzMzkwNikscD1lLnIoNTExKSx5PWUucig2Nzc2NCksZz1lLnIoNTA1OTApLF89ZS5yKDU0MDY5KSx2PWUucig5MTk0OSksbT1lLnIoMTMyNTgpLFI9ZS5yKDkzOTYpLEU9ZS5yKDM5NDcwKSxTPWUucig3OTAyNyksUD1lLnIoOTYxNjcpLGI9ZS5yKDYwMzU1KSxUPWUucigzMjk5MiksTz1lLnIoNjM0MTYpO2Z1bmN0aW9uIEEoZSl7cmV0dXJuIDFlMypNYXRoLm1heChlLDMwKX12YXIgdz0oKG49e30pW24uRW1wdHk9MF09IkVtcHR5IixuW24uUGVuZGluZz0xXT0iUGVuZGluZyIsbltuLkZ1bGZpbGxlZD0yXT0iRnVsZmlsbGVkIixuW24uUmVqZWN0ZWQ9M109IlJlamVjdGVkIixuKTtsZXQgQz1bIiIse30sbnVsbCwibWV0YWRhdGEtb25seSJdLE49KDAscC5jcmVhdGVDYWNoZU1hcCkoKSxJPSgwLHAuY3JlYXRlQ2FjaGVNYXApKCksTT1udWxsLEQ9MCxqPTA7ZnVuY3Rpb24gRigpe3JldHVybiBEfWZ1bmN0aW9uIFUoKXtyZXR1cm4gan1mdW5jdGlvbiBMKGUsdCl7RCsrLGorKywoMCx2LnBpbmdWaXNpYmxlTGlua3MpKGUsdCksSChlLHQpfWZ1bmN0aW9uIGsoZSx0KXtEKyssKDAsdi5waW5nVmlzaWJsZUxpbmtzKShlLHQpLEgoZSx0KX1mdW5jdGlvbiB4KGUsdCl7aisrLCgwLHYucGluZ1Zpc2libGVMaW5rcykoZSx0KSxIKGUsdCl9ZnVuY3Rpb24gSChlLHQpe2lmKG51bGwhPT1NKXtsZXQgcj1NO2ZvcihsZXQgbiBvZihNPW51bGwscikpKDAscy5pc1ByZWZldGNoVGFza0RpcnR5KShuLGUsdCkmJmZ1bmN0aW9uKGUpe2xldCB0PWUub25JbnZhbGlkYXRlO2lmKG51bGwhPT10KXtlLm9uSW52YWxpZGF0ZT1udWxsO3RyeXt0KCl9Y2F0Y2goZSl7ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yKGUpOmNvbnNvbGUuZXJyb3IoZSl9fX0obil9fWZ1bmN0aW9uIFYoZSx0KXtsZXQgcj0oMCxjLmdldFJvdXRlVmFyeVBhdGgpKHQucGF0aG5hbWUsdC5zZWFyY2gsdC5uZXh0VXJsKSxuPSgwLHAuZ2V0RnJvbUNhY2hlTWFwKShlLEQsTixyLCExKTtyZXR1cm4gbnVsbCE9PW4/bjpudWxsfWZ1bmN0aW9uIEIoZSx0KXtyZXR1cm4oMCxwLmdldEZyb21DYWNoZU1hcCkoZSxqLEksdCwhMSl9ZnVuY3Rpb24gJChlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsRS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEsoKXtyZXR1cm57Y2Fub25pY2FsVXJsOm51bGwsc3RhdHVzOjAsYmxvY2tlZFRhc2tzOm51bGwsdHJlZTpudWxsLG1ldGFkYXRhOm51bGwsY291bGRCZUludGVyY2VwdGVkOiEwLHN1cHBvcnRzUGVyU2VnbWVudFByZWZldGNoaW5nOiExLHJlbmRlcmVkU2VhcmNoOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6MS8wLHZlcnNpb246RH19ZnVuY3Rpb24gWChlLHQscil7bnVsbCE9PXQub25JbnZhbGlkYXRlJiYobnVsbD09PU0/TT1uZXcgU2V0KFt0XSk6TS5hZGQodCkpO2xldCBuPVYoZSxyKTtpZihudWxsIT09bilyZXR1cm4gbjtsZXQgYT1LKCksbD0oMCxjLmdldFJvdXRlVmFyeVBhdGgpKHIucGF0aG5hbWUsci5zZWFyY2gsci5uZXh0VXJsKTtyZXR1cm4oMCxwLnNldEluQ2FjaGVNYXApKE4sbCxhLCExKSxhfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXQuc2VhcmNoO2lmKCIiPT09bilyZXR1cm4gbnVsbDtsZXQgYT1uZXcgVVJMKHQpO2Euc2VhcmNoPSIiO2xldCBsPVYoZSwoMCxkLmNyZWF0ZUNhY2hlS2V5KShhLmhyZWYscikpO2lmKG51bGw9PT1sfHwyIT09bC5zdGF0dXMpcmV0dXJuIG51bGw7bGV0IHU9bmV3IFVSTChsLmNhbm9uaWNhbFVybCx0Lm9yaWdpbiksaT0iIiE9PXUuc2VhcmNoP3Uuc2VhcmNoOm4sbz0iIiE9PWwucmVuZGVyZWRTZWFyY2g/bC5yZW5kZXJlZFNlYXJjaDpuLHM9bmV3IFVSTChsLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pO3JldHVybiBzLnNlYXJjaD1pLHtjYW5vbmljYWxVcmw6KDAsZi5jcmVhdGVIcmVmRnJvbVVybCkocyksc3RhdHVzOjIsYmxvY2tlZFRhc2tzOm51bGwsdHJlZTpxKGwudHJlZSxvKSxtZXRhZGF0YTpxKGwubWV0YWRhdGEsbyksY291bGRCZUludGVyY2VwdGVkOmwuY291bGRCZUludGVyY2VwdGVkLHN1cHBvcnRzUGVyU2VnbWVudFByZWZldGNoaW5nOmwuc3VwcG9ydHNQZXJTZWdtZW50UHJlZmV0Y2hpbmcsaGFzRHluYW1pY1Jld3JpdGU6bC5oYXNEeW5hbWljUmV3cml0ZSxyZW5kZXJlZFNlYXJjaDpvLHJlZjpudWxsLHNpemU6MCxzdGFsZUF0Omwuc3RhbGVBdCx2ZXJzaW9uOmwudmVyc2lvbn19ZnVuY3Rpb24gcShlLHQpe2xldCByPW51bGwsbj1lLnNsb3RzO2lmKG51bGwhPT1uKWZvcihsZXQgZSBpbiByPXt9LG4pe2xldCBhPW5bZV07cltlXT1xKGEsdCl9cmV0dXJuIGUuaXNQYWdlP3tyZXF1ZXN0S2V5OmUucmVxdWVzdEtleSxzZWdtZW50OmUuc2VnbWVudCxyZWZyZXNoU3RhdGU6ZS5yZWZyZXNoU3RhdGUsdmFyeVBhdGg6KDAsYy5jbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXMpKGUudmFyeVBhdGgsdCksaXNQYWdlOiEwLHNsb3RzOnIscHJlZmV0Y2hIaW50czplLnByZWZldGNoSGludHN9OntyZXF1ZXN0S2V5OmUucmVxdWVzdEtleSxzZWdtZW50OmUuc2VnbWVudCxyZWZyZXNoU3RhdGU6ZS5yZWZyZXNoU3RhdGUsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixwcmVmZXRjaEhpbnRzOmUucHJlZmV0Y2hIaW50c319ZnVuY3Rpb24gWShlLHQscil7bGV0IG49QihlLHIudmFyeVBhdGgpO2lmKG51bGwhPT1uKXJldHVybiBuO2xldCBhPSgwLGMuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkodCxyKSxsPUooZSk7cmV0dXJuKDAscC5zZXRJbkNhY2hlTWFwKShJLGEsbCwhMSksbH1mdW5jdGlvbiB6KGUsdCxyKXt2YXIgbjtsZXQgYT0obj1yLnZhcnlQYXRoLCgwLHAuZ2V0RnJvbUNhY2hlTWFwKShlLGosSSxuLCEwKSk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAsYy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LHIpLHU9SihlKTtyZXR1cm4oMCxwLnNldEluQ2FjaGVNYXApKEksbCx1LCEwKSx1fWZ1bmN0aW9uIFcoZSx0LHIpe2xldCBuPSgwLGMuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkodCxyKSxhPUooZSk7cmV0dXJuKDAscC5zZXRJbkNhY2hlTWFwKShJLG4sYSwhMCksYX1mdW5jdGlvbiBRKGUsdCxyKXtpZigoMCxwLmlzVmFsdWVFeHBpcmVkKShlLGoscikpcmV0dXJuIG51bGw7bGV0IG49QihlLHQpO2lmKG51bGwhPT1uKXt2YXIgYTtpZihyLmZldGNoU3RyYXRlZ3khPT1uLmZldGNoU3RyYXRlZ3kmJihhPW4uZmV0Y2hTdHJhdGVneSwhKGE8ci5mZXRjaFN0cmF0ZWd5KSl8fCFuLmlzUGFydGlhbCYmci5pc1BhcnRpYWwpcmV0dXJuIHIuc3RhdHVzPTMsci5yc2M9bnVsbCxudWxsOygwLHAuZGVsZXRlRnJvbUNhY2hlTWFwKShuKX1yZXR1cm4oMCxwLnNldEluQ2FjaGVNYXApKEksdCxyLCExKSxyfWZ1bmN0aW9uIEooZSl7cmV0dXJue3N0YXR1czowLGZldGNoU3RyYXRlZ3k6Ui5GZXRjaFN0cmF0ZWd5LlBQUixyc2M6bnVsbCxpc1BhcnRpYWw6ITAscHJvbWlzZTpudWxsLHJlZjpudWxsLHNpemU6MCxzdGFsZUF0OmUrM2U0LHZlcnNpb246MH19ZnVuY3Rpb24gWihlLHQpe3JldHVybiBlLnN0YXR1cz0xLGUuZmV0Y2hTdHJhdGVneT10LHQ9PT1SLkZldGNoU3RyYXRlZ3kuRnVsbCYmKGUuaXNQYXJ0aWFsPSExKSxlLnZlcnNpb249aixlfWZ1bmN0aW9uIGVlKGUsdCxyKXtsZXQgbj1yLnZhcnlQYXRoLGE9KDAsUy5yZWFkRnJvbUJGQ2FjaGUpKG4pO2lmKG51bGwhPT1hKXtsZXQgcj1hLm5hdmlnYXRlZEF0K18uU1RBVElDX1NUQUxFVElNRV9NUztyZXR1cm4gZT5yP251bGw6ZWkoWih0LFIuRmV0Y2hTdHJhdGVneS5GdWxsKSxhLnJzYyxyLCExKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBldChlLHQpe2xldCByPXQudmFyeVBhdGgsbj0oMCxTLnJlYWRGcm9tQkZDYWNoZSkocik7aWYobnVsbCE9PW4pe2xldCByPW4ubmF2aWdhdGVkQXQrXy5TVEFUSUNfU1RBTEVUSU1FX01TO2lmKGU+cilyZXR1cm4gbnVsbDtsZXQgYT1laShaKEooZSksUi5GZXRjaFN0cmF0ZWd5LkZ1bGwpLG4ucnNjLHIsITEpLGw9UShlLCgwLGMuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkoUi5GZXRjaFN0cmF0ZWd5LkZ1bGwsdCksYSk7aWYobnVsbCE9PWwmJjI9PT1sLnN0YXR1cylyZXR1cm4gbH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBlcihlKXtsZXQgdD1lLmJsb2NrZWRUYXNrcztpZihudWxsIT09dCl7Zm9yKGxldCBlIG9mIHQpKDAscy5waW5nUHJlZmV0Y2hUYXNrKShlKTtlLmJsb2NrZWRUYXNrcz1udWxsfX1mdW5jdGlvbiBlbihlKXtyZXR1cm57cmVxdWVzdEtleTp5LkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDp5LkhFQURfUkVRVUVTVF9LRVkscmVmcmVzaFN0YXRlOm51bGwsdmFyeVBhdGg6ZSxpc1BhZ2U6ITAsc2xvdHM6bnVsbCxwcmVmZXRjaEhpbnRzOjB9fWZ1bmN0aW9uIGVhKGUsdCxyLG4sYSxsLHUpe2xldCBpPSgwLGMuZ2V0UmVuZGVyZWRTZWFyY2hGcm9tVmFyeVBhdGgpKG4pPz8iIjtyZXR1cm4gdC5zdGF0dXM9Mix0LnRyZWU9cix0Lm1ldGFkYXRhPWVuKG4pLHQuc3RhbGVBdD1lK18uU1RBVElDX1NUQUxFVElNRV9NUyx0LmNvdWxkQmVJbnRlcmNlcHRlZD1hLHQuY2Fub25pY2FsVXJsPWwsdC5yZW5kZXJlZFNlYXJjaD1pLHQuc3VwcG9ydHNQZXJTZWdtZW50UHJlZmV0Y2hpbmc9dSx0Lmhhc0R5bmFtaWNSZXdyaXRlPSExLGVyKHQpLHR9ZnVuY3Rpb24gZWwoZSx0LHIsbixhLGwsdSxpKXtsZXQgbz1lYShlLEsoKSxuLGEsbCx1LGkpLHM9by5yZW5kZXJlZFNlYXJjaCxmPSgwLGMuZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aCkodCxzLHIsbCk7cmV0dXJuKDAscC5zZXRJbkNhY2hlTWFwKShOLGYsbywhMSksb31mdW5jdGlvbiBldShlKXtlLmhhc0R5bmFtaWNSZXdyaXRlPSEwfWZ1bmN0aW9uIGVpKGUsdCxyLG4pe3JldHVybiBlLnN0YXR1cz0yLGUucnNjPXQsZS5zdGFsZUF0PXIsZS5pc1BhcnRpYWw9bixudWxsIT09ZS5wcm9taXNlJiYoZS5wcm9taXNlLnJlc29sdmUoZSksZS5wcm9taXNlPW51bGwpLGV9ZnVuY3Rpb24gZW8oZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LGVyKGUpfWZ1bmN0aW9uIGVzKGUsdCl7ZS5zdGF0dXM9MyxlLnN0YWxlQXQ9dCxudWxsIT09ZS5wcm9taXNlJiYoZS5wcm9taXNlLnJlc29sdmUobnVsbCksZS5wcm9taXNlPW51bGwpfWZ1bmN0aW9uIGVjKGUsdCxyKXtyZXR1cm4gZWQoZSx5LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLHQscil9ZnVuY3Rpb24gZWYoZSx0LHIsbixhKXtsZXQgbD1lLmlzUGFnZT8oMCxjLmdldFBhcnRpYWxQYWdlVmFyeVBhdGgpKGUudmFyeVBhdGgpOigwLGMuZ2V0UGFydGlhbExheW91dFZhcnlQYXRoKShlLnZhcnlQYXRoKSx1PXJbMF0saT1lLnJlcXVlc3RLZXksbz0oMCx5LmNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydCkodSk7cmV0dXJuIGVkKHIsKDAseS5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGksdCxvKSxsLG4sYSl9ZnVuY3Rpb24gZWQoZSx0LHIsbixhKXtsZXQgbCx1LGksbyxzPWVbMF0sZj1lWzJdPz9udWxsLGQ9bnVsbCE9PWY/e2Nhbm9uaWNhbFVybDpmWzBdLHJlbmRlcmVkU2VhcmNoOmZbMV19Om51bGwsaD1udWxsIT09ZD9kLnJlbmRlcmVkU2VhcmNoOm47aWYoQXJyYXkuaXNBcnJheShzKSl7aT0hMTtsZXQgZT1zWzFdLG49c1swXTt1PSgwLGMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKHIsZSxuKSxvPSgwLGMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkodCx1KSxsPXN9ZWxzZSB1PXIsdC5lbmRzV2l0aChtLlBBR0VfU0VHTUVOVF9LRVkpPyhpPSEwLGw9bS5QQUdFX1NFR01FTlRfS0VZLG89KDAsYy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkodCxoLHUpLG51bGw9PT1hLm1ldGFkYXRhVmFyeVBhdGgmJihhLm1ldGFkYXRhVmFyeVBhdGg9KDAsYy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHQsaCx1KSkpOihpPSExLGw9cyxvPSgwLGMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkodCx1KSk7bGV0IHA9bnVsbCxnPWVbMV07Zm9yKGxldCBlIGluIGcpe2xldCByPWdbZV0sbj1yWzBdLGw9KDAseS5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKG4pLGk9ZWQociwoMCx5LmFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydCkodCxlLGwpLHUsaCxhKTtudWxsPT09cD9wPXtbZV06aX06cFtlXT1pfXJldHVybntyZXF1ZXN0S2V5OnQsc2VnbWVudDpsLHJlZnJlc2hTdGF0ZTpkLHZhcnlQYXRoOm8saXNQYWdlOmksc2xvdHM6cCxwcmVmZXRjaEhpbnRzOmVbNF0/PzB9fWFzeW5jIGZ1bmN0aW9uIGVoKGUsdCl7bGV0IHI9dC5wYXRobmFtZSxuPXQuc2VhcmNoLGE9dC5uZXh0VXJsLGw9e1tpLlJTQ19IRUFERVJdOiIxIixbaS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbaS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Ii9fdHJlZSJ9O251bGwhPT1hJiYobFtpLk5FWFRfVVJMXT1hKSxlUChsKTt0cnl7bGV0IHQscyxkPW5ldyBVUkwocituLGxvY2F0aW9uLm9yaWdpbik7aWYodD1hd2FpdCBlUihkLGwpLHM9bnVsbCE9PXQmJnQucmVkaXJlY3RlZD9uZXcgVVJMKHQudXJsKTpkLCF0fHwhdC5va3x8MjA0PT09dC5zdGF0dXN8fCF0LmJvZHkpcmV0dXJuIGVvKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IF89KDAsZi5jcmVhdGVIcmVmRnJvbVVybCkocyksdj10LmhlYWRlcnMuZ2V0KCJ2YXJ5IiksQT1udWxsIT09diYmdi5pbmNsdWRlcyhpLk5FWFRfVVJMKSx3PSgwLEUuY3JlYXRlUHJvbWlzZVdpdGhSZXNvbHZlcnMpKCksQz0iMiI9PT10LmhlYWRlcnMuZ2V0KGkuTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSKTtpZihDKXtsZXQgbix1LHtzdHJlYW06aSxzaXplOnN9PWF3YWl0IGVFKHQuYm9keSk7dy5yZXNvbHZlKCksKDAscC5zZXRTaXplSW5DYWNoZU1hcCkoZSxzKTtsZXQgZj1hd2FpdCAoMCxvLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKGksbCx7YWxsb3dQYXJ0aWFsU3RyZWFtOiEwfSk7aWYoKHQuaGVhZGVycy5nZXQoTy5ORVhUX05BVl9ERVBMT1lNRU5UX0lEX0hFQURFUik/P2YuYnVpbGRJZCkhPT0oMCxULmdldE5hdmlnYXRpb25CdWlsZElkKSgpKXJldHVybiBlbyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBkPSgwLGguZ2V0UmVuZGVyZWRQYXRobmFtZSkodCksZz0oMCxoLmdldFJlbmRlcmVkU2VhcmNoKSh0KSx2PXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KG49ZC5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLHU9eS5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxpLG8pe2xldCBzLGYsZD1udWxsLHA9dC5zbG90cztpZihudWxsIT09cClmb3IobGV0IHQgaW4gcz0hMSxmPSgwLGMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxkPXt9LHApe2xldCByLHMsZixnPXBbdF0sXz1nLm5hbWUsdj1nLnBhcmFtO2lmKG51bGwhPT12KXtsZXQgZT0oMCxoLnBhcnNlRHluYW1pY1BhcmFtRnJvbVVSTFBhcnQpKHYudHlwZSxsLHUpLHQ9bnVsbCE9PXYua2V5P3Yua2V5OigwLGguZ2V0Q2FjaGVLZXlGb3JEeW5hbWljUGFyYW0pKGUsIiIpO2Y9KDAsYy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobix0LF8pLHM9W18sdCx2LnR5cGUsdi5zaWJsaW5nc10scj0hMH1lbHNlIGY9bixzPV8scj0oMCxoLmRvZXNTdGF0aWNTZWdtZW50QXBwZWFySW5VUkwpKF8pO2xldCBtPXI/dSsxOnUsUj0oMCx5LmNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydCkocyksRT0oMCx5LmFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydCkoYSx0LFIpO2RbdF09ZShnLHMsZixFLGwsbSxpLG8pfWVsc2UgYS5lbmRzV2l0aChtLlBBR0VfU0VHTUVOVF9LRVkpPyhzPSEwLGY9KDAsYy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkoYSxpLG4pLG51bGw9PT1vLm1ldGFkYXRhVmFyeVBhdGgmJihvLm1ldGFkYXRhVmFyeVBhdGg9KDAsYy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKGEsaSxuKSkpOihzPSExLGY9KDAsYy5maW5hbGl6ZUxheW91dFZhcnlQYXRoKShhLG4pKTtyZXR1cm57cmVxdWVzdEtleTphLHNlZ21lbnQ6cixyZWZyZXNoU3RhdGU6bnVsbCx2YXJ5UGF0aDpmLGlzUGFnZTpzLHNsb3RzOmQscHJlZmV0Y2hIaW50czp0LnByZWZldGNoSGludHN9fShmLnRyZWUsdSxudWxsLHkuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLG4sMCxnLHYpKSxFPXYubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09RSlyZXR1cm4gZW8oZSxEYXRlLm5vdygpKzFlNCksbnVsbDsoMCxQLmRpc2NvdmVyS25vd25Sb3V0ZSkoRGF0ZS5ub3coKSxyLGEsZSxSLEUsQSxfLEMsITEpfWVsc2V7bGV0e3N0cmVhbTpuLHNpemU6c309YXdhaXQgZUUodC5ib2R5KTt3LnJlc29sdmUoKSwoMCxwLnNldFNpemVJbkNhY2hlTWFwKShlLHMpO2xldCBjPWF3YWl0ICgwLG8uY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkobixsLHthbGxvd1BhcnRpYWxTdHJlYW06ITB9KTtpZigodC5oZWFkZXJzLmdldChPLk5FWFRfTkFWX0RFUExPWU1FTlRfSURfSEVBREVSKT8/Yy5iKSE9PSgwLFQuZ2V0TmF2aWdhdGlvbkJ1aWxkSWQpKCkpcmV0dXJuIGVvKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGY9Yy5oLGQ9bnVsbCE9PWY/KDAsdS5yZWFkVmFyeVBhcmFtcykoZik6bnVsbDshZnVuY3Rpb24oZSx0LHIsbixhLGwsdSxvLHMsYyxmKXtsZXQgZD0oMCxoLmdldFJlbmRlcmVkU2VhcmNoKShyKSxwPSgwLGcubm9ybWFsaXplRmxpZ2h0RGF0YSkobi5mKTtpZigic3RyaW5nIj09dHlwZW9mIHB8fDEhPT1wLmxlbmd0aClyZXR1cm4gZW8oYSxlKzFlNCk7bGV0IHk9cFswXTtpZigheS5pc1Jvb3RSZW5kZXIpcmV0dXJuIGVvKGEsZSsxZTQpO2xldCBfPXkudHJlZSx2PSIxIj09PXIuaGVhZGVycy5nZXQoaS5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpLG09e21ldGFkYXRhVmFyeVBhdGg6bnVsbH0sUj1lYyhfLGQsbSksRT1tLm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PUUpcmV0dXJuIGVvKGEsZSsxZTQpOygwLFAuZGlzY292ZXJLbm93blJvdXRlKShlLGMsZixhLFIsRSxsLHUsbywhMSk7bGV0IFQ9KDAsYi5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLF8scCxkLFMuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUpO2V2KGUsdCxwLHIuaGVhZGVycy5nZXQoTy5ORVhUX05BVl9ERVBMT1lNRU5UX0lEX0hFQURFUik/P24uYix2LHMsZWIoZSxyKSxULG51bGwpfShEYXRlLm5vdygpLFIuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnksdCxjLGUsQSxfLEMsZCxyLGEpfWlmKCFBKXtsZXQgdD0oMCxjLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKHIsbixhLEEpOygwLHAuc2V0SW5DYWNoZU1hcCkoTix0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDp3LnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBlbyhlLERhdGUubm93KCkrMWU0KSxudWxsfX1hc3luYyBmdW5jdGlvbiBlcChlLHQscixuKXtsZXQgYT1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbiksbD1yLm5leHRVcmwsdT1uLnJlcXVlc3RLZXkscz11PT09eS5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVk/Ii9faW5kZXgiOnUsZj17W2kuUlNDX0hFQURFUl06IjEiLFtpLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtpLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXTpzfTtudWxsIT09bCYmKGZbaS5ORVhUX1VSTF09bCksZVAoZik7dHJ5e2xldCBlPWF3YWl0IGVSKGEsZik7aWYoIWV8fCFlLm9rfHwyMDQ9PT1lLnN0YXR1c3x8IjIiIT09ZS5oZWFkZXJzLmdldChpLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUil8fCFlLmJvZHkpcmV0dXJuIGVzKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IHI9KDAsRS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSx7c3RyZWFtOmwsc2l6ZTp1fT1hd2FpdCBlRShlLmJvZHkpO3IucmVzb2x2ZSgpLCgwLHAuc2V0U2l6ZUluQ2FjaGVNYXApKHQsdSk7bGV0IHM9YXdhaXQgKDAsby5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLGYse2FsbG93UGFydGlhbFN0cmVhbTohMH0pO2lmKChlLmhlYWRlcnMuZ2V0KE8uTkVYVF9OQVZfREVQTE9ZTUVOVF9JRF9IRUFERVIpPz9zLmJ1aWxkSWQpIT09KDAsVC5nZXROYXZpZ2F0aW9uQnVpbGRJZCkoKSlyZXR1cm4gZXModCxEYXRlLm5vdygpKzFlNCksbnVsbDtsZXQgZD1EYXRlLm5vdygpLGg9ZCtBKHMuc3RhbGVUaW1lKSx5PWVpKHQscy5yc2MsaCxzLmlzUGFydGlhbCk7cy52YXJ5UGFyYW1zO2xldCBnPSgwLGMuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkodC5mZXRjaFN0cmF0ZWd5LG4pO3JldHVybiBRKGQsZyx5KSx7dmFsdWU6eSxjbG9zZWQ6ci5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gZXModCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gZXkoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9dC5uZXh0VXJsLHU9e1tpLlJTQ19IRUFERVJdOiIxIixbaS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbaS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Ii8iK20uUEFHRV9TRUdNRU5UX0tFWX07bnVsbCE9PWwmJih1W2kuTkVYVF9VUkxdPWwpLGVQKHUpO3RyeXtsZXQgdD1hd2FpdCBlUihhLHUpO2lmKCF0fHwhdC5va3x8MjA0PT09dC5zdGF0dXN8fCIyIiE9PXQuaGVhZGVycy5nZXQoaS5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhdC5ib2R5KXJldHVybiBlXyhuLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBsPSgwLEUuY3JlYXRlUHJvbWlzZVdpdGhSZXNvbHZlcnMpKCkse3N0cmVhbTpzfT1hd2FpdCBlRSh0LmJvZHkpO2wucmVzb2x2ZSgpO2xldCBjPWF3YWl0ICgwLG8uY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkocyx1LHthbGxvd1BhcnRpYWxTdHJlYW06ITB9KTtpZigodC5oZWFkZXJzLmdldChPLk5FWFRfTkFWX0RFUExPWU1FTlRfSURfSEVBREVSKT8/Yy50cmVlLnNlZ21lbnQuYnVpbGRJZCkhPT0oMCxULmdldE5hdmlnYXRpb25CdWlsZElkKSgpKXJldHVybiBlXyhuLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBmPURhdGUubm93KCk7IWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT1hLnNlZ21lbnQsaT10K0EodS5zdGFsZVRpbWUpLG89bC5nZXQobi5yZXF1ZXN0S2V5KTtpZih2b2lkIDAhPT1vKWVpKG8sdS5yc2MsaSx1LmlzUGFydGlhbCk7ZWxzZXtsZXQgZT1ZKHQsUi5GZXRjaFN0cmF0ZWd5LlBQUixuKTswPT09ZS5zdGF0dXMmJmVpKFooZSxSLkZldGNoU3RyYXRlZ3kuUFBSKSx1LnJzYyxpLHUuaXNQYXJ0aWFsKX1pZihudWxsIT09bi5zbG90cyYmbnVsbCE9PWEuc2xvdHMpZm9yKGxldCB1IGluIG4uc2xvdHMpe2xldCBpPW4uc2xvdHNbdV0sbz1hLnNsb3RzW3VdO3ZvaWQgMCE9PW8mJmUodCxyLGksbyxsKX19KGYsZSxyLGMudHJlZSxuKTtsZXQgZD1mK0EoYy5oZWFkLnN0YWxlVGltZSksaD1lLm1ldGFkYXRhLnJlcXVlc3RLZXkscD1uLmdldChoKTtpZih2b2lkIDAhPT1wKWVpKHAsYy5oZWFkLnJzYyxkLGMuaGVhZC5pc1BhcnRpYWwpO2Vsc2V7bGV0IHQ9WShmLFIuRmV0Y2hTdHJhdGVneS5QUFIsZS5tZXRhZGF0YSk7MD09PXQuc3RhdHVzJiZlaShaKHQsUi5GZXRjaFN0cmF0ZWd5LlBQUiksYy5oZWFkLnJzYyxkLGMuaGVhZC5pc1BhcnRpYWwpfXJldHVybiBlXyhuLERhdGUubm93KCkrMWU0KSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gZV8obixEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gZWcoZSx0LHIsbixhKXtsZXQgbD1lLmtleSxzPW5ldyBVUkwodC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxjPWwubmV4dFVybDsxPT09YS5zaXplJiZhLmhhcyh0Lm1ldGFkYXRhLnJlcXVlc3RLZXkpJiYobj1DKTtsZXQgZj17W2kuUlNDX0hFQURFUl06IjEiLFtpLk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXTooMCxnLnByZXBhcmVGbGlnaHRSb3V0ZXJTdGF0ZUZvclJlcXVlc3QpKG4pfTtzd2l0Y2gobnVsbCE9PWMmJihmW2kuTkVYVF9VUkxdPWMpLHIpe2Nhc2UgUi5GZXRjaFN0cmF0ZWd5LkZ1bGw6YnJlYWs7Y2FzZSBSLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZTpmW2kuTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXT0iMiI7YnJlYWs7Y2FzZSBSLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OmZbaS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIxIn10cnl7bGV0IGUsbD1hd2FpdCBlUihzLGYpO2lmKCFsfHwhbC5va3x8IWwuYm9keSlyZXR1cm4gZV8oYSxEYXRlLm5vdygpKzFlNCksbnVsbDtsZXQgaT0oMCxoLmdldFJlbmRlcmVkU2VhcmNoKShsKTtpZihpIT09dC5yZW5kZXJlZFNlYXJjaClyZXR1cm4gZV8oYSxEYXRlLm5vdygpKzFlNCksbnVsbDtsZXQgYz0oMCxFLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHY9bnVsbCxtPW51bGw7aWYocj09PVIuRmV0Y2hTdHJhdGVneS5GdWxsKXt2YXIgZCx5LF87bGV0IHQscjtkPWwuYm9keSx5PWMucmVzb2x2ZSxfPWZ1bmN0aW9uKGUpe2lmKG51bGw9PT12KXJldHVybjtsZXQgdD1lL3YubGVuZ3RoO2ZvcihsZXQgZSBvZiB2KSgwLHAuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9LHQ9MCxyPWQuZ2V0UmVhZGVyKCksZT1uZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpuLHZhbHVlOmF9PWF3YWl0IHIucmVhZCgpO2lmKCFuKXtlLmVucXVldWUoYSksXyh0Kz1hLmJ5dGVMZW5ndGgpO2NvbnRpbnVlfWUuY2xvc2UoKSx5KCk7cmV0dXJufX19KX1lbHNle2xldHtzdHJlYW06dCxzaXplOnJ9PWF3YWl0IGVFKGwuYm9keSk7Yy5yZXNvbHZlKCksZT10LG09cn1sZXRbUCxUXT1hd2FpdCBQcm9taXNlLmFsbChbKDAsby5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShlLGYse2FsbG93UGFydGlhbFN0cmVhbTohMH0pLGwuY2FjaGVEYXRhXSksQT1QLmgsdz1udWxsIT09QT8oMCx1LnJlYWRWYXJ5UGFyYW1zKShBKTpudWxsLEM9RGF0ZS5ub3coKSxOPWF3YWl0IGVUKEMsUC5zLGwpLEk9cj09PVIuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lJiYoVD8uaXNSZXNwb25zZVBhcnRpYWw/PyExKSxNPWwuaGVhZGVycy5nZXQoTy5ORVhUX05BVl9ERVBMT1lNRU5UX0lEX0hFQURFUik/P1AuYixEPSgwLGcubm9ybWFsaXplRmxpZ2h0RGF0YSkoUC5mKTtpZigic3RyaW5nIj09dHlwZW9mIEQpcmV0dXJuIGVfKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGo9KDAsYi5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShDLG4sRCxpLFMuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUpO2lmKHY9ZXYoQyxyLEQsTSxJLHcsTixqLGEpLG51bGwhPT1tJiZudWxsIT09diYmdi5sZW5ndGg+MCl7bGV0IGU9bS92Lmxlbmd0aDtmb3IobGV0IHQgb2YgdikoMCxwLnNldFNpemVJbkNhY2hlTWFwKSh0LGUpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpjLnByb21pc2V9fWNhdGNoKGUpe3JldHVybiBlXyhhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBlXyhlLHQpe2xldCByPVtdO2ZvcihsZXQgbiBvZiBlLnZhbHVlcygpKTE9PT1uLnN0YXR1cz9lcyhuLHQpOjI9PT1uLnN0YXR1cyYmci5wdXNoKG4pO3JldHVybiByfWZ1bmN0aW9uIGV2KGUsdCxyLG4sYSxsLGksbyxzKXtpZihuJiZuIT09KDAsVC5nZXROYXZpZ2F0aW9uQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PXMmJmVfKHMsZSsxZTQpLG51bGw7bGV0IGM9by5yb3V0ZVRyZWUsZj1udWxsIT09by5tZXRhZGF0YVZhcnlQYXRoP2VuKG8ubWV0YWRhdGFWYXJ5UGF0aCk6bnVsbDtmb3IobGV0IG4gb2Ygcil7bGV0IHI9bi5zZWVkRGF0YTtpZihudWxsIT09cil7bGV0IGw9bi5zZWdtZW50UGF0aCxvPWM7Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kz0yKXtsZXQgcj1sW3RdO2lmKG8/LnNsb3RzPy5bcl09PT12b2lkIDApcmV0dXJuIG51bGwhPT1zJiZlXyhzLGUrMWU0KSxudWxsO289by5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsaSxvKXtsZXQgcz1sWzBdLGM9bFs0XTtlbSh0LHIscyxudWxsPT09c3x8aSxhLG51bGwhPT1jPygwLHUucmVhZFZhcnlQYXJhbXMpKGMpOm51bGwsbixvKTtsZXQgZj1uLnNsb3RzO2lmKG51bGwhPT1mKXtsZXQgbj1sWzFdO2ZvcihsZXQgbCBpbiBmKXtsZXQgdT1mW2xdLHM9bltsXTtudWxsIT1zJiZlKHQscix1LGEscyxpLG8pfX19KGUsdCxvLGkscixhLHMpfWxldCBvPW4uaGVhZDtudWxsIT09byYmbnVsbCE9PWYmJmVtKGUsdCxvLG4uaXNIZWFkUGFydGlhbCxpLGwsZixzKX1yZXR1cm4gbnVsbCE9PXM/ZV8ocyxlKzFlNCk6bnVsbH1mdW5jdGlvbiBlbShlLHQscixuLGEsbCx1LGkpe2xldCBvPW51bGwhPT1pP2kuZ2V0KHUucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PW8pZWkobyxyLGEsbik7ZWxzZXtsZXQgbD1ZKGUsdCx1KTtpZigwPT09bC5zdGF0dXMpZWkoWihsLHQpLHIsYSxuKTtlbHNle2xldCBsPWVpKFooSihlKSx0KSxyLGEsbik7UShlLCgwLGMuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkodCx1KSxsKX19fWFzeW5jIGZ1bmN0aW9uIGVSKGUsdCl7bGV0IHI9YXdhaXQgKDAsby5jcmVhdGVGZXRjaCkoZSx0LCJsb3ciLCExKTtpZighci5vaylyZXR1cm4gbnVsbDt7bGV0IGU9ci5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIik7aWYoIShlJiZlLnN0YXJ0c1dpdGgoaS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpKXJldHVybiBudWxsfXJldHVybiByfWFzeW5jIGZ1bmN0aW9uIGVFKGUpe2xldCB0LHI9ZS5nZXRSZWFkZXIoKSxuPVtdLGE9MDtmb3IoOzspe2xldHtkb25lOmUsdmFsdWU6dH09YXdhaXQgci5yZWFkKCk7aWYoZSlicmVhaztuLnB1c2godCksYSs9dC5ieXRlTGVuZ3RofWlmKDE9PT1uLmxlbmd0aCl0PW5bMF07ZWxzZSBpZihuLmxlbmd0aD4xKXt0PW5ldyBVaW50OEFycmF5KGEpO2xldCBlPTA7Zm9yKGxldCByIG9mIG4pdC5zZXQocixlKSxlKz1yLmJ5dGVMZW5ndGh9ZWxzZSB0PW5ldyBVaW50OEFycmF5KDApO3JldHVybntzdHJlYW06bmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydChlKXtlLmVucXVldWUodCksZS5jbG9zZSgpfX0pLHNpemU6YX19ZnVuY3Rpb24gZVMoZSx0KXtyZXR1cm4gZTx0fWZ1bmN0aW9uIGVQKGUpe31mdW5jdGlvbiBlYihlLHQpe2xldCByPXBhcnNlSW50KHQuaGVhZGVycy5nZXQoaS5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKTtyZXR1cm4gZSsoaXNOYU4ocik/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOkEocikpfWFzeW5jIGZ1bmN0aW9uIGVUKGUsdCxyKXtpZih2b2lkIDAhPT10KXtsZXQgcjtmb3IgYXdhaXQobGV0IGUgb2YgdClyPWU7aWYodm9pZCAwIT09cilyZXR1cm4gZSsoaXNOYU4ocik/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOkEocikpfXJldHVybiB2b2lkIDAhPT1yP2ViKGUscik6ZStfLlNUQVRJQ19TVEFMRVRJTUVfTVN9ZnVuY3Rpb24gZU8oZSx0LHIsbixhLGwsaSxvKXtsZXQgcz1vP1IuRmV0Y2hTdHJhdGVneS5QUFI6Ui5GZXRjaFN0cmF0ZWd5LkZ1bGwsYz1udWxsIT09bj8oMCx1LnJlYWRWYXJ5UGFyYW1zKShuKTpudWxsLGY9KDAsZy5ub3JtYWxpemVGbGlnaHREYXRhKSh0KTtpZigic3RyaW5nIj09dHlwZW9mIGYpcmV0dXJuO2xldCBkPSgwLGIuY29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZSkoZSxsLGYsaSxTLlVua25vd25EeW5hbWljU3RhbGVUaW1lKTtldihlLHMsZixyLG8sYyxhLGQsbnVsbCl9YXN5bmMgZnVuY3Rpb24gZUEoZSx0LHIsbil7bGV0e3N0cmVhbTphLGlzUGFydGlhbDpsfT1hd2FpdCBldyh0KSxpPWF3YWl0ICgwLG8uY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYSx2b2lkIDAse2FsbG93UGFydGlhbFN0cmVhbTohMH0pLHM9aS5oLGM9bnVsbCE9PXM/KDAsdS5yZWFkVmFyeVBhcmFtcykocyk6bnVsbCxmPWF3YWl0IGVUKGUsaS5zKSxkPSgwLGcubm9ybWFsaXplRmxpZ2h0RGF0YSkoaS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGQpcmV0dXJuIG51bGw7bGV0IGg9KDAsYi5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLHIsZCxuLFMuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUpO3JldHVybntmbGlnaHREYXRhczpkLG5hdmlnYXRpb25TZWVkOmgsYnVpbGRJZDppLmIsaXNSZXNwb25zZVBhcnRpYWw6bCxoZWFkVmFyeVBhcmFtczpjLHN0YWxlQXQ6Zn19YXN5bmMgZnVuY3Rpb24gZXcoZSl7bGV0IHQ9ZS5nZXRSZWFkZXIoKSx7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IHQucmVhZCgpO2lmKHJ8fCFufHwwPT09bi5ieXRlTGVuZ3RoKXJldHVybntzdHJlYW06bmV3IFJlYWRhYmxlU3RyZWFtKHtzdGFydDplPT5lLmNsb3NlKCl9KSxpc1BhcnRpYWw6ITF9O2xldCBhPW5bMF0sbD0zNT09PWF8fDEyNj09PWEsdT1sP24uYnl0ZUxlbmd0aD4xP24uc3ViYXJyYXkoMSk6bnVsbDpuO3JldHVybntpc1BhcnRpYWw6ISFsJiYxMjY9PT1hLHN0cmVhbTpuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGUpe3UmJmUuZW5xdWV1ZSh1KX0sYXN5bmMgcHVsbChlKXtsZXQgcj1hd2FpdCB0LnJlYWQoKTtyLmRvbmU/ZS5jbG9zZSgpOmUuZW5xdWV1ZShyLnZhbHVlKX19KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODcyODgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGE9e2NyZWF0ZUZldGNoOmZ1bmN0aW9uKCl7cmV0dXJuIFR9LGNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW06ZnVuY3Rpb24oKXtyZXR1cm4gT30sZGVjb2RlU3RhdGljU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZmV0Y2hTZXJ2ZXJSZXNwb25zZTpmdW5jdGlvbigpe3JldHVybiBFfSxwcm9jZXNzRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gU30scmVzb2x2ZVN0YXRpY1N0YWdlRGF0YTpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigzNTMyNik7ZS5yKDEyNzE4KTtsZXQgaT1lLnIoMjE3NjgpLG89ZS5yKDMyMTIwKSxzPWUucig5MjI0NSksYz1lLnIoNTA1OTApLGY9ZS5yKDg4MDkzKSxkPWUucigzMzkwNiksaD1lLnIoNDMzNjkpLHA9ZS5yKDMyOTkyKSx5PWUucig2MzQxNik7ZS5yKDIwODk2KTtsZXQgZz1lLnIoNzkwMjcpLF89dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sdj11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBtKGUpe3JldHVybigwLGQudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgUj0hMTthc3luYyBmdW5jdGlvbiBFKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tpLlJTQ19IRUFERVJdOiIxIixbaS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsYy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbaS5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IFQoZSxhLCJhdXRvIiwhMCkscj0oMCxkLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhpLk5FWFRfVVJMKSxvPSEhdC5oZWFkZXJzLmdldChpLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoIWwuc3RhcnRzV2l0aChpLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKXx8IXQub2t8fCF0LmJvZHkpcmV0dXJuIGUuaGFzaCYmKHIuaGFzaD1lLmhhc2gpLG0oci50b1N0cmluZygpKTtsZXQgcz10LmZsaWdodFJlc3BvbnNlUHJvbWlzZTtudWxsPT09cyYmKHM9Tyh0LmJvZHksYSx7YWxsb3dQYXJ0aWFsU3RyZWFtOm99KSk7bGV0W2YsaF09YXdhaXQgUHJvbWlzZS5hbGwoW3MsdC5jYWNoZURhdGFdKTtpZigodC5oZWFkZXJzLmdldCh5Lk5FWFRfTkFWX0RFUExPWU1FTlRfSURfSEVBREVSKT8/Zi5iKSE9PSgwLHAuZ2V0TmF2aWdhdGlvbkJ1aWxkSWQpKCkpcmV0dXJuIG0odC51cmwpO2xldCBfPSgwLGMubm9ybWFsaXplRmxpZ2h0RGF0YSkoZi5mKTtpZigic3RyaW5nIj09dHlwZW9mIF8pcmV0dXJuIG0oXyk7bGV0IHY9bnVsbCE9PWg/YXdhaXQgUChoLGYsYSk6bnVsbDtyZXR1cm57ZmxpZ2h0RGF0YTpfLGNhbm9uaWNhbFVybDpuLHJlbmRlcmVkU2VhcmNoOmYucSxjb3VsZEJlSW50ZXJjZXB0ZWQ6dSxzdXBwb3J0c1BlclNlZ21lbnRQcmVmZXRjaGluZzpmLlMscG9zdHBvbmVkOm8sZHluYW1pY1N0YWxlVGltZTpmLmQ/P2cuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUsc3RhdGljU3RhZ2VEYXRhOnYscnVudGltZVByZWZldGNoU3RyZWFtOmYucD8/bnVsbCxyZXNwb25zZUhlYWRlcnM6dC5oZWFkZXJzLGRlYnVnSW5mbzpzLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBSfHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIFMoZSl7cmV0dXJue3Jlc3BvbnNlOmUsY2FjaGVEYXRhOm51bGx9fWFzeW5jIGZ1bmN0aW9uIFAoZSx0LHIpe2xldHtpc1Jlc3BvbnNlUGFydGlhbDpuLHJlc3BvbnNlQm9keUNsb25lOmF9PWU7aWYoYSl7aWYoIW4pcmV0dXJuIGEuY2FuY2VsKCkse3Jlc3BvbnNlOnQsaXNSZXNwb25zZVBhcnRpYWw6ITF9O2lmKHZvaWQgMCE9PXQubClyZXR1cm57cmVzcG9uc2U6YXdhaXQgYihhLHQubCxyKSxpc1Jlc3BvbnNlUGFydGlhbDohMH07YS5jYW5jZWwoKX1yZXR1cm4gbnVsbH1hc3luYyBmdW5jdGlvbiBiKGUsdCxyKXt2YXIgbixhO2xldCBsLHU7cmV0dXJuIE8oKG49ZSxhPWF3YWl0IHQsbD1uLmdldFJlYWRlcigpLHU9YSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7aWYodTw9MCl7bC5jYW5jZWwoKSxlLmNsb3NlKCk7cmV0dXJufWxldHtkb25lOnQsdmFsdWU6cn09YXdhaXQgbC5yZWFkKCk7dD9lLmNsb3NlKCk6ci5ieXRlTGVuZ3RoPD11PyhlLmVucXVldWUociksdS09ci5ieXRlTGVuZ3RoKTooZS5lbnF1ZXVlKHIuc3ViYXJyYXkoMCx1KSksdT0wLGwuY2FuY2VsKCksZS5jbG9zZSgpKX0sY2FuY2VsKCl7bC5jYW5jZWwoKX19KSkscix7YWxsb3dQYXJ0aWFsU3RyZWFtOiEwfSl9YXN5bmMgZnVuY3Rpb24gVChlLHQscixhLGwpe3ZhciB1LGM7bGV0IGQ9KDAsaC5nZXREZXBsb3ltZW50SWQpKCk7ZCYmKHRbIngtZGVwbG95bWVudC1pZCJdPWQpO2xldCBwPW5ldyBVUkwoZSk7KDAsZi5zZXRDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSkocCx0KTtsZXQgeT1mZXRjaChwLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iLGhlYWRlcnM6dCxwcmlvcml0eTpyfHx2b2lkIDAsc2lnbmFsOmx9KS50aGVuKFMpLGc9eS50aGVuKCh7cmVzcG9uc2U6ZX0pPT5lKSxfPWE/KHU9ZyxjPXQsdih1LHtjYWxsU2VydmVyOm8uY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOnMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbihjKX0pKTpudWxsLG09YXdhaXQgZyxSPW0ucmVkaXJlY3RlZCxFPW5ldyBVUkwobS51cmwscCk7cmV0dXJuIEUuc2VhcmNoUGFyYW1zLmRlbGV0ZShpLk5FWFRfUlNDX1VOSU9OX1FVRVJZKSx7dXJsOkUuaHJlZixyZWRpcmVjdGVkOlIsb2s6bS5vayxoZWFkZXJzOm0uaGVhZGVycyxib2R5Om0uYm9keSxzdGF0dXM6bS5zdGF0dXMsZmxpZ2h0UmVzcG9uc2VQcm9taXNlOl8sY2FjaGVEYXRhOnkudGhlbigoe2NhY2hlRGF0YTplfSk9PmUpfX1mdW5jdGlvbiBPKGUsdCxyKXtyZXR1cm4gXyhlLHtjYWxsU2VydmVyOm8uY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOnMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KSx1bnN0YWJsZV9hbGxvd1BhcnRpYWxTdHJlYW06cj8uYWxsb3dQYXJ0aWFsU3RyZWFtfSl9InUiPnR5cGVvZiB3aW5kb3cmJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCgpPT57Uj0hMH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsKCk9PntSPSExfSkpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDQ4OTE5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscil7bGV0IGE9dFswXSxsPXIuc2VnbWVudDtpZihBcnJheS5pc0FycmF5KGEpJiZBcnJheS5pc0FycmF5KGwpKXtpZihhWzBdIT09bFswXXx8YVsyXSE9PWxbMl0pcmV0dXJuITB9ZWxzZSBpZihhIT09bClyZXR1cm4hMDtsZXQgdT0oKHRbNF0/PzApJm4uUHJlZmV0Y2hIaW50LklzUm9vdExheW91dCkhPTAsaT0oci5wcmVmZXRjaEhpbnRzJm4uUHJlZmV0Y2hIaW50LklzUm9vdExheW91dCkhPTA7aWYodSlyZXR1cm4haTtpZihpKXJldHVybiEwO2xldCBvPXIuc2xvdHMscz10WzFdO2lmKG51bGwhPT1vKWZvcihsZXQgdCBpbiBvKXtsZXQgcj1vW3RdLG49c1t0XTtpZih2b2lkIDA9PT1ufHxlKG4scikpcmV0dXJuITB9cmV0dXJuITF9fX0pO2xldCBuPWUucigyMjc0NCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTQyNzIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldExhc3RDb21taXR0ZWRUcmVlOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHNldExhc3RDb21taXR0ZWRUcmVlOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9bnVsbDtmdW5jdGlvbiB1KCl7cmV0dXJuIGx9ZnVuY3Rpb24gaShlKXtsPWV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTU4NzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RnJlc2huZXNzUG9saWN5OmZ1bmN0aW9uKCl7cmV0dXJuIFN9LGNyZWF0ZUluaXRpYWxDYWNoZU5vZGVGb3JIeWRyYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gYn0saXNEZWZlcnJlZFJzYzpmdW5jdGlvbigpe3JldHVybiBrfSxzcGF3bkR5bmFtaWNSZXF1ZXN0czpmdW5jdGlvbigpe3JldHVybiBEfSxzdGFydFBQUk5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gVH19O2Zvcih2YXIgbCBpbiBhKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGwse2VudW1lcmFibGU6ITAsZ2V0OmFbbF19KTtsZXQgdT1lLnIoMjI3NDQpLGk9ZS5yKDEzMjU4KSxvPWUucig1NjAxOSkscz1lLnIoNTExOTEpLGM9ZS5yKDg3Mjg4KSxmPWUucig0MTUzOCksZD1lLnIoODg1NDApLGg9ZS5yKDQ4OTE5KSxwPWUucig5NDI3MikseT1lLnIoNjAzNTUpLGc9ZS5yKDIwODk2KSxfPWUucig5Mzk2KSx2PWUucig5NjE2NyksbT1lLnIoNjM0MTYpLFI9ZS5yKDU2NjU1KSxFPWUucig3OTAyNyk7dmFyIFM9KChuPXt9KVtuLkRlZmF1bHQ9MF09IkRlZmF1bHQiLG5bbi5IeWRyYXRpb249MV09Ikh5ZHJhdGlvbiIsbltuLkhpc3RvcnlUcmF2ZXJzYWw9Ml09Ikhpc3RvcnlUcmF2ZXJzYWwiLG5bbi5SZWZyZXNoQWxsPTNdPSJSZWZyZXNoQWxsIixuW24uSE1SUmVmcmVzaD00XT0iSE1SUmVmcmVzaCIsbltuLkdlc3R1cmU9NV09Ikdlc3R1cmUiLG4pO2xldCBQPSgpPT57fTtmdW5jdGlvbiBiKGUsdCxyLG4sYSl7cmV0dXJuIE8oZSx0LG51bGwsMSxyLG4sYSwhMSx7c2VwYXJhdGVSZWZyZXNoVXJsczpudWxsLHNjcm9sbFJlZjpudWxsfSl9ZnVuY3Rpb24gVChlLHQscixuLGEsbCxjLGYsZCxwLHksXyx2KXtsZXQgbT17Y2Fub25pY2FsVXJsOigwLHMuY3JlYXRlSHJlZkZyb21VcmwpKHQpLHJlbmRlcmVkU2VhcmNoOnJ9O3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGMsZixkLHAseSxfLHYsbSxSLEUpe3ZhciBTLFAsYjtsZXQgVCx3LE0sRCxqPWFbMF0sRj1BKGwpO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoRixqKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEY9PT1pLk5PVF9GT1VORF9TRUdNRU5UX0tFWT9udWxsOk8odCxsLHMsYyxkLHAseSx2LEUpO2xldCBVPWwuc2xvdHMsTD1hWzFdLGs9bnVsbCE9PWQ/ZFsxXTpudWxsLHg9Znx8KGwucHJlZmV0Y2hIaW50cyZ1LlByZWZldGNoSGludC5Jc1Jvb3RMYXlvdXQpIT0wLEg9ITE7c3dpdGNoKGMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOmNhc2UgNTpIPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6SD0hMH1sZXQgVj1udWxsPT09VTtpZih2b2lkIDA9PT1ufHxIfHxWJiZfKXtsZXQgZT1OKHQsbCxudWxsIT09ZD9kWzBdOm51bGwscyxwLGMseSk7TT1lLmNhY2hlTm9kZSxEPWUubmVlZHNEeW5hbWljUmVxdWVzdCx2b2lkIDAhPT1uJiYoTS5zY3JvbGxSZWY9bi5zY3JvbGxSZWYpfWVsc2V7Uz0hMSxNPUkoKFA9bikucnNjLFM/bnVsbDpQLnByZWZldGNoUnNjLFAuaGVhZCxTP251bGw6UC5wcmVmZXRjaEhlYWQsUC5zY3JvbGxSZWYpLEQ9ITF9bGV0IEI9bC5yZWZyZXNoU3RhdGUsJD1udWxsIT1CP0I6UjtEJiZudWxsIT09JCYmKGI9RSxUPSQuY2Fub25pY2FsVXJsLG51bGw9PT0odz1iLnNlcGFyYXRlUmVmcmVzaFVybHMpP2Iuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtUXSk6dy5hZGQoVCkpO2xldCBLPXt9LFg9bnVsbCxHPSExLHE9e30sWT1udWxsO2lmKG51bGwhPT1VKXtsZXQgYT12b2lkIDAhPT1uP24uc2xvdHM6bnVsbDtmb3IobGV0IG4gaW4gTS5zbG90cz1ZPXt9LFg9bmV3IE1hcCxVKXtsZXQgdT1VW25dLG89TFtuXTtpZih2b2lkIDA9PT1vKXJldHVybiBudWxsO2xldCBmPW51bGwhPT1rP2tbbl06bnVsbCxkPW9bMF0saD1BKHUpLFI9cDsyIT09YyYmaD09PWkuREVGQVVMVF9TRUdNRU5UX0tFWSYmZCE9PWkuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9QSh1PWZ1bmN0aW9uKGUsdCxyLG4pe2xldCBhLGwsdT1uWzJdO251bGwhPXU/KGE9dVswXSxsPXVbMV0pOihhPXIuY2Fub25pY2FsVXJsLGw9ci5yZW5kZXJlZFNlYXJjaCk7bGV0IGk9KDAsZy5jb252ZXJ0UmV1c2VkRmxpZ2h0Um91dGVyU3RhdGVUb1JvdXRlVHJlZSkoZSx0LG4sbCx7bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSk7cmV0dXJuIGkucmVmcmVzaFN0YXRlPXtjYW5vbmljYWxVcmw6YSxyZW5kZXJlZFNlYXJjaDpsfSxpfShsLG4sbSxvKSksZj1udWxsLFI9bnVsbCk7bGV0IFM9ZSh0LHIsbnVsbCE9PWE/YVtuXTp2b2lkIDAsbyx1LHMsYyx4LGY/P251bGwsUix5LF8sdnx8RCxtLCQsRSk7aWYobnVsbD09PVMpcmV0dXJuIG51bGw7WC5zZXQobixTKSxZW25dPVMubm9kZTtsZXQgUD1TLnJvdXRlO0tbbl09UDtsZXQgYj1TLmR5bmFtaWNSZXF1ZXN0VHJlZTtudWxsIT09Yj8oRz0hMCxxW25dPWIpOnFbbl09UH19bGV0IHo9W0EobCksSyxudWxsIT09JD9bJC5jYW5vbmljYWxVcmwsJC5yZW5kZXJlZFNlYXJjaF06bnVsbCxudWxsLGwucHJlZmV0Y2hIaW50c107cmV0dXJue3N0YXR1czorIUQscm91dGU6eixub2RlOk0sZHluYW1pY1JlcXVlc3RUcmVlOkMoeixxLEQsRyx2KSxyZWZyZXNoU3RhdGU6JCxjaGlsZHJlbjpYfX0oZSx0LG51bGwhPT1uP246dm9pZCAwLGEsbCxjLGYsITEsZCxwLHksXywhMSxtLG51bGwsdil9ZnVuY3Rpb24gTyhlLHQscixuLGEsbCx1LGksbyl7bGV0IHM9QSh0KSxjPXQuc2xvdHMsZj1udWxsIT09YT9hWzFdOm51bGwsZD1OKGUsdCxudWxsIT09YT9hWzBdOm51bGwscixsLG4sdSksaD1kLmNhY2hlTm9kZSxwPWQubmVlZHNEeW5hbWljUmVxdWVzdDtudWxsPT09YyYmZnVuY3Rpb24oZSx0LHIpe3N3aXRjaChlKXtjYXNlIDA6Y2FzZSA1OmNhc2UgMzpjYXNlIDQ6bnVsbD09PXIuc2Nyb2xsUmVmJiYoci5zY3JvbGxSZWY9e2N1cnJlbnQ6ITB9KSx0LnNjcm9sbFJlZj1yLnNjcm9sbFJlZn19KG4saCxvKTtsZXQgeT17fSxnPW51bGwsXz0hMSx2PXt9LG09bnVsbDtpZihudWxsIT09Yylmb3IobGV0IHQgaW4gaC5zbG90cz1tPXt9LGc9bmV3IE1hcCxjKXtsZXQgYT1PKGUsY1t0XSxyLG4sKG51bGwhPT1mP2ZbdF06bnVsbCk/P251bGwsbCx1LGl8fHAsbyk7Zy5zZXQodCxhKSxtW3RdPWEubm9kZTtsZXQgcz1hLnJvdXRlO3lbdF09cztsZXQgZD1hLmR5bmFtaWNSZXF1ZXN0VHJlZTtudWxsIT09ZD8oXz0hMCx2W3RdPWQpOnZbdF09c31sZXQgUj1bcyx5LG51bGwsbnVsbCx0LnByZWZldGNoSGludHNdO3JldHVybntzdGF0dXM6KyFwLHJvdXRlOlIsbm9kZTpoLGR5bmFtaWNSZXF1ZXN0VHJlZTpDKFIsdixwLF8saSkscmVmcmVzaFN0YXRlOm51bGwsY2hpbGRyZW46Z319ZnVuY3Rpb24gQShlKXtpZihlLmlzUGFnZSl7bGV0IHQ9KDAsUi5nZXRSZW5kZXJlZFNlYXJjaEZyb21WYXJ5UGF0aCkoZS52YXJ5UGF0aCk7aWYobnVsbD09PXQpcmV0dXJuIGkuUEFHRV9TRUdNRU5UX0tFWTtsZXQgcj1KU09OLnN0cmluZ2lmeShPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0KSkpO3JldHVybiJ7fSIhPT1yP2kuUEFHRV9TRUdNRU5UX0tFWSsiPyIrcjppLlBBR0VfU0VHTUVOVF9LRVl9cmV0dXJuIGUuc2VnbWVudH1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9W2VbMF0sdF07cmV0dXJuIDIgaW4gZSYmKHJbMl09ZVsyXSksMyBpbiBlJiYoclszXT1lWzNdKSw0IGluIGUmJihyWzRdPWVbNF0pLHJ9ZnVuY3Rpb24gQyhlLHQscixuLGEpe2xldCBsPW51bGw7cmV0dXJuIHI/KGw9dyhlLHQpLGF8fChsWzNdPSJyZWZldGNoIikpOmw9bj93KGUsdCk6bnVsbCxsfWZ1bmN0aW9uIE4oZSx0LHIsbixhLGwsdSl7bGV0IGksbyxzLGM9dC5pc1BhZ2U7c3dpdGNoKGwpe2Nhc2UgMDp7bGV0IHI9KDAsRS5yZWFkRnJvbUJGQ2FjaGVEdXJpbmdSZWd1bGFyTmF2aWdhdGlvbikoZSx0LnZhcnlQYXRoKTtpZihudWxsIT09cilyZXR1cm57Y2FjaGVOb2RlOkkoci5yc2Msci5wcmVmZXRjaFJzYyxyLmhlYWQsci5wcmVmZXRjaEhlYWQpLG5lZWRzRHluYW1pY1JlcXVlc3Q6ITF9O2JyZWFrfWNhc2UgMTp7bGV0IGw9Yz9hOm51bGw7cmV0dXJuKDAsRS53cml0ZVRvQkZDYWNoZSkoZSx0LnZhcnlQYXRoLHIsbnVsbCxsLG51bGwsdSksYyYmbnVsbCE9PW4mJigwLEUud3JpdGVIZWFkVG9CRkNhY2hlKShlLG4sbCxudWxsLHUpLHtjYWNoZU5vZGU6SShyLG51bGwsbCxudWxsKSxuZWVkc0R5bmFtaWNSZXF1ZXN0OiExfX1jYXNlIDI6bGV0IGY9KDAsRS5yZWFkRnJvbUJGQ2FjaGUpKHQudmFyeVBhdGgpO2lmKG51bGwhPT1mKXtsZXQgZT1mLnJzYyx0PSFrKGUpfHwicGVuZGluZyIhPT1lLnN0YXR1cztyZXR1cm57Y2FjaGVOb2RlOkkoZi5yc2MsdD9udWxsOmYucHJlZmV0Y2hSc2MsZi5oZWFkLHQ/bnVsbDpmLnByZWZldGNoSGVhZCksbmVlZHNEeW5hbWljUmVxdWVzdDohMX19fWxldCBkPW51bGwsaD0hMCxwPSgwLGcucmVhZFNlZ21lbnRDYWNoZUVudHJ5KShlLHQudmFyeVBhdGgpO2lmKG51bGwhPT1wKXN3aXRjaChwLnN0YXR1cyl7Y2FzZSBnLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDpkPXAucnNjLGg9cC5pc1BhcnRpYWw7YnJlYWs7Y2FzZSBnLkVudHJ5U3RhdHVzLlBlbmRpbmc6ZD0oMCxnLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkocCkudGhlbihlPT5udWxsIT09ZT9lLnJzYzpudWxsKSxoPXAuaXNQYXJ0aWFsO2Nhc2UgZy5FbnRyeVN0YXR1cy5FbXB0eTpjYXNlIGcuRW50cnlTdGF0dXMuUmVqZWN0ZWQ6fW51bGwhPT1yPyhoPyhpPWQsbz1yKTooaT1udWxsLG89ZCkscz0hMSk6KGg/KGk9ZCxvPXgoKSk6KGk9bnVsbCxvPWQpLHM9aCk7bGV0IHk9bnVsbCxfPW51bGwsdj1jO2lmKGMpe2xldCB0PW51bGwscj0hMDtpZihudWxsIT09bil7bGV0IGE9KDAsZy5yZWFkU2VnbWVudENhY2hlRW50cnkpKGUsbik7aWYobnVsbCE9PWEpc3dpdGNoKGEuc3RhdHVzKXtjYXNlIGcuRW50cnlTdGF0dXMuRnVsZmlsbGVkOnQ9YS5yc2Mscj1hLmlzUGFydGlhbDticmVhaztjYXNlIGcuRW50cnlTdGF0dXMuUGVuZGluZzp0PSgwLGcud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShhKS50aGVuKGU9Pm51bGwhPT1lP2UucnNjOm51bGwpLHI9YS5pc1BhcnRpYWw7Y2FzZSBnLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgZy5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fW51bGwhPT1hPyhyPyh5PXQsXz1hKTooeT1udWxsLF89dCksdj0hMSk6KHI/KHk9dCxfPXgoKSk6KHk9bnVsbCxfPXQpLHY9cil9cmV0dXJuIDUhPT1sJiYoKDAsRS53cml0ZVRvQkZDYWNoZSkoZSx0LnZhcnlQYXRoLG8saSxfLHksdSksYyYmbnVsbCE9PW4mJigwLEUud3JpdGVIZWFkVG9CRkNhY2hlKShlLG4sXyx5LHUpKSx7Y2FjaGVOb2RlOkkobyxpLF8seSksbmVlZHNEeW5hbWljUmVxdWVzdDpzfHx2fX1mdW5jdGlvbiBJKGUsdCxyLG4sYT1udWxsKXtyZXR1cm57cnNjOmUscHJlZmV0Y2hSc2M6dCxoZWFkOnIscHJlZmV0Y2hIZWFkOm4sc2xvdHM6bnVsbCxzY3JvbGxSZWY6YX19bGV0IE09ITE7ZnVuY3Rpb24gRChlLHQscixuLGEsbCx1KXtsZXQgaT1lLmR5bmFtaWNSZXF1ZXN0VHJlZTtpZihudWxsPT09aSl7TT0hMTtyZXR1cm59bGV0IG89VShlLGksdCxyLG4sbCksYz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsZj1udWxsO2lmKG51bGwhPT1jKXtmPVtdO2xldCBhPSgwLHMuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBjKXQhPT1hJiZudWxsIT09aSYmZi5wdXNoKFUoZSxpLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbixsKSl9aihlLHIsbyxmLGwsdSkudGhlbihQLFApfWFzeW5jIGZ1bmN0aW9uIGooZSx0LHIsbixhLGwpe3ZhciB1LGk7bGV0IG89YXdhaXQgKHU9cixpPW4sbmV3IFByb21pc2UoZT0+e2xldCB0PXQ9PnswPT09dC5leGl0U3RhdHVzPzA9PS0tbiYmZSgwKTplKHQuZXhpdFN0YXR1cyl9LHI9KCk9PmUoMiksbj0xO3UudGhlbih0LHIpLG51bGwhPT1pJiYobis9aS5sZW5ndGgsaS5mb3JFYWNoKGU9PmUudGhlbih0LHIpKSl9KSk7c3dpdGNoKDA9PT1vJiYobz1mdW5jdGlvbiBlKHQscixuKXt2YXIgYSxsLHU7bGV0IGksbyxzOzA9PT10LnN0YXR1cz8odC5zdGF0dXM9MixhPXQubm9kZSxsPXIsdT1uLGsobz1hLnJzYykmJihudWxsPT09bD9vLnJlc29sdmUobnVsbCx1KTpvLnJlamVjdChsLHUpKSxrKHM9YS5oZWFkKSYmcy5yZXNvbHZlKG51bGwsdSksaT1udWxsPT09dC5yZWZyZXNoU3RhdGU/MToyKTppPTA7bGV0IGM9dC5jaGlsZHJlbjtpZihudWxsIT09Yylmb3IobGV0Wyx0XW9mIGMpe2xldCBhPWUodCxyLG4pO2E+aSYmKGk9YSl9cmV0dXJuIGl9KGUsbnVsbCxudWxsKSksbyl7Y2FzZSAwOk09ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtGKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUsYSxsKTtyZXR1cm59Y2FzZSAyOntsZXQgbj1hd2FpdCByO0YoITAsbi51cmwsdCxuLnNlZWQsZS5yb3V0ZSxhLGwpO3JldHVybn1kZWZhdWx0OnJldHVybiBvfX1mdW5jdGlvbiBGKGUsdCxyLG4sYSxsLHUpe2lmKG51bGwhPT1sKSgwLGcubWFya1JvdXRlRW50cnlBc0R5bmFtaWNSZXdyaXRlKShsKTtlbHNlIGlmKG51bGwhPT1uKXtsZXQgZT1uLm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbCE9PWUpe2xldCBhPURhdGUubm93KCk7KDAsdi5kaXNjb3Zlcktub3duUm91dGUpKGEsdC5wYXRobmFtZSxyLG51bGwsbi5yb3V0ZVRyZWUsZSwhMSwoMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKSh0KSwhMSwhMCl9fSgwLGcuaW52YWxpZGF0ZVJvdXRlQ2FjaGVFbnRyaWVzKShyLGEpLGU9ZXx8TSxNPSEwO2xldCBpPSgwLHAuZ2V0TGFzdENvbW1pdHRlZFRyZWUpKCksbz1udWxsIT09aSYmYSE9PWk/dToicmVwbGFjZSIsYz17dHlwZTpkLkFDVElPTl9TRVJWRVJfUEFUQ0gscHJldmlvdXNUcmVlOmEsdXJsOnQsbmV4dFVybDpyLHNlZWQ6bixtcGE6ZSxuYXZpZ2F0ZVR5cGU6b307KDAsZi5kaXNwYXRjaEFwcFJvdXRlckFjdGlvbikoYyl9YXN5bmMgZnVuY3Rpb24gVShlLHQscixuLGEsbCl7dHJ5e2xldCB1PWF3YWl0ICgwLGMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiB1KXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwodSxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IGk9RGF0ZS5ub3coKSxzPSgwLHkuY29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZSkoaSxlLnJvdXRlLHUuZmxpZ2h0RGF0YSx1LnJlbmRlcmVkU2VhcmNoLHUuZHluYW1pY1N0YWxlVGltZSk7aWYobnVsbCE9PWwmJm51bGwhPT11LnN0YXRpY1N0YWdlRGF0YSl7bGV0e3Jlc3BvbnNlOmUsaXNSZXNwb25zZVBhcnRpYWw6cn09dS5zdGF0aWNTdGFnZURhdGE7KDAsZy5nZXRTdGFsZUF0KShpLGUucykudGhlbihuPT57bGV0IGE9dS5yZXNwb25zZUhlYWRlcnMuZ2V0KG0uTkVYVF9OQVZfREVQTE9ZTUVOVF9JRF9IRUFERVIpPz9lLmI7KDAsZy53cml0ZVN0YXRpY1N0YWdlUmVzcG9uc2VJbnRvQ2FjaGUpKGksZS5mLGEsZS5oLG4sdCx1LnJlbmRlcmVkU2VhcmNoLHIpfSkuY2F0Y2goKCk9Pnt9KX1udWxsIT09bCYmbnVsbCE9PXUucnVudGltZVByZWZldGNoU3RyZWFtJiYoMCxnLnByb2Nlc3NSdW50aW1lUHJlZmV0Y2hTdHJlYW0pKGksdS5ydW50aW1lUHJlZmV0Y2hTdHJlYW0sdCx1LnJlbmRlcmVkU2VhcmNoKS50aGVuKGU9PntudWxsIT09ZSYmKDAsZy53cml0ZUR5bmFtaWNSZW5kZXJSZXNwb25zZUludG9DYWNoZSkoaSxfLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSxlLmZsaWdodERhdGFzLGUuYnVpbGRJZCxlLmlzUmVzcG9uc2VQYXJ0aWFsLGUuaGVhZFZhcnlQYXJhbXMsZS5zdGFsZUF0LGUubmF2aWdhdGlvblNlZWQsbnVsbCl9KS5jYXRjaCgoKT0+e30pO2xldCBmPSgwLEUuY29tcHV0ZUR5bmFtaWNTdGFsZUF0KShpLHUuZHluYW1pY1N0YWxlVGltZSk7cmV0dXJue2V4aXRTdGF0dXM6KyEhZnVuY3Rpb24gZSh0LHIsbixhLGwsdSl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOmsoYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUuaGVhZDtrKHUpJiZ1LnJlc29sdmUocixuKX0odC5ub2RlLG4sYSx1KSwoMCxFLnVwZGF0ZUJGQ2FjaGVFbnRyeVN0YWxlQXQpKHIudmFyeVBhdGgsbCkpO2xldCBpPXQuY2hpbGRyZW4scz1yLnNsb3RzLGM9bnVsbCE9PW4/blsxXTpudWxsLGY9ITE7aWYobnVsbCE9PWkpaWYobnVsbCE9PXMpZm9yKGxldCB0IGluIHMpe2xldCByPXNbdF0sbj1udWxsIT09Yz9jW3RdOm51bGwsZD1pLmdldCh0KTtpZih2b2lkIDA9PT1kKWY9ITA7ZWxzZXtsZXQgdD1kLnJvdXRlWzBdLGk9QShyKTsoMCxvLm1hdGNoU2VnbWVudCkoaSx0KSYmbnVsbCE9biYmZShkLHIsbixhLGwsdSkmJihmPSEwKX19ZWxzZSBudWxsIT09cyYmKGY9ITApO3JldHVybiBmfShlLHMucm91dGVUcmVlLHMuZGF0YSxzLmhlYWQsZix1LmRlYnVnSW5mbyksdXJsOm5ldyBVUkwodS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnN9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEw9U3ltYm9sKCk7ZnVuY3Rpb24gayhlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUx9ZnVuY3Rpb24geCgpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9TCxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMzNzIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIi8iKT9lOmAvJHtlfWB9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJlbnN1cmVMZWFkaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw3NDE4MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29tcGFyZUFwcFBhdGhzOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZUFwcFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sbm9ybWFsaXplUnNjVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDMzNzIpLHU9ZS5yKDEzMjU4KTtmdW5jdGlvbiBpKGUpe3JldHVybigwLGwuZW5zdXJlTGVhZGluZ1NsYXNoKShlLnNwbGl0KCIvIikucmVkdWNlKChlLHQscixuKT0+IXR8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpfHwiQCI9PT10WzBdfHwoInBhZ2UiPT09dHx8InJvdXRlIj09PXQpJiZyPT09bi5sZW5ndGgtMT9lOmAke2V9LyR7dH1gLCIiKSl9ZnVuY3Rpb24gbyhlLHQpe2xldCByPWUuaW5jbHVkZXMoIi9AIiksbj10LmluY2x1ZGVzKCIvQCIpO3JldHVybiByJiYhbj8tMTohciYmbj8xOmUubG9jYWxlQ29tcGFyZSh0KX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDkxNDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBvfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NDE4MCksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gaShlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIG8oZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSwzNDcyNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29tcHV0ZUNoYW5nZWRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGV4dHJhY3RTb3VyY2VQYWdlRnJvbUZsaWdodFJvdXRlclN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGdldFNlbGVjdGVkUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyPXt9KXtmb3IobGV0IG4gb2YgT2JqZWN0LnZhbHVlcyh0WzFdKSl7bGV0IHQ9blswXSxhPUFycmF5LmlzQXJyYXkodCksbD1hP3RbMV06dDshbHx8bC5zdGFydHNXaXRoKHUuUEFHRV9TRUdNRU5UX0tFWSl8fChhJiYoImMiPT09dFsyXXx8Im9jIj09PXRbMl0pP3JbdFswXV09dFsxXS5zcGxpdCgiLyIpOmEmJihyW3RbMF1dPXRbMV0pLHI9ZShuLHIpKX1yZXR1cm4gcn19fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkxNDYzKSx1PWUucigxMzI1OCksaT1lLnIoNTYwMTkpLG89ZT0+Ii8iPT09ZVswXT9lLnNsaWNlKDEpOmUscz1lPT4ic3RyaW5nIj09dHlwZW9mIGU/ImNoaWxkcmVuIj09PWU/IiI6ZTplWzFdO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGUucmVkdWNlKChlLHQpPT4iIj09PSh0PW8odCkpfHwoMCx1LmlzR3JvdXBTZWdtZW50KSh0KT9lOmAke2V9LyR7dH1gLCIiKXx8Ii8ifWZ1bmN0aW9uIGYoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtzKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9mKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1mKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBkKGUpe2xldCB0PWZ1bmN0aW9uIGUodCl7bGV0IHI9KGU9PntpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuImNoaWxkcmVuIj09PWU/IiI6ZS5zdGFydHNXaXRoKHUuUEFHRV9TRUdNRU5UX0tFWSk/InBhZ2UiOmU7bGV0W3QsLHJdPWU7c3dpdGNoKHIpe2Nhc2UiYyI6cmV0dXJuYFsuLi4ke3R9XWA7Y2FzZSJjaSguLikoLi4pIjpyZXR1cm5gKC4uKSguLilbLi4uJHt0fV1gO2Nhc2UiY2koLikiOnJldHVybmAoLilbLi4uJHt0fV1gO2Nhc2UiY2koLi4pIjpyZXR1cm5gKC4uKVsuLi4ke3R9XWA7Y2FzZSJjaSguLi4pIjpyZXR1cm5gKC4uLilbLi4uJHt0fV1gO2Nhc2Uib2MiOnJldHVybmBbWy4uLiR7dH1dXWA7Y2FzZSJkIjpkZWZhdWx0OnJldHVybmBbJHt0fV1gO2Nhc2UiZGkoLi4pKC4uKSI6cmV0dXJuYCguLikoLi4pWyR7dH1dYDtjYXNlImRpKC4pIjpyZXR1cm5gKC4pWyR7dH1dYDtjYXNlImRpKC4uKSI6cmV0dXJuYCguLilbJHt0fV1gO2Nhc2UiZGkoLi4uKSI6cmV0dXJuYCguLi4pWyR7dH1dYH19KSh0WzBdKTtpZihyPT09dS5ERUZBVUxUX1NFR01FTlRfS0VZKXJldHVybjtpZigicGFnZSI9PT1yKXJldHVybltyXTtsZXQgbj10WzFdPz97fSxhPW4uY2hpbGRyZW4/ZShuLmNoaWxkcmVuKTp2b2lkIDA7aWYodm9pZCAwIT09YSlyZXR1cm4iIj09PXI/YTpbbyhyKSwuLi5hXTtmb3IobGV0W3QsYV1vZiBPYmplY3QuZW50cmllcyhuKSl7aWYoImNoaWxkcmVuIj09PXQpY29udGludWU7bGV0IG49ZShhKTtpZih2b2lkIDAhPT1uKXJldHVybiIiPT09cj9uOltvKHIpLC4uLm5dfX0oZSk7cmV0dXJuIHQ/YC8ke3Quam9pbigiLyIpfWA6dm9pZCAwfWZ1bmN0aW9uIGgoZSx0KXtsZXQgcj1mdW5jdGlvbiBlKHQscil7bGV0W24sYV09dCxbdSxvXT1yLGM9cyhuKSxkPXModSk7aWYobC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PmMuc3RhcnRzV2l0aChlKXx8ZC5zdGFydHNXaXRoKGUpKSlyZXR1cm4iIjtpZighKDAsaS5tYXRjaFNlZ21lbnQpKG4sdSkpcmV0dXJuIGYocik/PyIiO2ZvcihsZXQgdCBpbiBhKWlmKG9bdF0pe2xldCByPWUoYVt0XSxvW3RdKTtpZihudWxsIT09cilyZXR1cm5gJHtzKHUpfS8ke3J9YH1yZXR1cm4gbnVsbH0oZSx0KTtyZXR1cm4gbnVsbD09cnx8Ii8iPT09cj9yOmMoci5zcGxpdCgiLyIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0ODI3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNKYXZhU2NyaXB0VVJMU3RyaW5nIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj0vXltcdTAwMDAtXHUwMDFGIF0qaltcclxuXHRdKmFbXHJcblx0XSp2W1xyXG5cdF0qYVtcclxuXHRdKnNbXHJcblx0XSpjW1xyXG5cdF0qcltcclxuXHRdKmlbXHJcblx0XSpwW1xyXG5cdF0qdFtcclxuXHRdKjovaTtmdW5jdGlvbiBhKGUpe3JldHVybiBuLnRlc3QoIiIrZSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODE0MDAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzTmF2aWdhdGlvbkxvY2tlZDpmdW5jdGlvbigpe3JldHVybiBvfSxzdGFydExpc3RlbmluZ0Zvckluc3RhbnROYXZpZ2F0aW9uQ29va2llOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHRyYW5zaXRpb25Ub0NhcHR1cmVkU1BBOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHVwZGF0ZUNhcHR1cmVkU1BBVG9UcmVlOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRGb3JOYXZpZ2F0aW9uTG9ja0lmQWN0aXZlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7ZnVuY3Rpb24gbCgpe31mdW5jdGlvbiB1KGUsdCl7fWZ1bmN0aW9uIGkoZSx0KXt9ZnVuY3Rpb24gbygpe3JldHVybiExfWFzeW5jIGZ1bmN0aW9uIHMoKXt9ZS5yKDIxNzY4KSxlLnIoNDE1MzgpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwMzU1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjb21wbGV0ZUhhcmROYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFN9LGNvbXBsZXRlU29mdE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gUH0sY29tcGxldGVUcmF2ZXJzZU5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gYn0sY29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiBUfSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBffSxuYXZpZ2F0ZVRvS25vd25Sb3V0ZTpmdW5jdGlvbigpe3JldHVybiB2fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NzI4OCksdT1lLnIoOTU4NzEpLGk9ZS5yKDUxMTkxKSxvPWUucig2MzQxNikscz1lLnIoMjA4OTYpLGM9ZS5yKDk2MTY3KSxmPWUucig3NzA0OCk7ZS5yKDc3NzA5KTtsZXQgZD1lLnIoOTM5Nik7ZS5yKDkxOTQ5KTtsZXQgaD1lLnIoODg1NDApLHA9ZS5yKDM0NzI3KSx5PWUucig0ODI3NyksZz1lLnIoNzkwMjcpO2Z1bmN0aW9uIF8oZSx0LHIsbixhLGwsdSxpLG8sYyl7cmV0dXJuIGZ1bmN0aW9uKGUsdCxyLG4sYSxsLHUsaSxvLGMpe2xldCBkPURhdGUubm93KCksaD10LmhyZWYscD0oMCxmLmNyZWF0ZUNhY2hlS2V5KShoLHUpLHk9KDAscy5yZWFkUm91dGVDYWNoZUVudHJ5KShkLHApO2lmKG51bGwhPT15JiZ5LnN0YXR1cz09PXMuRW50cnlTdGF0dXMuRnVsZmlsbGVkKXJldHVybiBtKGQsZSx0LHIsbix1LGEsbCxpLG8sYyx5KTtpZihudWxsPT09eXx8eS5zdGF0dXMhPT1zLkVudHJ5U3RhdHVzLlJlamVjdGVkKXtsZXQgZj0oMCxzLmRlcHJlY2F0ZWRfcmVxdWVzdE9wdGltaXN0aWNSb3V0ZUNhY2hlRW50cnkpKGQsdCx1KTtpZihudWxsIT09ZilyZXR1cm4gbShkLGUsdCxyLG4sdSxhLGwsaSxvLGMsZil9cmV0dXJuIEUoZCxlLHQscixuLHUsYSxsLGksbyxjKS5jYXRjaCgoKT0+ZSl9KGUsdCxyLG4sYSxsLHUsaSxvLGMpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsaSxvLHMsYyxmLGQsaCxwLHkpe2xldCBnPXtzZXBhcmF0ZVJlZnJlc2hVcmxzOm51bGwsc2Nyb2xsUmVmOm51bGx9LF89ci5ocmVmPT09bC5ocmVmLHY9KDAsdS5zdGFydFBQUk5hdmlnYXRpb24pKGUsbCxpLG8scyxhLnJvdXRlVHJlZSxhLm1ldGFkYXRhVmFyeVBhdGgsYyxhLmRhdGEsYS5oZWFkLGEuZHluYW1pY1N0YWxlQXQsXyxnKTtyZXR1cm4gbnVsbCE9PXY/KGMhPT11LkZyZXNobmVzc1BvbGljeS5HZXN0dXJlJiYoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKSh2LHIsZixjLGcseSxoKSxQKHQscixmLHYucm91dGUsdi5ub2RlLGEucmVuZGVyZWRTZWFyY2gsbixoLGQsZy5zY3JvbGxSZWYscCkpOlModCxyLGgpfWZ1bmN0aW9uIG0oZSx0LHIsbixhLGwsdSxpLG8scyxjLGYpe2xldCBkPWYudHJlZSxoPWYuY2Fub25pY2FsVXJsK3IuaGFzaCxwPXtyZW5kZXJlZFNlYXJjaDpmLnJlbmRlcmVkU2VhcmNoLHJvdXRlVHJlZTpkLG1ldGFkYXRhVmFyeVBhdGg6Zi5tZXRhZGF0YS52YXJ5UGF0aCxkYXRhOm51bGwsaGVhZDpudWxsLGR5bmFtaWNTdGFsZUF0OigwLGcuY29tcHV0ZUR5bmFtaWNTdGFsZUF0KShlLGcuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUpfTtyZXR1cm4gdihlLHQscixoLHAsbixhLHUsaSxvLGwscyxjLG51bGwsZil9bGV0IFI9WyIiLHt9LG51bGwsInJlZmV0Y2giXTthc3luYyBmdW5jdGlvbiBFKGUsdCxyLG4sYSxmLGgscCx5LGcsXyl7bGV0IG07c3dpdGNoKHkpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6Y2FzZSB1LkZyZXNobmVzc1BvbGljeS5HZXN0dXJlOm09cDticmVhaztjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkh5ZHJhdGlvbjpjYXNlIHUuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGw6Y2FzZSB1LkZyZXNobmVzc1BvbGljeS5ITVJSZWZyZXNoOm09UjticmVhaztkZWZhdWx0Om09cH1sZXQgRT0oMCxsLmZldGNoU2VydmVyUmVzcG9uc2UpKHIse2ZsaWdodFJvdXRlclN0YXRlOm0sbmV4dFVybDpmfSksUD1hd2FpdCBFO2lmKCJzdHJpbmciPT10eXBlb2YgUClyZXR1cm4gUyh0LG5ldyBVUkwoUCxsb2NhdGlvbi5vcmlnaW4pLF8pO2xldHtmbGlnaHREYXRhOmIsY2Fub25pY2FsVXJsOk8scmVuZGVyZWRTZWFyY2g6QSxjb3VsZEJlSW50ZXJjZXB0ZWQ6dyxzdXBwb3J0c1BlclNlZ21lbnRQcmVmZXRjaGluZzpDLGR5bmFtaWNTdGFsZVRpbWU6TixzdGF0aWNTdGFnZURhdGE6SSxydW50aW1lUHJlZmV0Y2hTdHJlYW06TSxyZXNwb25zZUhlYWRlcnM6RCxkZWJ1Z0luZm86an09UCxGPVQoZSxwLGIsQSxOKSxVPUYubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsIT09VSl7aWYoKDAsYy5kaXNjb3Zlcktub3duUm91dGUpKGUsci5wYXRobmFtZSxmLG51bGwsRi5yb3V0ZVRyZWUsVSx3LCgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKE8pLEMsITEpLG51bGwhPT1JKXtsZXR7cmVzcG9uc2U6dCxpc1Jlc3BvbnNlUGFydGlhbDpyfT1JOygwLHMuZ2V0U3RhbGVBdCkoZSx0LnMpLnRoZW4obj0+e2xldCBhPUQuZ2V0KG8uTkVYVF9OQVZfREVQTE9ZTUVOVF9JRF9IRUFERVIpPz90LmI7KDAscy53cml0ZVN0YXRpY1N0YWdlUmVzcG9uc2VJbnRvQ2FjaGUpKGUsdC5mLGEsdC5oLG4scCxBLHIpfSkuY2F0Y2goKCk9Pnt9KX1udWxsIT09TSYmKDAscy5wcm9jZXNzUnVudGltZVByZWZldGNoU3RyZWFtKShlLE0scCxBKS50aGVuKHQ9PntudWxsIT09dCYmKDAscy53cml0ZUR5bmFtaWNSZW5kZXJSZXNwb25zZUludG9DYWNoZSkoZSxkLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSx0LmZsaWdodERhdGFzLHQuYnVpbGRJZCx0LmlzUmVzcG9uc2VQYXJ0aWFsLHQuaGVhZFZhcnlQYXJhbXMsdC5zdGFsZUF0LHQubmF2aWdhdGlvblNlZWQsbnVsbCl9KS5jYXRjaCgoKT0+e30pfXJldHVybiB2KGUsdCxyLCgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKE8pLEYsbixhLGgscCx5LGYsZyxfLGosbnVsbCl9ZnVuY3Rpb24gUyhlLHQscil7cmV0dXJuKDAseS5pc0phdmFTY3JpcHRVUkxTdHJpbmcpKHQuaHJlZik/KGNvbnNvbGUuZXJyb3IoIk5leHQuanMgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLiIpLGUpOntjYW5vbmljYWxVcmw6dC5vcmlnaW49PT1sb2NhdGlvbi5vcmlnaW4/KDAsaS5jcmVhdGVIcmVmRnJvbVVybCkodCk6dC5ocmVmLHB1c2hSZWY6e3BlbmRpbmdQdXNoOiJwdXNoIj09PXIsbXBhTmF2aWdhdGlvbjohMCxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMX0scmVuZGVyZWRTZWFyY2g6ZS5yZW5kZXJlZFNlYXJjaCxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOmUuY2FjaGUsdHJlZTplLnRyZWUsbmV4dFVybDplLm5leHRVcmwscHJldmlvdXNOZXh0VXJsOmUucHJldmlvdXNOZXh0VXJsLGRlYnVnSW5mbzpudWxsfX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHUsaSxvLHMsYyl7bGV0IGYsZCx5PSgwLHAuY29tcHV0ZUNoYW5nZWRQYXRoKShlLnRyZWUsbil8fGUubmV4dFVybCxnPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsdCksXz10LnBhdGhuYW1lPT09Zy5wYXRobmFtZSYmdC5zZWFyY2g9PT1nLnNlYXJjaCYmdC5oYXNoIT09Zy5oYXNoO2lmKG89PT1oLlNjcm9sbEJlaGF2aW9yLk5vU2Nyb2xsKW51bGwhPT1zJiYocy5jdXJyZW50PSExKSxmPWUuZm9jdXNBbmRTY3JvbGxSZWYuc2Nyb2xsUmVmLGQ9ITE7ZWxzZSBpZihfKXtsZXQgdD1lLmZvY3VzQW5kU2Nyb2xsUmVmLnNjcm9sbFJlZjtudWxsIT09dCYmKHQuY3VycmVudD0hMSksbnVsbCE9PXMmJihzLmN1cnJlbnQ9ITEpLGY9e2N1cnJlbnQ6ITB9LGQ9ITB9ZWxzZXtpZihmPXMsbnVsbCE9PXMpe2xldCB0PWUuZm9jdXNBbmRTY3JvbGxSZWYuc2Nyb2xsUmVmO251bGwhPT10JiYodC5jdXJyZW50PSExKX1kPSExfXJldHVybntjYW5vbmljYWxVcmw6dSxyZW5kZXJlZFNlYXJjaDpsLHB1c2hSZWY6e3BlbmRpbmdQdXNoOiJwdXNoIj09PWksbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMX0sZm9jdXNBbmRTY3JvbGxSZWY6e3Njcm9sbFJlZjpmLGZvcmNlU2Nyb2xsOmQsb25seUhhc2hDaGFuZ2U6XyxoYXNoRnJhZ21lbnQ6byE9PWguU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGwmJiIiIT09dC5oYXNoP2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2guc2xpY2UoMSkpOmUuZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50fSxjYWNoZTphLHRyZWU6bixuZXh0VXJsOnkscHJldmlvdXNOZXh0VXJsOnIsZGVidWdJbmZvOmN9fWZ1bmN0aW9uIGIoZSx0LHIsbixhLGwpe3JldHVybntjYW5vbmljYWxVcmw6KDAsaS5jcmVhdGVIcmVmRnJvbVVybCkodCkscmVuZGVyZWRTZWFyY2g6cixwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOm4sdHJlZTphLG5leHRVcmw6bCxwcmV2aW91c05leHRVcmw6bnVsbCxkZWJ1Z0luZm86bnVsbH19ZnVuY3Rpb24gVChlLHQscixuLGEpe2xldCBsPXQsdT1udWxsLGk9bnVsbDtpZihudWxsIT09cilmb3IobGV0e3NlZ21lbnRQYXRoOmUsdHJlZTp0LHNlZWREYXRhOmEsaGVhZDpvfW9mIHIpe2xldCByPWZ1bmN0aW9uIGUodCxyLG4sYSxsLHUsaSl7bGV0IG87aWYoaT09PWwubGVuZ3RoKXJldHVybnt0cmVlOm4sZGF0YTphfTtsZXQgcz1sW2ldLGM9dFsxXSxmPW51bGwhPT1yP3JbMV06bnVsbCxkPXt9LGg9e307Zm9yKGxldCB0IGluIGMpe2xldCByPWNbdF0sbz1udWxsIT09Zj9mW3RdPz9udWxsOm51bGw7aWYodD09PXMpe2xldCBzPWUocixvLG4sYSxsLHUsaSsyKTtkW3RdPXMudHJlZSxoW3RdPXMuZGF0YX1lbHNlIGRbdF09cixoW3RdPW99aWYobz1bdFswXSxkXSwyIGluIHQpe2xldCBlPXRbMl07bnVsbCE9ZSYmKG9bMl09W2VbMF0sdV0pfXJldHVybiAzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGgsbnVsbCwhMCxudWxsXX19KGwsdSx0LGEsZSxuLDApO2w9ci50cmVlLHU9ci5kYXRhLGk9b31sZXQgbz1sLGM9e21ldGFkYXRhVmFyeVBhdGg6bnVsbH07cmV0dXJue3JvdXRlVHJlZTooMCxzLmNvbnZlcnRSb290RmxpZ2h0Um91dGVyU3RhdGVUb1JvdXRlVHJlZSkobyxuLGMpLG1ldGFkYXRhVmFyeVBhdGg6Yy5tZXRhZGF0YVZhcnlQYXRoLGRhdGE6dSxyZW5kZXJlZFNlYXJjaDpuLGhlYWQ6aSxkeW5hbWljU3RhbGVBdDooMCxnLmNvbXB1dGVEeW5hbWljU3RhbGVBdCkoZSxhKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQwNjksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0RZTkFNSUNfU1RBTEVUSU1FX01TOmZ1bmN0aW9uKCl7cmV0dXJuIG99LFNUQVRJQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDYwMzU1KSx1PWUucigyMDg5NiksaT1lLnIoOTU4NzEpLG89MWUzKk51bWJlcigiMCIpLHM9KDAsdS5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gYyhlLHQpe2xldHt1cmw6cixpc0V4dGVybmFsVXJsOm4sbmF2aWdhdGVUeXBlOmEsc2Nyb2xsQmVoYXZpb3I6dX09dDtpZihufHxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4oMCxsLmNvbXBsZXRlSGFyZE5hdmlnYXRpb24pKGUscixhKTtsZXQgbz1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikscz1lLnJlbmRlcmVkU2VhcmNoO3JldHVybigwLGwubmF2aWdhdGUpKGUscixvLHMsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLGkuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxhKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw4NDM1NiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShbdCxyXSl7aWYoQXJyYXkuaXNBcnJheSh0KSYmKCJkaSguLikoLi4pIj09PXRbMl18fCJjaSguLikoLi4pIj09PXRbMl18fCJkaSguKSI9PT10WzJdfHwiY2koLikiPT09dFsyXXx8ImRpKC4uKSI9PT10WzJdfHwiY2koLi4pIj09PXRbMl18fCJkaSguLi4pIj09PXRbMl18fCJjaSguLi4pIj09PXRbMl0pfHwic3RyaW5nIj09dHlwZW9mIHQmJigwLG4uaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgpKHQpKXJldHVybiEwO2lmKHIpe2ZvcihsZXQgdCBpbiByKWlmKGUoclt0XSkpcmV0dXJuITB9cmV0dXJuITF9fX0pO2xldCBuPWUucig5MTQ2Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjk4NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e3JlZnJlc2hEeW5hbWljRGF0YTpmdW5jdGlvbigpe3JldHVybiBkfSxyZWZyZXNoUmVkdWNlcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4ODU0MCksdT1lLnIoNjAzNTUpLGk9ZS5yKDIwODk2KSxvPWUucig4NDM1Nikscz1lLnIoOTU4NzEpLGM9ZS5yKDc5MDI3KTtmdW5jdGlvbiBmKGUsdCl7e2xldCB0PWUubmV4dFVybCxyPWUudHJlZTsoMCxpLmludmFsaWRhdGVTZWdtZW50Q2FjaGVFbnRyaWVzKSh0LHIpfXJldHVybiBkKGUscy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbCl9ZnVuY3Rpb24gZChlLHQpeygwLGMuaW52YWxpZGF0ZUJmQ2FjaGUpKCk7bGV0IHI9ZS5uZXh0VXJsLG49KDAsby5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fHI6bnVsbCxhPWUuY2Fub25pY2FsVXJsLGk9bmV3IFVSTChhLGxvY2F0aW9uLm9yaWdpbikscz1lLnJlbmRlcmVkU2VhcmNoLGY9ZS50cmVlLGQ9bC5TY3JvbGxCZWhhdmlvci5Ob1Njcm9sbCxoPURhdGUubm93KCkscD0oMCx1LmNvbnZlcnRTZXJ2ZXJQYXRjaFRvRnVsbFRyZWUpKGgsZixudWxsLHMsYy5Vbmtub3duRHluYW1pY1N0YWxlVGltZSk7cmV0dXJuKDAsdS5uYXZpZ2F0ZVRvS25vd25Sb3V0ZSkoaCxlLGksYSxwLGkscyxlLmNhY2hlLGYsdCxuLGQsInJlcGxhY2UiLG51bGwsbnVsbCl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTE2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlclBhdGNoUmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49ZS5yKDUxMTkxKSxhPWUucig4ODU0MCksbD1lLnIoNjAzNTUpLHU9ZS5yKDY5ODQ1KSxpPWUucig5NTg3MSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByPXQubXBhLG89bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkLGM9dC5uYXZpZ2F0ZVR5cGU7aWYocnx8bnVsbD09PXMpcmV0dXJuKDAsbC5jb21wbGV0ZUhhcmROYXZpZ2F0aW9uKShlLG8sYyk7bGV0IGY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGQ9ZS5yZW5kZXJlZFNlYXJjaDtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlLHt0eXBlOmEuQUNUSU9OX1JFRlJFU0h9KTtsZXQgaD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShvKSxwPXQubmV4dFVybCx5PWEuU2Nyb2xsQmVoYXZpb3IuRGVmYXVsdCxnPURhdGUubm93KCk7cmV0dXJuKDAsbC5uYXZpZ2F0ZVRvS25vd25Sb3V0ZSkoZyxlLG8saCxzLGYsZCxlLmNhY2hlLGUudHJlZSxpLkZyZXNobmVzc1BvbGljeS5SZWZyZXNoQWxsLHAseSxjLG51bGwsbnVsbCl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM3OTAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlc3RvcmVSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1lLnIoMzQ3MjcpLGE9ZS5yKDk1ODcxKSxsPWUucig2MDM1NSksdT1lLnIoNzkwMjcpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcixpLG89dC5oaXN0b3J5U3RhdGU7bz8ocj1vLnRyZWUsaT1vLnJlbmRlcmVkU2VhcmNoKToocj1lLnRyZWUsaT1lLnJlbmRlcmVkU2VhcmNoKTtsZXQgcz1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbiksYz10LnVybCxmPSgwLG4uZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUpKHIpPz9jLnBhdGhuYW1lLGQ9RGF0ZS5ub3coKSxoPXtzZXBhcmF0ZVJlZnJlc2hVcmxzOm51bGwsc2Nyb2xsUmVmOm51bGx9LHA9KDAsbC5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShkLHIsbnVsbCxpLHUuVW5rbm93bkR5bmFtaWNTdGFsZVRpbWUpLHk9KDAsYS5zdGFydFBQUk5hdmlnYXRpb24pKGQscyxlLnJlbmRlcmVkU2VhcmNoLGUuY2FjaGUsZS50cmVlLHAucm91dGVUcmVlLHAubWV0YWRhdGFWYXJ5UGF0aCxhLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxwLmR5bmFtaWNTdGFsZUF0LCExLGgpO3JldHVybiBudWxsPT09eT8oMCxsLmNvbXBsZXRlSGFyZE5hdmlnYXRpb24pKGUsYywicmVwbGFjZSIpOigoMCxhLnNwYXduRHluYW1pY1JlcXVlc3RzKSh5LGMsZixhLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLGgsbnVsbCwicmVwbGFjZSIpLCgwLGwuY29tcGxldGVUcmF2ZXJzZU5hdmlnYXRpb24pKGUsYyxpLHkubm9kZSx5LnJvdXRlLGYpKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw4NjcyMCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaG1yUmVmcmVzaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig2OTg0NSksYT1lLnIoOTU4NzEpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuKDAsbi5yZWZyZXNoRHluYW1pY0RhdGEpKGUsYS5GcmVzaG5lc3NQb2xpY3kuSE1SUmVmcmVzaCl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMjc4MDEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFzc2lnbkxvY2F0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoNTU1MCk7ZnVuY3Rpb24gYShlLHQpe2lmKGUuc3RhcnRzV2l0aCgiLiIpKXtsZXQgcj10Lm9yaWdpbit0LnBhdGhuYW1lO3JldHVybiBuZXcgVVJMKChyLmVuZHNXaXRoKCIvIik/cjpyKyIvIikrZSl9cmV0dXJuIG5ldyBVUkwoKDAsbi5hZGRCYXNlUGF0aCkoZSksdC5ocmVmKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzOTU4NCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicGF0aEhhc1ByZWZpeCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDcyNDYzKTtmdW5jdGlvbiBhKGUsdCl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiExO2xldHtwYXRobmFtZTpyfT0oMCxuLnBhcnNlUGF0aCkoZSk7cmV0dXJuIHI9PT10fHxyLnN0YXJ0c1dpdGgodCsiLyIpfX0sNTI4MTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhc0Jhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoMzk1ODQpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuKDAsbi5wYXRoSGFzUHJlZml4KShlLCIiKX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw4NzI1MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGV9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJyZW1vdmVCYXNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUyODE3KSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzOTc0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sb21pdFVudXNlZEFyZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBsKGUpe2xldCB0PXBhcnNlSW50KGUuc2xpY2UoMCwyKSwxNikscj10Pj4xJjYzLG49QXJyYXkoNik7Zm9yKGxldCBlPTA7ZTw2O2UrKyl7bGV0IHQ9cj4+NS1lJjE7bltlXT0xPT09dH1yZXR1cm57dHlwZToxPT0odD4+NyYxKT8idXNlLWNhY2hlIjoic2VydmVyLWFjdGlvbiIsdXNlZEFyZ3M6bixoYXNSZXN0QXJnczoxPT0oMSZ0KX19ZnVuY3Rpb24gdShlLHQpe2xldCByPUFycmF5KGUubGVuZ3RoKSxuPTA7Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKyspKGE8NiYmdC51c2VkQXJnc1thXXx8YT49NiYmdC5oYXNSZXN0QXJncykmJihyW2FdPWVbYV0sbj1hKzEpO3JldHVybiByLmxlbmd0aD1uLHJ9fSwzOTE0NiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17QWN0aW9uRGlkTm90UmV2YWxpZGF0ZTpmdW5jdGlvbigpe3JldHVybiBsfSxBY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD0wLHU9MSxpPTJ9LDQ1Nzk0LChlLHQscik9PnsidXNlIHN0cmljdCI7bGV0IG47T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJBY3Rpb25SZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTX19KTtsZXQgYT1lLnIoMzIxMjApLGw9ZS5yKDkyMjQ1KSx1PWUucigyMTc2OCksaT1lLnIoOTI4MzgpLG89ZS5yKDM1MzI2KSxzPWUucig4ODU0MCksYz1lLnIoMjc4MDEpLGY9ZS5yKDUxMTkxKSxkPWUucig4NDM1NiksaD1lLnIoNTA1OTApLHA9ZS5yKDI0MDYzKSx5PWUucig4NzI1MCksZz1lLnIoNTI4MTcpLF89ZS5yKDM5NzQ3KSx2PWUucigyMDg5NiksbT1lLnIoNzc3MDkpLFI9ZS5yKDQzMzY5KSxFPWUucigzMjk5MiksUz1lLnIoNjM0MTYpLFA9ZS5yKDYwMzU1KSxiPWUucig5NjE2NyksVD1lLnIoMzkxNDYpLE89ZS5yKDU3NjMwKSxBPWUucig5NTg3MSksdz1lLnIoODcyODgpLEM9ZS5yKDc5MDI3KSxOPW8uY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIEkoZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCx5LGc9KDAsby5jcmVhdGVUZW1wb3JhcnlSZWZlcmVuY2VTZXQpKCksdj0oMCxfLmV4dHJhY3RJbmZvRnJvbVNlcnZlclJlZmVyZW5jZUlkKShyKSxtPSgwLF8ub21pdFVudXNlZEFyZ3MpKHMsdiksUD1hd2FpdCAoMCxvLmVuY29kZVJlcGx5KShtLHt0ZW1wb3JhcnlSZWZlcmVuY2VzOmd9KSxiPXtBY2NlcHQ6dS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUixbdS5BQ1RJT05fSEVBREVSXTpyLFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXTooMCxoLnByZXBhcmVGbGlnaHRSb3V0ZXJTdGF0ZUZvclJlcXVlc3QpKGUudHJlZSl9LE89KDAsUi5nZXREZXBsb3ltZW50SWQpKCk7TyYmKGJbIngtZGVwbG95bWVudC1pZCJdPU8pLHQmJihiW3UuTkVYVF9VUkxdPXQpO2xldCBBPWF3YWl0IGZldGNoKGUuY2Fub25pY2FsVXJsLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6Yixib2R5OlB9KTtpZigiMSI9PT1BLmhlYWRlcnMuZ2V0KHUuTkVYVF9BQ1RJT05fTk9UX0ZPVU5EX0hFQURFUikpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBpLlVucmVjb2duaXplZEFjdGlvbkVycm9yKGBTZXJ2ZXIgQWN0aW9uICIke3J9IiB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuIApSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ZhaWxlZC10by1maW5kLXNlcnZlci1hY3Rpb25gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcxNSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgQz1BLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZWRpcmVjdCIpLFtNLERdPUM/LnNwbGl0KCI7Iil8fFtdO3N3aXRjaChEKXtjYXNlInB1c2giOmY9InB1c2giO2JyZWFrO2Nhc2UicmVwbGFjZSI6Zj0icmVwbGFjZSI7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgaj0hIUEuaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLEY9VC5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1BLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1ULkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09VC5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYoRj10KX19Y2F0Y2h7fWxldCBVPU0/KDAsYy5hc3NpZ25Mb2NhdGlvbikoTSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEw9QS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksaz0hIShMJiZMLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFrJiYhVSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoQS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09TD9hd2FpdCBBLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCB4PSExO2lmKGspe2xldCBlPVU/KDAsdy5wcm9jZXNzRmV0Y2gpKEEpLnRoZW4oKHtyZXNwb25zZTplfSk9PmUpOlByb21pc2UucmVzb2x2ZShBKSx0PWF3YWl0IE4oZSx7Y2FsbFNlcnZlcjphLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpsLmZpbmRTb3VyY2VNYXBVUkwsdGVtcG9yYXJ5UmVmZXJlbmNlczpnLGRlYnVnQ2hhbm5lbDpuJiZuKGIpfSk7ZD1VP3ZvaWQgMDp0LmEseD10Lmk7bGV0IHI9QS5oZWFkZXJzLmdldChTLk5FWFRfTkFWX0RFUExPWU1FTlRfSURfSEVBREVSKT8/dC5iO2lmKHZvaWQgMCE9PXImJnIhPT0oMCxFLmdldE5hdmlnYXRpb25CdWlsZElkKSgpKTtlbHNle2xldCBlPSgwLGgubm9ybWFsaXplRmxpZ2h0RGF0YSkodC5mKTsiIiE9PWUmJihwPWUseT10LnEpfX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLHk9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOnkscmVkaXJlY3RMb2NhdGlvbjpVLHJlZGlyZWN0VHlwZTpmLHJldmFsaWRhdGlvbktpbmQ6Rixpc1ByZXJlbmRlcjpqLGNvdWxkQmVJbnRlcmNlcHRlZDp4fX1mdW5jdGlvbiBNKGUsdCl7bGV0e3Jlc29sdmU6cixyZWplY3Q6bn09dCxhPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBJKGUsYSx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOmwsYWN0aW9uUmVzdWx0OnUsYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpvLHJlZGlyZWN0TG9jYXRpb246YyxyZWRpcmVjdFR5cGU6ZCxpc1ByZXJlbmRlcjpoLGNvdWxkQmVJbnRlcmNlcHRlZDpwfSk9PntsIT09VC5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiYoKDAsQy5pbnZhbGlkYXRlQmZDYWNoZSkoKSx0LmRpZFJldmFsaWRhdGU9ITAsbD09PVQuQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLHYuaW52YWxpZGF0ZUVudGlyZVByZWZldGNoQ2FjaGUpKGEsZS50cmVlKSwoMCxtLnN0YXJ0UmV2YWxpZGF0aW9uQ29vbGRvd24pKCkpO2xldCBfPWR8fCJwdXNoIjtpZih2b2lkIDAhPT1jKWlmKCgwLE8uaXNFeHRlcm5hbFVSTCkoYykpcmV0dXJuIG4oRChjLmhyZWYsXykpLCgwLFAuY29tcGxldGVIYXJkTmF2aWdhdGlvbikoZSxjLF8pO2Vsc2V7bGV0IGU9KDAsZi5jcmVhdGVIcmVmRnJvbVVybCkoYywhMSk7bihEKCgwLGcuaGFzQmFzZVBhdGgpKGUpPygwLHkucmVtb3ZlQmFzZVBhdGgpKGUpOmUsXykpfWVsc2Ugcih1KTtpZih2b2lkIDA9PT1jJiZsPT09VC5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWMpcmV0dXJuKDAsUC5jb21wbGV0ZUhhcmROYXZpZ2F0aW9uKShlLGMsXyk7aWYoInN0cmluZyI9PXR5cGVvZiBpKXJldHVybigwLFAuY29tcGxldGVIYXJkTmF2aWdhdGlvbikoZSxuZXcgVVJMKGksbG9jYXRpb24ub3JpZ2luKSxfKTtsZXQgUj1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbiksRT1lLnJlbmRlcmVkU2VhcmNoLFM9dm9pZCAwIT09Yz9jOlIsdz1lLnRyZWUsTj1zLlNjcm9sbEJlaGF2aW9yLkRlZmF1bHQsST1sPT09VC5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP0EuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6QS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pJiZ2b2lkIDAhPT1vKXtsZXQgdD0oMCxmLmNyZWF0ZUhyZWZGcm9tVXJsKShTKSxyPURhdGUubm93KCksbj0oMCxQLmNvbnZlcnRTZXJ2ZXJQYXRjaFRvRnVsbFRyZWUpKHIsdyxpLG8sQy5Vbmtub3duRHluYW1pY1N0YWxlVGltZSksbD1uLm1ldGFkYXRhVmFyeVBhdGg7cmV0dXJuIG51bGwhPT1sJiYoMCxiLmRpc2NvdmVyS25vd25Sb3V0ZSkocixTLnBhdGhuYW1lLGEsbnVsbCxuLnJvdXRlVHJlZSxsLHAsdCxoLCExKSwoMCxQLm5hdmlnYXRlVG9Lbm93blJvdXRlKShyLGUsUyx0LG4sUixFLGUuY2FjaGUsdyxJLGEsTixfLG51bGwsbnVsbCl9cmV0dXJuKDAsUC5uYXZpZ2F0ZSkoZSxTLFIsRSxlLmNhY2hlLHcsYSxJLE4sXyl9LHQ9PihuKHQpLGUpKX1mdW5jdGlvbiBEKGUsdCl7bGV0IHI9KDAscC5nZXRSZWRpcmVjdEVycm9yKShlLHQpO3JldHVybiByLmhhbmRsZWQ9ITAscn0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJyZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY319KTtsZXQgbj1lLnIoODg1NDApLGE9ZS5yKDU0MDY5KSxsPWUucig5MTY2OCksdT1lLnIoNzM3OTApLGk9ZS5yKDY5ODQ1KSxvPWUucig4NjcyMCkscz1lLnIoNDU3OTQpLGM9InUiPHR5cGVvZiB3aW5kb3c/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZX06ZnVuY3Rpb24oZSx0KXtzd2l0Y2godC50eXBlKXtjYXNlIG4uQUNUSU9OX05BVklHQVRFOnJldHVybigwLGEubmF2aWdhdGVSZWR1Y2VyKShlLHQpO2Nhc2Ugbi5BQ1RJT05fU0VSVkVSX1BBVENIOnJldHVybigwLGwuc2VydmVyUGF0Y2hSZWR1Y2VyKShlLHQpO2Nhc2Ugbi5BQ1RJT05fUkVTVE9SRTpyZXR1cm4oMCx1LnJlc3RvcmVSZWR1Y2VyKShlLHQpO2Nhc2Ugbi5BQ1RJT05fUkVGUkVTSDpyZXR1cm4oMCxpLnJlZnJlc2hSZWR1Y2VyKShlLHQpO2Nhc2Ugbi5BQ1RJT05fSE1SX1JFRlJFU0g6cmV0dXJuKDAsby5obXJSZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9TRVJWRVJfQUNUSU9OOnJldHVybigwLHMuc2VydmVyQWN0aW9uUmVkdWNlcikoZSx0KTtkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5rbm93biBhY3Rpb24iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI5NSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX19OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE0MTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1lLnIoNTc2MzApLGE9ZS5yKDc3MDQ4KSxsPWUucig3NzcwOSksdT1lLnIoOTM5Nik7ZnVuY3Rpb24gaShlLHQscixpLG8pe2xldCBzPSgwLG4uY3JlYXRlUHJlZmV0Y2hVUkwpKGUpO2lmKG51bGw9PT1zKXJldHVybjtsZXQgYz0oMCxhLmNyZWF0ZUNhY2hlS2V5KShzLmhyZWYsdCk7KDAsbC5zY2hlZHVsZVByZWZldGNoVGFzaykoYyxyLGksdS5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQsbyl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTk3ODEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZTpmdW5jdGlvbigpe3JldHVybiBtfSxkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFN9LGRpc3BhdGNoVHJhdmVyc2VBY3Rpb246ZnVuY3Rpb24oKXtyZXR1cm4gUH0sZ2V0Q3VycmVudEFwcFJvdXRlclN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LHB1YmxpY0FwcFJvdXRlckluc3RhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg4NTQwKSx1PWUucig0OTI0KSxpPWUucig3MTY0NSksbz1lLnIoNjQyNDUpLHM9ZS5yKDkzOTYpLGM9ZS5yKDE0MTEpO2Uucig2MDM1NSk7bGV0IGY9ZS5yKDQxNTM4KTtlLnIoOTYxNjcpLGUucig5NTg3MSk7bGV0IGQ9ZS5yKDU1NTApLGg9ZS5yKDU3NjMwKSxwPWUucig5MTk0OSkseT1lLnIoNDgyNzcpO2Z1bmN0aW9uIGcoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmXyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBfKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gaShuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSxnKGUscik7cmV0dXJufWUuc3RhdGU9bixnKGUsciksdC5yZXNvbHZlKG4pfSgwLG8uaXNUaGVuYWJsZSkodSk/dS50aGVuKGksbj0+e2coZSxyKSx0LnJlamVjdChuKX0pOmkodSl9bGV0IHY9bnVsbDtmdW5jdGlvbiBtKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxpLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxfKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LF8oe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT12KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt2PXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUigpe3JldHVybiBudWxsIT09dj92LnN0YXRlOm51bGx9ZnVuY3Rpb24gRSgpe3JldHVybiBudWxsIT09dj92Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gUyhlLHQscixuLGEpe2lmKGEpZm9yKGxldCBlIG9mIGEpKDAsaS5hZGRUcmFuc2l0aW9uVHlwZSkoZSk7bGV0IHU9bmV3IFVSTCgoMCxkLmFkZEJhc2VQYXRoKShlKSxsb2NhdGlvbi5ocmVmKTsoMCxwLnNldExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbikobik7bGV0IG89RSgpO251bGwhPT1vJiZvKGUsdCksKDAsZi5kaXNwYXRjaEFwcFJvdXRlckFjdGlvbikoe3R5cGU6bC5BQ1RJT05fTkFWSUdBVEUsdXJsOnUsaXNFeHRlcm5hbFVybDooMCxoLmlzRXh0ZXJuYWxVUkwpKHUpLGxvY2F0aW9uU2VhcmNoOmxvY2F0aW9uLnNlYXJjaCxzY3JvbGxCZWhhdmlvcjpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gUChlLHQpe2xldCByPUUoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByO2lmKCgwLHkuaXNKYXZhU2NyaXB0VVJMU3RyaW5nKShlKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIk5leHQuanMgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTc4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWZ1bmN0aW9uKCl7aWYobnVsbD09PXYpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJJbnRlcm5hbCBOZXh0LmpzIGVycm9yOiBSb3V0ZXIgYWN0aW9uIGRpc3BhdGNoZWQgYmVmb3JlIGluaXRpYWxpemF0aW9uLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjY4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiB2fSgpO3N3aXRjaCh0Py5raW5kPz9sLlByZWZldGNoS2luZC5BVVRPKXtjYXNlIGwuUHJlZmV0Y2hLaW5kLkFVVE86cj1zLkZldGNoU3RyYXRlZ3kuUFBSO2JyZWFrO2Nhc2UgbC5QcmVmZXRjaEtpbmQuRlVMTDpyPXMuRmV0Y2hTdHJhdGVneS5GdWxsO2JyZWFrO2RlZmF1bHQ6cj1zLkZldGNoU3RyYXRlZ3kuUFBSfSgwLGMucHJlZmV0Y2gpKGUsbi5zdGF0ZS5uZXh0VXJsLG4uc3RhdGUudHJlZSxyLHQ/Lm9uSW52YWxpZGF0ZT8/bnVsbCl9LHJlcGxhY2U6KGUsdCk9PntpZigoMCx5LmlzSmF2YVNjcmlwdFVSTFN0cmluZykoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOZXh0LmpzIGhhcyBibG9ja2VkIGEgamF2YXNjcmlwdDogVVJMIGFzIGEgc2VjdXJpdHkgcHJlY2F1dGlvbi4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTk3OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTsoMCxpLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntTKGUsInJlcGxhY2UiLHQ/LnNjcm9sbD09PSExP2wuU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6bC5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LG51bGwsdD8udHJhbnNpdGlvblR5cGVzKX0pfSxwdXNoOihlLHQpPT57aWYoKDAseS5pc0phdmFTY3JpcHRVUkxTdHJpbmcpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTmV4dC5qcyBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU5NzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7KDAsaS5zdGFydFRyYW5zaXRpb24pKCgpPT57UyhlLCJwdXNoIix0Py5zY3JvbGw9PT0hMT9sLlNjcm9sbEJlaGF2aW9yLk5vU2Nyb2xsOmwuU2Nyb2xsQmVoYXZpb3IuRGVmYXVsdCxudWxsLHQ/LnRyYW5zaXRpb25UeXBlcyl9KX0scmVmcmVzaDooKT0+eygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+eygwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9KX0pfSxobXJSZWZyZXNoOigpPT57dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJobXJSZWZyZXNoIGNhbiBvbmx5IGJlIHVzZWQgaW4gZGV2ZWxvcG1lbnQgbW9kZS4gUGxlYXNlIHVzZSByZWZyZXNoIGluc3RlYWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fTsidSI+dHlwZW9mIHdpbmRvdyYmd2luZG93Lm5leHQmJih3aW5kb3cubmV4dC5yb3V0ZXI9YiksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/turbopack-0-at0kwc3u7bh.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.528Z","timestamp":1785136352528,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-0-at0kwc3u7bh.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"turbopack-0-at0kwc3u7bh.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"9520facd0bad823ab7c67fcf093aae0f\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/turbopack-0-at0kwc3u7bh.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136352534-182b5505924d\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":10947,"size_decoded":5162,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (10508)","md5":"9520facd0bad823ab7c67fcf093aae0f","sha1":"153c5bbc136cec3c764ad0db5b49a79e8534bd7b","sha256":"84bd95beb4699f445a76c31e19c18ab506822a1d4439a97e743ef997b57f4149","sha512":"20faaa3faa75dbba02b600b407dfd0bf5b90f89393bb4d93c344c0b974747071d36c3b85082ce4bf56cd4f505c4a676242152a34cba75dcd02fef19a8fd3ae90","ssdeep":"192:Jl4gM6A68kEsgdo2YE4hHqlC+yWn+03sBT4fCT2cXXqrzor+yLxP:Jl4gM6YPiKlYW++sqCTPKLyLxP","tlshash":"3032d6ea33a6f07343af90ebd07b4004f1798469145e541c939ce8eb28394ae85e7f76","first_seen":"2026-07-27T05:24:49.430238Z","last_seen":"2026-07-27T07:13:55.096466Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvMTdzeG4xeHBrYl9hcC5qcyIsInN0YXRpYy9jaHVua3MvMHBxdH44YmwzdWtoNC5qcyIsInN0YXRpYy9jaHVua3MvMDN+ODllMmR6Ny1uZi5qcyIsInN0YXRpYy9jaHVua3MvMGUtd3JocWg0aDNyNS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk0NTUzXX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19BU1NFVF9TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49WyJORVhUX0RFUExPWU1FTlRfSUQiLCJORVhUX0NMSUVOVF9BU1NFVF9TVUZGSVgiXTt2YXIgbyxpPSgobz1pfHx7fSlbby5SdW50aW1lPTBdPSJSdW50aW1lIixvW28uUGFyZW50PTFdPSJQYXJlbnQiLG9bby5VcGRhdGU9Ml09IlVwZGF0ZSIsbyk7bGV0IGw9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCB1PXMucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxjPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gZihlLHQscil7YS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gcChlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWgodCksZVt0XT1yKSxyfWZ1bmN0aW9uIGgoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZChlLHQpe2YoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYyYmZihlLGMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKWYoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP2YoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTpmKGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWZ1bmN0aW9uIG0oZSx0KXsobnVsbCE9dD9wKHRoaXMuYyx0KTp0aGlzLm0pLmV4cG9ydHM9ZX11LnM9ZnVuY3Rpb24oZSx0KXtsZXQgcixuO251bGwhPXQ/bj0ocj1wKHRoaXMuYyx0KSkuZXhwb3J0czoocj10aGlzLm0sbj10aGlzLmUpLHIubmFtZXNwYWNlT2JqZWN0PW4sZChuLGUpfSx1Lmo9ZnVuY3Rpb24oZSx0KXt2YXIgcixuO2xldCBvLGkscztudWxsIT10P2k9KG89cCh0aGlzLmMsdCkpLmV4cG9ydHM6KG89dGhpcy5tLGk9dGhpcy5lKTtsZXQgdT0ocj1vLG49aSwocz1sLmdldChyKSl8fChsLnNldChyLHM9W10pLHIuZXhwb3J0cz1yLm5hbWVzcGFjZU9iamVjdD1uZXcgUHJveHkobix7Z2V0KGUsdCl7aWYoYS5jYWxsKGUsdCl8fCJkZWZhdWx0Ij09PXR8fCJfX2VzTW9kdWxlIj09PXQpcmV0dXJuIFJlZmxlY3QuZ2V0KGUsdCk7Zm9yKGxldCBlIG9mIHMpe2xldCByPVJlZmxlY3QuZ2V0KGUsdCk7aWYodm9pZCAwIT09cilyZXR1cm4gcn19LG93bktleXMoZSl7bGV0IHQ9UmVmbGVjdC5vd25LZXlzKGUpO2ZvcihsZXQgZSBvZiBzKWZvcihsZXQgciBvZiBSZWZsZWN0Lm93bktleXMoZSkpImRlZmF1bHQiPT09cnx8dC5pbmNsdWRlcyhyKXx8dC5wdXNoKHIpO3JldHVybiB0fX0pKSxzKTsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZ1LnB1c2goZSl9LHUudj1tLHUubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/cCh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBiPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18seT1bbnVsbCxiKHt9KSxiKFtdKSxiKGIpXTtmdW5jdGlvbiBnKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIXkuaW5jbHVkZXModCk7dD1iKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGQodCxuKSx0fWZ1bmN0aW9uIHcoZSl7bGV0IHQ9VyhlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZyhyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBPKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiBrKCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXUuaT13LHUuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKHcuYmluZCh0aGlzKSl9LHUudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSx1LnI9ZnVuY3Rpb24oZSl7cmV0dXJuIFcoZSx0aGlzLm0pLmV4cG9ydHN9LHUuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Tyh0KSxhLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Tyh0KSxhLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBqPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLHY9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLEM9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBQKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9dS5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmkscmVqZWN0OmwscHJvbWlzZTpzfT1rKCksdT1PYmplY3QuYXNzaWduKHMse1t2XTpyLmV4cG9ydHMsW2pdOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbdl09ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoaiBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbdl06e30sW2pdOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3Jbdl09ZSxQKHQpfSxlPT57cltDXT1lLFAodCl9KSxyfX1yZXR1cm57W3ZdOmUsW2pdOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVtDXSl0aHJvdyBlW0NdO3JldHVybiBlW3ZdfSkse3Byb21pc2U6aSxyZXNvbHZlOmx9PWsoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmwocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW2pdKHUpKSxzLnF1ZXVlQ291bnQ/aTpyKCl9LGZ1bmN0aW9uKGUpe2U/bCh1W0NdPWUpOmkodVt2XSksUChuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uICQoZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSx1LlU9VSx1Lno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LHUuZz1nbG9iYWxUaGlzO2xldCBSPXMucHJvdG90eXBlLFM9bmV3IE1hcDt1Lk09UztsZXQgRT1uZXcgTWFwLF89bmV3IE1hcDthc3luYyBmdW5jdGlvbiBUKGUsdCxyKXtsZXQgbjtpZigic3RyaW5nIj09dHlwZW9mIHIpcmV0dXJuIE0oZSx0LHEocikpO2xldCBvPXIuaW5jbHVkZWR8fFtdLGk9by5tYXAoZT0+ISFTLmhhcyhlKXx8RS5nZXQoZSkpO2lmKGkubGVuZ3RoPjAmJmkuZXZlcnkoZT0+ZSkpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwoaSk7bGV0IGw9ci5tb2R1bGVDaHVua3N8fFtdLHM9bC5tYXAoZT0+Xy5nZXQoZSkpLmZpbHRlcihlPT5lKTtpZihzLmxlbmd0aD4wKXtpZihzLmxlbmd0aD09PWwubGVuZ3RoKXJldHVybiB2b2lkIGF3YWl0IFByb21pc2UuYWxsKHMpO2xldCByPW5ldyBTZXQ7Zm9yKGxldCBlIG9mIGwpXy5oYXMoZSl8fHIuYWRkKGUpO2ZvcihsZXQgbiBvZiByKXtsZXQgcj1NKGUsdCxxKG4pKTtfLnNldChuLHIpLHMucHVzaChyKX1uPVByb21pc2UuYWxsKHMpfWVsc2V7Zm9yKGxldCBvIG9mKG49TShlLHQscShyLnBhdGgpKSxsKSlfLmhhcyhvKXx8Xy5zZXQobyxuKX1mb3IobGV0IGUgb2YgbylFLmhhcyhlKXx8RS5zZXQoZSxuKTthd2FpdCBufVIubD1mdW5jdGlvbihlKXtyZXR1cm4gVChpLlBhcmVudCx0aGlzLm0uaWQsZSl9O2xldCB4PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLEE9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gTSh0LHIsbil7bGV0IG89ZS5sb2FkQ2h1bmtDYWNoZWQodCxuKSxsPUEuZ2V0KG8pO2lmKHZvaWQgMD09PWwpe2xldCBlPUEuc2V0LmJpbmQoQSxvLHgpO2w9by50aGVuKGUpLmNhdGNoKGU9PntsZXQgbztzd2l0Y2godCl7Y2FzZSBpLlJ1bnRpbWU6bz1gYXMgYSBydW50aW1lIGRlcGVuZGVuY3kgb2YgY2h1bmsgJHtyfWA7YnJlYWs7Y2FzZSBpLlBhcmVudDpvPWBmcm9tIG1vZHVsZSAke3J9YDticmVhaztjYXNlIGkuVXBkYXRlOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDokKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBxKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gTShpLlBhcmVudCx0aGlzLm0uaWQsZSl9LFIuUj1mdW5jdGlvbihlKXtsZXQgdD10aGlzLnIoZSk7cmV0dXJuIHQ/LmRlZmF1bHQ/P3R9LFIuUD1mdW5jdGlvbihlKXtyZXR1cm5gL1JPT1QvJHtlPz8iIn1gfSxSLnE9ZnVuY3Rpb24oZSx0KXttLmNhbGwodGhpcyxgJHtlfSR7cn1gLHQpfSxSLmI9ZnVuY3Rpb24oZSx0LG8saSl7bGV0IGw9IlNoYXJlZFdvcmtlciI9PT1lLm5hbWUscz1bby5tYXAoZT0+cShlKSkucmV2ZXJzZSgpLHJdO2ZvcihsZXQgZSBvZiBuKXMucHVzaChnbG9iYWxUaGlzW2VdKTtsZXQgdT1uZXcgVVJMKHEodCksbG9jYXRpb24ub3JpZ2luKSxhPUpTT04uc3RyaW5naWZ5KHMpO3JldHVybiBsP3Uuc2VhcmNoUGFyYW1zLnNldCgicGFyYW1zIixhKTp1Lmhhc2g9IiNwYXJhbXM9IitlbmNvZGVVUklDb21wb25lbnQoYSksbmV3IGUodSxpP3suLi5pLHR5cGU6dm9pZCAwfTp2b2lkIDApfTtsZXQgTj0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sSz0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIEwoZSl7cmV0dXJuIEsudGVzdChlKX11Lnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseShpLlBhcmVudCx0aGlzLm0uaWQsdCxyLG4pfSx1LnU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5sb2FkV2ViQXNzZW1ibHlNb2R1bGUoaS5QYXJlbnQsdGhpcy5tLmlkLHQscil9O2xldCBJPXt9O3UuYz1JO2xldCBXPShlLHQpPT57bGV0IHI9SVtlXTtpZihyKXtpZihyLmVycm9yKXRocm93IHIuZXJyb3I7cmV0dXJuIHJ9cmV0dXJuIEIoZSxpLlBhcmVudCx0LmlkKX07ZnVuY3Rpb24gQihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IoZnVuY3Rpb24oZSx0LHIpe2xldCBuO3N3aXRjaCh0KXtjYXNlIDA6bj1gYXMgYSBydW50aW1lIGVudHJ5IG9mIGNodW5rICR7cn1gO2JyZWFrO2Nhc2UgMTpuPWBiZWNhdXNlIGl0IHdhcyByZXF1aXJlZCBmcm9tIG1vZHVsZSAke3J9YDticmVhaztjYXNlIDI6bj0iYmVjYXVzZSBvZiBhbiBITVIgdXBkYXRlIjticmVhaztkZWZhdWx0OiQodCxlPT5gVW5rbm93biBzb3VyY2UgdHlwZTogJHtlfWApfXJldHVybmBNb2R1bGUgJHtlfSB3YXMgaW5zdGFudGlhdGVkICR7bn0sIGJ1dCB0aGUgbW9kdWxlIGZhY3RvcnkgaXMgbm90IGF2YWlsYWJsZS5gfShlLHQscikpO2xldCBvPWgoZSksaT1vLmV4cG9ydHM7SVtlXT1vO2xldCBsPW5ldyBzKG8saSk7dHJ5e24obCxvLGkpfWNhdGNoKGUpe3Rocm93IG8uZXJyb3I9ZSxlfXJldHVybiBvLm5hbWVzcGFjZU9iamVjdCYmby5leHBvcnRzIT09by5uYW1lc3BhY2VPYmplY3QmJmcoby5leHBvcnRzLG8ubmFtZXNwYWNlT2JqZWN0KSxvfWZ1bmN0aW9uIEYodCl7bGV0IHIsbj1mdW5jdGlvbihlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7aWYoZSlyZXR1cm57c3JjOmUuZ2V0QXR0cmlidXRlKCJzcmMiKX07aWYoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTKXJldHVybntzcmM6VFVSQk9QQUNLX05FWFRfQ0hVTktfVVJMUy5wb3AoKX07dGhyb3cgRXJyb3IoImNodW5rIHBhdGggZW1wdHkgYnV0IG5vdCBpbiBhIHdvcmtlciIpfSh0WzBdKTtyZXR1cm4gMj09PXQubGVuZ3RoP3I9dFsxXToocj12b2lkIDAsIWZ1bmN0aW9uKGUsdCl7bGV0IHI9MTtmb3IoO3I8ZS5sZW5ndGg7KXtsZXQgbixvPXIrMTtmb3IoO288ZS5sZW5ndGgmJiJmdW5jdGlvbiIhPXR5cGVvZiBlW29dOylvKys7aWYobz09PWUubGVuZ3RoKXRocm93IEVycm9yKCJtYWxmb3JtZWQgY2h1bmsgZm9ybWF0LCBleHBlY3RlZCBhIGZhY3RvcnkgZnVuY3Rpb24iKTtsZXQgaT1lW29dO2ZvcihsZXQgaT1yO2k8bztpKyspe2xldCByPWVbaV0sbz10LmdldChyKTtpZihvKXtuPW87YnJlYWt9fWxldCBsPW4/P2kscz0hMTtmb3IobGV0IG49cjtuPG87bisrKXtsZXQgcj1lW25dO3QuaGFzKHIpfHwoc3x8KGw9PT1pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoaSwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KSxzPSEwKSx0LnNldChyLGwpKX1yPW8rMX19KHQsUykpLGUucmVnaXN0ZXJDaHVuayhuLHIpfWxldCBYPW5ldyBNYXA7ZnVuY3Rpb24gRChlKXtsZXQgdD1YLmdldChlKTtpZighdCl7bGV0IHIsbjt0PXtyZXNvbHZlZDohMSxsb2FkaW5nU3RhcnRlZDohMSxwcm9taXNlOm5ldyBQcm9taXNlKChlLHQpPT57cj1lLG49dH0pLHJlc29sdmU6KCk9Pnt0LnJlc29sdmVkPSEwLHIoKX0scmVqZWN0Om59LFguc2V0KGUsdCl9cmV0dXJuIHR9ZT17YXN5bmMgcmVnaXN0ZXJDaHVuayhlLHIpe2xldCBuPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTtsZXQgcj1kZWNvZGVVUklDb21wb25lbnQoZS5zcmMucmVwbGFjZSgvWz8jXS4qJC8sIiIpKTtyZXR1cm4gci5zdGFydHNXaXRoKHQpP3Iuc2xpY2UodC5sZW5ndGgpOnJ9KGUpO2lmKEQoInN0cmluZyI9PXR5cGVvZiBlP3EoZSk6ZS5zcmMpLnJlc29sdmUoKSxudWxsIT1yKXtmb3IobGV0IGUgb2Ygci5vdGhlckNodW5rcylEKHEoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwoci5vdGhlckNodW5rcy5tYXAoZT0+VChpLlJ1bnRpbWUsbixlKSkpLHIucnVudGltZU1vZHVsZUlkcy5sZW5ndGg+MClmb3IobGV0IGUgb2Ygci5ydW50aW1lTW9kdWxlSWRzKSFmdW5jdGlvbihlLHQpe2xldCByPUlbdF07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybn1CKHQsaS5SdW50aW1lLGUpfShuLGUpfX0sbG9hZENodW5rQ2FjaGVkOihlLHQpPT4oZnVuY3Rpb24oZSx0KXtsZXQgcj1EKHQpO2lmKHIubG9hZGluZ1N0YXJ0ZWQpcmV0dXJuIHIucHJvbWlzZTtpZihlPT09aS5SdW50aW1lKXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLEwodCkmJnIucmVzb2x2ZSgpLHIucHJvbWlzZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaW1wb3J0U2NyaXB0cylpZihMKHQpKTtlbHNlIGlmKE4udGVzdCh0KSlzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucHVzaCh0KSxpbXBvcnRTY3JpcHRzKHQpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihMKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKE4udGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGk9ZmV0Y2gocShyKSkse2luc3RhbmNlOmx9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGksbyk7cmV0dXJuIGwuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKHEocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEg9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6Rn0sSC5mb3JFYWNoKEYpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9BVTdaTnhRZXI1OXUybThFSGF3M1hTcnNZTWFHIik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/plans?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.988Z","timestamp":1785136352988,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /plans?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 416302\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"75bb1a0e247caabbef3c67c0a2e25183\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /plans.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353000-8b72a89dd50c\r\ncontent-length: 427\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":427,"size_decoded":1086,"mime_type":"text/x-component","magic":"ASCII text","md5":"0b8d9ab49fddd8aa4cb09d6bb8e31e3c","sha1":"6daa35e31e2694a91f83e5b5206f12fbc4cf9ae1","sha256":"c23afa7979f3fd686992583d12dba46ffcc4ef3dd61fe298d440596eef416008","sha512":"7d9e660a23d2a85e359ed3674d7a50025fccca0c7068332599d65ea8ad481905c0d67cf3b9c923fa99725ec168131466fef906e5ed7198b97ed3a855767a6588","ssdeep":"","tlshash":"47e0227388082c89acf0d89406aae70b543c553b70b64cacc8dd8d9403a153e1b8768b","first_seen":"2026-07-27T05:24:49.480109Z","last_seen":"2026-07-27T07:13:55.089182Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6InBsYW5zIiwicGFyYW0iOm51bGwsInByZWZldGNoSGludHMiOjAsInNsb3RzIjp7ImNoaWxkcmVuIjp7Im5hbWUiOiJfX1BBR0VfXyIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjowLCJzbG90cyI6bnVsbH19fX19LCJzdGFsZVRpbWUiOjMwMCwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/login?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.990Z","timestamp":1785136352990,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/login?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"a34095329f6441a3d9a22335ccedbc48\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/login.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zklz5-1785136353006-3fca3402aabd\r\ncontent-length: 495\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":495,"size_decoded":1159,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (326)","md5":"711a9a91d60b3ddc785e81b2fc858daf","sha1":"7f13278cf9c6d64691b56768ee40745d138c64c4","sha256":"3a32e7b848e3ab78d39c8d4236e0542baa43b123241475c4a64c422893270c0d","sha512":"c0191971e717c82e2aa071cf7ecf818c8c8fd36ce621ce5b9f55c451bfbbbc4527798716eff700f243cd3b578927fada6af139c146360f2d8de52e4ff109b9e8","ssdeep":"","tlshash":"bdf0277349082c88acf0e894066ae70f143c152730b64cacc8dd8d9003b143e1a87587","first_seen":"2026-07-27T05:24:49.461648Z","last_seen":"2026-07-27T07:13:55.089757Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImF1dGgiLCJwYXJhbSI6bnVsbCwicHJlZmV0Y2hIaW50cyI6MCwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImxvZ2luIiwicGFyYW0iOm51bGwsInByZWZldGNoSGludHMiOjAsInNsb3RzIjp7ImNoaWxkcmVuIjp7Im5hbWUiOiJfX1BBR0VfXyIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjowLCJzbG90cyI6bnVsbH19fX19fX0sInN0YWxlVGltZSI6MzAwLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0K"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=nn07o","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.029Z","timestamp":1785136353029,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=nn07o HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_index\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"49e4fc8e667763283bc41d09457ed85a\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/_index.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zklz5-1785136353036-f8cb49418c58\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":2215,"size_decoded":1466,"mime_type":"text/x-component","magic":"Unicode text, UTF-8 text, with very long lines (1509)","md5":"ffb096a5058ca1832e664a7ed05e5b6b","sha1":"af68bb8c5768fc3b85e531120e36b5e8e791e324","sha256":"9bfb1b241ea17708a8d5b6cb4355f9d935382ae979922f9d89fe131cd1746db2","sha512":"11d01ae11f67a4647cc2b756535cdeac491bbf58e2ab7535ff045c2d8fd1c80f35032d6d76ccb16986b1e877f9ab8f652c11c828024d16ccd3015689bb3940fe","ssdeep":"","tlshash":"3641a02baa4bed6d1d76c89c101fdb3aa1ac4d3bda718c6ed2eedda403410351f852d0","first_seen":"2026-07-27T07:13:04.135152Z","last_seen":"2026-07-27T07:13:04.135152Z","times_seen":1,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzQ0NjM2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszOTc1NixbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OklbNTgyOTgsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBjc2E0cjk1b2NsMW0uanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQo1OklbMzc0NTcsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJkZWZhdWx0Il0KNjpJWzIyMDE2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wa2EwNTF5ZXBld3JvLmpzIl0sIiJdCjpITFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMGU1MWlkeWM5eWxyci5jc3MiLCJzdHlsZSJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W1tbIiQiLCJsaW5rIiwiMCIseyJyZWwiOiJzdHlsZXNoZWV0IiwiaHJlZiI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzBlNTFpZHljOXlscnIuY3NzIiwicHJlY2VkZW5jZSI6Im5leHQifV0sWyIkIiwic2NyaXB0Iiwic2NyaXB0LTAiLHsic3JjIjoiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsImFzeW5jIjp0cnVlfV0sWyIkIiwic2NyaXB0Iiwic2NyaXB0LTEiLHsic3JjIjoiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsImFzeW5jIjp0cnVlfV1dLFsiJCIsImh0bWwiLG51bGwseyJsYW5nIjoiZW4iLCJjbGFzc05hbWUiOiJkYXJrIiwiY2hpbGRyZW4iOlsiJCIsImJvZHkiLG51bGwseyJjbGFzc05hbWUiOiJpbnRlcl81OTcyYmMzNC1tb2R1bGVfX09VMTZRYV9fY2xhc3NOYW1lIGJnLWJsYWNrIHRleHQtd2hpdGUgYW50aWFsaWFzZWQiLCJjaGlsZHJlbiI6WyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7InBhcmFsbGVsUm91dGVyS2V5IjoiY2hpbGRyZW4iLCJlcnJvciI6IiQ0IiwiZXJyb3JTdHlsZXMiOltdLCJlcnJvclNjcmlwdHMiOltbIiQiLCJzY3JpcHQiLCJzY3JpcHQtMCIseyJzcmMiOiIvX25leHQvc3RhdGljL2NodW5rcy8wY3NhNHI5NW9jbDFtLmpzIiwiYXN5bmMiOnRydWV9XSxbIiQiLCJzY3JpcHQiLCJzY3JpcHQtMSIseyJzcmMiOiIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIiwiYXN5bmMiOnRydWV9XV0sInRlbXBsYXRlIjpbIiQiLCIkTDUiLG51bGwse31dLCJub3RGb3VuZCI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6Im1pbi1oLXNjcmVlbiBiZy1ibGFjayBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBweC00IHRleHQtY2VudGVyIiwiY2hpbGRyZW4iOlsiJCIsImRpdiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC02eGwgbWItNCIsImNoaWxkcmVuIjoi4puPIn1dLFsiJCIsImgxIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC02eGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIG1iLTQiLCJjaGlsZHJlbiI6IjQwNCJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCB0ZXh0LWxnIG1iLTgiLCJjaGlsZHJlbiI6IlRoaXMgYmxvY2sgZG9lc24ndCBleGlzdCBvbiB0aGUgY2hhaW4uIn1dLFsiJCIsIiRMNiIsbnVsbCx7ImhyZWYiOiIvIiwiY2xhc3NOYW1lIjoiYmctYW1iZXItNTAwIGhvdmVyOmJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIGZvbnQtc2VtaWJvbGQgcHgtNiBweS0zIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnMiLCJjaGlsZHJlbiI6IkJhY2sgdG8gSG9tZSJ9XV19XX1dLFtdXX1dfV19XX1dXX1dLCJpc1BhcnRpYWwiOmZhbHNlLCJzdGFsZVRpbWUiOjMwMCwidmFyeVBhcmFtcyI6bnVsbCwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":355,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":355,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/17qytxj7hm2v9.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.106Z","timestamp":1785136353106,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/17qytxj7hm2v9.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 6506\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"17qytxj7hm2v9.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"04004336a9d26bd1f0e773d905a2dd54\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:07 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/17qytxj7hm2v9.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353118-5196f7a1db19\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":9854,"size_decoded":4454,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (9852), with no line terminators","md5":"04004336a9d26bd1f0e773d905a2dd54","sha1":"c56669f586239a9f156babf3164ad6e12da2b6c5","sha256":"7cdfefaac0b7d7033c5614e249e3655df2d88f83d2255adf5dba0f5d087ec7e2","sha512":"c42de7d21f36d19b0865b5a6ac6c677eea6a2082742efd3db3ef434452962381707029cd381e4cde9ef4cb5dc3f760979903e75a2089048020d778484c679e00","ssdeep":"192:sWyGEhj7jEcBFFesFPpf34GJU5irqezi4yrwszycKAhhTs:sWyBxL/4DcQ4yrwSEAg","tlshash":"9a12a3753194aad8a95b01d8842bd00df22f2e7dd81fa8a4b3f89cf55a5004cb663fd5","first_seen":"2026-07-27T05:24:49.435788Z","last_seen":"2026-07-27T07:13:55.091006Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOm49Im1kIixjaGlsZHJlbjphLGxvYWRpbmc6bCxjbGFzc05hbWU6byxkaXNhYmxlZDpzLC4uLml9KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVtuXSxvKSxkaXNhYmxlZDpzfHxsLC4uLmksY2hpbGRyZW46bD8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOmF9KX1dKX0sOTUwNTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2Zvcm1hdFVybDpmdW5jdGlvbigpe3JldHVybiBzfSxmb3JtYXRXaXRoVmFsaWRhdGlvbjpmdW5jdGlvbigpe3JldHVybiBjfSx1cmxPYmplY3RLZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkwODA5KS5fKGUucig5ODE4MykpLG89L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIHMoZSl7bGV0e2F1dGg6dCxob3N0bmFtZTpyfT1lLG49ZS5wcm90b2NvbHx8IiIsYT1lLnBhdGhuYW1lfHwiIixzPWUuaGFzaHx8IiIsaT1lLnF1ZXJ5fHwiIixjPSExO3Q9dD9lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTNBL2ksIjoiKSsiQCI6IiIsZS5ob3N0P2M9dCtlLmhvc3Q6ciYmKGM9dCsofnIuaW5kZXhPZigiOiIpP2BbJHtyfV1gOnIpLGUucG9ydCYmKGMrPSI6IitlLnBvcnQpKSxpJiYib2JqZWN0Ij09dHlwZW9mIGkmJihpPVN0cmluZyhsLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMoaSkpKTtsZXQgdT1lLnNlYXJjaHx8aSYmYD8ke2l9YHx8IiI7cmV0dXJuIG4mJiFuLmVuZHNXaXRoKCI6IikmJihuKz0iOiIpLGUuc2xhc2hlc3x8KCFufHxvLnRlc3QobikpJiYhMSE9PWM/KGM9Ii8vIisoY3x8IiIpLGEmJiIvIiE9PWFbMF0mJihhPSIvIithKSk6Y3x8KGM9IiIpLHMmJiIjIiE9PXNbMF0mJihzPSIjIitzKSx1JiYiPyIhPT11WzBdJiYodT0iPyIrdSksYT1hLnJlcGxhY2UoL1s/I10vZyxlbmNvZGVVUklDb21wb25lbnQpLHU9dS5yZXBsYWNlKCIjIiwiJTIzIiksYCR7bn0ke2N9JHthfSR7dX0ke3N9YH1sZXQgaT1bImF1dGgiLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGgiLCJwYXRobmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInF1ZXJ5Iiwic2VhcmNoIiwic2xhc2hlcyJdO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMoZSl9fSwxODU4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlTWVyZ2VkUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoNzE2NDUpO2Z1bmN0aW9uIGEoZSx0KXtsZXQgcj0oMCxuLnVzZVJlZikobnVsbCksYT0oMCxuLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsbi51c2VDYWxsYmFjaykobj0+e2lmKG51bGw9PT1uKXtsZXQgZT1yLmN1cnJlbnQ7ZSYmKHIuY3VycmVudD1udWxsLGUoKSk7bGV0IHQ9YS5jdXJyZW50O3QmJihhLmN1cnJlbnQ9bnVsbCx0KCkpfWVsc2UgZSYmKHIuY3VycmVudD1sKGUsbikpLHQmJihhLmN1cnJlbnQ9bCh0LG4pKX0sW2UsdF0pfWZ1bmN0aW9uIGwoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gZS5jdXJyZW50PXQsKCk9PntlLmN1cnJlbnQ9bnVsbH07e2xldCByPWUodCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ZShudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTG9jYWxVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODk2NyksYT1lLnIoNTI4MTcpO2Z1bmN0aW9uIGwoZSl7aWYoISgwLG4uaXNBYnNvbHV0ZVVybCkoZSkpcmV0dXJuITA7dHJ5e2xldCB0PSgwLG4uZ2V0TG9jYXRpb25PcmlnaW4pKCkscj1uZXcgVVJMKGUsdCk7cmV0dXJuIHIub3JpZ2luPT09dCYmKDAsYS5oYXNCYXNlUGF0aCkoci5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sODQ1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVycm9yT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319LDIyMDE2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LHVzZUxpbmtTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoOTA4MDkpLG89ZS5yKDQzNDc2KSxzPWwuXyhlLnIoNzE2NDUpKSxpPWUucig5NTA1NyksYz1lLnIoODM3MiksdT1lLnIoMTg1ODEpLGQ9ZS5yKDE4OTY3KSxmPWUucig1NTUwKTtlLnIoMzM1MjUpO2xldCBoPWUucig4ODU0MCkscD1lLnIoOTE5NDkpLHg9ZS5yKDczNjY4KSxtPWUucig5Mzk2KTtmdW5jdGlvbiBiKHQpe3ZhciByLG47bGV0IGEsbCxiLFt5LHZdPSgwLHMudXNlT3B0aW1pc3RpYykocC5JRExFX0xJTktfU1RBVFVTKSxqPSgwLHMudXNlUmVmKShudWxsKSx7aHJlZjpOLGFzOl8sY2hpbGRyZW46ayxwcmVmZXRjaDpDPW51bGwscGFzc0hyZWY6UCxyZXBsYWNlOk8sc2hhbGxvdzpTLHNjcm9sbDp3LG9uQ2xpY2s6TCxvbk1vdXNlRW50ZXI6TSxvblRvdWNoU3RhcnQ6VCxsZWdhY3lCZWhhdmlvcjpSPSExLG9uTmF2aWdhdGU6QSx0cmFuc2l0aW9uVHlwZXM6RSxyZWY6VSx1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjpCLC4uLkl9PXQ7YT1rLFImJigic3RyaW5nIj09dHlwZW9mIGF8fCJudW1iZXIiPT10eXBlb2YgYSkmJihhPSgwLG8uanN4KSgiYSIse2NoaWxkcmVuOmF9KSk7bGV0IEQ9cy5kZWZhdWx0LnVzZUNvbnRleHQoYy5BcHBSb3V0ZXJDb250ZXh0KSxGPSExIT09QyxLPSExIT09Qz9udWxsPT09KG49Qyl8fCJhdXRvIj09PW4/bS5GZXRjaFN0cmF0ZWd5LlBQUjptLkZldGNoU3RyYXRlZ3kuRnVsbDptLkZldGNoU3RyYXRlZ3kuUFBSLCQ9InN0cmluZyI9PXR5cGVvZihyPV98fE4pP3I6KDAsaS5mb3JtYXRVcmwpKHIpO2lmKFIpe2lmKGE/LiQkdHlwZW9mPT09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPmAgcmVjZWl2ZWQgYSBkaXJlY3QgY2hpbGQgdGhhdCBpcyBlaXRoZXIgYSBTZXJ2ZXIgQ29tcG9uZW50LCBvciBKU1ggdGhhdCB3YXMgbG9hZGVkIHdpdGggUmVhY3QubGF6eSgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIEVpdGhlciByZW1vdmUgbGVnYWN5QmVoYXZpb3IsIG9yIG1ha2UgdGhlIGRpcmVjdCBjaGlsZCBhIENsaWVudCBDb21wb25lbnQgdGhhdCByZW5kZXJzIHRoZSBMaW5rJ3MgYDxhPmAgdGFnLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODYzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2w9cy5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoYSl9bGV0IHo9Uj9sJiYib2JqZWN0Ij09dHlwZW9mIGwmJmwucmVmOlUscT1zLmRlZmF1bHQudXNlQ2FsbGJhY2soZT0+KG51bGwhPT1EJiYoai5jdXJyZW50PSgwLHAubW91bnRMaW5rSW5zdGFuY2UpKGUsJCxELEssRix2KSksKCk9PntqLmN1cnJlbnQmJigoMCxwLnVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24pKGouY3VycmVudCksai5jdXJyZW50PW51bGwpLCgwLHAudW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKShlKX0pLFtGLCQsRCxLLHZdKSxXPXtyZWY6KDAsdS51c2VNZXJnZWRSZWYpKHEseiksb25DbGljayh0KXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgTHx8TCh0KSxSJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbkNsaWNrJiZsLnByb3BzLm9uQ2xpY2sodCksIUR8fHQuZGVmYXVsdFByZXZlbnRlZHx8ZnVuY3Rpb24odCxyLG4sYSxsLG8saSl7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBjLHtub2RlTmFtZTp1fT10LmN1cnJlbnRUYXJnZXQ7aWYoIkEiPT09dS50b1VwcGVyQ2FzZSgpJiYoKGM9dC5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFyZ2V0IikpJiYiX3NlbGYiIT09Y3x8dC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuc2hpZnRLZXl8fHQuYWx0S2V5fHx0Lm5hdGl2ZUV2ZW50JiYyPT09dC5uYXRpdmVFdmVudC53aGljaCl8fHQuY3VycmVudFRhcmdldC5oYXNBdHRyaWJ1dGUoImRvd25sb2FkIikpcmV0dXJuO2lmKCEoMCx4LmlzTG9jYWxVUkwpKHIpKXthJiYodC5wcmV2ZW50RGVmYXVsdCgpLGxvY2F0aW9uLnJlcGxhY2UocikpO3JldHVybn1pZih0LnByZXZlbnREZWZhdWx0KCksbyl7bGV0IGU9ITE7aWYobyh7cHJldmVudERlZmF1bHQ6KCk9PntlPSEwfX0pLGUpcmV0dXJufWxldHtkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOmR9PWUucig5OTc4MSk7cy5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbigoKT0+e2QocixhPyJyZXBsYWNlIjoicHVzaCIsITE9PT1sP2guU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6aC5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LG4uY3VycmVudCxpKX0pfX0odCwkLGosTyx3LEEsRSl9LG9uTW91c2VFbnRlcihlKXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgTXx8TShlKSxSJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbk1vdXNlRW50ZXImJmwucHJvcHMub25Nb3VzZUVudGVyKGUpLEQmJkYmJigwLHAub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT1CKX0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe1J8fCJmdW5jdGlvbiIhPXR5cGVvZiBUfHxUKGUpLFImJmwucHJvcHMmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnByb3BzLm9uVG91Y2hTdGFydCYmbC5wcm9wcy5vblRvdWNoU3RhcnQoZSksRCYmRiYmKDAscC5vbk5hdmlnYXRpb25JbnRlbnQpKGUuY3VycmVudFRhcmdldCwhMD09PUIpfX07cmV0dXJuKDAsZC5pc0Fic29sdXRlVXJsKSgkKT9XLmhyZWY9JDpSJiYhUCYmKCJhIiE9PWwudHlwZXx8ImhyZWYiaW4gbC5wcm9wcyl8fChXLmhyZWY9KDAsZi5hZGRCYXNlUGF0aCkoJCkpLGI9Uj9zLmRlZmF1bHQuY2xvbmVFbGVtZW50KGwsVyk6KDAsby5qc3gpKCJhIix7Li4uSSwuLi5XLGNoaWxkcmVuOmF9KSwoMCxvLmpzeCkoZy5Qcm92aWRlcix7dmFsdWU6eSxjaGlsZHJlbjpifSl9ZS5yKDg0NTA4KTtsZXQgZz0oMCxzLmNyZWF0ZUNvbnRleHQpKHAuSURMRV9MSU5LX1NUQVRVUykseT0oKT0+KDAscy51c2VDb250ZXh0KShnKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjY1LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSgyMjAxNiksbj1lLmkoNzE2NDUpLGE9ZS5pKDU5NTQ0KSxsPWUuaSgxNzI1NSk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbigpe2xldHtkYXRhOmV9PSgwLGwudXNlU2Vzc2lvbikoKSxbbyxzXT0oMCxuLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsdC5qc3hzKSgibmF2Iix7Y2xhc3NOYW1lOiJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy1ibGFjay84MCBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCIsY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46KDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiIsY2hpbGRyZW46WygwLHQuanN4cykoci5kZWZhdWx0LHtocmVmOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LTJ4bCIsY2hpbGRyZW46IuKbjyJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQteGwiLGNoaWxkcmVuOiJIYXNoVmF1bHQifSldfSksKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkNvbnRhY3QifSldfSksKDAsdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46ZT8oMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjaGlsZHJlbjooMCx0LmpzeCkoYS5kZWZhdWx0LHt2YXJpYW50OiJvdXRsaW5lIixzaXplOiJzbSIsY2hpbGRyZW46IkRhc2hib2FyZCJ9KX0pLCgwLHQuanN4KShhLmRlZmF1bHQse3ZhcmlhbnQ6Imdob3N0IixzaXplOiJzbSIsb25DbGljazooKT0+KDAsbC5zaWduT3V0KSh7Y2FsbGJhY2tVcmw6Ii9hdXRoL2xvZ2luIn0pLGNoaWxkcmVuOiJTaWduIE91dCJ9KV19KTooMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9sb2dpbiIsY2hpbGRyZW46KDAsdC5qc3gpKGEuZGVmYXVsdCx7dmFyaWFudDoiZ2hvc3QiLHNpemU6InNtIixjaGlsZHJlbjoiTG9naW4ifSl9KSwoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9yZWdpc3RlciIsY2hpbGRyZW46KDAsdC5qc3gpKGEuZGVmYXVsdCx7c2l6ZToic20iLGNoaWxkcmVuOiJHZXQgU3RhcnRlZCJ9KX0pXX0pfSksKDAsdC5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6Im1kOmhpZGRlbiB0ZXh0LWdyYXktNDAwIixvbkNsaWNrOigpPT5zKCFvKSxjaGlsZHJlbjooMCx0LmpzeCkoInN2ZyIse2NsYXNzTmFtZToidy02IGgtNiIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHZpZXdCb3g6IjAgMCAyNCAyNCIsY2hpbGRyZW46KDAsdC5qc3gpKCJwYXRoIix7c3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3Ryb2tlV2lkdGg6MixkOm8/Ik02IDE4TDE4IDZNNiA2bDEyIDEyIjoiTTQgNmgxNk00IDEyaDE2TTQgMThoMTYifSl9KX0pXX0pfSksbyYmKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJtZDpoaWRkZW4gYmctZ3JheS05MDAgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIHB4LTQgcHktNCBzcGFjZS15LTMiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkNvbnRhY3QifSksZT8oMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pOigwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9hdXRoL2xvZ2luIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiTG9naW4gLyBSZWdpc3RlciJ9KV19KV19KX1dKX1dKTs="}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0e51idyc9ylrr.css","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.516Z","timestamp":1785136352516,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0e51idyc9ylrr.css HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 6506\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0e51idyc9ylrr.css\"\r\ncontent-encoding: br\r\ncontent-type: text/css; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"0cde8e39c3cb2965426b5b3813b80906\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:05 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0e51idyc9ylrr.css\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136352521-90a94e0525d9\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":23981,"size_decoded":6376,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (21949)","md5":"0cde8e39c3cb2965426b5b3813b80906","sha1":"fd5495a8b7bd10ec9f663abe9d5597b37e0f6d72","sha256":"bc70d8f2ebde6e8f42c62e18f5489a159aae1e311d70b327d30d8d0c9be3e339","sha512":"67ae737c7677a7a471f79847777b6f84b278c47e350a6bf971d92d7f2424d11e293dd78d1e85d2ef6089011d08ec3f9d449dbd6af96ba29bfc9257c45c1f791c","ssdeep":"192:+t75O9c7JXSaYOaqQufsfAsfdsflsf9sfvsfkN0x0jbncBaLKXh7h+3LCLbFf9TY:+nOwZEuvNRjLcNGbejTx/FrNSD","tlshash":"20b2a52e6a55043fac2780f6d2d9ba9cb416f0c1df2663e6ed8216019fe62f72d53604","first_seen":"2026-07-27T05:24:49.454788Z","last_seen":"2026-07-27T07:13:55.087545Z","times_seen":3,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpzd2FwO3NyYzp1cmwoLi4vbWVkaWEvMmM1NWEwZTYwMTIwNTc3YS1zLjBiamM1dGl1cWRxcm8ud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSs0NjAtNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5OnN3YXA7c3JjOnVybCguLi9tZWRpYS85YzcyYWEwZjQwZTRlZWY4LXMuMG02dzQ3YTRlNWR5OS53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpzd2FwO3NyYzp1cmwoLi4vbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjExdTA2cjEyZmQ2dl8ud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxRj8/fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6c3dhcDtzcmM6dXJsKC4uL21lZGlhLzU0NzZmNjhkNjA0NjA5MzAtcy4wd3hxOXdlYmYuZXc0LndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMzcwLTM3NyxVKzM3QS0zN0YsVSszODQtMzhBLFUrMzhDLFUrMzhFLTNBMSxVKzNBMy0zRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpzd2FwO3NyYzp1cmwoLi4vbWVkaWEvMmJiZThkMjY3MTYxM2YxZi1zLjA2N3hfNmswazIzdGsud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6c3dhcDtzcmM6dXJsKC4uL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy4xNmlwYjZmcXUzOTNpLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMTAwLTJCQSxVKzJCRC0yQzUsVSsyQzctMkNDLFUrMkNFLTJENyxVKzJERC0yRkYsVSszMDQsVSszMDgsVSszMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5OnN3YXA7c3JjOnVybCguLi9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4wcS0zMDF2NGt4eG5yLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrPz8sVSsxMzEsVSsxNTItMTUzLFUrMkJCLTJCQyxVKzJDNixVKzJEQSxVKzJEQyxVKzMwNCxVKzMwOCxVKzMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXIgRmFsbGJhY2s7c3JjOmxvY2FsKEFyaWFsKTthc2NlbnQtb3ZlcnJpZGU6OTAuNDQlO2Rlc2NlbnQtb3ZlcnJpZGU6MjIuNTIlO2xpbmUtZ2FwLW92ZXJyaWRlOjAuMCU7c2l6ZS1hZGp1c3Q6MTA3LjEyJX0uaW50ZXJfNTk3MmJjMzQtbW9kdWxlX19PVTE2UWFfX2NsYXNzTmFtZXtmb250LWZhbWlseTpJbnRlcixJbnRlciBGYWxsYmFjaztmb250LXN0eWxlOm5vcm1hbH0KKiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1wYW4teDogOy0tdHctcGFuLXk6IDstLXR3LXBpbmNoLXpvb206IDstLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiA7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogOy0tdHctb3JkaW5hbDogOy0tdHctc2xhc2hlZC16ZXJvOiA7LS10dy1udW1lcmljLWZpZ3VyZTogOy0tdHctbnVtZXJpYy1zcGFjaW5nOiA7LS10dy1udW1lcmljLWZyYWN0aW9uOiA7LS10dy1yaW5nLWluc2V0OiA7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1jb2xvcjojM2I4MmY2ODA7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMCAjMDAwMDstLXR3LWJsdXI6IDstLXR3LWJyaWdodG5lc3M6IDstLXR3LWNvbnRyYXN0OiA7LS10dy1ncmF5c2NhbGU6IDstLXR3LWh1ZS1yb3RhdGU6IDstLXR3LWludmVydDogOy0tdHctc2F0dXJhdGU6IDstLXR3LXNlcGlhOiA7LS10dy1kcm9wLXNoYWRvdzogOy0tdHctYmFja2Ryb3AtYmx1cjogOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6IDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogOy0tdHctYmFja2Ryb3AtaW52ZXJ0OiA7LS10dy1iYWNrZHJvcC1vcGFjaXR5OiA7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogOy0tdHctYmFja2Ryb3Atc2VwaWE6IDstLXR3LWNvbnRhaW4tc2l6ZTogOy0tdHctY29udGFpbi1sYXlvdXQ6IDstLXR3LWNvbnRhaW4tcGFpbnQ6IDstLXR3LWNvbnRhaW4tc3R5bGU6IH0qLDpiZWZvcmUsOmFmdGVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZCAjZTVlN2VifTpiZWZvcmUsOmFmdGVyey0tdHctY29udGVudDoiIn1odG1sLDpob3N0ey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3RhYi1zaXplOjQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7bGluZS1oZWlnaHQ6MS41fWJvZHl7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZH1oMSxoMixoMyxoNCxoNSxoNntmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0fWF7Y29sb3I6aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0fWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxzYW1wLHByZXtmb250LWZlYXR1cmUtc2V0dGluZ3M6bm9ybWFsO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOm5vcm1hbDtmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDttYXJnaW46MDtwYWRkaW5nOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dKSxpbnB1dDp3aGVyZShbdHlwZT1yZXNldF0pLGlucHV0OndoZXJlKFt0eXBlPXN1Ym1pdF0pey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247YmFja2dyb3VuZC1jb2xvcjojMDAwMDtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b306LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Zm9udDppbmhlcml0fXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19YmxvY2txdW90ZSxkbCxkZCxoMSxoMixoMyxoNCxoNSxoNixocixmaWd1cmUscCxwcmV7bWFyZ2luOjB9ZmllbGRzZXR7bWFyZ2luOjA7cGFkZGluZzowfWxlZ2VuZHtwYWRkaW5nOjB9b2wsdWwsbWVudXttYXJnaW46MDtwYWRkaW5nOjA7bGlzdC1zdHlsZTpub25lfWRpYWxvZ3twYWRkaW5nOjB9dGV4dGFyZWF7cmVzaXplOnZlcnRpY2FsfWlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXJ7b3BhY2l0eToxO2NvbG9yOiM5Y2EzYWZ9YnV0dG9uLFtyb2xlPWJ1dHRvbl17Y3Vyc29yOnBvaW50ZXJ9OmRpc2FibGVke2N1cnNvcjpkZWZhdWx0fWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmV9LnBvaW50ZXItZXZlbnRzLW5vbmV7cG9pbnRlci1ldmVudHM6bm9uZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LmFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5zZXQtMHtpbnNldDowfS4tcmlnaHQtMXtyaWdodDotLjI1cmVtfS4tdG9wLTF7dG9wOi0uMjVyZW19Li10b3AtM3t0b3A6LS43NXJlbX0uLXRvcC00e3RvcDotMXJlbX0uYm90dG9tLTB7Ym90dG9tOjB9LmJvdHRvbS0xMntib3R0b206M3JlbX0ubGVmdC0we2xlZnQ6MH0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTV7bGVmdDoxLjI1cmVtfS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTN7cmlnaHQ6Ljc1cmVtfS5yaWdodC00e3JpZ2h0OjFyZW19LnRvcC0we3RvcDowfS50b3AtMXt0b3A6LjI1cmVtfS50b3AtMVwvMnt0b3A6NTAlfS50b3AtMTR7dG9wOjMuNXJlbX0udG9wLTN7dG9wOi43NXJlbX0udG9wLTR7dG9wOjFyZW19LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9Li1teC00e21hcmdpbi1sZWZ0Oi0xcmVtO21hcmdpbi1yaWdodDotMXJlbX0ubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5tYi0wXC41e21hcmdpbi1ib3R0b206LjEyNXJlbX0ubWItMXttYXJnaW4tYm90dG9tOi4yNXJlbX0ubWItMVwuNXttYXJnaW4tYm90dG9tOi4zNzVyZW19Lm1iLTEwe21hcmdpbi1ib3R0b206Mi41cmVtfS5tYi0xMnttYXJnaW4tYm90dG9tOjNyZW19Lm1iLTE2e21hcmdpbi1ib3R0b206NHJlbX0ubWItMnttYXJnaW4tYm90dG9tOi41cmVtfS5tYi0ze21hcmdpbi1ib3R0b206Ljc1cmVtfS5tYi00e21hcmdpbi1ib3R0b206MXJlbX0ubWItNnttYXJnaW4tYm90dG9tOjEuNXJlbX0ubWItOHttYXJnaW4tYm90dG9tOjJyZW19Lm1sLTJ7bWFyZ2luLWxlZnQ6LjVyZW19Lm1sLTN7bWFyZ2luLWxlZnQ6Ljc1cmVtfS5tdC0wXC41e21hcmdpbi10b3A6LjEyNXJlbX0ubXQtMXttYXJnaW4tdG9wOi4yNXJlbX0ubXQtMVwuNXttYXJnaW4tdG9wOi4zNzVyZW19Lm10LTEwe21hcmdpbi10b3A6Mi41cmVtfS5tdC0xMnttYXJnaW4tdG9wOjNyZW19Lm10LTE2e21hcmdpbi10b3A6NHJlbX0ubXQtMnttYXJnaW4tdG9wOi41cmVtfS5tdC0yMHttYXJnaW4tdG9wOjVyZW19Lm10LTN7bWFyZ2luLXRvcDouNzVyZW19Lm10LTR7bWFyZ2luLXRvcDoxcmVtfS5tdC02e21hcmdpbi10b3A6MS41cmVtfS5tdC04e21hcmdpbi10b3A6MnJlbX0uYmxvY2t7ZGlzcGxheTpibG9ja30uaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0udGFibGV7ZGlzcGxheTp0YWJsZX0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtMVwuNXtoZWlnaHQ6LjM3NXJlbX0uaC0xNHtoZWlnaHQ6My41cmVtfS5oLTE2e2hlaWdodDo0cmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjh7aGVpZ2h0OjdyZW19LmgtNHtoZWlnaHQ6MXJlbX0uaC02e2hlaWdodDoxLjVyZW19LmgtNjR7aGVpZ2h0OjE2cmVtfS5oLTh7aGVpZ2h0OjJyZW19LmgtXFs2MDBweFxde2hlaWdodDo2MDBweH0ubWF4LWgtODB7bWF4LWhlaWdodDoyMHJlbX0ubWluLWgtXFs5MHZoXF17bWluLWhlaWdodDo5MHZofS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0udy0xXC41e3dpZHRoOi4zNzVyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy00e3dpZHRoOjFyZW19LnctNTZ7d2lkdGg6MTRyZW19LnctNnt3aWR0aDoxLjVyZW19LnctNjR7d2lkdGg6MTZyZW19LnctODB7d2lkdGg6MjByZW19LnctXFs2MDBweFxde3dpZHRoOjYwMHB4fS53LWZ1bGx7d2lkdGg6MTAwJX0ubWluLXctXFs1MDBweFxde21pbi13aWR0aDo1MDBweH0ubWluLXctXFs2MDBweFxde21pbi13aWR0aDo2MDBweH0ubWluLXctXFs3MDBweFxde21pbi13aWR0aDo3MDBweH0ubWF4LXctMnhse21heC13aWR0aDo0MnJlbX0ubWF4LXctM3hse21heC13aWR0aDo0OHJlbX0ubWF4LXctNHhse21heC13aWR0aDo1NnJlbX0ubWF4LXctNXhse21heC13aWR0aDo2NHJlbX0ubWF4LXctN3hse21heC13aWR0aDo4MHJlbX0ubWF4LXctbGd7bWF4LXdpZHRoOjMycmVtfS5tYXgtdy1tZHttYXgtd2lkdGg6MjhyZW19Lm1heC13LXNte21heC13aWR0aDoyNHJlbX0ubWF4LXcteGx7bWF4LXdpZHRoOjM2cmVtfS5mbGV4LTF7ZmxleDoxfS5mbGV4LXNocmluay0we2ZsZXgtc2hyaW5rOjB9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6LTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSwgdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS4tdHJhbnNsYXRlLXgtZnVsbHstLXR3LXRyYW5zbGF0ZS14Oi0xMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3WCh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9Li10cmFuc2xhdGUteS0xXC8yey0tdHctdHJhbnNsYXRlLXk6LTUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSwgdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteC0wey0tdHctdHJhbnNsYXRlLXg6MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3WCh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnRyYW5zbGF0ZS14LTF7LS10dy10cmFuc2xhdGUteDouMjVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksIHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXdYKHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX0udHJhbnNsYXRlLXgtN3stLXR3LXRyYW5zbGF0ZS14OjEuNzVyZW07dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksIHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXdYKHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX1Aa2V5ZnJhbWVzIHB1bHNlezUwJXtvcGFjaXR5Oi41fX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmFuaW1hdGUtc3BpbnthbmltYXRpb246MXMgbGluZWFyIGluZmluaXRlIHNwaW59LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LnJlc2l6ZS1ub25le3Jlc2l6ZTpub25lfS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZ3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5mbGV4LWNvbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0wXC41e2dhcDouMTI1cmVtfS5nYXAtMXtnYXA6LjI1cmVtfS5nYXAtMVwuNXtnYXA6LjM3NXJlbX0uZ2FwLTJ7Z2FwOi41cmVtfS5nYXAtM3tnYXA6Ljc1cmVtfS5nYXAtNHtnYXA6MXJlbX0uZ2FwLTZ7Z2FwOjEuNXJlbX0uZ2FwLTh7Z2FwOjJyZW19LnNwYWNlLXktMT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYyguMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC4yNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTFcLjU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjM3NXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoLjM3NXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktMz46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYyguNzVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC43NXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTQ+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoMXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTttYXJnaW4tYm90dG9tOmNhbGMoMXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpfS5zcGFjZS15LTY+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoMS41cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKX0uZGl2aWRlLXk+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS10dy1kaXZpZGUteS1yZXZlcnNlOjA7Ym9yZGVyLXRvcC13aWR0aDpjYWxjKDFweCAqIGNhbGMoMSAtIHZhcigtLXR3LWRpdmlkZS15LXJldmVyc2UpKSk7Ym9yZGVyLWJvdHRvbS13aWR0aDpjYWxjKDFweCAqIHZhcigtLXR3LWRpdmlkZS15LXJldmVyc2UpKX0uZGl2aWRlLWdyYXktODAwPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdHctZGl2aWRlLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LWRpdmlkZS1vcGFjaXR5LDEpKX0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWF1dG97b3ZlcmZsb3cteDphdXRvfS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5icmVhay1hbGx7d29yZC1icmVhazpicmVhay1hbGx9LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC1mdWxse2JvcmRlci1yYWRpdXM6OTk5OXB4fS5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtc217Ym9yZGVyLXJhZGl1czouMTI1cmVtfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Ljc1cmVtfS5ib3JkZXJ7Ym9yZGVyLXdpZHRoOjFweH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXl7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItdHtib3JkZXItdG9wLXdpZHRoOjFweH0uYm9yZGVyLWFtYmVyLTUwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyNDUgMTU4IDExL3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5LDEpKX0uYm9yZGVyLWFtYmVyLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiNmNTllMGIzM30uYm9yZGVyLWFtYmVyLTUwMFwvMzB7Ym9yZGVyLWNvbG9yOiNmNTllMGI0ZH0uYm9yZGVyLWFtYmVyLTUwMFwvNTB7Ym9yZGVyLWNvbG9yOiNmNTllMGI4MH0uYm9yZGVyLWJsYWNrey0tdHctYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDAgMCAwL3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5LDEpKX0uYm9yZGVyLWJsdWUtNTAwXC8yMHtib3JkZXItY29sb3I6IzNiODJmNjMzfS5ib3JkZXItZ3JheS02MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzUgODUgOTkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItZ3JheS03MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNTUgNjUgODEvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItZ3JheS04MDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMzEgNDEgNTUvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItZ3JlZW4tNTAwXC8yMHtib3JkZXItY29sb3I6IzIyYzU1ZTMzfS5ib3JkZXItcmVkLTUwMFwvMjB7Ym9yZGVyLWNvbG9yOiNlZjQ0NDQzM30uYmctYW1iZXItNDAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI1MSAxOTEgMzYvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLWFtYmVyLTUwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMTU4IDExL3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1hbWJlci01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6I2Y1OWUwYjFhfS5iZy1hbWJlci01MDBcLzV7YmFja2dyb3VuZC1jb2xvcjojZjU5ZTBiMGR9LmJnLWJsYWNrey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDAgMCAwL3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1ibGFja1wvNjB7YmFja2dyb3VuZC1jb2xvcjojMDAwOX0uYmctYmxhY2tcLzcwe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMGIzfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctYmx1ZS01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6IzNiODJmNjFhfS5iZy1ncmF5LTYwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig3NSA4NSA5OS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctZ3JheS03MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTUgNjUgODEvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLWdyYXktODAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1ncmF5LTkwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNyAyNCAzOS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctZ3JheS05MDBcLzMwe2JhY2tncm91bmQtY29sb3I6IzExMTgyNzRkfS5iZy1ncmF5LTkwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojMTExODI3ODB9LmJnLWdyZWVuLTQwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig3NCAyMjIgMTI4L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1ncmVlbi01MDBcLzEwe2JhY2tncm91bmQtY29sb3I6IzIyYzU1ZTFhfS5iZy1yZWQtNTAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctcmVkLTUwMFwvMTB7YmFja2dyb3VuZC1jb2xvcjojZWY0NDQ0MWF9LmJnLXJlZC02MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjIwIDM4IDM4L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy13aGl0ZXstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctZ3JhZGllbnQtdG8tYntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmJnLWdyYWRpZW50LXRvLXJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmZyb20tYW1iZXItNTAwey0tdHctZ3JhZGllbnQtZnJvbTojZjU5ZTBiIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86I2Y1OWUwYjAwIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYW1iZXItNTAwXC8xMHstLXR3LWdyYWRpZW50LWZyb206I2Y1OWUwYjFhIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtdG86I2Y1OWUwYjAwIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LWZyb20pLCB2YXIoLS10dy1ncmFkaWVudC10byl9LmZyb20tYW1iZXItNTAwXC81ey0tdHctZ3JhZGllbnQtZnJvbTojZjU5ZTBiMGQgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbik7LS10dy1ncmFkaWVudC10bzojZjU5ZTBiMDAgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udmlhLXRyYW5zcGFyZW50ey0tdHctZ3JhZGllbnQtdG86IzAwMDAgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtZnJvbSksIHRyYW5zcGFyZW50IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKX0udG8tb3JhbmdlLTQwMHstLXR3LWdyYWRpZW50LXRvOiNmYjkyM2MgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pfS50by1vcmFuZ2UtNTAwXC81ey0tdHctZ3JhZGllbnQtdG86I2Y5NzMxNjBkIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0udG8tdHJhbnNwYXJlbnR7LS10dy1ncmFkaWVudC10bzp0cmFuc3BhcmVudCB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbil9LnAtMntwYWRkaW5nOi41cmVtfS5wLTN7cGFkZGluZzouNzVyZW19LnAtNHtwYWRkaW5nOjFyZW19LnAtNXtwYWRkaW5nOjEuMjVyZW19LnAtNntwYWRkaW5nOjEuNXJlbX0ucC04e3BhZGRpbmc6MnJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtMlwuNXtwYWRkaW5nLWxlZnQ6LjYyNXJlbTtwYWRkaW5nLXJpZ2h0Oi42MjVyZW19LnB4LTN7cGFkZGluZy1sZWZ0Oi43NXJlbTtwYWRkaW5nLXJpZ2h0Oi43NXJlbX0ucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTV7cGFkZGluZy1sZWZ0OjEuMjVyZW07cGFkZGluZy1yaWdodDoxLjI1cmVtfS5weC02e3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LnB4LTd7cGFkZGluZy1sZWZ0OjEuNzVyZW07cGFkZGluZy1yaWdodDoxLjc1cmVtfS5weS0wXC41e3BhZGRpbmctdG9wOi4xMjVyZW07cGFkZGluZy1ib3R0b206LjEyNXJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0xXC41e3BhZGRpbmctdG9wOi4zNzVyZW07cGFkZGluZy1ib3R0b206LjM3NXJlbX0ucHktMTJ7cGFkZGluZy10b3A6M3JlbTtwYWRkaW5nLWJvdHRvbTozcmVtfS5weS0xNntwYWRkaW5nLXRvcDo0cmVtO3BhZGRpbmctYm90dG9tOjRyZW19LnB5LTJ7cGFkZGluZy10b3A6LjVyZW07cGFkZGluZy1ib3R0b206LjVyZW19LnB5LTJcLjV7cGFkZGluZy10b3A6LjYyNXJlbTtwYWRkaW5nLWJvdHRvbTouNjI1cmVtfS5weS0yMHtwYWRkaW5nLXRvcDo1cmVtO3BhZGRpbmctYm90dG9tOjVyZW19LnB5LTN7cGFkZGluZy10b3A6Ljc1cmVtO3BhZGRpbmctYm90dG9tOi43NXJlbX0ucHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnB5LTZ7cGFkZGluZy10b3A6MS41cmVtO3BhZGRpbmctYm90dG9tOjEuNXJlbX0ucGItMntwYWRkaW5nLWJvdHRvbTouNXJlbX0ucGItMjB7cGFkZGluZy1ib3R0b206NXJlbX0ucHItNHtwYWRkaW5nLXJpZ2h0OjFyZW19LnB0LTJ7cGFkZGluZy10b3A6LjVyZW19LnB0LTI0e3BhZGRpbmctdG9wOjZyZW19LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmZvbnQtbW9ub3tmb250LWZhbWlseTp1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLExpYmVyYXRpb24gTW9ubyxDb3VyaWVyIE5ldyxtb25vc3BhY2V9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC0zeGx7Zm9udC1zaXplOjEuODc1cmVtO2xpbmUtaGVpZ2h0OjIuMjVyZW19LnRleHQtNHhse2ZvbnQtc2l6ZToyLjI1cmVtO2xpbmUtaGVpZ2h0OjIuNXJlbX0udGV4dC01eGx7Zm9udC1zaXplOjNyZW07bGluZS1oZWlnaHQ6MX0udGV4dC02eGx7Zm9udC1zaXplOjMuNzVyZW07bGluZS1oZWlnaHQ6MX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1sZ3tmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0udGV4dC1zbXtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjI1cmVtfS50ZXh0LXhse2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQteHN7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxcmVtfS5mb250LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtc2VtaWJvbGR7Zm9udC13ZWlnaHQ6NjAwfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwpIHZhcigtLXR3LXNsYXNoZWQtemVybykgdmFyKC0tdHctbnVtZXJpYy1maWd1cmUpIHZhcigtLXR3LW51bWVyaWMtc3BhY2luZykgdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbil9LmxlYWRpbmctcmVsYXhlZHtsaW5lLWhlaWdodDoxLjYyNX0ubGVhZGluZy10aWdodHtsaW5lLWhlaWdodDoxLjI1fS50ZXh0LWFtYmVyLTMwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTIgMjExIDc3L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtYW1iZXItNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1MSAxOTEgMzYvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1ibGFja3stLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWJsdWUtNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDk2IDE2NSAyNTAvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1ncmF5LTMwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWdyYXktNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtZ3JheS01MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTA3IDExNCAxMjgvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1ncmF5LTYwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYig3NSA4NSA5OS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWdyZWVuLTQwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYig3NCAyMjIgMTI4L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtb3JhbmdlLTQwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTEgMTQ2IDYwL3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtcHVycGxlLTQwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxOTIgMTMyIDI1Mi92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LXJlZC00MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjQ4IDExMyAxMTMvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC13aGl0ZXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0yNXtvcGFjaXR5Oi4yNX0ub3BhY2l0eS02MHtvcGFjaXR5Oi42fS5vcGFjaXR5LTc1e29wYWNpdHk6Ljc1fS5zaGFkb3ctMnhsey0tdHctc2hhZG93OjAgMjVweCA1MHB4IC0xMnB4ICMwMDAwMDA0MDstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMjVweCA1MHB4IC0xMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3csMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnNvbGlkfS5yaW5nLTF7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpIHZhcigtLXR3LXJpbmctb2Zmc2V0LWNvbG9yKTstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93LDAgMCAjMDAwMCl9LnJpbmctMnstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOy0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCkgMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpIHZhcigtLXR3LXJpbmctY29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3csMCAwICMwMDAwKX0ucmluZy1hbWJlci01MDBcLzIwey0tdHctcmluZy1jb2xvcjojZjU5ZTBiMzN9LnJpbmctYW1iZXItNTAwXC8zMHstLXR3LXJpbmctY29sb3I6I2Y1OWUwYjRkfS5ibHVyLTN4bHstLXR3LWJsdXI6Ymx1cig2NHB4KTtmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyKSB2YXIoLS10dy1icmlnaHRuZXNzKSB2YXIoLS10dy1jb250cmFzdCkgdmFyKC0tdHctZ3JheXNjYWxlKSB2YXIoLS10dy1odWUtcm90YXRlKSB2YXIoLS10dy1pbnZlcnQpIHZhcigtLXR3LXNhdHVyYXRlKSB2YXIoLS10dy1zZXBpYSkgdmFyKC0tdHctZHJvcC1zaGFkb3cpfS5iYWNrZHJvcC1ibHVyLW1key0tdHctYmFja2Ryb3AtYmx1cjpibHVyKDEycHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1cikgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcykgdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QpIHZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSkgdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0KSB2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSkgdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi10cmFuc2Zvcm17dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0yMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9LmVhc2UtaW4tb3V0e3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50ZXh0LWdyYWRpZW50LWdvbGR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCNmNTllMGIsI2ZiYmYyNCk7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dH0qe2JveC1zaXppbmc6Ym9yZGVyLWJveH1ib2R5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5ob3Zlclw6Ym9yZGVyLWFtYmVyLTUwMFwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOiNmNTllMGI0ZH0uaG92ZXJcOmJvcmRlci1ncmF5LTYwMDpob3ZlcnstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig3NSA4NSA5OS92YXIoLS10dy1ib3JkZXItb3BhY2l0eSwxKSl9LmhvdmVyXDpiZy1hbWJlci00MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUxIDE5MSAzNi92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uaG92ZXJcOmJnLWFtYmVyLTUwMFwvMTA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjU5ZTBiMWF9LmhvdmVyXDpiZy1ncmF5LTYwMDpob3ZlcnstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig3NSA4NSA5OS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uaG92ZXJcOmJnLXJlZC01MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5ob3Zlclw6YmctcmVkLTUwMFwvNTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjQ0NDQwZH0uaG92ZXJcOmJnLXdoaXRlXC81OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjBkfS5ob3Zlclw6dGV4dC1hbWJlci0zMDA6aG92ZXJ7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjUyIDIxMSA3Ny92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS5ob3Zlclw6dGV4dC1hbWJlci00MDA6aG92ZXJ7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjUxIDE5MSAzNi92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS5ob3Zlclw6dGV4dC1ncmF5LTQwMDpob3ZlcnstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxNTYgMTYzIDE3NS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS5ob3Zlclw6dGV4dC1yZWQtNDAwOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI0OCAxMTMgMTEzL3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LmhvdmVyXDp0ZXh0LXdoaXRlOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LmZvY3VzXDpib3JkZXItYW1iZXItNTAwOmZvY3Vzey0tdHctYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDI0NSAxNTggMTEvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3Vze291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lOjJweCBzb2xpZCAjMDAwMH0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDpvcGFjaXR5LTUwOmRpc2FibGVke29wYWNpdHk6LjV9QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVw6bXgtMHttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5zbVw6YmxvY2t7ZGlzcGxheTpibG9ja30uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5zbVw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVw6Z2FwLTh7Z2FwOjJyZW19LnNtXDpweC0we3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uc21cOnB4LTZ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0uc21cOnB5LTE2e3BhZGRpbmctdG9wOjRyZW07cGFkZGluZy1ib3R0b206NHJlbX0uc21cOnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0uc21cOnRleHQtM3hse2ZvbnQtc2l6ZToxLjg3NXJlbTtsaW5lLWhlaWdodDoyLjI1cmVtfS5zbVw6dGV4dC01eGx7Zm9udC1zaXplOjNyZW07bGluZS1oZWlnaHQ6MX0uc21cOnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5tZFw6ZmxleHtkaXNwbGF5OmZsZXh9Lm1kXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFw6dGV4dC03eGx7Zm9udC1zaXplOjQuNXJlbTtsaW5lLWhlaWdodDoxfS5tZFw6dGV4dC14bHtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtfX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey5sZ1w6ZmxleHtkaXNwbGF5OmZsZXh9LmxnXDpoaWRkZW57ZGlzcGxheTpub25lfS5sZ1w6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5sZ1w6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5sZ1w6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5sZ1w6cHgtOHtwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19fUBtZWRpYSAobWluLXdpZHRoOjEyODBweCl7LnhsXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9fQo="}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/16i.vm_.6ma_u.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.530Z","timestamp":1785136352530,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/16i.vm_.6ma_u.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"16i.vm_.6ma_u.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"b07ba12bea3b3e88868d21bf7d8aaf68\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/16i.vm_.6ma_u.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dnmw9-1785136352535-4916a7b7fae7\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":47652,"size_decoded":15981,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (35238)","md5":"b07ba12bea3b3e88868d21bf7d8aaf68","sha1":"4fe6ad585838a51ce9d3fc48442801fc0060c0a4","sha256":"e11717d1bbd42223ef1e057d4c97185d29258fa55e5bcb89584d0b2eb226d79c","sha512":"6b0deb68dc98da20e3002204235e1bd3bad46beb6f83beef3f417f7a5ff50e2ff26e2604cea73d4a0ff9c8a182229e92b2b19c407385390ab5891a7b4e9566d4","ssdeep":"768:8QY+FmARrYdv/6rCwlEdVYFkrAJ/BP/pg0and/CbJCUAM/aWwQPa/Xx9:XYERrYd3CCwWrYeAtBS0adGQfQPaPx9","tlshash":"e523f6ca71c2f0a203e7c16a403f5206f2291c5a645ce8a0f3a5dde67a25d1ee273f75","first_seen":"2026-07-27T05:24:49.474298Z","last_seen":"2026-07-27T07:13:55.097052Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDMzNTI1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319LDE4OTY3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEZWNvZGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBifSxNaWRkbGV3YXJlTm90Rm91bmRFcnJvcjpmdW5jdGlvbigpe3JldHVybiB3fSxNaXNzaW5nU3RhdGljUGFnZTpmdW5jdGlvbigpe3JldHVybiB4fSxOb3JtYWxpemVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBnfSxQYWdlTm90Rm91bmRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBtfSxTUDpmdW5jdGlvbigpe3JldHVybiB5fSxTVDpmdW5jdGlvbigpe3JldHVybiBofSxXRUJfVklUQUxTOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGV4ZWNPbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldERpc3BsYXlOYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGdldExvY2F0aW9uT3JpZ2luOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGdldFVSTDpmdW5jdGlvbigpe3JldHVybiBsfSxpc0Fic29sdXRlVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGlzUmVzU2VudDpmdW5jdGlvbigpe3JldHVybiBkfSxsb2FkR2V0SW5pdGlhbFByb3BzOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlczpmdW5jdGlvbigpe3JldHVybiBwfSxzdHJpbmdpZnlFcnJvcjpmdW5jdGlvbigpe3JldHVybiBffX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCBhPVsiQ0xTIiwiRkNQIiwiRklEIiwiSU5QIiwiTENQIiwiVFRGQiJdO2Z1bmN0aW9uIHMoZSl7bGV0IHQscj0hMTtyZXR1cm4oLi4ubik9PihyfHwocj0hMCx0PWUoLi4ubikpLHQpfWxldCBpPS9eW2EtekEtWl1bYS16QS1aXGQrXC0uXSo/Oi8sdT1lPT5pLnRlc3QoZSk7ZnVuY3Rpb24gYygpe2xldHtwcm90b2NvbDplLGhvc3RuYW1lOnQscG9ydDpyfT13aW5kb3cubG9jYXRpb247cmV0dXJuYCR7ZX0vLyR7dH0ke3I/IjoiK3I6IiJ9YH1mdW5jdGlvbiBsKCl7bGV0e2hyZWY6ZX09d2luZG93LmxvY2F0aW9uLHQ9YygpO3JldHVybiBlLnN1YnN0cmluZyh0Lmxlbmd0aCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZTplLmRpc3BsYXlOYW1lfHxlLm5hbWV8fCJVbmtub3duIn1mdW5jdGlvbiBkKGUpe3JldHVybiBlLmZpbmlzaGVkfHxlLmhlYWRlcnNTZW50fWZ1bmN0aW9uIHAoZSl7bGV0IHQ9ZS5zcGxpdCgiPyIpO3JldHVybiB0WzBdLnJlcGxhY2UoL1xcL2csIi8iKS5yZXBsYWNlKC9cL1wvKy9nLCIvIikrKHRbMV0/YD8ke3Quc2xpY2UoMSkuam9pbigiPyIpfWA6IiIpfWFzeW5jIGZ1bmN0aW9uIHYoZSx0KXtsZXQgcj10LnJlc3x8dC5jdHgmJnQuY3R4LnJlcztpZighZS5nZXRJbml0aWFsUHJvcHMpcmV0dXJuIHQuY3R4JiZ0LkNvbXBvbmVudD97cGFnZVByb3BzOmF3YWl0IHYodC5Db21wb25lbnQsdC5jdHgpfTp7fTtsZXQgbj1hd2FpdCBlLmdldEluaXRpYWxQcm9wcyh0KTtpZihyJiZkKHIpKXJldHVybiBuO2lmKCFuKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgIiR7ZihlKX0uZ2V0SW5pdGlhbFByb3BzKCkiIHNob3VsZCByZXNvbHZlIHRvIGFuIG9iamVjdC4gQnV0IGZvdW5kICIke259IiBpbnN0ZWFkLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTAyNSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gbn1sZXQgeT0idSI+dHlwZW9mIHBlcmZvcm1hbmNlLGg9eSYmWyJtYXJrIiwibWVhc3VyZSIsImdldEVudHJpZXNCeU5hbWUiXS5ldmVyeShlPT4iZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2VbZV0pO2NsYXNzIGIgZXh0ZW5kcyBFcnJvcnt9Y2xhc3MgZyBleHRlbmRzIEVycm9ye31jbGFzcyBtIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLmNvZGU9IkVOT0VOVCIsdGhpcy5uYW1lPSJQYWdlTm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPWBDYW5ub3QgZmluZCBtb2R1bGUgZm9yIHBhZ2U6ICR7ZX1gfX1jbGFzcyB4IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMubWVzc2FnZT1gRmFpbGVkIHRvIGxvYWQgc3RhdGljIGZpbGUgZm9yIHBhZ2U6ICR7ZX0gJHt0fWB9fWNsYXNzIHcgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5jb2RlPSJFTk9FTlQiLHRoaXMubWVzc2FnZT0iQ2Fubm90IGZpbmQgdGhlIG1pZGRsZXdhcmUgbW9kdWxlIn19ZnVuY3Rpb24gXyhlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe21lc3NhZ2U6ZS5tZXNzYWdlLHN0YWNrOmUuc3RhY2t9KX19LDk4MTgzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthc3NpZ246ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2VhcmNoUGFyYW1zVG9VcmxRdWVyeTpmdW5jdGlvbigpe3JldHVybiBhfSx1cmxRdWVyeVRvU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7ZnVuY3Rpb24gYShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl7bGV0IGU9dFtyXTt2b2lkIDA9PT1lP3Rbcl09bjpBcnJheS5pc0FycmF5KGUpP2UucHVzaChuKTp0W3JdPVtlLG5dfXJldHVybiB0fWZ1bmN0aW9uIHMoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2U6KCJudW1iZXIiIT10eXBlb2YgZXx8aXNOYU4oZSkpJiYiYm9vbGVhbiIhPXR5cGVvZiBlPyIiOlN0cmluZyhlKX1mdW5jdGlvbiBpKGUpe2xldCB0PW5ldyBVUkxTZWFyY2hQYXJhbXM7Zm9yKGxldFtyLG5db2YgT2JqZWN0LmVudHJpZXMoZSkpaWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IGUgb2Ygbil0LmFwcGVuZChyLHMoZSkpO2Vsc2UgdC5zZXQocixzKG4pKTtyZXR1cm4gdH1mdW5jdGlvbiB1KGUsLi4udCl7Zm9yKGxldCByIG9mIHQpe2ZvcihsZXQgdCBvZiByLmtleXMoKSllLmRlbGV0ZSh0KTtmb3IobGV0W3Qsbl1vZiByLmVudHJpZXMoKSllLmFwcGVuZCh0LG4pfXJldHVybiBlfX0sNTc2NixlPT57InVzZSBzdHJpY3QiO2xldCB0LHI7dmFyIG4sbz1lLmkoNzE2NDUpO2xldCBhPXtkYXRhOiIifSxzPS8oPzooW1x1MDA4MC1cdUZGRkZcdy0lQF0rKSAqOj8gKihbXns7XSs/KTt8KFteO317XSo/KSAqeyl8KH1ccyopL2csaT0vXC9cKlteXSo/XCpcL3wgICsvZyx1PS9cbisvZyxjPShlLHQpPT57bGV0IHI9IiIsbj0iIixvPSIiO2ZvcihsZXQgYSBpbiBlKXtsZXQgcz1lW2FdOyJAIj09YVswXT8iaSI9PWFbMV0/cj1hKyIgIitzKyI7IjpuKz0iZiI9PWFbMV0/YyhzLGEpOmErInsiK2MocywiayI9PWFbMV0/IiI6dCkrIn0iOiJvYmplY3QiPT10eXBlb2Ygcz9uKz1jKHMsdD90LnJlcGxhY2UoLyhbXixdKSsvZyxlPT5hLnJlcGxhY2UoLyhbXixdKjpcUytcKFteKV0qXCkpfChbXixdKSsvZyx0PT4vJi8udGVzdCh0KT90LnJlcGxhY2UoLyYvZyxlKTplP2UrIiAiK3Q6dCkpOmEpOm51bGwhPXMmJihhPS9eLS0vLnRlc3QoYSk/YTphLnJlcGxhY2UoL1tBLVpdL2csIi0kJiIpLnRvTG93ZXJDYXNlKCksbys9Yy5wP2MucChhLHMpOmErIjoiK3MrIjsiKX1yZXR1cm4gcisodCYmbz90KyJ7IitvKyJ9IjpvKStufSxsPXt9LGY9ZT0+e2lmKCJvYmplY3QiPT10eXBlb2YgZSl7bGV0IHQ9IiI7Zm9yKGxldCByIGluIGUpdCs9citmKGVbcl0pO3JldHVybiB0fXJldHVybiBlfTtmdW5jdGlvbiBkKGUpe2xldCB0LHIsbj10aGlzfHx7fSxvPWUuY2FsbD9lKG4ucCk6ZTtyZXR1cm4oKGUsdCxyLG4sbyk9Pnt2YXIgYTtsZXQgZD1mKGUpLHA9bFtkXXx8KGxbZF09KGU9PntsZXQgdD0wLHI9MTE7Zm9yKDt0PGUubGVuZ3RoOylyPTEwMSpyK2UuY2hhckNvZGVBdCh0KyspPj4+MDtyZXR1cm4iZ28iK3J9KShkKSk7aWYoIWxbcF0pe2xldCB0PWQhPT1lP2U6KGU9PntsZXQgdCxyLG49W3t9XTtmb3IoO3Q9cy5leGVjKGUucmVwbGFjZShpLCIiKSk7KXRbNF0/bi5zaGlmdCgpOnRbM10/KHI9dFszXS5yZXBsYWNlKHUsIiAiKS50cmltKCksbi51bnNoaWZ0KG5bMF1bcl09blswXVtyXXx8e30pKTpuWzBdW3RbMV1dPXRbMl0ucmVwbGFjZSh1LCIgIikudHJpbSgpO3JldHVybiBuWzBdfSkoZSk7bFtwXT1jKG8/e1siQGtleWZyYW1lcyAiK3BdOnR9OnQscj8iIjoiLiIrcCl9bGV0IHY9ciYmbC5nP2wuZzpudWxsO3JldHVybiByJiYobC5nPWxbcF0pLGE9bFtwXSx2P3QuZGF0YT10LmRhdGEucmVwbGFjZSh2LGEpOi0xPT09dC5kYXRhLmluZGV4T2YoYSkmJih0LmRhdGE9bj9hK3QuZGF0YTp0LmRhdGErYSkscH0pKG8udW5zaGlmdD9vLnJhdz8odD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyPW4ucCxvLnJlZHVjZSgoZSxuLG8pPT57bGV0IGE9dFtvXTtpZihhJiZhLmNhbGwpe2xldCBlPWEociksdD1lJiZlLnByb3BzJiZlLnByb3BzLmNsYXNzTmFtZXx8L15nby8udGVzdChlKSYmZTthPXQ/Ii4iK3Q6ZSYmIm9iamVjdCI9PXR5cGVvZiBlP2UucHJvcHM/IiI6YyhlLCIiKTohMT09PWU/IiI6ZX1yZXR1cm4gZStuKyhudWxsPT1hPyIiOmEpfSwiIikpOm8ucmVkdWNlKChlLHQpPT5PYmplY3QuYXNzaWduKGUsdCYmdC5jYWxsP3Qobi5wKTp0KSx7fSk6bywoZT0+e2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXtsZXQgdD0oZT9lLnF1ZXJ5U2VsZWN0b3IoIiNfZ29vYmVyIik6d2luZG93Ll9nb29iZXIpfHxPYmplY3QuYXNzaWduKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIikse2lubmVySFRNTDoiICIsaWQ6Il9nb29iZXIifSk7cmV0dXJuIHQubm9uY2U9d2luZG93Ll9fbm9uY2VfXyx0LnBhcmVudE5vZGV8fChlfHxkb2N1bWVudC5oZWFkKS5hcHBlbmRDaGlsZCh0KSx0LmZpcnN0Q2hpbGR9cmV0dXJuIGV8fGF9KShuLnRhcmdldCksbi5nLG4ubyxuLmspfWQuYmluZCh7ZzoxfSk7bGV0IHAsdix5LGg9ZC5iaW5kKHtrOjF9KTtmdW5jdGlvbiBiKGUsdCl7bGV0IHI9dGhpc3x8e307cmV0dXJuIGZ1bmN0aW9uKCl7bGV0IG49YXJndW1lbnRzO2Z1bmN0aW9uIG8oYSxzKXtsZXQgaT1PYmplY3QuYXNzaWduKHt9LGEpLHU9aS5jbGFzc05hbWV8fG8uY2xhc3NOYW1lO3IucD1PYmplY3QuYXNzaWduKHt0aGVtZTp2JiZ2KCl9LGkpLHIubz0vICpnb1xkKy8udGVzdCh1KSxpLmNsYXNzTmFtZT1kLmFwcGx5KHIsbikrKHU/IiAiK3U6IiIpLHQmJihpLnJlZj1zKTtsZXQgYz1lO3JldHVybiBlWzBdJiYoYz1pLmFzfHxlLGRlbGV0ZSBpLmFzKSx5JiZjWzBdJiZ5KGkpLHAoYyxpKX1yZXR1cm4gdD90KG8pOm99fXZhciBnPShlLHQpPT4iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHQpOmUsbT0odD0wLCgpPT4oKyt0KS50b1N0cmluZygpKSx4PSgpPT57aWYodm9pZCAwPT09ciYmInUiPnR5cGVvZiB3aW5kb3cpe2xldCBlPW1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIik7cj0hZXx8ZS5tYXRjaGVzfXJldHVybiByfSx3PSJkZWZhdWx0IixfPShlLHQpPT57bGV0e3RvYXN0TGltaXQ6cn09ZS5zZXR0aW5ncztzd2l0Y2godC50eXBlKXtjYXNlIDA6cmV0dXJuey4uLmUsdG9hc3RzOlt0LnRvYXN0LC4uLmUudG9hc3RzXS5zbGljZSgwLHIpfTtjYXNlIDE6cmV0dXJuey4uLmUsdG9hc3RzOmUudG9hc3RzLm1hcChlPT5lLmlkPT09dC50b2FzdC5pZD97Li4uZSwuLi50LnRvYXN0fTplKX07Y2FzZSAyOmxldHt0b2FzdDpufT10O3JldHVybiBfKGUse3R5cGU6KyEhZS50b2FzdHMuZmluZChlPT5lLmlkPT09bi5pZCksdG9hc3Q6bn0pO2Nhc2UgMzpsZXR7dG9hc3RJZDpvfT10O3JldHVybnsuLi5lLHRvYXN0czplLnRvYXN0cy5tYXAoZT0+ZS5pZD09PW98fHZvaWQgMD09PW8/ey4uLmUsZGlzbWlzc2VkOiEwLHZpc2libGU6ITF9OmUpfTtjYXNlIDQ6cmV0dXJuIHZvaWQgMD09PXQudG9hc3RJZD97Li4uZSx0b2FzdHM6W119OnsuLi5lLHRvYXN0czplLnRvYXN0cy5maWx0ZXIoZT0+ZS5pZCE9PXQudG9hc3RJZCl9O2Nhc2UgNTpyZXR1cm57Li4uZSxwYXVzZWRBdDp0LnRpbWV9O2Nhc2UgNjpsZXQgYT10LnRpbWUtKGUucGF1c2VkQXR8fDApO3JldHVybnsuLi5lLHBhdXNlZEF0OnZvaWQgMCx0b2FzdHM6ZS50b2FzdHMubWFwKGU9Pih7Li4uZSxwYXVzZUR1cmF0aW9uOmUucGF1c2VEdXJhdGlvbithfSkpfX19LE89W10sRT17dG9hc3RzOltdLHBhdXNlZEF0OnZvaWQgMCxzZXR0aW5nczp7dG9hc3RMaW1pdDoyMH19LFM9e30saj0oZSx0PXcpPT57U1t0XT1fKFNbdF18fEUsZSksTy5mb3JFYWNoKChbZSxyXSk9PntlPT09dCYmcihTW3RdKX0pfSxQPWU9Pk9iamVjdC5rZXlzKFMpLmZvckVhY2godD0+aihlLHQpKSxrPShlPXcpPT50PT57aih0LGUpfSxNPXtibGFuazo0ZTMsZXJyb3I6NGUzLHN1Y2Nlc3M6MmUzLGxvYWRpbmc6MS8wLGN1c3RvbTo0ZTN9LFI9ZT0+KHQscik9PntsZXQgbixvPSgoZSx0PSJibGFuayIscik9Pih7Y3JlYXRlZEF0OkRhdGUubm93KCksdmlzaWJsZTohMCxkaXNtaXNzZWQ6ITEsdHlwZTp0LGFyaWFQcm9wczp7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoicG9saXRlIn0sbWVzc2FnZTplLHBhdXNlRHVyYXRpb246MCwuLi5yLGlkOihudWxsPT1yP3ZvaWQgMDpyLmlkKXx8bSgpfSkpKHQsZSxyKTtyZXR1cm4gayhvLnRvYXN0ZXJJZHx8KG49by5pZCxPYmplY3Qua2V5cyhTKS5maW5kKGU9PlNbZV0udG9hc3RzLnNvbWUoZT0+ZS5pZD09PW4pKSkpKHt0eXBlOjIsdG9hc3Q6b30pLG8uaWR9LEE9KGUsdCk9PlIoImJsYW5rIikoZSx0KTtBLmVycm9yPVIoImVycm9yIiksQS5zdWNjZXNzPVIoInN1Y2Nlc3MiKSxBLmxvYWRpbmc9UigibG9hZGluZyIpLEEuY3VzdG9tPVIoImN1c3RvbSIpLEEuZGlzbWlzcz0oZSx0KT0+e2xldCByPXt0eXBlOjMsdG9hc3RJZDplfTt0P2sodCkocik6UChyKX0sQS5kaXNtaXNzQWxsPWU9PkEuZGlzbWlzcyh2b2lkIDAsZSksQS5yZW1vdmU9KGUsdCk9PntsZXQgcj17dHlwZTo0LHRvYXN0SWQ6ZX07dD9rKHQpKHIpOlAocil9LEEucmVtb3ZlQWxsPWU9PkEucmVtb3ZlKHZvaWQgMCxlKSxBLnByb21pc2U9KGUsdCxyKT0+e2xldCBuPUEubG9hZGluZyh0LmxvYWRpbmcsey4uLnIsLi4ubnVsbD09cj92b2lkIDA6ci5sb2FkaW5nfSk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUoKSksZS50aGVuKGU9PntsZXQgbz10LnN1Y2Nlc3M/Zyh0LnN1Y2Nlc3MsZSk6dm9pZCAwO3JldHVybiBvP0Euc3VjY2VzcyhvLHtpZDpuLC4uLnIsLi4ubnVsbD09cj92b2lkIDA6ci5zdWNjZXNzfSk6QS5kaXNtaXNzKG4pLGV9KS5jYXRjaChlPT57bGV0IG89dC5lcnJvcj9nKHQuZXJyb3IsZSk6dm9pZCAwO28/QS5lcnJvcihvLHtpZDpuLC4uLnIsLi4ubnVsbD09cj92b2lkIDA6ci5lcnJvcn0pOkEuZGlzbWlzcyhuKX0pLGV9O3ZhciBUPTFlMyxDPWhgCmZyb20gewogIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKDQ1ZGVnKTsKCW9wYWNpdHk6IDA7Cn0KdG8gewogdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoNDVkZWcpOwogIG9wYWNpdHk6IDE7Cn1gLE49aGAKZnJvbSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICBvcGFjaXR5OiAwOwp9CnRvIHsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIG9wYWNpdHk6IDE7Cn1gLEw9aGAKZnJvbSB7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKSByb3RhdGUoOTBkZWcpOwoJb3BhY2l0eTogMDsKfQp0byB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoOTBkZWcpOwoJb3BhY2l0eTogMTsKfWAsVT1iKCJkaXYiKWAKICB3aWR0aDogMjBweDsKICBvcGFjaXR5OiAwOwogIGhlaWdodDogMjBweDsKICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJhY2tncm91bmQ6ICR7ZT0+ZS5wcmltYXJ5fHwiI2ZmNGI0YiJ9OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CgogIGFuaW1hdGlvbjogJHtDfSAwLjNzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KQogICAgZm9yd2FyZHM7CiAgYW5pbWF0aW9uLWRlbGF5OiAxMDBtczsKCiAgJjphZnRlciwKICAmOmJlZm9yZSB7CiAgICBjb250ZW50OiAnJzsKICAgIGFuaW1hdGlvbjogJHtOfSAwLjE1cyBlYXNlLW91dCBmb3J3YXJkczsKICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBvcGFjaXR5OiAwOwogICAgYmFja2dyb3VuZDogJHtlPT5lLnNlY29uZGFyeXx8IiNmZmYifTsKICAgIGJvdHRvbTogOXB4OwogICAgbGVmdDogNHB4OwogICAgaGVpZ2h0OiAycHg7CiAgICB3aWR0aDogMTJweDsKICB9CgogICY6YmVmb3JlIHsKICAgIGFuaW1hdGlvbjogJHtMfSAwLjE1cyBlYXNlLW91dCBmb3J3YXJkczsKICAgIGFuaW1hdGlvbi1kZWxheTogMTgwbXM7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgfQpgLEk9aGAKICBmcm9tIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KYCxEPWIoImRpdiIpYAogIHdpZHRoOiAxMnB4OwogIGhlaWdodDogMTJweDsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGJvcmRlcjogMnB4IHNvbGlkOwogIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgYm9yZGVyLWNvbG9yOiAke2U9PmUuc2Vjb25kYXJ5fHwiI2UwZTBlMCJ9OwogIGJvcmRlci1yaWdodC1jb2xvcjogJHtlPT5lLnByaW1hcnl8fCIjNjE2MTYxIn07CiAgYW5pbWF0aW9uOiAke0l9IDFzIGxpbmVhciBpbmZpbml0ZTsKYCwkPWhgCmZyb20gewogIHRyYW5zZm9ybTogc2NhbGUoMCkgcm90YXRlKDQ1ZGVnKTsKCW9wYWNpdHk6IDA7Cn0KdG8gewogIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDQ1ZGVnKTsKCW9wYWNpdHk6IDE7Cn1gLEY9aGAKMCUgewoJaGVpZ2h0OiAwOwoJd2lkdGg6IDA7CglvcGFjaXR5OiAwOwp9CjQwJSB7CiAgaGVpZ2h0OiAwOwoJd2lkdGg6IDZweDsKCW9wYWNpdHk6IDE7Cn0KMTAwJSB7CiAgb3BhY2l0eTogMTsKICBoZWlnaHQ6IDEwcHg7Cn1gLEI9YigiZGl2IilgCiAgd2lkdGg6IDIwcHg7CiAgb3BhY2l0eTogMDsKICBoZWlnaHQ6IDIwcHg7CiAgYm9yZGVyLXJhZGl1czogMTBweDsKICBiYWNrZ3JvdW5kOiAke2U9PmUucHJpbWFyeXx8IiM2MWQzNDUifTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwoKICBhbmltYXRpb246ICR7JH0gMC4zcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkKICAgIGZvcndhcmRzOwogIGFuaW1hdGlvbi1kZWxheTogMTAwbXM7CiAgJjphZnRlciB7CiAgICBjb250ZW50OiAnJzsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBhbmltYXRpb246ICR7Rn0gMC4ycyBlYXNlLW91dCBmb3J3YXJkczsKICAgIG9wYWNpdHk6IDA7CiAgICBhbmltYXRpb24tZGVsYXk6IDIwMG1zOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7CiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7CiAgICBib3JkZXItY29sb3I6ICR7ZT0+ZS5zZWNvbmRhcnl8fCIjZmZmIn07CiAgICBib3R0b206IDZweDsKICAgIGxlZnQ6IDZweDsKICAgIGhlaWdodDogMTBweDsKICAgIHdpZHRoOiA2cHg7CiAgfQpgLHo9YigiZGl2IilgCiAgcG9zaXRpb246IGFic29sdXRlOwpgLEg9YigiZGl2IilgCiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBtaW4td2lkdGg6IDIwcHg7CiAgbWluLWhlaWdodDogMjBweDsKYCxHPWhgCmZyb20gewogIHRyYW5zZm9ybTogc2NhbGUoMC42KTsKICBvcGFjaXR5OiAwLjQ7Cn0KdG8gewogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgb3BhY2l0eTogMTsKfWAsVz1iKCJkaXYiKWAKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpOwogIG9wYWNpdHk6IDAuNDsKICBtaW4td2lkdGg6IDIwcHg7CiAgYW5pbWF0aW9uOiAke0d9IDAuM3MgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpCiAgICBmb3J3YXJkczsKYCxYPSh7dG9hc3Q6ZX0pPT57bGV0e2ljb246dCx0eXBlOnIsaWNvblRoZW1lOm59PWU7cmV0dXJuIHZvaWQgMCE9PXQ/InN0cmluZyI9PXR5cGVvZiB0P28uY3JlYXRlRWxlbWVudChXLG51bGwsdCk6dDoiYmxhbmsiPT09cj9udWxsOm8uY3JlYXRlRWxlbWVudChILG51bGwsby5jcmVhdGVFbGVtZW50KEQsey4uLm59KSwibG9hZGluZyIhPT1yJiZvLmNyZWF0ZUVsZW1lbnQoeixudWxsLCJlcnJvciI9PT1yP28uY3JlYXRlRWxlbWVudChVLHsuLi5ufSk6by5jcmVhdGVFbGVtZW50KEIsey4uLm59KSkpfSxxPWIoImRpdiIpYAogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGNvbG9yOiAjMzYzNjM2OwogIGxpbmUtaGVpZ2h0OiAxLjM7CiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgbWF4LXdpZHRoOiAzNTBweDsKICBwb2ludGVyLWV2ZW50czogYXV0bzsKICBwYWRkaW5nOiA4cHggMTBweDsKICBib3JkZXItcmFkaXVzOiA4cHg7CmAsSj1iKCJkaXYiKWAKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIG1hcmdpbjogNHB4IDEwcHg7CiAgY29sb3I6IGluaGVyaXQ7CiAgZmxleDogMSAxIGF1dG87CiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOwpgLFY9by5tZW1vKCh7dG9hc3Q6ZSxwb3NpdGlvbjp0LHN0eWxlOnIsY2hpbGRyZW46bn0pPT57bGV0IGE9ZS5oZWlnaHQ/KChlLHQpPT57bGV0IHI9ZS5pbmNsdWRlcygidG9wIik/MTotMSxbbixvXT14KCk/WyIwJXtvcGFjaXR5OjA7fSAxMDAle29wYWNpdHk6MTt9IiwiMCV7b3BhY2l0eToxO30gMTAwJXtvcGFjaXR5OjA7fSJdOltgCjAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsJHstMjAwKnJ9JSwwKSBzY2FsZSguNik7IG9wYWNpdHk6LjU7fQoxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKTsgb3BhY2l0eToxO30KYCxgCjAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwtMXB4KSBzY2FsZSgxKTsgb3BhY2l0eToxO30KMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCR7LTE1MCpyfSUsLTFweCkgc2NhbGUoLjYpOyBvcGFjaXR5OjA7fQpgXTtyZXR1cm57YW5pbWF0aW9uOnQ/YCR7aChuKX0gMC4zNXMgY3ViaWMtYmV6aWVyKC4yMSwxLjAyLC43MywxKSBmb3J3YXJkc2A6YCR7aChvKX0gMC40cyBmb3J3YXJkcyBjdWJpYy1iZXppZXIoLjA2LC43MSwuNTUsMSlgfX0pKGUucG9zaXRpb258fHR8fCJ0b3AtY2VudGVyIixlLnZpc2libGUpOntvcGFjaXR5OjB9LHM9by5jcmVhdGVFbGVtZW50KFgse3RvYXN0OmV9KSxpPW8uY3JlYXRlRWxlbWVudChKLHsuLi5lLmFyaWFQcm9wc30sZyhlLm1lc3NhZ2UsZSkpO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocSx7Y2xhc3NOYW1lOmUuY2xhc3NOYW1lLHN0eWxlOnsuLi5hLC4uLnIsLi4uZS5zdHlsZX19LCJmdW5jdGlvbiI9PXR5cGVvZiBuP24oe2ljb246cyxtZXNzYWdlOml9KTpvLmNyZWF0ZUVsZW1lbnQoby5GcmFnbWVudCxudWxsLHMsaSkpfSk7bj1vLmNyZWF0ZUVsZW1lbnQsYy5wPXZvaWQgMCxwPW4sdj12b2lkIDAseT12b2lkIDA7dmFyIEs9KHtpZDplLGNsYXNzTmFtZTp0LHN0eWxlOnIsb25IZWlnaHRVcGRhdGU6bixjaGlsZHJlbjphfSk9PntsZXQgcz1vLnVzZUNhbGxiYWNrKHQ9PntpZih0KXtsZXQgcj0oKT0+e24oZSx0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCl9O3IoKSxuZXcgTXV0YXRpb25PYnNlcnZlcihyKS5vYnNlcnZlKHQse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITB9KX19LFtlLG5dKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtyZWY6cyxjbGFzc05hbWU6dCxzdHlsZTpyfSxhKX0sWj1kYAogIHotaW5kZXg6IDk5OTk7CiAgPiAqIHsKICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogIH0KYDtlLnMoWyJUb2FzdGVyIiwwLCh7cmV2ZXJzZU9yZGVyOmUscG9zaXRpb246dD0idG9wLWNlbnRlciIsdG9hc3RPcHRpb25zOnIsZ3V0dGVyOm4sY2hpbGRyZW46YSx0b2FzdGVySWQ6cyxjb250YWluZXJTdHlsZTppLGNvbnRhaW5lckNsYXNzTmFtZTp1fSk9PntsZXR7dG9hc3RzOmMsaGFuZGxlcnM6bH09KChlLHQ9ImRlZmF1bHQiKT0+e2xldHt0b2FzdHM6cixwYXVzZWRBdDpufT0oKGU9e30sdD13KT0+e2xldFtyLG5dPSgwLG8udXNlU3RhdGUpKFNbdF18fEUpLGE9KDAsby51c2VSZWYpKFNbdF0pOygwLG8udXNlRWZmZWN0KSgoKT0+KGEuY3VycmVudCE9PVNbdF0mJm4oU1t0XSksTy5wdXNoKFt0LG5dKSwoKT0+e2xldCBlPU8uZmluZEluZGV4KChbZV0pPT5lPT09dCk7ZT4tMSYmTy5zcGxpY2UoZSwxKX0pLFt0XSk7bGV0IHM9ci50b2FzdHMubWFwKHQ9Pnt2YXIgcixuLG87cmV0dXJuey4uLmUsLi4uZVt0LnR5cGVdLC4uLnQscmVtb3ZlRGVsYXk6dC5yZW1vdmVEZWxheXx8KG51bGw9PShyPWVbdC50eXBlXSk/dm9pZCAwOnIucmVtb3ZlRGVsYXkpfHwobnVsbD09ZT92b2lkIDA6ZS5yZW1vdmVEZWxheSksZHVyYXRpb246dC5kdXJhdGlvbnx8KG51bGw9PShuPWVbdC50eXBlXSk/dm9pZCAwOm4uZHVyYXRpb24pfHwobnVsbD09ZT92b2lkIDA6ZS5kdXJhdGlvbil8fE1bdC50eXBlXSxzdHlsZTp7Li4uZS5zdHlsZSwuLi5udWxsPT0obz1lW3QudHlwZV0pP3ZvaWQgMDpvLnN0eWxlLC4uLnQuc3R5bGV9fX0pO3JldHVybnsuLi5yLHRvYXN0czpzfX0pKGUsdCksYT0oMCxvLnVzZVJlZikobmV3IE1hcCkuY3VycmVudCxzPSgwLG8udXNlQ2FsbGJhY2spKChlLHQ9VCk9PntpZihhLmhhcyhlKSlyZXR1cm47bGV0IHI9c2V0VGltZW91dCgoKT0+e2EuZGVsZXRlKGUpLGkoe3R5cGU6NCx0b2FzdElkOmV9KX0sdCk7YS5zZXQoZSxyKX0sW10pOygwLG8udXNlRWZmZWN0KSgoKT0+e2lmKG4pcmV0dXJuO2xldCBlPURhdGUubm93KCksbz1yLm1hcChyPT57aWYoci5kdXJhdGlvbj09PTEvMClyZXR1cm47bGV0IG49KHIuZHVyYXRpb258fDApK3IucGF1c2VEdXJhdGlvbi0oZS1yLmNyZWF0ZWRBdCk7aWYobjwwKXtyLnZpc2libGUmJkEuZGlzbWlzcyhyLmlkKTtyZXR1cm59cmV0dXJuIHNldFRpbWVvdXQoKCk9PkEuZGlzbWlzcyhyLmlkLHQpLG4pfSk7cmV0dXJuKCk9PntvLmZvckVhY2goZT0+ZSYmY2xlYXJUaW1lb3V0KGUpKX19LFtyLG4sdF0pO2xldCBpPSgwLG8udXNlQ2FsbGJhY2spKGsodCksW3RdKSx1PSgwLG8udXNlQ2FsbGJhY2spKCgpPT57aSh7dHlwZTo1LHRpbWU6RGF0ZS5ub3coKX0pfSxbaV0pLGM9KDAsby51c2VDYWxsYmFjaykoKGUsdCk9PntpKHt0eXBlOjEsdG9hc3Q6e2lkOmUsaGVpZ2h0OnR9fSl9LFtpXSksbD0oMCxvLnVzZUNhbGxiYWNrKSgoKT0+e24mJmkoe3R5cGU6Nix0aW1lOkRhdGUubm93KCl9KX0sW24saV0pLGY9KDAsby51c2VDYWxsYmFjaykoKGUsdCk9PntsZXR7cmV2ZXJzZU9yZGVyOm49ITEsZ3V0dGVyOm89OCxkZWZhdWx0UG9zaXRpb246YX09dHx8e30scz1yLmZpbHRlcih0PT4odC5wb3NpdGlvbnx8YSk9PT0oZS5wb3NpdGlvbnx8YSkmJnQuaGVpZ2h0KSxpPXMuZmluZEluZGV4KHQ9PnQuaWQ9PT1lLmlkKSx1PXMuZmlsdGVyKChlLHQpPT50PGkmJmUudmlzaWJsZSkubGVuZ3RoO3JldHVybiBzLmZpbHRlcihlPT5lLnZpc2libGUpLnNsaWNlKC4uLm4/W3UrMV06WzAsdV0pLnJlZHVjZSgoZSx0KT0+ZSsodC5oZWlnaHR8fDApK28sMCl9LFtyXSk7cmV0dXJuKDAsby51c2VFZmZlY3QpKCgpPT57ci5mb3JFYWNoKGU9PntpZihlLmRpc21pc3NlZClzKGUuaWQsZS5yZW1vdmVEZWxheSk7ZWxzZXtsZXQgdD1hLmdldChlLmlkKTt0JiYoY2xlYXJUaW1lb3V0KHQpLGEuZGVsZXRlKGUuaWQpKX19KX0sW3Isc10pLHt0b2FzdHM6cixoYW5kbGVyczp7dXBkYXRlSGVpZ2h0OmMsc3RhcnRQYXVzZTp1LGVuZFBhdXNlOmwsY2FsY3VsYXRlT2Zmc2V0OmZ9fX0pKHIscyk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiZGl2Iix7ImRhdGEtcmh0LXRvYXN0ZXIiOnN8fCIiLHN0eWxlOntwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDo5OTk5LHRvcDoxNixsZWZ0OjE2LHJpZ2h0OjE2LGJvdHRvbToxNixwb2ludGVyRXZlbnRzOiJub25lIiwuLi5pfSxjbGFzc05hbWU6dSxvbk1vdXNlRW50ZXI6bC5zdGFydFBhdXNlLG9uTW91c2VMZWF2ZTpsLmVuZFBhdXNlfSxjLm1hcChyPT57bGV0IHMsaSx1PXIucG9zaXRpb258fHQsYz1sLmNhbGN1bGF0ZU9mZnNldChyLHtyZXZlcnNlT3JkZXI6ZSxndXR0ZXI6bixkZWZhdWx0UG9zaXRpb246dH0pLGY9KHM9dS5pbmNsdWRlcygidG9wIiksaT11LmluY2x1ZGVzKCJjZW50ZXIiKT97anVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9OnUuaW5jbHVkZXMoInJpZ2h0Iik/e2p1c3RpZnlDb250ZW50OiJmbGV4LWVuZCJ9Ont9LHtsZWZ0OjAscmlnaHQ6MCxkaXNwbGF5OiJmbGV4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLHRyYW5zaXRpb246eCgpP3ZvaWQgMDoiYWxsIDIzMG1zIGN1YmljLWJlemllciguMjEsMS4wMiwuNzMsMSkiLHRyYW5zZm9ybTpgdHJhbnNsYXRlWSgke2MqKHM/MTotMSl9cHgpYCwuLi5zP3t0b3A6MH06e2JvdHRvbTowfSwuLi5pfSk7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChLLHtpZDpyLmlkLGtleTpyLmlkLG9uSGVpZ2h0VXBkYXRlOmwudXBkYXRlSGVpZ2h0LGNsYXNzTmFtZTpyLnZpc2libGU/WjoiIixzdHlsZTpmfSwiY3VzdG9tIj09PXIudHlwZT9nKHIubWVzc2FnZSxyKTphP2Eocik6by5jcmVhdGVFbGVtZW50KFYse3RvYXN0OnIscG9zaXRpb246dX0pKX0pKX0sImRlZmF1bHQiLDAsQV0sNTc2Nil9LDEzNDUxLChlLHQscik9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDM1MDQ1LChlLHQscik9PntmdW5jdGlvbiBuKGUpe3JldHVybiB0LmV4cG9ydHM9bj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzLG4oZSl9dC5leHBvcnRzPW4sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw5ODExMywoZSx0LHIpPT57dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dGhpcy52PWUsdGhpcy5rPXR9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNzg2NzksKGUsdCxyKT0+e2Z1bmN0aW9uIG4oZSxyLG8sYSl7dmFyIHM9T2JqZWN0LmRlZmluZVByb3BlcnR5O3RyeXtzKHt9LCIiLHt9KX1jYXRjaChlKXtzPTB9dC5leHBvcnRzPW49ZnVuY3Rpb24oZSx0LHIsbyl7ZnVuY3Rpb24gYSh0LHIpe24oZSx0LGZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9pbnZva2UodCxyLGUpfSl9dD9zP3MoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6IW8sY29uZmlndXJhYmxlOiFvLHdyaXRhYmxlOiFvfSk6ZVt0XT1yOihhKCJuZXh0IiwwKSxhKCJ0aHJvdyIsMSksYSgicmV0dXJuIiwyKSl9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0cyxuKGUscixvLGEpfXQuZXhwb3J0cz1uLHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNTUxNTcsKGUsdCxyKT0+e3ZhciBuPWUucig3ODY3OSk7ZnVuY3Rpb24gbygpe3ZhciBlLHIsYT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxzPWEuaXRlcmF0b3J8fCJAQGl0ZXJhdG9yIixpPWEudG9TdHJpbmdUYWd8fCJAQHRvU3RyaW5nVGFnIjtmdW5jdGlvbiB1KHQsbyxhLHMpe3ZhciBpPU9iamVjdC5jcmVhdGUoKG8mJm8ucHJvdG90eXBlIGluc3RhbmNlb2YgbD9vOmwpLnByb3RvdHlwZSk7cmV0dXJuIG4oaSwiX2ludm9rZSIsZnVuY3Rpb24odCxuLG8pe3ZhciBhLHMsaSx1PTAsbD1vfHxbXSxmPSExLGQ9e3A6MCxuOjAsdjplLGE6cCxmOnAuYmluZChlLDQpLGQ6ZnVuY3Rpb24odCxyKXtyZXR1cm4gYT10LHM9MCxpPWUsZC5uPXIsY319O2Z1bmN0aW9uIHAodCxuKXtmb3Iocz10LGk9bixyPTA7IWYmJnUmJiFvJiZyPGwubGVuZ3RoO3IrKyl7dmFyIG8sYT1sW3JdLHA9ZC5wLHY9YVsyXTt0PjM/KG89dj09PW4pJiYoaT1hWyhzPWFbNF0pPzU6KHM9MywzKV0sYVs0XT1hWzVdPWUpOmFbMF08PXAmJigobz10PDImJnA8YVsxXSk/KHM9MCxkLnY9bixkLm49YVsxXSk6cDx2JiYobz10PDN8fGFbMF0+bnx8bj52KSYmKGFbNF09dCxhWzVdPW4sZC5uPXYscz0wKSl9aWYob3x8dD4xKXJldHVybiBjO3Rocm93IGY9ITAsbn1yZXR1cm4gZnVuY3Rpb24obyxsLHYpe2lmKHU+MSl0aHJvdyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTtmb3IoZiYmMT09PWwmJnAobCx2KSxzPWwsaT12OyhyPXM8Mj9lOmkpfHwhZjspe2F8fChzP3M8Mz8ocz4xJiYoZC5uPS0xKSxwKHMsaSkpOmQubj1pOmQudj1pKTt0cnl7aWYodT0yLGEpe2lmKHN8fChvPSJuZXh0Iikscj1hW29dKXtpZighKHI9ci5jYWxsKGEsaSkpKXRocm93IFR5cGVFcnJvcigiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3QiKTtpZighci5kb25lKXJldHVybiByO2k9ci52YWx1ZSxzPDImJihzPTApfWVsc2UgMT09PXMmJihyPWEucmV0dXJuKSYmci5jYWxsKGEpLHM8MiYmKGk9VHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICciK28rIicgbWV0aG9kIikscz0xKTthPWV9ZWxzZSBpZigocj0oZj1kLm48MCk/aTp0LmNhbGwobixkKSkhPT1jKWJyZWFrfWNhdGNoKHQpe2E9ZSxzPTEsaT10fWZpbmFsbHl7dT0xfX1yZXR1cm57dmFsdWU6cixkb25lOmZ9fX0odCxhLHMpLCEwKSxpfXZhciBjPXt9O2Z1bmN0aW9uIGwoKXt9ZnVuY3Rpb24gZigpe31mdW5jdGlvbiBkKCl7fXI9T2JqZWN0LmdldFByb3RvdHlwZU9mO3ZhciBwPWQucHJvdG90eXBlPWwucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoW11bc10/cihyKFtdW3NdKCkpKToobihyPXt9LHMsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHIpKTtmdW5jdGlvbiB2KGUpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKGUsZCk6KGUuX19wcm90b19fPWQsbihlLGksIkdlbmVyYXRvckZ1bmN0aW9uIikpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocCksZX1yZXR1cm4gZi5wcm90b3R5cGU9ZCxuKHAsImNvbnN0cnVjdG9yIixkKSxuKGQsImNvbnN0cnVjdG9yIixmKSxmLmRpc3BsYXlOYW1lPSJHZW5lcmF0b3JGdW5jdGlvbiIsbihkLGksIkdlbmVyYXRvckZ1bmN0aW9uIiksbihwKSxuKHAsaSwiR2VuZXJhdG9yIiksbihwLHMsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG4ocCwidG9TdHJpbmciLGZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgR2VuZXJhdG9yXSJ9KSwodC5leHBvcnRzPW89ZnVuY3Rpb24oKXtyZXR1cm57dzp1LG06dn19LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0cykoKX10LmV4cG9ydHM9byx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDM2ODUyLChlLHQscik9Pnt2YXIgbj1lLnIoOTgxMTMpLG89ZS5yKDc4Njc5KTt0LmV4cG9ydHM9ZnVuY3Rpb24gZSh0LHIpe3ZhciBhO3RoaXMubmV4dHx8KG8oZS5wcm90b3R5cGUpLG8oZS5wcm90b3R5cGUsImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmFzeW5jSXRlcmF0b3J8fCJAYXN5bmNJdGVyYXRvciIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxvKHRoaXMsIl9pbnZva2UiLGZ1bmN0aW9uKGUsbyxzKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKG8sYSl7IWZ1bmN0aW9uIGUobyxhLHMsaSl7dHJ5e3ZhciB1PXRbb10oYSksYz11LnZhbHVlO3JldHVybiBjIGluc3RhbmNlb2Ygbj9yLnJlc29sdmUoYy52KS50aGVuKGZ1bmN0aW9uKHQpe2UoIm5leHQiLHQscyxpKX0sZnVuY3Rpb24odCl7ZSgidGhyb3ciLHQscyxpKX0pOnIucmVzb2x2ZShjKS50aGVuKGZ1bmN0aW9uKGUpe3UudmFsdWU9ZSxzKHUpfSxmdW5jdGlvbih0KXtyZXR1cm4gZSgidGhyb3ciLHQscyxpKX0pfWNhdGNoKGUpe2koZSl9fShlLHMsbyxhKX0pfXJldHVybiBhPWE/YS50aGVuKGksaSk6aSgpfSwhMCl9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNjgyMiwoZSx0LHIpPT57dmFyIG49ZS5yKDU1MTU3KSxvPWUucigzNjg1Mik7dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyLGEscyl7cmV0dXJuIG5ldyBvKG4oKS53KGUsdCxyLGEpLHN8fFByb21pc2UpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDg4NjkxLChlLHQscik9Pnt2YXIgbj1lLnIoNjgyMik7dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyLG8sYSl7dmFyIHM9bihlLHQscixvLGEpO3JldHVybiBzLm5leHQoKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRvbmU/ZS52YWx1ZTpzLm5leHQoKX0pfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDU0NTM0LChlLHQscik9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9T2JqZWN0KGUpLHI9W107Zm9yKHZhciBuIGluIHQpci51bnNoaWZ0KG4pO3JldHVybiBmdW5jdGlvbiBlKCl7Zm9yKDtyLmxlbmd0aDspaWYoKG49ci5wb3AoKSlpbiB0KXJldHVybiBlLnZhbHVlPW4sZS5kb25lPSExLGU7cmV0dXJuIGUuZG9uZT0hMCxlfX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw1NjI5OSwoZSx0LHIpPT57dmFyIG49ZS5yKDM1MDQ1KS5kZWZhdWx0O3QuZXhwb3J0cz1mdW5jdGlvbihlKXtpZihudWxsIT1lKXt2YXIgdD1lWyJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcnx8IkBAaXRlcmF0b3IiXSxyPTA7aWYodClyZXR1cm4gdC5jYWxsKGUpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLm5leHQpcmV0dXJuIGU7aWYoIWlzTmFOKGUubGVuZ3RoKSlyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiBlJiZyPj1lLmxlbmd0aCYmKGU9dm9pZCAwKSx7dmFsdWU6ZSYmZVtyKytdLGRvbmU6IWV9fX19dGhyb3cgVHlwZUVycm9yKG4oZSkrIiBpcyBub3QgaXRlcmFibGUiKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwzMDY1OSwoZSx0LHIpPT57dmFyIG49ZS5yKDk4MTEzKSxvPWUucig1NTE1NyksYT1lLnIoODg2OTEpLHM9ZS5yKDY4MjIpLGk9ZS5yKDM2ODUyKSx1PWUucig1NDUzNCksYz1lLnIoNTYyOTkpO2Z1bmN0aW9uIGwoKXsidXNlIHN0cmljdCI7dmFyIGU9bygpLHI9ZS5tKGwpLGY9KE9iamVjdC5nZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2Yocik6ci5fX3Byb3RvX18pLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIGQoZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUuY29uc3RydWN0b3I7cmV0dXJuISF0JiYodD09PWZ8fCJHZW5lcmF0b3JGdW5jdGlvbiI9PT0odC5kaXNwbGF5TmFtZXx8dC5uYW1lKSl9dmFyIHA9e3Rocm93OjEscmV0dXJuOjIsYnJlYWs6Myxjb250aW51ZTozfTtmdW5jdGlvbiB2KGUpe3ZhciB0LHI7cmV0dXJuIGZ1bmN0aW9uKG4pe3R8fCh0PXtzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHIobi5hLDIpfSxjYXRjaDpmdW5jdGlvbigpe3JldHVybiBuLnZ9LGFicnVwdDpmdW5jdGlvbihlLHQpe3JldHVybiByKG4uYSxwW2VdLHQpfSxkZWxlZ2F0ZVlpZWxkOmZ1bmN0aW9uKGUsbyxhKXtyZXR1cm4gdC5yZXN1bHROYW1lPW8scihuLmQsYyhlKSxhKX0sZmluaXNoOmZ1bmN0aW9uKGUpe3JldHVybiByKG4uZixlKX19LHI9ZnVuY3Rpb24oZSxyLG8pe24ucD10LnByZXYsbi5uPXQubmV4dDt0cnl7cmV0dXJuIGUocixvKX1maW5hbGx5e3QubmV4dD1uLm59fSksdC5yZXN1bHROYW1lJiYodFt0LnJlc3VsdE5hbWVdPW4udix0LnJlc3VsdE5hbWU9dm9pZCAwKSx0LnNlbnQ9bi52LHQubmV4dD1uLm47dHJ5e3JldHVybiBlLmNhbGwodGhpcyx0KX1maW5hbGx5e24ucD10LnByZXYsbi5uPXQubmV4dH19fXJldHVybih0LmV4cG9ydHM9bD1mdW5jdGlvbigpe3JldHVybnt3cmFwOmZ1bmN0aW9uKHQscixuLG8pe3JldHVybiBlLncodih0KSxyLG4sbyYmby5yZXZlcnNlKCkpfSxpc0dlbmVyYXRvckZ1bmN0aW9uOmQsbWFyazplLm0sYXdyYXA6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IG4oZSx0KX0sQXN5bmNJdGVyYXRvcjppLGFzeW5jOmZ1bmN0aW9uKGUsdCxyLG4sbyl7cmV0dXJuKGQodCk/czphKSh2KGUpLHQscixuLG8pfSxrZXlzOnUsdmFsdWVzOmN9fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHMpKCl9dC5leHBvcnRzPWwsdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwzMTI3NywoZSx0LHIpPT57dmFyIG49ZS5yKDMwNjU5KSgpO3QuZXhwb3J0cz1uO3RyeXtyZWdlbmVyYXRvclJ1bnRpbWU9bn1jYXRjaChlKXsib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpcy5yZWdlbmVyYXRvclJ1bnRpbWU9bjpGdW5jdGlvbigiciIsInJlZ2VuZXJhdG9yUnVudGltZSA9IHIiKShuKX19LDI2MjUyLChlLHQscik9Pnt2YXIgbj1lLnIoMzUwNDUpLmRlZmF1bHQ7dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPW4oZSl8fCFlKXJldHVybiBlO3ZhciByPWVbU3ltYm9sLnRvUHJpbWl0aXZlXTtpZih2b2lkIDAhPT1yKXt2YXIgbz1yLmNhbGwoZSx0fHwiZGVmYXVsdCIpO2lmKCJvYmplY3QiIT1uKG8pKXJldHVybiBvO3Rocm93IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4oInN0cmluZyI9PT10P1N0cmluZzpOdW1iZXIpKGUpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDYzOTc0LChlLHQscik9Pnt2YXIgbj1lLnIoMzUwNDUpLmRlZmF1bHQsbz1lLnIoMjYyNTIpO3QuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdD1vKGUsInN0cmluZyIpO3JldHVybiJzeW1ib2wiPT1uKHQpP3Q6dCsiIn0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwxNDQxNCwoZSx0LHIpPT57dmFyIG49ZS5yKDYzOTc0KTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LHIpe3JldHVybih0PW4odCkpaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1yLGV9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNDU5NDAsKGUsdCxyKT0+e2Z1bmN0aW9uIG4oZSx0LHIsbixvLGEscyl7dHJ5e3ZhciBpPWVbYV0ocyksdT1pLnZhbHVlfWNhdGNoKGUpe3JldHVybiB2b2lkIHIoZSl9aS5kb25lP3QodSk6UHJvbWlzZS5yZXNvbHZlKHUpLnRoZW4obixvKX10LmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obyxhKXt2YXIgcz1lLmFwcGx5KHQscik7ZnVuY3Rpb24gaShlKXtuKHMsbyxhLGksdSwibmV4dCIsZSl9ZnVuY3Rpb24gdShlKXtuKHMsbyxhLGksdSwidGhyb3ciLGUpfWkodm9pZCAwKX0pfX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwzMTE1OSwoZSx0LHIpPT57dC5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNzM5NzMsKGUsdCxyKT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciByPW51bGw9PWU/bnVsbDoidSI+dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdfHxlWyJAQGl0ZXJhdG9yIl07aWYobnVsbCE9cil7dmFyIG4sbyxhLHMsaT1bXSx1PSEwLGM9ITE7dHJ5e2lmKGE9KHI9ci5jYWxsKGUpKS5uZXh0LDA9PT10KXtpZihPYmplY3QocikhPT1yKXJldHVybjt1PSExfWVsc2UgZm9yKDshKHU9KG49YS5jYWxsKHIpKS5kb25lKSYmKGkucHVzaChuLnZhbHVlKSxpLmxlbmd0aCE9PXQpO3U9ITApO31jYXRjaChlKXtjPSEwLG89ZX1maW5hbGx5e3RyeXtpZighdSYmbnVsbCE9ci5yZXR1cm4mJihzPXIucmV0dXJuKCksT2JqZWN0KHMpIT09cykpcmV0dXJufWZpbmFsbHl7aWYoYyl0aHJvdyBvfX1yZXR1cm4gaX19LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sMjc1MDAsKGUsdCxyKT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpeyhudWxsPT10fHx0PmUubGVuZ3RoKSYmKHQ9ZS5sZW5ndGgpO2Zvcih2YXIgcj0wLG49QXJyYXkodCk7cjx0O3IrKyluW3JdPWVbcl07cmV0dXJuIG59LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sMzc5MDYsKGUsdCxyKT0+e3ZhciBuPWUucigyNzUwMCk7dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBuKGUsdCk7dmFyIHI9KHt9KS50b1N0cmluZy5jYWxsKGUpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09ciYmZS5jb25zdHJ1Y3RvciYmKHI9ZS5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PXJ8fCJTZXQiPT09cj9BcnJheS5mcm9tKGUpOiJBcmd1bWVudHMiPT09cnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/bihlLHQpOnZvaWQgMH19LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sOTQ0NDEsKGUsdCxyKT0+e3QuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw2MjE5NSwoZSx0LHIpPT57dmFyIG49ZS5yKDMxMTU5KSxvPWUucig3Mzk3MyksYT1lLnIoMzc5MDYpLHM9ZS5yKDk0NDQxKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbihlKXx8byhlLHQpfHxhKGUsdCl8fHMoKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw1MjQ0NSwoZSx0LHIpPT57dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwxNDM1NiwoZSx0LHIpPT57dmFyIG49ZS5yKDYzOTc0KTtmdW5jdGlvbiBvKGUsdCl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBvPXRbcl07by5lbnVtZXJhYmxlPW8uZW51bWVyYWJsZXx8ITEsby5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG8mJihvLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuKG8ua2V5KSxvKX19dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdCYmbyhlLnByb3RvdHlwZSx0KSxyJiZvKGUsciksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksZX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwzMjE2NCwoZSx0LHIpPT57dC5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpdGhyb3cgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiBlfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDgwNjg5LChlLHQscik9Pnt2YXIgbj1lLnIoMzUwNDUpLmRlZmF1bHQsbz1lLnIoMzIxNjQpO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHQmJigib2JqZWN0Ij09bih0KXx8ImZ1bmN0aW9uIj09dHlwZW9mIHQpKXJldHVybiB0O2lmKHZvaWQgMCE9PXQpdGhyb3cgVHlwZUVycm9yKCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZCIpO3JldHVybiBvKGUpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDE5ODIzLChlLHQscik9PntmdW5jdGlvbiBuKGUpe3JldHVybiB0LmV4cG9ydHM9bj1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzLG4oZSl9dC5leHBvcnRzPW4sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSwxMDg4NSwoZSx0LHIpPT57ZnVuY3Rpb24gbihlLHIpe3JldHVybiB0LmV4cG9ydHM9bj1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihlLHQpe3JldHVybiBlLl9fcHJvdG9fXz10LGV9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0cyxuKGUscil9dC5leHBvcnRzPW4sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw1OTk0NywoZSx0LHIpPT57dmFyIG49ZS5yKDEwODg1KTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSx0JiZuKGUsdCl9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0cy5kZWZhdWx0PXQuZXhwb3J0c30sNDU4MTMsKGUsdCxyKT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIC0xIT09RnVuY3Rpb24udG9TdHJpbmcuY2FsbChlKS5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIil9Y2F0Y2godCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDU4NTI0LChlLHQscik9PntmdW5jdGlvbiBuKCl7dHJ5e3ZhciBlPSFCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoQm9vbGVhbixbXSxmdW5jdGlvbigpe30pKX1jYXRjaChlKXt9cmV0dXJuKHQuZXhwb3J0cz1uPWZ1bmN0aW9uKCl7cmV0dXJuISFlfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHMpKCl9dC5leHBvcnRzPW4sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw0MjA2MiwoZSx0LHIpPT57dmFyIG49ZS5yKDU4NTI0KSxvPWUucigxMDg4NSk7dC5leHBvcnRzPWZ1bmN0aW9uKGUsdCxyKXtpZihuKCkpcmV0dXJuIFJlZmxlY3QuY29uc3RydWN0LmFwcGx5KG51bGwsYXJndW1lbnRzKTt2YXIgYT1bbnVsbF07YS5wdXNoLmFwcGx5KGEsdCk7dmFyIHM9bmV3KGUuYmluZC5hcHBseShlLGEpKTtyZXR1cm4gciYmbyhzLHIucHJvdG90eXBlKSxzfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHMuZGVmYXVsdD10LmV4cG9ydHN9LDEzMDk4LChlLHQscik9Pnt2YXIgbj1lLnIoMTk4MjMpLG89ZS5yKDEwODg1KSxhPWUucig0NTgxMykscz1lLnIoNDIwNjIpO2Z1bmN0aW9uIGkoZSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIE1hcD9uZXcgTWFwOnZvaWQgMDtyZXR1cm4gdC5leHBvcnRzPWk9ZnVuY3Rpb24oZSl7aWYobnVsbD09PWV8fCFhKGUpKXJldHVybiBlO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtpZih2b2lkIDAhPT1yKXtpZihyLmhhcyhlKSlyZXR1cm4gci5nZXQoZSk7ci5zZXQoZSx0KX1mdW5jdGlvbiB0KCl7cmV0dXJuIHMoZSxhcmd1bWVudHMsbih0aGlzKS5jb25zdHJ1Y3Rvcil9cmV0dXJuIHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLG8odCxlKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzLGkoZSl9dC5leHBvcnRzPWksdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzLmRlZmF1bHQ9dC5leHBvcnRzfSw0MTczMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPWUucigxMzQ1MSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIuVW5zdXBwb3J0ZWRTdHJhdGVneT1yLlVua25vd25FcnJvcj1yLk9BdXRoQ2FsbGJhY2tFcnJvcj1yLk1pc3NpbmdTZWNyZXQ9ci5NaXNzaW5nQXV0aG9yaXplPXIuTWlzc2luZ0FkYXB0ZXJNZXRob2RzPXIuTWlzc2luZ0FkYXB0ZXI9ci5NaXNzaW5nQVBJUm91dGU9ci5JbnZhbGlkQ2FsbGJhY2tVcmw9ci5BY2NvdW50Tm90TGlua2VkRXJyb3I9dm9pZCAwLHIuYWRhcHRlckVycm9ySGFuZGxlcj1mdW5jdGlvbihlLHQpe2lmKGUpcmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZShmdW5jdGlvbihyLG4pe3JldHVybiByW25dPSgwLGEuZGVmYXVsdCkoby5kZWZhdWx0Lm1hcmsoZnVuY3Rpb24gcigpe3ZhciBhLHMsaSx1LGMsbD1hcmd1bWVudHM7cmV0dXJuIG8uZGVmYXVsdC53cmFwKGZ1bmN0aW9uKHIpe2Zvcig7Oylzd2l0Y2goci5wcmV2PXIubmV4dCl7Y2FzZSAwOmZvcihyLnByZXY9MCxzPUFycmF5KGE9bC5sZW5ndGgpLGk9MDtpPGE7aSsrKXNbaV09bFtpXTtyZXR1cm4gdC5kZWJ1ZygiYWRhcHRlcl8iLmNvbmNhdChuKSx7YXJnczpzfSksdT1lW25dLHIubmV4dD02LHUuYXBwbHkodm9pZCAwLHMpO2Nhc2UgNjpyZXR1cm4gci5hYnJ1cHQoInJldHVybiIsci5zZW50KTtjYXNlIDk6dGhyb3cgci5wcmV2PTksci50MD1yLmNhdGNoKDApLHQuZXJyb3IoImFkYXB0ZXJfZXJyb3JfIi5jb25jYXQobiksci50MCksKGM9bmV3IHYoci50MCkpLm5hbWU9IiIuY29uY2F0KGgobiksIkVycm9yIiksYztjYXNlIDE1OmNhc2UiZW5kIjpyZXR1cm4gci5zdG9wKCl9fSxyLG51bGwsW1swLDldXSl9KSkscn0se30pfSxyLmNhcGl0YWxpemU9aCxyLmV2ZW50c0Vycm9ySGFuZGxlcj1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoZnVuY3Rpb24ocixuKXtyZXR1cm4gcltuXT0oMCxhLmRlZmF1bHQpKG8uZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIHIoKXt2YXIgYSxzPWFyZ3VtZW50cztyZXR1cm4gby5kZWZhdWx0LndyYXAoZnVuY3Rpb24ocil7Zm9yKDs7KXN3aXRjaChyLnByZXY9ci5uZXh0KXtjYXNlIDA6cmV0dXJuIHIucHJldj0wLGE9ZVtuXSxyLm5leHQ9NCxhLmFwcGx5KHZvaWQgMCxzKTtjYXNlIDQ6cmV0dXJuIHIuYWJydXB0KCJyZXR1cm4iLHIuc2VudCk7Y2FzZSA3OnIucHJldj03LHIudDA9ci5jYXRjaCgwKSx0LmVycm9yKCIiLmNvbmNhdCh5KG4pLCJfRVZFTlRfRVJST1IiKSxyLnQwKTtjYXNlIDEwOmNhc2UiZW5kIjpyZXR1cm4gci5zdG9wKCl9fSxyLG51bGwsW1swLDddXSl9KSkscn0se30pfSxyLnVwcGVyU25ha2U9eTt2YXIgbz1uKGUucigzMTI3NykpLGE9bihlLnIoNDU5NDApKSxzPW4oZS5yKDE0NDE0KSksaT1uKGUucig1MjQ0NSkpLHU9bihlLnIoMTQzNTYpKSxjPW4oZS5yKDgwNjg5KSksbD1uKGUucigxOTgyMykpLGY9bihlLnIoNTk5NDcpKTtmdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm4gdD0oMCxsLmRlZmF1bHQpKHQpLCgwLGMuZGVmYXVsdCkoZSxwKCk/UmVmbGVjdC5jb25zdHJ1Y3QodCxyfHxbXSwoMCxsLmRlZmF1bHQpKGUpLmNvbnN0cnVjdG9yKTp0LmFwcGx5KGUscikpfWZ1bmN0aW9uIHAoKXt0cnl7dmFyIGU9IUJvb2xlYW4ucHJvdG90eXBlLnZhbHVlT2YuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChCb29sZWFuLFtdLGZ1bmN0aW9uKCl7fSkpfWNhdGNoKGUpe31yZXR1cm4ocD1mdW5jdGlvbigpe3JldHVybiEhZX0pKCl9dmFyIHY9ci5Vbmtub3duRXJyb3I9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlKXt2YXIgcixuO3JldHVybigwLGkuZGVmYXVsdCkodGhpcyx0KSwobj1kKHRoaXMsdCxbbnVsbCE9KHI9bnVsbD09ZT92b2lkIDA6ZS5tZXNzYWdlKT9yOmVdKSkubmFtZT0iVW5rbm93bkVycm9yIixuLmNvZGU9ZS5jb2RlLGUgaW5zdGFuY2VvZiBFcnJvciYmKG4uc3RhY2s9ZS5zdGFjayksbn1yZXR1cm4oMCxmLmRlZmF1bHQpKHQsZSksKDAsdS5kZWZhdWx0KSh0LFt7a2V5OiJ0b0pTT04iLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue25hbWU6dGhpcy5uYW1lLG1lc3NhZ2U6dGhpcy5tZXNzYWdlLHN0YWNrOnRoaXMuc3RhY2t9fX1dKX0oKDAsbihlLnIoMTMwOTgpKS5kZWZhdWx0KShFcnJvcikpO2Z1bmN0aW9uIHkoZSl7cmV0dXJuIGUucmVwbGFjZSgvKFtBLVpdKS9nLCJfJDEiKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIiIuY29uY2F0KGVbMF0udG9VcHBlckNhc2UoKSkuY29uY2F0KGUuc2xpY2UoMSkpfXIuT0F1dGhDYWxsYmFja0Vycm9yPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZTsoMCxpLmRlZmF1bHQpKHRoaXMsdCk7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyKSxvPTA7bzxyO28rKyluW29dPWFyZ3VtZW50c1tvXTtyZXR1cm4gZT1kKHRoaXMsdCxbXS5jb25jYXQobikpLCgwLHMuZGVmYXVsdCkoZSwibmFtZSIsIk9BdXRoQ2FsbGJhY2tFcnJvciIpLGV9cmV0dXJuKDAsZi5kZWZhdWx0KSh0LGUpLCgwLHUuZGVmYXVsdCkodCl9KHYpLHIuQWNjb3VudE5vdExpbmtlZEVycm9yPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZTsoMCxpLmRlZmF1bHQpKHRoaXMsdCk7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyKSxvPTA7bzxyO28rKyluW29dPWFyZ3VtZW50c1tvXTtyZXR1cm4gZT1kKHRoaXMsdCxbXS5jb25jYXQobikpLCgwLHMuZGVmYXVsdCkoZSwibmFtZSIsIkFjY291bnROb3RMaW5rZWRFcnJvciIpLGV9cmV0dXJuKDAsZi5kZWZhdWx0KSh0LGUpLCgwLHUuZGVmYXVsdCkodCl9KHYpLHIuTWlzc2luZ0FQSVJvdXRlPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZTsoMCxpLmRlZmF1bHQpKHRoaXMsdCk7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyKSxvPTA7bzxyO28rKyluW29dPWFyZ3VtZW50c1tvXTtyZXR1cm4gZT1kKHRoaXMsdCxbXS5jb25jYXQobikpLCgwLHMuZGVmYXVsdCkoZSwibmFtZSIsIk1pc3NpbmdBUElSb3V0ZUVycm9yIiksKDAscy5kZWZhdWx0KShlLCJjb2RlIiwiTUlTU0lOR19ORVhUQVVUSF9BUElfUk9VVEVfRVJST1IiKSxlfXJldHVybigwLGYuZGVmYXVsdCkodCxlKSwoMCx1LmRlZmF1bHQpKHQpfSh2KSxyLk1pc3NpbmdTZWNyZXQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3ZhciBlOygwLGkuZGVmYXVsdCkodGhpcyx0KTtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHIpLG89MDtvPHI7bysrKW5bb109YXJndW1lbnRzW29dO3JldHVybiBlPWQodGhpcyx0LFtdLmNvbmNhdChuKSksKDAscy5kZWZhdWx0KShlLCJuYW1lIiwiTWlzc2luZ1NlY3JldEVycm9yIiksKDAscy5kZWZhdWx0KShlLCJjb2RlIiwiTk9fU0VDUkVUIiksZX1yZXR1cm4oMCxmLmRlZmF1bHQpKHQsZSksKDAsdS5kZWZhdWx0KSh0KX0odiksci5NaXNzaW5nQXV0aG9yaXplPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZTsoMCxpLmRlZmF1bHQpKHRoaXMsdCk7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyKSxvPTA7bzxyO28rKyluW29dPWFyZ3VtZW50c1tvXTtyZXR1cm4gZT1kKHRoaXMsdCxbXS5jb25jYXQobikpLCgwLHMuZGVmYXVsdCkoZSwibmFtZSIsIk1pc3NpbmdBdXRob3JpemVFcnJvciIpLCgwLHMuZGVmYXVsdCkoZSwiY29kZSIsIkNBTExCQUNLX0NSRURFTlRJQUxTX0hBTkRMRVJfRVJST1IiKSxlfXJldHVybigwLGYuZGVmYXVsdCkodCxlKSwoMCx1LmRlZmF1bHQpKHQpfSh2KSxyLk1pc3NpbmdBZGFwdGVyPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZTsoMCxpLmRlZmF1bHQpKHRoaXMsdCk7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShyKSxvPTA7bzxyO28rKyluW29dPWFyZ3VtZW50c1tvXTtyZXR1cm4gZT1kKHRoaXMsdCxbXS5jb25jYXQobikpLCgwLHMuZGVmYXVsdCkoZSwibmFtZSIsIk1pc3NpbmdBZGFwdGVyRXJyb3IiKSwoMCxzLmRlZmF1bHQpKGUsImNvZGUiLCJFTUFJTF9SRVFVSVJFU19BREFQVEVSX0VSUk9SIiksZX1yZXR1cm4oMCxmLmRlZmF1bHQpKHQsZSksKDAsdS5kZWZhdWx0KSh0KX0odiksci5NaXNzaW5nQWRhcHRlck1ldGhvZHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3ZhciBlOygwLGkuZGVmYXVsdCkodGhpcyx0KTtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHIpLG89MDtvPHI7bysrKW5bb109YXJndW1lbnRzW29dO3JldHVybiBlPWQodGhpcyx0LFtdLmNvbmNhdChuKSksKDAscy5kZWZhdWx0KShlLCJuYW1lIiwiTWlzc2luZ0FkYXB0ZXJNZXRob2RzRXJyb3IiKSwoMCxzLmRlZmF1bHQpKGUsImNvZGUiLCJNSVNTSU5HX0FEQVBURVJfTUVUSE9EU19FUlJPUiIpLGV9cmV0dXJuKDAsZi5kZWZhdWx0KSh0LGUpLCgwLHUuZGVmYXVsdCkodCl9KHYpLHIuVW5zdXBwb3J0ZWRTdHJhdGVneT1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7dmFyIGU7KDAsaS5kZWZhdWx0KSh0aGlzLHQpO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkociksbz0wO288cjtvKyspbltvXT1hcmd1bWVudHNbb107cmV0dXJuIGU9ZCh0aGlzLHQsW10uY29uY2F0KG4pKSwoMCxzLmRlZmF1bHQpKGUsIm5hbWUiLCJVbnN1cHBvcnRlZFN0cmF0ZWd5RXJyb3IiKSwoMCxzLmRlZmF1bHQpKGUsImNvZGUiLCJDQUxMQkFDS19DUkVERU5USUFMU19KV1RfRVJST1IiKSxlfXJldHVybigwLGYuZGVmYXVsdCkodCxlKSwoMCx1LmRlZmF1bHQpKHQpfSh2KSxyLkludmFsaWRDYWxsYmFja1VybD1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7dmFyIGU7KDAsaS5kZWZhdWx0KSh0aGlzLHQpO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkociksbz0wO288cjtvKyspbltvXT1hcmd1bWVudHNbb107cmV0dXJuIGU9ZCh0aGlzLHQsW10uY29uY2F0KG4pKSwoMCxzLmRlZmF1bHQpKGUsIm5hbWUiLCJJbnZhbGlkQ2FsbGJhY2tVcmwiKSwoMCxzLmRlZmF1bHQpKGUsImNvZGUiLCJJTlZBTElEX0NBTExCQUNLX1VSTF9FUlJPUiIpLGV9cmV0dXJuKDAsZi5kZWZhdWx0KSh0LGUpLCgwLHUuZGVmYXVsdCkodCl9KHYpfSwzNjM1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO3ZhciBuPWUucigxMzQ1MSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIuZGVmYXVsdD12b2lkIDAsci5wcm94eUxvZ2dlcj1mdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpsLHQ9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7dHJ5e2lmKCJ1Ijx0eXBlb2Ygd2luZG93KXJldHVybiBlO3ZhciByPXt9LG49ZnVuY3Rpb24oZSl7dmFyIG47cltlXT0obj0oMCxzLmRlZmF1bHQpKG8uZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIHIobixzKXt2YXIgaSxmO3JldHVybiBvLmRlZmF1bHQud3JhcChmdW5jdGlvbihyKXtmb3IoOzspc3dpdGNoKHIucHJldj1yLm5leHQpe2Nhc2UgMDppZihsW2VdKG4scyksImVycm9yIj09PWUmJihzPWMocykpLHMuY2xpZW50PSEwLGk9IiIuY29uY2F0KHQsIi9fbG9nIiksZj1uZXcgVVJMU2VhcmNoUGFyYW1zKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspe3ZhciByPW51bGwhPWFyZ3VtZW50c1t0XT9hcmd1bWVudHNbdF06e307dCUyP3UoT2JqZWN0KHIpLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKHQpeygwLGEuZGVmYXVsdCkoZSx0LHJbdF0pfSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6dShPYmplY3QocikpLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIsdCkpfSl9cmV0dXJuIGV9KHtsZXZlbDplLGNvZGU6bn0scykpLCFuYXZpZ2F0b3Iuc2VuZEJlYWNvbil7ci5uZXh0PTg7YnJlYWt9cmV0dXJuIHIuYWJydXB0KCJyZXR1cm4iLG5hdmlnYXRvci5zZW5kQmVhY29uKGksZikpO2Nhc2UgODpyZXR1cm4gci5uZXh0PTEwLGZldGNoKGkse21ldGhvZDoiUE9TVCIsYm9keTpmLGtlZXBhbGl2ZTohMH0pO2Nhc2UgMTA6cmV0dXJuIHIuYWJydXB0KCJyZXR1cm4iLHIuc2VudCk7Y2FzZSAxMTpjYXNlImVuZCI6cmV0dXJuIHIuc3RvcCgpfX0scil9KSksZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX07Zm9yKHZhciBpIGluIGUpbihpKTtyZXR1cm4gcn1jYXRjaChlKXtyZXR1cm4gbH19LHIuc2V0TG9nZ2VyPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LHQ9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7dHx8KGwuZGVidWc9ZnVuY3Rpb24oKXt9KSxlLmVycm9yJiYobC5lcnJvcj1lLmVycm9yKSxlLndhcm4mJihsLndhcm49ZS53YXJuKSxlLmRlYnVnJiYobC5kZWJ1Zz1lLmRlYnVnKX07dmFyIG89bihlLnIoMzEyNzcpKSxhPW4oZS5yKDE0NDE0KSkscz1uKGUucig0NTk0MCkpLGk9ZS5yKDQxNzMxKTtmdW5jdGlvbiB1KGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gYyhlKXt2YXIgdCxyO2lmKGUgaW5zdGFuY2VvZiBFcnJvciYmIShlIGluc3RhbmNlb2YgaS5Vbmtub3duRXJyb3IpKXJldHVybnttZXNzYWdlOmUubWVzc2FnZSxzdGFjazplLnN0YWNrLG5hbWU6ZS5uYW1lfTtpZihudWxsIT0odD1lKSYmdC5lcnJvcil7ZS5lcnJvcj1jKGUuZXJyb3IpLGUubWVzc2FnZT1udWxsIT0ocj1lLm1lc3NhZ2UpP3I6ZS5lcnJvci5tZXNzYWdlfXJldHVybiBlfXZhciBsPXtlcnJvcjpmdW5jdGlvbihlLHQpe3Q9Yyh0KSxjb25zb2xlLmVycm9yKCJbbmV4dC1hdXRoXVtlcnJvcl1bIi5jb25jYXQoZSwiXSIpLCJcbmh0dHBzOi8vbmV4dC1hdXRoLmpzLm9yZy9lcnJvcnMjIi5jb25jYXQoZS50b0xvd2VyQ2FzZSgpKSx0Lm1lc3NhZ2UsdCl9LHdhcm46ZnVuY3Rpb24oZSl7Y29uc29sZS53YXJuKCJbbmV4dC1hdXRoXVt3YXJuXVsiLmNvbmNhdChlLCJdIiksIlxuaHR0cHM6Ly9uZXh0LWF1dGguanMub3JnL3dhcm5pbmdzIyIuY29uY2F0KGUudG9Mb3dlckNhc2UoKSkpfSxkZWJ1ZzpmdW5jdGlvbihlLHQpe2NvbnNvbGUubG9nKCJbbmV4dC1hdXRoXVtkZWJ1Z11bIi5jb25jYXQoZSwiXSIpLHQpfX07ci5kZWZhdWx0PWx9LDk4NTIwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIuZGVmYXVsdD1mdW5jdGlvbihlKXt2YXIgdDtsZXQgcj1uZXcgVVJMKCJodHRwOi8vbG9jYWxob3N0OjMwMDAvYXBpL2F1dGgiKTtlJiYhZS5zdGFydHNXaXRoKCJodHRwIikmJihlPWBodHRwczovLyR7ZX1gKTtsZXQgbj1uZXcgVVJMKG51bGwhPSh0PWUpP3Q6ciksbz0oIi8iPT09bi5wYXRobmFtZT9yLnBhdGhuYW1lOm4ucGF0aG5hbWUpLnJlcGxhY2UoL1wvJC8sIiIpLGE9YCR7bi5vcmlnaW59JHtvfWA7cmV0dXJue29yaWdpbjpuLm9yaWdpbixob3N0Om4uaG9zdCxwYXRoOm8sYmFzZTphLHRvU3RyaW5nOigpPT5hfX19LDkwMTIwLChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG49ZS5yKDEzNDUxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksci5Ccm9hZGNhc3RDaGFubmVsPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJuZXh0YXV0aC5tZXNzYWdlIjtyZXR1cm57cmVjZWl2ZTpmdW5jdGlvbih0KXt2YXIgcj1mdW5jdGlvbihyKXtpZihyLmtleT09PWUpe3ZhciBuLG89SlNPTi5wYXJzZShudWxsIT0obj1yLm5ld1ZhbHVlKT9uOiJ7fSIpOyhudWxsPT1vP3ZvaWQgMDpvLmV2ZW50KT09PSJzZXNzaW9uIiYmbnVsbCE9byYmby5kYXRhJiZ0KG8pfX07cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixyKSxmdW5jdGlvbigpe3JldHVybiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIscil9fSxwb3N0OmZ1bmN0aW9uKHQpe2lmKCJ1Ij50eXBlb2Ygd2luZG93KXRyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShlLEpTT04uc3RyaW5naWZ5KHUodSh7fSx0KSx7fSx7dGltZXN0YW1wOmYoKX0pKSl9Y2F0Y2goZSl7fX19fSxyLmFwaUJhc2VVcmw9bCxyLmZldGNoRGF0YT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGMuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxyLm5vdz1mO3ZhciBvPW4oZS5yKDMxMjc3KSksYT1uKGUucigxNDQxNCkpLHM9bihlLnIoNDU5NDApKTtmdW5jdGlvbiBpKGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdShlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9pKE9iamVjdChyKSwhMCkuZm9yRWFjaChmdW5jdGlvbih0KXsoMCxhLmRlZmF1bHQpKGUsdCxyW3RdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOmkoT2JqZWN0KHIpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pfXJldHVybiBlfWZ1bmN0aW9uIGMoKXtyZXR1cm4oYz0oMCxzLmRlZmF1bHQpKG8uZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLHMsaSxjLGYsZCxwLHYseSxoPWFyZ3VtZW50cztyZXR1cm4gby5kZWZhdWx0LndyYXAoZnVuY3Rpb24oZSl7Zm9yKDs7KXN3aXRjaChlLnByZXY9ZS5uZXh0KXtjYXNlIDA6cmV0dXJuIHM9KGE9aC5sZW5ndGg+MyYmdm9pZCAwIT09aFszXT9oWzNdOnt9KS5jdHgsYz12b2lkIDA9PT0oaT1hLnJlcSk/bnVsbD09cz92b2lkIDA6cy5yZXE6aSxmPSIiLmNvbmNhdChsKHIpLCIvIikuY29uY2F0KHQpLGUucHJldj0yLHA9e2hlYWRlcnM6dSh7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxudWxsIT1jJiZudWxsIT0oZD1jLmhlYWRlcnMpJiZkLmNvb2tpZT97Y29va2llOmMuaGVhZGVycy5jb29raWV9Ont9KX0sbnVsbCE9YyYmYy5ib2R5JiYocC5ib2R5PUpTT04uc3RyaW5naWZ5KGMuYm9keSkscC5tZXRob2Q9IlBPU1QiKSxlLm5leHQ9NyxmZXRjaChmLHApO2Nhc2UgNzpyZXR1cm4gdj1lLnNlbnQsZS5uZXh0PTEwLHYuanNvbigpO2Nhc2UgMTA6aWYoeT1lLnNlbnQsdi5vayl7ZS5uZXh0PTEzO2JyZWFrfXRocm93IHk7Y2FzZSAxMzpyZXR1cm4gZS5hYnJ1cHQoInJldHVybiIsT2JqZWN0LmtleXMoeSkubGVuZ3RoPjA/eTpudWxsKTtjYXNlIDE2OnJldHVybiBlLnByZXY9MTYsZS50MD1lLmNhdGNoKDIpLG4uZXJyb3IoIkNMSUVOVF9GRVRDSF9FUlJPUiIse2Vycm9yOmUudDAsdXJsOmZ9KSxlLmFicnVwdCgicmV0dXJuIixudWxsKTtjYXNlIDIwOmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSxlLG51bGwsW1syLDE2XV0pfSkpKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gbChlKXtyZXR1cm4idSI8dHlwZW9mIHdpbmRvdz8iIi5jb25jYXQoZS5iYXNlVXJsU2VydmVyKS5jb25jYXQoZS5iYXNlUGF0aFNlcnZlcik6ZS5iYXNlUGF0aH1mdW5jdGlvbiBmKCl7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpfX0sMjc2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LDE3MjU1LChlLHQscik9PnsidXNlIHN0cmljdCI7dmFyIG4sbyxhLHMsaSx1PWUuaSg0NzE2NyksYz1lLnIoMTM0NTEpLGw9ZS5yKDM1MDQ1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGY9e1Nlc3Npb25Db250ZXh0OiEwLHVzZVNlc3Npb246ITAsZ2V0U2Vzc2lvbjohMCxnZXRDc3JmVG9rZW46ITAsZ2V0UHJvdmlkZXJzOiEwLHNpZ25JbjohMCxzaWduT3V0OiEwLFNlc3Npb25Qcm92aWRlcjohMH07ci5TZXNzaW9uQ29udGV4dD12b2lkIDAsci5TZXNzaW9uUHJvdmlkZXI9ZnVuY3Rpb24oZSl7aWYoIU0pdGhyb3cgRXJyb3IoIlJlYWN0IENvbnRleHQgaXMgdW5hdmFpbGFibGUgaW4gU2VydmVyIENvbXBvbmVudHMiKTt2YXIgdCxyLG4sbyxhLHMsaT1lLmNoaWxkcmVuLHU9ZS5iYXNlUGF0aCxjPWUucmVmZXRjaEludGVydmFsLGw9ZS5yZWZldGNoV2hlbk9mZmxpbmU7dSYmKGouYmFzZVBhdGg9dSk7dmFyIGY9dm9pZCAwIT09ZS5zZXNzaW9uO2ouX2xhc3RTeW5jPWY/KDAsbS5ub3cpKCk6MDt2YXIgcD1oLnVzZVN0YXRlKGZ1bmN0aW9uKCl7cmV0dXJuIGYmJihqLl9zZXNzaW9uPWUuc2Vzc2lvbiksZS5zZXNzaW9ufSksYj0oMCx5LmRlZmF1bHQpKHAsMiksZz1iWzBdLHc9YlsxXSxfPWgudXNlU3RhdGUoIWYpLE89KDAseS5kZWZhdWx0KShfLDIpLEU9T1swXSxTPU9bMV07aC51c2VFZmZlY3QoZnVuY3Rpb24oKXtyZXR1cm4gai5fZ2V0U2Vzc2lvbj0oMCx2LmRlZmF1bHQpKGQuZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIGUoKXt2YXIgdCxyLG49YXJndW1lbnRzO3JldHVybiBkLmRlZmF1bHQud3JhcChmdW5jdGlvbihlKXtmb3IoOzspc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDppZih0PShuLmxlbmd0aD4wJiZ2b2lkIDAhPT1uWzBdP25bMF06e30pLmV2ZW50LGUucHJldj0xLCEoKHI9InN0b3JhZ2UiPT09dCl8fHZvaWQgMD09PWouX3Nlc3Npb24pKXtlLm5leHQ9MTA7YnJlYWt9cmV0dXJuIGouX2xhc3RTeW5jPSgwLG0ubm93KSgpLGUubmV4dD03LFIoe2Jyb2FkY2FzdDohcn0pO2Nhc2UgNzpyZXR1cm4gai5fc2Vzc2lvbj1lLnNlbnQsdyhqLl9zZXNzaW9uKSxlLmFicnVwdCgicmV0dXJuIik7Y2FzZSAxMDppZighKCF0fHxudWxsPT09ai5fc2Vzc2lvbnx8KDAsbS5ub3cpKCk8ai5fbGFzdFN5bmMpKXtlLm5leHQ9MTI7YnJlYWt9cmV0dXJuIGUuYWJydXB0KCJyZXR1cm4iKTtjYXNlIDEyOnJldHVybiBqLl9sYXN0U3luYz0oMCxtLm5vdykoKSxlLm5leHQ9MTUsUigpO2Nhc2UgMTU6ai5fc2Vzc2lvbj1lLnNlbnQsdyhqLl9zZXNzaW9uKSxlLm5leHQ9MjI7YnJlYWs7Y2FzZSAxOTplLnByZXY9MTksZS50MD1lLmNhdGNoKDEpLGsuZXJyb3IoIkNMSUVOVF9TRVNTSU9OX0VSUk9SIixlLnQwKTtjYXNlIDIyOnJldHVybiBlLnByZXY9MjIsUyghMSksZS5maW5pc2goMjIpO2Nhc2UgMjU6Y2FzZSJlbmQiOnJldHVybiBlLnN0b3AoKX19LGUsbnVsbCxbWzEsMTksMjIsMjVdXSl9KSksai5fZ2V0U2Vzc2lvbigpLGZ1bmN0aW9uKCl7ai5fbGFzdFN5bmM9MCxqLl9zZXNzaW9uPXZvaWQgMCxqLl9nZXRTZXNzaW9uPWZ1bmN0aW9uKCl7fX19LFtdKSxoLnVzZUVmZmVjdChmdW5jdGlvbigpe3ZhciBlPVAucmVjZWl2ZShmdW5jdGlvbigpe3JldHVybiBqLl9nZXRTZXNzaW9uKHtldmVudDoic3RvcmFnZSJ9KX0pO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlKCl9fSxbXSksaC51c2VFZmZlY3QoZnVuY3Rpb24oKXt2YXIgdD1lLnJlZmV0Y2hPbldpbmRvd0ZvY3VzLHI9dm9pZCAwPT09dHx8dCxuPWZ1bmN0aW9uKCl7ciYmInZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZqLl9nZXRTZXNzaW9uKHtldmVudDoidmlzaWJpbGl0eWNoYW5nZSJ9KX07cmV0dXJuIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLG4sITEpLGZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLG4sITEpfX0sW2UucmVmZXRjaE9uV2luZG93Rm9jdXNdKTt2YXIgQT0odD1oLnVzZVN0YXRlKCJ1Ij50eXBlb2YgbmF2aWdhdG9yJiZuYXZpZ2F0b3Iub25MaW5lKSxuPShyPSgwLHkuZGVmYXVsdCkodCwyKSlbMF0sbz1yWzFdLGE9ZnVuY3Rpb24oKXtyZXR1cm4gbyghMCl9LHM9ZnVuY3Rpb24oKXtyZXR1cm4gbyghMSl9LGgudXNlRWZmZWN0KGZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvZmZsaW5lIixzKSxmdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbmxpbmUiLGEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvZmZsaW5lIixzKX19LFtdKSxuKSxDPSExIT09bHx8QTtoLnVzZUVmZmVjdChmdW5jdGlvbigpe2lmKGMmJkMpe3ZhciBlPXNldEludGVydmFsKGZ1bmN0aW9uKCl7ai5fc2Vzc2lvbiYmai5fZ2V0U2Vzc2lvbih7ZXZlbnQ6InBvbGwifSl9LDFlMypjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gY2xlYXJJbnRlcnZhbChlKX19fSxbYyxDXSk7dmFyIE49aC51c2VNZW1vKGZ1bmN0aW9uKCl7cmV0dXJue2RhdGE6ZyxzdGF0dXM6RT8ibG9hZGluZyI6Zz8iYXV0aGVudGljYXRlZCI6InVuYXV0aGVudGljYXRlZCIsdXBkYXRlOmZ1bmN0aW9uKGUpe3JldHVybigwLHYuZGVmYXVsdCkoZC5kZWZhdWx0Lm1hcmsoZnVuY3Rpb24gdCgpe3ZhciByO3JldHVybiBkLmRlZmF1bHQud3JhcChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZighKEV8fCFnKSl7dC5uZXh0PTI7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iKTtjYXNlIDI6cmV0dXJuIFMoITApLHQudDA9bS5mZXRjaERhdGEsdC50MT1qLHQudDI9ayx0Lm5leHQ9OCxUKCk7Y2FzZSA4OnJldHVybiB0LnQzPXQuc2VudCx0LnQ0PWUsdC50NT17Y3NyZlRva2VuOnQudDMsZGF0YTp0LnQ0fSx0LnQ2PXtib2R5OnQudDV9LHQudDc9e3JlcTp0LnQ2fSx0Lm5leHQ9MTUsKDAsdC50MCkoInNlc3Npb24iLHQudDEsdC50Mix0LnQ3KTtjYXNlIDE1OnJldHVybiByPXQuc2VudCxTKCExKSxyJiYodyhyKSxQLnBvc3Qoe2V2ZW50OiJzZXNzaW9uIixkYXRhOnt0cmlnZ2VyOiJnZXRTZXNzaW9uIn19KSksdC5hYnJ1cHQoInJldHVybiIscik7Y2FzZSAxOTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0sdCl9KSkoKX19fSxbZyxFXSk7cmV0dXJuKDAseC5qc3gpKE0uUHJvdmlkZXIse3ZhbHVlOk4sY2hpbGRyZW46aX0pfSxyLmdldENzcmZUb2tlbj1ULHIuZ2V0UHJvdmlkZXJzPU4sci5nZXRTZXNzaW9uPVIsci5zaWduSW49ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBVLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sci5zaWduT3V0PWZ1bmN0aW9uKGUpe3JldHVybiBJLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sci51c2VTZXNzaW9uPWZ1bmN0aW9uKGUpe2lmKCFNKXRocm93IEVycm9yKCJSZWFjdCBDb250ZXh0IGlzIHVuYXZhaWxhYmxlIGluIFNlcnZlciBDb21wb25lbnRzIik7dmFyIHQ9aC51c2VDb250ZXh0KE0pLHI9bnVsbCE9ZT9lOnt9LG49ci5yZXF1aXJlZCxvPXIub25VbmF1dGhlbnRpY2F0ZWQsYT1uJiYidW5hdXRoZW50aWNhdGVkIj09PXQuc3RhdHVzO3JldHVybihoLnVzZUVmZmVjdChmdW5jdGlvbigpe2lmKGEpe3ZhciBlPSIvYXBpL2F1dGgvc2lnbmluPyIuY29uY2F0KG5ldyBVUkxTZWFyY2hQYXJhbXMoe2Vycm9yOiJTZXNzaW9uUmVxdWlyZWQiLGNhbGxiYWNrVXJsOndpbmRvdy5sb2NhdGlvbi5ocmVmfSkpO28/bygpOndpbmRvdy5sb2NhdGlvbi5ocmVmPWV9fSxbYSxvXSksYSk/e2RhdGE6dC5kYXRhLHVwZGF0ZTp0LnVwZGF0ZSxzdGF0dXM6ImxvYWRpbmcifTp0fTt2YXIgZD1jKGUucigzMTI3NykpLHA9YyhlLnIoMTQ0MTQpKSx2PWMoZS5yKDQ1OTQwKSkseT1jKGUucig2MjE5NSkpLGg9TyhlLnIoNzE2NDUpKSxiPU8oZS5yKDM2MzU3KSksZz1jKGUucig5ODUyMCkpLG09ZS5yKDkwMTIwKSx4PWUucig0MzQ3Niksdz1lLnIoMjc2NjcpO2Z1bmN0aW9uIF8oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oXz1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1mdW5jdGlvbiBPKGUsdCl7aWYoIXQmJmUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZihudWxsPT09ZXx8Im9iamVjdCIhPWwoZSkmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciByPV8odCk7aWYociYmci5oYXMoZSkpcmV0dXJuIHIuZ2V0KGUpO3ZhciBuPXtfX3Byb3RvX186bnVsbH0sbz1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBhIGluIGUpaWYoImRlZmF1bHQiIT09YSYmKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkpe3ZhciBzPW8/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGEpOm51bGw7cyYmKHMuZ2V0fHxzLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sYSxzKTpuW2FdPWVbYV19cmV0dXJuIG4uZGVmYXVsdD1lLHImJnIuc2V0KGUsbiksbn1mdW5jdGlvbiBFKGUsdCl7dmFyIHI9T2JqZWN0LmtleXMoZSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTt0JiYobj1uLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpLmVudW1lcmFibGV9KSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gUyhlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbdF0/YXJndW1lbnRzW3RdOnt9O3QlMj9FKE9iamVjdChyKSwhMCkuZm9yRWFjaChmdW5jdGlvbih0KXsoMCxwLmRlZmF1bHQpKGUsdCxyW3RdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOkUoT2JqZWN0KHIpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHQpKX0pfXJldHVybiBlfU9iamVjdC5rZXlzKHcpLmZvckVhY2goZnVuY3Rpb24oZSl7ImRlZmF1bHQiPT09ZXx8Il9fZXNNb2R1bGUiPT09ZXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGYsZSl8fGUgaW4gciYmcltlXT09PXdbZV18fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGUse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHdbZV19fSl9KTt2YXIgaj17YmFzZVVybDooMCxnLmRlZmF1bHQpKG51bGwhPShuPXUuZGVmYXVsdC5lbnYuTkVYVEFVVEhfVVJMKT9uOnUuZGVmYXVsdC5lbnYuVkVSQ0VMX1VSTCkub3JpZ2luLGJhc2VQYXRoOigwLGcuZGVmYXVsdCkodS5kZWZhdWx0LmVudi5ORVhUQVVUSF9VUkwpLnBhdGgsYmFzZVVybFNlcnZlcjooMCxnLmRlZmF1bHQpKG51bGwhPShvPW51bGwhPShhPXUuZGVmYXVsdC5lbnYuTkVYVEFVVEhfVVJMX0lOVEVSTkFMKT9hOnUuZGVmYXVsdC5lbnYuTkVYVEFVVEhfVVJMKT9vOnUuZGVmYXVsdC5lbnYuVkVSQ0VMX1VSTCkub3JpZ2luLGJhc2VQYXRoU2VydmVyOigwLGcuZGVmYXVsdCkobnVsbCE9KHM9dS5kZWZhdWx0LmVudi5ORVhUQVVUSF9VUkxfSU5URVJOQUwpP3M6dS5kZWZhdWx0LmVudi5ORVhUQVVUSF9VUkwpLnBhdGgsX2xhc3RTeW5jOjAsX3Nlc3Npb246dm9pZCAwLF9nZXRTZXNzaW9uOmZ1bmN0aW9uKCl7fX0sUD0oMCxtLkJyb2FkY2FzdENoYW5uZWwpKCksaz0oMCxiLnByb3h5TG9nZ2VyKShiLmRlZmF1bHQsai5iYXNlUGF0aCksTT1yLlNlc3Npb25Db250ZXh0PW51bGw9PShpPWguY3JlYXRlQ29udGV4dCk/dm9pZCAwOmkuY2FsbChoLHZvaWQgMCk7ZnVuY3Rpb24gUihlKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gQSgpe3JldHVybihBPSgwLHYuZGVmYXVsdCkoZC5kZWZhdWx0Lm1hcmsoZnVuY3Rpb24gZSh0KXt2YXIgcixuO3JldHVybiBkLmRlZmF1bHQud3JhcChmdW5jdGlvbihlKXtmb3IoOzspc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDpyZXR1cm4gZS5uZXh0PTIsKDAsbS5mZXRjaERhdGEpKCJzZXNzaW9uIixqLGssdCk7Y2FzZSAyOnJldHVybiBuPWUuc2VudCwobnVsbD09KHI9bnVsbD09dD92b2lkIDA6dC5icm9hZGNhc3QpfHxyKSYmUC5wb3N0KHtldmVudDoic2Vzc2lvbiIsZGF0YTp7dHJpZ2dlcjoiZ2V0U2Vzc2lvbiJ9fSksZS5hYnJ1cHQoInJldHVybiIsbik7Y2FzZSA1OmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSxlKX0pKSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIFQoZSl7cmV0dXJuIEMuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIEMoKXtyZXR1cm4oQz0oMCx2LmRlZmF1bHQpKGQuZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIGUodCl7dmFyIHI7cmV0dXJuIGQuZGVmYXVsdC53cmFwKGZ1bmN0aW9uKGUpe2Zvcig7Oylzd2l0Y2goZS5wcmV2PWUubmV4dCl7Y2FzZSAwOnJldHVybiBlLm5leHQ9MiwoMCxtLmZldGNoRGF0YSkoImNzcmYiLGosayx0KTtjYXNlIDI6cmV0dXJuIHI9ZS5zZW50LGUuYWJydXB0KCJyZXR1cm4iLG51bGw9PXI/dm9pZCAwOnIuY3NyZlRva2VuKTtjYXNlIDQ6Y2FzZSJlbmQiOnJldHVybiBlLnN0b3AoKX19LGUpfSkpKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTigpe3JldHVybiBMLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBMKCl7cmV0dXJuKEw9KDAsdi5kZWZhdWx0KShkLmRlZmF1bHQubWFyayhmdW5jdGlvbiBlKCl7cmV0dXJuIGQuZGVmYXVsdC53cmFwKGZ1bmN0aW9uKGUpe2Zvcig7Oylzd2l0Y2goZS5wcmV2PWUubmV4dCl7Y2FzZSAwOnJldHVybiBlLm5leHQ9MiwoMCxtLmZldGNoRGF0YSkoInByb3ZpZGVycyIsaixrKTtjYXNlIDI6cmV0dXJuIGUuYWJydXB0KCJyZXR1cm4iLGUuc2VudCk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSxlKX0pKSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIFUoKXtyZXR1cm4oVT0oMCx2LmRlZmF1bHQpKGQuZGVmYXVsdC5tYXJrKGZ1bmN0aW9uIGUodCxyLG4pe3ZhciBvLGEscyxpLHUsYyxsLGYscCx2LHksaCxiLGcseCx3LF87cmV0dXJuIGQuZGVmYXVsdC53cmFwKGZ1bmN0aW9uKGUpe2Zvcig7Oylzd2l0Y2goZS5wcmV2PWUubmV4dCl7Y2FzZSAwOnJldHVybiBzPXZvaWQgMD09PShhPShvPW51bGwhPXI/cjp7fSkuY2FsbGJhY2tVcmwpP3dpbmRvdy5sb2NhdGlvbi5ocmVmOmEsdT12b2lkIDA9PT0oaT1vLnJlZGlyZWN0KXx8aSxjPSgwLG0uYXBpQmFzZVVybCkoaiksZS5uZXh0PTQsTigpO2Nhc2UgNDppZihsPWUuc2VudCl7ZS5uZXh0PTg7YnJlYWt9cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmPSIiLmNvbmNhdChjLCIvZXJyb3IiKSxlLmFicnVwdCgicmV0dXJuIik7Y2FzZSA4OmlmKCEoIXR8fCEodCBpbiBsKSkpe2UubmV4dD0xMTticmVha31yZXR1cm4gd2luZG93LmxvY2F0aW9uLmhyZWY9IiIuY29uY2F0KGMsIi9zaWduaW4/IikuY29uY2F0KG5ldyBVUkxTZWFyY2hQYXJhbXMoe2NhbGxiYWNrVXJsOnN9KSksZS5hYnJ1cHQoInJldHVybiIpO2Nhc2UgMTE6cmV0dXJuIGY9ImNyZWRlbnRpYWxzIj09PWxbdF0udHlwZSxwPSJlbWFpbCI9PT1sW3RdLnR5cGUsdj1mfHxwLHk9IiIuY29uY2F0KGMsIi8iKS5jb25jYXQoZj8iY2FsbGJhY2siOiJzaWduaW4iLCIvIikuY29uY2F0KHQpLGg9IiIuY29uY2F0KHkpLmNvbmNhdChuPyI/Ii5jb25jYXQobmV3IFVSTFNlYXJjaFBhcmFtcyhuKSk6IiIpLGUudDA9ZmV0Y2gsZS50MT1oLGUudDI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxlLnQzPVVSTFNlYXJjaFBhcmFtcyxlLnQ0PVMsZS50NT1TKHt9LHIpLGUudDY9e30sZS5uZXh0PTI1LFQoKTtjYXNlIDI1OnJldHVybiBlLnQ3PWUuc2VudCxlLnQ4PXMsZS50OT17Y3NyZlRva2VuOmUudDcsY2FsbGJhY2tVcmw6ZS50OCxqc29uOiEwfSxlLnQxMD0oMCxlLnQ0KShlLnQ1LGUudDYsZS50OSksZS50MTE9bmV3IGUudDMoZS50MTApLGUudDEyPXttZXRob2Q6InBvc3QiLGhlYWRlcnM6ZS50Mixib2R5OmUudDExfSxlLm5leHQ9MzMsKDAsZS50MCkoZS50MSxlLnQxMik7Y2FzZSAzMzpyZXR1cm4gYj1lLnNlbnQsZS5uZXh0PTM2LGIuanNvbigpO2Nhc2UgMzY6aWYoZz1lLnNlbnQsISh1fHwhdikpe2UubmV4dD00MjticmVha31yZXR1cm4gdz1udWxsIT0oeD1nLnVybCk/eDpzLHdpbmRvdy5sb2NhdGlvbi5ocmVmPXcsdy5pbmNsdWRlcygiIyIpJiZ3aW5kb3cubG9jYXRpb24ucmVsb2FkKCksZS5hYnJ1cHQoInJldHVybiIpO2Nhc2UgNDI6aWYoXz1uZXcgVVJMKGcudXJsKS5zZWFyY2hQYXJhbXMuZ2V0KCJlcnJvciIpLCFiLm9rKXtlLm5leHQ9NDY7YnJlYWt9cmV0dXJuIGUubmV4dD00NixqLl9nZXRTZXNzaW9uKHtldmVudDoic3RvcmFnZSJ9KTtjYXNlIDQ2OnJldHVybiBlLmFicnVwdCgicmV0dXJuIix7ZXJyb3I6XyxzdGF0dXM6Yi5zdGF0dXMsb2s6Yi5vayx1cmw6Xz9udWxsOmcudXJsfSk7Y2FzZSA0NzpjYXNlImVuZCI6cmV0dXJuIGUuc3RvcCgpfX0sZSl9KSkpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBJKCl7cmV0dXJuKEk9KDAsdi5kZWZhdWx0KShkLmRlZmF1bHQubWFyayhmdW5jdGlvbiBlKHQpe3ZhciByLG4sbyxhLHMsaSx1LGMsbDtyZXR1cm4gZC5kZWZhdWx0LndyYXAoZnVuY3Rpb24oZSl7Zm9yKDs7KXN3aXRjaChlLnByZXY9ZS5uZXh0KXtjYXNlIDA6cmV0dXJuIG89dm9pZCAwPT09KG49KG51bGwhPXQ/dDp7fSkuY2FsbGJhY2tVcmwpP3dpbmRvdy5sb2NhdGlvbi5ocmVmOm4sYT0oMCxtLmFwaUJhc2VVcmwpKGopLGUudDA9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxlLnQxPVVSTFNlYXJjaFBhcmFtcyxlLm5leHQ9NixUKCk7Y2FzZSA2OnJldHVybiBlLnQyPWUuc2VudCxlLnQzPW8sZS50ND17Y3NyZlRva2VuOmUudDIsY2FsbGJhY2tVcmw6ZS50Myxqc29uOiEwfSxlLnQ1PW5ldyBlLnQxKGUudDQpLHM9e21ldGhvZDoicG9zdCIsaGVhZGVyczplLnQwLGJvZHk6ZS50NX0sZS5uZXh0PTEzLGZldGNoKCIiLmNvbmNhdChhLCIvc2lnbm91dCIpLHMpO2Nhc2UgMTM6cmV0dXJuIGk9ZS5zZW50LGUubmV4dD0xNixpLmpzb24oKTtjYXNlIDE2OmlmKHU9ZS5zZW50LFAucG9zdCh7ZXZlbnQ6InNlc3Npb24iLGRhdGE6e3RyaWdnZXI6InNpZ25vdXQifX0pLCEobnVsbD09KHI9bnVsbD09dD92b2lkIDA6dC5yZWRpcmVjdCl8fHIpKXtlLm5leHQ9MjM7YnJlYWt9cmV0dXJuIGw9bnVsbCE9KGM9dS51cmwpP2M6byx3aW5kb3cubG9jYXRpb24uaHJlZj1sLGwuaW5jbHVkZXMoIiMiKSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpLGUuYWJydXB0KCJyZXR1cm4iKTtjYXNlIDIzOnJldHVybiBlLm5leHQ9MjUsai5fZ2V0U2Vzc2lvbih7ZXZlbnQ6InN0b3JhZ2UifSk7Y2FzZSAyNTpyZXR1cm4gZS5hYnJ1cHQoInJldHVybiIsdSk7Y2FzZSAyNjpjYXNlImVuZCI6cmV0dXJuIGUuc3RvcCgpfX0sZSl9KSkpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LDQ0NjM2LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSgxNzI1NSksbj1lLmkoNTc2Nik7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybigwLHQuanN4cykoci5TZXNzaW9uUHJvdmlkZXIse2NoaWxkcmVuOltlLCgwLHQuanN4KShuLlRvYXN0ZXIse3Bvc2l0aW9uOiJ0b3AtcmlnaHQiLHRvYXN0T3B0aW9uczp7c3R5bGU6e2JhY2tncm91bmQ6IiMxZjI5MzciLGNvbG9yOiIjZmZmIixib3JkZXI6IjFweCBzb2xpZCAjMzc0MTUxIn0sc3VjY2Vzczp7aWNvblRoZW1lOntwcmltYXJ5OiIjZjU5ZTBiIixzZWNvbmRhcnk6IiMwMDAifX19fSldfSl9XSl9XSk7"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/api/auth/session","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.945Z","timestamp":1785136352945,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /api/auth/session HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nContent-Type: application/json\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nage: 0\r\ncache-control: private, no-cache, no-store\r\ncontent-encoding: br\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 07:12:34 GMT\r\nexpires: 0\r\npragma: no-cache\r\nserver: Vercel\r\nset-cookie: __Host-next-auth.csrf-token=e18e3d0b06c79c660cda6e662604031a47e8c67703f1b05f13bb10a34e05614e%7Cd4d83b59d02b596ac1f752d0d9173631ad847a8bcc00153bbffae55ab67b7e73; Path=/; HttpOnly; Secure; SameSite=Lax\n__Secure-next-auth.callback-url=https%3A%2F%2Fhashvault.site; Path=/; HttpOnly; Secure; SameSite=Lax\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /api/auth/[...nextauth]\r\nx-vercel-cache: MISS\r\nx-vercel-id: arn1::iad1::dnmw9-1785136352952-e41813641674\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"NextAuth.js","description":"NextAuth.js is a complete open-source authentication solution for Next.js applications.","website":"https://next-auth.js.org","common_platform_enumeration":"","icon":"Next-Auth.png","categories":["Authentication"]}],"data":{"size":2,"size_decoded":713,"mime_type":"application/json","magic":"JSON text data","md5":"99914b932bd37a50b983c5e7c90ae93b","sha1":"bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f","sha256":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","sha512":"27c74670adb75075fad058d5ceaf7b20c4e7786c83bae8a32f626f9782af34c9a33c2046ef60fd2a7878d378e29fec851806bbd9a67878f3a9f1cda4830763fd","ssdeep":"","tlshash":"c7100000000000c00000000c00000000000000000c0000000000000000000000000000","first_seen":"2023-03-07T01:15:26Z","last_seen":"2026-07-29T13:01:23.355113Z","times_seen":751707,"resource_available":true,"data":"e30="}},"time_used":1419,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":1419,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=wwshq","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.101Z","timestamp":1785136353101,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=wwshq HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /auth/register\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"e058d763831121ab7cc33cbec8d108e9\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/auth/register.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7rkmv-1785136353107-f8a8c896e7cb\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1120,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0yy3m.q_jf9g4.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.193Z","timestamp":1785136353193,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0yy3m.q_jf9g4.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0yy3m.q_jf9g4.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"8ab0ca01a6785ba6c1c1e8b940818ce6\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0yy3m.q_jf9g4.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353198-65949eb92780\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":9348,"size_decoded":4516,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (9330), with no line terminators","md5":"8ab0ca01a6785ba6c1c1e8b940818ce6","sha1":"329baba9e37b8805415dc089c98203bf88e919c9","sha256":"0bac9f953f80d36a1cfe836e31629b33b7bc7a5894ec9ae5a95f32cf25566438","sha512":"42c64cb27d9b0ca782187a6fca4f564813a7175395e5441c0004e73cca3e55e04dfe59731b042a3a7a5fffb6c8ef50026d0a399b6ac218b1023741e69cfa4d1f","ssdeep":"192:sWyUEvVrvbmK/gFeR11PpHV3h1FKumz+Xf5tN+:sWy7rXjHVARz+v5tI","tlshash":"7512b6747091b9d8a59b0094802f840db13f6f3dd85fa8b8f7f89cf9266085cb592bd9","first_seen":"2026-07-27T05:24:49.443253Z","last_seen":"2026-07-27T07:13:55.096008Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOm49Im1kIixjaGlsZHJlbjphLGxvYWRpbmc6bCxjbGFzc05hbWU6byxkaXNhYmxlZDpzLC4uLml9KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVtuXSxvKSxkaXNhYmxlZDpzfHxsLC4uLmksY2hpbGRyZW46bD8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOmF9KX1dKX0sOTUwNTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2Zvcm1hdFVybDpmdW5jdGlvbigpe3JldHVybiBzfSxmb3JtYXRXaXRoVmFsaWRhdGlvbjpmdW5jdGlvbigpe3JldHVybiB1fSx1cmxPYmplY3RLZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDkwODA5KS5fKGUucig5ODE4MykpLG89L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIHMoZSl7bGV0e2F1dGg6dCxob3N0bmFtZTpyfT1lLG49ZS5wcm90b2NvbHx8IiIsYT1lLnBhdGhuYW1lfHwiIixzPWUuaGFzaHx8IiIsaT1lLnF1ZXJ5fHwiIix1PSExO3Q9dD9lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTNBL2ksIjoiKSsiQCI6IiIsZS5ob3N0P3U9dCtlLmhvc3Q6ciYmKHU9dCsofnIuaW5kZXhPZigiOiIpP2BbJHtyfV1gOnIpLGUucG9ydCYmKHUrPSI6IitlLnBvcnQpKSxpJiYib2JqZWN0Ij09dHlwZW9mIGkmJihpPVN0cmluZyhsLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMoaSkpKTtsZXQgYz1lLnNlYXJjaHx8aSYmYD8ke2l9YHx8IiI7cmV0dXJuIG4mJiFuLmVuZHNXaXRoKCI6IikmJihuKz0iOiIpLGUuc2xhc2hlc3x8KCFufHxvLnRlc3QobikpJiYhMSE9PXU/KHU9Ii8vIisodXx8IiIpLGEmJiIvIiE9PWFbMF0mJihhPSIvIithKSk6dXx8KHU9IiIpLHMmJiIjIiE9PXNbMF0mJihzPSIjIitzKSxjJiYiPyIhPT1jWzBdJiYoYz0iPyIrYyksYT1hLnJlcGxhY2UoL1s/I10vZyxlbmNvZGVVUklDb21wb25lbnQpLGM9Yy5yZXBsYWNlKCIjIiwiJTIzIiksYCR7bn0ke3V9JHthfSR7Y30ke3N9YH1sZXQgaT1bImF1dGgiLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGgiLCJwYXRobmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInF1ZXJ5Iiwic2VhcmNoIiwic2xhc2hlcyJdO2Z1bmN0aW9uIHUoZSl7cmV0dXJuIHMoZSl9fSwxODU4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlTWVyZ2VkUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoNzE2NDUpO2Z1bmN0aW9uIGEoZSx0KXtsZXQgcj0oMCxuLnVzZVJlZikobnVsbCksYT0oMCxuLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsbi51c2VDYWxsYmFjaykobj0+e2lmKG51bGw9PT1uKXtsZXQgZT1yLmN1cnJlbnQ7ZSYmKHIuY3VycmVudD1udWxsLGUoKSk7bGV0IHQ9YS5jdXJyZW50O3QmJihhLmN1cnJlbnQ9bnVsbCx0KCkpfWVsc2UgZSYmKHIuY3VycmVudD1sKGUsbikpLHQmJihhLmN1cnJlbnQ9bCh0LG4pKX0sW2UsdF0pfWZ1bmN0aW9uIGwoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gZS5jdXJyZW50PXQsKCk9PntlLmN1cnJlbnQ9bnVsbH07e2xldCByPWUodCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ZShudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTG9jYWxVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODk2NyksYT1lLnIoNTI4MTcpO2Z1bmN0aW9uIGwoZSl7aWYoISgwLG4uaXNBYnNvbHV0ZVVybCkoZSkpcmV0dXJuITA7dHJ5e2xldCB0PSgwLG4uZ2V0TG9jYXRpb25PcmlnaW4pKCkscj1uZXcgVVJMKGUsdCk7cmV0dXJuIHIub3JpZ2luPT09dCYmKDAsYS5oYXNCYXNlUGF0aCkoci5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sODQ1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVycm9yT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319LDIyMDE2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZUxpbmtTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gZ319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoOTA4MDkpLG89ZS5yKDQzNDc2KSxzPWwuXyhlLnIoNzE2NDUpKSxpPWUucig5NTA1NyksdT1lLnIoODM3MiksYz1lLnIoMTg1ODEpLGQ9ZS5yKDE4OTY3KSxmPWUucig1NTUwKTtlLnIoMzM1MjUpO2xldCBwPWUucig4ODU0MCksaD1lLnIoOTE5NDkpLG09ZS5yKDczNjY4KSxiPWUucig5Mzk2KTtmdW5jdGlvbiB5KHQpe3ZhciByLG47bGV0IGEsbCx5LFtnLHZdPSgwLHMudXNlT3B0aW1pc3RpYykoaC5JRExFX0xJTktfU1RBVFVTKSxqPSgwLHMudXNlUmVmKShudWxsKSx7aHJlZjp3LGFzOl8sY2hpbGRyZW46TixwcmVmZXRjaDpQPW51bGwscGFzc0hyZWY6UyxyZXBsYWNlOkMsc2hhbGxvdzpPLHNjcm9sbDpULG9uQ2xpY2s6Uixvbk1vdXNlRW50ZXI6ayxvblRvdWNoU3RhcnQ6RSxsZWdhY3lCZWhhdmlvcjpMPSExLG9uTmF2aWdhdGU6TSx0cmFuc2l0aW9uVHlwZXM6VSxyZWY6SSx1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjpBLC4uLkJ9PXQ7YT1OLEwmJigic3RyaW5nIj09dHlwZW9mIGF8fCJudW1iZXIiPT10eXBlb2YgYSkmJihhPSgwLG8uanN4KSgiYSIse2NoaWxkcmVuOmF9KSk7bGV0IEQ9cy5kZWZhdWx0LnVzZUNvbnRleHQodS5BcHBSb3V0ZXJDb250ZXh0KSxLPSExIT09UCwkPSExIT09UD9udWxsPT09KG49UCl8fCJhdXRvIj09PW4/Yi5GZXRjaFN0cmF0ZWd5LlBQUjpiLkZldGNoU3RyYXRlZ3kuRnVsbDpiLkZldGNoU3RyYXRlZ3kuUFBSLEY9InN0cmluZyI9PXR5cGVvZihyPV98fHcpP3I6KDAsaS5mb3JtYXRVcmwpKHIpO2lmKEwpe2lmKGE/LiQkdHlwZW9mPT09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPmAgcmVjZWl2ZWQgYSBkaXJlY3QgY2hpbGQgdGhhdCBpcyBlaXRoZXIgYSBTZXJ2ZXIgQ29tcG9uZW50LCBvciBKU1ggdGhhdCB3YXMgbG9hZGVkIHdpdGggUmVhY3QubGF6eSgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIEVpdGhlciByZW1vdmUgbGVnYWN5QmVoYXZpb3IsIG9yIG1ha2UgdGhlIGRpcmVjdCBjaGlsZCBhIENsaWVudCBDb21wb25lbnQgdGhhdCByZW5kZXJzIHRoZSBMaW5rJ3MgYDxhPmAgdGFnLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODYzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2w9cy5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoYSl9bGV0IFc9TD9sJiYib2JqZWN0Ij09dHlwZW9mIGwmJmwucmVmOkkscT1zLmRlZmF1bHQudXNlQ2FsbGJhY2soZT0+KG51bGwhPT1EJiYoai5jdXJyZW50PSgwLGgubW91bnRMaW5rSW5zdGFuY2UpKGUsRixELCQsSyx2KSksKCk9PntqLmN1cnJlbnQmJigoMCxoLnVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24pKGouY3VycmVudCksai5jdXJyZW50PW51bGwpLCgwLGgudW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKShlKX0pLFtLLEYsRCwkLHZdKSx6PXtyZWY6KDAsYy51c2VNZXJnZWRSZWYpKHEsVyksb25DbGljayh0KXtMfHwiZnVuY3Rpb24iIT10eXBlb2YgUnx8Uih0KSxMJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbkNsaWNrJiZsLnByb3BzLm9uQ2xpY2sodCksIUR8fHQuZGVmYXVsdFByZXZlbnRlZHx8ZnVuY3Rpb24odCxyLG4sYSxsLG8saSl7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCB1LHtub2RlTmFtZTpjfT10LmN1cnJlbnRUYXJnZXQ7aWYoIkEiPT09Yy50b1VwcGVyQ2FzZSgpJiYoKHU9dC5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFyZ2V0IikpJiYiX3NlbGYiIT09dXx8dC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuc2hpZnRLZXl8fHQuYWx0S2V5fHx0Lm5hdGl2ZUV2ZW50JiYyPT09dC5uYXRpdmVFdmVudC53aGljaCl8fHQuY3VycmVudFRhcmdldC5oYXNBdHRyaWJ1dGUoImRvd25sb2FkIikpcmV0dXJuO2lmKCEoMCxtLmlzTG9jYWxVUkwpKHIpKXthJiYodC5wcmV2ZW50RGVmYXVsdCgpLGxvY2F0aW9uLnJlcGxhY2UocikpO3JldHVybn1pZih0LnByZXZlbnREZWZhdWx0KCksbyl7bGV0IGU9ITE7aWYobyh7cHJldmVudERlZmF1bHQ6KCk9PntlPSEwfX0pLGUpcmV0dXJufWxldHtkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOmR9PWUucig5OTc4MSk7cy5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbigoKT0+e2QocixhPyJyZXBsYWNlIjoicHVzaCIsITE9PT1sP3AuU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6cC5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LG4uY3VycmVudCxpKX0pfX0odCxGLGosQyxULE0sVSl9LG9uTW91c2VFbnRlcihlKXtMfHwiZnVuY3Rpb24iIT10eXBlb2Yga3x8ayhlKSxMJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbk1vdXNlRW50ZXImJmwucHJvcHMub25Nb3VzZUVudGVyKGUpLEQmJksmJigwLGgub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT1BKX0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe0x8fCJmdW5jdGlvbiIhPXR5cGVvZiBFfHxFKGUpLEwmJmwucHJvcHMmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnByb3BzLm9uVG91Y2hTdGFydCYmbC5wcm9wcy5vblRvdWNoU3RhcnQoZSksRCYmSyYmKDAsaC5vbk5hdmlnYXRpb25JbnRlbnQpKGUuY3VycmVudFRhcmdldCwhMD09PUEpfX07cmV0dXJuKDAsZC5pc0Fic29sdXRlVXJsKShGKT96LmhyZWY9RjpMJiYhUyYmKCJhIiE9PWwudHlwZXx8ImhyZWYiaW4gbC5wcm9wcyl8fCh6LmhyZWY9KDAsZi5hZGRCYXNlUGF0aCkoRikpLHk9TD9zLmRlZmF1bHQuY2xvbmVFbGVtZW50KGwseik6KDAsby5qc3gpKCJhIix7Li4uQiwuLi56LGNoaWxkcmVuOmF9KSwoMCxvLmpzeCkoeC5Qcm92aWRlcix7dmFsdWU6ZyxjaGlsZHJlbjp5fSl9ZS5yKDg0NTA4KTtsZXQgeD0oMCxzLmNyZWF0ZUNvbnRleHQpKGguSURMRV9MSU5LX1NUQVRVUyksZz0oKT0+KDAscy51c2VDb250ZXh0KSh4KTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxODU2NiwoZSx0LHIpPT57dC5leHBvcnRzPWUucig3NjU2Mil9LDQ1MzAxLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3MTY0NSksbj1lLmkoMTcyNTUpLGE9ZS5pKDE4NTY2KSxsPWUuaSgyMjAxNiksbz1lLmkoNTk1NDQpLHM9ZS5pKDU3NjYpO2UucyhbImRlZmF1bHQiLDAsZnVuY3Rpb24oKXtsZXQgZT0oMCxhLnVzZVJvdXRlcikoKSxbaSx1XT0oMCxyLnVzZVN0YXRlKSh7ZW1haWw6IiIscGFzc3dvcmQ6IiJ9KSxbYyxkXT0oMCxyLnVzZVN0YXRlKSghMSksZj1hc3luYyB0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGQoITApO2xldCByPWF3YWl0ICgwLG4uc2lnbkluKSgiY3JlZGVudGlhbHMiLHtlbWFpbDppLmVtYWlsLHBhc3N3b3JkOmkucGFzc3dvcmQscmVkaXJlY3Q6ITF9KTtkKCExKSxyPy5lcnJvcj9zLmRlZmF1bHQuZXJyb3IoIkludmFsaWQgZW1haWwgb3IgcGFzc3dvcmQuIik6KHMuZGVmYXVsdC5zdWNjZXNzKCJXZWxjb21lIGJhY2shIiksZS5wdXNoKCIvZGFzaGJvYXJkIiksZS5yZWZyZXNoKCkpfTtyZXR1cm4oMCx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLWJsYWNrIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTQiLGNoaWxkcmVuOigwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToidy1mdWxsIG1heC13LW1kIixjaGlsZHJlbjpbKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciBtYi04IixjaGlsZHJlbjpbKDAsdC5qc3hzKShsLmRlZmF1bHQse2hyZWY6Ii8iLGNsYXNzTmFtZToiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1iLTYiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtYW1iZXItNDAwIHRleHQtMnhsIixjaGlsZHJlbjoi4puPIn0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToidGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC14bCIsY2hpbGRyZW46Ikhhc2hWYXVsdCJ9KV19KSwoMCx0LmpzeCkoImgxIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSIsY2hpbGRyZW46IldlbGNvbWUgYmFjayJ9KSwoMCx0LmpzeCkoInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS01MDAgbXQtMSIsY2hpbGRyZW46IlNpZ24gaW4gdG8geW91ciBtaW5pbmcgYWNjb3VudCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTgiLGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJmb3JtIix7b25TdWJtaXQ6ZixjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7Y2xhc3NOYW1lOiJibG9jayB0ZXh0LXNtIHRleHQtZ3JheS00MDAgbWItMS41IixjaGlsZHJlbjoiRW1haWwifSksKDAsdC5qc3gpKCJpbnB1dCIse3R5cGU6ImVtYWlsIixyZXF1aXJlZDohMCx2YWx1ZTppLmVtYWlsLG9uQ2hhbmdlOmU9PnUoey4uLmksZW1haWw6ZS50YXJnZXQudmFsdWV9KSxjbGFzc05hbWU6InctZnVsbCBiZy1ncmF5LTgwMCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHJvdW5kZWQtbGcgcHgtNCBweS0yLjUgdGV4dC13aGl0ZSB0ZXh0LXNtIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItYW1iZXItNTAwIixwbGFjZWhvbGRlcjoieW91QGV4YW1wbGUuY29tIn0pXX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7Y2xhc3NOYW1lOiJibG9jayB0ZXh0LXNtIHRleHQtZ3JheS00MDAgbWItMS41IixjaGlsZHJlbjoiUGFzc3dvcmQifSksKDAsdC5qc3gpKCJpbnB1dCIse3R5cGU6InBhc3N3b3JkIixyZXF1aXJlZDohMCx2YWx1ZTppLnBhc3N3b3JkLG9uQ2hhbmdlOmU9PnUoey4uLmkscGFzc3dvcmQ6ZS50YXJnZXQudmFsdWV9KSxjbGFzc05hbWU6InctZnVsbCBiZy1ncmF5LTgwMCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHJvdW5kZWQtbGcgcHgtNCBweS0yLjUgdGV4dC13aGl0ZSB0ZXh0LXNtIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItYW1iZXItNTAwIixwbGFjZWhvbGRlcjoi4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiIn0pXX0pLCgwLHQuanN4KShvLmRlZmF1bHQse3R5cGU6InN1Ym1pdCIsY2xhc3NOYW1lOiJ3LWZ1bGwiLGxvYWRpbmc6YyxjaGlsZHJlbjoiU2lnbiBJbiJ9KV19KSwoMCx0LmpzeHMpKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciB0ZXh0LWdyYXktNTAwIHRleHQtc20gbXQtNiIsY2hpbGRyZW46WyJEb24ndCBoYXZlIGFuIGFjY291bnQ/IiwiICIsKDAsdC5qc3gpKGwuZGVmYXVsdCx7aHJlZjoiL2F1dGgvcmVnaXN0ZXIiLGNsYXNzTmFtZToidGV4dC1hbWJlci00MDAgaG92ZXI6dGV4dC1hbWJlci0zMDAiLGNoaWxkcmVuOiJDcmVhdGUgb25lIn0pXX0pXX0pXX0pfSl9XSl9XSk7"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/contact?_rsc=ufrug","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.195Z","timestamp":1785136353195,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /contact?_rsc=ufrug HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /contact/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"ad7c61daec6446e11d2fdfe80e474b3b\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /contact.segments/contact/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5jlz5-1785136353200-e57c54b7fa0a\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1031,"size_decoded":1123,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (511)","md5":"fd46a0cc41b30b68334874b363505482","sha1":"64a79b879b8f5062c35a85291caef317dcb07cf9","sha256":"40fae983ce48fa5f653e390a1726314240046d5bbab94f40e2f9e11ae38d5004","sha512":"8f5d221ac0ffdf114fae303d80891d2a08572d362a90f1fe430924eecc2a41b2e3f987f845048bd855ca7d2d51c3b9ba41111372bad25e533780459e93687ed4","ssdeep":"","tlshash":"49117b2bde09fd4a4cb0cc9c282f9b2b61ed6d3795714cacd28ecda903458b227840d0","first_seen":"2026-07-27T05:24:49.44132Z","last_seen":"2026-07-27T07:13:55.120695Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzQ3MjU3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiQ2xpZW50UGFnZVJvb3QiXQozOklbNzgyOTksWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzAtaDBsMjE1aGIwMTMuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQo2OklbOTczNjcsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJPdXRsZXRCb3VuZGFyeSJdCjc6IiRTcmVhY3Quc3VzcGVuc2UiCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W1siJCIsIiRMMiIsbnVsbCx7IkNvbXBvbmVudCI6IiQzIiwic2VydmVyUHJvdmlkZWRQYXJhbXMiOnsic2VhcmNoUGFyYW1zIjp7fSwicGFyYW1zIjp7fSwicHJvbWlzZXMiOlsiJEA0IiwiJEA1Il19fV0sW1siJCIsInNjcmlwdCIsInNjcmlwdC0wIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzAtaDBsMjE1aGIwMTMuanMiLCJhc3luYyI6dHJ1ZX1dLFsiJCIsInNjcmlwdCIsInNjcmlwdC0xIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzB3dnVoMGkwcWg2cjguanMiLCJhc3luYyI6dHJ1ZX1dXSxbIiQiLCIkTDYiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJDciLG51bGwseyJuYW1lIjoiTmV4dC5NZXRhZGF0YU91dGxldCIsImNoaWxkcmVuIjoiJEA4In1dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjpudWxsLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0KNDp7fQo1OiIkMDpyc2M6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpzZXJ2ZXJQcm92aWRlZFBhcmFtczpwYXJhbXMiCjg6bnVsbAo="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/faq?_rsc=1wljb","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.217Z","timestamp":1785136353217,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /faq?_rsc=1wljb HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /faq\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"d34262a079963a3379aa125d7c9d3742\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /faq.segments/faq.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353224-d8ddb2d02bdb\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":445,"size_decoded":1100,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0-h0l215hb013.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.220Z","timestamp":1785136353220,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0-h0l215hb013.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 6504\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0-h0l215hb013.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"40bfcc734e428362b2720408a689ae3b\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:08 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0-h0l215hb013.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353225-10b7be670d17\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":14617,"size_decoded":5657,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (14596), with no line terminators","md5":"40bfcc734e428362b2720408a689ae3b","sha1":"665c913693905d0c52f08ff58214f591f83f9f42","sha256":"8c3c3f6da9eb9fc6414eb07e794b6f84e90c4f76707b528efbff5c696117416b","sha512":"ad1c6f2f1515ba190a0dddd3c849cd530b53819174ab6f7a897bb5bb4666bffe7234ecf18ace3b508bdc812bb7ddd8128cab9ec8dd0d735586cf6dbcd22cfd9e","ssdeep":"192:MWFTNzZejuBo1FdFeWLNf/SkT8ZO0164yrGWzy+nAXTXeYBvola3DcHBw:MWF5uDHRw64yrGk3ATVvolGcK","tlshash":"e4626325b094aedcb96b05d9942fd00cb21f6e6dcd4fd8b8f7b86ca41a5008cb653bc5","first_seen":"2026-07-27T05:24:49.492315Z","last_seen":"2026-07-27T07:13:55.104031Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOmE9Im1kIixjaGlsZHJlbjpzLGxvYWRpbmc6bCxjbGFzc05hbWU6bixkaXNhYmxlZDppLC4uLm99KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVthXSxuKSxkaXNhYmxlZDppfHxsLC4uLm8sY2hpbGRyZW46bD8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOnN9KX1dKX0sOTUwNTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGE9e2Zvcm1hdFVybDpmdW5jdGlvbigpe3JldHVybiBpfSxmb3JtYXRXaXRoVmFsaWRhdGlvbjpmdW5jdGlvbigpe3JldHVybiBjfSx1cmxPYmplY3RLZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIHMgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixzLHtlbnVtZXJhYmxlOiEwLGdldDphW3NdfSk7bGV0IGw9ZS5yKDkwODA5KS5fKGUucig5ODE4MykpLG49L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIGkoZSl7bGV0e2F1dGg6dCxob3N0bmFtZTpyfT1lLGE9ZS5wcm90b2NvbHx8IiIscz1lLnBhdGhuYW1lfHwiIixpPWUuaGFzaHx8IiIsbz1lLnF1ZXJ5fHwiIixjPSExO3Q9dD9lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTNBL2ksIjoiKSsiQCI6IiIsZS5ob3N0P2M9dCtlLmhvc3Q6ciYmKGM9dCsofnIuaW5kZXhPZigiOiIpP2BbJHtyfV1gOnIpLGUucG9ydCYmKGMrPSI6IitlLnBvcnQpKSxvJiYib2JqZWN0Ij09dHlwZW9mIG8mJihvPVN0cmluZyhsLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMobykpKTtsZXQgZD1lLnNlYXJjaHx8byYmYD8ke299YHx8IiI7cmV0dXJuIGEmJiFhLmVuZHNXaXRoKCI6IikmJihhKz0iOiIpLGUuc2xhc2hlc3x8KCFhfHxuLnRlc3QoYSkpJiYhMSE9PWM/KGM9Ii8vIisoY3x8IiIpLHMmJiIvIiE9PXNbMF0mJihzPSIvIitzKSk6Y3x8KGM9IiIpLGkmJiIjIiE9PWlbMF0mJihpPSIjIitpKSxkJiYiPyIhPT1kWzBdJiYoZD0iPyIrZCkscz1zLnJlcGxhY2UoL1s/I10vZyxlbmNvZGVVUklDb21wb25lbnQpLGQ9ZC5yZXBsYWNlKCIjIiwiJTIzIiksYCR7YX0ke2N9JHtzfSR7ZH0ke2l9YH1sZXQgbz1bImF1dGgiLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGgiLCJwYXRobmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInF1ZXJ5Iiwic2VhcmNoIiwic2xhc2hlcyJdO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGkoZSl9fSwxODU4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlTWVyZ2VkUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgYT1lLnIoNzE2NDUpO2Z1bmN0aW9uIHMoZSx0KXtsZXQgcj0oMCxhLnVzZVJlZikobnVsbCkscz0oMCxhLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsYS51c2VDYWxsYmFjaykoYT0+e2lmKG51bGw9PT1hKXtsZXQgZT1yLmN1cnJlbnQ7ZSYmKHIuY3VycmVudD1udWxsLGUoKSk7bGV0IHQ9cy5jdXJyZW50O3QmJihzLmN1cnJlbnQ9bnVsbCx0KCkpfWVsc2UgZSYmKHIuY3VycmVudD1sKGUsYSkpLHQmJihzLmN1cnJlbnQ9bCh0LGEpKX0sW2UsdF0pfWZ1bmN0aW9uIGwoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gZS5jdXJyZW50PXQsKCk9PntlLmN1cnJlbnQ9bnVsbH07e2xldCByPWUodCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ZShudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTG9jYWxVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBhPWUucigxODk2Nykscz1lLnIoNTI4MTcpO2Z1bmN0aW9uIGwoZSl7aWYoISgwLGEuaXNBYnNvbHV0ZVVybCkoZSkpcmV0dXJuITA7dHJ5e2xldCB0PSgwLGEuZ2V0TG9jYXRpb25PcmlnaW4pKCkscj1uZXcgVVJMKGUsdCk7cmV0dXJuIHIub3JpZ2luPT09dCYmKDAscy5oYXNCYXNlUGF0aCkoci5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sODQ1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVycm9yT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IGE9ZT0+e319LDIyMDE2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBhPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LHVzZUxpbmtTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgcyBpbiBhKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLHMse2VudW1lcmFibGU6ITAsZ2V0OmFbc119KTtsZXQgbD1lLnIoOTA4MDkpLG49ZS5yKDQzNDc2KSxpPWwuXyhlLnIoNzE2NDUpKSxvPWUucig5NTA1NyksYz1lLnIoODM3MiksZD1lLnIoMTg1ODEpLHU9ZS5yKDE4OTY3KSxoPWUucig1NTUwKTtlLnIoMzM1MjUpO2xldCB4PWUucig4ODU0MCksZj1lLnIoOTE5NDkpLG09ZS5yKDczNjY4KSxwPWUucig5Mzk2KTtmdW5jdGlvbiBiKHQpe3ZhciByLGE7bGV0IHMsbCxiLFt5LGpdPSgwLGkudXNlT3B0aW1pc3RpYykoZi5JRExFX0xJTktfU1RBVFVTKSx2PSgwLGkudXNlUmVmKShudWxsKSx7aHJlZjpOLGFzOncsY2hpbGRyZW46ayxwcmVmZXRjaDpTPW51bGwscGFzc0hyZWY6QyxyZXBsYWNlOlAsc2hhbGxvdzpfLHNjcm9sbDpPLG9uQ2xpY2s6TSxvbk1vdXNlRW50ZXI6VCxvblRvdWNoU3RhcnQ6TCxsZWdhY3lCZWhhdmlvcjpSPSExLG9uTmF2aWdhdGU6QSx0cmFuc2l0aW9uVHlwZXM6VSxyZWY6RSx1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjpELC4uLkJ9PXQ7cz1rLFImJigic3RyaW5nIj09dHlwZW9mIHN8fCJudW1iZXIiPT10eXBlb2YgcykmJihzPSgwLG4uanN4KSgiYSIse2NoaWxkcmVuOnN9KSk7bGV0IEY9aS5kZWZhdWx0LnVzZUNvbnRleHQoYy5BcHBSb3V0ZXJDb250ZXh0KSxJPSExIT09Uyx6PSExIT09Uz9udWxsPT09KGE9Uyl8fCJhdXRvIj09PWE/cC5GZXRjaFN0cmF0ZWd5LlBQUjpwLkZldGNoU3RyYXRlZ3kuRnVsbDpwLkZldGNoU3RyYXRlZ3kuUFBSLEs9InN0cmluZyI9PXR5cGVvZihyPXd8fE4pP3I6KDAsby5mb3JtYXRVcmwpKHIpO2lmKFIpe2lmKHM/LiQkdHlwZW9mPT09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPmAgcmVjZWl2ZWQgYSBkaXJlY3QgY2hpbGQgdGhhdCBpcyBlaXRoZXIgYSBTZXJ2ZXIgQ29tcG9uZW50LCBvciBKU1ggdGhhdCB3YXMgbG9hZGVkIHdpdGggUmVhY3QubGF6eSgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIEVpdGhlciByZW1vdmUgbGVnYWN5QmVoYXZpb3IsIG9yIG1ha2UgdGhlIGRpcmVjdCBjaGlsZCBhIENsaWVudCBDb21wb25lbnQgdGhhdCByZW5kZXJzIHRoZSBMaW5rJ3MgYDxhPmAgdGFnLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODYzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2w9aS5kZWZhdWx0LkNoaWxkcmVuLm9ubHkocyl9bGV0ICQ9Uj9sJiYib2JqZWN0Ij09dHlwZW9mIGwmJmwucmVmOkUscT1pLmRlZmF1bHQudXNlQ2FsbGJhY2soZT0+KG51bGwhPT1GJiYodi5jdXJyZW50PSgwLGYubW91bnRMaW5rSW5zdGFuY2UpKGUsSyxGLHosSSxqKSksKCk9Pnt2LmN1cnJlbnQmJigoMCxmLnVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24pKHYuY3VycmVudCksdi5jdXJyZW50PW51bGwpLCgwLGYudW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKShlKX0pLFtJLEssRix6LGpdKSxWPXtyZWY6KDAsZC51c2VNZXJnZWRSZWYpKHEsJCksb25DbGljayh0KXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgTXx8TSh0KSxSJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbkNsaWNrJiZsLnByb3BzLm9uQ2xpY2sodCksIUZ8fHQuZGVmYXVsdFByZXZlbnRlZHx8ZnVuY3Rpb24odCxyLGEscyxsLG4sbyl7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBjLHtub2RlTmFtZTpkfT10LmN1cnJlbnRUYXJnZXQ7aWYoIkEiPT09ZC50b1VwcGVyQ2FzZSgpJiYoKGM9dC5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFyZ2V0IikpJiYiX3NlbGYiIT09Y3x8dC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuc2hpZnRLZXl8fHQuYWx0S2V5fHx0Lm5hdGl2ZUV2ZW50JiYyPT09dC5uYXRpdmVFdmVudC53aGljaCl8fHQuY3VycmVudFRhcmdldC5oYXNBdHRyaWJ1dGUoImRvd25sb2FkIikpcmV0dXJuO2lmKCEoMCxtLmlzTG9jYWxVUkwpKHIpKXtzJiYodC5wcmV2ZW50RGVmYXVsdCgpLGxvY2F0aW9uLnJlcGxhY2UocikpO3JldHVybn1pZih0LnByZXZlbnREZWZhdWx0KCksbil7bGV0IGU9ITE7aWYobih7cHJldmVudERlZmF1bHQ6KCk9PntlPSEwfX0pLGUpcmV0dXJufWxldHtkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOnV9PWUucig5OTc4MSk7aS5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbigoKT0+e3UocixzPyJyZXBsYWNlIjoicHVzaCIsITE9PT1sP3guU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6eC5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LGEuY3VycmVudCxvKX0pfX0odCxLLHYsUCxPLEEsVSl9LG9uTW91c2VFbnRlcihlKXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgVHx8VChlKSxSJiZsLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgbC5wcm9wcy5vbk1vdXNlRW50ZXImJmwucHJvcHMub25Nb3VzZUVudGVyKGUpLEYmJkkmJigwLGYub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT1EKX0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe1J8fCJmdW5jdGlvbiIhPXR5cGVvZiBMfHxMKGUpLFImJmwucHJvcHMmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnByb3BzLm9uVG91Y2hTdGFydCYmbC5wcm9wcy5vblRvdWNoU3RhcnQoZSksRiYmSSYmKDAsZi5vbk5hdmlnYXRpb25JbnRlbnQpKGUuY3VycmVudFRhcmdldCwhMD09PUQpfX07cmV0dXJuKDAsdS5pc0Fic29sdXRlVXJsKShLKT9WLmhyZWY9SzpSJiYhQyYmKCJhIiE9PWwudHlwZXx8ImhyZWYiaW4gbC5wcm9wcyl8fChWLmhyZWY9KDAsaC5hZGRCYXNlUGF0aCkoSykpLGI9Uj9pLmRlZmF1bHQuY2xvbmVFbGVtZW50KGwsVik6KDAsbi5qc3gpKCJhIix7Li4uQiwuLi5WLGNoaWxkcmVuOnN9KSwoMCxuLmpzeCkoZy5Qcm92aWRlcix7dmFsdWU6eSxjaGlsZHJlbjpifSl9ZS5yKDg0NTA4KTtsZXQgZz0oMCxpLmNyZWF0ZUNvbnRleHQpKGYuSURMRV9MSU5LX1NUQVRVUykseT0oKT0+KDAsaS51c2VDb250ZXh0KShnKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjY1LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSgyMjAxNiksYT1lLmkoNzE2NDUpLHM9ZS5pKDU5NTQ0KSxsPWUuaSgxNzI1NSk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbigpe2xldHtkYXRhOmV9PSgwLGwudXNlU2Vzc2lvbikoKSxbbixpXT0oMCxhLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsdC5qc3hzKSgibmF2Iix7Y2xhc3NOYW1lOiJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy1ibGFjay84MCBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCIsY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46KDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiIsY2hpbGRyZW46WygwLHQuanN4cykoci5kZWZhdWx0LHtocmVmOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LTJ4bCIsY2hpbGRyZW46IuKbjyJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQteGwiLGNoaWxkcmVuOiJIYXNoVmF1bHQifSldfSksKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkNvbnRhY3QifSldfSksKDAsdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46ZT8oMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjaGlsZHJlbjooMCx0LmpzeCkocy5kZWZhdWx0LHt2YXJpYW50OiJvdXRsaW5lIixzaXplOiJzbSIsY2hpbGRyZW46IkRhc2hib2FyZCJ9KX0pLCgwLHQuanN4KShzLmRlZmF1bHQse3ZhcmlhbnQ6Imdob3N0IixzaXplOiJzbSIsb25DbGljazooKT0+KDAsbC5zaWduT3V0KSh7Y2FsbGJhY2tVcmw6Ii9hdXRoL2xvZ2luIn0pLGNoaWxkcmVuOiJTaWduIE91dCJ9KV19KTooMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9sb2dpbiIsY2hpbGRyZW46KDAsdC5qc3gpKHMuZGVmYXVsdCx7dmFyaWFudDoiZ2hvc3QiLHNpemU6InNtIixjaGlsZHJlbjoiTG9naW4ifSl9KSwoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9yZWdpc3RlciIsY2hpbGRyZW46KDAsdC5qc3gpKHMuZGVmYXVsdCx7c2l6ZToic20iLGNoaWxkcmVuOiJHZXQgU3RhcnRlZCJ9KX0pXX0pfSksKDAsdC5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6Im1kOmhpZGRlbiB0ZXh0LWdyYXktNDAwIixvbkNsaWNrOigpPT5pKCFuKSxjaGlsZHJlbjooMCx0LmpzeCkoInN2ZyIse2NsYXNzTmFtZToidy02IGgtNiIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHZpZXdCb3g6IjAgMCAyNCAyNCIsY2hpbGRyZW46KDAsdC5qc3gpKCJwYXRoIix7c3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3Ryb2tlV2lkdGg6MixkOm4/Ik02IDE4TDE4IDZNNiA2bDEyIDEyIjoiTTQgNmgxNk00IDEyaDE2TTQgMThoMTYifSl9KX0pXX0pfSksbiYmKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJtZDpoaWRkZW4gYmctZ3JheS05MDAgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIHB4LTQgcHktNCBzcGFjZS15LTMiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkNvbnRhY3QifSksZT8oMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pOigwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9hdXRoL2xvZ2luIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiTG9naW4gLyBSZWdpc3RlciJ9KV19KV19KX1dKX0sNzgyOTksZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoNDM0NzYpLHI9ZS5pKDMyNjUpLGE9ZS5pKDIyMDE2KTtmdW5jdGlvbiBzKCl7cmV0dXJuKDAsdC5qc3hzKSgiZm9vdGVyIix7Y2xhc3NOYW1lOiJiZy1ibGFjayBib3JkZXItdCBib3JkZXItZ3JheS04MDAgbXQtMjAiLGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTd4bCBteC1hdXRvIHB4LTQgcHktMTIgZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtNCBnYXAtOCIsY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1iLTQiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtYW1iZXItNDAwIHRleHQteGwiLGNoaWxkcmVuOiLim48ifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LWxnIixjaGlsZHJlbjoiSGFzaFZhdWx0In0pXX0pLCgwLHQuanN4KSgicCIse2NsYXNzTmFtZToidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIixjaGlsZHJlbjoiUHJvZmVzc2lvbmFsIEJpdGNvaW4gY2xvdWQgbWluaW5nIHBsYXRmb3JtIHdpdGggZ3VhcmFudGVlZCB1cHRpbWUgYW5kIHRyYW5zcGFyZW50IHBheW91dHMuIn0pXX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImg0Iix7Y2xhc3NOYW1lOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMyIsY2hpbGRyZW46IlBsYXRmb3JtIn0pLCgwLHQuanN4cykoInVsIix7Y2xhc3NOYW1lOiJzcGFjZS15LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJsaSIse2NoaWxkcmVuOigwLHQuanN4KShhLmRlZmF1bHQse2hyZWY6Ii9wbGFucyIsY2xhc3NOYW1lOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsY2hpbGRyZW46Ik1pbmluZyBQbGFucyJ9KX0pLCgwLHQuanN4KSgibGkiLHtjaGlsZHJlbjooMCx0LmpzeCkoYS5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjbGFzc05hbWU6ImhvdmVyOnRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pfSksKDAsdC5qc3gpKCJsaSIse2NoaWxkcmVuOigwLHQuanN4KShhLmRlZmF1bHQse2hyZWY6Ii9hdXRoL3JlZ2lzdGVyIixjbGFzc05hbWU6ImhvdmVyOnRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiR2V0IFN0YXJ0ZWQifSl9KV19KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsdC5qc3gpKCJoNCIse2NsYXNzTmFtZToidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiLGNoaWxkcmVuOiJDb21wYW55In0pLCgwLHQuanN4cykoInVsIix7Y2xhc3NOYW1lOiJzcGFjZS15LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJsaSIse2NoaWxkcmVuOigwLHQuanN4KShhLmRlZmF1bHQse2hyZWY6Ii9hYm91dCIsY2xhc3NOYW1lOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsY2hpbGRyZW46IkFib3V0IFVzIn0pfSksKDAsdC5qc3gpKCJsaSIse2NoaWxkcmVuOigwLHQuanN4KShhLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToiaG92ZXI6dGV4dC1hbWJlci00MDAiLGNoaWxkcmVuOiJGQVEifSl9KSwoMCx0LmpzeCkoImxpIix7Y2hpbGRyZW46KDAsdC5qc3gpKGEuZGVmYXVsdCx7aHJlZjoiL2NvbnRhY3QiLGNsYXNzTmFtZToiaG92ZXI6dGV4dC1hbWJlci00MDAiLGNoaWxkcmVuOiJDb250YWN0In0pfSldfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLHQuanN4KSgiaDQiLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIixjaGlsZHJlbjoiVHJ1c3QgJiBTZWN1cml0eSJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46IvCflJIgU1NMIFNlY3VyZWQifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46IuKchSBWZXJpZmllZCBQYXlvdXRzIn0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLGNoaWxkcmVuOiLimqEgOTkuOSUgVXB0aW1lIn0pXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIHB5LTQgdGV4dC1jZW50ZXIgdGV4dC1ncmF5LTYwMCB0ZXh0LXNtIixjaGlsZHJlbjpbIsKpICIsbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpLCIgSGFzaFZhdWx0LiBBbGwgcmlnaHRzIHJlc2VydmVkLiJdfSldfSl9dmFyIGw9ZS5pKDcxNjQ1KSxuPWUuaSg1OTU0NCksaT1lLmkoNTc2Nik7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbigpe2xldFtlLGFdPSgwLGwudXNlU3RhdGUpKHtuYW1lOiIiLGVtYWlsOiIiLG1lc3NhZ2U6IiJ9KSxbbyxjXT0oMCxsLnVzZVN0YXRlKSghMSksZD1hc3luYyBlPT57ZS5wcmV2ZW50RGVmYXVsdCgpLGMoITApLGF3YWl0IG5ldyBQcm9taXNlKGU9PnNldFRpbWVvdXQoZSwxZTMpKSxjKCExKSxpLmRlZmF1bHQuc3VjY2VzcygiTWVzc2FnZSBzZW50ISBXZSdsbCByZXNwb25kIHdpdGhpbiAyNCBob3Vycy4iKSxhKHtuYW1lOiIiLGVtYWlsOiIiLG1lc3NhZ2U6IiJ9KX07cmV0dXJuKDAsdC5qc3hzKSgibWFpbiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHt9KSwoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6InB0LTI0IHBiLTIwIG1heC13LTJ4bCBteC1hdXRvIHB4LTQiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImgxIix7Y2xhc3NOYW1lOiJ0ZXh0LTV4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00IHRleHQtY2VudGVyIixjaGlsZHJlbjoiQ29udGFjdCBVcyJ9KSwoMCx0LmpzeCkoInAiLHtjbGFzc05hbWU6InRleHQtZ3JheS00MDAgdGV4dC1jZW50ZXIgbWItMTIiLGNoaWxkcmVuOiJPdXIgc3VwcG9ydCB0ZWFtIGlzIGF2YWlsYWJsZSAyNC83In0pLCgwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC04IixjaGlsZHJlbjooMCx0LmpzeHMpKCJmb3JtIix7b25TdWJtaXQ6ZCxjbGFzc05hbWU6InNwYWNlLXktNCIsY2hpbGRyZW46W1t7bGFiZWw6Ik5hbWUiLGtleToibmFtZSIsdHlwZToidGV4dCJ9LHtsYWJlbDoiRW1haWwiLGtleToiZW1haWwiLHR5cGU6ImVtYWlsIn1dLm1hcChyPT4oMCx0LmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse2NsYXNzTmFtZToiYmxvY2sgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTEuNSIsY2hpbGRyZW46ci5sYWJlbH0pLCgwLHQuanN4KSgiaW5wdXQiLHt0eXBlOnIudHlwZSxyZXF1aXJlZDohMCx2YWx1ZTplW3Iua2V5XSxvbkNoYW5nZTp0PT5hKHsuLi5lLFtyLmtleV06dC50YXJnZXQudmFsdWV9KSxjbGFzc05hbWU6InctZnVsbCBiZy1ncmF5LTgwMCBib3JkZXIgYm9yZGVyLWdyYXktNzAwIHJvdW5kZWQtbGcgcHgtNCBweS0yLjUgdGV4dC13aGl0ZSB0ZXh0LXNtIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItYW1iZXItNTAwIn0pXX0sci5rZXkpKSwoMCx0LmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse2NsYXNzTmFtZToiYmxvY2sgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTEuNSIsY2hpbGRyZW46Ik1lc3NhZ2UifSksKDAsdC5qc3gpKCJ0ZXh0YXJlYSIse3JlcXVpcmVkOiEwLHJvd3M6NSx2YWx1ZTplLm1lc3NhZ2Usb25DaGFuZ2U6dD0+YSh7Li4uZSxtZXNzYWdlOnQudGFyZ2V0LnZhbHVlfSksY2xhc3NOYW1lOiJ3LWZ1bGwgYmctZ3JheS04MDAgYm9yZGVyIGJvcmRlci1ncmF5LTcwMCByb3VuZGVkLWxnIHB4LTQgcHktMi41IHRleHQtd2hpdGUgdGV4dC1zbSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLWFtYmVyLTUwMCByZXNpemUtbm9uZSJ9KV19KSwoMCx0LmpzeCkobi5kZWZhdWx0LHt0eXBlOiJzdWJtaXQiLGNsYXNzTmFtZToidy1mdWxsIixsb2FkaW5nOm8sY2hpbGRyZW46IlNlbmQgTWVzc2FnZSJ9KV19KX0pLCgwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJtdC04IGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTQgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOlt7aWNvbjoi8J+TpyIsbGFiZWw6IkVtYWlsIix2YWx1ZToic3VwcG9ydEBoYXNodmF1bHQuaW8ifSx7aWNvbjoi8J+SrCIsbGFiZWw6IkxpdmUgQ2hhdCIsdmFsdWU6IkF2YWlsYWJsZSAyNC83In0se2ljb246IvCfk7EiLGxhYmVsOiJUZWxlZ3JhbSIsdmFsdWU6IkBIYXNoVmF1bHRTdXBwb3J0In1dLm1hcChlPT4oMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTQiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToidGV4dC0yeGwgbWItMiIsY2hpbGRyZW46ZS5pY29ufSksKDAsdC5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNTAwIHRleHQteHMiLGNoaWxkcmVuOmUubGFiZWx9KSwoMCx0LmpzeCkoInAiLHtjbGFzc05hbWU6InRleHQtd2hpdGUgdGV4dC1zbSBmb250LW1lZGl1bSIsY2hpbGRyZW46ZS52YWx1ZX0pXX0sZS5sYWJlbCkpfSldfSksKDAsdC5qc3gpKHMse30pXX0pfV0sNzgyOTkpfV0pOw=="}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T07:12:32.123Z","timestamp":1785136352123,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 921637\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"fd01126b08fae418c0e45170aaf88eb9\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136352242-69c4a412f1aa\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":47111,"size_decoded":8106,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (46908), with no line terminators","md5":"3baee5248bca1c0f77f17c6bbc7acc2a","sha1":"faecf564fcf194bc27225a81dfbc17277a13fcba","sha256":"a37d93dc55493e748ca8b6ee7045437e773dbfcb0c0997fdf76905f0cb8355c4","sha512":"5249e52808c51dca238c6098cdd5e33e03a6d87341a1b29c4406197a11d91a31ac3d0a0ce5f2deb1c167080f526ea4b6424c85ad68613b615f5980990d6a355c","ssdeep":"768:3IZORZBRiAi/sqrQgsu6aiBZMPb5/B4wdmlyBEjOxhatfq8TJp:LBaJrQgsu6Y8lyYFqUJp","tlshash":"a923ee357102dd9eedab7e69207e5d3a209dc76fc55bceb5d2e8c95007c28386b826c0","first_seen":"2026-07-27T05:24:49.494808Z","last_seen":"2026-07-27T07:13:55.099226Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGNsYXNzPSJkYXJrIj48aGVhZD48bWV0YSBjaGFyU2V0PSJ1dGYtOCIvPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSIvPjxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0iL19uZXh0L3N0YXRpYy9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4wcS0zMDF2NGt4eG5yLndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49IiIgdHlwZT0iZm9udC93b2ZmMiIvPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvMGU1MWlkeWM5eWxyci5jc3MiIGRhdGEtcHJlY2VkZW5jZT0ibmV4dCIvPjxsaW5rIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIgZmV0Y2hQcmlvcml0eT0ibG93IiBocmVmPSIvX25leHQvc3RhdGljL2NodW5rcy8xN3N4bjF4cGtiX2FwLmpzIi8+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzBwcXR+OGJsM3VraDQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy8wM344OWUyZHo3LW5mLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMGUtd3JocWg0aDNyNS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzL3R1cmJvcGFjay0wLWF0MGt3YzN1N2JoLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy8wY3NhNHI5NW9jbDFtLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMHd2dWgwaTBxaDZyOC5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxtZXRhIG5hbWU9Im5leHQtc2l6ZS1hZGp1c3QiIGNvbnRlbnQ9IiIvPjx0aXRsZT5IYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmc8L3RpdGxlPjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJNaW5lIEJpdGNvaW4gd2l0aCBwcm9mZXNzaW9uYWwtZ3JhZGUgaGFyZHdhcmUuIFRyYW5zcGFyZW50IHBheW91dHMsIHJlYWwtdGltZSBzdGF0cywgYW5kIGd1YXJhbnRlZWQgdXB0aW1lLiIvPjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iIHNpemVzPSIyNTZ4MjU2IiB0eXBlPSJpbWFnZS94LWljb24iLz48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMDN+eXE5cTg5M2htbi5qcyIgbm9Nb2R1bGU9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJpbnRlcl81OTcyYmMzNC1tb2R1bGVfX09VMTZRYV9fY2xhc3NOYW1lIGJnLWJsYWNrIHRleHQtd2hpdGUgYW50aWFsaWFzZWQiPjxkaXYgaGlkZGVuPSIiPjwhLS0kLS0+PCEtLS8kLS0+PC9kaXY+PG1haW4+PG5hdiBjbGFzcz0iZml4ZWQgdG9wLTAgdy1mdWxsIHotNTAgYmctYmxhY2svODAgYmFja2Ryb3AtYmx1ci1tZCBib3JkZXItYiBib3JkZXItZ3JheS04MDAiPjxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij48ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiI+PGEgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIiBocmVmPSIvIj48c3BhbiBjbGFzcz0idGV4dC1hbWJlci00MDAgdGV4dC0yeGwiPuKbjzwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC14bCI+SGFzaFZhdWx0PC9zcGFuPjwvYT48ZGl2IGNsYXNzPSJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYiPjxhIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIGhvdmVyOnRleHQtYW1iZXItNDAwIHRyYW5zaXRpb24tY29sb3JzIHRleHQtc20iIGhyZWY9Ii9wbGFucyI+UGxhbnM8L2E+PGEgY2xhc3M9InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIgaHJlZj0iL2Fib3V0Ij5BYm91dDwvYT48YSBjbGFzcz0idGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIiBocmVmPSIvZmFxIj5GQVE8L2E+PGEgY2xhc3M9InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIgaHJlZj0iL2NvbnRhY3QiPkNvbnRhY3Q8L2E+PC9kaXY+PGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj48YSBocmVmPSIvYXV0aC9sb2dpbiI+PGJ1dHRvbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXdoaXRlLzUgcHgtMyBweS0xLjUgdGV4dC1zbSI+TG9naW48L2J1dHRvbj48L2E+PGEgaHJlZj0iL2F1dGgvcmVnaXN0ZXIiPjxidXR0b24gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LXNlbWlib2xkIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGJnLWFtYmVyLTUwMCBob3ZlcjpiZy1hbWJlci00MDAgdGV4dC1ibGFjayBweC0zIHB5LTEuNSB0ZXh0LXNtIj5HZXQgU3RhcnRlZDwvYnV0dG9uPjwvYT48L2Rpdj48YnV0dG9uIGNsYXNzPSJtZDpoaWRkZW4gdGV4dC1ncmF5LTQwMCI+PHN2ZyBjbGFzcz0idy02IGgtNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik00IDZoMTZNNCAxMmgxNk00IDE4aDE2Ij48L3BhdGg+PC9zdmc+PC9idXR0b24+PC9kaXY+PC9kaXY+PC9uYXY+PGRpdiBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyLWIgYm9yZGVyLWdyYXktODAwIHB5LTIgbXQtMTYiPjxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHRleHQtc20iPjxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC00Ij48c3BhbiBjbGFzcz0idGV4dC1ncmF5LTUwMCI+TGl2ZSBCVEMgUHJpY2U6PC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWdyYXktNjAwIGFuaW1hdGUtcHVsc2UiPkxvYWRpbmcuLi48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtZ3JheS01MDAiPjxzcGFuPvCflJIgU1NMIFNlY3VyZWQ8L3NwYW4+PHNwYW4+4pqhIDk5LjklIFVwdGltZTwvc3Bhbj48c3Bhbj7inIUgSW5zdGFudCBQYXlvdXRzPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjxzZWN0aW9uIGNsYXNzPSJyZWxhdGl2ZSBtaW4taC1bOTB2aF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIj48ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1hbWJlci01MDAvNSB2aWEtdHJhbnNwYXJlbnQgdG8tdHJhbnNwYXJlbnQgcG9pbnRlci1ldmVudHMtbm9uZSI+PC9kaXY+PGRpdiBjbGFzcz0iYWJzb2x1dGUgdG9wLTEvMiBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIC10cmFuc2xhdGUteS0xLzIgdy1bNjAwcHhdIGgtWzYwMHB4XSBiZy1hbWJlci01MDAvNSByb3VuZGVkLWZ1bGwgYmx1ci0zeGwgcG9pbnRlci1ldmVudHMtbm9uZSI+PC9kaXY+PGRpdiBjbGFzcz0icmVsYXRpdmUgbWF4LXctNXhsIG14LWF1dG8gcHgtNCB0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIGJnLWFtYmVyLTUwMC8xMCBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMC8yMCByb3VuZGVkLWZ1bGwgcHgtNCBweS0xLjUgdGV4dC1hbWJlci00MDAgdGV4dC1zbSBtYi04Ij48c3BhbiBjbGFzcz0idy0yIGgtMiBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2UiPjwvc3Bhbj5NaW5pbmcgTmV0d29yayBBY3RpdmUg4oCUIDEyLDg0NyBNaW5lcnMgT25saW5lPC9kaXY+PGgxIGNsYXNzPSJ0ZXh0LTR4bCBzbTp0ZXh0LTV4bCBtZDp0ZXh0LTd4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi02IGxlYWRpbmctdGlnaHQiPk1pbmUgQml0Y29pbiB3aXRoPCEtLSAtLT4gPHNwYW4gY2xhc3M9InRleHQtZ3JhZGllbnQtZ29sZCI+UHJvZmVzc2lvbmFsPC9zcGFuPjxiciBjbGFzcz0iaGlkZGVuIHNtOmJsb2NrIi8+R3JhZGUgSGFyZHdhcmU8L2gxPjxwIGNsYXNzPSJ0ZXh0LWdyYXktNDAwIHRleHQtYmFzZSBtZDp0ZXh0LXhsIG1heC13LTJ4bCBteC1hdXRvIG1iLTEwIj5TdGFydCBlYXJuaW5nIEJpdGNvaW4gdG9kYXkgd2l0aCBvdXIgY2xvdWQgbWluaW5nIHBsYXRmb3JtLiBObyBoYXJkd2FyZSByZXF1aXJlZCwgdHJhbnNwYXJlbnQgcGF5b3V0cywgYW5kIHJlYWwtdGltZSBtb25pdG9yaW5nLjwvcD48ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIHNtOmZsZXgtcm93IGdhcC00IGp1c3RpZnktY2VudGVyIj48YSBocmVmPSIvYXV0aC9yZWdpc3RlciI+PGJ1dHRvbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYmctYW1iZXItNTAwIGhvdmVyOmJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIHB4LTcgcHktMyB0ZXh0LWJhc2Ugdy1mdWxsIHNtOnctYXV0byI+U3RhcnQgTWluaW5nIE5vdzwvYnV0dG9uPjwvYT48YSBocmVmPSIvcGxhbnMiPjxidXR0b24gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LXNlbWlib2xkIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCBweC03IHB5LTMgdGV4dC1iYXNlIHctZnVsbCBzbTp3LWF1dG8iPlZpZXcgUGxhbnM8L2J1dHRvbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0ibXQtMTIgZ3JpZCBncmlkLWNvbHMtMyBnYXAtNCBzbTpnYXAtOCBtYXgtdy1sZyBteC1hdXRvIj48ZGl2PjxkaXYgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCI+JDQuMk0rPC9kaXY+PGRpdiBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXNtIG10LTEiPlRvdGFsIFBhaWQgT3V0PC9kaXY+PC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiPjEyLDg0NzwvZGl2PjxkaXYgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC1zbSBtdC0xIj5BY3RpdmUgTWluZXJzPC9kaXY+PC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiPjEuOCU8L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LWdyYXktNTAwIHRleHQtc20gbXQtMSI+QXZnIERhaWx5IFJPSTwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlvbiBjbGFzcz0icHktMTIgc206cHktMTYgYmctZ3JheS05MDAvNTAgYm9yZGVyLXkgYm9yZGVyLWdyYXktODAwIj48ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IGdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTYgc206Z2FwLTgiPjxkaXYgY2xhc3M9InRleHQtY2VudGVyIj48ZGl2IGNsYXNzPSJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yIj7im488L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj4yLjQgRUgvczwvZGl2PjxkaXYgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC14cyBzbTp0ZXh0LXNtIG10LTEiPlRvdGFsIEhhc2hyYXRlPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPjxkaXYgY2xhc3M9InRleHQtMnhsIHNtOnRleHQtM3hsIG1iLTIiPvCfkrA8L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIj4kNCwyMDAsMDAwKzwvZGl2PjxkaXYgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC14cyBzbTp0ZXh0LXNtIG10LTEiPlRvdGFsIFBheW91dHM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idGV4dC0yeGwgc206dGV4dC0zeGwgbWItMiI+8J+RpTwvZGl2PjxkaXYgY2xhc3M9InRleHQteGwgc206dGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiPjQ4LDI5MTwvZGl2PjxkaXYgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC14cyBzbTp0ZXh0LXNtIG10LTEiPlJlZ2lzdGVyZWQgVXNlcnM8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+PGRpdiBjbGFzcz0idGV4dC0yeGwgc206dGV4dC0zeGwgbWItMiI+4pqhPC9kaXY+PGRpdiBjbGFzcz0idGV4dC14bCBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSI+OTkuOTclPC9kaXY+PGRpdiBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMSI+TmV0d29yayBVcHRpbWU8L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PHNlY3Rpb24gY2xhc3M9InB5LTIwIG1heC13LTd4bCBteC1hdXRvIHB4LTQiPjxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj48aDIgY2xhc3M9InRleHQtNHhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQiPk1pbmluZyBQbGFuczwvaDI+PHAgY2xhc3M9InRleHQtZ3JheS00MDAiPjE1MCUgcGVyIGhvdXIgwrcgMy1kYXkgY29udHJhY3RzIMK3IDUwJSB3ZWxjb21lIGJvbnVzPC9wPjxkaXYgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtdC0zIGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCByb3VuZGVkLWZ1bGwgcHgtNCBweS0xLjUgdGV4dC1ncmVlbi00MDAgdGV4dC1zbSI+8J+OgSA1MCUgV2VsY29tZSBCb251cyDigJQgbGltaXRlZCB0aW1lPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtNiI+PGRpdiBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiByZWxhdGl2ZSI+PGRpdiBjbGFzcz0iYWJzb2x1dGUgdG9wLTMgcmlnaHQtMyBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgdGV4dC1ncmVlbi00MDAgdGV4dC14cyBmb250LWJvbGQgcHgtMiBweS0wLjUgcm91bmRlZC1mdWxsIj4rNTAlPC9kaXY+PGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTEiPlN0YXJ0ZXI8L2gzPjxkaXYgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCI+JDwhLS0gLS0+MjAwPC9kaXY+PHAgY2xhc3M9InRleHQtZ3JlZW4tNDAwIHRleHQteHMgbWItNCI+KyAkPCEtLSAtLT4xMDA8IS0tIC0tPiB3ZWxjb21lIGJvbnVzPC9wPjx1bCBjbGFzcz0ic3BhY2UteS0xLjUgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTYiPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPk1pbmluZyBSYXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWFtYmVyLTQwMCBmb250LW1lZGl1bSI+MTUwJSAvIGhyPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiI+PHNwYW4+SG91cmx5IEVhcm5pbmdzPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXdoaXRlIj4kPCEtLSAtLT4zMDA8L3NwYW4+PC9saT48bGkgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIj48c3Bhbj5EYWlseSBFYXJuaW5nczwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC13aGl0ZSI+JDwhLS0gLS0+NywyMDA8L3NwYW4+PC9saT48bGkgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIj48c3Bhbj4zLURheSBUb3RhbDwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZCI+JDwhLS0gLS0+MjEsNjAwPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiI+PHNwYW4+Q29udHJhY3Q8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtd2hpdGUiPjMgRGF5czwvc3Bhbj48L2xpPjwvdWw+PGEgaHJlZj0iL2F1dGgvcmVnaXN0ZXIiPjxidXR0b24gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LXNlbWlib2xkIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCBweC01IHB5LTIuNSB0ZXh0LXNtIHctZnVsbCI+R2V0IFN0YXJ0ZWQ8L2J1dHRvbj48L2E+PC9kaXY+PGRpdiBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyIHJvdW5kZWQteGwgcC02IHJlbGF0aXZlIGJvcmRlci1hbWJlci01MDAvNTAgcmluZy0xIHJpbmctYW1iZXItNTAwLzMwIj48ZGl2IGNsYXNzPSJhYnNvbHV0ZSAtdG9wLTMgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiBiZy1hbWJlci01MDAgdGV4dC1ibGFjayB0ZXh0LXhzIGZvbnQtYm9sZCBweC0zIHB5LTEgcm91bmRlZC1mdWxsIj5NT1NUIFBPUFVMQVI8L2Rpdj48ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMyByaWdodC0zIGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTAuNSByb3VuZGVkLWZ1bGwiPis1MCU8L2Rpdj48aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSI+UHJvPC9oMz48ZGl2IGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiPiQ8IS0tIC0tPjUwMDwvZGl2PjxwIGNsYXNzPSJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIG1iLTQiPisgJDwhLS0gLS0+MjUwPCEtLSAtLT4gd2VsY29tZSBib251czwvcD48dWwgY2xhc3M9InNwYWNlLXktMS41IHRleHQtc20gdGV4dC1ncmF5LTQwMCBtYi02Ij48bGkgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIj48c3Bhbj5NaW5pbmcgUmF0ZTwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1hbWJlci00MDAgZm9udC1tZWRpdW0iPjE1MCUgLyBocjwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPkhvdXJseSBFYXJuaW5nczwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC13aGl0ZSI+JDwhLS0gLS0+NzUwPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiI+PHNwYW4+RGFpbHkgRWFybmluZ3M8L3NwYW4+PHNwYW4gY2xhc3M9InRleHQtd2hpdGUiPiQ8IS0tIC0tPjE4LDAwMDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPjMtRGF5IFRvdGFsPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWFtYmVyLTMwMCBmb250LXNlbWlib2xkIj4kPCEtLSAtLT41NCwwMDA8L3NwYW4+PC9saT48bGkgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIj48c3Bhbj5Db250cmFjdDwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC13aGl0ZSI+MyBEYXlzPC9zcGFuPjwvbGk+PC91bD48YSBocmVmPSIvYXV0aC9yZWdpc3RlciI+PGJ1dHRvbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYmctYW1iZXItNTAwIGhvdmVyOmJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIHB4LTUgcHktMi41IHRleHQtc20gdy1mdWxsIj5HZXQgU3RhcnRlZDwvYnV0dG9uPjwvYT48L2Rpdj48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IHJlbGF0aXZlIj48ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMyByaWdodC0zIGJnLWdyZWVuLTUwMC8xMCBib3JkZXIgYm9yZGVyLWdyZWVuLTUwMC8yMCB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIGZvbnQtYm9sZCBweC0yIHB5LTAuNSByb3VuZGVkLWZ1bGwiPis1MCU8L2Rpdj48aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSI+RW50ZXJwcmlzZTwvaDM+PGRpdiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIj4kPCEtLSAtLT4yLDAwMDwvZGl2PjxwIGNsYXNzPSJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIG1iLTQiPisgJDwhLS0gLS0+MSwwMDA8IS0tIC0tPiB3ZWxjb21lIGJvbnVzPC9wPjx1bCBjbGFzcz0ic3BhY2UteS0xLjUgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTYiPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPk1pbmluZyBSYXRlPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LWFtYmVyLTQwMCBmb250LW1lZGl1bSI+MTUwJSAvIGhyPC9zcGFuPjwvbGk+PGxpIGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiI+PHNwYW4+SG91cmx5IEVhcm5pbmdzPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXdoaXRlIj4kPCEtLSAtLT4zLDAwMDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPkRhaWx5IEVhcm5pbmdzPC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXdoaXRlIj4kPCEtLSAtLT43MiwwMDA8L3NwYW4+PC9saT48bGkgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIj48c3Bhbj4zLURheSBUb3RhbDwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZCI+JDwhLS0gLS0+MjE2LDAwMDwvc3Bhbj48L2xpPjxsaSBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxzcGFuPkNvbnRyYWN0PC9zcGFuPjxzcGFuIGNsYXNzPSJ0ZXh0LXdoaXRlIj4zIERheXM8L3NwYW4+PC9saT48L3VsPjxhIGhyZWY9Ii9hdXRoL3JlZ2lzdGVyIj48YnV0dG9uIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1zZW1pYm9sZCByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMCB0ZXh0LWFtYmVyLTQwMCBob3ZlcjpiZy1hbWJlci01MDAvMTAgcHgtNSBweS0yLjUgdGV4dC1zbSB3LWZ1bGwiPkdldCBTdGFydGVkPC9idXR0b24+PC9hPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InRleHQtY2VudGVyIG10LTgiPjxhIGNsYXNzPSJ0ZXh0LWFtYmVyLTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTMwMCB0ZXh0LXNtIiBocmVmPSIvcGxhbnMiPlZpZXcgZnVsbCBlYXJuaW5ncyBicmVha2Rvd24g4oaSPC9hPjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlvbiBjbGFzcz0icHktMjAgYmctZ3JheS05MDAvMzAiPjxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQiPjxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj48aDIgY2xhc3M9InRleHQtNHhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQiPldoeSBIYXNoVmF1bHQ/PC9oMj48cCBjbGFzcz0idGV4dC1ncmF5LTQwMCI+RXZlcnl0aGluZyB5b3UgbmVlZCB0byBtaW5lIEJpdGNvaW4gcHJvZmVzc2lvbmFsbHk8L3A+PC9kaXY+PGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtMyBnYXAtNiI+PGRpdiBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzIj48ZGl2IGNsYXNzPSJ0ZXh0LTN4bCBtYi0zIj7imqE8L2Rpdj48aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIj5SZWFsLVRpbWUgTWluaW5nPC9oMz48cCBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXNtIj5Nb25pdG9yIHlvdXIgaGFzaHJhdGUsIGVhcm5pbmdzLCBhbmQgd29ya2VyIHN0YXR1cyBsaXZlIHdpdGggaW5zdGFudCB1cGRhdGVzLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IGhvdmVyOmJvcmRlci1hbWJlci01MDAvMzAgdHJhbnNpdGlvbi1jb2xvcnMiPjxkaXYgY2xhc3M9InRleHQtM3hsIG1iLTMiPvCflJI8L2Rpdj48aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIj5CYW5rLUdyYWRlIFNlY3VyaXR5PC9oMz48cCBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXNtIj4yRkEsIGVuY3J5cHRlZCB3YWxsZXRzLCBhbmQgU1NMIHByb3RlY3Rpb24ga2VlcCB5b3VyIGFzc2V0cyBzYWZlLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IGhvdmVyOmJvcmRlci1hbWJlci01MDAvMzAgdHJhbnNpdGlvbi1jb2xvcnMiPjxkaXYgY2xhc3M9InRleHQtM3hsIG1iLTMiPvCfkrg8L2Rpdj48aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIj5EYWlseSBQYXlvdXRzPC9oMz48cCBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXNtIj5FYXJuaW5ncyBhcmUgY3JlZGl0ZWQgZGFpbHkgZGlyZWN0bHkgdG8geW91ciBhY2NvdW50IGJhbGFuY2UuPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9ycyI+PGRpdiBjbGFzcz0idGV4dC0zeGwgbWItMyI+8J+RpTwvZGl2PjxoMyBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiPlJlZmVycmFsIFByb2dyYW08L2gzPjxwIGNsYXNzPSJ0ZXh0LWdyYXktNTAwIHRleHQtc20iPkVhcm4gNSUgY29tbWlzc2lvbiBvbiBldmVyeSByZWZlcnJhbC4gVW5saW1pdGVkIGVhcm5pbmcgcG90ZW50aWFsLjwvcD48L2Rpdj48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IGhvdmVyOmJvcmRlci1hbWJlci01MDAvMzAgdHJhbnNpdGlvbi1jb2xvcnMiPjxkaXYgY2xhc3M9InRleHQtM3hsIG1iLTMiPvCfk4o8L2Rpdj48aDMgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIj5UcmFuc3BhcmVudCBTdGF0czwvaDM+PHAgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC1zbSI+RnVsbCB2aXNpYmlsaXR5IGludG8gbmV0d29yayBoYXNocmF0ZSwgZGlmZmljdWx0eSwgYW5kIHlvdXIgZWFybmluZ3MgaGlzdG9yeS48L3A+PC9kaXY+PGRpdiBjbGFzcz0iYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzIj48ZGl2IGNsYXNzPSJ0ZXh0LTN4bCBtYi0zIj7wn4yNPC9kaXY+PGgzIGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiI+R2xvYmFsIEluZnJhc3RydWN0dXJlPC9oMz48cCBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXNtIj5NaW5pbmcgZmFybXMgYWNyb3NzIDMgY29udGluZW50cyBlbnN1cmUgbWF4aW11bSB1cHRpbWUgYW5kIGVmZmljaWVuY3kuPC9wPjwvZGl2PjwvZGl2PjwvZGl2Pjwvc2VjdGlvbj48c2VjdGlvbiBjbGFzcz0icHktMTYgYmctZ3JheS05MDAvMzAgYm9yZGVyLXkgYm9yZGVyLWdyYXktODAwIj48ZGl2IGNsYXNzPSJtYXgtdy0zeGwgbXgtYXV0byBweC00Ij48aDIgY2xhc3M9InRleHQtY2VudGVyIHRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTgiPkxpdmUgUGF5b3V0IEZlZWQ8L2gyPjxkaXYgY2xhc3M9InNwYWNlLXktMyI+PC9kaXY+PC9kaXY+PC9zZWN0aW9uPjxzZWN0aW9uIGNsYXNzPSJweS0yMCBtYXgtdy03eGwgbXgtYXV0byBweC00Ij48ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0xMiI+PGgyIGNsYXNzPSJ0ZXh0LTR4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00Ij5XaGF0IE91ciBNaW5lcnMgU2F5PC9oMj48cCBjbGFzcz0idGV4dC1ncmF5LTQwMCI+VHJ1c3RlZCBieSB0aG91c2FuZHMgb2YgbWluZXJzIHdvcmxkd2lkZTwvcD48L2Rpdj48ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02Ij48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02Ij48ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zIj7imIXimIXimIXimIXimIU8L2Rpdj48cCBjbGFzcz0idGV4dC1ncmF5LTMwMCB0ZXh0LXNtIG1iLTQiPiZxdW90OzwhLS0gLS0+QmVlbiBtaW5pbmcgd2l0aCBIYXNoVmF1bHQgZm9yIDYgbW9udGhzLiBDb25zaXN0ZW50IGRhaWx5IHBheW91dHMgYW5kIGdyZWF0IHN1cHBvcnQuPCEtLSAtLT4mcXVvdDs8L3A+PGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIj48ZGl2PjxkaXYgY2xhc3M9InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LXNtIj5KYW1lcyBLLjwvZGl2PjxkaXYgY2xhc3M9InRleHQtZ3JheS01MDAgdGV4dC14cyI+8J+HuvCfh7ggVVNBPC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1hbWJlci00MDAgYmctYW1iZXItNTAwLzEwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGwiPlBybyBQbGFuPC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYiPjxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIHRleHQtYW1iZXItNDAwIG1iLTMiPuKYheKYheKYheKYheKYhTwvZGl2PjxwIGNsYXNzPSJ0ZXh0LWdyYXktMzAwIHRleHQtc20gbWItNCI+JnF1b3Q7PCEtLSAtLT5UaGUgcmVmZXJyYWwgcHJvZ3JhbSBhbG9uZSBoYXMgZWFybmVkIG1lIGFuIGV4dHJhICQ4MDAgdGhpcyBtb250aC4gSGlnaGx5IHJlY29tbWVuZC48IS0tIC0tPiZxdW90OzwvcD48ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iPjxkaXY+PGRpdiBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPkFtYXJhIE8uPC9kaXY+PGRpdiBjbGFzcz0idGV4dC1ncmF5LTUwMCB0ZXh0LXhzIj7wn4ez8J+HrCBOaWdlcmlhPC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1hbWJlci00MDAgYmctYW1iZXItNTAwLzEwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGwiPlN0YXJ0ZXIgUGxhbjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02Ij48ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zIj7imIXimIXimIXimIXimIU8L2Rpdj48cCBjbGFzcz0idGV4dC1ncmF5LTMwMCB0ZXh0LXNtIG1iLTQiPiZxdW90OzwhLS0gLS0+RW50ZXJwcmlzZSBwbGFuIGdpdmVzIGluY3JlZGlibGUgUk9JLiBUaGUgZGFzaGJvYXJkIGlzIGNsZWFuIGFuZCBlYXN5IHRvIHVzZS48IS0tIC0tPiZxdW90OzwvcD48ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iPjxkaXY+PGRpdiBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iPkNoZW4gVy48L2Rpdj48ZGl2IGNsYXNzPSJ0ZXh0LWdyYXktNTAwIHRleHQteHMiPvCfh6jwn4ezIENoaW5hPC9kaXY+PC9kaXY+PHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1hbWJlci00MDAgYmctYW1iZXItNTAwLzEwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGwiPkVudGVycHJpc2UgUGxhbjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGZvb3RlciBjbGFzcz0iYmctYmxhY2sgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIG10LTIwIj48ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHB5LTEyIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTgiPjxkaXY+PGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWItNCI+PHNwYW4gY2xhc3M9InRleHQtYW1iZXItNDAwIHRleHQteGwiPuKbjzwvc3Bhbj48c3BhbiBjbGFzcz0idGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC1sZyI+SGFzaFZhdWx0PC9zcGFuPjwvZGl2PjxwIGNsYXNzPSJ0ZXh0LWdyYXktNTAwIHRleHQtc20iPlByb2Zlc3Npb25hbCBCaXRjb2luIGNsb3VkIG1pbmluZyBwbGF0Zm9ybSB3aXRoIGd1YXJhbnRlZWQgdXB0aW1lIGFuZCB0cmFuc3BhcmVudCBwYXlvdXRzLjwvcD48L2Rpdj48ZGl2PjxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiPlBsYXRmb3JtPC9oND48dWwgY2xhc3M9InNwYWNlLXktMiB0ZXh0LXNtIHRleHQtZ3JheS01MDAiPjxsaT48YSBjbGFzcz0iaG92ZXI6dGV4dC1hbWJlci00MDAiIGhyZWY9Ii9wbGFucyI+TWluaW5nIFBsYW5zPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIgaHJlZj0iL2Rhc2hib2FyZCI+RGFzaGJvYXJkPC9hPjwvbGk+PGxpPjxhIGNsYXNzPSJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIgaHJlZj0iL2F1dGgvcmVnaXN0ZXIiPkdldCBTdGFydGVkPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2PjxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiPkNvbXBhbnk8L2g0Pjx1bCBjbGFzcz0ic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCI+PGxpPjxhIGNsYXNzPSJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIgaHJlZj0iL2Fib3V0Ij5BYm91dCBVczwvYT48L2xpPjxsaT48YSBjbGFzcz0iaG92ZXI6dGV4dC1hbWJlci00MDAiIGhyZWY9Ii9mYXEiPkZBUTwvYT48L2xpPjxsaT48YSBjbGFzcz0iaG92ZXI6dGV4dC1hbWJlci00MDAiIGhyZWY9Ii9jb250YWN0Ij5Db250YWN0PC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2PjxoNCBjbGFzcz0idGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiPlRydXN0ICZhbXA7IFNlY3VyaXR5PC9oND48ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGdhcC0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCI+PHNwYW4gY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIj7wn5SSIFNTTCBTZWN1cmVkPC9zcGFuPjxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiI+4pyFIFZlcmlmaWVkIFBheW91dHM8L3NwYW4+PHNwYW4gY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIj7imqEgOTkuOSUgVXB0aW1lPC9zcGFuPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBweS00IHRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgdGV4dC1zbSI+wqkgPCEtLSAtLT4yMDI2PCEtLSAtLT4gSGFzaFZhdWx0LiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvZGl2PjwvZm9vdGVyPjwvbWFpbj48IS0tJC0tPjwhLS0vJC0tPjxkaXYgZGF0YS1yaHQtdG9hc3Rlcj0iIiBzdHlsZT0icG9zaXRpb246Zml4ZWQ7ei1pbmRleDo5OTk5O3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDoxNnB4O2JvdHRvbToxNnB4O3BvaW50ZXItZXZlbnRzOm5vbmUiPjwvZGl2PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy8xN3N4bjF4cGtiX2FwLmpzIiBpZD0iX1JfIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0PihzZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdKS5wdXNoKFswXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTpcIiRTcmVhY3QuZnJhZ21lbnRcIlxuMjpJWzQ0NjM2LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanNcIl0sXCJkZWZhdWx0XCJdXG4zOklbMzk3NTYsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qc1wiXSxcImRlZmF1bHRcIl1cbjQ6SVs1ODI5OCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wY3NhNHI5NW9jbDFtLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzXCJdLFwiZGVmYXVsdFwiXVxuNTpJWzM3NDU3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanNcIl0sXCJkZWZhdWx0XCJdXG42OklbMjIwMTYsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMTBrdnFtLXktbG11aS5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMHd2dWgwaTBxaDZyOC5qc1wiXSxcIlwiXVxuNzpJWzMyNjUsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMTBrdnFtLXktbG11aS5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvMHd2dWgwaTBxaDZyOC5qc1wiXSxcImRlZmF1bHRcIl1cbjg6SVs2MzU5NCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8xMGt2cW0teS1sbXVpLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzXCJdLFwiZGVmYXVsdFwiXVxuMTU6SVs2ODAyNyxbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCJdLFwiZGVmYXVsdFwiLDFdXG46SExbXCIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzc1wiLFwic3R5bGVcIl1cbjpITFtcIi9fbmV4dC9zdGF0aWMvbWVkaWEvODNhZmUyNzhiNmE2YmIzYy1zLnAuMHEtMzAxdjRreHhuci53b2ZmMlwiLFwiZm9udFwiLHtcImNyb3NzT3JpZ2luXCI6XCJcIixcInR5cGVcIjpcImZvbnQvd29mZjJcIn1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMDp7XCJQXCI6bnVsbCxcImNcIjpbXCJcIixcIlwiXSxcInFcIjpcIlwiLFwiaVwiOmZhbHNlLFwiZlwiOltbW1wiXCIse1wiY2hpbGRyZW5cIjpbXCJfX1BBR0VfX1wiLHt9XX0sXCIkdW5kZWZpbmVkXCIsXCIkdW5kZWZpbmVkXCIsMTZdLFtbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W1tbXCIkXCIsXCJsaW5rXCIsXCIwXCIse1wicmVsXCI6XCJzdHlsZXNoZWV0XCIsXCJocmVmXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzc1wiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiY3Jvc3NPcmlnaW5cIjpcIiR1bmRlZmluZWRcIixcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XSxbXCIkXCIsXCJzY3JpcHRcIixcInNjcmlwdC0wXCIse1wic3JjXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCJhc3luY1wiOnRydWUsXCJub25jZVwiOlwiJHVuZGVmaW5lZFwifV0sW1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMVwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dXSxbXCIkXCIsXCJodG1sXCIsbnVsbCx7XCJsYW5nXCI6XCJlblwiLFwiY2xhc3NOYW1lXCI6XCJkYXJrXCIsXCJjaGlsZHJlblwiOltcIiRcIixcImJvZHlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiaW50ZXJfNTk3MmJjMzQtbW9kdWxlX19PVTE2UWFfX2NsYXNzTmFtZSBiZy1ibGFjayB0ZXh0LXdoaXRlIGFudGlhbGlhc2VkXCIsXCJjaGlsZHJlblwiOltcIiRcIixcIiRMMlwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTDNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiQ0XCIsXCJlcnJvclN0eWxlc1wiOltdLFwiZXJyb3JTY3JpcHRzXCI6W1tcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTBcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBjc2E0cjk1b2NsMW0uanNcIixcImFzeW5jXCI6dHJ1ZX1dLFtcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTFcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzB3dnVoMGkwcWg2cjguanNcIixcImFzeW5jXCI6dHJ1ZX1dXSxcInRlbXBsYXRlXCI6W1wiJFwiLFwiJEw1XCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwibWluLWgtc2NyZWVuIGJnLWJsYWNrIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTQgdGV4dC1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC02eGwgbWItNFwiLFwiY2hpbGRyZW5cIjpcIuKbj1wifV0sW1wiJFwiLFwiaDFcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC02eGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwIG1iLTRcIixcImNoaWxkcmVuXCI6XCI0MDRcIn1dLFtcIiRcIixcInBcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTQwMCB0ZXh0LWxnIG1iLThcIixcImNoaWxkcmVuXCI6XCJUaGlzIGJsb2NrIGRvZXNuJ3QgZXhpc3Qgb24gdGhlIGNoYWluLlwifV0sW1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvXCIsXCJjbGFzc05hbWVcIjpcImJnLWFtYmVyLTUwMCBob3ZlcjpiZy1hbWJlci00MDAgdGV4dC1ibGFjayBmb250LXNlbWlib2xkIHB4LTYgcHktMyByb3VuZGVkLWxnIHRyYW5zaXRpb24tY29sb3JzXCIsXCJjaGlsZHJlblwiOlwiQmFjayB0byBIb21lXCJ9XV19XX1dLFtdXSxcImZvcmJpZGRlblwiOlwiJHVuZGVmaW5lZFwiLFwidW5hdXRob3JpemVkXCI6XCIkdW5kZWZpbmVkXCJ9XX1dfV19XV19XSx7XCJjaGlsZHJlblwiOltbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcIm1haW5cIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMN1wiLG51bGwse31dLFtcIiRcIixcIiRMOFwiLG51bGwse31dLFtcIiRcIixcInNlY3Rpb25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwicmVsYXRpdmUgbWluLWgtWzkwdmhdIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlblwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImFic29sdXRlIGluc2V0LTAgYmctZ3JhZGllbnQtdG8tYiBmcm9tLWFtYmVyLTUwMC81IHZpYS10cmFuc3BhcmVudCB0by10cmFuc3BhcmVudCBwb2ludGVyLWV2ZW50cy1ub25lXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiYWJzb2x1dGUgdG9wLTEvMiBsZWZ0LTEvMiAtdHJhbnNsYXRlLXgtMS8yIC10cmFuc2xhdGUteS0xLzIgdy1bNjAwcHhdIGgtWzYwMHB4XSBiZy1hbWJlci01MDAvNSByb3VuZGVkLWZ1bGwgYmx1ci0zeGwgcG9pbnRlci1ldmVudHMtbm9uZVwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInJlbGF0aXZlIG1heC13LTV4bCBteC1hdXRvIHB4LTQgdGV4dC1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgYmctYW1iZXItNTAwLzEwIGJvcmRlciBib3JkZXItYW1iZXItNTAwLzIwIHJvdW5kZWQtZnVsbCBweC00IHB5LTEuNSB0ZXh0LWFtYmVyLTQwMCB0ZXh0LXNtIG1iLThcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidy0yIGgtMiBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2VcIn1dLFwiTWluaW5nIE5ldHdvcmsgQWN0aXZlIOKAlCAxMiw4NDcgTWluZXJzIE9ubGluZVwiXX1dLFtcIiRcIixcImgxXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtNHhsIHNtOnRleHQtNXhsIG1kOnRleHQtN3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTYgbGVhZGluZy10aWdodFwiLFwiY2hpbGRyZW5cIjpbXCJNaW5lIEJpdGNvaW4gd2l0aFwiLFwiIFwiLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmFkaWVudC1nb2xkXCIsXCJjaGlsZHJlblwiOlwiUHJvZmVzc2lvbmFsXCJ9XSxbXCIkXCIsXCJiclwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJoaWRkZW4gc206YmxvY2tcIn1dLFwiR3JhZGUgSGFyZHdhcmVcIl19XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS00MDAgdGV4dC1iYXNlIG1kOnRleHQteGwgbWF4LXctMnhsIG14LWF1dG8gbWItMTBcIixcImNoaWxkcmVuXCI6XCJTdGFydCBlYXJuaW5nIEJpdGNvaW4gdG9kYXkgd2l0aCBvdXIgY2xvdWQgbWluaW5nIHBsYXRmb3JtLiBObyBoYXJkd2FyZSByZXF1aXJlZCwgdHJhbnNwYXJlbnQgcGF5b3V0cywgYW5kIHJlYWwtdGltZSBtb25pdG9yaW5nLlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTQganVzdGlmeS1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMNlwiLG51bGwse1wiaHJlZlwiOlwiL2F1dGgvcmVnaXN0ZXJcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiYnV0dG9uXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LXNlbWlib2xkIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGJnLWFtYmVyLTUwMCBob3ZlcjpiZy1hbWJlci00MDAgdGV4dC1ibGFjayBweC03IHB5LTMgdGV4dC1iYXNlIHctZnVsbCBzbTp3LWF1dG9cIixcImRpc2FibGVkXCI6XCIkdW5kZWZpbmVkXCIsXCJjaGlsZHJlblwiOlwiU3RhcnQgTWluaW5nIE5vd1wifV19XSxbXCIkXCIsXCIkTDZcIixudWxsLHtcImhyZWZcIjpcIi9wbGFuc1wiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJidXR0b25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAgdGV4dC1hbWJlci00MDAgaG92ZXI6YmctYW1iZXItNTAwLzEwIHB4LTcgcHktMyB0ZXh0LWJhc2Ugdy1mdWxsIHNtOnctYXV0b1wiLFwiZGlzYWJsZWRcIjpcIiR1bmRlZmluZWRcIixcImNoaWxkcmVuXCI6XCJWaWV3IFBsYW5zXCJ9XX1dXX1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJtdC0xMiBncmlkIGdyaWQtY29scy0zIGdhcC00IHNtOmdhcC04IG1heC13LWxnIG14LWF1dG9cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLFwiVG90YWwgUGFpZCBPdXRcIix7XCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC0yeGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwXCIsXCJjaGlsZHJlblwiOlwiJCQ0LjJNK1wifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS01MDAgdGV4dC1zbSBtdC0xXCIsXCJjaGlsZHJlblwiOlwiVG90YWwgUGFpZCBPdXRcIn1dXX1dLFwiJEw5XCIsXCIkTGFcIl19XV19XV19XSxcIiRMYlwiLFwiJExjXCIsXCIkTGRcIixcIiRMZVwiLFwiJExmXCIsXCIkTDEwXCJdfV0sW1wiJEwxMVwiLFwiJEwxMlwiXSxcIiRMMTNcIl19XSx7fSxudWxsLGZhbHNlLG51bGxdfSxudWxsLGZhbHNlLG51bGxdLFwiJEwxNFwiLGZhbHNlXV0sXCJtXCI6XCIkdW5kZWZpbmVkXCIsXCJHXCI6W1wiJDE1XCIsW1wiJEwxNlwiXV0sXCJTXCI6dHJ1ZSxcImhcIjpudWxsLFwic1wiOlwiJHVuZGVmaW5lZFwiLFwibFwiOlwiJHVuZGVmaW5lZFwiLFwicFwiOlwiJHVuZGVmaW5lZFwiLFwiZFwiOlwiJHVuZGVmaW5lZFwiLFwiYlwiOlwiZ1BEZjJUZVVmZU1QMUNwcUlER3lnXCJ9XG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMWE6SVs5OTY1MixbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8xMGt2cW0teS1sbXVpLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzXCJdLFwiZGVmYXVsdFwiXVxuMWI6SVs5NzM2NyxbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCJdLFwiT3V0bGV0Qm91bmRhcnlcIl1cbjFjOlwiJFNyZWFjdC5zdXNwZW5zZVwiXG4xZTpJWzk3MzY3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanNcIl0sXCJWaWV3cG9ydEJvdW5kYXJ5XCJdXG4yMDpJWzk3MzY3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanNcIl0sXCJNZXRhZGF0YUJvdW5kYXJ5XCJdXG45OltcIiRcIixcImRpdlwiLFwiQWN0aXZlIE1pbmVyc1wiLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCIxMiw4NDdcIn1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQtc20gbXQtMVwiLFwiY2hpbGRyZW5cIjpcIkFjdGl2ZSBNaW5lcnNcIn1dXX1dXG5hOltcIiRcIixcImRpdlwiLFwiQXZnIERhaWx5IFJPSVwiLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCIxLjglXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIG10LTFcIixcImNoaWxkcmVuXCI6XCJBdmcgRGFpbHkgUk9JXCJ9XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsImI6W1wiJFwiLFwic2VjdGlvblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJweS0xMiBzbTpweS0xNiBiZy1ncmF5LTkwMC81MCBib3JkZXIteSBib3JkZXItZ3JheS04MDBcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcIm1heC13LTd4bCBteC1hdXRvIHB4LTQgZ3JpZCBncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtNCBnYXAtNiBzbTpnYXAtOFwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsXCJUb3RhbCBIYXNocmF0ZVwiLHtcImNsYXNzTmFtZVwiOlwidGV4dC1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yXCIsXCJjaGlsZHJlblwiOlwi4puPXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14bCBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpcIjIuNCBFSC9zXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMVwiLFwiY2hpbGRyZW5cIjpcIlRvdGFsIEhhc2hyYXRlXCJ9XV19XSxbXCIkXCIsXCJkaXZcIixcIlRvdGFsIFBheW91dHNcIix7XCJjbGFzc05hbWVcIjpcInRleHQtY2VudGVyXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC0yeGwgc206dGV4dC0zeGwgbWItMlwiLFwiY2hpbGRyZW5cIjpcIvCfkrBcIn1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlXCIsXCJjaGlsZHJlblwiOlwiJCQ0LDIwMCwwMDArXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMVwiLFwiY2hpbGRyZW5cIjpcIlRvdGFsIFBheW91dHNcIn1dXX1dLFtcIiRcIixcImRpdlwiLFwiUmVnaXN0ZXJlZCBVc2Vyc1wiLHtcImNsYXNzTmFtZVwiOlwidGV4dC1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yXCIsXCJjaGlsZHJlblwiOlwi8J+RpVwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQteGwgc206dGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGVcIixcImNoaWxkcmVuXCI6XCI0OCwyOTFcIn1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQteHMgc206dGV4dC1zbSBtdC0xXCIsXCJjaGlsZHJlblwiOlwiUmVnaXN0ZXJlZCBVc2Vyc1wifV1dfV0sW1wiJFwiLFwiZGl2XCIsXCJOZXR3b3JrIFVwdGltZVwiLHtcImNsYXNzTmFtZVwiOlwidGV4dC1jZW50ZXJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yXCIsXCJjaGlsZHJlblwiOlwi4pqhXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14bCBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpcIjk5Ljk3JVwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS01MDAgdGV4dC14cyBzbTp0ZXh0LXNtIG10LTFcIixcImNoaWxkcmVuXCI6XCJOZXR3b3JrIFVwdGltZVwifV1dfV1dfV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsImM6W1wiJFwiLFwic2VjdGlvblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJweS0yMCBtYXgtdy03eGwgbXgtYXV0byBweC00XCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1jZW50ZXIgbWItMTJcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImgyXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtNHhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTRcIixcImNoaWxkcmVuXCI6XCJNaW5pbmcgUGxhbnNcIn1dLFtcIiRcIixcInBcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTQwMFwiLFwiY2hpbGRyZW5cIjpcIjE1MCUgcGVyIGhvdXIgwrcgMy1kYXkgY29udHJhY3RzIMK3IDUwJSB3ZWxjb21lIGJvbnVzXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG10LTMgYmctZ3JlZW4tNTAwLzEwIGJvcmRlciBib3JkZXItZ3JlZW4tNTAwLzIwIHJvdW5kZWQtZnVsbCBweC00IHB5LTEuNSB0ZXh0LWdyZWVuLTQwMCB0ZXh0LXNtXCIsXCJjaGlsZHJlblwiOlwi8J+OgSA1MCUgV2VsY29tZSBCb251cyDigJQgbGltaXRlZCB0aW1lXCJ9XV19XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMyBnYXAtNlwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsXCJTdGFydGVyXCIse1wiY2xhc3NOYW1lXCI6XCJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IHJlbGF0aXZlXCIsXCJjaGlsZHJlblwiOltmYWxzZSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiYWJzb2x1dGUgdG9wLTMgcmlnaHQtMyBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgdGV4dC1ncmVlbi00MDAgdGV4dC14cyBmb250LWJvbGQgcHgtMiBweS0wLjUgcm91bmRlZC1mdWxsXCIsXCJjaGlsZHJlblwiOlwiKzUwJVwifV0sW1wiJFwiLFwiaDNcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0xXCIsXCJjaGlsZHJlblwiOlwiU3RhcnRlclwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMFwiLFwiY2hpbGRyZW5cIjpbXCIkJFwiLFwiMjAwXCJdfV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIG1iLTRcIixcImNoaWxkcmVuXCI6W1wiKyAkXCIsXCIxMDBcIixcIiB3ZWxjb21lIGJvbnVzXCJdfV0sW1wiJFwiLFwidWxcIixudWxsLHtcImNsYXNzTmFtZVwiOlwic3BhY2UteS0xLjUgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTZcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiTWluaW5nIFJhdGVcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1hbWJlci00MDAgZm9udC1tZWRpdW1cIixcImNoaWxkcmVuXCI6XCIxNTAlIC8gaHJcIn1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiSG91cmx5IEVhcm5pbmdzXCJ9XSxbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtd2hpdGVcIixcImNoaWxkcmVuXCI6W1wiJCRcIixcIjMwMFwiXX1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiRGFpbHkgRWFybmluZ3NcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpbXCIkJFwiLFwiNywyMDBcIl19XV19XSxbXCIkXCIsXCJsaVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2hpbGRyZW5cIjpcIjMtRGF5IFRvdGFsXCJ9XSxbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtYW1iZXItMzAwIGZvbnQtc2VtaWJvbGRcIixcImNoaWxkcmVuXCI6W1wiJCRcIixcIjIxLDYwMFwiXX1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiQ29udHJhY3RcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpcIjMgRGF5c1wifV1dfV1dfV0sW1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvYXV0aC9yZWdpc3RlclwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJidXR0b25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAgdGV4dC1hbWJlci00MDAgaG92ZXI6YmctYW1iZXItNTAwLzEwIHB4LTUgcHktMi41IHRleHQtc20gdy1mdWxsXCIsXCJkaXNhYmxlZFwiOlwiJHVuZGVmaW5lZFwiLFwiY2hpbGRyZW5cIjpcIkdldCBTdGFydGVkXCJ9XX1dXX1dLFtcIiRcIixcImRpdlwiLFwiUHJvXCIse1wiY2xhc3NOYW1lXCI6XCJiZy1ncmF5LTkwMCBib3JkZXIgcm91bmRlZC14bCBwLTYgcmVsYXRpdmUgYm9yZGVyLWFtYmVyLTUwMC81MCByaW5nLTEgcmluZy1hbWJlci01MDAvMzBcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJhYnNvbHV0ZSAtdG9wLTMgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiBiZy1hbWJlci01MDAgdGV4dC1ibGFjayB0ZXh0LXhzIGZvbnQtYm9sZCBweC0zIHB5LTEgcm91bmRlZC1mdWxsXCIsXCJjaGlsZHJlblwiOlwiTU9TVCBQT1BVTEFSXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiYWJzb2x1dGUgdG9wLTMgcmlnaHQtMyBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgdGV4dC1ncmVlbi00MDAgdGV4dC14cyBmb250LWJvbGQgcHgtMiBweS0wLjUgcm91bmRlZC1mdWxsXCIsXCJjaGlsZHJlblwiOlwiKzUwJVwifV0sW1wiJFwiLFwiaDNcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0xXCIsXCJjaGlsZHJlblwiOlwiUHJvXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC0zeGwgZm9udC1ib2xkIHRleHQtYW1iZXItNDAwXCIsXCJjaGlsZHJlblwiOltcIiQkXCIsXCI1MDBcIl19XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JlZW4tNDAwIHRleHQteHMgbWItNFwiLFwiY2hpbGRyZW5cIjpbXCIrICRcIixcIjI1MFwiLFwiIHdlbGNvbWUgYm9udXNcIl19XSxbXCIkXCIsXCJ1bFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJzcGFjZS15LTEuNSB0ZXh0LXNtIHRleHQtZ3JheS00MDAgbWItNlwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwibGlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNoaWxkcmVuXCI6XCJNaW5pbmcgUmF0ZVwifV0sW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWFtYmVyLTQwMCBmb250LW1lZGl1bVwiLFwiY2hpbGRyZW5cIjpcIjE1MCUgLyBoclwifV1dfV0sW1wiJFwiLFwibGlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNoaWxkcmVuXCI6XCJIb3VybHkgRWFybmluZ3NcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpbXCIkJFwiLFwiNzUwXCJdfV1dfV0sW1wiJFwiLFwibGlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNoaWxkcmVuXCI6XCJEYWlseSBFYXJuaW5nc1wifV0sW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlXCIsXCJjaGlsZHJlblwiOltcIiQkXCIsXCIxOCwwMDBcIl19XV19XSxbXCIkXCIsXCJsaVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2hpbGRyZW5cIjpcIjMtRGF5IFRvdGFsXCJ9XSxbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtYW1iZXItMzAwIGZvbnQtc2VtaWJvbGRcIixcImNoaWxkcmVuXCI6W1wiJCRcIixcIjU0LDAwMFwiXX1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiQ29udHJhY3RcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpcIjMgRGF5c1wifV1dfV1dfV0sXCIkTDE3XCJdfV0sXCIkTDE4XCJdfV0sXCIkTDE5XCJdfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJkOltcIiRcIixcInNlY3Rpb25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwicHktMjAgYmctZ3JheS05MDAvMzBcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcIm1heC13LTd4bCBteC1hdXRvIHB4LTRcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWNlbnRlciBtYi0xMlwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaDJcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC00eGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNFwiLFwiY2hpbGRyZW5cIjpcIldoeSBIYXNoVmF1bHQ/XCJ9XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS00MDBcIixcImNoaWxkcmVuXCI6XCJFdmVyeXRoaW5nIHlvdSBuZWVkIHRvIG1pbmUgQml0Y29pbiBwcm9mZXNzaW9uYWxseVwifV1dfV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTZcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLFwiUmVhbC1UaW1lIE1pbmluZ1wiLHtcImNsYXNzTmFtZVwiOlwiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC0zeGwgbWItM1wiLFwiY2hpbGRyZW5cIjpcIuKaoVwifV0sW1wiJFwiLFwiaDNcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTJcIixcImNoaWxkcmVuXCI6XCJSZWFsLVRpbWUgTWluaW5nXCJ9XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS01MDAgdGV4dC1zbVwiLFwiY2hpbGRyZW5cIjpcIk1vbml0b3IgeW91ciBoYXNocmF0ZSwgZWFybmluZ3MsIGFuZCB3b3JrZXIgc3RhdHVzIGxpdmUgd2l0aCBpbnN0YW50IHVwZGF0ZXMuXCJ9XV19XSxbXCIkXCIsXCJkaXZcIixcIkJhbmstR3JhZGUgU2VjdXJpdHlcIix7XCJjbGFzc05hbWVcIjpcImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9yc1wiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtM3hsIG1iLTNcIixcImNoaWxkcmVuXCI6XCLwn5SSXCJ9XSxbXCIkXCIsXCJoM1wiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMlwiLFwiY2hpbGRyZW5cIjpcIkJhbmstR3JhZGUgU2VjdXJpdHlcIn1dLFtcIiRcIixcInBcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCIsXCJjaGlsZHJlblwiOlwiMkZBLCBlbmNyeXB0ZWQgd2FsbGV0cywgYW5kIFNTTCBwcm90ZWN0aW9uIGtlZXAgeW91ciBhc3NldHMgc2FmZS5cIn1dXX1dLFtcIiRcIixcImRpdlwiLFwiRGFpbHkgUGF5b3V0c1wiLHtcImNsYXNzTmFtZVwiOlwiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC0zeGwgbWItM1wiLFwiY2hpbGRyZW5cIjpcIvCfkrhcIn1dLFtcIiRcIixcImgzXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yXCIsXCJjaGlsZHJlblwiOlwiRGFpbHkgUGF5b3V0c1wifV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQtc21cIixcImNoaWxkcmVuXCI6XCJFYXJuaW5ncyBhcmUgY3JlZGl0ZWQgZGFpbHkgZGlyZWN0bHkgdG8geW91ciBhY2NvdW50IGJhbGFuY2UuXCJ9XV19XSxbXCIkXCIsXCJkaXZcIixcIlJlZmVycmFsIFByb2dyYW1cIix7XCJjbGFzc05hbWVcIjpcImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9yc1wiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtM3hsIG1iLTNcIixcImNoaWxkcmVuXCI6XCLwn5GlXCJ9XSxbXCIkXCIsXCJoM1wiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMlwiLFwiY2hpbGRyZW5cIjpcIlJlZmVycmFsIFByb2dyYW1cIn1dLFtcIiRcIixcInBcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXNtXCIsXCJjaGlsZHJlblwiOlwiRWFybiA1JSBjb21taXNzaW9uIG9uIGV2ZXJ5IHJlZmVycmFsLiBVbmxpbWl0ZWQgZWFybmluZyBwb3RlbnRpYWwuXCJ9XV19XSxbXCIkXCIsXCJkaXZcIixcIlRyYW5zcGFyZW50IFN0YXRzXCIse1wiY2xhc3NOYW1lXCI6XCJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IGhvdmVyOmJvcmRlci1hbWJlci01MDAvMzAgdHJhbnNpdGlvbi1jb2xvcnNcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTN4bCBtYi0zXCIsXCJjaGlsZHJlblwiOlwi8J+TilwifV0sW1wiJFwiLFwiaDNcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTJcIixcImNoaWxkcmVuXCI6XCJUcmFuc3BhcmVudCBTdGF0c1wifV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQtc21cIixcImNoaWxkcmVuXCI6XCJGdWxsIHZpc2liaWxpdHkgaW50byBuZXR3b3JrIGhhc2hyYXRlLCBkaWZmaWN1bHR5LCBhbmQgeW91ciBlYXJuaW5ncyBoaXN0b3J5LlwifV1dfV0sW1wiJFwiLFwiZGl2XCIsXCJHbG9iYWwgSW5mcmFzdHJ1Y3R1cmVcIix7XCJjbGFzc05hbWVcIjpcImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9yc1wiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtM3hsIG1iLTNcIixcImNoaWxkcmVuXCI6XCLwn4yNXCJ9XSxbXCIkXCIsXCJoM1wiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMlwiLFwiY2hpbGRyZW5cIjpcIkdsb2JhbCBJbmZyYXN0cnVjdHVyZVwifV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQtc21cIixcImNoaWxkcmVuXCI6XCJNaW5pbmcgZmFybXMgYWNyb3NzIDMgY29udGluZW50cyBlbnN1cmUgbWF4aW11bSB1cHRpbWUgYW5kIGVmZmljaWVuY3kuXCJ9XV19XV19XV19XX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiZTpbXCIkXCIsXCIkTDFhXCIsbnVsbCx7fV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJmOltcIiRcIixcInNlY3Rpb25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwicHktMjAgbWF4LXctN3hsIG14LWF1dG8gcHgtNFwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtY2VudGVyIG1iLTEyXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJoMlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTR4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi00XCIsXCJjaGlsZHJlblwiOlwiV2hhdCBPdXIgTWluZXJzIFNheVwifV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNDAwXCIsXCJjaGlsZHJlblwiOlwiVHJ1c3RlZCBieSB0aG91c2FuZHMgb2YgbWluZXJzIHdvcmxkd2lkZVwifV1dfV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTMgZ2FwLTZcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLFwiSmFtZXMgSy5cIix7XCJjbGFzc05hbWVcIjpcImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTZcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zXCIsXCJjaGlsZHJlblwiOlwi4piF4piF4piF4piF4piFXCJ9XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS0zMDAgdGV4dC1zbSBtYi00XCIsXCJjaGlsZHJlblwiOltcIlxcXCJcIixcIkJlZW4gbWluaW5nIHdpdGggSGFzaFZhdWx0IGZvciA2IG1vbnRocy4gQ29uc2lzdGVudCBkYWlseSBwYXlvdXRzIGFuZCBncmVhdCBzdXBwb3J0LlwiLFwiXFxcIlwiXX1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LXNtXCIsXCJjaGlsZHJlblwiOlwiSmFtZXMgSy5cIn1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQteHNcIixcImNoaWxkcmVuXCI6XCLwn4e68J+HuCBVU0FcIn1dXX1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14cyB0ZXh0LWFtYmVyLTQwMCBiZy1hbWJlci01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbFwiLFwiY2hpbGRyZW5cIjpcIlBybyBQbGFuXCJ9XV19XV19XSxbXCIkXCIsXCJkaXZcIixcIkFtYXJhIE8uXCIse1wiY2xhc3NOYW1lXCI6XCJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02XCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1hbWJlci00MDAgbWItM1wiLFwiY2hpbGRyZW5cIjpcIuKYheKYheKYheKYheKYhVwifV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktMzAwIHRleHQtc20gbWItNFwiLFwiY2hpbGRyZW5cIjpbXCJcXFwiXCIsXCJUaGUgcmVmZXJyYWwgcHJvZ3JhbSBhbG9uZSBoYXMgZWFybmVkIG1lIGFuIGV4dHJhICQ4MDAgdGhpcyBtb250aC4gSGlnaGx5IHJlY29tbWVuZC5cIixcIlxcXCJcIl19XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbVwiLFwiY2hpbGRyZW5cIjpcIkFtYXJhIE8uXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCIsXCJjaGlsZHJlblwiOlwi8J+Hs/Cfh6wgTmlnZXJpYVwifV1dfV0sW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXhzIHRleHQtYW1iZXItNDAwIGJnLWFtYmVyLTUwMC8xMCBweC0yIHB5LTEgcm91bmRlZC1mdWxsXCIsXCJjaGlsZHJlblwiOlwiU3RhcnRlciBQbGFuXCJ9XV19XV19XSxbXCIkXCIsXCJkaXZcIixcIkNoZW4gVy5cIix7XCJjbGFzc05hbWVcIjpcImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTZcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zXCIsXCJjaGlsZHJlblwiOlwi4piF4piF4piF4piF4piFXCJ9XSxbXCIkXCIsXCJwXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtZ3JheS0zMDAgdGV4dC1zbSBtYi00XCIsXCJjaGlsZHJlblwiOltcIlxcXCJcIixcIkVudGVycHJpc2UgcGxhbiBnaXZlcyBpbmNyZWRpYmxlIFJPSS4gVGhlIGRhc2hib2FyZCBpcyBjbGVhbiBhbmQgZWFzeSB0byB1c2UuXCIsXCJcXFwiXCJdfV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc21cIixcImNoaWxkcmVuXCI6XCJDaGVuIFcuXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1ncmF5LTUwMCB0ZXh0LXhzXCIsXCJjaGlsZHJlblwiOlwi8J+HqPCfh7MgQ2hpbmFcIn1dXX1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC14cyB0ZXh0LWFtYmVyLTQwMCBiZy1hbWJlci01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbFwiLFwiY2hpbGRyZW5cIjpcIkVudGVycHJpc2UgUGxhblwifV1dfV1dfV1dfV1dfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxMDpbXCIkXCIsXCJmb290ZXJcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiYmctYmxhY2sgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIG10LTIwXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNsYXNzTmFtZVwiOlwibWF4LXctN3hsIG14LWF1dG8gcHgtNCBweS0xMiBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy00IGdhcC04XCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtYi00XCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtYW1iZXItNDAwIHRleHQteGxcIixcImNoaWxkcmVuXCI6XCLim49cIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC1sZ1wiLFwiY2hpbGRyZW5cIjpcIkhhc2hWYXVsdFwifV1dfV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyYXktNTAwIHRleHQtc21cIixcImNoaWxkcmVuXCI6XCJQcm9mZXNzaW9uYWwgQml0Y29pbiBjbG91ZCBtaW5pbmcgcGxhdGZvcm0gd2l0aCBndWFyYW50ZWVkIHVwdGltZSBhbmQgdHJhbnNwYXJlbnQgcGF5b3V0cy5cIn1dXX1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaDRcIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTNcIixcImNoaWxkcmVuXCI6XCJQbGF0Zm9ybVwifV0sW1wiJFwiLFwidWxcIixudWxsLHtcImNsYXNzTmFtZVwiOlwic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMFwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwibGlcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvcGxhbnNcIixcImNsYXNzTmFtZVwiOlwiaG92ZXI6dGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCJNaW5pbmcgUGxhbnNcIn1dfV0sW1wiJFwiLFwibGlcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvZGFzaGJvYXJkXCIsXCJjbGFzc05hbWVcIjpcImhvdmVyOnRleHQtYW1iZXItNDAwXCIsXCJjaGlsZHJlblwiOlwiRGFzaGJvYXJkXCJ9XX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjaGlsZHJlblwiOltcIiRcIixcIiRMNlwiLG51bGwse1wiaHJlZlwiOlwiL2F1dGgvcmVnaXN0ZXJcIixcImNsYXNzTmFtZVwiOlwiaG92ZXI6dGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCJHZXQgU3RhcnRlZFwifV19XV19XV19XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcImg0XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zXCIsXCJjaGlsZHJlblwiOlwiQ29tcGFueVwifV0sW1wiJFwiLFwidWxcIixudWxsLHtcImNsYXNzTmFtZVwiOlwic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMFwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwibGlcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvYWJvdXRcIixcImNsYXNzTmFtZVwiOlwiaG92ZXI6dGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCJBYm91dCBVc1wifV19XSxbXCIkXCIsXCJsaVwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTDZcIixudWxsLHtcImhyZWZcIjpcIi9mYXFcIixcImNsYXNzTmFtZVwiOlwiaG92ZXI6dGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6XCJGQVFcIn1dfV0sW1wiJFwiLFwibGlcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvY29udGFjdFwiLFwiY2xhc3NOYW1lXCI6XCJob3Zlcjp0ZXh0LWFtYmVyLTQwMFwiLFwiY2hpbGRyZW5cIjpcIkNvbnRhY3RcIn1dfV1dfV1dfV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjaGlsZHJlblwiOltbXCIkXCIsXCJoNFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItM1wiLFwiY2hpbGRyZW5cIjpcIlRydXN0IFx1MDAyNiBTZWN1cml0eVwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCIsXCJjaGlsZHJlblwiOlwi8J+UkiBTU0wgU2VjdXJlZFwifV0sW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiLFwiY2hpbGRyZW5cIjpcIuKchSBWZXJpZmllZCBQYXlvdXRzXCJ9XSxbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCIsXCJjaGlsZHJlblwiOlwi4pqhIDk5LjklIFVwdGltZVwifV1dfV1dfV1dfV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBweS00IHRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgdGV4dC1zbVwiLFwiY2hpbGRyZW5cIjpbXCLCqSBcIiwyMDI2LFwiIEhhc2hWYXVsdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cIl19XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjExOltcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTBcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanNcIixcImFzeW5jXCI6dHJ1ZSxcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XVxuMTI6W1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMVwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMHd2dWgwaTBxaDZyOC5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dXG4xMzpbXCIkXCIsXCIkTDFiXCIsbnVsbCx7XCJjaGlsZHJlblwiOltcIiRcIixcIiQxY1wiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YU91dGxldFwiLFwiY2hpbGRyZW5cIjpcIiRAMWRcIn1dfV1cbjE0OltcIiRcIixcIiQxXCIsXCJoXCIse1wiY2hpbGRyZW5cIjpbbnVsbCxbXCIkXCIsXCIkTDFlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiJEwxZlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJoaWRkZW5cIjp0cnVlLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTDIwXCIsbnVsbCx7XCJjaGlsZHJlblwiOltcIiRcIixcIiQxY1wiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YVwiLFwiY2hpbGRyZW5cIjpcIiRMMjFcIn1dfV19XSxbXCIkXCIsXCJtZXRhXCIsbnVsbCx7XCJuYW1lXCI6XCJuZXh0LXNpemUtYWRqdXN0XCIsXCJjb250ZW50XCI6XCJcIn1dXX1dXG4xNjpbXCIkXCIsXCJsaW5rXCIsXCIwXCIse1wicmVsXCI6XCJzdHlsZXNoZWV0XCIsXCJocmVmXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzc1wiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiY3Jvc3NPcmlnaW5cIjpcIiR1bmRlZmluZWRcIixcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjE3OltcIiRcIixcIiRMNlwiLG51bGwse1wiaHJlZlwiOlwiL2F1dGgvcmVnaXN0ZXJcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiYnV0dG9uXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LXNlbWlib2xkIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGJnLWFtYmVyLTUwMCBob3ZlcjpiZy1hbWJlci00MDAgdGV4dC1ibGFjayBweC01IHB5LTIuNSB0ZXh0LXNtIHctZnVsbFwiLFwiZGlzYWJsZWRcIjpcIiR1bmRlZmluZWRcIixcImNoaWxkcmVuXCI6XCJHZXQgU3RhcnRlZFwifV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjE4OltcIiRcIixcImRpdlwiLFwiRW50ZXJwcmlzZVwiLHtcImNsYXNzTmFtZVwiOlwiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiByZWxhdGl2ZVwiLFwiY2hpbGRyZW5cIjpbZmFsc2UsW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImFic29sdXRlIHRvcC0zIHJpZ2h0LTMgYmctZ3JlZW4tNTAwLzEwIGJvcmRlciBib3JkZXItZ3JlZW4tNTAwLzIwIHRleHQtZ3JlZW4tNDAwIHRleHQteHMgZm9udC1ib2xkIHB4LTIgcHktMC41IHJvdW5kZWQtZnVsbFwiLFwiY2hpbGRyZW5cIjpcIis1MCVcIn1dLFtcIiRcIixcImgzXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMVwiLFwiY2hpbGRyZW5cIjpcIkVudGVycHJpc2VcIn1dLFtcIiRcIixcImRpdlwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDBcIixcImNoaWxkcmVuXCI6W1wiJCRcIixcIjIsMDAwXCJdfV0sW1wiJFwiLFwicFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIG1iLTRcIixcImNoaWxkcmVuXCI6W1wiKyAkXCIsXCIxLDAwMFwiLFwiIHdlbGNvbWUgYm9udXNcIl19XSxbXCIkXCIsXCJ1bFwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJzcGFjZS15LTEuNSB0ZXh0LXNtIHRleHQtZ3JheS00MDAgbWItNlwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwibGlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNoaWxkcmVuXCI6XCJNaW5pbmcgUmF0ZVwifV0sW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJ0ZXh0LWFtYmVyLTQwMCBmb250LW1lZGl1bVwiLFwiY2hpbGRyZW5cIjpcIjE1MCUgLyBoclwifV1dfV0sW1wiJFwiLFwibGlcIixudWxsLHtcImNsYXNzTmFtZVwiOlwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIixcImNoaWxkcmVuXCI6W1tcIiRcIixcInNwYW5cIixudWxsLHtcImNoaWxkcmVuXCI6XCJIb3VybHkgRWFybmluZ3NcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpbXCIkJFwiLFwiMywwMDBcIl19XV19XSxbXCIkXCIsXCJsaVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJmbGV4IGp1c3RpZnktYmV0d2VlblwiLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwic3BhblwiLG51bGwse1wiY2hpbGRyZW5cIjpcIkRhaWx5IEVhcm5pbmdzXCJ9XSxbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtd2hpdGVcIixcImNoaWxkcmVuXCI6W1wiJCRcIixcIjcyLDAwMFwiXX1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiMy1EYXkgVG90YWxcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZFwiLFwiY2hpbGRyZW5cIjpbXCIkJFwiLFwiMjE2LDAwMFwiXX1dXX1dLFtcIiRcIixcImxpXCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcImZsZXgganVzdGlmeS1iZXR3ZWVuXCIsXCJjaGlsZHJlblwiOltbXCIkXCIsXCJzcGFuXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiQ29udHJhY3RcIn1dLFtcIiRcIixcInNwYW5cIixudWxsLHtcImNsYXNzTmFtZVwiOlwidGV4dC13aGl0ZVwiLFwiY2hpbGRyZW5cIjpcIjMgRGF5c1wifV1dfV1dfV0sW1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvYXV0aC9yZWdpc3RlclwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJidXR0b25cIixudWxsLHtcImNsYXNzTmFtZVwiOlwiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAgdGV4dC1hbWJlci00MDAgaG92ZXI6YmctYW1iZXItNTAwLzEwIHB4LTUgcHktMi41IHRleHQtc20gdy1mdWxsXCIsXCJkaXNhYmxlZFwiOlwiJHVuZGVmaW5lZFwiLFwiY2hpbGRyZW5cIjpcIkdldCBTdGFydGVkXCJ9XX1dXX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTk6W1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJjbGFzc05hbWVcIjpcInRleHQtY2VudGVyIG10LThcIixcImNoaWxkcmVuXCI6W1wiJFwiLFwiJEw2XCIsbnVsbCx7XCJocmVmXCI6XCIvcGxhbnNcIixcImNsYXNzTmFtZVwiOlwidGV4dC1hbWJlci00MDAgaG92ZXI6dGV4dC1hbWJlci0zMDAgdGV4dC1zbVwiLFwiY2hpbGRyZW5cIjpcIlZpZXcgZnVsbCBlYXJuaW5ncyBicmVha2Rvd24g4oaSXCJ9XX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMWY6W1tcIiRcIixcIm1ldGFcIixcIjBcIix7XCJjaGFyU2V0XCI6XCJ1dGYtOFwifV0sW1wiJFwiLFwibWV0YVwiLFwiMVwiLHtcIm5hbWVcIjpcInZpZXdwb3J0XCIsXCJjb250ZW50XCI6XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwifV1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMjI6SVsyNzIwMSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzXCJdLFwiSWNvbk1hcmtcIl1cbjFkOm51bGxcbjIxOltbXCIkXCIsXCJ0aXRsZVwiLFwiMFwiLHtcImNoaWxkcmVuXCI6XCJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmdcIn1dLFtcIiRcIixcIm1ldGFcIixcIjFcIix7XCJuYW1lXCI6XCJkZXNjcmlwdGlvblwiLFwiY29udGVudFwiOlwiTWluZSBCaXRjb2luIHdpdGggcHJvZmVzc2lvbmFsLWdyYWRlIGhhcmR3YXJlLiBUcmFuc3BhcmVudCBwYXlvdXRzLCByZWFsLXRpbWUgc3RhdHMsIGFuZCBndWFyYW50ZWVkIHVwdGltZS5cIn1dLFtcIiRcIixcImxpbmtcIixcIjJcIix7XCJyZWxcIjpcImljb25cIixcImhyZWZcIjpcIi9mYXZpY29uLmljbz9mYXZpY29uLjB4M2R6bn5veGI2dG4uaWNvXCIsXCJzaXplc1wiOlwiMjU2eDI1NlwiLFwidHlwZVwiOlwiaW1hZ2UveC1pY29uXCJ9XSxbXCIkXCIsXCIkTDIyXCIsXCIzXCIse31dXVxuIl0pPC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4="}},"time_used":121,"timings":{"blocked":-1,"dns":77,"connect":1,"send":0,"wait":11,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=m8rs8","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.083Z","timestamp":1785136353083,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=m8rs8 HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /auth\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"eddbc489479e0ec5951b05ce304f5cb5\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/auth.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7rkmv-1785136353089-99fd91d28076\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1111,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":17,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/login?_rsc=17j2u","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.127Z","timestamp":1785136353127,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/login?_rsc=17j2u HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /auth/login\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"22ad48505de2104b2b8a1c4398a8629a\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/login.segments/auth/login.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::hfd4l-1785136353136-55de731f6632\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1114,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":26,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":26,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/faq?_rsc=3lco4","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.224Z","timestamp":1785136353224,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /faq?_rsc=3lco4 HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /faq/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"0f85785d97726a0be3f5505bd0eec499\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /faq.segments/faq/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353229-ca17ce0f310b\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":6369,"size_decoded":2415,"mime_type":"text/x-component","magic":"Unicode text, UTF-8 text, with very long lines (4151)","md5":"43d004708be1db02bf368079c884eccc","sha1":"55641b1a475baaea60e7e47fbb424c89725b671c","sha256":"f2105715bbacae7495193bdcd45df310d0f475e6391f391cd077dcf358b38be8","sha512":"633860d8a4511d7d9a952c0640361b163d98a34e21d501521eafb72dc2ee37769177c6c705e73504a8dac56afa1f427bf98b9e229f5ae7749203d3012acde28b","ssdeep":"192:CykyuW65Qwfxhep9iskKxh7QMmxhao1yxhgk4Mxh0igRxh/Fo47yHccLeIvvu667:CvZRPeLLkskXabHyKBAF0O1","tlshash":"77d1793ea7479ead7e7b0595642fc62a221d463fc6a78db6e2fd6d5403820352e073c0","first_seen":"2026-07-27T05:24:49.453118Z","last_seen":"2026-07-27T07:13:55.102141Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzMyNjUsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQozOklbMjIwMTYsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sIiJdCmM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk91dGxldEJvdW5kYXJ5Il0KZDoiJFNyZWFjdC5zdXNwZW5zZSIKMDp7InJzYyI6WyIkIiwiJDEiLCJjIix7ImNoaWxkcmVuIjpbWyIkIiwibWFpbiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiJEwyIixudWxsLHt9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJwdC0yNCBwYi0yMCBtYXgtdy0zeGwgbXgtYXV0byBweC00IiwiY2hpbGRyZW4iOltbIiQiLCJoMSIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtNXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTQgdGV4dC1jZW50ZXIiLCJjaGlsZHJlbiI6IkZBUSJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCB0ZXh0LWNlbnRlciBtYi0xMiIsImNoaWxkcmVuIjoiRXZlcnl0aGluZyB5b3UgbmVlZCB0byBrbm93IGFib3V0IEhhc2hWYXVsdCJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJzcGFjZS15LTQiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIkhvdyBkb2VzIGNsb3VkIG1pbmluZyB3b3JrPyIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIiwiY2hpbGRyZW4iOiJIb3cgZG9lcyBjbG91ZCBtaW5pbmcgd29yaz8ifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiWW91IHB1cmNoYXNlIGEgbWluaW5nIGNvbnRyYWN0IGFuZCB3ZSBhbGxvY2F0ZSBkZWRpY2F0ZWQgaGFzaHJhdGUgZnJvbSBvdXIgcGh5c2ljYWwgbWluaW5nIGZhcm1zIHRvIHlvdXIgYWNjb3VudC4gRWFybmluZ3MgYXJlIGNhbGN1bGF0ZWQgZGFpbHkgYmFzZWQgb24geW91ciBoYXNocmF0ZSBhbmQgdGhlIGN1cnJlbnQgQlRDIHByaWNlLiJ9XV19XSxbIiQiLCJkaXYiLCJXaGVuIGRvIEkgcmVjZWl2ZSBteSBlYXJuaW5ncz8iLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiV2hlbiBkbyBJIHJlY2VpdmUgbXkgZWFybmluZ3M/In1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNDAwIHRleHQtc20iLCJjaGlsZHJlbiI6IkVhcm5pbmdzIGFyZSBjcmVkaXRlZCB0byB5b3VyIGFjY291bnQgYmFsYW5jZSBldmVyeSAyNCBob3Vycy4gWW91IGNhbiB3aXRoZHJhdyBvbmNlIHlvdXIgYmFsYW5jZSByZWFjaGVzIHRoZSBtaW5pbXVtIHRocmVzaG9sZCBvZiAkMSwwMDAuIn1dXX1dLFsiJCIsImRpdiIsIldoYXQgaXMgdGhlIG1pbmltdW0gaW52ZXN0bWVudD8iLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiV2hhdCBpcyB0aGUgbWluaW11bSBpbnZlc3RtZW50PyJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJPdXIgU3RhcnRlciBwbGFuIGJlZ2lucyBhdCAkMjAwLiBUaGVyZSBpcyBubyBtYXhpbXVtIGludmVzdG1lbnQgbGltaXQuIn1dXX1dLFsiJCIsImRpdiIsIkhvdyBkbyB3aXRoZHJhd2FscyB3b3JrPyIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIiwiY2hpbGRyZW4iOiJIb3cgZG8gd2l0aGRyYXdhbHMgd29yaz8ifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiU3VibWl0IGEgd2l0aGRyYXdhbCByZXF1ZXN0IHdpdGggeW91ciBCVEMgb3IgVVNEVCB3YWxsZXQgYWRkcmVzcy4gUmVxdWVzdHMgYXJlIHByb2Nlc3NlZCB3aXRoaW4gMjQtNDggaG91cnMgYnkgb3VyIHRlYW0uIn1dXX1dLFsiJCIsImRpdiIsIklzIG15IGludmVzdG1lbnQgaW5zdXJlZD8iLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiSXMgbXkgaW52ZXN0bWVudCBpbnN1cmVkPyJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJZZXMuIEFsbCBtaW5pbmcgb3BlcmF0aW9ucyBhcmUgaW5zdXJlZCBhZ2FpbnN0IGhhcmR3YXJlIGZhaWx1cmUgYW5kIG5hdHVyYWwgZGlzYXN0ZXJzLiBZb3VyIGNvbnRyYWN0IGVhcm5pbmdzIGFyZSBndWFyYW50ZWVkIGZvciB0aGUgY29udHJhY3QgZHVyYXRpb24uIn1dXX1dLFsiJCIsImRpdiIsIkhvdyBkb2VzIHRoZSByZWZlcnJhbCBwcm9ncmFtIHdvcms/Iix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYiLCJjaGlsZHJlbiI6W1siJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6IkhvdyBkb2VzIHRoZSByZWZlcnJhbCBwcm9ncmFtIHdvcms/In1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNDAwIHRleHQtc20iLCJjaGlsZHJlbiI6IlNoYXJlIHlvdXIgdW5pcXVlIHJlZmVycmFsIGxpbmsuIFdoZW4gc29tZW9uZSByZWdpc3RlcnMgYW5kIHB1cmNoYXNlcyBhIHBsYW4sIHlvdSBlYXJuIDUlIG9mIHRoZWlyIHBsYW4gdmFsdWUgYXMgYSBjb21taXNzaW9uLCBjcmVkaXRlZCBpbnN0YW50bHkgdG8geW91ciBiYWxhbmNlLiJ9XV19XV19XV19XSxbIiQiLCJmb290ZXIiLG51bGwseyJjbGFzc05hbWUiOiJiZy1ibGFjayBib3JkZXItdCBib3JkZXItZ3JheS04MDAgbXQtMjAiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6Im1heC13LTd4bCBteC1hdXRvIHB4LTQgcHktMTIgZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtNCBnYXAtOCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtYi00IiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci00MDAgdGV4dC14bCIsImNoaWxkcmVuIjoi4puPIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtYm9sZCB0ZXh0LWxnIiwiY2hpbGRyZW4iOiJIYXNoVmF1bHQifV1dfV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiUHJvZmVzc2lvbmFsIEJpdGNvaW4gY2xvdWQgbWluaW5nIHBsYXRmb3JtIHdpdGggZ3VhcmFudGVlZCB1cHRpbWUgYW5kIHRyYW5zcGFyZW50IHBheW91dHMuIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiaDQiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMyIsImNoaWxkcmVuIjoiUGxhdGZvcm0ifV0sWyIkIiwidWwiLG51bGwseyJjbGFzc05hbWUiOiJzcGFjZS15LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOltbIiQiLCJsaSIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkTDMiLG51bGwseyJocmVmIjoiL3BsYW5zIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6Ik1pbmluZyBQbGFucyJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOiIkTDQifV0sIiRMNSJdfV1dfV0sIiRMNiIsIiRMNyJdfV0sIiRMOCJdfV1dfV0sWyIkTDkiLCIkTGEiXSwiJExiIl19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo0OlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvZGFzaGJvYXJkIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkRhc2hib2FyZCJ9XQo1OlsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvYXV0aC9yZWdpc3RlciIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJHZXQgU3RhcnRlZCJ9XX1dCjY6WyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJDb21wYW55In1dLFsiJCIsInVsIixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjpbWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9hYm91dCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJBYm91dCBVcyJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvZmFxIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkZBUSJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvY29udGFjdCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJDb250YWN0In1dfV1dfV1dfV0KNzpbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImg0IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiLCJjaGlsZHJlbiI6IlRydXN0ICYgU2VjdXJpdHkifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBmbGV4LWNvbCBnYXAtMiB0ZXh0LXNtIHRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsImNoaWxkcmVuIjoi8J+UkiBTU0wgU2VjdXJlZCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IuKchSBWZXJpZmllZCBQYXlvdXRzIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsImNoaWxkcmVuIjoi4pqhIDk5LjklIFVwdGltZSJ9XV19XV19XQo4OlsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBweS00IHRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgdGV4dC1zbSIsImNoaWxkcmVuIjpbIsKpICIsMjAyNiwiIEhhc2hWYXVsdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iXX1dCjk6WyIkIiwic2NyaXB0Iiwic2NyaXB0LTAiLHsic3JjIjoiL19uZXh0L3N0YXRpYy9jaHVua3MvMTdxeXR4ajdobTJ2OS5qcyIsImFzeW5jIjp0cnVlfV0KYTpbIiQiLCJzY3JpcHQiLCJzY3JpcHQtMSIseyJzcmMiOiIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIiwiYXN5bmMiOnRydWV9XQpiOlsiJCIsIiRMYyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkZCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhT3V0bGV0IiwiY2hpbGRyZW4iOiIkQGUifV19XQplOm51bGwK"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/?_rsc=ivliq","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.274Z","timestamp":1785136353274,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /?_rsc=ivliq HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"bcdcb9115fcf30af9d68ef5ca1c6e812\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /index.segments/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353280-d22fc6ea933e\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":21122,"size_decoded":4356,"mime_type":"text/x-component","magic":"Unicode text, UTF-8 text, with very long lines (4369)","md5":"9a181633125c87bdddef907e6622c86a","sha1":"f289d0eb93aff4ab8c36c09403bfe677c9c2e79c","sha256":"31ff34830c8faf9b62ab4346ec66faa5587db63191faad400d051e9edfb16def","sha512":"7b1ee92028b7dde40c14fe990dea95cc546abcdcad62b4db6db4b11ec9145ead88449dc5dcb6a4e6ebfb3679ed5bfeff8b9f5aaef525d22f87ad08c6ca83e362","ssdeep":"384:CE5hXH/bz8lBGb4i6oH6V095R4LxDo/X2goa6BVsF0O5j8i:CE5hX/mBGb4BoH0u5R4LxDo/X2go5BV4","tlshash":"b092283e63065eadbe7b0565642fc62a626d473bc6978ebbe2fd6d5103860343d03384","first_seen":"2026-07-27T05:24:49.529528Z","last_seen":"2026-07-27T07:13:55.117421Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzMyNjUsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQozOklbNjM1OTQsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQo0OklbMjIwMTYsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sIiJdCjEyOklbOTk2NTIsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQoxMzpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiT3V0bGV0Qm91bmRhcnkiXQoxNDoiJFNyZWFjdC5zdXNwZW5zZSIKMDp7InJzYyI6WyIkIiwiJDEiLCJjIix7ImNoaWxkcmVuIjpbWyIkIiwibWFpbiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiJEwyIixudWxsLHt9XSxbIiQiLCIkTDMiLG51bGwse31dLFsiJCIsInNlY3Rpb24iLG51bGwseyJjbGFzc05hbWUiOiJyZWxhdGl2ZSBtaW4taC1bOTB2aF0gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLWIgZnJvbS1hbWJlci01MDAvNSB2aWEtdHJhbnNwYXJlbnQgdG8tdHJhbnNwYXJlbnQgcG9pbnRlci1ldmVudHMtbm9uZSJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJhYnNvbHV0ZSB0b3AtMS8yIGxlZnQtMS8yIC10cmFuc2xhdGUteC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB3LVs2MDBweF0gaC1bNjAwcHhdIGJnLWFtYmVyLTUwMC81IHJvdW5kZWQtZnVsbCBibHVyLTN4bCBwb2ludGVyLWV2ZW50cy1ub25lIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InJlbGF0aXZlIG1heC13LTV4bCBteC1hdXRvIHB4LTQgdGV4dC1jZW50ZXIiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBiZy1hbWJlci01MDAvMTAgYm9yZGVyIGJvcmRlci1hbWJlci01MDAvMjAgcm91bmRlZC1mdWxsIHB4LTQgcHktMS41IHRleHQtYW1iZXItNDAwIHRleHQtc20gbWItOCIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InctMiBoLTIgYmctZ3JlZW4tNDAwIHJvdW5kZWQtZnVsbCBhbmltYXRlLXB1bHNlIn1dLCJNaW5pbmcgTmV0d29yayBBY3RpdmUg4oCUIDEyLDg0NyBNaW5lcnMgT25saW5lIl19XSxbIiQiLCJoMSIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtNHhsIHNtOnRleHQtNXhsIG1kOnRleHQtN3hsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTYgbGVhZGluZy10aWdodCIsImNoaWxkcmVuIjpbIk1pbmUgQml0Y29pbiB3aXRoIiwiICIsWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JhZGllbnQtZ29sZCIsImNoaWxkcmVuIjoiUHJvZmVzc2lvbmFsIn1dLFsiJCIsImJyIixudWxsLHsiY2xhc3NOYW1lIjoiaGlkZGVuIHNtOmJsb2NrIn1dLCJHcmFkZSBIYXJkd2FyZSJdfV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAgdGV4dC1iYXNlIG1kOnRleHQteGwgbWF4LXctMnhsIG14LWF1dG8gbWItMTAiLCJjaGlsZHJlbiI6IlN0YXJ0IGVhcm5pbmcgQml0Y29pbiB0b2RheSB3aXRoIG91ciBjbG91ZCBtaW5pbmcgcGxhdGZvcm0uIE5vIGhhcmR3YXJlIHJlcXVpcmVkLCB0cmFuc3BhcmVudCBwYXlvdXRzLCBhbmQgcmVhbC10aW1lIG1vbml0b3JpbmcuIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTQganVzdGlmeS1jZW50ZXIiLCJjaGlsZHJlbiI6W1siJCIsIiRMNCIsbnVsbCx7ImhyZWYiOiIvYXV0aC9yZWdpc3RlciIsImNoaWxkcmVuIjpbIiQiLCJidXR0b24iLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1zZW1pYm9sZCByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2sgcHgtNyBweS0zIHRleHQtYmFzZSB3LWZ1bGwgc206dy1hdXRvIiwiY2hpbGRyZW4iOiJTdGFydCBNaW5pbmcgTm93In1dfV0sWyIkIiwiJEw0IixudWxsLHsiaHJlZiI6Ii9wbGFucyIsImNoaWxkcmVuIjpbIiQiLCJidXR0b24iLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1zZW1pYm9sZCByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMCB0ZXh0LWFtYmVyLTQwMCBob3ZlcjpiZy1hbWJlci01MDAvMTAgcHgtNyBweS0zIHRleHQtYmFzZSB3LWZ1bGwgc206dy1hdXRvIiwiY2hpbGRyZW4iOiJWaWV3IFBsYW5zIn1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibXQtMTIgZ3JpZCBncmlkLWNvbHMtMyBnYXAtNCBzbTpnYXAtOCBtYXgtdy1sZyBteC1hdXRvIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLCJUb3RhbCBQYWlkIE91dCIseyJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiJCQ0LjJNKyJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20gbXQtMSIsImNoaWxkcmVuIjoiVG90YWwgUGFpZCBPdXQifV1dfV0sWyIkIiwiZGl2IiwiQWN0aXZlIE1pbmVycyIseyJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiMTIsODQ3In1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSBtdC0xIiwiY2hpbGRyZW4iOiJBY3RpdmUgTWluZXJzIn1dXX1dLFsiJCIsImRpdiIsIkF2ZyBEYWlseSBST0kiLHsiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IjEuOCUifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIG10LTEiLCJjaGlsZHJlbiI6IkF2ZyBEYWlseSBST0kifV1dfV1dfV1dfV1dfV0sWyIkIiwic2VjdGlvbiIsbnVsbCx7ImNsYXNzTmFtZSI6InB5LTEyIHNtOnB5LTE2IGJnLWdyYXktOTAwLzUwIGJvcmRlci15IGJvcmRlci1ncmF5LTgwMCIsImNoaWxkcmVuIjpbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJtYXgtdy03eGwgbXgtYXV0byBweC00IGdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTYgc206Z2FwLTgiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIlRvdGFsIEhhc2hyYXRlIix7ImNsYXNzTmFtZSI6InRleHQtY2VudGVyIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yIiwiY2hpbGRyZW4iOiLim48ifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC14bCBzbTp0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMi40IEVIL3MifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMSIsImNoaWxkcmVuIjoiVG90YWwgSGFzaHJhdGUifV1dfV0sWyIkIiwiZGl2IiwiVG90YWwgUGF5b3V0cyIseyJjbGFzc05hbWUiOiJ0ZXh0LWNlbnRlciIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0yeGwgc206dGV4dC0zeGwgbWItMiIsImNoaWxkcmVuIjoi8J+SsCJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiIkJDQsMjAwLDAwMCsifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMSIsImNoaWxkcmVuIjoiVG90YWwgUGF5b3V0cyJ9XV19XSxbIiQiLCJkaXYiLCJSZWdpc3RlcmVkIFVzZXJzIix7ImNsYXNzTmFtZSI6InRleHQtY2VudGVyIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTJ4bCBzbTp0ZXh0LTN4bCBtYi0yIiwiY2hpbGRyZW4iOiLwn5GlIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQteGwgc206dGV4dC0yeGwgZm9udC1ib2xkIHRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IjQ4LDI5MSJ9XSwiJEw1Il19XSwiJEw2Il19XX1dLCIkTDciLCIkTDgiLCIkTDkiLCIkTGEiLCIkTGIiXX1dLFsiJExjIiwiJExkIl0sIiRMZSJdfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjpudWxsLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0KNTpbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQteHMgc206dGV4dC1zbSBtdC0xIiwiY2hpbGRyZW4iOiJSZWdpc3RlcmVkIFVzZXJzIn1dCjY6WyIkIiwiZGl2IiwiTmV0d29yayBVcHRpbWUiLHsiY2xhc3NOYW1lIjoidGV4dC1jZW50ZXIiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtMnhsIHNtOnRleHQtM3hsIG1iLTIiLCJjaGlsZHJlbiI6IuKaoSJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXhsIHNtOnRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIiwiY2hpbGRyZW4iOiI5OS45NyUifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIHNtOnRleHQtc20gbXQtMSIsImNoaWxkcmVuIjoiTmV0d29yayBVcHRpbWUifV1dfV0KNzpbIiQiLCJzZWN0aW9uIixudWxsLHsiY2xhc3NOYW1lIjoicHktMjAgbWF4LXctN3hsIG14LWF1dG8gcHgtNCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1jZW50ZXIgbWItMTIiLCJjaGlsZHJlbiI6W1siJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC00eGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCIsImNoaWxkcmVuIjoiTWluaW5nIFBsYW5zIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNDAwIiwiY2hpbGRyZW4iOiIxNTAlIHBlciBob3VyIMK3IDMtZGF5IGNvbnRyYWN0cyDCtyA1MCUgd2VsY29tZSBib251cyJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbXQtMyBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgcm91bmRlZC1mdWxsIHB4LTQgcHktMS41IHRleHQtZ3JlZW4tNDAwIHRleHQtc20iLCJjaGlsZHJlbiI6IvCfjoEgNTAlIFdlbGNvbWUgQm9udXMg4oCUIGxpbWl0ZWQgdGltZSJ9XV19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLCJTdGFydGVyIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgcmVsYXRpdmUiLCJjaGlsZHJlbiI6W2ZhbHNlLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImFic29sdXRlIHRvcC0zIHJpZ2h0LTMgYmctZ3JlZW4tNTAwLzEwIGJvcmRlciBib3JkZXItZ3JlZW4tNTAwLzIwIHRleHQtZ3JlZW4tNDAwIHRleHQteHMgZm9udC1ib2xkIHB4LTIgcHktMC41IHJvdW5kZWQtZnVsbCIsImNoaWxkcmVuIjoiKzUwJSJ9XSxbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSIsImNoaWxkcmVuIjoiU3RhcnRlciJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6WyIkJCIsIjIwMCJdfV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JlZW4tNDAwIHRleHQteHMgbWItNCIsImNoaWxkcmVuIjpbIisgJCIsIjEwMCIsIiB3ZWxjb21lIGJvbnVzIl19XSxbIiQiLCJ1bCIsbnVsbCx7ImNsYXNzTmFtZSI6InNwYWNlLXktMS41IHRleHQtc20gdGV4dC1ncmF5LTQwMCBtYi02IiwiY2hpbGRyZW4iOltbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJNaW5pbmcgUmF0ZSJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci00MDAgZm9udC1tZWRpdW0iLCJjaGlsZHJlbiI6IjE1MCUgLyBociJ9XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJIb3VybHkgRWFybmluZ3MifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUiLCJjaGlsZHJlbiI6WyIkJCIsIjMwMCJdfV1dfV0sWyIkIiwibGkiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNoaWxkcmVuIjoiRGFpbHkgRWFybmluZ3MifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUiLCJjaGlsZHJlbiI6WyIkJCIsIjcsMjAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiIzLURheSBUb3RhbCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiMjEsNjAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJDb250cmFjdCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMyBEYXlzIn1dXX1dXX1dLFsiJCIsIiRMNCIsbnVsbCx7ImhyZWYiOiIvYXV0aC9yZWdpc3RlciIsImNoaWxkcmVuIjpbIiQiLCJidXR0b24iLG51bGwseyJjbGFzc05hbWUiOiJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZm9udC1zZW1pYm9sZCByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBib3JkZXIgYm9yZGVyLWFtYmVyLTUwMCB0ZXh0LWFtYmVyLTQwMCBob3ZlcjpiZy1hbWJlci01MDAvMTAgcHgtNSBweS0yLjUgdGV4dC1zbSB3LWZ1bGwiLCJjaGlsZHJlbiI6IkdldCBTdGFydGVkIn1dfV1dfV0sWyIkIiwiZGl2IiwiUHJvIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciByb3VuZGVkLXhsIHAtNiByZWxhdGl2ZSBib3JkZXItYW1iZXItNTAwLzUwIHJpbmctMSByaW5nLWFtYmVyLTUwMC8zMCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiYWJzb2x1dGUgLXRvcC0zIGxlZnQtMS8yIC10cmFuc2xhdGUteC0xLzIgYmctYW1iZXItNTAwIHRleHQtYmxhY2sgdGV4dC14cyBmb250LWJvbGQgcHgtMyBweS0xIHJvdW5kZWQtZnVsbCIsImNoaWxkcmVuIjoiTU9TVCBQT1BVTEFSIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImFic29sdXRlIHRvcC0zIHJpZ2h0LTMgYmctZ3JlZW4tNTAwLzEwIGJvcmRlciBib3JkZXItZ3JlZW4tNTAwLzIwIHRleHQtZ3JlZW4tNDAwIHRleHQteHMgZm9udC1ib2xkIHB4LTIgcHktMC41IHJvdW5kZWQtZnVsbCIsImNoaWxkcmVuIjoiKzUwJSJ9XSxbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMSIsImNoaWxkcmVuIjoiUHJvIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjpbIiQkIiwiNTAwIl19XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmVlbi00MDAgdGV4dC14cyBtYi00IiwiY2hpbGRyZW4iOlsiKyAkIiwiMjUwIiwiIHdlbGNvbWUgYm9udXMiXX1dLFsiJCIsInVsIixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0xLjUgdGV4dC1zbSB0ZXh0LWdyYXktNDAwIG1iLTYiLCJjaGlsZHJlbiI6W1siJCIsImxpIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4iLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjaGlsZHJlbiI6Ik1pbmluZyBSYXRlIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWFtYmVyLTQwMCBmb250LW1lZGl1bSIsImNoaWxkcmVuIjoiMTUwJSAvIGhyIn1dXX1dLFsiJCIsImxpIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBqdXN0aWZ5LWJldHdlZW4iLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjaGlsZHJlbiI6IkhvdXJseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSIsImNoaWxkcmVuIjpbIiQkIiwiNzUwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJEYWlseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSIsImNoaWxkcmVuIjpbIiQkIiwiMTgsMDAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiIzLURheSBUb3RhbCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiNTQsMDAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJDb250cmFjdCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSIsImNoaWxkcmVuIjoiMyBEYXlzIn1dXX1dXX1dLCIkTGYiXX1dLCIkTDEwIl19XSwiJEwxMSJdfV0KODpbIiQiLCJzZWN0aW9uIixudWxsLHsiY2xhc3NOYW1lIjoicHktMjAgYmctZ3JheS05MDAvMzAiLCJjaGlsZHJlbiI6WyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibWF4LXctN3hsIG14LWF1dG8gcHgtNCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1jZW50ZXIgbWItMTIiLCJjaGlsZHJlbiI6W1siJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC00eGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCIsImNoaWxkcmVuIjoiV2h5IEhhc2hWYXVsdD8ifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS00MDAiLCJjaGlsZHJlbiI6IkV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8gbWluZSBCaXRjb2luIHByb2Zlc3Npb25hbGx5In1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMgZ2FwLTYiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIlJlYWwtVGltZSBNaW5pbmciLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBtYi0zIiwiY2hpbGRyZW4iOiLimqEifV0sWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiUmVhbC1UaW1lIE1pbmluZyJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJNb25pdG9yIHlvdXIgaGFzaHJhdGUsIGVhcm5pbmdzLCBhbmQgd29ya2VyIHN0YXR1cyBsaXZlIHdpdGggaW5zdGFudCB1cGRhdGVzLiJ9XV19XSxbIiQiLCJkaXYiLCJCYW5rLUdyYWRlIFNlY3VyaXR5Iix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9ycyIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0zeGwgbWItMyIsImNoaWxkcmVuIjoi8J+UkiJ9XSxbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIiwiY2hpbGRyZW4iOiJCYW5rLUdyYWRlIFNlY3VyaXR5In1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IjJGQSwgZW5jcnlwdGVkIHdhbGxldHMsIGFuZCBTU0wgcHJvdGVjdGlvbiBrZWVwIHlvdXIgYXNzZXRzIHNhZmUuIn1dXX1dLFsiJCIsImRpdiIsIkRhaWx5IFBheW91dHMiLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiBob3Zlcjpib3JkZXItYW1iZXItNTAwLzMwIHRyYW5zaXRpb24tY29sb3JzIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LTN4bCBtYi0zIiwiY2hpbGRyZW4iOiLwn5K4In1dLFsiJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6IkRhaWx5IFBheW91dHMifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiRWFybmluZ3MgYXJlIGNyZWRpdGVkIGRhaWx5IGRpcmVjdGx5IHRvIHlvdXIgYWNjb3VudCBiYWxhbmNlLiJ9XV19XSxbIiQiLCJkaXYiLCJSZWZlcnJhbCBQcm9ncmFtIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9ycyIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0zeGwgbWItMyIsImNoaWxkcmVuIjoi8J+RpSJ9XSxbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIiwiY2hpbGRyZW4iOiJSZWZlcnJhbCBQcm9ncmFtIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IkVhcm4gNSUgY29tbWlzc2lvbiBvbiBldmVyeSByZWZlcnJhbC4gVW5saW1pdGVkIGVhcm5pbmcgcG90ZW50aWFsLiJ9XV19XSxbIiQiLCJkaXYiLCJUcmFuc3BhcmVudCBTdGF0cyIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IGhvdmVyOmJvcmRlci1hbWJlci01MDAvMzAgdHJhbnNpdGlvbi1jb2xvcnMiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtM3hsIG1iLTMiLCJjaGlsZHJlbiI6IvCfk4oifV0sWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiVHJhbnNwYXJlbnQgU3RhdHMifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiRnVsbCB2aXNpYmlsaXR5IGludG8gbmV0d29yayBoYXNocmF0ZSwgZGlmZmljdWx0eSwgYW5kIHlvdXIgZWFybmluZ3MgaGlzdG9yeS4ifV1dfV0sWyIkIiwiZGl2IiwiR2xvYmFsIEluZnJhc3RydWN0dXJlIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMC8zMCB0cmFuc2l0aW9uLWNvbG9ycyIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC0zeGwgbWItMyIsImNoaWxkcmVuIjoi8J+MjSJ9XSxbIiQiLCJoMyIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0yIiwiY2hpbGRyZW4iOiJHbG9iYWwgSW5mcmFzdHJ1Y3R1cmUifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiTWluaW5nIGZhcm1zIGFjcm9zcyAzIGNvbnRpbmVudHMgZW5zdXJlIG1heGltdW0gdXB0aW1lIGFuZCBlZmZpY2llbmN5LiJ9XV19XV19XV19XX1dCjk6WyIkIiwiJEwxMiIsbnVsbCx7fV0KYTpbIiQiLCJzZWN0aW9uIixudWxsLHsiY2xhc3NOYW1lIjoicHktMjAgbWF4LXctN3hsIG14LWF1dG8gcHgtNCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1jZW50ZXIgbWItMTIiLCJjaGlsZHJlbiI6W1siJCIsImgyIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC00eGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCIsImNoaWxkcmVuIjoiV2hhdCBPdXIgTWluZXJzIFNheSJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCIsImNoaWxkcmVuIjoiVHJ1c3RlZCBieSB0aG91c2FuZHMgb2YgbWluZXJzIHdvcmxkd2lkZSJ9XV19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy0zIGdhcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLCJKYW1lcyBLLiIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zIiwiY2hpbGRyZW4iOiLimIXimIXimIXimIXimIUifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS0zMDAgdGV4dC1zbSBtYi00IiwiY2hpbGRyZW4iOlsiXCIiLCJCZWVuIG1pbmluZyB3aXRoIEhhc2hWYXVsdCBmb3IgNiBtb250aHMuIENvbnNpc3RlbnQgZGFpbHkgcGF5b3V0cyBhbmQgZ3JlYXQgc3VwcG9ydC4iLCJcIiJdfV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJKYW1lcyBLLiJ9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQteHMiLCJjaGlsZHJlbiI6IvCfh7rwn4e4IFVTQSJ9XV19XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC14cyB0ZXh0LWFtYmVyLTQwMCBiZy1hbWJlci01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbCIsImNoaWxkcmVuIjoiUHJvIFBsYW4ifV1dfV1dfV0sWyIkIiwiZGl2IiwiQW1hcmEgTy4iLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1hbWJlci00MDAgbWItMyIsImNoaWxkcmVuIjoi4piF4piF4piF4piF4piFIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktMzAwIHRleHQtc20gbWItNCIsImNoaWxkcmVuIjpbIlwiIiwiVGhlIHJlZmVycmFsIHByb2dyYW0gYWxvbmUgaGFzIGVhcm5lZCBtZSBhbiBleHRyYSAkODAwIHRoaXMgbW9udGguIEhpZ2hseSByZWNvbW1lbmQuIiwiXCIiXX1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgdGV4dC1zbSIsImNoaWxkcmVuIjoiQW1hcmEgTy4ifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIiwiY2hpbGRyZW4iOiLwn4ez8J+HrCBOaWdlcmlhIn1dXX1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXhzIHRleHQtYW1iZXItNDAwIGJnLWFtYmVyLTUwMC8xMCBweC0yIHB5LTEgcm91bmRlZC1mdWxsIiwiY2hpbGRyZW4iOiJTdGFydGVyIFBsYW4ifV1dfV1dfV0sWyIkIiwiZGl2IiwiQ2hlbiBXLiIseyJjbGFzc05hbWUiOiJiZy1ncmF5LTkwMCBib3JkZXIgYm9yZGVyLWdyYXktODAwIHJvdW5kZWQteGwgcC02IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LWFtYmVyLTQwMCBtYi0zIiwiY2hpbGRyZW4iOiLimIXimIXimIXimIXimIUifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS0zMDAgdGV4dC1zbSBtYi00IiwiY2hpbGRyZW4iOlsiXCIiLCJFbnRlcnByaXNlIHBsYW4gZ2l2ZXMgaW5jcmVkaWJsZSBST0kuIFRoZSBkYXNoYm9hcmQgaXMgY2xlYW4gYW5kIGVhc3kgdG8gdXNlLiIsIlwiIl19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIHRleHQtc20iLCJjaGlsZHJlbiI6IkNoZW4gVy4ifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXhzIiwiY2hpbGRyZW4iOiLwn4eo8J+HsyBDaGluYSJ9XV19XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC14cyB0ZXh0LWFtYmVyLTQwMCBiZy1hbWJlci01MDAvMTAgcHgtMiBweS0xIHJvdW5kZWQtZnVsbCIsImNoaWxkcmVuIjoiRW50ZXJwcmlzZSBQbGFuIn1dXX1dXX1dXX1dXX1dCmI6WyIkIiwiZm9vdGVyIixudWxsLHsiY2xhc3NOYW1lIjoiYmctYmxhY2sgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIG10LTIwIiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHB5LTEyIGdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTgiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWItNCIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtYW1iZXItNDAwIHRleHQteGwiLCJjaGlsZHJlbiI6IuKbjyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LWJvbGQgdGV4dC1sZyIsImNoaWxkcmVuIjoiSGFzaFZhdWx0In1dXX1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IlByb2Zlc3Npb25hbCBCaXRjb2luIGNsb3VkIG1pbmluZyBwbGF0Zm9ybSB3aXRoIGd1YXJhbnRlZWQgdXB0aW1lIGFuZCB0cmFuc3BhcmVudCBwYXlvdXRzLiJ9XV19XSxbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImg0IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiLCJjaGlsZHJlbiI6IlBsYXRmb3JtIn1dLFsiJCIsInVsIixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjpbWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEw0IixudWxsLHsiaHJlZiI6Ii9wbGFucyIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJNaW5pbmcgUGxhbnMifV19XSxbIiQiLCJsaSIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkTDQiLG51bGwseyJocmVmIjoiL2Rhc2hib2FyZCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJEYXNoYm9hcmQifV19XSxbIiQiLCJsaSIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkTDQiLG51bGwseyJocmVmIjoiL2F1dGgvcmVnaXN0ZXIiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiR2V0IFN0YXJ0ZWQifV19XV19XV19XSxbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImg0IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiLCJjaGlsZHJlbiI6IkNvbXBhbnkifV0sWyIkIiwidWwiLG51bGwseyJjbGFzc05hbWUiOiJzcGFjZS15LTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOltbIiQiLCJsaSIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkTDQiLG51bGwseyJocmVmIjoiL2Fib3V0IiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkFib3V0IFVzIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEw0IixudWxsLHsiaHJlZiI6Ii9mYXEiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiRkFRIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEw0IixudWxsLHsiaHJlZiI6Ii9jb250YWN0IiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkNvbnRhY3QifV19XV19XV19XSxbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImg0IixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTMiLCJjaGlsZHJlbiI6IlRydXN0ICYgU2VjdXJpdHkifV0sWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBmbGV4LWNvbCBnYXAtMiB0ZXh0LXNtIHRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsImNoaWxkcmVuIjoi8J+UkiBTU0wgU2VjdXJlZCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IuKchSBWZXJpZmllZCBQYXlvdXRzIn1dLFsiJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsImNoaWxkcmVuIjoi4pqhIDk5LjklIFVwdGltZSJ9XV19XV19XV19XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJib3JkZXItdCBib3JkZXItZ3JheS04MDAgcHktNCB0ZXh0LWNlbnRlciB0ZXh0LWdyYXktNjAwIHRleHQtc20iLCJjaGlsZHJlbiI6WyLCqSAiLDIwMjYsIiBIYXNoVmF1bHQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIl19XV19XQpjOlsiJCIsInNjcmlwdCIsInNjcmlwdC0wIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzEwa3ZxbS15LWxtdWkuanMiLCJhc3luYyI6dHJ1ZX1dCmQ6WyIkIiwic2NyaXB0Iiwic2NyaXB0LTEiLHsic3JjIjoiL19uZXh0L3N0YXRpYy9jaHVua3MvMHd2dWgwaTBxaDZyOC5qcyIsImFzeW5jIjp0cnVlfV0KZTpbIiQiLCIkTDEzIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiQxNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhT3V0bGV0IiwiY2hpbGRyZW4iOiIkQDE1In1dfV0KZjpbIiQiLCIkTDQiLG51bGwseyJocmVmIjoiL2F1dGgvcmVnaXN0ZXIiLCJjaGlsZHJlbiI6WyIkIiwiYnV0dG9uIixudWxsLHsiY2xhc3NOYW1lIjoiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYmctYW1iZXItNTAwIGhvdmVyOmJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIHB4LTUgcHktMi41IHRleHQtc20gdy1mdWxsIiwiY2hpbGRyZW4iOiJHZXQgU3RhcnRlZCJ9XX1dCjEwOlsiJCIsImRpdiIsIkVudGVycHJpc2UiLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiByZWxhdGl2ZSIsImNoaWxkcmVuIjpbZmFsc2UsWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoiYWJzb2x1dGUgdG9wLTMgcmlnaHQtMyBiZy1ncmVlbi01MDAvMTAgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMjAgdGV4dC1ncmVlbi00MDAgdGV4dC14cyBmb250LWJvbGQgcHgtMiBweS0wLjUgcm91bmRlZC1mdWxsIiwiY2hpbGRyZW4iOiIrNTAlIn1dLFsiJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC14bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0xIiwiY2hpbGRyZW4iOiJFbnRlcnByaXNlIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjpbIiQkIiwiMiwwMDAiXX1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyZWVuLTQwMCB0ZXh0LXhzIG1iLTQiLCJjaGlsZHJlbiI6WyIrICQiLCIxLDAwMCIsIiB3ZWxjb21lIGJvbnVzIl19XSxbIiQiLCJ1bCIsbnVsbCx7ImNsYXNzTmFtZSI6InNwYWNlLXktMS41IHRleHQtc20gdGV4dC1ncmF5LTQwMCBtYi02IiwiY2hpbGRyZW4iOltbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJNaW5pbmcgUmF0ZSJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci00MDAgZm9udC1tZWRpdW0iLCJjaGlsZHJlbiI6IjE1MCUgLyBociJ9XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJIb3VybHkgRWFybmluZ3MifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUiLCJjaGlsZHJlbiI6WyIkJCIsIjMsMDAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiJEYWlseSBFYXJuaW5ncyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSIsImNoaWxkcmVuIjpbIiQkIiwiNzIsMDAwIl19XV19XSxbIiQiLCJsaSIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXgganVzdGlmeS1iZXR3ZWVuIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2hpbGRyZW4iOiIzLURheSBUb3RhbCJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1hbWJlci0zMDAgZm9udC1zZW1pYm9sZCIsImNoaWxkcmVuIjpbIiQkIiwiMjE2LDAwMCJdfV1dfV0sWyIkIiwibGkiLG51bGwseyJjbGFzc05hbWUiOiJmbGV4IGp1c3RpZnktYmV0d2VlbiIsImNoaWxkcmVuIjpbWyIkIiwic3BhbiIsbnVsbCx7ImNoaWxkcmVuIjoiQ29udHJhY3QifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUiLCJjaGlsZHJlbiI6IjMgRGF5cyJ9XV19XV19XSxbIiQiLCIkTDQiLG51bGwseyJocmVmIjoiL2F1dGgvcmVnaXN0ZXIiLCJjaGlsZHJlbiI6WyIkIiwiYnV0dG9uIixudWxsLHsiY2xhc3NOYW1lIjoiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgYm9yZGVyIGJvcmRlci1hbWJlci01MDAgdGV4dC1hbWJlci00MDAgaG92ZXI6YmctYW1iZXItNTAwLzEwIHB4LTUgcHktMi41IHRleHQtc20gdy1mdWxsIiwiY2hpbGRyZW4iOiJHZXQgU3RhcnRlZCJ9XX1dXX1dCjExOlsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtY2VudGVyIG10LTgiLCJjaGlsZHJlbiI6WyIkIiwiJEw0IixudWxsLHsiaHJlZiI6Ii9wbGFucyIsImNsYXNzTmFtZSI6InRleHQtYW1iZXItNDAwIGhvdmVyOnRleHQtYW1iZXItMzAwIHRleHQtc20iLCJjaGlsZHJlbiI6IlZpZXcgZnVsbCBlYXJuaW5ncyBicmVha2Rvd24g4oaSIn1dfV0KMTU6bnVsbAo="}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0ka051yepewro.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.389Z","timestamp":1785136353389,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0ka051yepewro.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98147\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0ka051yepewro.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"a55b8222a6db754870d488d6544f10bd\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0ka051yepewro.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zklz5-1785136353394-48a06e5d7c6d\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":5828,"size_decoded":3192,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (5828), with no line terminators","md5":"a55b8222a6db754870d488d6544f10bd","sha1":"5d97e34968af306a146acb6d6d7828306b16568c","sha256":"46224418f3f036efa4474a8b27bd4ee3be13817674967219c89786b952e20f5d","sha512":"b0a56c94365069140020820de72c00d47df85056c7d698464cc66afb4bd706d93c47f647c085f7452870da43f4d220ef6038bfb19dd0c87ffb654a2557443bd7","ssdeep":"96:hZCupYlfuneFctuv2+3oeBVW/QFv2Hj3xAKquhSQD9HUJMdqhJqdy6cv2P:hZCuaZutQos6QFeDBv7hfDi6CqDP","tlshash":"66c1a7f530a4f4d1d69b42848427441ef23a1d3aa0ae74a4a3e98cf965b044df1b3f96","first_seen":"2026-03-21T22:42:53.135088Z","last_seen":"2026-07-28T14:30:14.133741Z","times_seen":887,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk1MDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtmb3JtYXRVcmw6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZm9ybWF0V2l0aFZhbGlkYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXJsT2JqZWN0S2V5czpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig5MDgwOSkuXyhlLnIoOTgxODMpKSxsPS9odHRwcz98ZnRwfGdvcGhlcnxmaWxlLztmdW5jdGlvbiBhKGUpe2xldHthdXRoOnQsaG9zdG5hbWU6cn09ZSxuPWUucHJvdG9jb2x8fCIiLG89ZS5wYXRobmFtZXx8IiIsYT1lLmhhc2h8fCIiLGk9ZS5xdWVyeXx8IiIsYz0hMTt0PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoLyUzQS9pLCI6IikrIkAiOiIiLGUuaG9zdD9jPXQrZS5ob3N0OnImJihjPXQrKH5yLmluZGV4T2YoIjoiKT9gWyR7cn1dYDpyKSxlLnBvcnQmJihjKz0iOiIrZS5wb3J0KSksaSYmIm9iamVjdCI9PXR5cGVvZiBpJiYoaT1TdHJpbmcodS51cmxRdWVyeVRvU2VhcmNoUGFyYW1zKGkpKSk7bGV0IGY9ZS5zZWFyY2h8fGkmJmA/JHtpfWB8fCIiO3JldHVybiBuJiYhbi5lbmRzV2l0aCgiOiIpJiYobis9IjoiKSxlLnNsYXNoZXN8fCghbnx8bC50ZXN0KG4pKSYmITEhPT1jPyhjPSIvLyIrKGN8fCIiKSxvJiYiLyIhPT1vWzBdJiYobz0iLyIrbykpOmN8fChjPSIiKSxhJiYiIyIhPT1hWzBdJiYoYT0iIyIrYSksZiYmIj8iIT09ZlswXSYmKGY9Ij8iK2YpLG89by5yZXBsYWNlKC9bPyNdL2csZW5jb2RlVVJJQ29tcG9uZW50KSxmPWYucmVwbGFjZSgiIyIsIiUyMyIpLGAke259JHtjfSR7b30ke2Z9JHthfWB9bGV0IGk9WyJhdXRoIiwiaGFzaCIsImhvc3QiLCJob3N0bmFtZSIsImhyZWYiLCJwYXRoIiwicGF0aG5hbWUiLCJwb3J0IiwicHJvdG9jb2wiLCJxdWVyeSIsInNlYXJjaCIsInNsYXNoZXMiXTtmdW5jdGlvbiBjKGUpe3JldHVybiBhKGUpfX0sMTg1ODEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZU1lcmdlZFJlZiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49ZS5yKDcxNjQ1KTtmdW5jdGlvbiBvKGUsdCl7bGV0IHI9KDAsbi51c2VSZWYpKG51bGwpLG89KDAsbi51c2VSZWYpKG51bGwpO3JldHVybigwLG4udXNlQ2FsbGJhY2spKG49PntpZihudWxsPT09bil7bGV0IGU9ci5jdXJyZW50O2UmJihyLmN1cnJlbnQ9bnVsbCxlKCkpO2xldCB0PW8uY3VycmVudDt0JiYoby5jdXJyZW50PW51bGwsdCgpKX1lbHNlIGUmJihyLmN1cnJlbnQ9dShlLG4pKSx0JiYoby5jdXJyZW50PXUodCxuKSl9LFtlLHRdKX1mdW5jdGlvbiB1KGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJuIGUuY3VycmVudD10LCgpPT57ZS5jdXJyZW50PW51bGx9O3tsZXQgcj1lKHQpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiByP3I6KCk9PmUobnVsbCl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDczNjY4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJpc0xvY2FsVVJMIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoMTg5NjcpLG89ZS5yKDUyODE3KTtmdW5jdGlvbiB1KGUpe2lmKCEoMCxuLmlzQWJzb2x1dGVVcmwpKGUpKXJldHVybiEwO3RyeXtsZXQgdD0oMCxuLmdldExvY2F0aW9uT3JpZ2luKSgpLHI9bmV3IFVSTChlLHQpO3JldHVybiByLm9yaWdpbj09PXQmJigwLG8uaGFzQmFzZVBhdGgpKHIucGF0aG5hbWUpfWNhdGNoKGUpe3JldHVybiExfX19LDg0NTA4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJlcnJvck9uY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPWU9Pnt9fSwyMjAxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VMaW5rU3RhdHVzOmZ1bmN0aW9uKCl7cmV0dXJuIG19fTtmb3IodmFyIG8gaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDpuW29dfSk7bGV0IHU9ZS5yKDkwODA5KSxsPWUucig0MzQ3NiksYT11Ll8oZS5yKDcxNjQ1KSksaT1lLnIoOTUwNTcpLGM9ZS5yKDgzNzIpLGY9ZS5yKDE4NTgxKSxzPWUucigxODk2NykscD1lLnIoNTU1MCk7ZS5yKDMzNTI1KTtsZXQgZD1lLnIoODg1NDApLGg9ZS5yKDkxOTQ5KSx5PWUucig3MzY2OCksYj1lLnIoOTM5Nik7ZnVuY3Rpb24gZyh0KXt2YXIgcixuO2xldCBvLHUsZyxbbSxfXT0oMCxhLnVzZU9wdGltaXN0aWMpKGguSURMRV9MSU5LX1NUQVRVUyksUD0oMCxhLnVzZVJlZikobnVsbCkse2hyZWY6aixhczpPLGNoaWxkcmVuOlMscHJlZmV0Y2g6VD1udWxsLHBhc3NIcmVmOkMscmVwbGFjZTpSLHNoYWxsb3c6RSxzY3JvbGw6TCxvbkNsaWNrOk0sb25Nb3VzZUVudGVyOlUsb25Ub3VjaFN0YXJ0OmssbGVnYWN5QmVoYXZpb3I6QT0hMSxvbk5hdmlnYXRlOngsdHJhbnNpdGlvblR5cGVzOkkscmVmOkssdW5zdGFibGVfZHluYW1pY09uSG92ZXI6JCwuLi53fT10O289UyxBJiYoInN0cmluZyI9PXR5cGVvZiBvfHwibnVtYmVyIj09dHlwZW9mIG8pJiYobz0oMCxsLmpzeCkoImEiLHtjaGlsZHJlbjpvfSkpO2xldCBCPWEuZGVmYXVsdC51c2VDb250ZXh0KGMuQXBwUm91dGVyQ29udGV4dCksRD0hMSE9PVQsTj0hMSE9PVQ/bnVsbD09PShuPVQpfHwiYXV0byI9PT1uP2IuRmV0Y2hTdHJhdGVneS5QUFI6Yi5GZXRjaFN0cmF0ZWd5LkZ1bGw6Yi5GZXRjaFN0cmF0ZWd5LlBQUixGPSJzdHJpbmciPT10eXBlb2Yocj1PfHxqKT9yOigwLGkuZm9ybWF0VXJsKShyKTtpZihBKXtpZihvPy4kJHR5cGVvZj09PVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImA8TGluayBsZWdhY3lCZWhhdmlvcj5gIHJlY2VpdmVkIGEgZGlyZWN0IGNoaWxkIHRoYXQgaXMgZWl0aGVyIGEgU2VydmVyIENvbXBvbmVudCwgb3IgSlNYIHRoYXQgd2FzIGxvYWRlZCB3aXRoIFJlYWN0LmxhenkoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBFaXRoZXIgcmVtb3ZlIGxlZ2FjeUJlaGF2aW9yLCBvciBtYWtlIHRoZSBkaXJlY3QgY2hpbGQgYSBDbGllbnQgQ29tcG9uZW50IHRoYXQgcmVuZGVycyB0aGUgTGluaydzIGA8YT5gIHRhZy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTg2MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt1PWEuZGVmYXVsdC5DaGlsZHJlbi5vbmx5KG8pfWxldCBxPUE/dSYmIm9iamVjdCI9PXR5cGVvZiB1JiZ1LnJlZjpLLHo9YS5kZWZhdWx0LnVzZUNhbGxiYWNrKGU9PihudWxsIT09QiYmKFAuY3VycmVudD0oMCxoLm1vdW50TGlua0luc3RhbmNlKShlLEYsQixOLEQsXykpLCgpPT57UC5jdXJyZW50JiYoKDAsaC51bm1vdW50TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShQLmN1cnJlbnQpLFAuY3VycmVudD1udWxsKSwoMCxoLnVubW91bnRQcmVmZXRjaGFibGVJbnN0YW5jZSkoZSl9KSxbRCxGLEIsTixfXSksVz17cmVmOigwLGYudXNlTWVyZ2VkUmVmKSh6LHEpLG9uQ2xpY2sodCl7QXx8ImZ1bmN0aW9uIiE9dHlwZW9mIE18fE0odCksQSYmdS5wcm9wcyYmImZ1bmN0aW9uIj09dHlwZW9mIHUucHJvcHMub25DbGljayYmdS5wcm9wcy5vbkNsaWNrKHQpLCFCfHx0LmRlZmF1bHRQcmV2ZW50ZWR8fGZ1bmN0aW9uKHQscixuLG8sdSxsLGkpe2lmKCJ1Ij50eXBlb2Ygd2luZG93KXtsZXQgYyx7bm9kZU5hbWU6Zn09dC5jdXJyZW50VGFyZ2V0O2lmKCJBIj09PWYudG9VcHBlckNhc2UoKSYmKChjPXQuY3VycmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpKSYmIl9zZWxmIiE9PWN8fHQubWV0YUtleXx8dC5jdHJsS2V5fHx0LnNoaWZ0S2V5fHx0LmFsdEtleXx8dC5uYXRpdmVFdmVudCYmMj09PXQubmF0aXZlRXZlbnQud2hpY2gpfHx0LmN1cnJlbnRUYXJnZXQuaGFzQXR0cmlidXRlKCJkb3dubG9hZCIpKXJldHVybjtpZighKDAseS5pc0xvY2FsVVJMKShyKSl7byYmKHQucHJldmVudERlZmF1bHQoKSxsb2NhdGlvbi5yZXBsYWNlKHIpKTtyZXR1cm59aWYodC5wcmV2ZW50RGVmYXVsdCgpLGwpe2xldCBlPSExO2lmKGwoe3ByZXZlbnREZWZhdWx0OigpPT57ZT0hMH19KSxlKXJldHVybn1sZXR7ZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpzfT1lLnIoOTk3ODEpO2EuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntzKHIsbz8icmVwbGFjZSI6InB1c2giLCExPT09dT9kLlNjcm9sbEJlaGF2aW9yLk5vU2Nyb2xsOmQuU2Nyb2xsQmVoYXZpb3IuRGVmYXVsdCxuLmN1cnJlbnQsaSl9KX19KHQsRixQLFIsTCx4LEkpfSxvbk1vdXNlRW50ZXIoZSl7QXx8ImZ1bmN0aW9uIiE9dHlwZW9mIFV8fFUoZSksQSYmdS5wcm9wcyYmImZ1bmN0aW9uIj09dHlwZW9mIHUucHJvcHMub25Nb3VzZUVudGVyJiZ1LnByb3BzLm9uTW91c2VFbnRlcihlKSxCJiZEJiYoMCxoLm9uTmF2aWdhdGlvbkludGVudCkoZS5jdXJyZW50VGFyZ2V0LCEwPT09JCl9LG9uVG91Y2hTdGFydDpmdW5jdGlvbihlKXtBfHwiZnVuY3Rpb24iIT10eXBlb2Yga3x8ayhlKSxBJiZ1LnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2YgdS5wcm9wcy5vblRvdWNoU3RhcnQmJnUucHJvcHMub25Ub3VjaFN0YXJ0KGUpLEImJkQmJigwLGgub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT0kKX19O3JldHVybigwLHMuaXNBYnNvbHV0ZVVybCkoRik/Vy5ocmVmPUY6QSYmIUMmJigiYSIhPT11LnR5cGV8fCJocmVmImluIHUucHJvcHMpfHwoVy5ocmVmPSgwLHAuYWRkQmFzZVBhdGgpKEYpKSxnPUE/YS5kZWZhdWx0LmNsb25lRWxlbWVudCh1LFcpOigwLGwuanN4KSgiYSIsey4uLncsLi4uVyxjaGlsZHJlbjpvfSksKDAsbC5qc3gpKHYuUHJvdmlkZXIse3ZhbHVlOm0sY2hpbGRyZW46Z30pfWUucig4NDUwOCk7bGV0IHY9KDAsYS5jcmVhdGVDb250ZXh0KShoLklETEVfTElOS19TVEFUVVMpLG09KCk9PigwLGEudXNlQ29udGV4dCkodik7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/plans?_rsc=f8srl","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.054Z","timestamp":1785136353054,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /plans?_rsc=f8srl HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /plans\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"6518a69867cc91362684c4f8b1f6ac6c\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /plans.segments/plans.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7rkmv-1785136353059-8b41b75da13b\r\ncontent-length: 445\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":445,"size_decoded":1104,"mime_type":"text/x-component","magic":"ASCII text","md5":"58396e48a0f863f14e0b959d160d10ec","sha1":"4302a332ff9912c850884267fc91c5017f7f0a4c","sha256":"4fbfe24f93254ea1d48f78e1f9db18724a5371a303ae1d4efe1c803ed8ae601c","sha512":"965988ef4bd3e7a422c8b2fe1958577b1ba6d045435a1be95461948c03f2c9d8906b85a5cad9a5bdc88e13e2b4ebca8423099b0d4a7ac1e33f8a1519be1f0bc3","ssdeep":"","tlshash":"9af0ab17a749dc191eb4cc4c442e832e51fdac7f763118b4d28dcc1803414b61b895d0","first_seen":"2026-07-27T05:24:49.438461Z","last_seen":"2026-07-27T07:13:55.090504Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzM5NzU2LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiZGVmYXVsdCJdCjM6SVszNzQ1NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sImRlZmF1bHQiXQo0OltdCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsicGFyYWxsZWxSb3V0ZXJLZXkiOiJjaGlsZHJlbiIsInRlbXBsYXRlIjpbIiQiLCIkTDMiLG51bGwse31dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjoiJFc0IiwiYnVpbGRJZCI6ImdQRGYyVGVVZmVNUDFDcHFJREd5ZyJ9Cg=="}},"time_used":24,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/03~89e2dz7-nf.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.525Z","timestamp":1785136352525,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/03~89e2dz7-nf.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98146\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"03~89e2dz7-nf.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"f703781193b1e8797df0f85fe72976c5\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/03~89e2dz7-nf.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5jlz5-1785136352531-2d98047bbe40\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":227538,"size_decoded":72920,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"f703781193b1e8797df0f85fe72976c5","sha1":"71a0d3d149ac142a15605c08ce1fedd1f6bc85ad","sha256":"935d077cb9350993165087826387156eb748f12dfcc082c2ddcc1feb5a57bcd8","sha512":"d80551c0cf35980f9ffa2f724dd8337ddece92c9b15198282e40b1fb82f669cb050a54f182417e5887e1a018c0f4f0d4a8292f82b208b186d5a1f61e13299703","ssdeep":"3072:UFLtaNMDfGWY7V70PTIt6h+8BibKNn0ZJGXjFMAL98nwdH+am:UFLtKOfGWYpyI9vGzD58nwdH+am","tlshash":"8d24fbe83995f6626ab302b710af18037338252b280d4d60a351fdddb57845eb17bf9e","first_seen":"2026-04-11T09:57:17.574743Z","last_seen":"2026-07-27T07:13:55.094721Z","times_seen":4,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDIzNzU1LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2xldCByPSgwLGUucig0MzM2OSkuZ2V0RGVwbG95bWVudElkKSgpO2dsb2JhbFRoaXMuTkVYVF9ERVBMT1lNRU5UX0lEPXIsKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNzQ1NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoMTI3MTgpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwyMjczNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDk2NTE3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3NDU3NSksbD1lLnIoMjI3MzcpO2Z1bmN0aW9uIGEoZSl7dmFyIHQsbjtsZXQgYT0oMCxyLmdldEFzc2V0UHJlZml4KSgpO3Q9c2VsZi5fX25leHRfcyxuPSgpPT57ZShhKX0sdCYmdC5sZW5ndGg/dC5yZWR1Y2UoKGUsW3Qsbl0pPT5lLnRoZW4oKCk9Pm5ldyBQcm9taXNlKChlLHIpPT57bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7biYmKDAsbC5zZXRBdHRyaWJ1dGVzRnJvbVByb3BzKShhLG4pLHQ/KGEuc3JjPXQsYS5vbmxvYWQ9KCk9PmUoKSxhLm9uZXJyb3I9cik6biYmKGEuaW5uZXJIVE1MPW4uY2hpbGRyZW4sc2V0VGltZW91dChlKSksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChhKX0pKSxQcm9taXNlLnJlc29sdmUoKSkuY2F0Y2goZT0+e2NvbnNvbGUuZXJyb3IoZSl9KS50aGVuKCgpPT57bigpfSk6bigpfXdpbmRvdy5uZXh0PXt2ZXJzaW9uOiIxNi4yLjEiLGFwcERpcjohMH0sKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMTY1NjUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldE9iamVjdENsYXNzTGFiZWw6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNQbGFpbk9iamVjdDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBvKGUpe2lmKCJbb2JqZWN0IE9iamVjdF0iIT09YShlKSlyZXR1cm4hMTtsZXQgdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIG51bGw9PT10fHx0Lmhhc093blByb3BlcnR5KCJpc1Byb3RvdHlwZU9mIil9fSwyMDIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDE2NTY1KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwyODI3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzIzOCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig1NTY4Miksbz1lLnIoMzIwNjEpLGk9YS5fKGUucigyMDIzKSksdT1lLnIoMjgyNzkpLHM9bmV3IFdlYWtTZXQ7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gcy5oYXMoZSl9bGV0IGY9ZT0+e2xldCB0PSgwLGkuZGVmYXVsdCkoZSkmJiJjYXVzZSJpbiBlP2UuY2F1c2U6ZTsoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCx1LnJlcG9ydEdsb2JhbEVycm9yKSh0KX07KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNTUyNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz17fX0sNjY4NDksKGUsdCxuKT0+eyJ0cmltU3RhcnQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbVN0YXJ0PVN0cmluZy5wcm90b3R5cGUudHJpbUxlZnQpLCJ0cmltRW5kImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQ9U3RyaW5nLnByb3RvdHlwZS50cmltUmlnaHQpLCJkZXNjcmlwdGlvbiJpbiBTeW1ib2wucHJvdG90eXBlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoU3ltYm9sLnByb3RvdHlwZSwiZGVzY3JpcHRpb24iLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIGU9L1woKC4qKVwpLy5leGVjKHRoaXMudG9TdHJpbmcoKSk7cmV0dXJuIGU/ZVsxXTp2b2lkIDB9fSksQXJyYXkucHJvdG90eXBlLmZsYXR8fChBcnJheS5wcm90b3R5cGUuZmxhdD1mdW5jdGlvbihlLHQpe3JldHVybiB0PXRoaXMuY29uY2F0LmFwcGx5KFtdLHRoaXMpLGU+MSYmdC5zb21lKEFycmF5LmlzQXJyYXkpP3QuZmxhdChlLTEpOnR9LEFycmF5LnByb3RvdHlwZS5mbGF0TWFwPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubWFwKGUsdCkuZmxhdCgpfSksUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KFByb21pc2UucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMudGhlbihlLGUpO3ZhciB0PXRoaXMuY29uc3RydWN0b3J8fFByb21pc2U7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gdC5yZXNvbHZlKGUoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgbn0pfSl9KSxPYmplY3QuZnJvbUVudHJpZXN8fChPYmplY3QuZnJvbUVudHJpZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIEFycmF5LmZyb20oZSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGVbdFswXV09dFsxXSxlfSx7fSl9KSxBcnJheS5wcm90b3R5cGUuYXR8fChBcnJheS5wcm90b3R5cGUuYXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC50cnVuYyhlKXx8MDtpZih0PDAmJih0Kz10aGlzLmxlbmd0aCksISh0PDB8fHQ+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpc1t0XX0pLE9iamVjdC5oYXNPd258fChPYmplY3QuaGFzT3duPWZ1bmN0aW9uKGUsdCl7aWYobnVsbD09ZSl0aHJvdyBUeXBlRXJyb3IoIkNhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCBvciBudWxsIHRvIG9iamVjdCIpO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGUpLHQpfSksImNhblBhcnNlImluIFVSTHx8KFVSTC5jYW5QYXJzZT1mdW5jdGlvbihlLHQpe3RyeXtyZXR1cm4gbmV3IFVSTChlLHQpLCEwfWNhdGNoKGUpe3JldHVybiExfX0pfSwyMzkxMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnIoNjY4NDkpLCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYyMjYyLChlLHQsbik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe3ZhciBuPWUubGVuZ3RoO2ZvcihlLnB1c2godCk7MDxuOyl7dmFyIHI9bi0xPj4+MSxsPWVbcl07aWYoMDxvKGwsdCkpZVtyXT10LGVbbl09bCxuPXI7ZWxzZSBicmVha319ZnVuY3Rpb24gbChlKXtyZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZVswXX1mdW5jdGlvbiBhKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbnVsbDt2YXIgdD1lWzBdLG49ZS5wb3AoKTtpZihuIT09dCl7ZVswXT1uO2Zvcih2YXIgcj0wLGw9ZS5sZW5ndGgsYT1sPj4+MTtyPGE7KXt2YXIgaT0yKihyKzEpLTEsdT1lW2ldLHM9aSsxLGM9ZVtzXTtpZigwPm8odSxuKSlzPGwmJjA+byhjLHUpPyhlW3JdPWMsZVtzXT1uLHI9cyk6KGVbcl09dSxlW2ldPW4scj1pKTtlbHNlIGlmKHM8bCYmMD5vKGMsbikpZVtyXT1jLGVbc109bixyPXM7ZWxzZSBicmVha319cmV0dXJuIHR9ZnVuY3Rpb24gbyhlLHQpe3ZhciBuPWUuc29ydEluZGV4LXQuc29ydEluZGV4O3JldHVybiAwIT09bj9uOmUuaWQtdC5pZH1pZihuLnVuc3RhYmxlX25vdz12b2lkIDAsIm9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLm5vdyl7dmFyIGksdT1wZXJmb3JtYW5jZTtuLnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiB1Lm5vdygpfX1lbHNle3ZhciBzPURhdGUsYz1zLm5vdygpO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHMubm93KCktY319dmFyIGY9W10sZD1bXSxwPTEsbT1udWxsLGg9MyxnPSExLHY9ITEseT0hMSxiPSExLHc9ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpudWxsLFM9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6bnVsbCxrPSJ1Ij50eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIEUoZSl7Zm9yKHZhciB0PWwoZCk7bnVsbCE9PXQ7KXtpZihudWxsPT09dC5jYWxsYmFjaylhKGQpO2Vsc2UgaWYodC5zdGFydFRpbWU8PWUpYShkKSx0LnNvcnRJbmRleD10LmV4cGlyYXRpb25UaW1lLHIoZix0KTtlbHNlIGJyZWFrO3Q9bChkKX19ZnVuY3Rpb24gXyhlKXtpZih5PSExLEUoZSksIXYpaWYobnVsbCE9PWwoZikpdj0hMCx4fHwoeD0hMCxpKCkpO2Vsc2V7dmFyIHQ9bChkKTtudWxsIT09dCYmUihfLHQuc3RhcnRUaW1lLWUpfX12YXIgeD0hMSxQPS0xLE49NSxDPS0xO2Z1bmN0aW9uIFQoKXtyZXR1cm4hIWJ8fCEobi51bnN0YWJsZV9ub3coKS1DPE4pfWZ1bmN0aW9uIE8oKXtpZihiPSExLHgpe3ZhciBlPW4udW5zdGFibGVfbm93KCk7Qz1lO3ZhciB0PSEwO3RyeXtlOnt2PSExLHkmJih5PSExLFMoUCksUD0tMSksZz0hMDt2YXIgcj1oO3RyeXt0Ontmb3IoRShlKSxtPWwoZik7bnVsbCE9PW0mJiEobS5leHBpcmF0aW9uVGltZT5lJiZUKCkpOyl7dmFyIG89bS5jYWxsYmFjaztpZigiZnVuY3Rpb24iPT10eXBlb2Ygbyl7bS5jYWxsYmFjaz1udWxsLGg9bS5wcmlvcml0eUxldmVsO3ZhciB1PW8obS5leHBpcmF0aW9uVGltZTw9ZSk7aWYoZT1uLnVuc3RhYmxlX25vdygpLCJmdW5jdGlvbiI9PXR5cGVvZiB1KXttLmNhbGxiYWNrPXUsRShlKSx0PSEwO2JyZWFrIHR9bT09PWwoZikmJmEoZiksRShlKX1lbHNlIGEoZik7bT1sKGYpfWlmKG51bGwhPT1tKXQ9ITA7ZWxzZXt2YXIgcz1sKGQpO251bGwhPT1zJiZSKF8scy5zdGFydFRpbWUtZSksdD0hMX19YnJlYWsgZX1maW5hbGx5e209bnVsbCxoPXIsZz0hMX19fWZpbmFsbHl7dD9pKCk6eD0hMX19fWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBrKWk9ZnVuY3Rpb24oKXtrKE8pfTtlbHNlIGlmKCJ1Ij50eXBlb2YgTWVzc2FnZUNoYW5uZWwpe3ZhciB6PW5ldyBNZXNzYWdlQ2hhbm5lbCxMPXoucG9ydDI7ei5wb3J0MS5vbm1lc3NhZ2U9TyxpPWZ1bmN0aW9uKCl7TC5wb3N0TWVzc2FnZShudWxsKX19ZWxzZSBpPWZ1bmN0aW9uKCl7dyhPLDApfTtmdW5jdGlvbiBSKGUsdCl7UD13KGZ1bmN0aW9uKCl7ZShuLnVuc3RhYmxlX25vdygpKX0sdCl9bi51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NSxuLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTEsbi51bnN0YWJsZV9Mb3dQcmlvcml0eT00LG4udW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MyxuLnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsLG4udW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MixuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZT1mdW5jdGlvbihlKXswPmV8fDEyNTxlP2NvbnNvbGUuZXJyb3IoImZvcmNlRnJhbWVSYXRlIHRha2VzIGEgcG9zaXRpdmUgaW50IGJldHdlZW4gMCBhbmQgMTI1LCBmb3JjaW5nIGZyYW1lIHJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHN1cHBvcnRlZCIpOk49MDxlP01hdGguZmxvb3IoMWUzL2UpOjV9LG4udW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gaH0sbi51bnN0YWJsZV9uZXh0PWZ1bmN0aW9uKGUpe3N3aXRjaChoKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzp2YXIgdD0zO2JyZWFrO2RlZmF1bHQ6dD1ofXZhciBuPWg7aD10O3RyeXtyZXR1cm4gZSgpfWZpbmFsbHl7aD1ufX0sbi51bnN0YWJsZV9yZXF1ZXN0UGFpbnQ9ZnVuY3Rpb24oKXtiPSEwfSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciBuPWg7aD1lO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7aD1ufX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCxhKXt2YXIgbz1uLnVuc3RhYmxlX25vdygpO3N3aXRjaChhPSJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWEmJiJudW1iZXIiPT10eXBlb2YoYT1hLmRlbGF5KSYmMDxhP28rYTpvLGUpe2Nhc2UgMTp2YXIgdT0tMTticmVhaztjYXNlIDI6dT0yNTA7YnJlYWs7Y2FzZSA1OnU9MHgzZmZmZmZmZjticmVhaztjYXNlIDQ6dT0xZTQ7YnJlYWs7ZGVmYXVsdDp1PTVlM31yZXR1cm4gdT1hK3UsZT17aWQ6cCsrLGNhbGxiYWNrOnQscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOnUsc29ydEluZGV4Oi0xfSxhPm8/KGUuc29ydEluZGV4PWEscihkLGUpLG51bGw9PT1sKGYpJiZlPT09bChkKSYmKHk/KFMoUCksUD0tMSk6eT0hMCxSKF8sYS1vKSkpOihlLnNvcnRJbmRleD11LHIoZixlKSx2fHxnfHwodj0hMCx4fHwoeD0hMCxpKCkpKSksZX0sbi51bnN0YWJsZV9zaG91bGRZaWVsZD1ULG4udW5zdGFibGVfd3JhcENhbGxiYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PWg7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e2g9bn19fX0sNTMzODksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZS5yKDYyMjYyKX0sNDY0ODAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcixsPWUuaSg0NzE2NyksYT1lLnIoNTMzODkpLG89ZS5yKDcxNjQ1KSxpPWUucig3NDA4MCk7ZnVuY3Rpb24gdShlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHMoZSl7cmV0dXJuISghZXx8MSE9PWUubm9kZVR5cGUmJjkhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGUpfWZ1bmN0aW9uIGMoZSl7Zm9yKHZhciB0PWUsbj10O24mJiFuLmFsdGVybmF0ZTspMCE9KDQwOTgmKHQ9bikuZmxhZ3MpJiYoZT10LnJldHVybiksbj10LnJldHVybjtmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO3JldHVybiAzPT09dC50YWc/ZTpudWxsfWZ1bmN0aW9uIGYoZSl7aWYoMTM9PT1lLnRhZyl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGw9PT10JiZudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYodD1lLm1lbW9pemVkU3RhdGUpLG51bGwhPT10KXJldHVybiB0LmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZChlKXtpZigzMT09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUpe2lmKGMoZSkhPT1lKXRocm93IEVycm9yKHUoMTg4KSl9ZnVuY3Rpb24gbShlLHQsbixyLGwsYSl7Zm9yKDtudWxsIT09ZTspe2lmKCg1PT09ZS50YWd8fDY9PT1lLnRhZykmJm4oZSxyLGwsYSl8fCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKHR8fDUhPT1lLnRhZykmJm0oZS5jaGlsZCx0LG4scixsLGEpKXJldHVybiEwO2U9ZS5zaWJsaW5nfXJldHVybiExfWZ1bmN0aW9uIGgoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWU7KXtpZigzPT09ZS50YWd8fDU9PT1lLnRhZylyZXR1cm4gZTtlPWUucmV0dXJufXJldHVybiBudWxsfWZ1bmN0aW9uIGcoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6Y2FzZSA2OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gUyhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBrKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgXz1PYmplY3QuYXNzaWduLHg9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxZPS0xO2Z1bmN0aW9uIEcoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPll8fChlLmN1cnJlbnQ9WFtZXSxYW1ldPW51bGwsWS0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK1ldPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9RyhudWxsKSxldD1HKG51bGwpLGVuPUcobnVsbCksZXI9RyhudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NjKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2YodD1jYyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZncuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2YodD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZncuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdFk9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RZfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVTPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZWs9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxlXz0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxleD1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkkoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZVk9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlRz0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZVldLGRlbGV0ZSBlW2VHXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0coZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0coZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlNihlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlOD17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZThbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LG4pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbixyKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0UyhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0az1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRrLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHRfKGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdHgoZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm1hc2tUeXBlIiwibWFzay10eXBlIl0sWyJvdmVybGluZVBvc2l0aW9uIiwib3ZlcmxpbmUtcG9zaXRpb24iXSxbIm92ZXJsaW5lVGhpY2tuZXNzIiwib3ZlcmxpbmUtdGhpY2tuZXNzIl0sWyJwYWludE9yZGVyIiwicGFpbnQtb3JkZXIiXSxbInBhbm9zZS0xIiwicGFub3NlLTEiXSxbInBvaW50ZXJFdmVudHMiLCJwb2ludGVyLWV2ZW50cyJdLFsicmVuZGVyaW5nSW50ZW50IiwicmVuZGVyaW5nLWludGVudCJdLFsic2hhcGVSZW5kZXJpbmciLCJzaGFwZS1yZW5kZXJpbmciXSxbInN0b3BDb2xvciIsInN0b3AtY29sb3IiXSxbInN0b3BPcGFjaXR5Iiwic3RvcC1vcGFjaXR5Il0sWyJzdHJpa2V0aHJvdWdoUG9zaXRpb24iLCJzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIl0sWyJzdHJpa2V0aHJvdWdoVGhpY2tuZXNzIiwic3RyaWtldGhyb3VnaC10aGlja25lc3MiXSxbInN0cm9rZURhc2hhcnJheSIsInN0cm9rZS1kYXNoYXJyYXkiXSxbInN0cm9rZURhc2hvZmZzZXQiLCJzdHJva2UtZGFzaG9mZnNldCJdLFsic3Ryb2tlTGluZWNhcCIsInN0cm9rZS1saW5lY2FwIl0sWyJzdHJva2VMaW5lam9pbiIsInN0cm9rZS1saW5lam9pbiJdLFsic3Ryb2tlTWl0ZXJsaW1pdCIsInN0cm9rZS1taXRlcmxpbWl0Il0sWyJzdHJva2VPcGFjaXR5Iiwic3Ryb2tlLW9wYWNpdHkiXSxbInN0cm9rZVdpZHRoIiwic3Ryb2tlLXdpZHRoIl0sWyJ0ZXh0QW5jaG9yIiwidGV4dC1hbmNob3IiXSxbInRleHREZWNvcmF0aW9uIiwidGV4dC1kZWNvcmF0aW9uIl0sWyJ0ZXh0UmVuZGVyaW5nIiwidGV4dC1yZW5kZXJpbmciXSxbInRyYW5zZm9ybU9yaWdpbiIsInRyYW5zZm9ybS1vcmlnaW4iXSxbInVuZGVybGluZVBvc2l0aW9uIiwidW5kZXJsaW5lLXBvc2l0aW9uIl0sWyJ1bmRlcmxpbmVUaGlja25lc3MiLCJ1bmRlcmxpbmUtdGhpY2tuZXNzIl0sWyJ1bmljb2RlQmlkaSIsInVuaWNvZGUtYmlkaSJdLFsidW5pY29kZVJhbmdlIiwidW5pY29kZS1yYW5nZSJdLFsidW5pdHNQZXJFbSIsInVuaXRzLXBlci1lbSJdLFsidkFscGhhYmV0aWMiLCJ2LWFscGhhYmV0aWMiXSxbInZIYW5naW5nIiwidi1oYW5naW5nIl0sWyJ2SWRlb2dyYXBoaWMiLCJ2LWlkZW9ncmFwaGljIl0sWyJ2TWF0aGVtYXRpY2FsIiwidi1tYXRoZW1hdGljYWwiXSxbInZlY3RvckVmZmVjdCIsInZlY3Rvci1lZmZlY3QiXSxbInZlcnRBZHZZIiwidmVydC1hZHYteSJdLFsidmVydE9yaWdpblgiLCJ2ZXJ0LW9yaWdpbi14Il0sWyJ2ZXJ0T3JpZ2luWSIsInZlcnQtb3JpZ2luLXkiXSxbIndvcmRTcGFjaW5nIiwid29yZC1zcGFjaW5nIl0sWyJ3cml0aW5nTW9kZSIsIndyaXRpbmctbW9kZSJdLFsieG1sbnNYbGluayIsInhtbG5zOnhsaW5rIl0sWyJ4SGVpZ2h0IiwieC1oZWlnaHQiXV0pLHROPS9eW1x1MDAwMC1cdTAwMUYgXSpqW1xyXG5cdF0qYVtcclxuXHRdKnZbXHJcblx0XSphW1xyXG5cdF0qc1tcclxuXHRdKmNbXHJcblx0XSpyW1xyXG5cdF0qaVtcclxuXHRdKnBbXHJcblx0XSp0W1xyXG5cdF0qOi9pO2Z1bmN0aW9uIHRDKGUpe3JldHVybiB0Ti50ZXN0KCIiK2UpPyJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignUmVhY3QgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLicpIjplfWZ1bmN0aW9uIHRUKCl7fXZhciB0Tz1udWxsO2Z1bmN0aW9uIHR6KGUpe3JldHVybihlPWUudGFyZ2V0fHxlLnNyY0VsZW1lbnR8fHdpbmRvdykuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQmJihlPWUuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpLDM9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplfXZhciB0TD1udWxsLHRSPW51bGw7ZnVuY3Rpb24gdE0oZSl7dmFyIHQ9ZTIoZSk7aWYodCYmKGU9dC5zdGF0ZU5vZGUpKXt2YXIgbj1lW2VxXXx8bnVsbDtzd2l0Y2goZT10LnN0YXRlTm9kZSx0LnR5cGUpe2Nhc2UiaW5wdXQiOmlmKHRoKGUsbi52YWx1ZSxuLmRlZmF1bHRWYWx1ZSxuLmRlZmF1bHRWYWx1ZSxuLmNoZWNrZWQsbi5kZWZhdWx0Q2hlY2tlZCxuLnR5cGUsbi5uYW1lKSx0PW4ubmFtZSwicmFkaW8iPT09bi50eXBlJiZudWxsIT10KXtmb3Iobj1lO24ucGFyZW50Tm9kZTspbj1uLnBhcmVudE5vZGU7Zm9yKG49bi5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lPSInK3RtKCIiK3QpKyciXVt0eXBlPSJyYWRpbyJdJyksdD0wO3Q8bi5sZW5ndGg7dCsrKXt2YXIgcj1uW3RdO2lmKHIhPT1lJiZyLmZvcm09PT1lLmZvcm0pe3ZhciBsPXJbZXFdfHxudWxsO2lmKCFsKXRocm93IEVycm9yKHUoOTApKTt0aChyLGwudmFsdWUsbC5kZWZhdWx0VmFsdWUsbC5kZWZhdWx0VmFsdWUsbC5jaGVja2VkLGwuZGVmYXVsdENoZWNrZWQsbC50eXBlLGwubmFtZSl9fWZvcih0PTA7dDxuLmxlbmd0aDt0KyspKHI9blt0XSkuZm9ybT09PWUuZm9ybSYmdGYocil9YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6dGIoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlKTticmVhaztjYXNlInNlbGVjdCI6bnVsbCE9KHQ9bi52YWx1ZSkmJnR5KGUsISFuLm11bHRpcGxlLHQsITEpfX19dmFyIHRJPSExO2Z1bmN0aW9uIHREKGUsdCxuKXtpZih0SSlyZXR1cm4gZSh0LG4pO3RJPSEwO3RyeXtyZXR1cm4gZSh0KX1maW5hbGx5e2lmKHRJPSExLChudWxsIT09dEx8fG51bGwhPT10UikmJihzcigpLHRMJiYodD10TCxlPXRSLHRSPXRMPW51bGwsdE0odCksZSkpKWZvcih0PTA7dDxlLmxlbmd0aDt0KyspdE0oZVt0XSl9fWZ1bmN0aW9uIHRGKGUsdCl7dmFyIG49ZS5zdGF0ZU5vZGU7aWYobnVsbD09PW4pcmV0dXJuIG51bGw7dmFyIHI9bltlcV18fG51bGw7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7c3dpdGNoKG49clt0XSx0KXtjYXNlIm9uQ2xpY2siOmNhc2Uib25DbGlja0NhcHR1cmUiOmNhc2Uib25Eb3VibGVDbGljayI6Y2FzZSJvbkRvdWJsZUNsaWNrQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRG93biI6Y2FzZSJvbk1vdXNlRG93bkNhcHR1cmUiOmNhc2Uib25Nb3VzZU1vdmUiOmNhc2Uib25Nb3VzZU1vdmVDYXB0dXJlIjpjYXNlIm9uTW91c2VVcCI6Y2FzZSJvbk1vdXNlVXBDYXB0dXJlIjpjYXNlIm9uTW91c2VFbnRlciI6KHI9IXIuZGlzYWJsZWQpfHwocj0iYnV0dG9uIiE9PShlPWUudHlwZSkmJiJpbnB1dCIhPT1lJiYic2VsZWN0IiE9PWUmJiJ0ZXh0YXJlYSIhPT1lKSxlPSFyO2JyZWFrO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKHUoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn12YXIgdEE9InUiPnR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5kb2N1bWVudCYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQsdGo9ITE7aWYodEEpdHJ5e3ZhciB0VT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodFUsInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt0aj0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsdFUsdFUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSl9Y2F0Y2goZSl7dGo9ITF9dmFyIHRCPW51bGwsdFY9bnVsbCx0SD1udWxsO2Z1bmN0aW9uIHQkKCl7aWYodEgpcmV0dXJuIHRIO3ZhciBlLHQsbj10VixyPW4ubGVuZ3RoLGw9InZhbHVlImluIHRCP3RCLnZhbHVlOnRCLnRleHRDb250ZW50LGE9bC5sZW5ndGg7Zm9yKGU9MDtlPHImJm5bZV09PT1sW2VdO2UrKyk7dmFyIG89ci1lO2Zvcih0PTE7dDw9byYmbltyLXRdPT09bFthLXRdO3QrKyk7cmV0dXJuIHRIPWwuc2xpY2UoZSwxPHQ/MS10OnZvaWQgMCl9ZnVuY3Rpb24gdFEoZSl7dmFyIHQ9ZS5rZXlDb2RlO3JldHVybiJjaGFyQ29kZSJpbiBlPzA9PT0oZT1lLmNoYXJDb2RlKSYmMTM9PT10JiYoZT0xMyk6ZT10LDEwPT09ZSYmKGU9MTMpLDMyPD1lfHwxMz09PWU/ZTowfWZ1bmN0aW9uIHRXKCl7cmV0dXJuITB9ZnVuY3Rpb24gdHEoKXtyZXR1cm4hMX1mdW5jdGlvbiB0SyhlKXtmdW5jdGlvbiB0KHQsbixyLGwsYSl7Zm9yKHZhciBvIGluIHRoaXMuX3JlYWN0TmFtZT10LHRoaXMuX3RhcmdldEluc3Q9cix0aGlzLnR5cGU9bix0aGlzLm5hdGl2ZUV2ZW50PWwsdGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUYXJnZXQ9bnVsbCxlKWUuaGFzT3duUHJvcGVydHkobykmJih0PWVbb10sdGhpc1tvXT10P3QobCk6bFtvXSk7cmV0dXJuIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPShudWxsIT1sLmRlZmF1bHRQcmV2ZW50ZWQ/bC5kZWZhdWx0UHJldmVudGVkOiExPT09bC5yZXR1cm5WYWx1ZSk/dFc6dHEsdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10cSx0aGlzfXJldHVybiBfKHQucHJvdG90eXBlLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgZT10aGlzLm5hdGl2ZUV2ZW50O2UmJihlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKToidW5rbm93biIhPXR5cGVvZiBlLnJldHVyblZhbHVlJiYoZS5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9dFcpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm5hdGl2ZUV2ZW50O2UmJihlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOiJ1bmtub3duIiE9dHlwZW9mIGUuY2FuY2VsQnViYmxlJiYoZS5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9dFcpfSxwZXJzaXN0OmZ1bmN0aW9uKCl7fSxpc1BlcnNpc3RlbnQ6dFd9KSx0fXZhciB0WCx0WSx0Ryx0Six0Wix0MD17ZXZlbnRQaGFzZTowLGJ1YmJsZXM6MCxjYW5jZWxhYmxlOjAsdGltZVN0YW1wOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKX0sZGVmYXVsdFByZXZlbnRlZDowLGlzVHJ1c3RlZDowfSx0MT10Syh0MCksdDI9Xyh7fSx0MCx7dmlldzowLGRldGFpbDowfSksdDM9dEsodDIpLHQ0PV8oe30sdDIse3NjcmVlblg6MCxzY3JlZW5ZOjAsY2xpZW50WDowLGNsaWVudFk6MCxwYWdlWDowLHBhZ2VZOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLGdldE1vZGlmaWVyU3RhdGU6bmEsYnV0dG9uOjAsYnV0dG9uczowLHJlbGF0ZWRUYXJnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUucmVsYXRlZFRhcmdldD9lLmZyb21FbGVtZW50PT09ZS5zcmNFbGVtZW50P2UudG9FbGVtZW50OmUuZnJvbUVsZW1lbnQ6ZS5yZWxhdGVkVGFyZ2V0fSxtb3ZlbWVudFg6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WCJpbiBlP2UubW92ZW1lbnRYOihlIT09dFomJih0WiYmIm1vdXNlbW92ZSI9PT1lLnR5cGU/KHRHPWUuc2NyZWVuWC10Wi5zY3JlZW5YLHRKPWUuc2NyZWVuWS10Wi5zY3JlZW5ZKTp0Sj10Rz0wLHRaPWUpLHRHKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe3JldHVybiJtb3ZlbWVudFkiaW4gZT9lLm1vdmVtZW50WTp0Sn19KSx0Nj10Syh0NCksdDU9dEsoXyh7fSx0NCx7ZGF0YVRyYW5zZmVyOjB9KSksdDg9dEsoXyh7fSx0Mix7cmVsYXRlZFRhcmdldDowfSkpLHQ5PXRLKF8oe30sdDAse2FuaW1hdGlvbk5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pKSx0Nz10SyhfKHt9LHQwLHtjbGlwYm9hcmREYXRhOmZ1bmN0aW9uKGUpe3JldHVybiJjbGlwYm9hcmREYXRhImluIGU/ZS5jbGlwYm9hcmREYXRhOndpbmRvdy5jbGlwYm9hcmREYXRhfX0pKSxuZT10SyhfKHt9LHQwLHtkYXRhOjB9KSksbnQ9e0VzYzoiRXNjYXBlIixTcGFjZWJhcjoiICIsTGVmdDoiQXJyb3dMZWZ0IixVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LG5uPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0sbnI9e0FsdDoiYWx0S2V5IixDb250cm9sOiJjdHJsS2V5IixNZXRhOiJtZXRhS2V5IixTaGlmdDoic2hpZnRLZXkifTtmdW5jdGlvbiBubChlKXt2YXIgdD10aGlzLm5hdGl2ZUV2ZW50O3JldHVybiB0LmdldE1vZGlmaWVyU3RhdGU/dC5nZXRNb2RpZmllclN0YXRlKGUpOiEhKGU9bnJbZV0pJiYhIXRbZV19ZnVuY3Rpb24gbmEoKXtyZXR1cm4gbmx9dmFyIG5vPXRLKF8oe30sdDIse2tleTpmdW5jdGlvbihlKXtpZihlLmtleSl7dmFyIHQ9bnRbZS5rZXldfHxlLmtleTtpZigiVW5pZGVudGlmaWVkIiE9PXQpcmV0dXJuIHR9cmV0dXJuImtleXByZXNzIj09PWUudHlwZT8xMz09PShlPXRRKGUpKT8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP25uW2Uua2V5Q29kZV18fCJVbmlkZW50aWZpZWQiOiIifSxjb2RlOjAsbG9jYXRpb246MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAscmVwZWF0OjAsbG9jYWxlOjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3RRKGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3RRKGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSksbmk9dEsoXyh7fSx0NCx7cG9pbnRlcklkOjAsd2lkdGg6MCxoZWlnaHQ6MCxwcmVzc3VyZTowLHRhbmdlbnRpYWxQcmVzc3VyZTowLHRpbHRYOjAsdGlsdFk6MCx0d2lzdDowLHBvaW50ZXJUeXBlOjAsaXNQcmltYXJ5OjB9KSksbnU9dEsoXyh7fSx0MCx7c3VibWl0dGVyOjB9KSksbnM9dEsoXyh7fSx0Mix7dG91Y2hlczowLHRhcmdldFRvdWNoZXM6MCxjaGFuZ2VkVG91Y2hlczowLGFsdEtleTowLG1ldGFLZXk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxnZXRNb2RpZmllclN0YXRlOm5hfSkpLG5jPXRLKF8oe30sdDAse3Byb3BlcnR5TmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLG5mPXRLKF8oe30sdDQse2RlbHRhWDpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFYImluIGU/ZS5kZWx0YVg6IndoZWVsRGVsdGFYImluIGU/LWUud2hlZWxEZWx0YVg6MH0sZGVsdGFZOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVkiaW4gZT9lLmRlbHRhWToid2hlZWxEZWx0YVkiaW4gZT8tZS53aGVlbERlbHRhWToid2hlZWxEZWx0YSJpbiBlPy1lLndoZWVsRGVsdGE6MH0sZGVsdGFaOjAsZGVsdGFNb2RlOjB9KSksbmQ9dEsoXyh7fSx0MCx7bmV3U3RhdGU6MCxvbGRTdGF0ZTowfSkpLG5wPVs5LDEzLDI3LDMyXSxubT10QSYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LG5oPW51bGw7dEEmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJihuaD1kb2N1bWVudC5kb2N1bWVudE1vZGUpO3ZhciBuZz10QSYmIlRleHRFdmVudCJpbiB3aW5kb3cmJiFuaCxudj10QSYmKCFubXx8bmgmJjg8bmgmJjExPj1uaCksbnk9ITE7ZnVuY3Rpb24gbmIoZSx0KXtzd2l0Y2goZSl7Y2FzZSJrZXl1cCI6cmV0dXJuIC0xIT09bnAuaW5kZXhPZih0LmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PXQua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gbncoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgblM9ITEsbms9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsImRhdGV0aW1lLWxvY2FsIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIG5FKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09dD8hIW5rW2UudHlwZV06InRleHRhcmVhIj09PXR9ZnVuY3Rpb24gbl8oZSx0LG4scil7dEw/dFI/dFIucHVzaChyKTp0Uj1bcl06dEw9ciwwPCh0PXM1KHQsIm9uQ2hhbmdlIikpLmxlbmd0aCYmKG49bmV3IHQxKCJvbkNoYW5nZSIsImNoYW5nZSIsbnVsbCxuLHIpLGUucHVzaCh7ZXZlbnQ6bixsaXN0ZW5lcnM6dH0pKX12YXIgbng9bnVsbCxuUD1udWxsO2Z1bmN0aW9uIG5OKGUpe3NKKGUsMCl9ZnVuY3Rpb24gbkMoZSl7aWYodGYoZTMoZSkpKXJldHVybiBlfWZ1bmN0aW9uIG5UKGUsdCl7aWYoImNoYW5nZSI9PT1lKXJldHVybiB0fXZhciBuTz0hMTtpZih0QSl7aWYodEEpe3ZhciBuej0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighbnope3ZhciBuTD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtuTC5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47Iiksbno9ImZ1bmN0aW9uIj09dHlwZW9mIG5MLm9uaW5wdXR9cj1uen1lbHNlIHI9ITE7bk89ciYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKX1mdW5jdGlvbiBuUigpe254JiYobnguZGV0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5NKSxuUD1ueD1udWxsKX1mdW5jdGlvbiBuTShlKXtpZigidmFsdWUiPT09ZS5wcm9wZXJ0eU5hbWUmJm5DKG5QKSl7dmFyIHQ9W107bl8odCxuUCxlLHR6KGUpKSx0RChuTix0KX19ZnVuY3Rpb24gbkkoZSx0LG4peyJmb2N1c2luIj09PWU/KG5SKCksbng9dCxuUD1uLG54LmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixuTSkpOiJmb2N1c291dCI9PT1lJiZuUigpfWZ1bmN0aW9uIG5EKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIG5DKG5QKX1mdW5jdGlvbiBuRihlLHQpe2lmKCJjbGljayI9PT1lKXJldHVybiBuQyh0KX1mdW5jdGlvbiBuQShlLHQpe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIG5DKHQpfXZhciBuaj0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKDAhPT1lfHwxL2U9PTEvdCl8fGUhPWUmJnQhPXR9O2Z1bmN0aW9uIG5VKGUsdCl7aWYobmooZSx0KSlyZXR1cm4hMDtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIHR8fG51bGw9PT10KXJldHVybiExO3ZhciBuPU9iamVjdC5rZXlzKGUpLHI9T2JqZWN0LmtleXModCk7aWYobi5sZW5ndGghPT1yLmxlbmd0aClyZXR1cm4hMTtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdO2lmKCFlZC5jYWxsKHQsbCl8fCFuaihlW2xdLHRbbF0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIG5CKGUpe2Zvcig7ZSYmZS5maXJzdENoaWxkOyllPWUuZmlyc3RDaGlsZDtyZXR1cm4gZX1mdW5jdGlvbiBuVihlLHQpe3ZhciBuLHI9bkIoZSk7Zm9yKGU9MDtyOyl7aWYoMz09PXIubm9kZVR5cGUpe2lmKG49ZStyLnRleHRDb250ZW50Lmxlbmd0aCxlPD10JiZuPj10KXJldHVybntub2RlOnIsb2Zmc2V0OnQtZX07ZT1ufWU6e2Zvcig7cjspe2lmKHIubmV4dFNpYmxpbmcpe3I9ci5uZXh0U2libGluZzticmVhayBlfXI9ci5wYXJlbnROb2RlfXI9dm9pZCAwfXI9bkIocil9fWZ1bmN0aW9uIG5IKGUpe2U9bnVsbCE9ZSYmbnVsbCE9ZS5vd25lckRvY3VtZW50JiZudWxsIT1lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OndpbmRvdztmb3IodmFyIHQ9dGQoZS5kb2N1bWVudCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZn1jYXRjaChlKXtuPSExfWlmKG4pZT10LmNvbnRlbnRXaW5kb3c7ZWxzZSBicmVhazt0PXRkKGUuZG9jdW1lbnQpfXJldHVybiB0fWZ1bmN0aW9uIG4kKGUpe3ZhciB0PWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdCYmKCJpbnB1dCI9PT10JiYoInRleHQiPT09ZS50eXBlfHwic2VhcmNoIj09PWUudHlwZXx8InRlbCI9PT1lLnR5cGV8fCJ1cmwiPT09ZS50eXBlfHwicGFzc3dvcmQiPT09ZS50eXBlKXx8InRleHRhcmVhIj09PXR8fCJ0cnVlIj09PWUuY29udGVudEVkaXRhYmxlKX12YXIgblE9dEEmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsblc9bnVsbCxucT1udWxsLG5LPW51bGwsblg9ITE7ZnVuY3Rpb24gblkoZSx0LG4pe3ZhciByPW4ud2luZG93PT09bj9uLmRvY3VtZW50Ojk9PT1uLm5vZGVUeXBlP246bi5vd25lckRvY3VtZW50O25YfHxudWxsPT1uV3x8blchPT10ZChyKXx8KHI9InNlbGVjdGlvblN0YXJ0ImluKHI9blcpJiZuJChyKT97c3RhcnQ6ci5zZWxlY3Rpb25TdGFydCxlbmQ6ci5zZWxlY3Rpb25FbmR9OnthbmNob3JOb2RlOihyPShyLm93bmVyRG9jdW1lbnQmJnIub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24oKSkuYW5jaG9yTm9kZSxhbmNob3JPZmZzZXQ6ci5hbmNob3JPZmZzZXQsZm9jdXNOb2RlOnIuZm9jdXNOb2RlLGZvY3VzT2Zmc2V0OnIuZm9jdXNPZmZzZXR9LG5LJiZuVShuSyxyKXx8KG5LPXIsMDwocj1zNShucSwib25TZWxlY3QiKSkubGVuZ3RoJiYodD1uZXcgdDEoIm9uU2VsZWN0Iiwic2VsZWN0IixudWxsLHQsbiksZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpyfSksdC50YXJnZXQ9blcpKSl9ZnVuY3Rpb24gbkcoZSx0KXt2YXIgbj17fTtyZXR1cm4gbltlLnRvTG93ZXJDYXNlKCldPXQudG9Mb3dlckNhc2UoKSxuWyJXZWJraXQiK2VdPSJ3ZWJraXQiK3QsblsiTW96IitlXT0ibW96Iit0LG59dmFyIG5KPXthbmltYXRpb25lbmQ6bkcoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkVuZCIpLGFuaW1hdGlvbml0ZXJhdGlvbjpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uSXRlcmF0aW9uIiksYW5pbWF0aW9uc3RhcnQ6bkcoIkFuaW1hdGlvbiIsIkFuaW1hdGlvblN0YXJ0IiksdHJhbnNpdGlvbnJ1bjpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25SdW4iKSx0cmFuc2l0aW9uc3RhcnQ6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uU3RhcnQiKSx0cmFuc2l0aW9uY2FuY2VsOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkNhbmNlbCIpLHRyYW5zaXRpb25lbmQ6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uRW5kIil9LG5aPXt9LG4wPXt9O2Z1bmN0aW9uIG4xKGUpe2lmKG5aW2VdKXJldHVybiBuWltlXTtpZighbkpbZV0pcmV0dXJuIGU7dmFyIHQsbj1uSltlXTtmb3IodCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkodCkmJnQgaW4gbjApcmV0dXJuIG5aW2VdPW5bdF07cmV0dXJuIGV9dEEmJihuMD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIG5KLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIG5KLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIG5KLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSBuSi50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciBuMj1uMSgiYW5pbWF0aW9uZW5kIiksbjM9bjEoImFuaW1hdGlvbml0ZXJhdGlvbiIpLG40PW4xKCJhbmltYXRpb25zdGFydCIpLG42PW4xKCJ0cmFuc2l0aW9ucnVuIiksbjU9bjEoInRyYW5zaXRpb25zdGFydCIpLG44PW4xKCJ0cmFuc2l0aW9uY2FuY2VsIiksbjk9bjEoInRyYW5zaXRpb25lbmQiKSxuNz1uZXcgTWFwLHJlPSJhYm9ydCBhdXhDbGljayBiZWZvcmVUb2dnbGUgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZnVsbHNjcmVlbkNoYW5nZSBmdWxsc2NyZWVuRXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gcnQoZSx0KXtuNy5zZXQoZSx0KSxlOSh0LFtlXSl9cmUucHVzaCgic2Nyb2xsRW5kIik7dmFyIHJuPTA7ZnVuY3Rpb24gcnIoZSx0KXtyZXR1cm4gbnVsbCE9ZS5uYW1lJiYiYXV0byIhPT1lLm5hbWU/ZS5uYW1lOm51bGwhPT10LmF1dG9OYW1lP3QuYXV0b05hbWU6dC5hdXRvTmFtZT1lPSJfIisoZT11WC5pZGVudGlmaWVyUHJlZml4KSsidF8iKyhybisrKS50b1N0cmluZygzMikrIl8ifWZ1bmN0aW9uIHJsKGUpe2lmKG51bGw9PWV8fCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gZTt2YXIgdD1udWxsLG49dTM7aWYobnVsbCE9PW4pZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPWVbbltyXV07aWYobnVsbCE9bCl7aWYoIm5vbmUiPT09bClyZXR1cm4ibm9uZSI7dD1udWxsPT10P2w6dCsiICIrbH19cmV0dXJuIG51bGw9PXQ/ZS5kZWZhdWx0OnR9ZnVuY3Rpb24gcmEoZSx0KXtyZXR1cm4gZT1ybChlKSxudWxsPT0odD1ybCh0KSk/ImF1dG8iPT09ZT9udWxsOmU6ImF1dG8iPT09dD9udWxsOnR9dmFyIHJvPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBsLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCBsLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9LHJpPVtdLHJ1PTAscnM9MDtmdW5jdGlvbiByYygpe2Zvcih2YXIgZT1ydSx0PXJzPXJ1PTA7dDxlOyl7dmFyIG49cmlbdF07cmlbdCsrXT1udWxsO3ZhciByPXJpW3RdO3JpW3QrK109bnVsbDt2YXIgbD1yaVt0XTtyaVt0KytdPW51bGw7dmFyIGE9cmlbdF07aWYocmlbdCsrXT1udWxsLG51bGwhPT1yJiZudWxsIT09bCl7dmFyIG89ci5wZW5kaW5nO251bGw9PT1vP2wubmV4dD1sOihsLm5leHQ9by5uZXh0LG8ubmV4dD1sKSxyLnBlbmRpbmc9bH0wIT09YSYmcm0obixsLGEpfX1mdW5jdGlvbiByZihlLHQsbixyKXtyaVtydSsrXT1lLHJpW3J1KytdPXQscmlbcnUrK109bixyaVtydSsrXT1yLHJzfD1yLGUubGFuZXN8PXIsbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKGUubGFuZXN8PXIpfWZ1bmN0aW9uIHJkKGUsdCxuLHIpe3JldHVybiByZihlLHQsbixyKSxyaChlKX1mdW5jdGlvbiBycChlLHQpe3JldHVybiByZihlLG51bGwsbnVsbCx0KSxyaChlKX1mdW5jdGlvbiBybShlLHQsbil7ZS5sYW5lc3w9bjt2YXIgcj1lLmFsdGVybmF0ZTtudWxsIT09ciYmKHIubGFuZXN8PW4pO2Zvcih2YXIgbD0hMSxhPWUucmV0dXJuO251bGwhPT1hOylhLmNoaWxkTGFuZXN8PW4sbnVsbCE9PShyPWEuYWx0ZXJuYXRlKSYmKHIuY2hpbGRMYW5lc3w9biksMjI9PT1hLnRhZyYmKG51bGw9PT0oZT1hLnN0YXRlTm9kZSl8fDEmZS5fdmlzaWJpbGl0eXx8KGw9ITApKSxlPWEsYT1hLnJldHVybjtyZXR1cm4gMz09PWUudGFnPyhhPWUuc3RhdGVOb2RlLGwmJm51bGwhPT10JiYobD0zMS1lUChuKSxudWxsPT09KHI9KGU9YS5oaWRkZW5VcGRhdGVzKVtsXSk/ZVtsXT1bdF06ci5wdXNoKHQpLHQubGFuZT0weDIwMDAwMDAwfG4pLGEpOm51bGx9ZnVuY3Rpb24gcmgoZSl7aWYoNTA8dTQpdGhyb3cgdTQ9MCx1Nj1udWxsLEVycm9yKHUoMTg1KSk7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl0PShlPXQpLnJldHVybjtyZXR1cm4gMz09PWUudGFnP2Uuc3RhdGVOb2RlOm51bGx9dmFyIHJnPXt9O2Z1bmN0aW9uIHJ2KGUsdCxuLHIpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZkNsZWFudXA9dGhpcy5yZWY9bnVsbCx0aGlzLnBlbmRpbmdQcm9wcz10LHRoaXMuZGVwZW5kZW5jaWVzPXRoaXMubWVtb2l6ZWRTdGF0ZT10aGlzLnVwZGF0ZVF1ZXVlPXRoaXMubWVtb2l6ZWRQcm9wcz1udWxsLHRoaXMubW9kZT1yLHRoaXMuc3VidHJlZUZsYWdzPXRoaXMuZmxhZ3M9MCx0aGlzLmRlbGV0aW9ucz1udWxsLHRoaXMuY2hpbGRMYW5lcz10aGlzLmxhbmVzPTAsdGhpcy5hbHRlcm5hdGU9bnVsbH1mdW5jdGlvbiByeShlLHQsbixyKXtyZXR1cm4gbmV3IHJ2KGUsdCxuLHIpfWZ1bmN0aW9uIHJiKGUpe3JldHVybiEoIShlPWUucHJvdG90eXBlKXx8IWUuaXNSZWFjdENvbXBvbmVudCl9ZnVuY3Rpb24gcncoZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PW4/KChuPXJ5KGUudGFnLHQsZS5rZXksZS5tb2RlKSkuZWxlbWVudFR5cGU9ZS5lbGVtZW50VHlwZSxuLnR5cGU9ZS50eXBlLG4uc3RhdGVOb2RlPWUuc3RhdGVOb2RlLG4uYWx0ZXJuYXRlPWUsZS5hbHRlcm5hdGU9bik6KG4ucGVuZGluZ1Byb3BzPXQsbi50eXBlPWUudHlwZSxuLmZsYWdzPTAsbi5zdWJ0cmVlRmxhZ3M9MCxuLmRlbGV0aW9ucz1udWxsKSxuLmZsYWdzPTB4N2YwMDAwMCZlLmZsYWdzLG4uY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsbi5sYW5lcz1lLmxhbmVzLG4uY2hpbGQ9ZS5jaGlsZCxuLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLG4ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsbi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQ9ZS5kZXBlbmRlbmNpZXMsbi5kZXBlbmRlbmNpZXM9bnVsbD09PXQ/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LG4uc2libGluZz1lLnNpYmxpbmcsbi5pbmRleD1lLmluZGV4LG4ucmVmPWUucmVmLG4ucmVmQ2xlYW51cD1lLnJlZkNsZWFudXAsbn1mdW5jdGlvbiByUyhlLHQpe2UuZmxhZ3MmPTB4N2YwMDAwMjt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gbnVsbD09PW4/KGUuY2hpbGRMYW5lcz0wLGUubGFuZXM9dCxlLmNoaWxkPW51bGwsZS5zdWJ0cmVlRmxhZ3M9MCxlLm1lbW9pemVkUHJvcHM9bnVsbCxlLm1lbW9pemVkU3RhdGU9bnVsbCxlLnVwZGF0ZVF1ZXVlPW51bGwsZS5kZXBlbmRlbmNpZXM9bnVsbCxlLnN0YXRlTm9kZT1udWxsKTooZS5jaGlsZExhbmVzPW4uY2hpbGRMYW5lcyxlLmxhbmVzPW4ubGFuZXMsZS5jaGlsZD1uLmNoaWxkLGUuc3VidHJlZUZsYWdzPTAsZS5kZWxldGlvbnM9bnVsbCxlLm1lbW9pemVkUHJvcHM9bi5tZW1vaXplZFByb3BzLGUubWVtb2l6ZWRTdGF0ZT1uLm1lbW9pemVkU3RhdGUsZS51cGRhdGVRdWV1ZT1uLnVwZGF0ZVF1ZXVlLGUudHlwZT1uLnR5cGUsZS5kZXBlbmRlbmNpZXM9bnVsbD09PSh0PW4uZGVwZW5kZW5jaWVzKT9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0pLGV9ZnVuY3Rpb24gcmsoZSx0LG4scixsLGEpe3ZhciBvPTA7aWYocj1lLCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJiKGUpJiYobz0xKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSlvPSFmdW5jdGlvbihlLHQsbil7aWYoMT09PW58fG51bGwhPXQuaXRlbVByb3ApcmV0dXJuITE7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuITA7Y2FzZSJzdHlsZSI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnByZWNlZGVuY2V8fCJzdHJpbmciIT10eXBlb2YgdC5ocmVmfHwiIj09PXQuaHJlZilicmVhaztyZXR1cm4hMDtjYXNlImxpbmsiOmlmKCJzdHJpbmciIT10eXBlb2YgdC5yZWx8fCJzdHJpbmciIT10eXBlb2YgdC5ocmVmfHwiIj09PXQuaHJlZnx8dC5vbkxvYWR8fHQub25FcnJvcilicmVhaztpZigic3R5bGVzaGVldCI9PT10LnJlbClyZXR1cm4gZT10LmRpc2FibGVkLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlJiZudWxsPT1lO3JldHVybiEwO2Nhc2Uic2NyaXB0IjppZih0LmFzeW5jJiYiZnVuY3Rpb24iIT10eXBlb2YgdC5hc3luYyYmInN5bWJvbCIhPXR5cGVvZiB0LmFzeW5jJiYhdC5vbkxvYWQmJiF0Lm9uRXJyb3ImJnQuc3JjJiYic3RyaW5nIj09dHlwZW9mIHQuc3JjKXJldHVybiEwfXJldHVybiExfShlLG4sZWUuY3VycmVudCk/Imh0bWwiPT09ZXx8ImhlYWQiPT09ZXx8ImJvZHkiPT09ZT8yNzo1OjI2O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBBOnJldHVybihlPXJ5KDMxLG4sdCxsKSkuZWxlbWVudFR5cGU9QSxlLmxhbmVzPWEsZTtjYXNlIEM6cmV0dXJuIHJFKG4uY2hpbGRyZW4sbCxhLHQpO2Nhc2UgVDpvPTgsbHw9MjQ7YnJlYWs7Y2FzZSBPOnJldHVybihlPXJ5KDEyLG4sdCwyfGwpKS5lbGVtZW50VHlwZT1PLGUubGFuZXM9YSxlO2Nhc2UgTTpyZXR1cm4oZT1yeSgxMyxuLHQsbCkpLmVsZW1lbnRUeXBlPU0sZS5sYW5lcz1hLGU7Y2FzZSBJOnJldHVybihlPXJ5KDE5LG4sdCxsKSkuZWxlbWVudFR5cGU9SSxlLmxhbmVzPWEsZTtjYXNlIGo6Y2FzZSBCOnJldHVybihlPXJ5KDMwLG4sdCxlPTMyfGwpKS5lbGVtZW50VHlwZT1CLGUubGFuZXM9YSxlLnN0YXRlTm9kZT17YXV0b05hbWU6bnVsbCxwYWlyZWQ6bnVsbCxjbG9uZXM6bnVsbCxyZWY6bnVsbH0sZTtkZWZhdWx0OmlmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgTDpvPTEwO2JyZWFrIGU7Y2FzZSB6Om89OTticmVhayBlO2Nhc2UgUjpvPTExO2JyZWFrIGU7Y2FzZSBEOm89MTQ7YnJlYWsgZTtjYXNlIEY6bz0xNixyPW51bGw7YnJlYWsgZX1vPTI5LG49RXJyb3IodSgxMzAsbnVsbD09PWU/Im51bGwiOnR5cGVvZiBlLCIiKSkscj1udWxsfXJldHVybih0PXJ5KG8sbix0LGwpKS5lbGVtZW50VHlwZT1lLHQudHlwZT1yLHQubGFuZXM9YSx0fWZ1bmN0aW9uIHJFKGUsdCxuLHIpe3JldHVybihlPXJ5KDcsZSxyLHQpKS5sYW5lcz1uLGV9ZnVuY3Rpb24gcl8oZSx0LG4pe3JldHVybihlPXJ5KDYsZSxudWxsLHQpKS5sYW5lcz1uLGV9ZnVuY3Rpb24gcngoZSl7dmFyIHQ9cnkoMTgsbnVsbCxudWxsLDApO3JldHVybiB0LnN0YXRlTm9kZT1lLHR9ZnVuY3Rpb24gclAoZSx0LG4pe3JldHVybih0PXJ5KDQsbnVsbCE9PWUuY2hpbGRyZW4/ZS5jaGlsZHJlbjpbXSxlLmtleSx0KSkubGFuZXM9bix0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzplLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246ZS5pbXBsZW1lbnRhdGlvbn0sdH12YXIgck49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gckMoZSx0KXtpZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXt2YXIgbj1yTi5nZXQoZSk7cmV0dXJuIHZvaWQgMCE9PW4/bjoodD17dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX0sck4uc2V0KGUsdCksdCl9cmV0dXJue3ZhbHVlOmUsc291cmNlOnQsc3RhY2s6ZWYodCl9fXZhciByVD1bXSxyTz0wLHJ6PW51bGwsckw9MCxyUj1bXSxyTT0wLHJJPW51bGwsckQ9MSxyRj0iIjtmdW5jdGlvbiByQShlLHQpe3JUW3JPKytdPXJMLHJUW3JPKytdPXJ6LHJ6PWUsckw9dH1mdW5jdGlvbiByaihlLHQsbil7clJbck0rK109ckQsclJbck0rK109ckYsclJbck0rK109ckksckk9ZTt2YXIgcj1yRDtlPXJGO3ZhciBsPTMyLWVQKHIpLTE7ciY9figxPDxsKSxuKz0xO3ZhciBhPTMyLWVQKHQpK2w7aWYoMzA8YSl7dmFyIG89bC1sJTU7YT0ociYoMTw8byktMSkudG9TdHJpbmcoMzIpLHI+Pj1vLGwtPW8sckQ9MTw8MzItZVAodCkrbHxuPDxsfHIsckY9YStlfWVsc2UgckQ9MTw8YXxuPDxsfHIsckY9ZX1mdW5jdGlvbiByVShlKXtudWxsIT09ZS5yZXR1cm4mJihyQShlLDEpLHJqKGUsMSwwKSl9ZnVuY3Rpb24gckIoZSl7Zm9yKDtlPT09cno7KXJ6PXJUWy0tck9dLHJUW3JPXT1udWxsLHJMPXJUWy0tck9dLHJUW3JPXT1udWxsO2Zvcig7ZT09PXJJOylyST1yUlstLXJNXSxyUltyTV09bnVsbCxyRj1yUlstLXJNXSxyUltyTV09bnVsbCxyRD1yUlstLXJNXSxyUltyTV09bnVsbH1mdW5jdGlvbiByVihlLHQpe3JSW3JNKytdPXJELHJSW3JNKytdPXJGLHJSW3JNKytdPXJJLHJEPXQuaWQsckY9dC5vdmVyZmxvdyxyST1lfXZhciBySD1udWxsLHIkPW51bGwsclE9ITEsclc9bnVsbCxycT0hMSxySz1FcnJvcih1KDUxOSkpO2Z1bmN0aW9uIHJYKGUpe3ZhciB0PUVycm9yKHUoNDE4LDE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0/InRleHQiOiJIVE1MIiwiIikpO3Rocm93IHIxKHJDKHQsZSkpLHJLfWZ1bmN0aW9uIHJZKGUpe3ZhciB0PWUuc3RhdGVOb2RlLG49ZS50eXBlLHI9ZS5tZW1vaXplZFByb3BzO3N3aXRjaCh0W2VXXT1lLHRbZXFdPXIsbil7Y2FzZSJkaWFsb2ciOnNaKCJjYW5jZWwiLHQpLHNaKCJjbG9zZSIsdCk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpzWigibG9hZCIsdCk7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKG49MDtuPHNZLmxlbmd0aDtuKyspc1ooc1lbbl0sdCk7YnJlYWs7Y2FzZSJzb3VyY2UiOnNaKCJlcnJvciIsdCk7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6c1ooImVycm9yIix0KSxzWigibG9hZCIsdCk7YnJlYWs7Y2FzZSJkZXRhaWxzIjpzWigidG9nZ2xlIix0KTticmVhaztjYXNlImlucHV0IjpzWigiaW52YWxpZCIsdCksdGcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hlY2tlZCxyLmRlZmF1bHRDaGVja2VkLHIudHlwZSxyLm5hbWUsITApO2JyZWFrO2Nhc2Uic2VsZWN0IjpzWigiaW52YWxpZCIsdCk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6c1ooImludmFsaWQiLHQpLHR3KHQsci52YWx1ZSxyLmRlZmF1bHRWYWx1ZSxyLmNoaWxkcmVuKX0ic3RyaW5nIiE9dHlwZW9mKG49ci5jaGlsZHJlbikmJiJudW1iZXIiIT10eXBlb2YgbiYmImJpZ2ludCIhPXR5cGVvZiBufHx0LnRleHRDb250ZW50PT09IiIrbnx8ITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y24odC50ZXh0Q29udGVudCxuKT8obnVsbCE9ci5wb3BvdmVyJiYoc1ooImJlZm9yZXRvZ2dsZSIsdCksc1ooInRvZ2dsZSIsdCkpLG51bGwhPXIub25TY3JvbGwmJnNaKCJzY3JvbGwiLHQpLG51bGwhPXIub25TY3JvbGxFbmQmJnNaKCJzY3JvbGxlbmQiLHQpLG51bGwhPXIub25DbGljayYmKHQub25jbGljaz10VCksdD0hMCk6dD0hMSx0fHxyWChlLCEwKX1mdW5jdGlvbiByRyhlKXtmb3Iockg9ZS5yZXR1cm47ckg7KXN3aXRjaChySC50YWcpe2Nhc2UgNTpjYXNlIDMxOmNhc2UgMTM6cnE9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOnJxPSEwO3JldHVybjtkZWZhdWx0OnJIPXJILnJldHVybn19ZnVuY3Rpb24gckooZSl7aWYoZSE9PXJIKXJldHVybiExO2lmKCFyUSlyZXR1cm4gckcoZSksclE9ITAsITE7dmFyIHQsbj1lLnRhZztpZigodD0zIT09biYmMjchPT1uKSYmKCh0PTU9PT1uKSYmKHQ9ImZvcm0iPT09KHQ9ZS50eXBlKXx8ImJ1dHRvbiI9PT10fHxjZChlLnR5cGUsZS5tZW1vaXplZFByb3BzKSksdD0hdCksdCYmciQmJnJYKGUpLHJHKGUpLDEzPT09bil7aWYoIShlPW51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpP2UuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO3IkPWNZKGUpfWVsc2UgaWYoMzE9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ciQ9Y1koZSl9ZWxzZSAyNz09PW4/KG49ciQsY2IoZS50eXBlKT8oZT1jWCxjWD1udWxsLHIkPWUpOnIkPW4pOnIkPXJIP2NLKGUuc3RhdGVOb2RlLm5leHRTaWJsaW5nKTpudWxsO3JldHVybiEwfWZ1bmN0aW9uIHJaKCl7ciQ9ckg9bnVsbCxyUT0hMX1mdW5jdGlvbiByMCgpe3ZhciBlPXJXO3JldHVybiBudWxsIT09ZSYmKG51bGw9PT11Qj91Qj1lOnVCLnB1c2guYXBwbHkodUIsZSksclc9bnVsbCksZX1mdW5jdGlvbiByMShlKXtudWxsPT09clc/clc9W2VdOnJXLnB1c2goZSl9dmFyIHIyPUcobnVsbCkscjM9bnVsbCxyND1udWxsO2Z1bmN0aW9uIHI2KGUsdCxuKXtaKHIyLHQuX2N1cnJlbnRWYWx1ZSksdC5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24gcjUoZSl7ZS5fY3VycmVudFZhbHVlPXIyLmN1cnJlbnQsSihyMil9ZnVuY3Rpb24gcjgoZSx0LG4pe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJnQpIT09dD8oZS5jaGlsZExhbmVzfD10LG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD10KSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmdCkhPT10JiYoci5jaGlsZExhbmVzfD10KSxlPT09bilicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiByOShlLHQsbixyKXt2YXIgbD1lLmNoaWxkO2ZvcihudWxsIT09bCYmKGwucmV0dXJuPWUpO251bGwhPT1sOyl7dmFyIGE9bC5kZXBlbmRlbmNpZXM7aWYobnVsbCE9PWEpe3ZhciBvPWwuY2hpbGQ7YT1hLmZpcnN0Q29udGV4dDtlOmZvcig7bnVsbCE9PWE7KXt2YXIgaT1hO2E9bDtmb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKylpZihpLmNvbnRleHQ9PT10W3NdKXthLmxhbmVzfD1uLG51bGwhPT0oaT1hLmFsdGVybmF0ZSkmJihpLmxhbmVzfD1uKSxyOChhLnJldHVybixuLGUpLHJ8fChvPW51bGwpO2JyZWFrIGV9YT1pLm5leHR9fWVsc2UgaWYoMTg9PT1sLnRhZyl7aWYobnVsbD09PShvPWwucmV0dXJuKSl0aHJvdyBFcnJvcih1KDM0MSkpO28ubGFuZXN8PW4sbnVsbCE9PShhPW8uYWx0ZXJuYXRlKSYmKGEubGFuZXN8PW4pLHI4KG8sbixlKSxvPW51bGx9ZWxzZSAxMz09PWwudGFnJiZudWxsIT09bC5tZW1vaXplZFN0YXRlJiZudWxsPT09bC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQ/KGwubGFuZXN8PW4sbnVsbCE9PShvPWwuYWx0ZXJuYXRlKSYmKG8ubGFuZXN8PW4pLHI4KGwucmV0dXJuLG4sZSksbz1yP2wuY2hpbGQ6bnVsbCk6bz1sLmNoaWxkO2lmKG51bGwhPT1vKW8ucmV0dXJuPWw7ZWxzZSBmb3Iobz1sO251bGwhPT1vOyl7aWYobz09PWUpe289bnVsbDticmVha31pZihudWxsIT09KGw9by5zaWJsaW5nKSl7bC5yZXR1cm49by5yZXR1cm4sbz1sO2JyZWFrfW89by5yZXR1cm59bD1vfX1mdW5jdGlvbiByNyhlLHQsbixyKXtlPW51bGw7Zm9yKHZhciBsPXQsYT0hMTtudWxsIT09bDspe2lmKCFhKXtpZigwIT0oNTI0Mjg4JmwuZmxhZ3MpKWE9ITA7ZWxzZSBpZigwIT0oMjYyMTQ0JmwuZmxhZ3MpKWJyZWFrfWlmKDEwPT09bC50YWcpe3ZhciBvPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1vKXRocm93IEVycm9yKHUoMzg3KSk7aWYobnVsbCE9PShvPW8ubWVtb2l6ZWRQcm9wcykpe3ZhciBpPWwudHlwZTtuaihsLnBlbmRpbmdQcm9wcy52YWx1ZSxvLnZhbHVlKXx8KG51bGwhPT1lP2UucHVzaChpKTplPVtpXSl9fWVsc2UgaWYobD09PWVyLmN1cnJlbnQpe2lmKG51bGw9PT0obz1sLmFsdGVybmF0ZSkpdGhyb3cgRXJyb3IodSgzODcpKTtvLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PWwubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYobnVsbCE9PWU/ZS5wdXNoKGZ3KTplPVtmd10pfWw9bC5yZXR1cm59cmV0dXJuIG51bGwhPT1lJiZyOSh0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDQsbnVsbCE9PWV9ZnVuY3Rpb24gbGUoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbmooZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsdChlKXtyMz1lLHI0PW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGxuKGUpe3JldHVybiBsbChyMyxlKX1mdW5jdGlvbiBscihlLHQpe3JldHVybiBudWxsPT09cjMmJmx0KGUpLGxsKGUsdCl9ZnVuY3Rpb24gbGwoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yNCl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyND10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByND1yNC5uZXh0PXQ7cmV0dXJuIG59dmFyIGxhPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxvPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsaT1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGx1PXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHMoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGEsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxjKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbG8obGksZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxmKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZD1udWxsLGxwPW51bGwsbG09MCxsaD0wLGxnPW51bGw7ZnVuY3Rpb24gbHYoKXtpZigwPT0tLWxtJiYobGQ9bnVsbCxudWxsIT09bHApKXtudWxsIT09bGcmJihsZy5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxwO2xwPW51bGwsbGg9MCxsZz1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBseT1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodSQ9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlKXtpZihudWxsPT09bHApe3ZhciB0PWxwPVtdO2xtPTAsbGg9c1coKSxsZz17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTp2b2lkIDAsdGhlbjpmdW5jdGlvbihlKXt0LnB1c2goZSl9fX1sbSsrLGUudGhlbihsdixsdil9KHQpLG51bGwhPT1sZClmb3IodmFyIG49c1I7bnVsbCE9PW47KWxmKG4sbGQpLG49bi5uZXh0O2lmKG51bGwhPT0obj1lLnR5cGVzKSl7Zm9yKHZhciByPXNSO251bGwhPT1yOylsZihyLG4pLHI9ci5uZXh0O2lmKDAhPT1saCl7bnVsbD09PShyPWxkKSYmKHI9bGQ9W10pO2Zvcih2YXIgbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdOy0xPT09ci5pbmRleE9mKGEpJiZyLnB1c2goYSl9fX1udWxsIT09bHkmJmx5KGUsdCl9O3ZhciBsYj1HKG51bGwpO2Z1bmN0aW9uIGx3KCl7dmFyIGU9bGIuY3VycmVudDtyZXR1cm4gbnVsbCE9PWU/ZTp1eC5wb29sZWRDYWNoZX1mdW5jdGlvbiBsUyhlLHQpe251bGw9PT10P1oobGIsbGIuY3VycmVudCk6WihsYix0LnBvb2wpfWZ1bmN0aW9uIGxrKCl7dmFyIGU9bHcoKTtyZXR1cm4gbnVsbD09PWU/bnVsbDp7cGFyZW50Omx1Ll9jdXJyZW50VmFsdWUscG9vbDplfX12YXIgbEU9RXJyb3IodSg0NjApKSxsXz1FcnJvcih1KDQ3NCkpLGx4PUVycm9yKHUoNTQyKSksbFA9e3RoZW46ZnVuY3Rpb24oKXt9fTtmdW5jdGlvbiBsTihlKXtyZXR1cm4iZnVsZmlsbGVkIj09PShlPWUuc3RhdHVzKXx8InJlamVjdGVkIj09PWV9ZnVuY3Rpb24gbEMoZSx0LG4pe3N3aXRjaCh2b2lkIDA9PT0obj1lW25dKT9lLnB1c2godCk6biE9PXQmJih0LnRoZW4odFQsdFQpLHQ9biksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBsTChlPXQucmVhc29uKSxlO2RlZmF1bHQ6aWYoInN0cmluZyI9PXR5cGVvZiB0LnN0YXR1cyl0LnRoZW4odFQsdFQpO2Vsc2V7aWYobnVsbCE9PShlPXV4KSYmMTAwPGUuc2hlbGxTdXNwZW5kQ291bnRlcil0aHJvdyBFcnJvcih1KDQ4MikpOyhlPXQpLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKGUpe2lmKCJwZW5kaW5nIj09PXQuc3RhdHVzKXt2YXIgbj10O24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX19LGZ1bmN0aW9uKGUpe2lmKCJwZW5kaW5nIj09PXQuc3RhdHVzKXt2YXIgbj10O24uc3RhdHVzPSJyZWplY3RlZCIsbi5yZWFzb249ZX19KX1zd2l0Y2godC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBsTChlPXQucmVhc29uKSxlfXRocm93IGxPPXQsbEV9fWZ1bmN0aW9uIGxUKGUpe3RyeXtyZXR1cm4oMCxlLl9pbml0KShlLl9wYXlsb2FkKX1jYXRjaChlKXtpZihudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXRocm93IGxPPWUsbEU7dGhyb3cgZX19dmFyIGxPPW51bGw7ZnVuY3Rpb24gbHooKXtpZihudWxsPT09bE8pdGhyb3cgRXJyb3IodSg0NTkpKTt2YXIgZT1sTztyZXR1cm4gbE89bnVsbCxlfWZ1bmN0aW9uIGxMKGUpe2lmKGU9PT1sRXx8ZT09PWx4KXRocm93IEVycm9yKHUoNDgzKSl9dmFyIGxSPW51bGwsbE09MDtmdW5jdGlvbiBsSShlKXt2YXIgdD1sTTtyZXR1cm4gbE0rPTEsbnVsbD09PWxSJiYobFI9W10pLGxDKGxSLGUsdCl9ZnVuY3Rpb24gbEQoZSx0KXtlLnJlZj12b2lkIDAhPT0odD10LnByb3BzLnJlZik/dDpudWxsfWZ1bmN0aW9uIGxGKGUsdCl7aWYodC4kJHR5cGVvZj09PXgpdGhyb3cgRXJyb3IodSg1MjUpKTt0aHJvdyBFcnJvcih1KDMxLCJbb2JqZWN0IE9iamVjdF0iPT09KGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gbEEoZSl7ZnVuY3Rpb24gdCh0LG4pe2lmKGUpe3ZhciByPXQuZGVsZXRpb25zO251bGw9PT1yPyh0LmRlbGV0aW9ucz1bbl0sdC5mbGFnc3w9MTYpOnIucHVzaChuKX19ZnVuY3Rpb24gbihuLHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KXQobixyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUpe2Zvcih2YXIgdD1uZXcgTWFwO251bGwhPT1lOyludWxsPT09ZS5rZXk/dC5zZXQoZS5pbmRleCxlKTp0LnNldChlLmtleSxlKSxlPWUuc2libGluZztyZXR1cm4gdH1mdW5jdGlvbiBsKGUsdCl7cmV0dXJuKGU9cncoZSx0KSkuaW5kZXg9MCxlLnNpYmxpbmc9bnVsbCxlfWZ1bmN0aW9uIGEodCxuLHIpe3JldHVybih0LmluZGV4PXIsZSk/bnVsbCE9PShyPXQuYWx0ZXJuYXRlKT8ocj1yLmluZGV4KTxuPyh0LmZsYWdzfD0weDgwMDAwMDIsbik6cjoodC5mbGFnc3w9MHg4MDAwMDAyLG4pOih0LmZsYWdzfD0xMDQ4NTc2LG4pfWZ1bmN0aW9uIG8odCl7cmV0dXJuIGUmJm51bGw9PT10LmFsdGVybmF0ZSYmKHQuZmxhZ3N8PTB4ODAwMDAwMiksdH1mdW5jdGlvbiBpKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NiE9PXQudGFnPyh0PXJfKG4sZS5tb2RlLHIpKS5yZXR1cm49ZToodD1sKHQsbikpLnJldHVybj1lLHR9ZnVuY3Rpb24gcyhlLHQsbixyKXt2YXIgYT1uLnR5cGU7cmV0dXJuIGE9PT1DPyhsRChlPWYoZSx0LG4ucHJvcHMuY2hpbGRyZW4scixuLmtleSksbiksZSk6KG51bGwhPT10JiYodC5lbGVtZW50VHlwZT09PWF8fCJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWEmJmEuJCR0eXBlb2Y9PT1GJiZsVChhKT09PXQudHlwZSk/bEQodD1sKHQsbi5wcm9wcyksbik6bEQodD1yayhuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSxyKSxuKSx0LnJldHVybj1lLHQpfWZ1bmN0aW9uIGMoZSx0LG4scil7cmV0dXJuIG51bGw9PT10fHw0IT09dC50YWd8fHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT1uLmNvbnRhaW5lckluZm98fHQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09bi5pbXBsZW1lbnRhdGlvbj8odD1yUChuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4uY2hpbGRyZW58fFtdKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBmKGUsdCxuLHIsYSl7cmV0dXJuIG51bGw9PT10fHw3IT09dC50YWc/KHQ9ckUobixlLm1vZGUscixhKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIGQoZSx0LG4pe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmIiIhPT10fHwibnVtYmVyIj09dHlwZW9mIHR8fCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4odD1yXygiIit0LGUubW9kZSxuKSkucmV0dXJuPWUsdDtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBsRChuPXJrKHQudHlwZSx0LmtleSx0LnByb3BzLG51bGwsZS5tb2RlLG4pLHQpLG4ucmV0dXJuPWUsbjtjYXNlIE46cmV0dXJuKHQ9clAodCxlLm1vZGUsbikpLnJldHVybj1lLHQ7Y2FzZSBGOnJldHVybiBkKGUsdD1sVCh0KSxuKX1pZihRKHQpfHxIKHQpKXJldHVybih0PXJFKHQsZS5tb2RlLG4sbnVsbCkpLnJldHVybj1lLHQ7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZChlLGxJKHQpLG4pO2lmKHQuJCR0eXBlb2Y9PT1MKXJldHVybiBkKGUsbHIoZSx0KSxuKTtsRihlLHQpfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSx0LG4scil7dmFyIGw9bnVsbCE9PXQ/dC5rZXk6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIG4mJiIiIT09bnx8Im51bWJlciI9PXR5cGVvZiBufHwiYmlnaW50Ij09dHlwZW9mIG4pcmV0dXJuIG51bGwhPT1sP251bGw6aShlLHQsIiIrbixyKTtpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtzd2l0Y2gobi4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBuLmtleT09PWw/cyhlLHQsbixyKTpudWxsO2Nhc2UgTjpyZXR1cm4gbi5rZXk9PT1sP2MoZSx0LG4scik6bnVsbDtjYXNlIEY6cmV0dXJuIHAoZSx0LG49bFQobikscil9aWYoUShuKXx8SChuKSlyZXR1cm4gbnVsbCE9PWw/bnVsbDpmKGUsdCxuLHIsbnVsbCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4udGhlbilyZXR1cm4gcChlLHQsbEkobikscik7aWYobi4kJHR5cGVvZj09PUwpcmV0dXJuIHAoZSx0LGxyKGUsbikscik7bEYoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBtKGUsdCxuLHIsbCl7aWYoInN0cmluZyI9PXR5cGVvZiByJiYiIiE9PXJ8fCJudW1iZXIiPT10eXBlb2Ygcnx8ImJpZ2ludCI9PXR5cGVvZiByKXJldHVybiBpKHQsZT1lLmdldChuKXx8bnVsbCwiIityLGwpO2lmKCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXIpe3N3aXRjaChyLiQkdHlwZW9mKXtjYXNlIFA6cmV0dXJuIHModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgTjpyZXR1cm4gYyh0LGU9ZS5nZXQobnVsbD09PXIua2V5P246ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBGOnJldHVybiBtKGUsdCxuLHI9bFQociksbCl9aWYoUShyKXx8SChyKSlyZXR1cm4gZih0LGU9ZS5nZXQobil8fG51bGwscixsLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4pcmV0dXJuIG0oZSx0LG4sbEkociksbCk7aWYoci4kJHR5cGVvZj09PUwpcmV0dXJuIG0oZSx0LG4sbHIodCxyKSxsKTtsRih0LHIpfXJldHVybiBudWxsfXJldHVybiBmdW5jdGlvbihpLHMsYyxmKXt0cnl7bE09MDt2YXIgaD1mdW5jdGlvbiBpKHMsYyxmLGgpe2lmKCJvYmplY3QiPT10eXBlb2YgZiYmbnVsbCE9PWYmJmYudHlwZT09PUMmJm51bGw9PT1mLmtleSYmdm9pZCAwPT09Zi5wcm9wcy5yZWYmJihmPWYucHJvcHMuY2hpbGRyZW4pLCJvYmplY3QiPT10eXBlb2YgZiYmbnVsbCE9PWYpe3N3aXRjaChmLiQkdHlwZW9mKXtjYXNlIFA6ZTp7Zm9yKHZhciBnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKXtpZigoZz1mLnR5cGUpPT09Qyl7aWYoNz09PWMudGFnKXtuKHMsYy5zaWJsaW5nKSxsRChoPWwoYyxmLnByb3BzLmNoaWxkcmVuKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfX1lbHNlIGlmKGMuZWxlbWVudFR5cGU9PT1nfHwib2JqZWN0Ij09dHlwZW9mIGcmJm51bGwhPT1nJiZnLiQkdHlwZW9mPT09RiYmbFQoZyk9PT1jLnR5cGUpe24ocyxjLnNpYmxpbmcpLGxEKGg9bChjLGYucHJvcHMpLGYpLGgucmV0dXJuPXMscz1oO2JyZWFrIGV9bihzLGMpO2JyZWFrfXQocyxjKSxjPWMuc2libGluZ31mLnR5cGU9PT1DP2xEKGg9ckUoZi5wcm9wcy5jaGlsZHJlbixzLm1vZGUsaCxmLmtleSksZik6bEQoaD1yayhmLnR5cGUsZi5rZXksZi5wcm9wcyxudWxsLHMubW9kZSxoKSxmKSxoLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIE46ZTp7Zm9yKGc9Zi5rZXk7bnVsbCE9PWM7KXtpZihjLmtleT09PWcpaWYoND09PWMudGFnJiZjLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09Zi5jb250YWluZXJJbmZvJiZjLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PWYuaW1wbGVtZW50YXRpb24pe24ocyxjLnNpYmxpbmcpLChoPWwoYyxmLmNoaWxkcmVufHxbXSkpLnJldHVybj1zLHM9aDticmVhayBlfWVsc2V7bihzLGMpO2JyZWFrfXQocyxjKSxjPWMuc2libGluZ30oaD1yUChmLHMubW9kZSxoKSkucmV0dXJuPXMscz1ofXJldHVybiBvKHMpO2Nhc2UgRjpyZXR1cm4gaShzLGMsZj1sVChmKSxoKX1pZihRKGYpKXJldHVybiBmdW5jdGlvbihsLG8saSx1KXtmb3IodmFyIHM9bnVsbCxjPW51bGwsZj1vLGg9bz0wLGc9bnVsbDtudWxsIT09ZiYmaDxpLmxlbmd0aDtoKyspe2YuaW5kZXg+aD8oZz1mLGY9bnVsbCk6Zz1mLnNpYmxpbmc7dmFyIHY9cChsLGYsaVtoXSx1KTtpZihudWxsPT09dil7bnVsbD09PWYmJihmPWcpO2JyZWFrfWUmJmYmJm51bGw9PT12LmFsdGVybmF0ZSYmdChsLGYpLG89YSh2LG8saCksbnVsbD09PWM/cz12OmMuc2libGluZz12LGM9dixmPWd9aWYoaD09PWkubGVuZ3RoKXJldHVybiBuKGwsZiksclEmJnJBKGwsaCkscztpZihudWxsPT09Zil7Zm9yKDtoPGkubGVuZ3RoO2grKyludWxsIT09KGY9ZChsLGlbaF0sdSkpJiYobz1hKGYsbyxoKSxudWxsPT09Yz9zPWY6Yy5zaWJsaW5nPWYsYz1mKTtyZXR1cm4gclEmJnJBKGwsaCksc31mb3IoZj1yKGYpO2g8aS5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLGlbaF0sdSkpJiYoZSYmbnVsbCE9PSh2PWcuYWx0ZXJuYXRlKSYmZi5kZWxldGUobnVsbD09PXYua2V5P2g6di5rZXkpLG89YShnLG8saCksbnVsbD09PWM/cz1nOmMuc2libGluZz1nLGM9Zyk7cmV0dXJuIGUmJmYuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gdChsLGUpfSksclEmJnJBKGwsaCksc30ocyxjLGYsaCk7aWYoSChmKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mKGc9SChmKSkpdGhyb3cgRXJyb3IodSgxNTApKTtyZXR1cm4gZnVuY3Rpb24obCxvLGkscyl7aWYobnVsbD09aSl0aHJvdyBFcnJvcih1KDE1MSkpO2Zvcih2YXIgYz1udWxsLGY9bnVsbCxoPW8sZz1vPTAsdj1udWxsLHk9aS5uZXh0KCk7bnVsbCE9PWgmJiF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpe2guaW5kZXg+Zz8odj1oLGg9bnVsbCk6dj1oLnNpYmxpbmc7dmFyIGI9cChsLGgseS52YWx1ZSxzKTtpZihudWxsPT09Yil7bnVsbD09PWgmJihoPXYpO2JyZWFrfWUmJmgmJm51bGw9PT1iLmFsdGVybmF0ZSYmdChsLGgpLG89YShiLG8sZyksbnVsbD09PWY/Yz1iOmYuc2libGluZz1iLGY9YixoPXZ9aWYoeS5kb25lKXJldHVybiBuKGwsaCksclEmJnJBKGwsZyksYztpZihudWxsPT09aCl7Zm9yKDsheS5kb25lO2crKyx5PWkubmV4dCgpKW51bGwhPT0oeT1kKGwseS52YWx1ZSxzKSkmJihvPWEoeSxvLGcpLG51bGw9PT1mP2M9eTpmLnNpYmxpbmc9eSxmPXkpO3JldHVybiByUSYmckEobCxnKSxjfWZvcihoPXIoaCk7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLHMpKSYmKGUmJm51bGwhPT0odj15LmFsdGVybmF0ZSkmJmguZGVsZXRlKG51bGw9PT12LmtleT9nOnYua2V5KSxvPWEoeSxvLGcpLG51bGw9PT1mP2M9eTpmLnNpYmxpbmc9eSxmPXkpO3JldHVybiBlJiZoLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHJRJiZyQShsLGcpLGN9KHMsYyxmPWcuY2FsbChmKSxoKX1pZigiZnVuY3Rpb24iPT10eXBlb2YgZi50aGVuKXJldHVybiBpKHMsYyxsSShmKSxoKTtpZihmLiQkdHlwZW9mPT09TClyZXR1cm4gaShzLGMsbHIocyxmKSxoKTtsRihzLGYpfXJldHVybiJzdHJpbmciPT10eXBlb2YgZiYmIiIhPT1mfHwibnVtYmVyIj09dHlwZW9mIGZ8fCJiaWdpbnQiPT10eXBlb2YgZj8oZj0iIitmLG51bGwhPT1jJiY2PT09Yy50YWc/KG4ocyxjLnNpYmxpbmcpLChoPWwoYyxmKSkucmV0dXJuPXMpOihuKHMsYyksKGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zKSxvKHM9aCkpOm4ocyxjKX0oaSxzLGMsZik7cmV0dXJuIGxSPW51bGwsaH1jYXRjaChlKXtpZihlPT09bEV8fGU9PT1seCl0aHJvdyBlO3ZhciBnPXJ5KDI5LGUsbnVsbCxpLm1vZGUpO3JldHVybiBnLmxhbmVzPWYsZy5yZXR1cm49aSxnfWZpbmFsbHl7fX19dmFyIGxqPWxBKCEwKSxsVT1sQSghMSksbEI9ITE7ZnVuY3Rpb24gbFYoZSl7ZS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGxhbmVzOjAsaGlkZGVuQ2FsbGJhY2tzOm51bGx9LGNhbGxiYWNrczpudWxsfX1mdW5jdGlvbiBsSChlLHQpe2U9ZS51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPT09ZSYmKHQudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6ZS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6ZS5zaGFyZWQsY2FsbGJhY2tzOm51bGx9KX1mdW5jdGlvbiBsJChlKXtyZXR1cm57bGFuZTplLHRhZzowLHBheWxvYWQ6bnVsbCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH19ZnVuY3Rpb24gbFEoZSx0LG4pe3ZhciByPWUudXBkYXRlUXVldWU7aWYobnVsbD09PXIpcmV0dXJuIG51bGw7aWYocj1yLnNoYXJlZCwwIT0oMiZ1Xykpe3ZhciBsPXIucGVuZGluZztyZXR1cm4gbnVsbD09PWw/dC5uZXh0PXQ6KHQubmV4dD1sLm5leHQsbC5uZXh0PXQpLHIucGVuZGluZz10LHQ9cmgoZSkscm0oZSxudWxsLG4pLHR9cmV0dXJuIHJmKGUscix0LG4pLHJoKGUpfWZ1bmN0aW9uIGxXKGUsdCxuKXtpZihudWxsIT09KHQ9dC51cGRhdGVRdWV1ZSkmJih0PXQuc2hhcmVkLDAhPSg0MTk0MDQ4Jm4pKSl7dmFyIHI9dC5sYW5lcztyJj1lLnBlbmRpbmdMYW5lcyxufD1yLHQubGFuZXM9bixlaihlLG4pfX1mdW5jdGlvbiBscShlLHQpe3ZhciBuPWUudXBkYXRlUXVldWUscj1lLmFsdGVybmF0ZTtpZihudWxsIT09ciYmbj09PShyPXIudXBkYXRlUXVldWUpKXt2YXIgbD1udWxsLGE9bnVsbDtpZihudWxsIT09KG49bi5maXJzdEJhc2VVcGRhdGUpKXtkb3t2YXIgbz17bGFuZTpuLmxhbmUsdGFnOm4udGFnLHBheWxvYWQ6bi5wYXlsb2FkLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfTtudWxsPT09YT9sPWE9bzphPWEubmV4dD1vLG49bi5uZXh0fXdoaWxlKG51bGwhPT1uKW51bGw9PT1hP2w9YT10OmE9YS5uZXh0PXR9ZWxzZSBsPWE9dDtuPXtiYXNlU3RhdGU6ci5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmwsbGFzdEJhc2VVcGRhdGU6YSxzaGFyZWQ6ci5zaGFyZWQsY2FsbGJhY2tzOnIuY2FsbGJhY2tzfSxlLnVwZGF0ZVF1ZXVlPW47cmV0dXJufW51bGw9PT0oZT1uLmxhc3RCYXNlVXBkYXRlKT9uLmZpcnN0QmFzZVVwZGF0ZT10OmUubmV4dD10LG4ubGFzdEJhc2VVcGRhdGU9dH12YXIgbEs9ITE7ZnVuY3Rpb24gbFgoKXtpZihsSyl7dmFyIGU9bGc7aWYobnVsbCE9PWUpdGhyb3cgZX19ZnVuY3Rpb24gbFkoZSx0LG4scil7bEs9ITE7dmFyIGw9ZS51cGRhdGVRdWV1ZTtsQj0hMTt2YXIgYT1sLmZpcnN0QmFzZVVwZGF0ZSxvPWwubGFzdEJhc2VVcGRhdGUsaT1sLnNoYXJlZC5wZW5kaW5nO2lmKG51bGwhPT1pKXtsLnNoYXJlZC5wZW5kaW5nPW51bGw7dmFyIHU9aSxzPXUubmV4dDt1Lm5leHQ9bnVsbCxudWxsPT09bz9hPXM6by5uZXh0PXMsbz11O3ZhciBjPWUuYWx0ZXJuYXRlO251bGwhPT1jJiYoaT0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT1vJiYobnVsbD09PWk/Yy5maXJzdEJhc2VVcGRhdGU9czppLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPXUpfWlmKG51bGwhPT1hKXt2YXIgZj1sLmJhc2VTdGF0ZTtmb3Iobz0wLGM9cz11PW51bGwsaT1hOzspe3ZhciBkPS0weDIwMDAwMDAxJmkubGFuZSxwPWQhPT1pLmxhbmU7aWYocD8odU4mZCk9PT1kOihyJmQpPT09ZCl7MCE9PWQmJmQ9PT1saCYmKGxLPSEwKSxudWxsIT09YyYmKGM9Yy5uZXh0PXtsYW5lOjAsdGFnOmkudGFnLHBheWxvYWQ6aS5wYXlsb2FkLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfSk7ZTp7dmFyIG09ZSxoPWk7c3dpdGNoKGQ9dCxoLnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCkpe2Y9bS5jYWxsKG4sZixkKTticmVhayBlfWY9bTticmVhayBlO2Nhc2UgMzptLmZsYWdzPS02NTUzNyZtLmZsYWdzfDEyODtjYXNlIDA6aWYobnVsbD09KGQ9ImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKT9tLmNhbGwobixmLGQpOm0pKWJyZWFrIGU7Zj1fKHt9LGYsZCk7YnJlYWsgZTtjYXNlIDI6bEI9ITB9fW51bGwhPT0oZD1pLmNhbGxiYWNrKSYmKGUuZmxhZ3N8PTY0LHAmJihlLmZsYWdzfD04MTkyKSxudWxsPT09KHA9bC5jYWxsYmFja3MpP2wuY2FsbGJhY2tzPVtkXTpwLnB1c2goZCkpfWVsc2UgcD17bGFuZTpkLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazppLmNhbGxiYWNrLG5leHQ6bnVsbH0sbnVsbD09PWM/KHM9Yz1wLHU9Zik6Yz1jLm5leHQ9cCxvfD1kO2lmKG51bGw9PT0oaT1pLm5leHQpKWlmKG51bGw9PT0oaT1sLnNoYXJlZC5wZW5kaW5nKSlicmVhaztlbHNlIGk9KHA9aSkubmV4dCxwLm5leHQ9bnVsbCxsLmxhc3RCYXNlVXBkYXRlPXAsbC5zaGFyZWQucGVuZGluZz1udWxsfW51bGw9PT1jJiYodT1mKSxsLmJhc2VTdGF0ZT11LGwuZmlyc3RCYXNlVXBkYXRlPXMsbC5sYXN0QmFzZVVwZGF0ZT1jLG51bGw9PT1hJiYobC5zaGFyZWQubGFuZXM9MCksdUl8PW8sZS5sYW5lcz1vLGUubWVtb2l6ZWRTdGF0ZT1mfX1mdW5jdGlvbiBsRyhlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IEVycm9yKHUoMTkxLGUpKTtlLmNhbGwodCl9ZnVuY3Rpb24gbEooZSx0KXt2YXIgbj1lLmNhbGxiYWNrcztpZihudWxsIT09bilmb3IoZS5jYWxsYmFja3M9bnVsbCxlPTA7ZTxuLmxlbmd0aDtlKyspbEcobltlXSx0KX12YXIgbFo9RyhudWxsKSxsMD1HKDApO2Z1bmN0aW9uIGwxKGUsdCl7WihsMCxlPXVSKSxaKGxaLHQpLHVSPWV8dC5iYXNlTGFuZXN9ZnVuY3Rpb24gbDIoKXtaKGwwLHVSKSxaKGxaLGxaLmN1cnJlbnQpfWZ1bmN0aW9uIGwzKCl7dVI9bDAuY3VycmVudCxKKGxaKSxKKGwwKX12YXIgbDQ9RyhudWxsKSxsNj1udWxsO2Z1bmN0aW9uIGw1KGUpe3ZhciB0PWUuYWx0ZXJuYXRlO1ooYXQsMSZhdC5jdXJyZW50KSxaKGw0LGUpLG51bGw9PT1sNiYmKG51bGw9PT10fHxudWxsIT09bFouY3VycmVudD9sNj1lOm51bGwhPT10Lm1lbW9pemVkU3RhdGUmJihsNj1lKSl9ZnVuY3Rpb24gbDgoZSl7WihhdCxhdC5jdXJyZW50KSxaKGw0LGUpLG51bGw9PT1sNiYmKGw2PWUpfWZ1bmN0aW9uIGw5KGUpezIyPT09ZS50YWc/KFooYXQsYXQuY3VycmVudCksWihsNCxlKSxudWxsPT09bDYmJihsNj1lKSk6bDcoKX1mdW5jdGlvbiBsNygpe1ooYXQsYXQuY3VycmVudCksWihsNCxsNC5jdXJyZW50KX1mdW5jdGlvbiBhZShlKXtKKGw0KSxsNj09PWUmJihsNj1udWxsKSxKKGF0KX12YXIgYXQ9RygwKTtmdW5jdGlvbiBhbihlLHQpe1oobDQsbDQuY3VycmVudCksWihhdCx0KX1mdW5jdGlvbiBhcihlKXtKKGF0KSxKKGw0KSxsNj09PWUmJihsNj1udWxsKX1mdW5jdGlvbiBhbChlKXtmb3IodmFyIHQ9ZTtudWxsIT09dDspe2lmKDEzPT09dC50YWcpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09biYmKG51bGw9PT0obj1uLmRlaHlkcmF0ZWQpfHxjVyhuKXx8Y3EobikpKXJldHVybiB0fWVsc2UgaWYoMTk9PT10LnRhZyYmImluZGVwZW5kZW50IiE9PXQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlcil7aWYoMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdH1lbHNlIGlmKG51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9cmV0dXJuIG51bGx9dmFyIGFhPTAsYW89bnVsbCxhaT1udWxsLGF1PW51bGwsYXM9ITEsYWM9ITEsYWY9ITEsYWQ9MCxhcD0wLGFtPW51bGwsYWg9MDtmdW5jdGlvbiBhZygpe3Rocm93IEVycm9yKHUoMzIxKSl9ZnVuY3Rpb24gYXYoZSx0KXtpZihudWxsPT09dClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHQubGVuZ3RoJiZuPGUubGVuZ3RoO24rKylpZighbmooZVtuXSx0W25dKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBheShlLHQsbixyLGwsYSl7cmV0dXJuIGFhPWEsYW89dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLFcuSD1udWxsPT09ZXx8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZT9vXzpveCxhZj0hMSxhPW4ocixsKSxhZj0hMSxhYyYmKGE9YXcodCxuLHIsbCkpLGFiKGUpLGF9ZnVuY3Rpb24gYWIoZSl7Vy5IPW9FO3ZhciB0PW51bGwhPT1haSYmbnVsbCE9PWFpLm5leHQ7aWYoYWE9MCxhdT1haT1hbz1udWxsLGFzPSExLGFwPTAsYW09bnVsbCx0KXRocm93IEVycm9yKHUoMzAwKSk7bnVsbD09PWV8fG9CfHxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZsZShlKSYmKG9CPSEwKX1mdW5jdGlvbiBhdyhlLHQsbixyKXthbz1lO3ZhciBsPTA7ZG97aWYoYWMmJihhbT1udWxsKSxhcD0wLGFjPSExLDI1PD1sKXRocm93IEVycm9yKHUoMzAxKSk7aWYobCs9MSxhdT1haT1udWxsLG51bGwhPWUudXBkYXRlUXVldWUpe3ZhciBhPWUudXBkYXRlUXVldWU7YS5sYXN0RWZmZWN0PW51bGwsYS5ldmVudHM9bnVsbCxhLnN0b3Jlcz1udWxsLG51bGwhPWEubWVtb0NhY2hlJiYoYS5tZW1vQ2FjaGUuaW5kZXg9MCl9Vy5IPW9QLGE9dChuLHIpfXdoaWxlKGFjKXJldHVybiBhfWZ1bmN0aW9uIGFTKCl7dmFyIGU9Vy5ILHQ9ZS51c2VTdGF0ZSgpWzBdO3JldHVybiB0PSJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4/YUModCk6dCxlPWUudXNlU3RhdGUoKVswXSwobnVsbCE9PWFpP2FpLm1lbW9pemVkU3RhdGU6bnVsbCkhPT1lJiYoYW8uZmxhZ3N8PTEwMjQpLHR9ZnVuY3Rpb24gYWsoKXt2YXIgZT0wIT09YWQ7cmV0dXJuIGFkPTAsZX1mdW5jdGlvbiBhRShlLHQsbil7dC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5ufWZ1bmN0aW9uIGFfKGUpe2lmKGFzKXtmb3IoZT1lLm1lbW9pemVkU3RhdGU7bnVsbCE9PWU7KXt2YXIgdD1lLnF1ZXVlO251bGwhPT10JiYodC5wZW5kaW5nPW51bGwpLGU9ZS5uZXh0fWFzPSExfWFhPTAsYXU9YWk9YW89bnVsbCxhYz0hMSxhcD1hZD0wLGFtPW51bGx9ZnVuY3Rpb24gYXgoKXt2YXIgZT17bWVtb2l6ZWRTdGF0ZTpudWxsLGJhc2VTdGF0ZTpudWxsLGJhc2VRdWV1ZTpudWxsLHF1ZXVlOm51bGwsbmV4dDpudWxsfTtyZXR1cm4gbnVsbD09PWF1P2FvLm1lbW9pemVkU3RhdGU9YXU9ZTphdT1hdS5uZXh0PWUsYXV9ZnVuY3Rpb24gYVAoKXtpZihudWxsPT09YWkpe3ZhciBlPWFvLmFsdGVybmF0ZTtlPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgZT1haS5uZXh0O3ZhciB0PW51bGw9PT1hdT9hby5tZW1vaXplZFN0YXRlOmF1Lm5leHQ7aWYobnVsbCE9PXQpYXU9dCxhaT1lO2Vsc2V7aWYobnVsbD09PWUpe2lmKG51bGw9PT1hby5hbHRlcm5hdGUpdGhyb3cgRXJyb3IodSg0NjcpKTt0aHJvdyBFcnJvcih1KDMxMCkpfWU9e21lbW9pemVkU3RhdGU6KGFpPWUpLm1lbW9pemVkU3RhdGUsYmFzZVN0YXRlOmFpLmJhc2VTdGF0ZSxiYXNlUXVldWU6YWkuYmFzZVF1ZXVlLHF1ZXVlOmFpLnF1ZXVlLG5leHQ6bnVsbH0sbnVsbD09PWF1P2FvLm1lbW9pemVkU3RhdGU9YXU9ZTphdT1hdS5uZXh0PWV9cmV0dXJuIGF1fWZ1bmN0aW9uIGFOKCl7cmV0dXJue2xhc3RFZmZlY3Q6bnVsbCxldmVudHM6bnVsbCxzdG9yZXM6bnVsbCxtZW1vQ2FjaGU6bnVsbH19ZnVuY3Rpb24gYUMoZSl7dmFyIHQ9YXA7cmV0dXJuIGFwKz0xLG51bGw9PT1hbSYmKGFtPVtdKSxlPWxDKGFtLGUsdCksdD1hbyxudWxsPT09KG51bGw9PT1hdT90Lm1lbW9pemVkU3RhdGU6YXUubmV4dCkmJihXLkg9bnVsbD09PSh0PXQuYWx0ZXJuYXRlKXx8bnVsbD09PXQubWVtb2l6ZWRTdGF0ZT9vXzpveCksZX1mdW5jdGlvbiBhVChlKXtpZihudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKXJldHVybiBhQyhlKTtpZihlLiQkdHlwZW9mPT09TClyZXR1cm4gbG4oZSl9dGhyb3cgRXJyb3IodSg0MzgsU3RyaW5nKGUpKSl9ZnVuY3Rpb24gYU8oZSl7dmFyIHQ9bnVsbCxuPWFvLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT1uJiYodD1uLm1lbW9DYWNoZSksbnVsbD09dCl7dmFyIHI9YW8uYWx0ZXJuYXRlO251bGwhPT1yJiZudWxsIT09KHI9ci51cGRhdGVRdWV1ZSkmJm51bGwhPShyPXIubWVtb0NhY2hlKSYmKHQ9e2RhdGE6ci5kYXRhLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5zbGljZSgpfSksaW5kZXg6MH0pfWlmKG51bGw9PXQmJih0PXtkYXRhOltdLGluZGV4OjB9KSxudWxsPT09biYmKG49YU4oKSxhby51cGRhdGVRdWV1ZT1uKSxuLm1lbW9DYWNoZT10LHZvaWQgMD09PShuPXQuZGF0YVt0LmluZGV4XSkpZm9yKG49dC5kYXRhW3QuaW5kZXhdPUFycmF5KGUpLHI9MDtyPGU7cisrKW5bcl09VTtyZXR1cm4gdC5pbmRleCsrLG59ZnVuY3Rpb24gYXooZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KGUpOnR9ZnVuY3Rpb24gYUwoZSl7cmV0dXJuIGFSKGFQKCksYWksZSl9ZnVuY3Rpb24gYVIoZSx0LG4pe3ZhciByPWUucXVldWU7aWYobnVsbD09PXIpdGhyb3cgRXJyb3IodSgzMTEpKTtyLmxhc3RSZW5kZXJlZFJlZHVjZXI9bjt2YXIgbD1lLmJhc2VRdWV1ZSxhPXIucGVuZGluZztpZihudWxsIT09YSl7aWYobnVsbCE9PWwpe3ZhciBvPWwubmV4dDtsLm5leHQ9YS5uZXh0LGEubmV4dD1vfXQuYmFzZVF1ZXVlPWw9YSxyLnBlbmRpbmc9bnVsbH1pZihhPWUuYmFzZVN0YXRlLG51bGw9PT1sKWUubWVtb2l6ZWRTdGF0ZT1hO2Vsc2V7dD1sLm5leHQ7dmFyIGk9bz1udWxsLHM9bnVsbCxjPXQsZj0hMTtkb3t2YXIgZD0tMHgyMDAwMDAwMSZjLmxhbmU7aWYoZCE9PWMubGFuZT8odU4mZCk9PT1kOihhYSZkKT09PWQpe3ZhciBwPWMucmV2ZXJ0TGFuZTtpZigwPT09cCludWxsIT09cyYmKHM9cy5uZXh0PXtsYW5lOjAscmV2ZXJ0TGFuZTowLGdlc3R1cmU6bnVsbCxhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksZD09PWxoJiYoZj0hMCk7ZWxzZSBpZigoYWEmcCk9PT1wKXtjPWMubmV4dCxwPT09bGgmJihmPSEwKTtjb250aW51ZX1lbHNlIGQ9e2xhbmU6MCxyZXZlcnRMYW5lOmMucmV2ZXJ0TGFuZSxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1kLG89YSk6cz1zLm5leHQ9ZCxhby5sYW5lc3w9cCx1SXw9cDtkPWMuYWN0aW9uLGFmJiZuKGEsZCksYT1jLmhhc0VhZ2VyU3RhdGU/Yy5lYWdlclN0YXRlOm4oYSxkKX1lbHNlIHA9e2xhbmU6ZCxyZXZlcnRMYW5lOmMucmV2ZXJ0TGFuZSxnZXN0dXJlOmMuZ2VzdHVyZSxhY3Rpb246Yy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpjLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpjLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxudWxsPT09cz8oaT1zPXAsbz1hKTpzPXMubmV4dD1wLGFvLmxhbmVzfD1kLHVJfD1kO2M9Yy5uZXh0fXdoaWxlKG51bGwhPT1jJiZjIT09dClpZihudWxsPT09cz9vPWE6cy5uZXh0PWksIW5qKGEsZS5tZW1vaXplZFN0YXRlKSYmKG9CPSEwLGYmJm51bGwhPT0obj1sZykpKXRocm93IG47ZS5tZW1vaXplZFN0YXRlPWEsZS5iYXNlU3RhdGU9byxlLmJhc2VRdWV1ZT1zLHIubGFzdFJlbmRlcmVkU3RhdGU9YX1yZXR1cm4gbnVsbD09PWwmJihyLmxhbmVzPTApLFtlLm1lbW9pemVkU3RhdGUsci5kaXNwYXRjaF19ZnVuY3Rpb24gYU0oZSl7dmFyIHQ9YVAoKSxuPXQucXVldWU7aWYobnVsbD09PW4pdGhyb3cgRXJyb3IodSgzMTEpKTtuLmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgcj1uLmRpc3BhdGNoLGw9bi5wZW5kaW5nLGE9dC5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT1sKXtuLnBlbmRpbmc9bnVsbDt2YXIgbz1sPWwubmV4dDtkbyBhPWUoYSxvLmFjdGlvbiksbz1vLm5leHQ7d2hpbGUobyE9PWwpbmooYSx0Lm1lbW9pemVkU3RhdGUpfHwob0I9ITApLHQubWVtb2l6ZWRTdGF0ZT1hLG51bGw9PT10LmJhc2VRdWV1ZSYmKHQuYmFzZVN0YXRlPWEpLG4ubGFzdFJlbmRlcmVkU3RhdGU9YX1yZXR1cm5bYSxyXX1mdW5jdGlvbiBhSShlLHQsbil7dmFyIHI9YW8sbD1hUCgpLGE9clE7aWYoYSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2Ugbj10KCk7dmFyIG89IW5qKChhaXx8bCkubWVtb2l6ZWRTdGF0ZSxuKTtpZihvJiYobC5tZW1vaXplZFN0YXRlPW4sb0I9ITApLGw9bC5xdWV1ZSxhNShhQS5iaW5kKG51bGwscixsLGUpLFtlXSksbC5nZXRTbmFwc2hvdCE9PXR8fG98fG51bGwhPT1hdSYmMSZhdS5tZW1vaXplZFN0YXRlLnRhZyl7aWYoci5mbGFnc3w9MjA0OCxhMSg5LHtkZXN0cm95OnZvaWQgMH0sYUYuYmluZChudWxsLHIsbCxuLHQpLG51bGwpLG51bGw9PT11eCl0aHJvdyBFcnJvcih1KDM0OSkpO2F8fDAhPSgxMjcmYWEpfHxhRChyLHQsbil9cmV0dXJuIG59ZnVuY3Rpb24gYUQoZSx0LG4pe2UuZmxhZ3N8PTE2Mzg0LGU9e2dldFNuYXBzaG90OnQsdmFsdWU6bn0sbnVsbD09PSh0PWFvLnVwZGF0ZVF1ZXVlKT8odD1hTigpLGFvLnVwZGF0ZVF1ZXVlPXQsdC5zdG9yZXM9W2VdKTpudWxsPT09KG49dC5zdG9yZXMpP3Quc3RvcmVzPVtlXTpuLnB1c2goZSl9ZnVuY3Rpb24gYUYoZSx0LG4scil7dC52YWx1ZT1uLHQuZ2V0U25hcHNob3Q9cixhaih0KSYmYVUoZSl9ZnVuY3Rpb24gYUEoZSx0LG4pe3JldHVybiBuKGZ1bmN0aW9uKCl7YWoodCkmJmFVKGUpfSl9ZnVuY3Rpb24gYWooZSl7dmFyIHQ9ZS5nZXRTbmFwc2hvdDtlPWUudmFsdWU7dHJ5e3ZhciBuPXQoKTtyZXR1cm4hbmooZSxuKX1jYXRjaChlKXtyZXR1cm4hMH19ZnVuY3Rpb24gYVUoZSl7dmFyIHQ9cnAoZSwyKTtudWxsIT09dCYmdTcodCxlLDIpfWZ1bmN0aW9uIGFCKGUpe3ZhciB0PWF4KCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUoKSksdC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWUsdC5xdWV1ZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmF6LGxhc3RSZW5kZXJlZFN0YXRlOmV9LHR9ZnVuY3Rpb24gYVYoZSx0LG4scil7cmV0dXJuIGUuYmFzZVN0YXRlPW4sYVIoZSxhaSwiZnVuY3Rpb24iPT10eXBlb2Ygcj9yOmF6KX1mdW5jdGlvbiBhSChlLHQsbixyLGwpe2lmKG93KGUpKXRocm93IEVycm9yKHUoNDg1KSk7aWYobnVsbCE9PShlPXQuYWN0aW9uKSl7dmFyIGE9e3BheWxvYWQ6bCxhY3Rpb246ZSxuZXh0Om51bGwsaXNUcmFuc2l0aW9uOiEwLHN0YXR1czoicGVuZGluZyIsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxsaXN0ZW5lcnM6W10sdGhlbjpmdW5jdGlvbihlKXthLmxpc3RlbmVycy5wdXNoKGUpfX07bnVsbCE9PVcuVD9uKCEwKTphLmlzVHJhbnNpdGlvbj0hMSxyKGEpLG51bGw9PT0obj10LnBlbmRpbmcpPyhhLm5leHQ9dC5wZW5kaW5nPWEsYSQodCxhKSk6KGEubmV4dD1uLm5leHQsdC5wZW5kaW5nPW4ubmV4dD1hKX19ZnVuY3Rpb24gYSQoZSx0KXt2YXIgbj10LmFjdGlvbixyPXQucGF5bG9hZCxsPWUuc3RhdGU7aWYodC5pc1RyYW5zaXRpb24pe3ZhciBhPVcuVCxvPXt9O28udHlwZXM9bnVsbCE9PWE/YS50eXBlczpudWxsLFcuVD1vO3RyeXt2YXIgaT1uKGwsciksdT1XLlM7bnVsbCE9PXUmJnUobyxpKSxhUShlLHQsaSl9Y2F0Y2gobil7YXEoZSx0LG4pfWZpbmFsbHl7bnVsbCE9PWEmJm51bGwhPT1vLnR5cGVzJiYoYS50eXBlcz1vLnR5cGVzKSxXLlQ9YX19ZWxzZSB0cnl7YT1uKGwsciksYVEoZSx0LGEpfWNhdGNoKG4pe2FxKGUsdCxuKX19ZnVuY3Rpb24gYVEoZSx0LG4pe251bGwhPT1uJiYib2JqZWN0Ij09dHlwZW9mIG4mJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4/bi50aGVuKGZ1bmN0aW9uKG4pe2FXKGUsdCxuKX0sZnVuY3Rpb24obil7cmV0dXJuIGFxKGUsdCxuKX0pOmFXKGUsdCxuKX1mdW5jdGlvbiBhVyhlLHQsbil7dC5zdGF0dXM9ImZ1bGZpbGxlZCIsdC52YWx1ZT1uLGFLKHQpLGUuc3RhdGU9bixudWxsIT09KHQ9ZS5wZW5kaW5nKSYmKChuPXQubmV4dCk9PT10P2UucGVuZGluZz1udWxsOihuPW4ubmV4dCx0Lm5leHQ9bixhJChlLG4pKSl9ZnVuY3Rpb24gYXEoZSx0LG4pe3ZhciByPWUucGVuZGluZztpZihlLnBlbmRpbmc9bnVsbCxudWxsIT09cil7cj1yLm5leHQ7ZG8gdC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLGFLKHQpLHQ9dC5uZXh0O3doaWxlKHQhPT1yKX1lLmFjdGlvbj1udWxsfWZ1bmN0aW9uIGFLKGUpe2U9ZS5saXN0ZW5lcnM7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspKDAsZVt0XSkoKX1mdW5jdGlvbiBhWChlLHQpe3JldHVybiB0fWZ1bmN0aW9uIGFZKGUsdCl7aWYoclEpe3ZhciBuPXV4LmZvcm1TdGF0ZTtpZihudWxsIT09bil7ZTp7dmFyIHI9YW87aWYoclEpe2lmKHIkKXt0Ontmb3IodmFyIGw9ciQsYT1ycTs4IT09bC5ub2RlVHlwZTspaWYoIWF8fG51bGw9PT0obD1jSyhsLm5leHRTaWJsaW5nKSkpe2w9bnVsbDticmVhayB0fWw9IkYhIj09PShhPWwuZGF0YSl8fCJGIj09PWE/bDpudWxsfWlmKGwpe3IkPWNLKGwubmV4dFNpYmxpbmcpLHI9IkYhIj09PWwuZGF0YTticmVhayBlfX1yWChyKX1yPSExfXImJih0PW5bMF0pfX1yZXR1cm4obj1heCgpKS5tZW1vaXplZFN0YXRlPW4uYmFzZVN0YXRlPXQscj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmFYLGxhc3RSZW5kZXJlZFN0YXRlOnR9LG4ucXVldWU9cixuPW92LmJpbmQobnVsbCxhbyxyKSxyLmRpc3BhdGNoPW4scj1hQighMSksYT1vYi5iaW5kKG51bGwsYW8sITEsci5xdWV1ZSkscj1heCgpLGw9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246ZSxwZW5kaW5nOm51bGx9LHIucXVldWU9bCxuPWFILmJpbmQobnVsbCxhbyxsLGEsbiksbC5kaXNwYXRjaD1uLHIubWVtb2l6ZWRTdGF0ZT1lLFt0LG4sITFdfWZ1bmN0aW9uIGFHKGUpe3JldHVybiBhSihhUCgpLGFpLGUpfWZ1bmN0aW9uIGFKKGUsdCxuKXtpZih0PWFSKGUsdCxhWClbMF0sZT1hTChheilbMF0sIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbil0cnl7dmFyIHI9YUModCl9Y2F0Y2goZSl7aWYoZT09PWxFKXRocm93IGx4O3Rocm93IGV9ZWxzZSByPXQ7dmFyIGw9KHQ9YVAoKSkucXVldWUsYT1sLmRpc3BhdGNoO3JldHVybiBuIT09dC5tZW1vaXplZFN0YXRlJiYoYW8uZmxhZ3N8PTIwNDgsYTEoOSx7ZGVzdHJveTp2b2lkIDB9LGFaLmJpbmQobnVsbCxsLG4pLG51bGwpKSxbcixhLGVdfWZ1bmN0aW9uIGFaKGUsdCl7ZS5hY3Rpb249dH1mdW5jdGlvbiBhMChlKXt2YXIgdD1hUCgpLG49YWk7aWYobnVsbCE9PW4pcmV0dXJuIGFKKHQsbixlKTthUCgpLHQ9dC5tZW1vaXplZFN0YXRlO3ZhciByPShuPWFQKCkpLnF1ZXVlLmRpc3BhdGNoO3JldHVybiBuLm1lbW9pemVkU3RhdGU9ZSxbdCxyLCExXX1mdW5jdGlvbiBhMShlLHQsbixyKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOm4sZGVwczpyLGluc3Q6dCxuZXh0Om51bGx9LG51bGw9PT0odD1hby51cGRhdGVRdWV1ZSkmJih0PWFOKCksYW8udXBkYXRlUXVldWU9dCksbnVsbD09PShuPXQubGFzdEVmZmVjdCk/dC5sYXN0RWZmZWN0PWUubmV4dD1lOihyPW4ubmV4dCxuLm5leHQ9ZSxlLm5leHQ9cix0Lmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBhMigpe3JldHVybiBhUCgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gYTMoZSx0LG4scil7dmFyIGw9YXgoKTthby5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTEoMXx0LHtkZXN0cm95OnZvaWQgMH0sbix2b2lkIDA9PT1yP251bGw6cil9ZnVuY3Rpb24gYTQoZSx0LG4scil7dmFyIGw9YVAoKTtyPXZvaWQgMD09PXI/bnVsbDpyO3ZhciBhPWwubWVtb2l6ZWRTdGF0ZS5pbnN0O251bGwhPT1haSYmbnVsbCE9PXImJmF2KHIsYWkubWVtb2l6ZWRTdGF0ZS5kZXBzKT9sLm1lbW9pemVkU3RhdGU9YTEodCxhLG4scik6KGFvLmZsYWdzfD1lLGwubWVtb2l6ZWRTdGF0ZT1hMSgxfHQsYSxuLHIpKX1mdW5jdGlvbiBhNihlLHQpe2EzKDgzOTA2NTYsOCxlLHQpfWZ1bmN0aW9uIGE1KGUsdCl7YTQoMjA0OCw4LGUsdCl9ZnVuY3Rpb24gYTgoZSl7dmFyIHQ9YVAoKS5tZW1vaXplZFN0YXRlLG49e3JlZjp0LG5leHRJbXBsOmV9O2FvLmZsYWdzfD00O3ZhciByPWFvLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXI9YU4oKSxhby51cGRhdGVRdWV1ZT1yLHIuZXZlbnRzPVtuXTtlbHNle3ZhciBsPXIuZXZlbnRzO251bGw9PT1sP3IuZXZlbnRzPVtuXTpsLnB1c2gobil9cmV0dXJuIGZ1bmN0aW9uKCl7aWYoMCE9KDImdV8pKXRocm93IEVycm9yKHUoNDQwKSk7cmV0dXJuIHQuaW1wbC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19ZnVuY3Rpb24gYTkoZSx0KXtyZXR1cm4gYTQoNCwyLGUsdCl9ZnVuY3Rpb24gYTcoZSx0KXtyZXR1cm4gYTQoNCw0LGUsdCl9ZnVuY3Rpb24gb2UoZSx0KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7dmFyIG49dChlPWUoKSk7cmV0dXJuIGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIG4/bigpOnQobnVsbCl9fWlmKG51bGwhPXQpcmV0dXJuIHQuY3VycmVudD1lPWUoKSxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBvdChlLHQsbil7bj1udWxsIT1uP24uY29uY2F0KFtlXSk6bnVsbCxhNCg0LDQsb2UuYmluZChudWxsLHQsZSksbil9ZnVuY3Rpb24gb24oKXt9ZnVuY3Rpb24gb3IoZSx0KXt2YXIgbj1hUCgpO3Q9dm9pZCAwPT09dD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO3JldHVybiBudWxsIT09dCYmYXYodCxyWzFdKT9yWzBdOihuLm1lbW9pemVkU3RhdGU9W2UsdF0sZSl9ZnVuY3Rpb24gb2woZSx0KXt2YXIgbj1hUCgpO3Q9dm9pZCAwPT09dD9udWxsOnQ7dmFyIHI9bi5tZW1vaXplZFN0YXRlO3JldHVybiBudWxsIT09dCYmYXYodCxyWzFdKT9yWzBdOihuLm1lbW9pemVkU3RhdGU9W3I9ZSgpLHRdLHIpfWZ1bmN0aW9uIG9hKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09bnx8MCE9KDB4NDAwMDAwMDAmYWEpJiYwPT0oMjYxOTMwJnVOKT9lLm1lbW9pemVkU3RhdGU9dDooZS5tZW1vaXplZFN0YXRlPW4sZT11OCgpLGFvLmxhbmVzfD1lLHVJfD1lLG4pfWZ1bmN0aW9uIG9vKGUsdCxuLHIpe3JldHVybiBuaihuLHQpP246bnVsbCE9PWxaLmN1cnJlbnQ/KG5qKGU9b2EoZSxuLHIpLHQpfHwob0I9ITApLGUpOjA9PSgxMDYmYWEpfHwwIT0oMHg0MDAwMDAwMCZhYSkmJjA9PSgyNjE5MzAmdU4pPyhvQj0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhby5sYW5lc3w9ZSx1SXw9ZSx0KX1mdW5jdGlvbiBvaShlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb2IoZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3koZSx0LGQsdTUoZSkpfWVsc2Ugb3koZSx0LHIsdTUoZSkpfWNhdGNoKG4pe295KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU1KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb3UoKXt9ZnVuY3Rpb24gb3MoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b2MoZSkucXVldWU7b2koZSxsLHQsSyxudWxsPT09bj9vdTpmdW5jdGlvbigpe3JldHVybiBvZihlKSxuKHIpfSl9ZnVuY3Rpb24gb2MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpheixsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjpheixsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvZihlKXt2YXIgdD1vYyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxveShlLHQubmV4dC5xdWV1ZSx7fSx1NSgpKX1mdW5jdGlvbiBvZCgpe3JldHVybiBsbihmdyl9ZnVuY3Rpb24gb3AoKXtyZXR1cm4gYVAoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9tKCl7cmV0dXJuIGFQKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvaChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU1KCkscj1sUSh0LGU9bCQobiksbik7bnVsbCE9PXImJih1NyhyLHQsbiksbFcocix0LG4pKSx0PXtjYWNoZTpscygpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2coZSx0LG4pe3ZhciByPXU1KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvdyhlKT9vUyh0LG4pOm51bGwhPT0obj1yZChlLHQsbixyKSkmJih1NyhuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvdihlLHQsbil7b3koZSx0LG4sdTUoKSl9ZnVuY3Rpb24gb3koZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob3coZSkpb1ModCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5qKGksbykpcmV0dXJuIHJmKGUsdCxsLDApLG51bGw9PT11eCYmcmMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJkKGUsdCxsLHIpKSlyZXR1cm4gdTcobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBvYihlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzVygpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG93KGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmQoZSxuLHIsMikpJiZ1Nyh0LGUsMil9ZnVuY3Rpb24gb3coZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hb3x8bnVsbCE9PXQmJnQ9PT1hb31mdW5jdGlvbiBvUyhlLHQpe2FjPWFzPSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb0U9e3JlYWRDb250ZXh0OmxuLHVzZTphVCx1c2VDYWxsYmFjazphZyx1c2VDb250ZXh0OmFnLHVzZUVmZmVjdDphZyx1c2VJbXBlcmF0aXZlSGFuZGxlOmFnLHVzZUxheW91dEVmZmVjdDphZyx1c2VJbnNlcnRpb25FZmZlY3Q6YWcsdXNlTWVtbzphZyx1c2VSZWR1Y2VyOmFnLHVzZVJlZjphZyx1c2VTdGF0ZTphZyx1c2VEZWJ1Z1ZhbHVlOmFnLHVzZURlZmVycmVkVmFsdWU6YWcsdXNlVHJhbnNpdGlvbjphZyx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphZyx1c2VJZDphZyx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphZyx1c2VGb3JtU3RhdGU6YWcsdXNlQWN0aW9uU3RhdGU6YWcsdXNlT3B0aW1pc3RpYzphZyx1c2VNZW1vQ2FjaGU6YWcsdXNlQ2FjaGVSZWZyZXNoOmFnLHVzZUVmZmVjdEV2ZW50OmFnfSxvXz17cmVhZENvbnRleHQ6bG4sdXNlOmFULHVzZUNhbGxiYWNrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGF4KCkubWVtb2l6ZWRTdGF0ZT1bZSx2b2lkIDA9PT10P251bGw6dF0sZX0sdXNlQ29udGV4dDpsbix1c2VFZmZlY3Q6YTYsdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLHQsbil7bj1udWxsIT1uP24uY29uY2F0KFtlXSk6bnVsbCxhMyg0MTk0MzA4LDQsb2UuYmluZChudWxsLHQsZSksbil9LHVzZUxheW91dEVmZmVjdDpmdW5jdGlvbihlLHQpe3JldHVybiBhMyg0MTk0MzA4LDQsZSx0KX0sdXNlSW5zZXJ0aW9uRWZmZWN0OmZ1bmN0aW9uKGUsdCl7YTMoNCwyLGUsdCl9LHVzZU1lbW86ZnVuY3Rpb24oZSx0KXt2YXIgbj1heCgpO3Q9dm9pZCAwPT09dD9udWxsOnQ7dmFyIHI9ZSgpO3JldHVybiBuLm1lbW9pemVkU3RhdGU9W3IsdF0scn0sdXNlUmVkdWNlcjpmdW5jdGlvbihlLHQsbil7dmFyIHI9YXgoKTtpZih2b2lkIDAhPT1uKXZhciBsPW4odCk7ZWxzZSBsPXQ7cmV0dXJuIHIubWVtb2l6ZWRTdGF0ZT1yLmJhc2VTdGF0ZT1sLHIucXVldWU9ZT17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmUsbGFzdFJlbmRlcmVkU3RhdGU6bH0sZT1lLmRpc3BhdGNoPW9nLmJpbmQobnVsbCxhbyxlKSxbci5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGF4KCkubWVtb2l6ZWRTdGF0ZT17Y3VycmVudDplfX0sdXNlU3RhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9KGU9YUIoZSkpLnF1ZXVlLG49b3YuYmluZChudWxsLGFvLHQpO3JldHVybiB0LmRpc3BhdGNoPW4sW2UubWVtb2l6ZWRTdGF0ZSxuXX0sdXNlRGVidWdWYWx1ZTpvbix1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG9hKGF4KCksZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWFCKCExKTtyZXR1cm4gZT1vaS5iaW5kKG51bGwsYW8sZS5xdWV1ZSwhMCwhMSksYXgoKS5tZW1vaXplZFN0YXRlPWUsWyExLGVdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9YW8sbD1heCgpO2lmKHJRKXtpZih2b2lkIDA9PT1uKXRocm93IEVycm9yKHUoNDA3KSk7bj1uKCl9ZWxzZXtpZihuPXQoKSxudWxsPT09dXgpdGhyb3cgRXJyb3IodSgzNDkpKTswIT0oMTI3JnVOKXx8YUQocix0LG4pfWwubWVtb2l6ZWRTdGF0ZT1uO3ZhciBhPXt2YWx1ZTpuLGdldFNuYXBzaG90OnR9O3JldHVybiBsLnF1ZXVlPWEsYTYoYUEuYmluZChudWxsLHIsYSxlKSxbZV0pLHIuZmxhZ3N8PTIwNDgsYTEoOSx7ZGVzdHJveTp2b2lkIDB9LGFGLmJpbmQobnVsbCxyLGEsbix0KSxudWxsKSxufSx1c2VJZDpmdW5jdGlvbigpe3ZhciBlPWF4KCksdD11eC5pZGVudGlmaWVyUHJlZml4O2lmKHJRKXt2YXIgbj1yRixyPXJEO3Q9Il8iK3QrIlJfIisobj0ociZ+KDE8PDMyLWVQKHIpLTEpKS50b1N0cmluZygzMikrbiksMDwobj1hZCsrKSYmKHQrPSJIIituLnRvU3RyaW5nKDMyKSksdCs9Il8ifWVsc2UgdD0iXyIrdCsicl8iKyhuPWFoKyspLnRvU3RyaW5nKDMyKSsiXyI7cmV0dXJuIGUubWVtb2l6ZWRTdGF0ZT10fSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpvZCx1c2VGb3JtU3RhdGU6YVksdXNlQWN0aW9uU3RhdGU6YVksdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlKXt2YXIgdD1heCgpO3QubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lO3ZhciBuPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6bnVsbCxsYXN0UmVuZGVyZWRTdGF0ZTpudWxsfTtyZXR1cm4gdC5xdWV1ZT1uLHQ9b2IuYmluZChudWxsLGFvLCEwLG4pLG4uZGlzcGF0Y2g9dCxbZSx0XX0sdXNlTWVtb0NhY2hlOmFPLHVzZUNhY2hlUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9b2guYmluZChudWxsLGFvKX0sdXNlRWZmZWN0RXZlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKSxuPXtpbXBsOmV9O3JldHVybiB0Lm1lbW9pemVkU3RhdGU9bixmdW5jdGlvbigpe2lmKDAhPSgyJnVfKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiBuLmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0sb3g9e3JlYWRDb250ZXh0OmxuLHVzZTphVCx1c2VDYWxsYmFjazpvcix1c2VDb250ZXh0OmxuLHVzZUVmZmVjdDphNSx1c2VJbXBlcmF0aXZlSGFuZGxlOm90LHVzZUluc2VydGlvbkVmZmVjdDphOSx1c2VMYXlvdXRFZmZlY3Q6YTcsdXNlTWVtbzpvbCx1c2VSZWR1Y2VyOmFMLHVzZVJlZjphMix1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhTChheil9LHVzZURlYnVnVmFsdWU6b24sdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbyhhUCgpLGFpLm1lbW9pemVkU3RhdGUsZSx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBlPWFMKGF6KVswXSx0PWFQKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bImJvb2xlYW4iPT10eXBlb2YgZT9lOmFDKGUpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphSSx1c2VJZDpvcCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czpvZCx1c2VGb3JtU3RhdGU6YUcsdXNlQWN0aW9uU3RhdGU6YUcsdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihlLHQpe3JldHVybiBhVihhUCgpLGFpLGUsdCl9LHVzZU1lbW9DYWNoZTphTyx1c2VDYWNoZVJlZnJlc2g6b20sdXNlRWZmZWN0RXZlbnQ6YTh9LG9QPXtyZWFkQ29udGV4dDpsbix1c2U6YVQsdXNlQ2FsbGJhY2s6b3IsdXNlQ29udGV4dDpsbix1c2VFZmZlY3Q6YTUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvdCx1c2VJbnNlcnRpb25FZmZlY3Q6YTksdXNlTGF5b3V0RWZmZWN0OmE3LHVzZU1lbW86b2wsdXNlUmVkdWNlcjphTSx1c2VSZWY6YTIsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYU0oYXopfSx1c2VEZWJ1Z1ZhbHVlOm9uLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hUCgpO3JldHVybiBudWxsPT09YWk/b2EobixlLHQpOm9vKG4sYWkubWVtb2l6ZWRTdGF0ZSxlLHQpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9YU0oYXopWzBdLHQ9YVAoKS5tZW1vaXplZFN0YXRlO3JldHVyblsiYm9vbGVhbiI9PXR5cGVvZiBlP2U6YUMoZSksdF19LHVzZVN5bmNFeHRlcm5hbFN0b3JlOmFJLHVzZUlkOm9wLHVzZUhvc3RUcmFuc2l0aW9uU3RhdHVzOm9kLHVzZUZvcm1TdGF0ZTphMCx1c2VBY3Rpb25TdGF0ZTphMCx1c2VPcHRpbWlzdGljOmZ1bmN0aW9uKGUsdCl7dmFyIG49YVAoKTtyZXR1cm4gbnVsbCE9PWFpP2FWKG4sYWksZSx0KToobi5iYXNlU3RhdGU9ZSxbZSxuLnF1ZXVlLmRpc3BhdGNoXSl9LHVzZU1lbW9DYWNoZTphTyx1c2VDYWNoZVJlZnJlc2g6b20sdXNlRWZmZWN0RXZlbnQ6YTh9O2Z1bmN0aW9uIG9OKGUsdCxuLHIpe249bnVsbD09KG49bihyLHQ9ZS5tZW1vaXplZFN0YXRlKSk/dDpfKHt9LHQsbiksZS5tZW1vaXplZFN0YXRlPW4sMD09PWUubGFuZXMmJihlLnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1uKX12YXIgb0M9e2VucXVldWVTZXRTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj11NSgpLGw9bCQocik7bC5wYXlsb2FkPXQsbnVsbCE9biYmKGwuY2FsbGJhY2s9biksbnVsbCE9PSh0PWxRKGUsbCxyKSkmJih1Nyh0LGUsciksbFcodCxlLHIpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsczt2YXIgcj11NSgpLGw9bCQocik7bC50YWc9MSxsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bFEoZSxsLHIpKSYmKHU3KHQsZSxyKSxsVyh0LGUscikpfSxlbnF1ZXVlRm9yY2VVcGRhdGU6ZnVuY3Rpb24oZSx0KXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciBuPXU1KCkscj1sJChuKTtyLnRhZz0yLG51bGwhPXQmJihyLmNhbGxiYWNrPXQpLG51bGwhPT0odD1sUShlLHIsbikpJiYodTcodCxlLG4pLGxXKHQsZSxuKSl9fTtmdW5jdGlvbiBvVChlLHQsbixyLGwsYSxvKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YoZT1lLnN0YXRlTm9kZSkuc2hvdWxkQ29tcG9uZW50VXBkYXRlP2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKHIsYSxvKTohdC5wcm90b3R5cGV8fCF0LnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudHx8IW5VKG4scil8fCFuVShsLGEpfWZ1bmN0aW9uIG9PKGUsdCxuLHIpe2U9dC5zdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobixyKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLHQuc3RhdGUhPT1lJiZvQy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBveihlLHQpe3ZhciBuPXQ7aWYoInJlZiJpbiB0KWZvcih2YXIgciBpbiBuPXt9LHQpInJlZiIhPT1yJiYobltyXT10W3JdKTtpZihlPWUuZGVmYXVsdFByb3BzKWZvcih2YXIgbCBpbiBuPT09dCYmKG49Xyh7fSxuKSksZSl2b2lkIDA9PT1uW2xdJiYobltsXT1lW2xdKTtyZXR1cm4gbn1mdW5jdGlvbiBvTChlKXtybyhlKX1mdW5jdGlvbiBvUihlKXtjb25zb2xlLmVycm9yKGUpfWZ1bmN0aW9uIG9NKGUpe3JvKGUpfWZ1bmN0aW9uIG9JKGUsdCl7dHJ5eygwLGUub25VbmNhdWdodEVycm9yKSh0LnZhbHVlLHtjb21wb25lbnRTdGFjazp0LnN0YWNrfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3RyeXsoMCxlLm9uQ2F1Z2h0RXJyb3IpKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm4uc3RhY2ssZXJyb3JCb3VuZGFyeToxPT09dC50YWc/dC5zdGF0ZU5vZGU6bnVsbH0pfWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9fWZ1bmN0aW9uIG9GKGUsdCxuKXtyZXR1cm4obj1sJChuKSkudGFnPTMsbi5wYXlsb2FkPXtlbGVtZW50Om51bGx9LG4uY2FsbGJhY2s9ZnVuY3Rpb24oKXtvSShlLHQpfSxufWZ1bmN0aW9uIG9BKGUpe3JldHVybihlPWwkKGUpKS50YWc9MyxlfWZ1bmN0aW9uIG9qKGUsdCxuLHIpe3ZhciBsPW4udHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBhPXIudmFsdWU7ZS5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIGwoYSl9LGUuY2FsbGJhY2s9ZnVuY3Rpb24oKXtvRCh0LG4scil9fXZhciBvPW4uc3RhdGVOb2RlO251bGwhPT1vJiYiZnVuY3Rpb24iPT10eXBlb2Ygby5jb21wb25lbnREaWRDYXRjaCYmKGUuY2FsbGJhY2s9ZnVuY3Rpb24oKXtvRCh0LG4sciksImZ1bmN0aW9uIiE9dHlwZW9mIGwmJihudWxsPT09dXE/dXE9bmV3IFNldChbdGhpc10pOnVxLmFkZCh0aGlzKSk7dmFyIGU9ci5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKHIudmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT1lP2U6IiJ9KX0pfXZhciBvVT1FcnJvcih1KDQ2MSkpLG9CPSExO2Z1bmN0aW9uIG9WKGUsdCxuLHIpe3QuY2hpbGQ9bnVsbD09PWU/bFUodCxudWxsLG4scik6bGoodCxlLmNoaWxkLG4scil9ZnVuY3Rpb24gb0goZSx0LG4scixsKXtuPW4ucmVuZGVyO3ZhciBhPXQucmVmO2lmKCJyZWYiaW4gcil7dmFyIG89e307Zm9yKHZhciBpIGluIHIpInJlZiIhPT1pJiYob1tpXT1yW2ldKX1lbHNlIG89cjtyZXR1cm4obHQodCkscj1heShlLHQsbixvLGEsbCksaT1haygpLG51bGw9PT1lfHxvQik/KHJRJiZpJiZyVSh0KSx0LmZsYWdzfD0xLG9WKGUsdCxyLGwpLHQuY2hpbGQpOihhRShlLHQsbCksaW8oZSx0LGwpKX1mdW5jdGlvbiBvJChlLHQsbixyLGwpe2lmKG51bGw9PT1lKXt2YXIgYT1uLnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIGF8fHJiKGEpfHx2b2lkIDAhPT1hLmRlZmF1bHRQcm9wc3x8bnVsbCE9PW4uY29tcGFyZT8oKGU9cmsobi50eXBlLG51bGwscix0LHQubW9kZSxsKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lKToodC50YWc9MTUsdC50eXBlPWEsb1EoZSx0LGEscixsKSl9aWYoYT1lLmNoaWxkLCFpaShlLGwpKXt2YXIgbz1hLm1lbW9pemVkUHJvcHM7aWYoKG49bnVsbCE9PShuPW4uY29tcGFyZSk/bjpuVSkobyxyKSYmZS5yZWY9PT10LnJlZilyZXR1cm4gaW8oZSx0LGwpfXJldHVybiB0LmZsYWdzfD0xLChlPXJ3KGEscikpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZX1mdW5jdGlvbiBvUShlLHQsbixyLGwpe2lmKG51bGwhPT1lKXt2YXIgYT1lLm1lbW9pemVkUHJvcHM7aWYoblUoYSxyKSYmZS5yZWY9PT10LnJlZilpZihvQj0hMSx0LnBlbmRpbmdQcm9wcz1yPWEsIWlpKGUsbCkpcmV0dXJuIHQubGFuZXM9ZS5sYW5lcyxpbyhlLHQsbCk7ZWxzZSAwIT0oMTMxMDcyJmUuZmxhZ3MpJiYob0I9ITApfXJldHVybiBvSihlLHQsbixyLGwpfWZ1bmN0aW9uIG9XKGUsdCxuLHIpe3ZhciBsPXIuY2hpbGRyZW4sYT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbDtpZihudWxsPT09ZSYmbnVsbD09PXQuc3RhdGVOb2RlJiYodC5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0pLCJoaWRkZW4iPT09ci5tb2RlKXtpZigwIT0oMTI4JnQuZmxhZ3MpKXtpZihhPW51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixudWxsIT09ZSl7Zm9yKGw9MCxyPXQuY2hpbGQ9ZS5jaGlsZDtudWxsIT09cjspbD1sfHIubGFuZXN8ci5jaGlsZExhbmVzLHI9ci5zaWJsaW5nO3I9bCZ+YX1lbHNlIHI9MCx0LmNoaWxkPW51bGw7cmV0dXJuIG9LKGUsdCxhLG4scil9aWYoMD09KDB4MjAwMDAwMDAmbikpcmV0dXJuIHI9dC5sYW5lcz0weDIwMDAwMDAwLG9LKGUsdCxudWxsIT09YT9hLmJhc2VMYW5lc3xuOm4sbixyKTt0Lm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxudWxsIT09ZSYmbFModCxudWxsIT09YT9hLmNhY2hlUG9vbDpudWxsKSxudWxsIT09YT9sMSh0LGEpOmwyKCksbDkodCl9ZWxzZSBudWxsIT09YT8obFModCxhLmNhY2hlUG9vbCksbDEodCxhKSxsNygpLHQubWVtb2l6ZWRTdGF0ZT1udWxsKToobnVsbCE9PWUmJmxTKHQsbnVsbCksbDIoKSxsNygpKTtyZXR1cm4gb1YoZSx0LGwsbiksdC5jaGlsZH1mdW5jdGlvbiBvcShlLHQpe3JldHVybiBudWxsIT09ZSYmMjI9PT1lLnRhZ3x8bnVsbCE9PXQuc3RhdGVOb2RlfHwodC5zdGF0ZU5vZGU9e192aXNpYmlsaXR5OjEsX3BlbmRpbmdNYXJrZXJzOm51bGwsX3JldHJ5Q2FjaGU6bnVsbCxfdHJhbnNpdGlvbnM6bnVsbH0pLHQuc2libGluZ31mdW5jdGlvbiBvSyhlLHQsbixyLGwpe3ZhciBhPWx3KCk7cmV0dXJuIHQubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOm4sY2FjaGVQb29sOmE9bnVsbD09PWE/bnVsbDp7cGFyZW50Omx1Ll9jdXJyZW50VmFsdWUscG9vbDphfX0sbnVsbCE9PWUmJmxTKHQsbnVsbCksbDIoKSxsOSh0KSxudWxsIT09ZSYmcjcoZSx0LHIsITApLHQuY2hpbGRMYW5lcz1sLG51bGx9ZnVuY3Rpb24gb1goZSx0KXtyZXR1cm4odD1vOCh7bW9kZTp0Lm1vZGUsY2hpbGRyZW46dC5jaGlsZHJlbn0sZS5tb2RlKSkucmVmPWUucmVmLGUuY2hpbGQ9dCx0LnJldHVybj1lLHR9ZnVuY3Rpb24gb1koZSx0LG4pe3JldHVybiBsaih0LGUuY2hpbGQsbnVsbCxuKSxlPW9YKHQsdC5wZW5kaW5nUHJvcHMpLGUuZmxhZ3N8PTIsYWUodCksdC5tZW1vaXplZFN0YXRlPW51bGwsZX1mdW5jdGlvbiBvRyhlLHQpe3ZhciBuPXQucmVmO2lmKG51bGw9PT1uKW51bGwhPT1lJiZudWxsIT09ZS5yZWYmJih0LmZsYWdzfD00MTk0ODE2KTtlbHNle2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuJiYib2JqZWN0IiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyODQpKTsobnVsbD09PWV8fGUucmVmIT09bikmJih0LmZsYWdzfD00MTk0ODE2KX19ZnVuY3Rpb24gb0ooZSx0LG4scixsKXtyZXR1cm4obHQodCksbj1heShlLHQsbixyLHZvaWQgMCxsKSxyPWFrKCksbnVsbD09PWV8fG9CKT8oclEmJnImJnJVKHQpLHQuZmxhZ3N8PTEsb1YoZSx0LG4sbCksdC5jaGlsZCk6KGFFKGUsdCxsKSxpbyhlLHQsbCkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCxhKXtyZXR1cm4obHQodCksdC51cGRhdGVRdWV1ZT1udWxsLG49YXcodCxyLG4sbCksYWIoZSkscj1haygpLG51bGw9PT1lfHxvQik/KHJRJiZyJiZyVSh0KSx0LmZsYWdzfD0xLG9WKGUsdCxuLGEpLHQuY2hpbGQpOihhRShlLHQsYSksaW8oZSx0LGEpKX1mdW5jdGlvbiBvMChlLHQsbixyLGwpe2lmKGx0KHQpLG51bGw9PT10LnN0YXRlTm9kZSl7dmFyIGE9cmcsbz1uLmNvbnRleHRUeXBlOyJvYmplY3QiPT10eXBlb2YgbyYmbnVsbCE9PW8mJihhPWxuKG8pKSx0Lm1lbW9pemVkU3RhdGU9bnVsbCE9PShhPW5ldyBuKHIsYSkpLnN0YXRlJiZ2b2lkIDAhPT1hLnN0YXRlP2Euc3RhdGU6bnVsbCxhLnVwZGF0ZXI9b0MsdC5zdGF0ZU5vZGU9YSxhLl9yZWFjdEludGVybmFscz10LChhPXQuc3RhdGVOb2RlKS5wcm9wcz1yLGEuc3RhdGU9dC5tZW1vaXplZFN0YXRlLGEucmVmcz17fSxsVih0KSxvPW4uY29udGV4dFR5cGUsYS5jb250ZXh0PSJvYmplY3QiPT10eXBlb2YgbyYmbnVsbCE9PW8/bG4obyk6cmcsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsImZ1bmN0aW9uIj09dHlwZW9mKG89bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMpJiYob04odCxuLG8sciksYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBuLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc3x8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fCJmdW5jdGlvbiIhPXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudHx8KG89YS5zdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsTW91bnQmJmEuY29tcG9uZW50V2lsbE1vdW50KCksImZ1bmN0aW9uIj09dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCksbyE9PWEuc3RhdGUmJm9DLmVucXVldWVSZXBsYWNlU3RhdGUoYSxhLnN0YXRlLG51bGwpLGxZKHQscixhLGwpLGxYKCksYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5mbGFnc3w9NDE5NDMwOCkscj0hMH1lbHNlIGlmKG51bGw9PT1lKXthPXQuc3RhdGVOb2RlO3ZhciBpPXQubWVtb2l6ZWRQcm9wcyx1PW96KG4saSk7YS5wcm9wcz11O3ZhciBzPWEuY29udGV4dCxjPW4uY29udGV4dFR5cGU7bz1yZywib2JqZWN0Ij09dHlwZW9mIGMmJm51bGwhPT1jJiYobz1sbihjKSk7dmFyIGY9bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7Yz0iZnVuY3Rpb24iPT10eXBlb2YgZnx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUsaT10LnBlbmRpbmdQcm9wcyE9PWksY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChpfHxzIT09bykmJm9PKHQsYSxyLG8pLGxCPSExO3ZhciBkPXQubWVtb2l6ZWRTdGF0ZTthLnN0YXRlPWQsbFkodCxyLGEsbCksbFgoKSxzPXQubWVtb2l6ZWRTdGF0ZSxpfHxkIT09c3x8bEI/KCJmdW5jdGlvbiI9PXR5cGVvZiBmJiYob04odCxuLGYscikscz10Lm1lbW9pemVkU3RhdGUpLCh1PWxCfHxvVCh0LG4sdSxyLGQscyxvKSk/KGN8fCJmdW5jdGlvbiIhPXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudHx8KCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZE1vdW50JiYodC5mbGFnc3w9NDE5NDMwOCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXMpLGEucHJvcHM9cixhLnN0YXRlPXMsYS5jb250ZXh0PW8scj11KTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSExKX1lbHNle2E9dC5zdGF0ZU5vZGUsbEgoZSx0KSxjPW96KG4sbz10Lm1lbW9pemVkUHJvcHMpLGEucHJvcHM9YyxmPXQucGVuZGluZ1Byb3BzLGQ9YS5jb250ZXh0LHM9bi5jb250ZXh0VHlwZSx1PXJnLCJvYmplY3QiPT10eXBlb2YgcyYmbnVsbCE9PXMmJih1PWxuKHMpKSwocz0iZnVuY3Rpb24iPT10eXBlb2YoaT1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyl8fCJmdW5jdGlvbiI9PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHN8fChvIT09Znx8ZCE9PXUpJiZvTyh0LGEscix1KSxsQj0hMSxkPXQubWVtb2l6ZWRTdGF0ZSxhLnN0YXRlPWQsbFkodCxyLGEsbCksbFgoKTt2YXIgcD10Lm1lbW9pemVkU3RhdGU7byE9PWZ8fGQhPT1wfHxsQnx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmbGUoZS5kZXBlbmRlbmNpZXMpPygiZnVuY3Rpb24iPT10eXBlb2YgaSYmKG9OKHQsbixpLHIpLHA9dC5tZW1vaXplZFN0YXRlKSwoYz1sQnx8b1QodCxuLGMscixkLHAsdSl8fG51bGwhPT1lJiZudWxsIT09ZS5kZXBlbmRlbmNpZXMmJmxlKGUuZGVwZW5kZW5jaWVzKSk/KHN8fCJmdW5jdGlvbiIhPXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbFVwZGF0ZSYmYS5jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmYS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShyLHAsdSkpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZSYmKHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlJiYodC5mbGFnc3w9MTAyNCkpOigiZnVuY3Rpb24iIT10eXBlb2YgYS5jb21wb25lbnREaWRVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSwiZnVuY3Rpb24iIT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLHQubWVtb2l6ZWRQcm9wcz1yLHQubWVtb2l6ZWRTdGF0ZT1wKSxhLnByb3BzPXIsYS5zdGF0ZT1wLGEuY29udGV4dD11LHI9Yyk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCkscj0hMSl9cmV0dXJuIGE9cixvRyhlLHQpLHI9MCE9KDEyOCZ0LmZsYWdzKSxhfHxyPyhhPXQuc3RhdGVOb2RlLG49ciYmImZ1bmN0aW9uIiE9dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yP251bGw6YS5yZW5kZXIoKSx0LmZsYWdzfD0xLG51bGwhPT1lJiZyPyh0LmNoaWxkPWxqKHQsZS5jaGlsZCxudWxsLGwpLHQuY2hpbGQ9bGoodCxudWxsLG4sbCkpOm9WKGUsdCxuLGwpLHQubWVtb2l6ZWRTdGF0ZT1hLnN0YXRlLGU9dC5jaGlsZCk6ZT1pbyhlLHQsbCksZX1mdW5jdGlvbiBvMShlLHQsbixyKXtyZXR1cm4gclooKSx0LmZsYWdzfD0yNTYsb1YoZSx0LG4sciksdC5jaGlsZH12YXIgbzI9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowLGh5ZHJhdGlvbkVycm9yczpudWxsfTtmdW5jdGlvbiBvMyhlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOmxrKCl9fWZ1bmN0aW9uIG80KGUsdCxuKXtyZXR1cm4gZT1udWxsIT09ZT9lLmNoaWxkTGFuZXMmfm46MCx0JiYoZXw9dUEpLGV9ZnVuY3Rpb24gbzYoZSx0LG4pe3ZhciByLGw9dC5wZW5kaW5nUHJvcHMsYT0hMSxvPTAhPSgxMjgmdC5mbGFncyk7aWYoKHI9byl8fChyPShudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSkmJjAhPSgyJmF0LmN1cnJlbnQpKSxyJiYoYT0hMCx0LmZsYWdzJj0tMTI5KSxyPTAhPSgzMiZ0LmZsYWdzKSx0LmZsYWdzJj0tMzMsbnVsbD09PWUpe2lmKHJRKXtpZihhP2w1KHQpOmw3KCksKGU9ciQpP251bGwhPT0oZT1udWxsIT09KGU9Y1EoZSxycSkpJiYiJiIhPT1lLmRhdGE/ZTpudWxsKSYmKHQubWVtb2l6ZWRTdGF0ZT17ZGVoeWRyYXRlZDplLHRyZWVDb250ZXh0Om51bGwhPT1yST97aWQ6ckQsb3ZlcmZsb3c6ckZ9Om51bGwscmV0cnlMYW5lOjB4MjAwMDAwMDAsaHlkcmF0aW9uRXJyb3JzOm51bGx9LChuPXJ4KGUpKS5yZXR1cm49dCx0LmNoaWxkPW4sckg9dCxyJD1udWxsKTplPW51bGwsbnVsbD09PWUpdGhyb3cgclgodCk7cmV0dXJuIGNxKGUpP3QubGFuZXM9MzI6dC5sYW5lcz0weDIwMDAwMDAwLG51bGx9dmFyIGk9bC5jaGlsZHJlbjtyZXR1cm4obD1sLmZhbGxiYWNrLGEpPyhsNygpLGk9bzgoe21vZGU6ImhpZGRlbiIsY2hpbGRyZW46aX0sYT10Lm1vZGUpLGw9ckUobCxhLG4sbnVsbCksaS5yZXR1cm49dCxsLnJldHVybj10LGkuc2libGluZz1sLHQuY2hpbGQ9aSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8zKG4pLGwuY2hpbGRMYW5lcz1vNChlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8yLG9xKG51bGwsbCkpOihsNSh0KSxvNSh0LGkpKX12YXIgcz1lLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXMmJm51bGwhPT0oaT1zLmRlaHlkcmF0ZWQpKXtpZihvKTI1NiZ0LmZsYWdzPyhsNSh0KSx0LmZsYWdzJj0tMjU3LHQ9bzkoZSx0LG4pKTpudWxsIT09dC5tZW1vaXplZFN0YXRlPyhsNygpLHQuY2hpbGQ9ZS5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsKToobDcoKSxpPWwuZmFsbGJhY2ssYT10Lm1vZGUsbD1vOCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bC5jaGlsZHJlbn0sYSksaT1yRShpLGEsbixudWxsKSxpLmZsYWdzfD0yLGwucmV0dXJuPXQsaS5yZXR1cm49dCxsLnNpYmxpbmc9aSx0LmNoaWxkPWwsbGoodCxlLmNoaWxkLG51bGwsbiksKGw9dC5jaGlsZCkubWVtb2l6ZWRTdGF0ZT1vMyhuKSxsLmNoaWxkTGFuZXM9bzQoZSxyLG4pLHQubWVtb2l6ZWRTdGF0ZT1vMix0PW9xKG51bGwsbCkpO2Vsc2UgaWYobDUodCksY3EoaSkpe2lmKHI9aS5uZXh0U2libGluZyYmaS5uZXh0U2libGluZy5kYXRhc2V0KXZhciBjPXIuZGdzdDtyPWMsKGw9RXJyb3IodSg0MTkpKSkuc3RhY2s9IiIsbC5kaWdlc3Q9cixyMSh7dmFsdWU6bCxzb3VyY2U6bnVsbCxzdGFjazpudWxsfSksdD1vOShlLHQsbil9ZWxzZSBpZihvQnx8cjcoZSx0LG4sITEpLHI9MCE9KG4mZS5jaGlsZExhbmVzKSxvQnx8cil7aWYobnVsbCE9PShyPXV4KSYmMCE9PShsPWVVKHIsbikpJiZsIT09cy5yZXRyeUxhbmUpdGhyb3cgcy5yZXRyeUxhbmU9bCxycChlLGwpLHU3KHIsZSxsKSxvVTtjVyhpKXx8c2MoKSx0PW85KGUsdCxuKX1lbHNlIGNXKGkpPyh0LmZsYWdzfD0xOTIsdC5jaGlsZD1lLmNoaWxkLHQ9bnVsbCk6KGU9cy50cmVlQ29udGV4dCxyJD1jSyhpLm5leHRTaWJsaW5nKSxySD10LHJRPSEwLHJXPW51bGwscnE9ITEsbnVsbCE9PWUmJnJWKHQsZSksdD1vNSh0LGwuY2hpbGRyZW4pLHQuZmxhZ3N8PTQwOTYpO3JldHVybiB0fXJldHVybiBhPyhsNygpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxjPShzPWUuY2hpbGQpLnNpYmxpbmcsKGw9cncocyx7bW9kZToiaGlkZGVuIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnN1YnRyZWVGbGFncz0weDdmMDAwMDAmcy5zdWJ0cmVlRmxhZ3MsbnVsbCE9PWM/aT1ydyhjLGkpOihpPXJFKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIpLGkucmV0dXJuPXQsbC5yZXR1cm49dCxsLnNpYmxpbmc9aSx0LmNoaWxkPWwsb3EobnVsbCxsKSxsPXQuY2hpbGQsbnVsbD09PShpPWUuY2hpbGQubWVtb2l6ZWRTdGF0ZSk/aT1vMyhuKToobnVsbCE9PShhPWkuY2FjaGVQb29sKT8ocz1sdS5fY3VycmVudFZhbHVlLGE9YS5wYXJlbnQhPT1zP3twYXJlbnQ6cyxwb29sOnN9OmEpOmE9bGsoKSxpPXtiYXNlTGFuZXM6aS5iYXNlTGFuZXN8bixjYWNoZVBvb2w6YX0pLGwubWVtb2l6ZWRTdGF0ZT1pLGwuY2hpbGRMYW5lcz1vNChlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8yLG9xKGUuY2hpbGQsbCkpOihsNSh0KSxlPShuPWUuY2hpbGQpLnNpYmxpbmcsKG49cncobix7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bC5jaGlsZHJlbn0pKS5yZXR1cm49dCxuLnNpYmxpbmc9bnVsbCxudWxsIT09ZSYmKG51bGw9PT0ocj10LmRlbGV0aW9ucyk/KHQuZGVsZXRpb25zPVtlXSx0LmZsYWdzfD0xNik6ci5wdXNoKGUpKSx0LmNoaWxkPW4sdC5tZW1vaXplZFN0YXRlPW51bGwsbil9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4odD1vOCh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46dH0sZS5tb2RlKSkucmV0dXJuPWUsZS5jaGlsZD10fWZ1bmN0aW9uIG84KGUsdCl7cmV0dXJuKGU9cnkoMjIsZSxudWxsLHQpKS5sYW5lcz0wLGV9ZnVuY3Rpb24gbzkoZSx0LG4pe3JldHVybiBsaih0LGUuY2hpbGQsbnVsbCxuKSxlPW81KHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4pLGUuZmxhZ3N8PTIsdC5tZW1vaXplZFN0YXRlPW51bGwsZX1mdW5jdGlvbiBvNyhlLHQsbil7ZS5sYW5lc3w9dDt2YXIgcj1lLmFsdGVybmF0ZTtudWxsIT09ciYmKHIubGFuZXN8PXQpLHI4KGUucmV0dXJuLHQsbil9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PW51bGw7bnVsbCE9PWU7KXt2YXIgbj1lLmFsdGVybmF0ZTtudWxsIT09biYmbnVsbD09PWFsKG4pJiYodD1lKSxlPWUuc2libGluZ31yZXR1cm4gdH1mdW5jdGlvbiBpdChlLHQsbixyLGwsYSl7dmFyIG89ZS5tZW1vaXplZFN0YXRlO251bGw9PT1vP2UubWVtb2l6ZWRTdGF0ZT17aXNCYWNrd2FyZHM6dCxyZW5kZXJpbmc6bnVsbCxyZW5kZXJpbmdTdGFydFRpbWU6MCxsYXN0OnIsdGFpbDpuLHRhaWxNb2RlOmwsdHJlZUZvcmtDb3VudDphfTooby5pc0JhY2t3YXJkcz10LG8ucmVuZGVyaW5nPW51bGwsby5yZW5kZXJpbmdTdGFydFRpbWU9MCxvLmxhc3Q9cixvLnRhaWw9bixvLnRhaWxNb2RlPWwsby50cmVlRm9ya0NvdW50PWEpfWZ1bmN0aW9uIGlyKGUpe3ZhciB0PWUuY2hpbGQ7Zm9yKGUuY2hpbGQ9bnVsbDtudWxsIT09dDspe3ZhciBuPXQuc2libGluZzt0LnNpYmxpbmc9ZS5jaGlsZCxlLmNoaWxkPXQsdD1ufX1mdW5jdGlvbiBpbChlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHMsbD1yLnJldmVhbE9yZGVyLGE9ci50YWlsO3I9ci5jaGlsZHJlbjt2YXIgbz1hdC5jdXJyZW50O2lmKDEyOCZ0LmZsYWdzKXJldHVybiBhbih0LG8pLG51bGw7dmFyIGk9MCE9KDImbyk7aWYoaT8obz0xJm98Mix0LmZsYWdzfD0xMjgpOm8mPTEsYW4odCxvKSwiYmFja3dhcmRzIj09PWwmJm51bGwhPT1lPyhpcihlKSxvVihlLHQscixuKSxpcihlKSk6b1YoZSx0LHIsbikscj1yUT9yTDowLCFpJiZudWxsIT09ZSYmMCE9KDEyOCZlLmZsYWdzKSllOmZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm83KGUsbix0KTtlbHNlIGlmKDE5PT09ZS50YWcpbzcoZSxuLHQpO2Vsc2UgaWYobnVsbCE9PWUuY2hpbGQpe2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkO2NvbnRpbnVlfWlmKGU9PT10KWJyZWFrO2Zvcig7bnVsbD09PWUuc2libGluZzspe2lmKG51bGw9PT1lLnJldHVybnx8ZS5yZXR1cm49PT10KWJyZWFrIGU7ZT1lLnJldHVybn1lLnNpYmxpbmcucmV0dXJuPWUucmV0dXJuLGU9ZS5zaWJsaW5nfXN3aXRjaChsKXtjYXNlImJhY2t3YXJkcyI6bnVsbD09PShuPWllKHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsLGlyKHQpKSxpdCh0LCEwLGwsbnVsbCxhLHIpO2JyZWFrO2Nhc2UidW5zdGFibGVfbGVnYWN5LWJhY2t3YXJkcyI6Zm9yKG49bnVsbCxsPXQuY2hpbGQsdC5jaGlsZD1udWxsO251bGwhPT1sOyl7aWYobnVsbCE9PShlPWwuYWx0ZXJuYXRlKSYmbnVsbD09PWFsKGUpKXt0LmNoaWxkPWw7YnJlYWt9ZT1sLnNpYmxpbmcsbC5zaWJsaW5nPW4sbj1sLGw9ZX1pdCh0LCEwLG4sbnVsbCxhLHIpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOml0KHQsITEsbnVsbCxudWxsLHZvaWQgMCxyKTticmVhaztjYXNlImluZGVwZW5kZW50Ijp0Lm1lbW9pemVkU3RhdGU9bnVsbDticmVhaztkZWZhdWx0Om51bGw9PT0obj1pZSh0LmNoaWxkKSk/KGw9dC5jaGlsZCx0LmNoaWxkPW51bGwpOihsPW4uc2libGluZyxuLnNpYmxpbmc9bnVsbCksaXQodCwhMSxsLG4sYSxyKX1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBpYShlLHQsbil7dmFyIHI9dC5wZW5kaW5nUHJvcHM7cmV0dXJuIHI2KHQsdC50eXBlLHIudmFsdWUpLG9WKGUsdCxyLmNoaWxkcmVuLG4pLHQuY2hpbGR9ZnVuY3Rpb24gaW8oZSx0LG4pe2lmKG51bGwhPT1lJiYodC5kZXBlbmRlbmNpZXM9ZS5kZXBlbmRlbmNpZXMpLHVJfD10LmxhbmVzLDA9PShuJnQuY2hpbGRMYW5lcykpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2Vsc2UgaWYocjcoZSx0LG4sITEpLDA9PShuJnQuY2hpbGRMYW5lcykpcmV0dXJuIG51bGx9aWYobnVsbCE9PWUmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKHUoMTUzKSk7aWYobnVsbCE9PXQuY2hpbGQpe2ZvcihuPXJ3KGU9dC5jaGlsZCxlLnBlbmRpbmdQcm9wcyksdC5jaGlsZD1uLG4ucmV0dXJuPXQ7bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKG49bi5zaWJsaW5nPXJ3KGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49dDtuLnNpYmxpbmc9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBpaShlLHQpe3JldHVybiAwIT0oZS5sYW5lcyZ0KXx8ISEobnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmbGUoZSkpfWZ1bmN0aW9uIGl1KGUsdCxuKXtpZihudWxsIT09ZSlpZihlLm1lbW9pemVkUHJvcHMhPT10LnBlbmRpbmdQcm9wcylvQj0hMDtlbHNle2lmKCFpaShlLG4pJiYwPT0oMTI4JnQuZmxhZ3MpKXJldHVybiBvQj0hMSxmdW5jdGlvbihlLHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDM6ZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyNih0LGx1LGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSksclooKTticmVhaztjYXNlIDI3OmNhc2UgNTplbyh0KTticmVhaztjYXNlIDQ6ZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnI2KHQsdC50eXBlLHQubWVtb2l6ZWRQcm9wcy52YWx1ZSk7YnJlYWs7Y2FzZSAzMTppZihudWxsIT09dC5tZW1vaXplZFN0YXRlKXJldHVybiB0LmZsYWdzfD0xMjgsbDgodCksbnVsbDticmVhaztjYXNlIDEzOnZhciByPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cil7aWYobnVsbCE9PXIuZGVoeWRyYXRlZClyZXR1cm4gbDUodCksdC5mbGFnc3w9MTI4LG51bGw7cj1yNyhlLHQsbiwhMSk7dmFyIGw9dC5jaGlsZC5jaGlsZExhbmVzO2lmKHJ8fDAhPShuJmwpKXJldHVybiBvNihlLHQsbik7cmV0dXJuIGw1KHQpLG51bGwhPT0oZT1pbyhlLHQsbikpP2Uuc2libGluZzpudWxsfWw1KHQpO2JyZWFrO2Nhc2UgMTk6aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGlsKGUsdCxuKTtpZihsPTAhPSgxMjgmZS5mbGFncyksKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyNyhlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpbChlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYW4odCxhdC5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1coZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjYodCxsdSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbyhlLHQsbil9KGUsdCxuKTtvQj0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb0I9ITEsclEmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyaih0LHJMLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sVCh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyYihlKT8ocj1veihlLHIpLHQudGFnPTEsdD1vMChudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9KKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vSChudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9byQobnVsbCx0LGUscixuKTticmVhayBlfWlmKGw9PT1MKXt0LnRhZz0xMCx0LnR5cGU9ZSx0PWlhKG51bGwsdCxuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb0ooZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b3oocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG8wKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsSChlLHQpLGxZKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNih0LGx1LHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI5KHQsW2x1XSxuLCEwKSxsWCgpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMShlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IxKGw9ckMoRXJyb3IodSg0MjQpKSx0KSksdD1vMShlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHIkPWNLKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxySD10LHJRPSEwLHJXPW51bGwscnE9ITAsbj1sVSh0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihyWigpLHI9PT1sKXt0PWlvKGUsdCxuKTticmVhayBlfW9WKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWM1KHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyUXx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3MoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjYShyLG4sZSksZTYociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWM1KHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyUSYmKHI9dC5zdGF0ZU5vZGU9Y0oodC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJIPXQscnE9ITAsbD1yJCxjYih0LnR5cGUpPyhjWD1sLHIkPWNLKHIuZmlyc3RDaGlsZCkpOnIkPWwpLG9WKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyUSYmKChsPXI9ciQpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNLKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMscnEpKT8odC5zdGF0ZU5vZGU9cixySD10LHIkPWNLKHIuZmlyc3RDaGlsZCkscnE9ITEsbD0hMCk6bD0hMSksbHx8clgodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2QobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNkKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ3Ll9jdXJyZW50VmFsdWU9bD1heShlLHQsYVMsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9WKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmclEmJigoZT1uPXIkKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jSyhlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMscnEpKT8odC5zdGF0ZU5vZGU9bixySD10LHIkPW51bGwsZT0hMCk6ZT0hMSksZXx8clgodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzYoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bGoodCxudWxsLHIsbik6b1YoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9WKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9WKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIGlhKGUsdCxuKTtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbHQodCkscj1yKGw9bG4obCkpLHQuZmxhZ3N8PTEsb1YoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvJChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG9RKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaWwoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHJRKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vWChzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvcShudWxsLGkpO2lmKGw4KHMpLChpPXIkKT9udWxsIT09KGk9bnVsbCE9PShpPWNRKGkscnEpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ckk/e2lkOnJELG92ZXJmbG93OnJGfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJIPXMsciQ9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJYKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb1gocyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsOChzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWShpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9CfHxyNyhpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9CfHxkKXtpZihudWxsIT09KGY9dXgpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJwKGksbSksdTcoZixpLG0pLG9VO3NjKCkscz1vWShpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsciQ9Y0sobS5uZXh0U2libGluZyksckg9cyxyUT0hMCxyVz1udWxsLHJxPSExLG51bGwhPT1pJiZyVihzLGkpLHM9b1gocyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJ3KGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1coZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGx0KHQpLHI9bG4obHUpLG51bGw9PT1lPyhudWxsPT09KGw9bHcoKSkmJihsPXV4LGE9bHMoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbFYodCkscjYodCxsdSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobEgoZSx0KSxsWSh0LG51bGwsbnVsbCxuKSxsWCgpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI2KHQsbHUscikpOihyNih0LGx1LHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI5KHQsW2x1XSxuLCEwKSkpLG9WKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGw9PT10LnN0YXRlTm9kZSYmKHQuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSksbnVsbCE9KHI9dC5wZW5kaW5nUHJvcHMpLm5hbWUmJiJhdXRvIiE9PXIubmFtZT90LmZsYWdzfD1udWxsPT09ZT8weDEyMDIwMDA6MHgxMjAwMDAwOnJRJiZyVSh0KSxudWxsIT09ZSYmZS5tZW1vaXplZFByb3BzLm5hbWUhPT1yLm5hbWU/dC5mbGFnc3w9NDE5NDgxNjpvRyhlLHQpLG9WKGUsdCxyLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAyOTp0aHJvdyB0LnBlbmRpbmdQcm9wc310aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfWZ1bmN0aW9uIGlzKGUpe2UuZmxhZ3N8PTR9ZnVuY3Rpb24gaWMoZSx0LG4scixsKXt2YXIgYTtpZigoYT0wIT0oMzImZS5tb2RlKSkmJihhPW51bGw9PT1uP2ZzKHQscik6ZnModCxyKSYmKHIuc3JjIT09bi5zcmN8fHIuc3JjU2V0IT09bi5zcmNTZXQpKSxhKXtpZihlLmZsYWdzfD0weDEwMDAwMDAsKDB4MTNmZmZmNDAmbCk9PT1sKWlmKGUuc3RhdGVOb2RlLmNvbXBsZXRlKWUuZmxhZ3N8PTgxOTI7ZWxzZSBpZihzaSgpKWUuZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBsTz1sUCxsX31lbHNlIGUuZmxhZ3MmPS0weDEwMDAwMDF9ZnVuY3Rpb24gaWQoZSx0KXtpZigic3R5bGVzaGVldCIhPT10LnR5cGV8fDAhPSg0JnQuc3RhdGUubG9hZGluZykpZS5mbGFncyY9LTB4MTAwMDAwMTtlbHNlIGlmKGUuZmxhZ3N8PTB4MTAwMDAwMCwhZmModCkpaWYoc2koKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbE89bFAsbF99ZnVuY3Rpb24gaXAoZSx0KXtudWxsIT09dCYmKGUuZmxhZ3N8PTQpLDE2Mzg0JmUuZmxhZ3MmJih0PTIyIT09ZS50YWc/ZUkoKToweDIwMDAwMDAwLGUubGFuZXN8PXQsdWp8PXQpfWZ1bmN0aW9uIGltKGUsdCl7aWYoIXJRKXN3aXRjaChlLnRhaWxNb2RlKXtjYXNlInZpc2libGUiOmJyZWFrO2Nhc2UiY29sbGFwc2VkIjpmb3IodmFyIG49ZS50YWlsLHI9bnVsbDtudWxsIT09bjspbnVsbCE9PW4uYWx0ZXJuYXRlJiYocj1uKSxuPW4uc2libGluZztudWxsPT09cj90fHxudWxsPT09ZS50YWlsP2UudGFpbD1udWxsOmUudGFpbC5zaWJsaW5nPW51bGw6ci5zaWJsaW5nPW51bGw7YnJlYWs7ZGVmYXVsdDpmb3Iobj1udWxsLHQ9ZS50YWlsO251bGwhPT10OyludWxsIT09dC5hbHRlcm5hdGUmJihuPXQpLHQ9dC5zaWJsaW5nO251bGw9PT1uP2UudGFpbD1udWxsOm4uc2libGluZz1udWxsfX1mdW5jdGlvbiBpaChlKXt2YXIgdD1udWxsIT09ZS5hbHRlcm5hdGUmJmUuYWx0ZXJuYXRlLmNoaWxkPT09ZS5jaGlsZCxuPTAscj0wO2lmKHQpZm9yKHZhciBsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PTB4N2YwMDAwMCZsLnN1YnRyZWVGbGFncyxyfD0weDdmMDAwMDAmbC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO2Vsc2UgZm9yKGw9ZS5jaGlsZDtudWxsIT09bDspbnw9bC5sYW5lc3xsLmNoaWxkTGFuZXMscnw9bC5zdWJ0cmVlRmxhZ3Mscnw9bC5mbGFncyxsLnJldHVybj1lLGw9bC5zaWJsaW5nO3JldHVybiBlLnN1YnRyZWVGbGFnc3w9cixlLmNoaWxkTGFuZXM9bix0fWZ1bmN0aW9uIGlnKGUsdCl7c3dpdGNoKHJCKHQpLHQudGFnKXtjYXNlIDM6cjUobHUpLGVhKCk7YnJlYWs7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTplaSh0KTticmVhaztjYXNlIDQ6ZWEoKTticmVhaztjYXNlIDMxOm51bGwhPT10Lm1lbW9pemVkU3RhdGUmJmFlKHQpO2JyZWFrO2Nhc2UgMTM6YWUodCk7YnJlYWs7Y2FzZSAxOTphcih0KTticmVhaztjYXNlIDEwOnI1KHQudHlwZSk7YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmFlKHQpLGwzKCksbnVsbCE9PWUmJkoobGIpO2JyZWFrO2Nhc2UgMjQ6cjUobHUpfX1mdW5jdGlvbiBpdihlLHQpe3RyeXt2YXIgbj10LnVwZGF0ZVF1ZXVlLHI9bnVsbCE9PW4/bi5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PXIpe3ZhciBsPXIubmV4dDtuPWw7ZG97aWYoKG4udGFnJmUpPT09ZSl7cj12b2lkIDA7dmFyIGE9bi5jcmVhdGU7bi5pbnN0LmRlc3Ryb3k9cj1hKCl9bj1uLm5leHR9d2hpbGUobiE9PWwpfX1jYXRjaChlKXtzTih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpeShlLHQsbil7dHJ5e3ZhciByPXQudXBkYXRlUXVldWUsbD1udWxsIT09cj9yLmxhc3RFZmZlY3Q6bnVsbDtpZihudWxsIT09bCl7dmFyIGE9bC5uZXh0O3I9YTtkb3tpZigoci50YWcmZSk9PT1lKXt2YXIgbz1yLmluc3QsaT1vLmRlc3Ryb3k7aWYodm9pZCAwIT09aSl7by5kZXN0cm95PXZvaWQgMCxsPXQ7dHJ5e2koKX1jYXRjaChlKXtzTihsLG4sZSl9fX1yPXIubmV4dH13aGlsZShyIT09YSl9fWNhdGNoKGUpe3NOKHQsdC5yZXR1cm4sZSl9fWZ1bmN0aW9uIGliKGUpe3ZhciB0PWUudXBkYXRlUXVldWU7aWYobnVsbCE9PXQpe3ZhciBuPWUuc3RhdGVOb2RlO3RyeXtsSih0LG4pfWNhdGNoKHQpe3NOKGUsZS5yZXR1cm4sdCl9fX1mdW5jdGlvbiBpdyhlLHQsbil7bi5wcm9wcz1veihlLnR5cGUsZS5tZW1vaXplZFByb3BzKSxuLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZTt0cnl7bi5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKG4pe3NOKGUsdCxuKX19ZnVuY3Rpb24gaVMoZSx0KXt0cnl7dmFyIG49ZS5yZWY7aWYobnVsbCE9PW4pe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTp2YXIgcj1lLnN0YXRlTm9kZTticmVhaztjYXNlIDMwOnZhciBsPWUuc3RhdGVOb2RlLGE9cnIoZS5tZW1vaXplZFByb3BzLGwpOyhudWxsPT09bC5yZWZ8fGwucmVmLm5hbWUhPT1hKSYmKGwucmVmPWNUKGEpKSxyPWwucmVmO2JyZWFrO2Nhc2UgNzppZihudWxsPT09ZS5zdGF0ZU5vZGUpe3ZhciBvPW5ldyBjTyhlKTttKGUuY2hpbGQsITEsY0Isbyx2b2lkIDAsdm9pZCAwKSxlLnN0YXRlTm9kZT1vfXI9ZS5zdGF0ZU5vZGU7YnJlYWs7ZGVmYXVsdDpyPWUuc3RhdGVOb2RlfSJmdW5jdGlvbiI9PXR5cGVvZiBuP2UucmVmQ2xlYW51cD1uKHIpOm4uY3VycmVudD1yfX1jYXRjaChuKXtzTihlLHQsbil9fWZ1bmN0aW9uIGlrKGUsdCl7dmFyIG49ZS5yZWYscj1lLnJlZkNsZWFudXA7aWYobnVsbCE9PW4paWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpdHJ5e3IoKX1jYXRjaChuKXtzTihlLHQsbil9ZmluYWxseXtlLnJlZkNsZWFudXA9bnVsbCxudWxsIT0oZT1lLmFsdGVybmF0ZSkmJihlLnJlZkNsZWFudXA9bnVsbCl9ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2Ygbil0cnl7bihudWxsKX1jYXRjaChuKXtzTihlLHQsbil9ZWxzZSBuLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBpRShlKXt2YXIgdD1lLnR5cGUsbj1lLm1lbW9pemVkUHJvcHMscj1lLnN0YXRlTm9kZTt0cnl7c3dpdGNoKHQpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6bi5hdXRvRm9jdXMmJnIuZm9jdXMoKTticmVhaztjYXNlImltZyI6bi5zcmM/ci5zcmM9bi5zcmM6bi5zcmNTZXQmJihyLnNyY3NldD1uLnNyY1NldCl9fWNhdGNoKHQpe3NOKGUsZS5yZXR1cm4sdCl9fWZ1bmN0aW9uIGlfKGUsdCxuKXt0cnl7dmFyIHI9ZS5zdGF0ZU5vZGU7KGZ1bmN0aW9uKGUsdCxuLHIpe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImlucHV0Ijp2YXIgbD1udWxsLGE9bnVsbCxvPW51bGwsaT1udWxsLHM9bnVsbCxjPW51bGwsZj1udWxsO2ZvcihtIGluIG4pe3ZhciBkPW5bbV07aWYobi5oYXNPd25Qcm9wZXJ0eShtKSYmbnVsbCE9ZClzd2l0Y2gobSl7Y2FzZSJjaGVja2VkIjpjYXNlInZhbHVlIjpicmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6cz1kO2RlZmF1bHQ6ci5oYXNPd25Qcm9wZXJ0eShtKXx8Y3IoZSx0LG0sbnVsbCxyLGQpfX1mb3IodmFyIHAgaW4gcil7dmFyIG09cltwXTtpZihkPW5bcF0sci5oYXNPd25Qcm9wZXJ0eShwKSYmKG51bGwhPW18fG51bGwhPWQpKXN3aXRjaChwKXtjYXNlInR5cGUiOm0hPT1kJiYodHI9ITApLGE9bTticmVhaztjYXNlIm5hbWUiOm0hPT1kJiYodHI9ITApLGw9bTticmVhaztjYXNlImNoZWNrZWQiOm0hPT1kJiYodHI9ITApLGM9bTticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjptIT09ZCYmKHRyPSEwKSxmPW07YnJlYWs7Y2FzZSJ2YWx1ZSI6bSE9PWQmJih0cj0hMCksbz1tO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjptIT09ZCYmKHRyPSEwKSxpPW07YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9bSl0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDptIT09ZCYmY3IoZSx0LHAsbSxyLGQpfX10aChlLG8saSxzLGMsZixhLGwpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gbT1vPWk9cD1udWxsLG4paWYocz1uW2FdLG4uaGFzT3duUHJvcGVydHkoYSkmJm51bGwhPXMpc3dpdGNoKGEpe2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UibXVsdGlwbGUiOm09cztkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkoYSl8fGNyKGUsdCxhLG51bGwscixzKX1mb3IobCBpbiByKWlmKGE9cltsXSxzPW5bbF0sci5oYXNPd25Qcm9wZXJ0eShsKSYmKG51bGwhPWF8fG51bGwhPXMpKXN3aXRjaChsKXtjYXNlInZhbHVlIjphIT09cyYmKHRyPSEwKSxwPWE7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmEhPT1zJiYodHI9ITApLGk9YTticmVhaztjYXNlIm11bHRpcGxlIjphIT09cyYmKHRyPSEwKSxvPWE7ZGVmYXVsdDphIT09cyYmY3IoZSx0LGwsYSxyLHMpfXQ9aSxuPW8scj1tLG51bGwhPXA/dHkoZSwhIW4scCwhMSk6ISFyIT0hIW4mJihudWxsIT10P3R5KGUsISFuLHQsITApOnR5KGUsISFuLG4/W106IiIsITEpKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKGkgaW4gbT1wPW51bGwsbilpZihsPW5baV0sbi5oYXNPd25Qcm9wZXJ0eShpKSYmbnVsbCE9bCYmIXIuaGFzT3duUHJvcGVydHkoaSkpc3dpdGNoKGkpe2Nhc2UidmFsdWUiOmNhc2UiY2hpbGRyZW4iOmJyZWFrO2RlZmF1bHQ6Y3IoZSx0LGksbnVsbCxyLGwpfWZvcihvIGluIHIpaWYobD1yW29dLGE9bltvXSxyLmhhc093blByb3BlcnR5KG8pJiYobnVsbCE9bHx8bnVsbCE9YSkpc3dpdGNoKG8pe2Nhc2UidmFsdWUiOmwhPT1hJiYodHI9ITApLHA9bDticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bCE9PWEmJih0cj0hMCksbT1sO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWwpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6bCE9PWEmJmNyKGUsdCxvLGwscixhKX10YihlLHAsbSk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IodmFyIGggaW4gbilwPW5baF0sbi5oYXNPd25Qcm9wZXJ0eShoKSYmbnVsbCE9cCYmIXIuaGFzT3duUHJvcGVydHkoaCkmJigic2VsZWN0ZWQiPT09aD9lLnNlbGVjdGVkPSExOmNyKGUsdCxoLG51bGwscixwKSk7Zm9yKHMgaW4gcilwPXJbc10sbT1uW3NdLHIuaGFzT3duUHJvcGVydHkocykmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJigic2VsZWN0ZWQiPT09cz8ocCE9PW0mJih0cj0hMCksZS5zZWxlY3RlZD1wJiYiZnVuY3Rpb24iIT10eXBlb2YgcCYmInN5bWJvbCIhPXR5cGVvZiBwKTpjcihlLHQscyxwLHIsbSkpO3JldHVybjtjYXNlImltZyI6Y2FzZSJsaW5rIjpjYXNlImFyZWEiOmNhc2UiYmFzZSI6Y2FzZSJiciI6Y2FzZSJjb2wiOmNhc2UiZW1iZWQiOmNhc2UiaHIiOmNhc2Uia2V5Z2VuIjpjYXNlIm1ldGEiOmNhc2UicGFyYW0iOmNhc2Uic291cmNlIjpjYXNlInRyYWNrIjpjYXNlIndiciI6Y2FzZSJtZW51aXRlbSI6Zm9yKHZhciBnIGluIG4pcD1uW2ddLG4uaGFzT3duUHJvcGVydHkoZykmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGcpJiZjcihlLHQsZyxudWxsLHIscCk7Zm9yKGMgaW4gcilpZihwPXJbY10sbT1uW2NdLHIuaGFzT3duUHJvcGVydHkoYykmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXApdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6Y3IoZSx0LGMscCxyLG0pfXJldHVybjtkZWZhdWx0OmlmKHR4KHQpKXtmb3IodmFyIHYgaW4gbilwPW5bdl0sbi5oYXNPd25Qcm9wZXJ0eSh2KSYmdm9pZCAwIT09cCYmIXIuaGFzT3duUHJvcGVydHkodikmJmNsKGUsdCx2LHZvaWQgMCxyLHApO2ZvcihmIGluIHIpcD1yW2ZdLG09bltmXSxyLmhhc093blByb3BlcnR5KGYpJiZwIT09bSYmKHZvaWQgMCE9PXB8fHZvaWQgMCE9PW0pJiZjbChlLHQsZixwLHIsbSk7cmV0dXJufX1mb3IodmFyIHkgaW4gbilwPW5beV0sbi5oYXNPd25Qcm9wZXJ0eSh5KSYmbnVsbCE9cCYmIXIuaGFzT3duUHJvcGVydHkoeSkmJmNyKGUsdCx5LG51bGwscixwKTtmb3IoZCBpbiByKXA9cltkXSxtPW5bZF0sci5oYXNPd25Qcm9wZXJ0eShkKSYmcCE9PW0mJihudWxsIT1wfHxudWxsIT1tKSYmY3IoZSx0LGQscCxyLG0pfSkocixlLnR5cGUsbix0KSxyW2VxXT10fWNhdGNoKHQpe3NOKGUsZS5yZXR1cm4sdCl9fWZ1bmN0aW9uIGl4KGUsdCl7aWYoKDU9PT1lLnRhZ3x8Nj09PWUudGFnKSYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljSChlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpUChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpQyh0KSl7dmFyIG49dC5zdGF0ZU5vZGUscj1lLnN0YXRlTm9kZTtpZigzIT09ci5ub2RlVHlwZSl7dmFyIGw9bi5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PWwpZm9yKHZhciBhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07ci5yZW1vdmVFdmVudExpc3RlbmVyKG8udHlwZSxvLmxpc3RlbmVyLG8ub3B0aW9uc09yVXNlQ2FwdHVyZSl9bnVsbCE9ci5yZWFjdEZyYWdtZW50cyYmci5yZWFjdEZyYWdtZW50cy5kZWxldGUobil9fWlmKGlOKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlOKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY2IoZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlDKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpVChlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpTihlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmNiKGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlPKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGl4KGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY2IoZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlPKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpTyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpeihlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NhKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c04oZSxlLnJldHVybix0KX19dmFyIGlMPSExLGlSPW51bGw7ZnVuY3Rpb24gaU0oZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlMPSEwKX12YXIgaUk9bnVsbDtmdW5jdGlvbiBpRCgpe3ZhciBlPWlJO3JldHVybiBpST1udWxsLGV9dmFyIGlGPTA7ZnVuY3Rpb24gaUEoZSx0LG4scixsKXtyZXR1cm4gaUY9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lMPSEwLGNrKGksMD09PWlGP246bisiXyIraUYsciksaUYrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlqKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NFKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aWooZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaVUoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlVKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1yYSh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUEoZSxuLHQsbnVsbCwhMSl8fGlqKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaUIoZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJyKHIsbiksYT1yYShyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lBKGUsbCxhLG51bGwsITEpPyhpVShlKSxuLnBhaXJlZHx8dHx8dTkoZSxyLm9uRW50ZXIpKTppaihlLmNoaWxkLCExKTppVShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlCKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpVShlKX1mdW5jdGlvbiBpVihlKXtpZihudWxsIT09aVImJjAhPT1pUi5zaXplKXt2YXIgdD1pUjtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJhKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUEoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1OShlLG4ub25TaGFyZSkpOmlqKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVYoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ycih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pUj9pUi5nZXQobik6dm9pZCAwLGw9cmEodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpQShlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaVIuZGVsZXRlKG4pLHU5KGUsdC5vblNoYXJlKSk6dTkoZSx0Lm9uRXhpdCk6aWooZS5jaGlsZCwhMSkpLG51bGwhPT1pUiYmaVYoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpSChlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1pUiYmaVYoZSl9ZnVuY3Rpb24gaSQoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaWooZS5jaGlsZCwhMSkpfWkkKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpUShlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlqKGUuY2hpbGQsITEpLGkkKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaVEoZSksZT1lLnNpYmxpbmc7ZWxzZSBpJChlKX1mdW5jdGlvbiBpVyhlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpRjxhLmxlbmd0aCl7dmFyIHMsYz1hW2lGXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pRj9uOm4rIl8iK2lGLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlJJiYoaUk9W10pLGlJLnB1c2godSwwPT09aUY/cjpyKyJfIitpRix0Lm1lbW9pemVkUHJvcHMpKSxpRisrfWVsc2UoMjIhPT10LnRhZ3x8bnVsbD09PXQubWVtb2l6ZWRTdGF0ZSkmJigzMD09PXQudGFnJiZvP2UuZmxhZ3N8PTMyJnQuZmxhZ3M6aVcoZSx0LmNoaWxkLG4scixsLGEsbykmJihpPSEwKSk7dD10LnNpYmxpbmd9cmV0dXJuIGl9dmFyIGlxPSExLGlLPSExLGlYPSExLGlZPSExLGlHPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrU2V0P1dlYWtTZXQ6U2V0LGlKPW51bGwsaVo9ITEsaTA9ITEsaTE9ITEsaTI9ITE7ZnVuY3Rpb24gaTMoZSl7Zm9yKDtudWxsIT09aUo7KXt2YXIgdD1pSixuPWUscj10LmFsdGVybmF0ZSxsPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmlmKDAhPSg0JmwpJiZudWxsIT09KHI9bnVsbCE9PShyPXQudXBkYXRlUXVldWUpP3IuZXZlbnRzOm51bGwpKWZvcihuPTA7bjxyLmxlbmd0aDtuKyspKGw9cltuXSkucmVmLmltcGw9bC5uZXh0SW1wbDticmVhaztjYXNlIDE6aWYoMCE9KDEwMjQmbCkmJm51bGwhPT1yKXtuPXZvaWQgMCxsPXIubWVtb2l6ZWRQcm9wcyxyPXIubWVtb2l6ZWRTdGF0ZTt2YXIgYT10LnN0YXRlTm9kZTt0cnl7dmFyIG89b3oodC50eXBlLGwpO249YS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShvLHIpLGEuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGU9bn1jYXRjaChlKXtzTih0LHQucmV0dXJuLGUpfX1icmVhaztjYXNlIDM6aWYoMCE9KDEwMjQmbCkpe2lmKDk9PT0obj0ocj10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZSkpYyQocik7ZWxzZSBpZigxPT09bilzd2l0Y2goci5ub2RlTmFtZSl7Y2FzZSJIRUFEIjpjYXNlIkhUTUwiOmNhc2UiQk9EWSI6YyQocik7YnJlYWs7ZGVmYXVsdDpyLnRleHRDb250ZW50PSIifX1icmVhaztjYXNlIDU6Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDMwOm4mJm51bGwhPT1yJiYobj1ycihyLm1lbW9pemVkUHJvcHMsci5zdGF0ZU5vZGUpLCJub25lIiE9PShsPXJhKChsPXQubWVtb2l6ZWRQcm9wcykuZGVmYXVsdCxsLnVwZGF0ZSkpJiZpQShyLG4sbCxyLm1lbW9pemVkU3RhdGU9W10sITApKTticmVhaztkZWZhdWx0OmlmKDAhPSgxMDI0JmwpKXRocm93IEVycm9yKHUoMTYzKSl9aWYobnVsbCE9PShyPXQuc2libGluZykpe3IucmV0dXJuPXQucmV0dXJuLGlKPXI7YnJlYWt9aUo9dC5yZXR1cm59fWZ1bmN0aW9uIGk0KGUsdCxuKXt2YXIgcj1uLmZsYWdzO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1cyhlLG4pLDQmciYmaXYoNSxuKTticmVhaztjYXNlIDE6aWYodXMoZSxuKSw0JnIpaWYoZT1uLnN0YXRlTm9kZSxudWxsPT09dCl0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NOKG4sbi5yZXR1cm4sZSl9ZWxzZXt2YXIgbD1veihuLnR5cGUsdC5tZW1vaXplZFByb3BzKTt0PXQubWVtb2l6ZWRTdGF0ZTt0cnl7ZS5jb21wb25lbnREaWRVcGRhdGUobCx0LGUuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfWNhdGNoKGUpe3NOKG4sbi5yZXR1cm4sZSl9fTY0JnImJmliKG4pLDUxMiZyJiZpUyhuLG4ucmV0dXJuKTticmVhaztjYXNlIDM6aWYodXMoZSxuKSw2NCZyJiZudWxsIT09KGU9bi51cGRhdGVRdWV1ZSkpe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgMjc6Y2FzZSA1OmNhc2UgMTp0PW4uY2hpbGQuc3RhdGVOb2RlfXRyeXtsSihlLHQpfWNhdGNoKGUpe3NOKG4sbi5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMjc6bnVsbD09PXQmJjQmciYmaXoobik7Y2FzZSAyNjpjYXNlIDU6dXMoZSxuKSxudWxsPT09dCYmNCZyJiZpRShuKSw1MTImciYmaVMobixuLnJldHVybik7YnJlYWs7Y2FzZSAxMjp1cyhlLG4pO2JyZWFrO2Nhc2UgMzE6dXMoZSxuKSw0JnImJnVlKGUsbik7YnJlYWs7Y2FzZSAxMzp1cyhlLG4pLDQmciYmdXQoZSxuKSw2NCZyJiZudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShlPWUuZGVoeWRyYXRlZCkmJmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5vd25lckRvY3VtZW50O2lmKCIkfiI9PT1lLmRhdGEpZS5fcmVhY3RSZXRyeT10O2Vsc2UgaWYoIiQ/IiE9PWUuZGF0YXx8ImxvYWRpbmciIT09bi5yZWFkeVN0YXRlKXQoKTtlbHNle3ZhciByPWZ1bmN0aW9uKCl7dCgpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIscil9O24uYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsciksZS5fcmVhY3RSZXRyeT1yfX0oZSxuPXN6LmJpbmQobnVsbCxuKSk7YnJlYWs7Y2FzZSAyMjppZighKHI9bnVsbCE9PW4ubWVtb2l6ZWRTdGF0ZXx8aXEpKXt0PW51bGwhPT10JiZudWxsIT09dC5tZW1vaXplZFN0YXRlfHxpSyxsPWlxO3ZhciBhPWlLO2lxPXIsKGlLPXQpJiYhYT9mdW5jdGlvbiBlKHQsbixyKXtmb3Iocj1yJiYwIT0oODc3MiZuLnN1YnRyZWVGbGFncyksbj1uLmNoaWxkO251bGwhPT1uOyl7dmFyIGw9bi5hbHRlcm5hdGUsYT10LG89bixpPW8uZmxhZ3M7c3dpdGNoKG8udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmUoYSxvLHIpLGl2KDQsbyk7YnJlYWs7Y2FzZSAxOmlmKGUoYSxvLHIpLCJmdW5jdGlvbiI9PXR5cGVvZihhPShsPW8pLnN0YXRlTm9kZSkuY29tcG9uZW50RGlkTW91bnQpdHJ5e2EuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChlKXtzTihsLGwucmV0dXJuLGUpfWlmKG51bGwhPT0oYT0obD1vKS51cGRhdGVRdWV1ZSkpe3ZhciB1PWwuc3RhdGVOb2RlO3RyeXt2YXIgcz1hLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M7aWYobnVsbCE9PXMpZm9yKGEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcz1udWxsLGE9MDthPHMubGVuZ3RoO2ErKylsRyhzW2FdLHUpfWNhdGNoKGUpe3NOKGwsbC5yZXR1cm4sZSl9fXImJjY0JmkmJmliKG8pLGlTKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMjc6aXoobyk7Y2FzZSAyNjpjYXNlIDU6aWYoNT09PW8udGFnKXt1PW87Zm9yKHZhciBjPXUucmV0dXJuO251bGwhPT1jJiYoaUMoYykmJmNIKHUuc3RhdGVOb2RlLGMuc3RhdGVOb2RlKSwhaU4oYykpOyljPWMucmV0dXJufWUoYSxvLHIpLHImJm51bGw9PT1sJiY0JmkmJmlFKG8pLGlTKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6ZShhLG8scik7YnJlYWs7Y2FzZSAzMTplKGEsbyxyKSxyJiY0JmkmJnVlKGEsbyk7YnJlYWs7Y2FzZSAxMzplKGEsbyxyKSxyJiY0JmkmJnV0KGEsbyk7YnJlYWs7Y2FzZSAyMjpudWxsPT09by5tZW1vaXplZFN0YXRlJiZlKGEsbyxyKSxpUyhvLG8ucmV0dXJuKTticmVhaztjYXNlIDMwOmUoYSxvLHIpLGlTKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgNzppUyhvLG8ucmV0dXJuKTtkZWZhdWx0OmUoYSxvLHIpfW49bi5zaWJsaW5nfX0oZSxuLDAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSk6dXMoZSxuKSxpcT1sLGlLPWF9YnJlYWs7Y2FzZSAzMDp1cyhlLG4pLDUxMiZyJiZpUyhuLG4ucmV0dXJuKTticmVhaztjYXNlIDc6NTEyJnImJmlTKG4sbi5yZXR1cm4pO2RlZmF1bHQ6dXMoZSxuKX19ZnVuY3Rpb24gaTYoZSx0KXtmb3IoZT1lLmNoaWxkO251bGwhPT1lOykoZnVuY3Rpb24gZSh0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSA1OmNhc2UgMjY6dHJ5e3ZhciByPXQuc3RhdGVOb2RlO2lmKG4pe3ZhciBsPXIuc3R5bGU7ImZ1bmN0aW9uIj09dHlwZW9mIGwuc2V0UHJvcGVydHk/bC5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsIm5vbmUiLCJpbXBvcnRhbnQiKTpsLmRpc3BsYXk9Im5vbmUifWVsc2V7dmFyIGE9dC5zdGF0ZU5vZGUsbz10Lm1lbW9pemVkUHJvcHMuc3R5bGUsaT1udWxsIT1vJiZvLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/by5kaXNwbGF5Om51bGw7YS5zdHlsZS5kaXNwbGF5PW51bGw9PWl8fCJib29sZWFuIj09dHlwZW9mIGk/IiI6KCIiK2kpLnRyaW0oKX19Y2F0Y2goZSl7c04odCx0LnJldHVybixlKX0hZnVuY3Rpb24gdChuLHIpe2lmKDB4NDAwMDAwMCZuLnN1YnRyZWVGbGFncylmb3Iobj1uLmNoaWxkO251bGwhPT1uOyl7ZTp7dmFyIGw9bjtzd2l0Y2gobC50YWcpe2Nhc2UgNDplKGwscik7YnJlYWsgZTtjYXNlIDIyOm51bGw9PT1sLm1lbW9pemVkU3RhdGUmJnQobCxyKTticmVhayBlO2RlZmF1bHQ6dChsLHIpfX1uPW4uc2libGluZ319KHQsbik7YnJlYWs7Y2FzZSA2OnRyeXt0LnN0YXRlTm9kZS5ub2RlVmFsdWU9bj8iIjp0Lm1lbW9pemVkUHJvcHMsdHI9ITB9Y2F0Y2goZSl7c04odCx0LnJldHVybixlKX1icmVhaztjYXNlIDE4OnRyeXt2YXIgdT10LnN0YXRlTm9kZTtuP2NTKHUsITApOmNTKHQuc3RhdGVOb2RlLCExKX1jYXRjaChlKXtzTih0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpudWxsPT09dC5tZW1vaXplZFN0YXRlJiZpNih0LG4pO2JyZWFrO2RlZmF1bHQ6aTYodCxuKX19KShlLHQpLGU9ZS5zaWJsaW5nfXZhciBpNT1udWxsLGk4PSExO2Z1bmN0aW9uIGk5KGUsdCxuKXtmb3Iobj1uLmNoaWxkO251bGwhPT1uOylpNyhlLHQsbiksbj1uLnNpYmxpbmd9ZnVuY3Rpb24gaTcoZSx0LG4pe2lmKGV4JiYiZnVuY3Rpb24iPT10eXBlb2YgZXgub25Db21taXRGaWJlclVubW91bnQpdHJ5e2V4Lm9uQ29tbWl0RmliZXJVbm1vdW50KGVfLG4pfWNhdGNoKGUpe31zd2l0Y2gobi50YWcpe2Nhc2UgMjY6aUt8fGlrKG4sdCksaTkoZSx0LG4pLG4ubWVtb2l6ZWRTdGF0ZT9uLm1lbW9pemVkU3RhdGUuY291bnQtLTpuLnN0YXRlTm9kZSYmKG49bi5zdGF0ZU5vZGUpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobik7YnJlYWs7Y2FzZSAyNzppS3x8aWsobix0KTt2YXIgcj1pNSxsPWk4O2NiKG4udHlwZSkmJihpNT1uLnN0YXRlTm9kZSxpOD0hMSksaTkoZSx0LG4pLGNaKG4uc3RhdGVOb2RlKSxpNT1yLGk4PWw7YnJlYWs7Y2FzZSA1OmlLfHxpayhuLHQpLDUhPT1uLnRhZyYmNiE9PW4udGFnfHxpUChuKTtjYXNlIDY6aWYocj1pNSxsPWk4LGk1PW51bGwsaTkoZSx0LG4pLGk1PXIsaTg9bCxudWxsIT09aTUpaWYoaTgpdHJ5eyg5PT09aTUubm9kZVR5cGU/aTUuYm9keToiSFRNTCI9PT1pNS5ub2RlTmFtZT9pNS5vd25lckRvY3VtZW50LmJvZHk6aTUpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzTihuLHQsZSl9ZWxzZSB0cnl7aTUucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NOKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNSYmKGk4Pyhjdyg5PT09KGU9aTUpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZaKGUpKTpjdyhpNSxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk1LGw9aTgsaTU9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpOShlLHQsbiksaTU9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppeSgyLG4sdCksaUt8fGl5KDQsbix0KSxpOShlLHQsbik7YnJlYWs7Y2FzZSAxOmlLfHwoaWsobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml3KG4sdCxyKSksaTkoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppOShlLHQsbik7YnJlYWs7Y2FzZSAyMjppSz0ocj1pSyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTkoZSx0LG4pLGlLPXI7YnJlYWs7Y2FzZSAzMDppayhuLHQpLGk5KGUsdCxuKTticmVhaztjYXNlIDc6aUt8fGlrKG4sdCksaTkoZSx0LG4pfX1mdW5jdGlvbiB1ZShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZlooZSl9Y2F0Y2goZSl7c04odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIHV0KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmWihlKX1jYXRjaChlKXtzTih0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1bihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaUcpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlHKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNMLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHVyKGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY2Iocy50eXBlKSl7aTU9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTU9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk1PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNSl0aHJvdyBFcnJvcih1KDE2MCkpO2k3KG8saSxhKSxpNT1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVhKHQsZSxuKSx0PXQuc2libGluZ312YXIgdWw9bnVsbDtmdW5jdGlvbiB1YShlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnVyKHQsZSxuKSx1byhlKSw0JmwmJihpeSgzLGUsZS5yZXR1cm4pLGl2KDMsZSksaXkoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnVyKHQsZSxuKSx1byhlKSw1MTImbCYmKGlLfHxudWxsPT09cnx8aWsocixyLnJldHVybikpLDY0JmwmJmlxJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bDtpZih1cih0LGUsbiksdW8oZSksNTEyJmwmJihpS3x8bnVsbD09PXJ8fGlrKHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNhKGwscix0KSxsW2VXXT1lLGU2KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1maSgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNhKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1maSgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jYShsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU2KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZnUoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9Zm4oYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZnUoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmZuKGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpXyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXIodCxlLG4pLHVvKGUpLDUxMiZsJiYoaUt8fG51bGw9PT1yfHxpayhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaV8oZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pWCxpWD0hMSx1cih0LGUsbiksaVg9YSx1byhlKSw1MTImbCYmKGlLfHxudWxsPT09cnx8aWsocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RTKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NOKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpXyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpWT0hMCk7YnJlYWs7Y2FzZSA2OmlmKHVyKHQsZSxuKSx1byhlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c04oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZvPW51bGwsYT11bCx1bD1jMih0LmNvbnRhaW5lckluZm8pLHVyKHQsZSxuKSx1bD1hLHVvKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZaKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c04oZSxlLnJldHVybix0KX1pWSYmKGlZPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiYobj1uLnN0YXRlTm9kZSxmQz0hMCxuLnJlc2V0KCksZkM9ITEpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlYLGlYPWlxLGw9dGwoKSxhPXVsLHVsPWMyKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVyKHQsZSxuKSx1byhlKSx1bD1hLHRyJiZpMCYmKGkxPSEwKSx0cj1sLGlYPXI7YnJlYWs7Y2FzZSAxMjp1cih0LGUsbiksdW8oZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnVyKHQsZSxuKSx1byhlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1bihlLHIpKTticmVhaztjYXNlIDEzOnVyKHQsZSxuKSx1byhlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1SD1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1bihlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlxLHM9aUssYz1pWDtpcT1pfHxhLGlYPWN8fGEsaUs9c3x8byx1cih0LGUsbiksaUs9cyxpWD1jLGlxPWksdW8oZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpcXx8aUt8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aXkoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppayhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXcobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y1oobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1OmlrKG4sbi5yZXR1cm4pLDUhPT1uLnRhZyYmNiE9PW4udGFnfHxpUChuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6bnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSYmZShuKTticmVhaztjYXNlIDMwOmlrKG4sbi5yZXR1cm4pLGUobik7YnJlYWs7Y2FzZSA3OmlrKG4sbi5yZXR1cm4pO2RlZmF1bHQ6ZShuKX10PXQuc2libGluZ319KGUpKSwhYSYmaVh8fGk2KGUsYSkpLDQmbCYmbnVsbCE9PShyPWUudXBkYXRlUXVldWUpJiZudWxsIT09KHQ9ci5yZXRyeVF1ZXVlKSYmKHIucmV0cnlRdWV1ZT1udWxsLHVuKGUsdCkpO2JyZWFrO2Nhc2UgMzA6NTEyJmwmJihpS3x8bnVsbD09PXJ8fGlrKHIsci5yZXR1cm4pKSxsPXRsKCksYT1pMCxvPSgweDEzZmZmZjAwJm4pPT09bixpPWUubWVtb2l6ZWRQcm9wcyxpMD1vJiYibm9uZSIhPT1yYShpLmRlZmF1bHQsaS51cGRhdGUpLHVyKHQsZSxuKSx1byhlKSxvJiZudWxsIT09ciYmdHImJihlLmZsYWdzfD00KSxpMD1hLHRyPWw7YnJlYWs7Y2FzZSAyMTpicmVhaztjYXNlIDc6ciYmbnVsbCE9PXIuc3RhdGVOb2RlJiYoci5zdGF0ZU5vZGUuX2ZyYWdtZW50RmliZXI9ZSk7ZGVmYXVsdDp1cih0LGUsbiksdW8oZSl9fWZ1bmN0aW9uIHVvKGUpe3ZhciB0PWUuZmxhZ3M7aWYoMiZ0KXt0cnl7Zm9yKHZhciBuLHI9bnVsbCxsPWUucmV0dXJuO251bGwhPT1sOyl7aWYoaUMobCkpe3ZhciBhPWwuc3RhdGVOb2RlO251bGw9PT1yP3I9W2FdOnIucHVzaChhKX1pZihpTihsKSl7bj1sO2JyZWFrfWw9bC5yZXR1cm59aWYobnVsbD09bil0aHJvdyBFcnJvcih1KDE2MCkpO3N3aXRjaChuLnRhZyl7Y2FzZSAyNzp2YXIgbz1uLnN0YXRlTm9kZSxpPWlUKGUpO2lPKGUsaSxvLHIpO2JyZWFrO2Nhc2UgNTp2YXIgcz1uLnN0YXRlTm9kZTszMiZuLmZsYWdzJiYodFMocywiIiksbi5mbGFncyY9LTMzKTt2YXIgYz1pVChlKTtpTyhlLGMscyxyKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciBmPW4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sZD1pVChlKTshZnVuY3Rpb24gZSh0LG4scixsKXt2YXIgYT10LnRhZztpZig1PT09YXx8Nj09PWEpYT10LnN0YXRlTm9kZSxuPyg5PT09ci5ub2RlVHlwZT9yLmJvZHk6IkhUTUwiPT09ci5ub2RlTmFtZT9yLm93bmVyRG9jdW1lbnQuYm9keTpyKS5pbnNlcnRCZWZvcmUoYSxuKTooKG49OT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuYXBwZW5kQ2hpbGQoYSksbnVsbCE9KHI9ci5fcmVhY3RSb290Q29udGFpbmVyKXx8bnVsbCE9PW4ub25jbGlja3x8KG4ub25jbGljaz10VCkpLGl4KHQsbCksdHI9ITA7ZWxzZSBpZig0IT09YSYmKDI3PT09YSYmY2IodC50eXBlKSYmKHI9dC5zdGF0ZU5vZGUsbj1udWxsKSxudWxsIT09KHQ9dC5jaGlsZCkpKWZvcihlKHQsbixyLGwpLHQ9dC5zaWJsaW5nO251bGwhPT10OyllKHQsbixyLGwpLHQ9dC5zaWJsaW5nfShlLGQsZixyKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMTYxKSl9fWNhdGNoKHQpe3NOKGUsZS5yZXR1cm4sdCl9ZS5mbGFncyY9LTN9NDA5NiZ0JiYoZS5mbGFncyY9LTQwOTcpfWZ1bmN0aW9uIHVpKGUsdCl7aWYoOTI3MCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl1dSh0LGUpLHQ9dC5zaWJsaW5nO2Vsc2UhZnVuY3Rpb24gZSh0LG4pe2Zvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXtpZigzMD09PXQudGFnKXt2YXIgcj10Lm1lbW9pemVkUHJvcHMsbD10LnN0YXRlTm9kZSxhPXJyKHIsbCksbz1yYShyLmRlZmF1bHQsci51cGRhdGUpO2lmKG4pdmFyIGk9bnVsbD09PShsPWwuY2xvbmVzKT9udWxsOmwubWFwKGNQKTtlbHNlIGk9dC5tZW1vaXplZFN0YXRlLHQubWVtb2l6ZWRTdGF0ZT1udWxsO2w9dDt2YXIgdT10LmNoaWxkO2lGPTAsYT1pVyhsLHUsYSxhLG8saSwhMSksMCE9KDQmdC5mbGFncykmJmEmJihufHx1OSh0LHIub25VcGRhdGUpKX1lbHNlIDAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQsbik7dD10LnNpYmxpbmd9fSh0LCExKX1mdW5jdGlvbiB1dShlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO2lmKG51bGw9PT1uKWlCKGUsITEpO2Vsc2Ugc3dpdGNoKGUudGFnKXtjYXNlIDM6aWYoaTI9aVo9ITEsaUQoKSx1aSh0LGUpLCFpWiYmIWkxKXtpZihudWxsIT09KGU9aUkpKWZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cis9Myl7bj1lW3JdO3ZhciBsPWVbcisxXTtjRShuLGVbcisyXSksbnVsbCE9PShuPW4ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiZuLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cCgiK2wrIikifSl9bnVsbCE9PShlPTk9PT0oZT10LmNvbnRhaW5lckluZm8pLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiYiIj09PWUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9Im5vbmUiLGUuYW5pbWF0ZSh7b3BhY2l0eTpbMCwwXSxwb2ludGVyRXZlbnRzOlsibm9uZSIsIm5vbmUiXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIn0pLGUuYW5pbWF0ZSh7d2lkdGg6WzAsMF0saGVpZ2h0OlswLDBdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24ifSkpLGkyPSEwfWlJPW51bGw7YnJlYWs7Y2FzZSA1OmRlZmF1bHQ6dWkodCxlKTticmVhaztjYXNlIDQ6cj1pWixpWj0hMSx1aSh0LGUpLGlaJiYoaTE9ITApLGlaPXI7YnJlYWs7Y2FzZSAyMjpudWxsPT09ZS5tZW1vaXplZFN0YXRlJiYobnVsbCE9PW4ubWVtb2l6ZWRTdGF0ZT9pQihlLCExKTp1aSh0LGUpKTticmVhaztjYXNlIDMwOnI9aVosbD1pRCgpLGlaPSExLHVpKHQsZSksaVomJihlLmZsYWdzfD00KTt2YXIgYT1lLm1lbW9pemVkUHJvcHMsbz1lLnN0YXRlTm9kZTt0PXJyKGEsbyksbz1ycihuLm1lbW9pemVkUHJvcHMsbyk7dmFyIGk9cmEoYS5kZWZhdWx0LGEudXBkYXRlKTsibm9uZSI9PT1pP3Q9ITE6KGE9bi5tZW1vaXplZFN0YXRlLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLG49ZS5jaGlsZCxpRj0wLHQ9aVcoZSxuLHQsbyxpLGEsITApLGlGIT09KG51bGw9PT1hPzA6YS5sZW5ndGgpJiYoZS5mbGFnc3w9MzIpKSwwIT0oNCZlLmZsYWdzKSYmdD8odTkoZSxlLm1lbW9pemVkUHJvcHMub25VcGRhdGUpLGlJPWwpOm51bGwhPT1sJiYobC5wdXNoLmFwcGx5KGwsaUkpLGlJPWwpLGlaPTAhPSgzMiZlLmZsYWdzKXx8cn19ZnVuY3Rpb24gdXMoZSx0KXtpZig4NzcyJnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KWk0KGUsdC5hbHRlcm5hdGUsdCksdD10LnNpYmxpbmd9ZnVuY3Rpb24gdWMoZSx0KXt2YXIgbj1udWxsO251bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxlPW51bGwsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihlPXQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZSE9PW4mJihudWxsIT1lJiZlLnJlZkNvdW50KyssbnVsbCE9biYmbGMobikpfWZ1bmN0aW9uIHVmKGUsdCl7ZT1udWxsLG51bGwhPT10LmFsdGVybmF0ZSYmKGU9dC5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSksKHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlKSE9PWUmJih0LnJlZkNvdW50KyssbnVsbCE9ZSYmbGMoZSkpfWZ1bmN0aW9uIHVkKGUsdCxuLHIpe3ZhciBsPSgweDEzZmZmZjAwJm4pPT09bjtpZih0LnN1YnRyZWVGbGFncyYobD8xMDI2MjoxMDI1NikpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdXAoZSx0LG4sciksdD10LnNpYmxpbmc7ZWxzZSBsJiZmdW5jdGlvbiBlKHQpe2Zvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KTMwPT09dC50YWc/aWoodC5jaGlsZCwhMSk6MCE9KDB4MjAwMDAwMCZ0LnN1YnRyZWVGbGFncykmJmUodCksdD10LnNpYmxpbmd9KHQpfWZ1bmN0aW9uIHVwKGUsdCxuLHIpe3ZhciBsPSgweDEzZmZmZjAwJm4pPT09bjtsJiZudWxsPT09dC5hbHRlcm5hdGUmJm51bGwhPT10LnJldHVybiYmbnVsbCE9PXQucmV0dXJuLmFsdGVybmF0ZSYmaVEodCk7dmFyIGE9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dWQoZSx0LG4sciksMjA0OCZhJiZpdig5LHQpO2JyZWFrO2Nhc2UgMTpjYXNlIDMxOmNhc2UgMTM6ZGVmYXVsdDp1ZChlLHQsbixyKTticmVhaztjYXNlIDM6dWQoZSx0LG4sciksbCYmaTImJigicm9vdCI9PT0oZT05PT09KGU9ZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIiksbnVsbCE9PShlPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiYibm9uZSI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSIiKSksMjA0OCZhJiYoYT1udWxsLG51bGwhPT10LmFsdGVybmF0ZSYmKGE9dC5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZSksKHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlKSE9PWEmJih0LnJlZkNvdW50KyssbnVsbCE9YSYmbGMoYSkpKTticmVhaztjYXNlIDEyOmlmKDIwNDgmYSl7dWQoZSx0LG4sciksYT10LnN0YXRlTm9kZTt0cnl7dmFyIG89dC5tZW1vaXplZFByb3BzLGk9by5pZCx1PW8ub25Qb3N0Q29tbWl0OyJmdW5jdGlvbiI9PXR5cGVvZiB1JiZ1KGksbnVsbD09PXQuYWx0ZXJuYXRlPyJtb3VudCI6InVwZGF0ZSIsYS5wYXNzaXZlRWZmZWN0RHVyYXRpb24sLTApfWNhdGNoKGUpe3NOKHQsdC5yZXR1cm4sZSl9fWVsc2UgdWQoZSx0LG4scik7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOm89dC5zdGF0ZU5vZGUsaT10LmFsdGVybmF0ZSxudWxsIT09dC5tZW1vaXplZFN0YXRlPyhsJiZudWxsIT09aSYmbnVsbD09PWkubWVtb2l6ZWRTdGF0ZSYmaVEoaSksMiZvLl92aXNpYmlsaXR5P3VkKGUsdCxuLHIpOnVtKGUsdCkpOihsJiZudWxsIT09aSYmbnVsbCE9PWkubWVtb2l6ZWRTdGF0ZSYmaVEodCksMiZvLl92aXNpYmlsaXR5P3VkKGUsdCxuLHIpOihvLl92aXNpYmlsaXR5fD0yLGZ1bmN0aW9uIGUodCxuLHIsbCxhKXtmb3IoYT1hJiYwIT0oMTAyNTYmbi5zdWJ0cmVlRmxhZ3MpLG49bi5jaGlsZDtudWxsIT09bjspe3ZhciBvPW4saT1vLmZsYWdzO3N3aXRjaChvLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTplKHQsbyxyLGwsYSksaXYoOCxvKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6dmFyIHU9by5zdGF0ZU5vZGU7bnVsbCE9PW8ubWVtb2l6ZWRTdGF0ZT8yJnUuX3Zpc2liaWxpdHk/ZSh0LG8scixsLGEpOnVtKHQsbyk6KHUuX3Zpc2liaWxpdHl8PTIsZSh0LG8scixsLGEpKSxhJiYyMDQ4JmkmJnVjKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2Nhc2UgMjQ6ZSh0LG8scixsLGEpLGEmJjIwNDgmaSYmdWYoby5hbHRlcm5hdGUsbyk7YnJlYWs7ZGVmYXVsdDplKHQsbyxyLGwsYSl9bj1uLnNpYmxpbmd9fShlLHQsbixyLDAhPSgxMDI1NiZ0LnN1YnRyZWVGbGFncykpKSksMjA0OCZhJiZ1YyhpLHQpO2JyZWFrO2Nhc2UgMjQ6dWQoZSx0LG4sciksMjA0OCZhJiZ1Zih0LmFsdGVybmF0ZSx0KTticmVhaztjYXNlIDMwOmwmJm51bGwhPT0oYT10LmFsdGVybmF0ZSkmJihpaihhLmNoaWxkLCEwKSxpaih0LmNoaWxkLCEwKSksdWQoZSx0LG4scil9fWZ1bmN0aW9uIHVtKGUsdCl7aWYoMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQscj1uLmZsYWdzO3N3aXRjaChuLnRhZyl7Y2FzZSAyMjp1bShlLG4pLDIwNDgmciYmdWMobi5hbHRlcm5hdGUsbik7YnJlYWs7Y2FzZSAyNDp1bShlLG4pLDIwNDgmciYmdWYobi5hbHRlcm5hdGUsbik7YnJlYWs7ZGVmYXVsdDp1bShlLG4pfXQ9dC5zaWJsaW5nfX12YXIgdWg9ODE5MjtmdW5jdGlvbiB1ZyhlLHQsbil7aWYoZS5zdWJ0cmVlRmxhZ3MmdWgpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXYoZSx0LG4pLGU9ZS5zaWJsaW5nfWZ1bmN0aW9uIHV2KGUsdCxuKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6dWcoZSx0LG4pLGUuZmxhZ3MmdWgmJihudWxsIT09ZS5tZW1vaXplZFN0YXRlP2Z1bmN0aW9uKGUsdCxuLHIpe2lmKCJzdHlsZXNoZWV0Ij09PW4udHlwZSYmKCJzdHJpbmciIT10eXBlb2Ygci5tZWRpYXx8ITEhPT1tYXRjaE1lZGlhKHIubWVkaWEpLm1hdGNoZXMpJiYwPT0oNCZuLnN0YXRlLmxvYWRpbmcpKXtpZihudWxsPT09bi5pbnN0YW5jZSl7dmFyIGw9Yzgoci5ocmVmKSxhPXQucXVlcnlTZWxlY3RvcihjOShsKSk7aWYoYSl7bnVsbCE9PSh0PWEuX3ApJiYib2JqZWN0Ij09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4mJihlLmNvdW50KyssZT1maC5iaW5kKGUpLHQudGhlbihlLGUpKSxuLnN0YXRlLmxvYWRpbmd8PTQsbi5pbnN0YW5jZT1hLGU2KGEpO3JldHVybn1hPXQub3duZXJEb2N1bWVudHx8dCxyPWM3KHIpLChsPWMwLmdldChsKSkmJmZsKHIsbCksZTYoYT1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtvLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7by5vbmxvYWQ9ZSxvLm9uZXJyb3I9dH0pLGNhKGEsImxpbmsiLHIpLG4uaW5zdGFuY2U9YX1udWxsPT09ZS5zdHlsZXNoZWV0cyYmKGUuc3R5bGVzaGVldHM9bmV3IE1hcCksZS5zdHlsZXNoZWV0cy5zZXQobix0KSwodD1uLnN0YXRlLnByZWxvYWQpJiYwPT0oMyZuLnN0YXRlLmxvYWRpbmcpJiYoZS5jb3VudCsrLG49ZmguYmluZChlKSx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLG4pLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pKX19KG4sdWwsZS5tZW1vaXplZFN0YXRlLGUubWVtb2l6ZWRQcm9wcyk6KGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmZChuLGUpKSk7YnJlYWs7Y2FzZSA1OnVnKGUsdCxuKSxlLmZsYWdzJnVoJiYoZT1lLnN0YXRlTm9kZSwoMHgxM2ZmZmY0MCZ0KT09PXQmJmZkKG4sZSkpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIHI9dWw7dWw9YzIoZS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksdWcoZSx0LG4pLHVsPXI7YnJlYWs7Y2FzZSAyMjpudWxsPT09ZS5tZW1vaXplZFN0YXRlJiYobnVsbCE9PShyPWUuYWx0ZXJuYXRlKSYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZT8ocj11aCx1aD0weDEwMDAwMDAsdWcoZSx0LG4pLHVoPXIpOnVnKGUsdCxuKSk7YnJlYWs7Y2FzZSAzMDppZigwIT0oZS5mbGFncyZ1aCkmJm51bGwhPShyPWUubWVtb2l6ZWRQcm9wcy5uYW1lKSYmImF1dG8iIT09cil7dmFyIGw9ZS5zdGF0ZU5vZGU7bC5wYWlyZWQ9bnVsbCxudWxsPT09aVImJihpUj1uZXcgTWFwKSxpUi5zZXQocixsKX11ZyhlLHQsbik7YnJlYWs7ZGVmYXVsdDp1ZyhlLHQsbil9fWZ1bmN0aW9uIHV5KGUpe3ZhciB0PWUuYWx0ZXJuYXRlO2lmKG51bGwhPT10JiZudWxsIT09KGU9dC5jaGlsZCkpe3QuY2hpbGQ9bnVsbDtkbyB0PWUuc2libGluZyxlLnNpYmxpbmc9bnVsbCxlPXQ7d2hpbGUobnVsbCE9PWUpfX1mdW5jdGlvbiB1YihlKXt2YXIgdD1lLmRlbGV0aW9ucztpZigwIT0oMTYmZS5mbGFncykpe2lmKG51bGwhPT10KWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lKPXIsdVMocixlKX11eShlKX1pZigxMDI1NiZlLnN1YnRyZWVGbGFncylmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl1dyhlKSxlPWUuc2libGluZ31mdW5jdGlvbiB1dyhlKXtzd2l0Y2goZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6dWIoZSksMjA0OCZlLmZsYWdzJiZpeSg5LGUsZS5yZXR1cm4pO2JyZWFrO2Nhc2UgMzpjYXNlIDEyOmRlZmF1bHQ6dWIoZSk7YnJlYWs7Y2FzZSAyMjp2YXIgdD1lLnN0YXRlTm9kZTtudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYyJnQuX3Zpc2liaWxpdHkmJihudWxsPT09ZS5yZXR1cm58fDEzIT09ZS5yZXR1cm4udGFnKT8odC5fdmlzaWJpbGl0eSY9LTMsZnVuY3Rpb24gZSh0KXt2YXIgbj10LmRlbGV0aW9ucztpZigwIT0oMTYmdC5mbGFncykpe2lmKG51bGwhPT1uKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdO2lKPWwsdVMobCx0KX11eSh0KX1mb3IodD10LmNoaWxkO251bGwhPT10Oyl7c3dpdGNoKChuPXQpLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTppeSg4LG4sbi5yZXR1cm4pLGUobik7YnJlYWs7Y2FzZSAyMjoyJihyPW4uc3RhdGVOb2RlKS5fdmlzaWJpbGl0eSYmKHIuX3Zpc2liaWxpdHkmPS0zLGUobikpO2JyZWFrO2RlZmF1bHQ6ZShuKX10PXQuc2libGluZ319KGUpKTp1YihlKX19ZnVuY3Rpb24gdVMoZSx0KXtmb3IoO251bGwhPT1pSjspe3ZhciBuPWlKO3N3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTppeSg4LG4sdCk7YnJlYWs7Y2FzZSAyMzpjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUmJm51bGwhPT1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sKXt2YXIgcj1uLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2w7bnVsbCE9ciYmci5yZWZDb3VudCsrfWJyZWFrO2Nhc2UgMjQ6bGMobi5tZW1vaXplZFN0YXRlLmNhY2hlKX1pZihudWxsIT09KHI9bi5jaGlsZCkpci5yZXR1cm49bixpSj1yO2Vsc2UgZm9yKG49ZTtudWxsIT09aUo7KXt2YXIgbD0ocj1pSikuc2libGluZyxhPXIucmV0dXJuO2lmKCFmdW5jdGlvbiBlKHQpe3ZhciBuPXQuYWx0ZXJuYXRlO251bGwhPT1uJiYodC5hbHRlcm5hdGU9bnVsbCxlKG4pKSx0LmNoaWxkPW51bGwsdC5kZWxldGlvbnM9bnVsbCx0LnNpYmxpbmc9bnVsbCw1PT09dC50YWcmJm51bGwhPT0obj10LnN0YXRlTm9kZSkmJmUwKG4pLHQuc3RhdGVOb2RlPW51bGwsdC5yZXR1cm49bnVsbCx0LmRlcGVuZGVuY2llcz1udWxsLHQubWVtb2l6ZWRQcm9wcz1udWxsLHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQucGVuZGluZ1Byb3BzPW51bGwsdC5zdGF0ZU5vZGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGx9KHIpLHI9PT1uKXtpSj1udWxsO2JyZWFrfWlmKG51bGwhPT1sKXtsLnJldHVybj1hLGlKPWw7YnJlYWt9aUo9YX19fXZhciB1az17Z2V0Q2FjaGVGb3JUeXBlOmZ1bmN0aW9uKGUpe3ZhciB0PWxuKGx1KSxuPXQuZGF0YS5nZXQoZSk7cmV0dXJuIHZvaWQgMD09PW4mJihuPWUoKSx0LmRhdGEuc2V0KGUsbikpLG59LGNhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIGxuKGx1KS5jb250cm9sbGVyLnNpZ25hbH19LHVFPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP1dlYWtNYXA6TWFwLHVfPTAsdXg9bnVsbCx1UD1udWxsLHVOPTAsdUM9MCx1VD1udWxsLHVPPSExLHV6PSExLHVMPSExLHVSPTAsdU09MCx1ST0wLHVEPTAsdUY9MCx1QT0wLHVqPTAsdVU9bnVsbCx1Qj1udWxsLHVWPSExLHVIPTAsdSQ9MCx1UT0xLzAsdVc9bnVsbCx1cT1udWxsLHVLPTAsdVg9bnVsbCx1WT1udWxsLHVHPTAsdUo9MCx1Wj1udWxsLHUwPW51bGwsdTE9bnVsbCx1Mj1udWxsLHUzPW51bGwsdTQ9MCx1Nj1udWxsO2Z1bmN0aW9uIHU1KCl7cmV0dXJuIDAhPSgyJnVfKSYmMCE9PXVOP3VOJi11TjpudWxsIT09Vy5UP3NXKCk6ZUgoKX1mdW5jdGlvbiB1OCgpe2lmKDA9PT11QSlpZigwPT0oMHgyMDAwMDAwMCZ1Til8fHJRKXt2YXIgZT1lTzswPT0oMzkzMjE2MCYoZU88PD0xKSkmJihlTz0yNjIxNDQpLHVBPWV9ZWxzZSB1QT0weDIwMDAwMDAwO3JldHVybiBudWxsIT09KGU9bDQuY3VycmVudCkmJihlLmZsYWdzfD0zMiksdUF9ZnVuY3Rpb24gdTkoZSx0KXtpZihudWxsIT10KXt2YXIgbj1lLnN0YXRlTm9kZSxyPW4ucmVmO251bGw9PT1yJiYocj1uLnJlZj1jVChycihlLm1lbW9pemVkUHJvcHMsbikpKSxudWxsPT09dTImJih1Mj1bXSksdTIucHVzaCh0LmJpbmQobnVsbCxyKSl9fWZ1bmN0aW9uIHU3KGUsdCxuKXsoZT09PXV4JiYoMj09PXVDfHw5PT09dUMpfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KSYmKHNhKGUsMCksc24oZSx1Tix1QSwhMSkpLGVGKGUsbiksKDA9PSgyJnVfKXx8ZSE9PXV4KSYmKGU9PT11eCYmKDA9PSgyJnVfKSYmKHVEfD1uKSw0PT09dU0mJnNuKGUsdU4sdUEsITEpKSxzaihlKSl9ZnVuY3Rpb24gc2UoZSx0LG4pe2lmKDAhPSg2JnVfKSl0aHJvdyBFcnJvcih1KDMyNykpO2Zvcih2YXIgcj0hbiYmMD09KDEyNyZ0KSYmMD09KHQmZS5leHBpcmVkTGFuZXMpfHxlTShlLHQpLGw9cj9mdW5jdGlvbihlLHQpe3ZhciBuPXVfO3VffD0yO3ZhciByPXN1KCksbD1zcygpO3V4IT09ZXx8dU4hPT10Pyh1Vz1udWxsLHVRPWV2KCkrNTAwLHNhKGUsdCkpOnV6PWVNKGUsdCk7ZTpmb3IoOzspdHJ5e2lmKDAhPT11QyYmbnVsbCE9PXVQKXt0PXVQO3ZhciBhPXVUO3Q6c3dpdGNoKHVDKXtjYXNlIDE6dUM9MCx1VD1udWxsLHNtKGUsdCxhLDEpO2JyZWFrO2Nhc2UgMjpjYXNlIDk6aWYobE4oYSkpe3VDPTAsdVQ9bnVsbCxzcCh0KTticmVha310PWZ1bmN0aW9uKCl7MiE9PXVDJiY5IT09dUN8fHV4IT09ZXx8KHVDPTcpLHNqKGUpfSxhLnRoZW4odCx0KTticmVhayBlO2Nhc2UgMzp1Qz03O2JyZWFrIGU7Y2FzZSA0OnVDPTU7YnJlYWsgZTtjYXNlIDc6bE4oYSk/KHVDPTAsdVQ9bnVsbCxzcCh0KSk6KHVDPTAsdVQ9bnVsbCxzbShlLHQsYSw3KSk7YnJlYWs7Y2FzZSA1OnZhciBvPW51bGw7c3dpdGNoKHVQLnRhZyl7Y2FzZSAyNjpvPXVQLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIGk9dVA7aWYobz9mYyhvKTppLnN0YXRlTm9kZS5jb21wbGV0ZSl7dUM9MCx1VD1udWxsO3ZhciBzPWkuc2libGluZztpZihudWxsIT09cyl1UD1zO2Vsc2V7dmFyIGM9aS5yZXR1cm47bnVsbCE9PWM/KHVQPWMsc2goYykpOnVQPW51bGx9YnJlYWsgdH19dUM9MCx1VD1udWxsLHNtKGUsdCxhLDUpO2JyZWFrO2Nhc2UgNjp1Qz0wLHVUPW51bGwsc20oZSx0LGEsNik7YnJlYWs7Y2FzZSA4OnNsKCksdU09NjticmVhayBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NjIpKX19Zm9yKDtudWxsIT09dVAmJiFlaCgpOylzZCh1UCk7YnJlYWt9Y2F0Y2godCl7c28oZSx0KX1yZXR1cm4ocjQ9cjM9bnVsbCxXLkg9cixXLkE9bCx1Xz1uLG51bGwhPT11UCk/MDoodXg9bnVsbCx1Tj0wLHJjKCksdU0pfShlLHQpOnNmKGUsdCwhMCksYT1yOzspe2lmKDA9PT1sKXV6JiYhciYmc24oZSx0LDAsITEpO2Vsc2V7aWYobj1lLmN1cnJlbnQuYWx0ZXJuYXRlLGEmJiFmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZTs7KXt2YXIgbj10LnRhZztpZigoMD09PW58fDExPT09bnx8MTU9PT1uKSYmMTYzODQmdC5mbGFncyYmbnVsbCE9PShuPXQudXBkYXRlUXVldWUpJiZudWxsIT09KG49bi5zdG9yZXMpKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC5nZXRTbmFwc2hvdDtsPWwudmFsdWU7dHJ5e2lmKCFuaihhKCksbCkpcmV0dXJuITF9Y2F0Y2goZSl7cmV0dXJuITF9fWlmKG49dC5jaGlsZCwxNjM4NCZ0LnN1YnRyZWVGbGFncyYmbnVsbCE9PW4pbi5yZXR1cm49dCx0PW47ZWxzZXtpZih0PT09ZSlicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09ZSlyZXR1cm4hMDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fXJldHVybiEwfShuKSl7bD1zZihlLHQsITEpLGE9ITE7Y29udGludWV9aWYoMj09PWwpe2lmKGE9dCxlLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzJmEpdmFyIG89MDtlbHNlIG89MCE9KG89LTB4MjAwMDAwMDEmZS5wZW5kaW5nTGFuZXMpP286MHgyMDAwMDAwMCZvPzB4MjAwMDAwMDA6MDtpZigwIT09byl7dD1vO2U6e2w9dVU7dmFyIGk9ZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkO2lmKGkmJihzYShlLG8pLmZsYWdzfD0yNTYpLDIhPT0obz1zZihlLG8sITEpKSl7aWYodUwmJiFpKXtlLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzfD1hLHVEfD1hLGw9NDticmVhayBlfWE9dUIsdUI9bCxudWxsIT09YSYmKG51bGw9PT11Qj91Qj1hOnVCLnB1c2guYXBwbHkodUIsYSkpfWw9b31pZihhPSExLDIhPT1sKWNvbnRpbnVlfX1pZigxPT09bCl7c2EoZSwwKSxzbihlLHQsMCwhMCk7YnJlYWt9ZTp7c3dpdGNoKHI9ZSxhPWwpe2Nhc2UgMDpjYXNlIDE6dGhyb3cgRXJyb3IodSgzNDUpKTtjYXNlIDQ6aWYoKDQxOTQwNDgmdCkhPT10JiYoMHgzYzAwMDAwJnQpIT09dClicmVhaztjYXNlIDY6c24ocix0LHVBLCF1Tyk7YnJlYWsgZTtjYXNlIDI6dUI9bnVsbDticmVhaztjYXNlIDM6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSgzMjkpKX1pZigoMHgzYzAwMDAwJnQpPT09dCYmMTA8KGw9dUgrMzAwLWV2KCkpKXtpZihzbihyLHQsdUEsIXVPKSwwIT09ZVIociwwLCEwKSlicmVhayBlO3VHPXQsci50aW1lb3V0SGFuZGxlPWNtKHN0LmJpbmQobnVsbCxyLG4sdUIsdVcsdVYsdCx1QSx1RCx1aix1TyxhLCJUaHJvdHRsZWQiLC0wLDApLGwpO2JyZWFrIGV9c3QocixuLHVCLHVXLHVWLHQsdUEsdUQsdWosdU8sYSxudWxsLC0wLDApfX1icmVha31zaihlKX1mdW5jdGlvbiBzdChlLHQsbixyLGwsYSxvLGksdSxzLGMsZixkLHApe2UudGltZW91dEhhbmRsZT0tMTt2YXIgbSxoLGc9dC5zdWJ0cmVlRmxhZ3Msdj0oMHgxM2ZmZmYwMCZhKT09PWE7aWYoZj1udWxsLCh2fHw4MTkyJmd8fDB4MTAwMjAwMD09KDB4MTAwMjAwMCZnKSkmJihpUj1udWxsLHV2KHQsYSxmPXtzdHlsZXNoZWV0czpudWxsLGNvdW50OjAsaW1nQ291bnQ6MCxpbWdCeXRlczowLHN1c3BlbnNleUltYWdlczpbXSx3YWl0aW5nRm9ySW1hZ2VzOiEwLHdhaXRpbmdGb3JWaWV3VHJhbnNpdGlvbjohMSx1bnN1c3BlbmQ6dFR9KSx2JiYoZz1mLG51bGwhPSh2PSg5PT09KHY9ZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT92OnYub3duZXJEb2N1bWVudCkuX19yZWFjdFZpZXdUcmFuc2l0aW9uKSYmKGcuY291bnQrKyxnLndhaXRpbmdGb3JWaWV3VHJhbnNpdGlvbj0hMCxnPWZoLmJpbmQoZyksdi5maW5pc2hlZC50aGVuKGcsZykpKSxudWxsIT09KG09ZixoPWc9KDB4M2MwMDAwMCZhKT09PWE/dUgtZXYoKTooNDE5NDA0OCZhKT09PWE/dSQtZXYoKTowLG0uc3R5bGVzaGVldHMmJjA9PT1tLmNvdW50JiZmeShtLG0uc3R5bGVzaGVldHMpLGc9MDxtLmNvdW50fHwwPG0uaW1nQ291bnQ/ZnVuY3Rpb24oZSl7dmFyIHQ9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKG0uc3R5bGVzaGVldHMmJmZ5KG0sbS5zdHlsZXNoZWV0cyksbS51bnN1c3BlbmQpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sNmU0K2gpOzA8bS5pbWdCeXRlcyYmMD09PWZwJiYoZnA9NjI1MDAqZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7Zm9yKHZhciBlPTAsdD0wLG49cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKSxyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl0sYT1sLnRyYW5zZmVyU2l6ZSxvPWwuaW5pdGlhdG9yVHlwZSxpPWwuZHVyYXRpb247aWYoYSYmaSYmY28obykpe2ZvcihvPTAsaT1sLnJlc3BvbnNlRW5kLHIrPTE7cjxuLmxlbmd0aDtyKyspe3ZhciB1PW5bcl0scz11LnN0YXJ0VGltZTtpZihzPmkpYnJlYWs7dmFyIGM9dS50cmFuc2ZlclNpemUsZj11LmluaXRpYXRvclR5cGU7YyYmY28oZikmJihvKz1jKigodT11LnJlc3BvbnNlRW5kKTxpPzE6KGktcykvKHUtcykpKX1pZigtLXIsdCs9OCooYStvKS8obC5kdXJhdGlvbi8xZTMpLDEwPCsrZSlicmVha319aWYoMDxlKXJldHVybiB0L2UvMWU2fXJldHVybiBuYXZpZ2F0b3IuY29ubmVjdGlvbiYmIm51bWJlciI9PXR5cGVvZihlPW5hdmlnYXRvci5jb25uZWN0aW9uLmRvd25saW5rKT9lOjV9KCkpO3ZhciBuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLndhaXRpbmdGb3JJbWFnZXM9ITEsMD09PW0uY291bnQmJihtLnN0eWxlc2hlZXRzJiZmeShtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKSl7dmFyIGU9bS51bnN1c3BlbmQ7bS51bnN1c3BlbmQ9bnVsbCxlKCl9fSwobS5pbWdCeXRlcz5mcD81MDo4MDApK2gpO3JldHVybiBtLnVuc3VzcGVuZD1lLGZ1bmN0aW9uKCl7bS51bnN1c3BlbmQ9bnVsbCxjbGVhclRpbWVvdXQodCksY2xlYXJUaW1lb3V0KG4pfX06bnVsbCkpKXt1Rz1hLGUuY2FuY2VsUGVuZGluZ0NvbW1pdD1nKHN2LmJpbmQobnVsbCxlLHQsYSxuLHIsbCxvLGksdSxzLGMsZixudWxsLGQscCkpLHNuKGUsYSxvLCFzKTtyZXR1cm59c3YoZSx0LGEsbixyLGwsbyxpLHUscyxjLGYpfWZ1bmN0aW9uIHNuKGUsdCxuLHIpe3QmPX51Rix0Jj1+dUQsZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzcigpe3JldHVybiAwIT0oNiZ1Xyl8fChzVSgwLCExKSwhMSl9ZnVuY3Rpb24gc2woKXtpZihudWxsIT09dVApe2lmKDA9PT11Qyl2YXIgZT11UC5yZXR1cm47ZWxzZSBlPXVQLHI0PXIzPW51bGwsYV8oZSksbFI9bnVsbCxsTT0wLGU9dVA7Zm9yKDtudWxsIT09ZTspaWcoZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1UD1udWxsfX1mdW5jdGlvbiBzYShlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY2gobikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1Rz0wLHNsKCksdXg9ZSx1UD1uPXJ3KGUuY3VycmVudCxudWxsKSx1Tj10LHVDPTAsdVQ9bnVsbCx1Tz0hMSx1ej1lTShlLHQpLHVMPSExLHVqPXVBPXVGPXVEPXVJPXVNPTAsdUI9dVU9bnVsbCx1Vj0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHVSPXQscmMoKSxufWZ1bmN0aW9uIHNvKGUsdCl7YW89bnVsbCxXLkg9b0UsdD09PWxFfHx0PT09bHg/KHQ9bHooKSx1Qz0zKTp0PT09bF8/KHQ9bHooKSx1Qz00KTp1Qz10PT09b1U/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1VD10LG51bGw9PT11UCYmKHVNPTEsb0koZSxyQyh0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzaSgpe3ZhciBlPWw0LmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdU4pPT09dU4/bnVsbD09PWw2OigoMHgzYzAwMDAwJnVOKT09PXVOfHwwIT0oMHgyMDAwMDAwMCZ1TikpJiZlPT09bDYpfWZ1bmN0aW9uIHN1KCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b0UsbnVsbD09PWU/b0U6ZX1mdW5jdGlvbiBzcygpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXVrLGV9ZnVuY3Rpb24gc2MoKXt1TT00LHVPfHwoNDE5NDA0OCZ1TikhPT11TiYmbnVsbCE9PWw0LmN1cnJlbnR8fCh1ej0hMCksMD09KDB4N2ZmZmZmZiZ1SSkmJjA9PSgweDdmZmZmZmYmdUQpfHxudWxsPT09dXh8fHNuKHV4LHVOLHVBLCExKX1mdW5jdGlvbiBzZihlLHQsbil7dmFyIHI9dV87dV98PTI7dmFyIGw9c3UoKSxhPXNzKCk7KHV4IT09ZXx8dU4hPT10KSYmKHVXPW51bGwsc2EoZSx0KSksdD0hMTt2YXIgbz11TTtlOmZvcig7Oyl0cnl7aWYoMCE9PXVDJiZudWxsIT09dVApe3ZhciBpPXVQLHU9dVQ7c3dpdGNoKHVDKXtjYXNlIDg6c2woKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWw0LmN1cnJlbnQmJih0PSEwKTt2YXIgcz11QztpZih1Qz0wLHVUPW51bGwsc20oZSxpLHUscyksbiYmdXope289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11Qyx1Qz0wLHVUPW51bGwsc20oZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXVQOylzZCh1UCl9KSgpLG89dU07YnJlYWt9Y2F0Y2godCl7c28oZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjQ9cjM9bnVsbCx1Xz1yLFcuSD1sLFcuQT1hLG51bGw9PT11UCYmKHV4PW51bGwsdU49MCxyYygpKSxvfWZ1bmN0aW9uIHNkKGUpe3ZhciB0PWl1KGUuYWx0ZXJuYXRlLGUsdVIpO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zaChlKTp1UD10fWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b1oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdU4pO2JyZWFrO2Nhc2UgMTE6dD1vWihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Tik7YnJlYWs7Y2FzZSA1OmFfKHQpO3ZhciByPXQ7cj09PXJIJiYoclE/KHJHKHIpLDU9PT1yLnRhZyYmbnVsbCE9ci5zdGF0ZU5vZGUmJihyJD1yLnN0YXRlTm9kZSkpOihyRyhyKSxyUT0hMCkpO2RlZmF1bHQ6aWcobix0KSx0PWl1KG4sdD11UD1yUyh0LHVSKSx1Uil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NoKGUpOnVQPXR9ZnVuY3Rpb24gc20oZSx0LG4scil7cjQ9cjM9bnVsbCxhXyh0KSxsUj1udWxsLGxNPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjcodCxuLGwsITApLG51bGwhPT0obj1sNC5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw2P3NjKCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dU0mJih1TT0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bFA/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzQyhlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sUD9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc0MoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzQyhlLHIsbCksc2MoKSwhMX1pZihyUSlyZXR1cm4gbnVsbCE9PSh0PWw0LmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cksmJnIxKHJDKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJLJiZyMShyQyh0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJDKHIsbiksbD1vRihlLnN0YXRlTm9kZSxyLGwpLGxxKGUsbCksNCE9PXVNJiYodU09MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ckMoYSxuKSxudWxsPT09dVU/dVU9W2FdOnVVLnB1c2goYSksNCE9PXVNJiYodU09MiksbnVsbD09PXQpcmV0dXJuITA7cj1yQyhyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRihuLnN0YXRlTm9kZSxyLGUpLGxxKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVxfHwhdXEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb2oobD1vQShsKSxlLG4sciksbHEobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdU4pKXt1TT0xLG9JKGUsckMobixlLmN1cnJlbnQpKSx1UD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdVA9bCx0O3VNPTEsb0koZSxyQyhuLGUuY3VycmVudCkpLHVQPW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHJRfHwxPT09cj9lPSEwOnV6fHwwIT0oMHgyMDAwMDAwMCZ1Tik/ZT0hMToodU89ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDQuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNnKHQsZSkpOnNoKHQpfWZ1bmN0aW9uIHNoKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNnKHQsdU8pO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyQih0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGloKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjUobHUpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihySih0KT9pcyh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQscjAoKSkpLGloKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpcyh0KSxudWxsIT09YT8oaWgodCksaWQodCxhKSk6KGloKHQpLGljKHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlzKHQpLGloKHQpLGlkKHQsYSkpOihpaCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlzKHQpLGloKHQpLGljKHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlzKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpaCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxySih0KT9yWSh0LGUpOih0LnN0YXRlTm9kZT1lPWNKKGwscixuKSxpcyh0KSl9cmV0dXJuIGloKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpcyh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaWgodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsckoodCkpclkodCxhKTtlbHNle3ZhciBvPWNzKGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjYShhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlzKHQpfX1yZXR1cm4gaWgodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaWModCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaXModCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxySih0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJIKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y24oZS5ub2RlVmFsdWUsbikpKXx8clgodCwhMCl9ZWxzZShlPWNzKGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpaCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9ckoodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgclooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aWgodCksZT0hMX1lbHNlIG49cjAoKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGFlKHQpLHQ7cmV0dXJuIGFlKHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpaCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1ySih0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSByWigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpaCh0KSxsPSExfWVsc2UgbD1yMCgpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gYWUodCksdDtyZXR1cm4gYWUodCksbnVsbH19aWYoYWUodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGlwKHQsdC51cGRhdGVRdWV1ZSksaWgodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMyKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpaCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI1KHQudHlwZSksaWgodCksbnVsbDtjYXNlIDE5OmlmKGFyKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpaCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaW0ociwhMSk7ZWxzZXtpZigwIT09dU18fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YWwoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGltKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGlwKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylyUyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhbih0LDEmYXQuY3VycmVudHwyKSxyUSYmckEodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51USYmKHQuZmxhZ3N8PTEyOCxsPSEwLGltKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YWwoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpcCh0LGUpLGltKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhclEpcmV0dXJuIGloKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dVEmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaW0ociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWF0LmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyUT9hbih0LGEpOihuPWEsWihsNCx0KSxaKGF0LG4pLG51bGw9PT1sNiYmKGw2PXQpKSxyUSYmckEodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGloKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBhZSh0KSxsMygpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaWgodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppaCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmlwKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGxiKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjUobHUpLGloKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaWgodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHVSKTtpZihudWxsIT09bil7dVA9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3VQPXQ7cmV0dXJufXVQPXQ9ZX13aGlsZShudWxsIT09dCkwPT09dU0mJih1TT01KX1mdW5jdGlvbiBzZyhlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJCKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjUobHUpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYoYWUodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7clooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihhZSh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7clooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYXIodCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI1KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGFlKHQpLGwzKCksbnVsbCE9PWUmJkoobGIpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI1KGx1KSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdVA9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1UD1lO3JldHVybn11UD1lPW59d2hpbGUobnVsbCE9PWUpdU09Nix1UD1udWxsfWZ1bmN0aW9uIHN2KGUsdCxuLHIsbCxhLG8saSxzLGMsZixkKXtlLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbDtkbyBzXygpO3doaWxlKDAhPT11SylpZigwIT0oNiZ1XykpdGhyb3cgRXJyb3IodSgzMjcpKTtpZihudWxsIT09dCl7aWYodD09PWUuY3VycmVudCl0aHJvdyBFcnJvcih1KDE3NykpO2U9PT11eCYmKHVQPXV4PW51bGwsdU49MCksdVk9dCx1WD1lLHVHPW4sdVo9bCx1MD1yLGZ1bmN0aW9uKGUsdCxuLHIsbCxhLG8pe3ZhciBpLHU9dC5sYW5lc3x0LmNoaWxkTGFuZXM7aWYodUo9dSwhZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbix1fD1ycyxyLGwsYSksdTI9bnVsbCwoMHgxM2ZmZmYwMCZuKT09PW4/KGk9ZS50cmFuc2l0aW9uVHlwZXMsZS50cmFuc2l0aW9uVHlwZXM9bnVsbCx1Mz1pLHI9MTAyNjIpOih1Mz1udWxsLHI9MTAyNTYpLDAhPSh0LnN1YnRyZWVGbGFncyZyKXx8MCE9KHQuZmxhZ3Mmcik/KGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsZXAoZVMsZnVuY3Rpb24oKXtyZXR1cm4gc3goKSxudWxsfSkpOihlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wKSxpTD0hMSxyPTAhPSgxMzg3OCZ0LmZsYWdzKSwwIT0oMTM4NzgmdC5zdWJ0cmVlRmxhZ3MpfHxyKXtyPVcuVCxXLlQ9bnVsbCxsPXEucCxxLnA9MixhPXVfLHVffD00O3RyeXshZnVuY3Rpb24oZSx0LG4pe2lmKGU9ZS5jb250YWluZXJJbmZvLGNpPWZDLG4kKGU9bkgoZSkpKXtpZigic2VsZWN0aW9uU3RhcnQiaW4gZSl2YXIgcj17c3RhcnQ6ZS5zZWxlY3Rpb25TdGFydCxlbmQ6ZS5zZWxlY3Rpb25FbmR9O2Vsc2UgZTp7dmFyIGw9KHI9KHI9ZS5vd25lckRvY3VtZW50KSYmci5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJnIuZ2V0U2VsZWN0aW9uKCk7aWYobCYmMCE9PWwucmFuZ2VDb3VudCl7cj1sLmFuY2hvck5vZGU7dmFyIGEsbz1sLmFuY2hvck9mZnNldCxpPWwuZm9jdXNOb2RlO2w9bC5mb2N1c09mZnNldDt0cnl7ci5ub2RlVHlwZSxpLm5vZGVUeXBlfWNhdGNoKGUpe3I9bnVsbDticmVhayBlfXZhciB1PTAscz0tMSxjPS0xLGY9MCxkPTAscD1lLG09bnVsbDt0OmZvcig7Oyl7Zm9yKDtwIT09cnx8MCE9PW8mJjMhPT1wLm5vZGVUeXBlfHwocz11K28pLHAhPT1pfHwwIT09bCYmMyE9PXAubm9kZVR5cGV8fChjPXUrbCksMz09PXAubm9kZVR5cGUmJih1Kz1wLm5vZGVWYWx1ZS5sZW5ndGgpLG51bGwhPT0oYT1wLmZpcnN0Q2hpbGQpOyltPXAscD1hO2Zvcig7Oyl7aWYocD09PWUpYnJlYWsgdDtpZihtPT09ciYmKytmPT09byYmKHM9dSksbT09PWkmJisrZD09PWwmJihjPXUpLG51bGwhPT0oYT1wLm5leHRTaWJsaW5nKSlicmVhazttPShwPW0pLnBhcmVudE5vZGV9cD1hfXI9LTE9PT1zfHwtMT09PWM/bnVsbDp7c3RhcnQ6cyxlbmQ6Y319ZWxzZSByPW51bGx9cj1yfHx7c3RhcnQ6MCxlbmQ6MH19ZWxzZSByPW51bGw7Zm9yKGN1PXtmb2N1c2VkRWxlbTplLHNlbGVjdGlvblJhbmdlOnJ9LGZDPSExLG49KDB4MTNmZmZmMDAmbik9PT1uLGlKPXQsdD1uPzkyNzA6MTAyODtudWxsIT09aUo7KXtpZihlPWlKLG4mJm51bGwhPT0ocj1lLmRlbGV0aW9ucykpZm9yKG89MDtvPHIubGVuZ3RoO28rKyluJiZpSChyW29dKTtpZihudWxsPT09ZS5hbHRlcm5hdGUmJjAhPSgyJmUuZmxhZ3MpKW4mJmlNKGUpLGkzKG4pO2Vsc2V7aWYoMjI9PT1lLnRhZyl7aWYocj1lLmFsdGVybmF0ZSxudWxsIT09ZS5tZW1vaXplZFN0YXRlKXtudWxsIT09ciYmbnVsbD09PXIubWVtb2l6ZWRTdGF0ZSYmbiYmaUgociksaTMobik7Y29udGludWV9ZWxzZSBpZihudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSl7biYmaU0oZSksaTMobik7Y29udGludWV9fXI9ZS5jaGlsZCwwIT0oZS5zdWJ0cmVlRmxhZ3MmdCkmJm51bGwhPT1yPyhyLnJldHVybj1lLGlKPXIpOihuJiZmdW5jdGlvbiBlKHQpe2Zvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXtpZigzMD09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkUHJvcHMscj1ycihuLHQuc3RhdGVOb2RlKTtuPXJhKG4uZGVmYXVsdCxuLnVwZGF0ZSksdC5mbGFncyY9LTUsIm5vbmUiIT09biYmaUEodCxyLG4sdC5tZW1vaXplZFN0YXRlPVtdLCExKX1lbHNlIDAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpO3Q9dC5zaWJsaW5nfX0oZSksaTMobikpfX1pUj1udWxsfShlLHQsbil9ZmluYWxseXt1Xz1hLHEucD1sLFcuVD1yfX11Sz0xLGlMP3UxPWZ1bmN0aW9uKGUsdCxuLHIsbCxhLG8saSx1KXt2YXIgcz05PT09dC5ub2RlVHlwZT90OnQub3duZXJEb2N1bWVudDt0cnl7dmFyIGM9cy5zdGFydFZpZXdUcmFuc2l0aW9uKHt1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgdD1zLmRlZmF1bHRWaWV3LG49dC5uYXZpZ2F0aW9uJiZ0Lm5hdmlnYXRpb24udHJhbnNpdGlvbixvPXMuZm9udHMuc3RhdHVzO3IoKTt2YXIgaT1bXTtpZigibG9hZGVkIj09PW8mJihzLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsImxvYWRpbmciPT09cy5mb250cy5zdGF0dXMmJmkucHVzaChzLmZvbnRzLnJlYWR5KSksbz1pLmxlbmd0aCxudWxsIT09ZSlmb3IodmFyIHU9ZS5zdXNwZW5zZXlJbWFnZXMsYz0wLGY9MDtmPHUubGVuZ3RoO2YrKyl7dmFyIGQ9dVtmXTtpZighZC5jb21wbGV0ZSl7dmFyIHA9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZigwPHAuYm90dG9tJiYwPHAucmlnaHQmJnAudG9wPHQuaW5uZXJIZWlnaHQmJnAubGVmdDx0LmlubmVyV2lkdGgpe2lmKChjKz1mZihkKSk+ZnApe2kubGVuZ3RoPW87YnJlYWt9ZD1uZXcgUHJvbWlzZShjTi5iaW5kKGQpKSxpLnB1c2goZCl9fX1yZXR1cm4gMDxpLmxlbmd0aD8odD1Qcm9taXNlLnJhY2UoW1Byb21pc2UuYWxsKGkpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3JldHVybiBzZXRUaW1lb3V0KGUsNTAwKX0pXSkudGhlbihsLGwpLChuP1Byb21pc2UuYWxsU2V0dGxlZChbbi5maW5pc2hlZCx0XSk6dCkudGhlbihhLGEpKToobCgpLG4pP24uZmluaXNoZWQudGhlbihhLGEpOnZvaWQgYSgpfSx0eXBlczpufSk7cy5fX3JlYWN0Vmlld1RyYW5zaXRpb249Yzt2YXIgZj1bXTtyZXR1cm4gYy5yZWFkeS50aGVuKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXMuZG9jdW1lbnRFbGVtZW50LmdldEFuaW1hdGlvbnMoe3N1YnRyZWU6ITB9KSx0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBuPWVbdF0scj1uLmVmZmVjdCxsPXIucHNldWRvRWxlbWVudDtpZihudWxsIT1sJiZsLnN0YXJ0c1dpdGgoIjo6dmlldy10cmFuc2l0aW9uIikpe2YucHVzaChuKSxuPXIuZ2V0S2V5ZnJhbWVzKCk7Zm9yKHZhciBhPWw9dm9pZCAwLGk9ITAsdT0wO3U8bi5sZW5ndGg7dSsrKXt2YXIgYz1uW3VdLGQ9Yy53aWR0aDtpZih2b2lkIDA9PT1sKWw9ZDtlbHNlIGlmKGwhPT1kKXtpPSExO2JyZWFrfWlmKGQ9Yy5oZWlnaHQsdm9pZCAwPT09YSlhPWQ7ZWxzZSBpZihhIT09ZCl7aT0hMTticmVha31kZWxldGUgYy53aWR0aCxkZWxldGUgYy5oZWlnaHQsIm5vbmUiPT09Yy50cmFuc2Zvcm0mJmRlbGV0ZSBjLnRyYW5zZm9ybX1pJiZ2b2lkIDAhPT1sJiZ2b2lkIDAhPT1hJiYoci5zZXRLZXlmcmFtZXMobiksKGk9Z2V0Q29tcHV0ZWRTdHlsZShyLnRhcmdldCxyLnBzZXVkb0VsZW1lbnQpKS53aWR0aCE9PWx8fGkuaGVpZ2h0IT09YSkmJigoaT1uWzBdKS53aWR0aD1sLGkuaGVpZ2h0PWEsKGk9bltuLmxlbmd0aC0xXSkud2lkdGg9bCxpLmhlaWdodD1hLHIuc2V0S2V5ZnJhbWVzKG4pKX19bygpfSxmdW5jdGlvbihlKXtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKTt0cnl7Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmIkludmFsaWRTdGF0ZUVycm9yIj09PWUubmFtZSYmKCJWaWV3IHRyYW5zaXRpb24gd2FzIHNraXBwZWQgYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGlzIGhpZGRlbi4iPT09ZS5tZXNzYWdlfHwiU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2UgZG9jdW1lbnQgdmlzaWJpbGl0eSBzdGF0ZSBoYXMgYmVjb21lIGhpZGRlbi4iPT09ZS5tZXNzYWdlfHwiU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2Ugdmlld3BvcnQgc2l6ZSBjaGFuZ2VkLiI9PT1lLm1lc3NhZ2V8fCJUcmFuc2l0aW9uIHdhcyBhYm9ydGVkIGJlY2F1c2Ugb2YgaW52YWxpZCBzdGF0ZSI9PT1lLm1lc3NhZ2UpJiYoZT1udWxsKSxudWxsIT09ZSYmdShlKX1maW5hbGx5e3IoKSxsKCksbygpfX0pLGMuZmluaXNoZWQuZmluYWxseShmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8Zi5sZW5ndGg7ZSsrKWZbZV0uY2FuY2VsKCk7cy5fX3JlYWN0Vmlld1RyYW5zaXRpb249PT1jJiYocy5fX3JlYWN0Vmlld1RyYW5zaXRpb249bnVsbCksaSgpfSksY31jYXRjaChlKXtyZXR1cm4gcigpLGwoKSxvKCksbnVsbH19KG8sZS5jb250YWluZXJJbmZvLHUzLHN3LHNTLHNiLHNrLHN4LHN5KTooc3coKSxzUygpLHNrKCkpfShlLHQsbixvLGkscyxkKX19ZnVuY3Rpb24gc3koZSl7MCE9PXVLJiYoMCx1WC5vblJlY292ZXJhYmxlRXJyb3IpKGUse2NvbXBvbmVudFN0YWNrOm51bGx9KX1mdW5jdGlvbiBzYigpezM9PT11SyYmKHVLPTAsdXUodVksdVgpLHVLPTQpfWZ1bmN0aW9uIHN3KCl7aWYoMT09PXVLKXt1Sz0wO3ZhciBlPXVYLHQ9dVksbj11RyxyPTAhPSgxMzg3OCZ0LmZsYWdzKTtpZigwIT0oMTM4NzgmdC5zdWJ0cmVlRmxhZ3MpfHxyKXtyPVcuVCxXLlQ9bnVsbDt2YXIgbD1xLnA7cS5wPTI7dmFyIGE9dV87dV98PTQ7dHJ5e2kwPWkxPSExLHVhKHQsZSxuKSxuPWN1O3ZhciBvPW5IKGUuY29udGFpbmVySW5mbyksaT1uLmZvY3VzZWRFbGVtLHU9bi5zZWxlY3Rpb25SYW5nZTtpZihvIT09aSYmaSYmaS5vd25lckRvY3VtZW50JiZmdW5jdGlvbiBlKHQsbil7cmV0dXJuISF0JiYhIW4mJih0PT09bnx8KCF0fHwzIT09dC5ub2RlVHlwZSkmJihuJiYzPT09bi5ub2RlVHlwZT9lKHQsbi5wYXJlbnROb2RlKToiY29udGFpbnMiaW4gdD90LmNvbnRhaW5zKG4pOiEhdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmISEoMTYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuKSkpKX0oaS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpKSl7aWYobnVsbCE9PXUmJm4kKGkpKXt2YXIgcz11LnN0YXJ0LGM9dS5lbmQ7aWYodm9pZCAwPT09YyYmKGM9cyksInNlbGVjdGlvblN0YXJ0ImluIGkpaS5zZWxlY3Rpb25TdGFydD1zLGkuc2VsZWN0aW9uRW5kPU1hdGgubWluKGMsaS52YWx1ZS5sZW5ndGgpO2Vsc2V7dmFyIGY9aS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxkPWYmJmYuZGVmYXVsdFZpZXd8fHdpbmRvdztpZihkLmdldFNlbGVjdGlvbil7dmFyIHA9ZC5nZXRTZWxlY3Rpb24oKSxtPWkudGV4dENvbnRlbnQubGVuZ3RoLGg9TWF0aC5taW4odS5zdGFydCxtKSxnPXZvaWQgMD09PXUuZW5kP2g6TWF0aC5taW4odS5lbmQsbSk7IXAuZXh0ZW5kJiZoPmcmJihvPWcsZz1oLGg9byk7dmFyIHY9blYoaSxoKSx5PW5WKGksZyk7aWYodiYmeSYmKDEhPT1wLnJhbmdlQ291bnR8fHAuYW5jaG9yTm9kZSE9PXYubm9kZXx8cC5hbmNob3JPZmZzZXQhPT12Lm9mZnNldHx8cC5mb2N1c05vZGUhPT15Lm5vZGV8fHAuZm9jdXNPZmZzZXQhPT15Lm9mZnNldCkpe3ZhciBiPWYuY3JlYXRlUmFuZ2UoKTtiLnNldFN0YXJ0KHYubm9kZSx2Lm9mZnNldCkscC5yZW1vdmVBbGxSYW5nZXMoKSxoPmc/KHAuYWRkUmFuZ2UoYikscC5leHRlbmQoeS5ub2RlLHkub2Zmc2V0KSk6KGIuc2V0RW5kKHkubm9kZSx5Lm9mZnNldCkscC5hZGRSYW5nZShiKSl9fX19Zm9yKGY9W10scD1pO3A9cC5wYXJlbnROb2RlOykxPT09cC5ub2RlVHlwZSYmZi5wdXNoKHtlbGVtZW50OnAsbGVmdDpwLnNjcm9sbExlZnQsdG9wOnAuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiBpLmZvY3VzJiZpLmZvY3VzKCksaT0wO2k8Zi5sZW5ndGg7aSsrKXt2YXIgdz1mW2ldO3cuZWxlbWVudC5zY3JvbGxMZWZ0PXcubGVmdCx3LmVsZW1lbnQuc2Nyb2xsVG9wPXcudG9wfX1mQz0hIWNpLGN1PWNpPW51bGx9ZmluYWxseXt1Xz1hLHEucD1sLFcuVD1yfX1lLmN1cnJlbnQ9dCx1Sz0yfX1mdW5jdGlvbiBzUygpe2lmKDI9PT11Syl7dUs9MDt2YXIgZT11WCx0PXVZLG49MCE9KDg3NzImdC5mbGFncyk7aWYoMCE9KDg3NzImdC5zdWJ0cmVlRmxhZ3MpfHxuKXtuPVcuVCxXLlQ9bnVsbDt2YXIgcj1xLnA7cS5wPTI7dmFyIGw9dV87dV98PTQ7dHJ5e2k0KGUsdC5hbHRlcm5hdGUsdCl9ZmluYWxseXt1Xz1sLHEucD1yLFcuVD1ufX11Sz0zfX1mdW5jdGlvbiBzaygpe2lmKDQ9PT11S3x8Mz09PXVLKXt1Sz0wO3ZhciBlPXUxO3UxPW51bGwsZWcoKTt2YXIgdD11WCxuPXVZLHI9dUcsbD11MCxhPSgweDEzZmZmZjAwJnIpPT09cj8xMDI2MjoxMDI1NjtpZigwIT0obi5zdWJ0cmVlRmxhZ3MmYSl8fDAhPShuLmZsYWdzJmEpP3VLPTU6KHVLPTAsdVk9dVg9bnVsbCxzRSh0LHQucGVuZGluZ0xhbmVzKSksMD09PShhPXQucGVuZGluZ0xhbmVzKSYmKHVxPW51bGwpLGVWKHIpLG49bi5zdGF0ZU5vZGUsZXgmJiJmdW5jdGlvbiI9PXR5cGVvZiBleC5vbkNvbW1pdEZpYmVyUm9vdCl0cnl7ZXgub25Db21taXRGaWJlclJvb3QoZV8sbix2b2lkIDAsMTI4PT0oMTI4Jm4uY3VycmVudC5mbGFncykpfWNhdGNoKGUpe31pZihudWxsIT09bCl7bj1XLlQsYT1xLnAscS5wPTIsVy5UPW51bGw7dHJ5e2Zvcih2YXIgbz10Lm9uUmVjb3ZlcmFibGVFcnJvcixpPTA7aTxsLmxlbmd0aDtpKyspe3ZhciB1PWxbaV07byh1LnZhbHVlLHtjb21wb25lbnRTdGFjazp1LnN0YWNrfSl9fWZpbmFsbHl7Vy5UPW4scS5wPWF9fWlmKGw9dTIsbz11Myx1Mz1udWxsLG51bGwhPT1sJiYodTI9bnVsbCxudWxsPT09byYmKG89W10pLG51bGwhPT1lKSlmb3IodT0wO3U8bC5sZW5ndGg7dSsrKXZvaWQgMCE9PShuPSgwLGxbdV0pKG8pKSYmZS5maW5pc2hlZC5maW5hbGx5KG4pOzAhPSgzJnVHKSYmc18oKSxzaih0KSxhPXQucGVuZGluZ0xhbmVzLDAhPSgyNjE5MzAmcikmJjAhPSg0MiZhKT90PT09dTY/dTQrKzoodTQ9MCx1Nj10KTp1ND0wLHNVKDAsITEpfX1mdW5jdGlvbiBzRShlLHQpezA9PShlLnBvb2xlZENhY2hlTGFuZXMmPXQpJiZudWxsIT0odD1lLnBvb2xlZENhY2hlKSYmKGUucG9vbGVkQ2FjaGU9bnVsbCxsYyh0KSl9ZnVuY3Rpb24gc18oKXtyZXR1cm4gbnVsbCE9PXUxJiYodTEuc2tpcFRyYW5zaXRpb24oKSx1MT1udWxsKSxzdygpLHNTKCksc2soKSxzeCgpfWZ1bmN0aW9uIHN4KCl7aWYoNSE9PXVLKXJldHVybiExO3ZhciBlPXVYLHQ9dUo7dUo9MDt2YXIgbj1lVih1Rykscj1XLlQsbD1xLnA7dHJ5e3EucD0zMj5uPzMyOm4sVy5UPW51bGwsbj11Wix1Wj1udWxsO3ZhciBhPXVYLG89dUc7aWYodUs9MCx1WT11WD1udWxsLHVHPTAsMCE9KDYmdV8pKXRocm93IEVycm9yKHUoMzMxKSk7dmFyIGk9dV87aWYodV98PTQsdXcoYS5jdXJyZW50KSx1cChhLGEuY3VycmVudCxvLG4pLHVfPWksc1UoMCwhMSksZXgmJiJmdW5jdGlvbiI9PXR5cGVvZiBleC5vblBvc3RDb21taXRGaWJlclJvb3QpdHJ5e2V4Lm9uUG9zdENvbW1pdEZpYmVyUm9vdChlXyxhKX1jYXRjaChlKXt9cmV0dXJuITB9ZmluYWxseXtxLnA9bCxXLlQ9cixzRShlLHQpfX1mdW5jdGlvbiBzUChlLHQsbil7dD1yQyhuLHQpLHQ9b0YoZS5zdGF0ZU5vZGUsdCwyKSxudWxsIT09KGU9bFEoZSx0LDIpKSYmKGVGKGUsMiksc2ooZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXtpZigzPT09ZS50YWcpc1AoZSxlLG4pO2Vsc2UgZm9yKDtudWxsIT09dDspe2lmKDM9PT10LnRhZyl7c1AodCxlLG4pO2JyZWFrfWlmKDE9PT10LnRhZyl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PXR5cGVvZiByLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVxfHwhdXEuaGFzKHIpKSl7ZT1yQyhuLGUpLG51bGwhPT0ocj1sUSh0LG49b0EoMiksMikpJiYob2oobixyLHQsZSksZUYociwyKSxzaihyKSk7YnJlYWt9fXQ9dC5yZXR1cm59fWZ1bmN0aW9uIHNDKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtpZihudWxsPT09cil7cj1lLnBpbmdDYWNoZT1uZXcgdUU7dmFyIGw9bmV3IFNldDtyLnNldCh0LGwpfWVsc2Ugdm9pZCAwPT09KGw9ci5nZXQodCkpJiYobD1uZXcgU2V0LHIuc2V0KHQsbCkpO2wuaGFzKG4pfHwodUw9ITAsbC5hZGQobiksZT1zVC5iaW5kKG51bGwsZSx0LG4pLHQudGhlbihlLGUpKX1mdW5jdGlvbiBzVChlLHQsbil7dmFyIHI9ZS5waW5nQ2FjaGU7bnVsbCE9PXImJnIuZGVsZXRlKHQpLGUucGluZ2VkTGFuZXN8PWUuc3VzcGVuZGVkTGFuZXMmbixlLndhcm1MYW5lcyY9fm4sdXg9PT1lJiYodU4mbik9PT1uJiYoND09PXVNfHwzPT09dU0mJigweDNjMDAwMDAmdU4pPT09dU4mJjMwMD5ldigpLXVIPzA9PSgyJnVfKSYmc2EoZSwwKTp1Rnw9bix1aj09PXVOJiYodWo9MCkpLHNqKGUpfWZ1bmN0aW9uIHNPKGUsdCl7MD09PXQmJih0PWVJKCkpLG51bGwhPT0oZT1ycChlLHQpKSYmKGVGKGUsdCksc2ooZSkpfWZ1bmN0aW9uIHN6KGUpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZSxuPTA7bnVsbCE9PXQmJihuPXQucmV0cnlMYW5lKSxzTyhlLG4pfWZ1bmN0aW9uIHNMKGUsdCl7dmFyIG49MDtzd2l0Y2goZS50YWcpe2Nhc2UgMzE6Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKG49bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztjYXNlIDIyOnI9ZS5zdGF0ZU5vZGUuX3JldHJ5Q2FjaGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMxNCkpfW51bGwhPT1yJiZyLmRlbGV0ZSh0KSxzTyhlLG4pfXZhciBzUj1udWxsLHNNPW51bGwsc0k9ITEsc0Q9ITEsc0Y9ITEsc0E9MDtmdW5jdGlvbiBzaihlKXtlIT09c00mJm51bGw9PT1lLm5leHQmJihudWxsPT09c00/c1I9c009ZTpzTT1zTS5uZXh0PWUpLHNEPSEwLHNJfHwoc0k9ITAsY3YoZnVuY3Rpb24oKXswIT0oNiZ1Xyk/ZXAoZWIsc0IpOnNWKCl9KSl9ZnVuY3Rpb24gc1UoZSx0KXtpZighc0YmJnNEKXtzRj0hMDtkbyBmb3IodmFyIG49ITEscj1zUjtudWxsIT09cjspe2lmKCF0KWlmKDAhPT1lKXt2YXIgbD1yLnBlbmRpbmdMYW5lcztpZigwPT09bCl2YXIgYT0wO2Vsc2V7dmFyIG89ci5zdXNwZW5kZWRMYW5lcyxpPXIucGluZ2VkTGFuZXM7YT0weGMwMDAwOTUmKGE9KDE8PDMxLWVQKDQyfGUpKzEpLTEmKGwmfihvJn5pKSkpPzB4YzAwMDA5NSZhfDE6YT8yfGE6MH0wIT09YSYmKG49ITAsc1EocixhKSl9ZWxzZSBhPXVOLDA9PSgzJihhPWVSKHIscj09PXV4P2E6MCxudWxsIT09ci5jYW5jZWxQZW5kaW5nQ29tbWl0fHwtMSE9PXIudGltZW91dEhhbmRsZSkpKXx8ZU0ocixhKXx8KG49ITAsc1EocixhKSk7cj1yLm5leHR9d2hpbGUobilzRj0hMX19ZnVuY3Rpb24gc0IoKXtzVigpfWZ1bmN0aW9uIHNWKCl7c0Q9c0k9ITE7dmFyIGUsdD0wOzA9PT1zQXx8KChlPXdpbmRvdy5ldmVudCkmJiJwb3BzdGF0ZSI9PT1lLnR5cGU/ZT09PWNwfHwoY3A9ZSwwKTooY3A9bnVsbCwxKSl8fCh0PXNBKTtmb3IodmFyIG49ZXYoKSxyPW51bGwsbD1zUjtudWxsIT09bDspe3ZhciBhPWwubmV4dCxvPXNIKGwsbik7MD09PW8/KGwubmV4dD1udWxsLG51bGw9PT1yP3NSPWE6ci5uZXh0PWEsbnVsbD09PWEmJihzTT1yKSk6KHI9bCwoMCE9PXR8fDAhPSgzJm8pKSYmKHNEPSEwKSksbD1hfTAhPT11SyYmNSE9PXVLfHxzVSh0LCExKSwwIT09c0EmJihzQT0wKX1mdW5jdGlvbiBzSChlLHQpe2Zvcih2YXIgbj1lLnN1c3BlbmRlZExhbmVzLHI9ZS5waW5nZWRMYW5lcyxsPWUuZXhwaXJhdGlvblRpbWVzLGE9LTB4M2MwMDAwMSZlLnBlbmRpbmdMYW5lczswPGE7KXt2YXIgbz0zMS1lUChhKSxpPTE8PG8sdT1sW29dOy0xPT09dT8oMD09KGkmbil8fDAhPShpJnIpKSYmKGxbb109ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDQ6Y2FzZSA4OmNhc2UgNjQ6cmV0dXJuIHQrMjUwO2Nhc2UgMTY6Y2FzZSAzMjpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gdCs1ZTM7ZGVmYXVsdDpyZXR1cm4gLTF9fShpLHQpKTp1PD10JiYoZS5leHBpcmVkTGFuZXN8PWkpLGEmPX5pfWlmKHQ9dXgsbj11TixuPWVSKGUsZT09PXQ/bjowLG51bGwhPT1lLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ZS50aW1lb3V0SGFuZGxlKSxyPWUuY2FsbGJhY2tOb2RlLDA9PT1ufHxlPT09dCYmKDI9PT11Q3x8OT09PXVDKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdClyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1yJiZlbShyKSxlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wO2lmKDA9PSgzJm4pfHxlTShlLG4pKXtpZigodD1uJi1uKT09PWUuY2FsbGJhY2tQcmlvcml0eSlyZXR1cm4gdDtzd2l0Y2gobnVsbCE9PXImJmVtKHIpLGVWKG4pKXtjYXNlIDI6Y2FzZSA4Om49ZXc7YnJlYWs7Y2FzZSAzMjpkZWZhdWx0Om49ZVM7YnJlYWs7Y2FzZSAweDEwMDAwMDAwOm49ZUV9cmV0dXJuIG49ZXAobixyPXMkLmJpbmQobnVsbCxlKSksZS5jYWxsYmFja1ByaW9yaXR5PXQsZS5jYWxsYmFja05vZGU9bix0fXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tQcmlvcml0eT0yLGUuY2FsbGJhY2tOb2RlPW51bGwsMn1mdW5jdGlvbiBzJChlLHQpe2lmKDAhPT11SyYmNSE9PXVLKXJldHVybiBlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLG51bGw7dmFyIG49ZS5jYWxsYmFja05vZGU7aWYoc18oKSYmZS5jYWxsYmFja05vZGUhPT1uKXJldHVybiBudWxsO3ZhciByPXVOO3JldHVybiAwPT09KHI9ZVIoZSxlPT09dXg/cjowLG51bGwhPT1lLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ZS50aW1lb3V0SGFuZGxlKSk/bnVsbDooc2UoZSxyLHQpLHNIKGUsZXYoKSksbnVsbCE9ZS5jYWxsYmFja05vZGUmJmUuY2FsbGJhY2tOb2RlPT09bj9zJC5iaW5kKG51bGwsZSk6bnVsbCl9ZnVuY3Rpb24gc1EoZSx0KXtpZihzXygpKXJldHVybiBudWxsO3NlKGUsdCwhMCl9ZnVuY3Rpb24gc1coKXtpZigwPT09c0Epe3ZhciBlPWxoOzA9PT1lJiYoZT1lVCwwPT0oMjYxODg4JihlVDw8PTEpKSYmKGVUPTI1NikpLHNBPWV9cmV0dXJuIHNBfWZ1bmN0aW9uIHNxKGUpe3JldHVybiBudWxsPT1lfHwic3ltYm9sIj09dHlwZW9mIGV8fCJib29sZWFuIj09dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOnRDKGUpfWZvcih2YXIgc0s9MDtzSzxyZS5sZW5ndGg7c0srKyl7dmFyIHNYPXJlW3NLXTtydChzWC50b0xvd2VyQ2FzZSgpLCJvbiIrKHNYWzBdLnRvVXBwZXJDYXNlKCkrc1guc2xpY2UoMSkpKX1ydChuMiwib25BbmltYXRpb25FbmQiKSxydChuMywib25BbmltYXRpb25JdGVyYXRpb24iKSxydChuNCwib25BbmltYXRpb25TdGFydCIpLHJ0KCJkYmxjbGljayIsIm9uRG91YmxlQ2xpY2siKSxydCgiZm9jdXNpbiIsIm9uRm9jdXMiKSxydCgiZm9jdXNvdXQiLCJvbkJsdXIiKSxydChuNiwib25UcmFuc2l0aW9uUnVuIikscnQobjUsIm9uVHJhbnNpdGlvblN0YXJ0IikscnQobjgsIm9uVHJhbnNpdGlvbkNhbmNlbCIpLHJ0KG45LCJvblRyYW5zaXRpb25FbmQiKSxlNygib25Nb3VzZUVudGVyIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksZTcoIm9uUG9pbnRlckVudGVyIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlNygib25Qb2ludGVyTGVhdmUiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLGU5KCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25TZWxlY3QiLCJmb2N1c291dCBjb250ZXh0bWVudSBkcmFnZW5kIGZvY3VzaW4ga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLGU5KCJvbkJlZm9yZUlucHV0IixbImNvbXBvc2l0aW9uZW5kIiwia2V5cHJlc3MiLCJ0ZXh0SW5wdXQiLCJwYXN0ZSJdKSxlOSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxlOSgib25Db21wb3NpdGlvblN0YXJ0IiwiY29tcG9zaXRpb25zdGFydCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25VcGRhdGUiLCJjb21wb3NpdGlvbnVwZGF0ZSBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSk7dmFyIHNZPSJhYm9ydCBjYW5wbGF5IGNhbnBsYXl0aHJvdWdoIGR1cmF0aW9uY2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGxvYWRlZGRhdGEgbG9hZGVkbWV0YWRhdGEgbG9hZHN0YXJ0IHBhdXNlIHBsYXkgcGxheWluZyBwcm9ncmVzcyByYXRlY2hhbmdlIHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSxzRz1uZXcgU2V0KCJiZWZvcmV0b2dnbGUgY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgc2Nyb2xsZW5kIHRvZ2dsZSIuc3BsaXQoIiAiKS5jb25jYXQoc1kpKTtmdW5jdGlvbiBzSihlLHQpe3Q9MCE9KDQmdCk7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl0sbD1yLmV2ZW50O3I9ci5saXN0ZW5lcnM7ZTp7dmFyIGE9dm9pZCAwO2lmKHQpZm9yKHZhciBvPXIubGVuZ3RoLTE7MDw9bztvLS0pe3ZhciBpPXJbb10sdT1pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0O2lmKGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JvKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX1lbHNlIGZvcihvPTA7bzxyLmxlbmd0aDtvKyspe2lmKHU9KGk9cltvXSkuaW5zdGFuY2Uscz1pLmN1cnJlbnRUYXJnZXQsaT1pLmxpc3RlbmVyLHUhPT1hJiZsLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgZTthPWksbC5jdXJyZW50VGFyZ2V0PXM7dHJ5e2EobCl9Y2F0Y2goZSl7cm8oZSl9bC5jdXJyZW50VGFyZ2V0PW51bGwsYT11fX19fWZ1bmN0aW9uIHNaKGUsdCl7dmFyIG49dFtlWF07dm9pZCAwPT09biYmKG49dFtlWF09bmV3IFNldCk7dmFyIHI9ZSsiX19idWJibGUiO24uaGFzKHIpfHwoczModCxlLDIsITEpLG4uYWRkKHIpKX1mdW5jdGlvbiBzMChlLHQsbil7dmFyIHI9MDt0JiYocnw9NCksczMobixlLHIsdCl9dmFyIHMxPSJfcmVhY3RMaXN0ZW5pbmciK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO2Z1bmN0aW9uIHMyKGUpe2lmKCFlW3MxXSl7ZVtzMV09ITAsZTUuZm9yRWFjaChmdW5jdGlvbih0KXsic2VsZWN0aW9uY2hhbmdlIiE9PXQmJihzRy5oYXModCl8fHMwKHQsITEsZSksczAodCwhMCxlKSl9KTt2YXIgdD05PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudDtudWxsPT09dHx8dFtzMV18fCh0W3MxXT0hMCxzMCgic2VsZWN0aW9uY2hhbmdlIiwhMSx0KSl9fWZ1bmN0aW9uIHMzKGUsdCxuLHIpe3N3aXRjaChmSSh0KSl7Y2FzZSAyOnZhciBsPWZUO2JyZWFrO2Nhc2UgODpsPWZPO2JyZWFrO2RlZmF1bHQ6bD1men1uPWwuYmluZChudWxsLHQsbixlKSxsPXZvaWQgMCx0aiYmKCJ0b3VjaHN0YXJ0Ij09PXR8fCJ0b3VjaG1vdmUiPT09dHx8IndoZWVsIj09PXQpJiYobD0hMCkscj92b2lkIDAhPT1sP2UuYWRkRXZlbnRMaXN0ZW5lcih0LG4se2NhcHR1cmU6ITAscGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMCk6dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtwYXNzaXZlOmx9KTplLmFkZEV2ZW50TGlzdGVuZXIodCxuLCExKX1mdW5jdGlvbiBzNChlLHQsbixyLGwpe3ZhciBhPXI7aWYoMD09KDEmdCkmJjA9PSgyJnQpJiZudWxsIT09cillOmZvcig7Oyl7aWYobnVsbD09PXIpcmV0dXJuO3ZhciBvPXIudGFnO2lmKDM9PT1vfHw0PT09byl7dmFyIGk9ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihpPT09bClicmVhaztpZig0PT09bylmb3Iobz1yLnJldHVybjtudWxsIT09bzspe3ZhciB1PW8udGFnO2lmKCgzPT09dXx8ND09PXUpJiZvLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09bClyZXR1cm47bz1vLnJldHVybn1mb3IoO251bGwhPT1pOyl7aWYobnVsbD09PShvPWUxKGkpKSlyZXR1cm47aWYoNT09PSh1PW8udGFnKXx8Nj09PXV8fDI2PT09dXx8Mjc9PT11KXtyPWE9bztjb250aW51ZSBlfWk9aS5wYXJlbnROb2RlfX1yPXIucmV0dXJufXREKGZ1bmN0aW9uKCl7dmFyIHI9YSxsPXR6KG4pLG89W107ZTp7dmFyIGk9bjcuZ2V0KGUpO2lmKHZvaWQgMCE9PWkpe3ZhciB1PXQxLHM9ZTtzd2l0Y2goZSl7Y2FzZSJrZXlwcmVzcyI6aWYoMD09PXRRKG4pKWJyZWFrIGU7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjp1PW5vO2JyZWFrO2Nhc2UiZm9jdXNpbiI6cz0iZm9jdXMiLHU9dDg7YnJlYWs7Y2FzZSJmb2N1c291dCI6cz0iYmx1ciIsdT10ODticmVhaztjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjp1PXQ4O2JyZWFrO2Nhc2UiY2xpY2siOmlmKDI9PT1uLmJ1dHRvbilicmVhayBlO2Nhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZXVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJjb250ZXh0bWVudSI6dT10NjticmVhaztjYXNlImRyYWciOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjp1PXQ1O2JyZWFrO2Nhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2htb3ZlIjpjYXNlInRvdWNoc3RhcnQiOnU9bnM7YnJlYWs7Y2FzZSBuMjpjYXNlIG4zOmNhc2UgbjQ6dT10OTticmVhaztjYXNlIG45OnU9bmM7YnJlYWs7Y2FzZSJzY3JvbGwiOmNhc2Uic2Nyb2xsZW5kIjp1PXQzO2JyZWFrO2Nhc2Uid2hlZWwiOnU9bmY7YnJlYWs7Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJwYXN0ZSI6dT10NzticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcnVwIjp1PW5pO2JyZWFrO2Nhc2Uic3VibWl0Ijp1PW51O2JyZWFrO2Nhc2UidG9nZ2xlIjpjYXNlImJlZm9yZXRvZ2dsZSI6dT1uZH12YXIgZj0wIT0oNCZ0KSxkPSFmJiYoInNjcm9sbCI9PT1lfHwic2Nyb2xsZW5kIj09PWUpLHA9Zj9udWxsIT09aT9pKyJDYXB0dXJlIjpudWxsOmk7Zj1bXTtmb3IodmFyIG0saD1yO251bGwhPT1oOyl7dmFyIGc9aDtpZihtPWcuc3RhdGVOb2RlLDUhPT0oZz1nLnRhZykmJjI2IT09ZyYmMjchPT1nfHxudWxsPT09bXx8bnVsbD09PXB8fG51bGwhPShnPXRGKGgscCkpJiZmLnB1c2goczYoaCxnLG0pKSxkKWJyZWFrO2g9aC5yZXR1cm59MDxmLmxlbmd0aCYmKGk9bmV3IHUoaSxzLG51bGwsbixsKSxvLnB1c2goe2V2ZW50OmksbGlzdGVuZXJzOmZ9KSl9fWlmKDA9PSg3JnQpKXt1PSJtb3VzZW92ZXIiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUsaT0ibW91c2VvdXQiPT09ZXx8InBvaW50ZXJvdXQiPT09ZSwhKHUmJm4hPT10TyYmKHM9bi5yZWxhdGVkVGFyZ2V0fHxuLmZyb21FbGVtZW50KSYmKGUxKHMpfHxzW2VLXSkpJiYoaXx8dSkmJihzPWwud2luZG93PT09bD9sOih1PWwub3duZXJEb2N1bWVudCk/dS5kZWZhdWx0Vmlld3x8dS5wYXJlbnRXaW5kb3c6d2luZG93LGk/KHU9bi5yZWxhdGVkVGFyZ2V0fHxuLnRvRWxlbWVudCxpPXIsbnVsbCE9PSh1PXU/ZTEodSk6bnVsbCkmJihkPWModSksZj11LnRhZyx1IT09ZHx8NSE9PWYmJjI3IT09ZiYmNiE9PWYpJiYodT1udWxsKSk6KGk9bnVsbCx1PXIpLGkhPT11JiYoZj10NixnPSJvbk1vdXNlTGVhdmUiLHA9Im9uTW91c2VFbnRlciIsaD0ibW91c2UiLCgicG9pbnRlcm91dCI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSkmJihmPW5pLGc9Im9uUG9pbnRlckxlYXZlIixwPSJvblBvaW50ZXJFbnRlciIsaD0icG9pbnRlciIpLGQ9bnVsbD09aT9zOmUzKGkpLG09bnVsbD09dT9zOmUzKHUpLChzPW5ldyBmKGcsaCsibGVhdmUiLGksbixsKSkudGFyZ2V0PWQscy5yZWxhdGVkVGFyZ2V0PW0sZz1udWxsLGUxKGwpPT09ciYmKChmPW5ldyBmKHAsaCsiZW50ZXIiLHUsbixsKSkudGFyZ2V0PW0sZi5yZWxhdGVkVGFyZ2V0PWQsZz1mKSxkPWcsZj1pJiZ1P0UoaSx1LHM4KTpudWxsLG51bGwhPT1pJiZzOShvLHMsaSxmLCExKSxudWxsIT09dSYmbnVsbCE9PWQmJnM5KG8sZCx1LGYsITApKSk7ZTp7aWYoInNlbGVjdCI9PT0odT0oaT1yP2UzKHIpOndpbmRvdykubm9kZU5hbWUmJmkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl8fCJpbnB1dCI9PT11JiYiZmlsZSI9PT1pLnR5cGUpdmFyIHYseT1uVDtlbHNlIGlmKG5FKGkpKWlmKG5PKXk9bkE7ZWxzZXt5PW5EO3ZhciBiPW5JfWVsc2UodT1pLm5vZGVOYW1lKSYmImlucHV0Ij09PXUudG9Mb3dlckNhc2UoKSYmKCJjaGVja2JveCI9PT1pLnR5cGV8fCJyYWRpbyI9PT1pLnR5cGUpP3k9bkY6ciYmdHgoci5lbGVtZW50VHlwZSkmJih5PW5UKTtpZih5JiYoeT15KGUscikpKXtuXyhvLHksbixsKTticmVhayBlfWImJmIoZSxpLHIpLCJmb2N1c291dCI9PT1lJiZyJiYibnVtYmVyIj09PWkudHlwZSYmbnVsbCE9ci5tZW1vaXplZFByb3BzLnZhbHVlJiZ0dihpLCJudW1iZXIiLGkudmFsdWUpfXN3aXRjaChiPXI/ZTMocik6d2luZG93LGUpe2Nhc2UiZm9jdXNpbiI6KG5FKGIpfHwidHJ1ZSI9PT1iLmNvbnRlbnRFZGl0YWJsZSkmJihuVz1iLG5xPXIsbks9bnVsbCk7YnJlYWs7Y2FzZSJmb2N1c291dCI6bks9bnE9blc9bnVsbDticmVhaztjYXNlIm1vdXNlZG93biI6blg9ITA7YnJlYWs7Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJtb3VzZXVwIjpjYXNlImRyYWdlbmQiOm5YPSExLG5ZKG8sbixsKTticmVhaztjYXNlInNlbGVjdGlvbmNoYW5nZSI6aWYoblEpYnJlYWs7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpuWShvLG4sbCl9aWYobm0pdDp7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dmFyIHc9Im9uQ29tcG9zaXRpb25TdGFydCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9uZW5kIjp3PSJvbkNvbXBvc2l0aW9uRW5kIjticmVhayB0O2Nhc2UiY29tcG9zaXRpb251cGRhdGUiOnc9Im9uQ29tcG9zaXRpb25VcGRhdGUiO2JyZWFrIHR9dz12b2lkIDB9ZWxzZSBuUz9uYihlLG4pJiYodz0ib25Db21wb3NpdGlvbkVuZCIpOiJrZXlkb3duIj09PWUmJjIyOT09PW4ua2V5Q29kZSYmKHc9Im9uQ29tcG9zaXRpb25TdGFydCIpO3cmJihudiYmImtvIiE9PW4ubG9jYWxlJiYoblN8fCJvbkNvbXBvc2l0aW9uU3RhcnQiIT09dz8ib25Db21wb3NpdGlvbkVuZCI9PT13JiZuUyYmKHY9dCQoKSk6KHRWPSJ2YWx1ZSJpbih0Qj1sKT90Qi52YWx1ZTp0Qi50ZXh0Q29udGVudCxuUz0hMCkpLDA8KGI9czUocix3KSkubGVuZ3RoJiYodz1uZXcgbmUodyxlLG51bGwsbixsKSxvLnB1c2goe2V2ZW50OncsbGlzdGVuZXJzOmJ9KSx2P3cuZGF0YT12Om51bGwhPT0odj1udyhuKSkmJih3LmRhdGE9dikpKSwodj1uZz9mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gbncodCk7Y2FzZSJrZXlwcmVzcyI6aWYoMzIhPT10LndoaWNoKXJldHVybiBudWxsO3JldHVybiBueT0hMCwiICI7Y2FzZSJ0ZXh0SW5wdXQiOnJldHVybiIgIj09PShlPXQuZGF0YSkmJm55P251bGw6ZTtkZWZhdWx0OnJldHVybiBudWxsfX0oZSxuKTpmdW5jdGlvbihlLHQpe2lmKG5TKXJldHVybiJjb21wb3NpdGlvbmVuZCI9PT1lfHwhbm0mJm5iKGUsdCk/KGU9dCQoKSx0SD10Vj10Qj1udWxsLG5TPSExLGUpOm51bGw7c3dpdGNoKGUpe2Nhc2UicGFzdGUiOmRlZmF1bHQ6cmV0dXJuIG51bGw7Y2FzZSJrZXlwcmVzcyI6aWYoISh0LmN0cmxLZXl8fHQuYWx0S2V5fHx0Lm1ldGFLZXkpfHx0LmN0cmxLZXkmJnQuYWx0S2V5KXtpZih0LmNoYXImJjE8dC5jaGFyLmxlbmd0aClyZXR1cm4gdC5jaGFyO2lmKHQud2hpY2gpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodC53aGljaCl9cmV0dXJuIG51bGw7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG52JiYia28iIT09dC5sb2NhbGU/bnVsbDp0LmRhdGF9fShlLG4pKSYmMDwodz1zNShyLCJvbkJlZm9yZUlucHV0IikpLmxlbmd0aCYmKGI9bmV3IG5lKCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsbixsKSxvLnB1c2goe2V2ZW50OmIsbGlzdGVuZXJzOnd9KSxiLmRhdGE9dik7dmFyIFM9ZTtpZigic3VibWl0Ij09PVMmJnImJnIuc3RhdGVOb2RlPT09bCl7dmFyIGs9c3EoKGxbZXFdfHxudWxsKS5hY3Rpb24pLF89bi5zdWJtaXR0ZXI7XyYmbnVsbCE9PShTPShTPV9bZXFdfHxudWxsKT9zcShTLmZvcm1BY3Rpb24pOl8uZ2V0QXR0cmlidXRlKCJmb3JtQWN0aW9uIikpJiYoaz1TLF89bnVsbCk7dmFyIHg9bmV3IHQxKCJhY3Rpb24iLCJhY3Rpb24iLG51bGwsbixsKTtvLnB1c2goe2V2ZW50OngsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKG4uZGVmYXVsdFByZXZlbnRlZCl7aWYoMCE9PXNBKXt2YXIgZT1uZXcgRm9ybURhdGEobCxfKTtvcyhyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOmt9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgayYmKHgucHJldmVudERlZmF1bHQoKSxvcyhyLHtwZW5kaW5nOiEwLGRhdGE6ZT1uZXcgRm9ybURhdGEobCxfKSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOmt9LGssZSkpfSxjdXJyZW50VGFyZ2V0Omx9XX0pfX1zSihvLHQpfSl9ZnVuY3Rpb24gczYoZSx0LG4pe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOnQsY3VycmVudFRhcmdldDpufX1mdW5jdGlvbiBzNShlLHQpe2Zvcih2YXIgbj10KyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlO2lmKDUhPT0obD1sLnRhZykmJjI2IT09bCYmMjchPT1sfHxudWxsPT09YXx8KG51bGwhPShsPXRGKGUsbikpJiZyLnVuc2hpZnQoczYoZSxsLGEpKSxudWxsIT0obD10RihlLHQpKSYmci5wdXNoKHM2KGUsbCxhKSkpLDM9PT1lLnRhZylyZXR1cm4gcjtlPWUucmV0dXJufXJldHVybltdfWZ1bmN0aW9uIHM4KGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9ZS5yZXR1cm47d2hpbGUoZSYmNSE9PWUudGFnJiYyNyE9PWUudGFnKXJldHVybiBlfHxudWxsfWZ1bmN0aW9uIHM5KGUsdCxuLHIsbCl7Zm9yKHZhciBhPXQuX3JlYWN0TmFtZSxvPVtdO251bGwhPT1uJiZuIT09cjspe3ZhciBpPW4sdT1pLmFsdGVybmF0ZSxzPWkuc3RhdGVOb2RlO2lmKGk9aS50YWcsbnVsbCE9PXUmJnU9PT1yKWJyZWFrOzUhPT1pJiYyNiE9PWkmJjI3IT09aXx8bnVsbD09PXN8fCh1PXMsbD9udWxsIT0ocz10RihuLGEpKSYmby51bnNoaWZ0KHM2KG4scyx1KSk6bHx8bnVsbCE9KHM9dEYobixhKSkmJm8ucHVzaChzNihuLHMsdSkpKSxuPW4ucmV0dXJufTAhPT1vLmxlbmd0aCYmZS5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpvfSl9dmFyIHM3PS9cclxuPy9nLGNlPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gY3QoZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UoczcsIlxuIikucmVwbGFjZShjZSwiIil9ZnVuY3Rpb24gY24oZSx0KXtyZXR1cm4gdD1jdCh0KSxjdChlKT09PXR9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlImNoaWxkcmVuIjppZigic3RyaW5nIj09dHlwZW9mIHIpImJvZHkiPT09dHx8InRleHRhcmVhIj09PXQmJiIiPT09cnx8dFMoZSxyKTtlbHNle2lmKCJudW1iZXIiIT10eXBlb2YgciYmImJpZ2ludCIhPXR5cGVvZiByKXJldHVybjsiYm9keSIhPT10JiZ0UyhlLCIiK3IpfWJyZWFrO2Nhc2UiY2xhc3NOYW1lIjp0byhlLCJjbGFzcyIscik7YnJlYWs7Y2FzZSJ0YWJJbmRleCI6dG8oZSwidGFiaW5kZXgiLHIpO2JyZWFrO2Nhc2UiZGlyIjpjYXNlInJvbGUiOmNhc2Uidmlld0JveCI6Y2FzZSJ3aWR0aCI6Y2FzZSJoZWlnaHQiOnRvKGUsbixyKTticmVhaztjYXNlInN0eWxlIjp0XyhlLHIsYSk7cmV0dXJuO2Nhc2UiZGF0YSI6aWYoIm9iamVjdCIhPT10KXt0byhlLCJkYXRhIixyKTticmVha31jYXNlInNyYyI6Y2FzZSJocmVmIjppZigiIj09PXImJigiYSIhPT10fHwiaHJlZiIhPT1uKXx8bnVsbD09cnx8ImZ1bmN0aW9uIj09dHlwZW9mIHJ8fCJzeW1ib2wiPT10eXBlb2Ygcnx8ImJvb2xlYW4iPT10eXBlb2Ygcil7ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWt9cj10QyhyKSxlLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UiYWN0aW9uIjpjYXNlImZvcm1BY3Rpb24iOmlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXtlLnNldEF0dHJpYnV0ZShuLCJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignQSBSZWFjdCBmb3JtIHdhcyB1bmV4cGVjdGVkbHkgc3VibWl0dGVkLiBJZiB5b3UgY2FsbGVkIGZvcm0uc3VibWl0KCkgbWFudWFsbHksIGNvbnNpZGVyIHVzaW5nIGZvcm0ucmVxdWVzdFN1Ym1pdCgpIGluc3RlYWQuIElmIHlvdVxcJ3JlIHRyeWluZyB0byB1c2UgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgaW4gYSBzdWJtaXQgZXZlbnQgaGFuZGxlciwgY29uc2lkZXIgYWxzbyBjYWxsaW5nIGV2ZW50LnByZXZlbnREZWZhdWx0KCkuJykiKTticmVha31pZigiZnVuY3Rpb24iPT10eXBlb2YgYSYmKCJmb3JtQWN0aW9uIj09PW4/KCJpbnB1dCIhPT10JiZjcihlLHQsIm5hbWUiLGwubmFtZSxsLG51bGwpLGNyKGUsdCwiZm9ybUVuY1R5cGUiLGwuZm9ybUVuY1R5cGUsbCxudWxsKSxjcihlLHQsImZvcm1NZXRob2QiLGwuZm9ybU1ldGhvZCxsLG51bGwpLGNyKGUsdCwiZm9ybVRhcmdldCIsbC5mb3JtVGFyZ2V0LGwsbnVsbCkpOihjcihlLHQsImVuY1R5cGUiLGwuZW5jVHlwZSxsLG51bGwpLGNyKGUsdCwibWV0aG9kIixsLm1ldGhvZCxsLG51bGwpLGNyKGUsdCwidGFyZ2V0IixsLnRhcmdldCxsLG51bGwpKSksbnVsbD09cnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKHIpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJvbkNsaWNrIjpudWxsIT1yJiYoZS5vbmNsaWNrPXRUKTtyZXR1cm47Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc1ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNaKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1yKXtpZigib2JqZWN0IiE9dHlwZW9mIHJ8fCEoIl9faHRtbCJpbiByKSl0aHJvdyBFcnJvcih1KDYxKSk7aWYobnVsbCE9KG49ci5fX2h0bWwpKXtpZihudWxsIT1sLmNoaWxkcmVuKXRocm93IEVycm9yKHUoNjApKTtlLmlubmVySFRNTD1ufX1icmVhaztjYXNlIm11bHRpcGxlIjplLm11bHRpcGxlPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJtdXRlZCI6ZS5tdXRlZD1yJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByO2JyZWFrO2Nhc2Uic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIjpjYXNlInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyI6Y2FzZSJkZWZhdWx0VmFsdWUiOmNhc2UiZGVmYXVsdENoZWNrZWQiOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJhdXRvRm9jdXMiOmJyZWFrO2Nhc2UieGxpbmtIcmVmIjppZihudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8ImJvb2xlYW4iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZSgieGxpbms6aHJlZiIpO2JyZWFrfW49dEMociksZS5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmhyZWYiLG4pO2JyZWFrO2Nhc2UiY29udGVudEVkaXRhYmxlIjpjYXNlInNwZWxsQ2hlY2siOmNhc2UiZHJhZ2dhYmxlIjpjYXNlInZhbHVlIjpjYXNlImF1dG9SZXZlcnNlIjpjYXNlImV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQiOmNhc2UiZm9jdXNhYmxlIjpjYXNlInByZXNlcnZlQWxwaGEiOm51bGwhPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI/ZS5zZXRBdHRyaWJ1dGUobixyKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlImluZXJ0IjpjYXNlImFsbG93RnVsbFNjcmVlbiI6Y2FzZSJhc3luYyI6Y2FzZSJhdXRvUGxheSI6Y2FzZSJjb250cm9scyI6Y2FzZSJkZWZhdWx0IjpjYXNlImRlZmVyIjpjYXNlImRpc2FibGVkIjpjYXNlImRpc2FibGVQaWN0dXJlSW5QaWN0dXJlIjpjYXNlImRpc2FibGVSZW1vdGVQbGF5YmFjayI6Y2FzZSJmb3JtTm9WYWxpZGF0ZSI6Y2FzZSJoaWRkZW4iOmNhc2UibG9vcCI6Y2FzZSJub01vZHVsZSI6Y2FzZSJub1ZhbGlkYXRlIjpjYXNlIm9wZW4iOmNhc2UicGxheXNJbmxpbmUiOmNhc2UicmVhZE9ubHkiOmNhc2UicmVxdWlyZWQiOmNhc2UicmV2ZXJzZWQiOmNhc2Uic2NvcGVkIjpjYXNlInNlYW1sZXNzIjpjYXNlIml0ZW1TY29wZSI6ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlImNhcHR1cmUiOmNhc2UiZG93bmxvYWQiOiEwPT09cj9lLnNldEF0dHJpYnV0ZShuLCIiKTohMSE9PXImJm51bGwhPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI/ZS5zZXRBdHRyaWJ1dGUobixyKTplLnJlbW92ZUF0dHJpYnV0ZShuKTticmVhaztjYXNlImNvbHMiOmNhc2Uicm93cyI6Y2FzZSJzaXplIjpjYXNlInNwYW4iOm51bGwhPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHImJiFpc05hTihyKSYmMTw9cj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2Uicm93U3BhbiI6Y2FzZSJzdGFydCI6bnVsbD09cnx8ImZ1bmN0aW9uIj09dHlwZW9mIHJ8fCJzeW1ib2wiPT10eXBlb2Ygcnx8aXNOYU4ocik/ZS5yZW1vdmVBdHRyaWJ1dGUobik6ZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlInBvcG92ZXIiOnNaKCJiZWZvcmV0b2dnbGUiLGUpLHNaKCJ0b2dnbGUiLGUpLHRhKGUsInBvcG92ZXIiLHIpO2JyZWFrO2Nhc2UieGxpbmtBY3R1YXRlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6YWN0dWF0ZSIscik7YnJlYWs7Y2FzZSJ4bGlua0FyY3JvbGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphcmNyb2xlIixyKTticmVhaztjYXNlInhsaW5rUm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnJvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtTaG93Ijp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6c2hvdyIscik7YnJlYWs7Y2FzZSJ4bGlua1RpdGxlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6dGl0bGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtUeXBlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6dHlwZSIscik7YnJlYWs7Y2FzZSJ4bWxCYXNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6YmFzZSIscik7YnJlYWs7Y2FzZSJ4bWxMYW5nIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6bGFuZyIscik7YnJlYWs7Y2FzZSJ4bWxTcGFjZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOnNwYWNlIixyKTticmVhaztjYXNlImlzIjp0YShlLCJpcyIscik7YnJlYWs7Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKDI8bi5sZW5ndGgmJigibyI9PT1uWzBdfHwiTyI9PT1uWzBdKSYmKCJuIj09PW5bMV18fCJOIj09PW5bMV0pKXJldHVybjt0YShlLG49dFAuZ2V0KG4pfHxuLHIpfXRyPSEwfWZ1bmN0aW9uIGNsKGUsdCxuLHIsbCxhKXtzd2l0Y2gobil7Y2FzZSJzdHlsZSI6dF8oZSxyLGEpO3JldHVybjtjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1yKXtpZigib2JqZWN0IiE9dHlwZW9mIHJ8fCEoIl9faHRtbCJpbiByKSl0aHJvdyBFcnJvcih1KDYxKSk7aWYobnVsbCE9KG49ci5fX2h0bWwpKXtpZihudWxsIT1sLmNoaWxkcmVuKXRocm93IEVycm9yKHUoNjApKTtlLmlubmVySFRNTD1ufX1icmVhaztjYXNlImNoaWxkcmVuIjppZigic3RyaW5nIj09dHlwZW9mIHIpdFMoZSxyKTtlbHNle2lmKCJudW1iZXIiIT10eXBlb2YgciYmImJpZ2ludCIhPXR5cGVvZiByKXJldHVybjt0UyhlLCIiK3IpfWJyZWFrO2Nhc2Uib25TY3JvbGwiOm51bGwhPXImJnNaKCJzY3JvbGwiLGUpO3JldHVybjtjYXNlIm9uU2Nyb2xsRW5kIjpudWxsIT1yJiZzWigic2Nyb2xsZW5kIixlKTtyZXR1cm47Y2FzZSJvbkNsaWNrIjpudWxsIT1yJiYoZS5vbmNsaWNrPXRUKTtyZXR1cm47Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImlubmVySFRNTCI6Y2FzZSJyZWYiOmNhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpyZXR1cm47ZGVmYXVsdDppZighZTguaGFzT3duUHJvcGVydHkobikpZTp7aWYoIm8iPT09blswXSYmIm4iPT09blsxXSYmKGw9bi5lbmRzV2l0aCgiQ2FwdHVyZSIpLHQ9bi5zbGljZSgyLGw/bi5sZW5ndGgtNzp2b2lkIDApLCJmdW5jdGlvbiI9PXR5cGVvZihhPW51bGwhPShhPWVbZXFdfHxudWxsKT9hW25dOm51bGwpJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxhLGwpLCJmdW5jdGlvbiI9PXR5cGVvZiByKSl7ImZ1bmN0aW9uIiE9dHlwZW9mIGEmJm51bGwhPT1hJiYobiBpbiBlP2Vbbl09bnVsbDplLmhhc0F0dHJpYnV0ZShuKSYmZS5yZW1vdmVBdHRyaWJ1dGUobikpLGUuYWRkRXZlbnRMaXN0ZW5lcih0LHIsbCk7YnJlYWsgZX10cj0hMCxuIGluIGU/ZVtuXT1yOiEwPT09cj9lLnNldEF0dHJpYnV0ZShuLCIiKTp0YShlLG4scil9cmV0dXJufXRyPSEwfWZ1bmN0aW9uIGNhKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbWciOnNaKCJlcnJvciIsZSksc1ooImxvYWQiLGUpO3ZhciByLGw9ITEsYT0hMTtmb3IociBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocikpe3ZhciBvPW5bcl07aWYobnVsbCE9bylzd2l0Y2gocil7Y2FzZSJzcmMiOmw9ITA7YnJlYWs7Y2FzZSJzcmNTZXQiOmE9ITA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IodSgxMzcsdCkpO2RlZmF1bHQ6Y3IoZSx0LHIsbyxuLG51bGwpfX1hJiZjcihlLHQsInNyY1NldCIsbi5zcmNTZXQsbixudWxsKSxsJiZjcihlLHQsInNyYyIsbi5zcmMsbixudWxsKTtyZXR1cm47Y2FzZSJpbnB1dCI6c1ooImludmFsaWQiLGUpO3ZhciBpPXI9bz1hPW51bGwscz1udWxsLGM9bnVsbDtmb3IobCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkobCkpe3ZhciBmPW5bbF07aWYobnVsbCE9Zilzd2l0Y2gobCl7Y2FzZSJuYW1lIjphPWY7YnJlYWs7Y2FzZSJ0eXBlIjpvPWY7YnJlYWs7Y2FzZSJjaGVja2VkIjpzPWY7YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Yz1mO2JyZWFrO2Nhc2UidmFsdWUiOnI9ZjticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6aT1mO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWYpdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6Y3IoZSx0LGwsZixuLG51bGwpfX10ZyhlLHIsaSxzLGMsbyxhLCExKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIHNaKCJpbnZhbGlkIixlKSxsPW89cj1udWxsLG4paWYobi5oYXNPd25Qcm9wZXJ0eShhKSYmbnVsbCE9KGk9blthXSkpc3dpdGNoKGEpe2Nhc2UidmFsdWUiOnI9aTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bz1pO2JyZWFrO2Nhc2UibXVsdGlwbGUiOmw9aTtkZWZhdWx0OmNyKGUsdCxhLGksbixudWxsKX10PXIsbj1vLGUubXVsdGlwbGU9ISFsLG51bGwhPXQ/dHkoZSwhIWwsdCwhMSk6bnVsbCE9biYmdHkoZSwhIWwsbiwhMCk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihvIGluIHNaKCJpbnZhbGlkIixlKSxyPWE9bD1udWxsLG4paWYobi5oYXNPd25Qcm9wZXJ0eShvKSYmbnVsbCE9KGk9bltvXSkpc3dpdGNoKG8pe2Nhc2UidmFsdWUiOmw9aTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6YT1pO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOnI9aTticmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1pKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmNyKGUsdCxvLGksbixudWxsKX10dyhlLGwsYSxyKTtyZXR1cm47Y2FzZSJvcHRpb24iOmZvcihzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmbnVsbCE9KGw9bltzXSkmJigic2VsZWN0ZWQiPT09cz9lLnNlbGVjdGVkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGw6Y3IoZSx0LHMsbCxuLG51bGwpKTtyZXR1cm47Y2FzZSJkaWFsb2ciOnNaKCJiZWZvcmV0b2dnbGUiLGUpLHNaKCJ0b2dnbGUiLGUpLHNaKCJjYW5jZWwiLGUpLHNaKCJjbG9zZSIsZSk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpzWigibG9hZCIsZSk7YnJlYWs7Y2FzZSJ2aWRlbyI6Y2FzZSJhdWRpbyI6Zm9yKGw9MDtsPHNZLmxlbmd0aDtsKyspc1ooc1lbbF0sZSk7YnJlYWs7Y2FzZSJpbWFnZSI6c1ooImVycm9yIixlKSxzWigibG9hZCIsZSk7YnJlYWs7Y2FzZSJkZXRhaWxzIjpzWigidG9nZ2xlIixlKTticmVhaztjYXNlImVtYmVkIjpjYXNlInNvdXJjZSI6Y2FzZSJsaW5rIjpzWigiZXJyb3IiLGUpLHNaKCJsb2FkIixlKTtjYXNlImFyZWEiOmNhc2UiYmFzZSI6Y2FzZSJiciI6Y2FzZSJjb2wiOmNhc2UiaHIiOmNhc2Uia2V5Z2VuIjpjYXNlIm1ldGEiOmNhc2UicGFyYW0iOmNhc2UidHJhY2siOmNhc2Uid2JyIjpjYXNlIm1lbnVpdGVtIjpmb3IoYyBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkoYykmJm51bGwhPShsPW5bY10pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjcihlLHQsYyxsLG4sbnVsbCl9cmV0dXJuO2RlZmF1bHQ6aWYodHgodCkpe2ZvcihmIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShmKSYmdm9pZCAwIT09KGw9bltmXSkmJmNsKGUsdCxmLGwsbix2b2lkIDApO3JldHVybn19Zm9yKGkgaW4gbiluLmhhc093blByb3BlcnR5KGkpJiZudWxsIT0obD1uW2ldKSYmY3IoZSx0LGksbCxuLG51bGwpfWZ1bmN0aW9uIGNvKGUpe3N3aXRjaChlKXtjYXNlImNzcyI6Y2FzZSJzY3JpcHQiOmNhc2UiZm9udCI6Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UiaW5wdXQiOmNhc2UibGluayI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19dmFyIGNpPW51bGwsY3U9bnVsbDtmdW5jdGlvbiBjcyhlKXtyZXR1cm4gOT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnR9ZnVuY3Rpb24gY2MoZSl7c3dpdGNoKGUpe2Nhc2UiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciOnJldHVybiAxO2Nhc2UiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19ZnVuY3Rpb24gY2YoZSx0KXtpZigwPT09ZSlzd2l0Y2godCl7Y2FzZSJzdmciOnJldHVybiAxO2Nhc2UibWF0aCI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH1yZXR1cm4gMT09PWUmJiJmb3JlaWduT2JqZWN0Ij09PXQ/MDplfWZ1bmN0aW9uIGNkKGUsdCl7cmV0dXJuInRleHRhcmVhIj09PWV8fCJub3NjcmlwdCI9PT1lfHwic3RyaW5nIj09dHlwZW9mIHQuY2hpbGRyZW58fCJudW1iZXIiPT10eXBlb2YgdC5jaGlsZHJlbnx8ImJpZ2ludCI9PXR5cGVvZiB0LmNoaWxkcmVufHwib2JqZWN0Ij09dHlwZW9mIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPT10LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MJiZudWxsIT10LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbH12YXIgY3A9bnVsbCxjbT0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsY2c9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAsY3Y9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PWNnP2Z1bmN0aW9uKGUpe3JldHVybiBjZy5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2goY3kpfTpjbTtmdW5jdGlvbiBjeShlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIGNiKGUpe3JldHVybiJoZWFkIj09PWV9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj10LHI9MDtkb3t2YXIgbD1uLm5leHRTaWJsaW5nO2lmKGUucmVtb3ZlQ2hpbGQobiksbCYmOD09PWwubm9kZVR5cGUpaWYoIi8kIj09PShuPWwuZGF0YSl8fCIvJiI9PT1uKXtpZigwPT09cil7ZS5yZW1vdmVDaGlsZChsKSxmWih0KTtyZXR1cm59ci0tfWVsc2UgaWYoIiQiPT09bnx8IiQ/Ij09PW58fCIkfiI9PT1ufHwiJCEiPT09bnx8IiYiPT09bilyKys7ZWxzZSBpZigiaHRtbCI9PT1uKWNaKGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpO2Vsc2UgaWYoImhlYWQiPT09bil7Y1oobj1lLm93bmVyRG9jdW1lbnQuaGVhZCk7Zm9yKHZhciBhPW4uZmlyc3RDaGlsZDthOyl7dmFyIG89YS5uZXh0U2libGluZyxpPWEubm9kZU5hbWU7YVtlWl18fCJTQ1JJUFQiPT09aXx8IlNUWUxFIj09PWl8fCJMSU5LIj09PWkmJiJzdHlsZXNoZWV0Ij09PWEucmVsLnRvTG93ZXJDYXNlKCl8fG4ucmVtb3ZlQ2hpbGQoYSksYT1vfX1lbHNlImJvZHkiPT09biYmY1ooZS5vd25lckRvY3VtZW50LmJvZHkpO249bH13aGlsZShuKWZaKHQpfWZ1bmN0aW9uIGNTKGUsdCl7dmFyIG49ZTtlPTA7ZG97dmFyIHI9bi5uZXh0U2libGluZztpZigxPT09bi5ub2RlVHlwZT90PyhuLl9zdGFzaGVkRGlzcGxheT1uLnN0eWxlLmRpc3BsYXksbi5zdHlsZS5kaXNwbGF5PSJub25lIik6KG4uc3R5bGUuZGlzcGxheT1uLl9zdGFzaGVkRGlzcGxheXx8IiIsIiI9PT1uLmdldEF0dHJpYnV0ZSgic3R5bGUiKSYmbi5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIikpOjM9PT1uLm5vZGVUeXBlJiYodD8obi5fc3Rhc2hlZFRleHQ9bi5ub2RlVmFsdWUsbi5ub2RlVmFsdWU9IiIpOm4ubm9kZVZhbHVlPW4uX3N0YXNoZWRUZXh0fHwiIiksciYmOD09PXIubm9kZVR5cGUpaWYoIi8kIj09PShuPXIuZGF0YSkpaWYoMD09PWUpYnJlYWs7ZWxzZSBlLS07ZWxzZSIkIiE9PW4mJiIkPyIhPT1uJiYiJH4iIT09biYmIiQhIiE9PW58fGUrKztuPXJ9d2hpbGUobil9ZnVuY3Rpb24gY2soZSx0LG4pe2lmKHQ9Q1NTLmVzY2FwZSh0KSE9PXQ/InItIitidG9hKHQpLnJlcGxhY2UoLz0vZywiIik6dCxlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT10LG51bGwhPW4mJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uQ2xhc3M9biksImlubGluZSI9PT0obj1nZXRDb21wdXRlZFN0eWxlKGUpKS5kaXNwbGF5KXtpZigxPT09KHQ9ZS5nZXRDbGllbnRSZWN0cygpKS5sZW5ndGgpdmFyIHI9MTtlbHNlIGZvcih2YXIgbD1yPTA7bDx0Lmxlbmd0aDtsKyspe3ZhciBhPXRbbF07MDxhLndpZHRoJiYwPGEuaGVpZ2h0JiZyKyt9MT09PXImJigoZT1lLnN0eWxlKS5kaXNwbGF5PTE9PT10Lmxlbmd0aD8iaW5saW5lLWJsb2NrIjoiYmxvY2siLGUubWFyZ2luVG9wPSItIituLnBhZGRpbmdUb3AsZS5tYXJnaW5Cb3R0b209Ii0iK24ucGFkZGluZ0JvdHRvbSl9fWZ1bmN0aW9uIGNFKGUsdCl7ZT1lLnN0eWxlO3ZhciBuPW51bGwhPSh0PXQuc3R5bGUpP3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uTmFtZSIpP3Qudmlld1RyYW5zaXRpb25OYW1lOnQuaGFzT3duUHJvcGVydHkoInZpZXctdHJhbnNpdGlvbi1uYW1lIik/dFsidmlldy10cmFuc2l0aW9uLW5hbWUiXTpudWxsOm51bGw7ZS52aWV3VHJhbnNpdGlvbk5hbWU9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjooIiIrbikudHJpbSgpLG49bnVsbCE9dD90Lmhhc093blByb3BlcnR5KCJ2aWV3VHJhbnNpdGlvbkNsYXNzIik/dC52aWV3VHJhbnNpdGlvbkNsYXNzOnQuaGFzT3duUHJvcGVydHkoInZpZXctdHJhbnNpdGlvbi1jbGFzcyIpP3RbInZpZXctdHJhbnNpdGlvbi1jbGFzcyJdOm51bGw6bnVsbCxlLnZpZXdUcmFuc2l0aW9uQ2xhc3M9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjooIiIrbikudHJpbSgpLCJpbmxpbmUtYmxvY2siPT09ZS5kaXNwbGF5JiYobnVsbD09dD9lLmRpc3BsYXk9ZS5tYXJnaW49IiI6KG49dC5kaXNwbGF5LGUuZGlzcGxheT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOm4sbnVsbCE9KG49dC5tYXJnaW4pP2UubWFyZ2luPW46KG49dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luVG9wIik/dC5tYXJnaW5Ub3A6dFsibWFyZ2luLXRvcCJdLGUubWFyZ2luVG9wPW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bix0PXQuaGFzT3duUHJvcGVydHkoIm1hcmdpbkJvdHRvbSIpP3QubWFyZ2luQm90dG9tOnRbIm1hcmdpbi1ib3R0b20iXSxlLm1hcmdpbkJvdHRvbT1udWxsPT10fHwiYm9vbGVhbiI9PXR5cGVvZiB0PyIiOnQpKSl9ZnVuY3Rpb24gY18oZSx0LG4pe3JldHVybiBuPW4ub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7cmVjdDplLGFiczoiYWJzb2x1dGUiPT09dC5wb3NpdGlvbnx8ImZpeGVkIj09PXQucG9zaXRpb24sY2xpcDoibm9uZSIhPT10LmNsaXBQYXRofHwidmlzaWJsZSIhPT10Lm92ZXJmbG93fHwibm9uZSIhPT10LmZpbHRlcnx8Im5vbmUiIT09dC5tYXNrfHwibm9uZSIhPT10Lm1hc2t8fCIwcHgiIT09dC5ib3JkZXJSYWRpdXMsdmlldzowPD1lLmJvdHRvbSYmMDw9ZS5yaWdodCYmZS50b3A8PW4uaW5uZXJIZWlnaHQmJmUubGVmdDw9bi5pbm5lcldpZHRofX1mdW5jdGlvbiBjeChlKXtyZXR1cm4gY18oZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxnZXRDb21wdXRlZFN0eWxlKGUpLGUpfWZ1bmN0aW9uIGNQKGUpe3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGNfKHQ9bmV3IERPTVJlY3QodC54KzJlNCx0LnkrMmU0LHQud2lkdGgsdC5oZWlnaHQpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY04oZSl7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixlKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixlKX1mdW5jdGlvbiBjQyhlLHQpe3RoaXMuX3Njb3BlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLl9zZWxlY3Rvcj0iOjp2aWV3LXRyYW5zaXRpb24tIitlKyIoIit0KyIpIn1mdW5jdGlvbiBjVChlKXtyZXR1cm57bmFtZTplLGdyb3VwOm5ldyBjQygiZ3JvdXAiLGUpLGltYWdlUGFpcjpuZXcgY0MoImltYWdlLXBhaXIiLGUpLG9sZDpuZXcgY0MoIm9sZCIsZSksbmV3Om5ldyBjQygibmV3IixlKX19ZnVuY3Rpb24gY08oZSl7dGhpcy5fZnJhZ21lbnRGaWJlcj1lLHRoaXMuX29ic2VydmVycz10aGlzLl9ldmVudExpc3RlbmVycz1udWxsfWZ1bmN0aW9uIGN6KGUsdCxuLHIpe3JldHVybiBnKGUpLmFkZEV2ZW50TGlzdGVuZXIodCxuLHIpLCExfWZ1bmN0aW9uIGNMKGUsdCxuLHIpe3JldHVybiBnKGUpLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuLHIpLCExfWZ1bmN0aW9uIGNSKGUpe3JldHVybiBudWxsPT1lPyIwIjoiYm9vbGVhbiI9PXR5cGVvZiBlPyJjPSIrKGU/IjEiOiIwIik6ImM9IisoZS5jYXB0dXJlPyIxIjoiMCIpKyImbz0iKyhlLm9uY2U/IjEiOiIwIikrIiZwPSIrKGUucGFzc2l2ZT8iMSI6IjAiKX1mdW5jdGlvbiBjTShlLHQsbixyKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIC0xO3I9Y1Iocik7Zm9yKHZhciBsPTA7bDxlLmxlbmd0aDtsKyspe3ZhciBhPWVbbF07aWYoYS50eXBlPT09dCYmYS5saXN0ZW5lcj09PW4mJmNSKGEub3B0aW9uc09yVXNlQ2FwdHVyZSk9PT1yKXJldHVybiBsfXJldHVybiAtMX1mdW5jdGlvbiBjSShlLHQpe3JldHVybiA2IT09ZS50YWcmJmZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3I9ITB9aWYoZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1lKXJldHVybiEwO3ZhciByPSExO3RyeXtlLm93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLG4sITApLChlLmZvY3VzfHxIVE1MRWxlbWVudC5wcm90b3R5cGUuZm9jdXMpLmNhbGwoZSx0KX1maW5hbGx5e2Uub3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbiwhMCl9cmV0dXJuIHJ9KGU9ZyhlKSx0KX1mdW5jdGlvbiBjRChlLHQpe3JldHVybiB0LnB1c2goZSksITF9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gNiE9PWUudGFnJiYoZT1nKGUpKT09PXQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0EoZSx0KXtyZXR1cm4gNiE9PWUudGFnJiYoZT1nKGUpLHQub2JzZXJ2ZShlKSwhMSl9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gNiE9PWUudGFnJiYoZT1nKGUpLHQudW5vYnNlcnZlKGUpLCExKX1mdW5jdGlvbiBjVShlLHQpe2lmKDY9PT1lLnRhZyl7dmFyIG49KGU9ZS5zdGF0ZU5vZGUpLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtuLnNlbGVjdE5vZGVDb250ZW50cyhlKSx0LnB1c2guYXBwbHkodCxuLmdldENsaWVudFJlY3RzKCkpfWVsc2UgZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSk7cmV0dXJuITF9ZnVuY3Rpb24gY0IoZSx0KXtyZXR1cm4gbnVsbCE9KGU9ZyhlKSkmJmNWKGUsdCksITF9ZnVuY3Rpb24gY1YoZSx0KXtudWxsPT1lLnJlYWN0RnJhZ21lbnRzJiYoZS5yZWFjdEZyYWdtZW50cz1uZXcgU2V0KSxlLnJlYWN0RnJhZ21lbnRzLmFkZCh0KX1mdW5jdGlvbiBjSChlLHQpe2lmKDMhPT1lLm5vZGVUeXBlKXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KSxjVihlLHQpfX1mdW5jdGlvbiBjJChlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjJChuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNRKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNLKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjVyhlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGNxKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNLKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNDLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTpfKHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY0MucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNDLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjTy5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y00ocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjeixlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNPLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGNMLGUsdCxuKSxlPWNNKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjTy5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY08ucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSxlLHZvaWQgMCx2b2lkIDApfSxjTy5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjRCx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjSSh0W25dLGUpO24tLSk7fSxjTy5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe3ZhciBlPWgodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYobnVsbCE9PWUpe3ZhciB0PShlPWcoZSkpLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudDtudWxsIT09dCYmZS5jb250YWlucyh0KSYmbSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGNGLHQsdm9pZCAwLHZvaWQgMCl9fSxjTy5wcm90b3R5cGUub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGUpe251bGw9PT10aGlzLl9vYnNlcnZlcnMmJih0aGlzLl9vYnNlcnZlcnM9bmV3IFNldCksdGhpcy5fb2JzZXJ2ZXJzLmFkZChlKSxtKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0EsZSx2b2lkIDAsdm9pZCAwKX0sY08ucHJvdG90eXBlLnVub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX29ic2VydmVycztudWxsIT09dCYmdC5oYXMoZSkmJih0LmRlbGV0ZShlKSxtKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY2osZSx2b2lkIDAsdm9pZCAwKSl9LGNPLnByb3RvdHlwZS5nZXRDbGllbnRSZWN0cz1mdW5jdGlvbigpe3ZhciBlPVtdO3JldHVybiBtKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY1UsZSx2b2lkIDAsdm9pZCAwKSxlfSxjTy5wcm90b3R5cGUuZ2V0Um9vdE5vZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9aCh0aGlzLl9mcmFnbWVudEZpYmVyKTtyZXR1cm4gbnVsbD09PXQ/dGhpczpnKHQpLmdldFJvb3ROb2RlKGUpfSxjTy5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9aCh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZihudWxsPT09dClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7dmFyIG49W107bSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGNELG4sdm9pZCAwLHZvaWQgMCk7dmFyIHI9Zyh0KTtpZigwPT09bi5sZW5ndGgpe249dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgbD1yLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpO3JldHVybiB0PWwscj09PWU/dD1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TOmwmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkmJihtKG4uc2libGluZywhMSxiKSxuPXYsdj1udWxsLHQ9bnVsbD09PW4/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkc6MD09PShlPWcobikuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkpfHxlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKSx0fE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN9dD1nKG5bMF0pLGw9ZyhuW24ubGVuZ3RoLTFdKTtmb3IodmFyIGE9ITEsbz10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09byYmKDQ9PT1vLnRhZyYmKGE9ITApLDMhPT1vLnRhZyYmNSE9PW8udGFnKTspbz1vLnJldHVybjtpZihudWxsPT0oYT1hP3QucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIGk9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSx1PW8mTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQll8fGkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk7cmV0dXJuIGk9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmaSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fHV8fGk/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLGspKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxrKSk/dD0hMToobSh0LCEwLFMsYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY08ucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KXtpZig2PT09KGw9dFtyXSkudGFnKXt2YXIgYT0obD1sLnN0YXRlTm9kZSkub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpO2Euc2VsZWN0Tm9kZUNvbnRlbnRzKGwpLGw9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx3aW5kb3cuc2Nyb2xsVG8od2luZG93LnNjcm9sbFgrbC5sZWZ0LG4/d2luZG93LnNjcm9sbFkrbC50b3A6d2luZG93LnNjcm9sbFkrbC5ib3R0b20td2luZG93LmlubmVySGVpZ2h0KX1lbHNlIGcobCkuc2Nyb2xsSW50b1ZpZXcoZSk7cis9bj8tMToxfX07dmFyIGNYPW51bGw7ZnVuY3Rpb24gY1koZSl7ZT1lLm5leHRTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZig4PT09ZS5ub2RlVHlwZSl7dmFyIG49ZS5kYXRhO2lmKCIvJCI9PT1ufHwiLyYiPT09bil7aWYoMD09PXQpcmV0dXJuIGNLKGUubmV4dFNpYmxpbmcpO3QtLX1lbHNlIiQiIT09biYmIiQhIiE9PW4mJiIkPyIhPT1uJiYiJH4iIT09biYmIiYiIT09bnx8dCsrfWU9ZS5uZXh0U2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBjRyhlKXtlPWUucHJldmlvdXNTaWJsaW5nO2Zvcih2YXIgdD0wO2U7KXtpZig4PT09ZS5ub2RlVHlwZSl7dmFyIG49ZS5kYXRhO2lmKCIkIj09PW58fCIkISI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCImIj09PW4pe2lmKDA9PT10KXJldHVybiBlO3QtLX1lbHNlIi8kIiE9PW4mJiIvJiIhPT1ufHx0Kyt9ZT1lLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBjSihlLHQsbil7c3dpdGNoKHQ9Y3MobiksZSl7Y2FzZSJodG1sIjppZighKGU9dC5kb2N1bWVudEVsZW1lbnQpKXRocm93IEVycm9yKHUoNDUyKSk7cmV0dXJuIGU7Y2FzZSJoZWFkIjppZighKGU9dC5oZWFkKSl0aHJvdyBFcnJvcih1KDQ1MykpO3JldHVybiBlO2Nhc2UiYm9keSI6aWYoIShlPXQuYm9keSkpdGhyb3cgRXJyb3IodSg0NTQpKTtyZXR1cm4gZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDUxKSl9fWZ1bmN0aW9uIGNaKGUpe2Zvcih2YXIgdD1lLmF0dHJpYnV0ZXM7dC5sZW5ndGg7KWUucmVtb3ZlQXR0cmlidXRlTm9kZSh0WzBdKTtlMChlKX12YXIgYzA9bmV3IE1hcCxjMT1uZXcgU2V0O2Z1bmN0aW9uIGMyKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldFJvb3ROb2RlP2UuZ2V0Um9vdE5vZGUoKTo5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH12YXIgYzM9cS5kO3EuZD17ZjpmdW5jdGlvbigpe3ZhciBlPWMzLmYoKSx0PXNyKCk7cmV0dXJuIGV8fHR9LHI6ZnVuY3Rpb24oZSl7dmFyIHQ9ZTIoZSk7bnVsbCE9PXQmJjU9PT10LnRhZyYmImZvcm0iPT09dC50eXBlP29mKHQpOmMzLnIoZSl9LEQ6ZnVuY3Rpb24oZSl7YzMuRChlKSxjNigiZG5zLXByZWZldGNoIixlLG51bGwpfSxDOmZ1bmN0aW9uKGUsdCl7YzMuQyhlLHQpLGM2KCJwcmVjb25uZWN0IixlLHQpfSxMOmZ1bmN0aW9uKGUsdCxuKXtpZihjMy5MKGUsdCxuKSxjNCYmZSYmdCl7dmFyIHI9J2xpbmtbcmVsPSJwcmVsb2FkIl1bYXM9IicrdG0odCkrJyJdJzsiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD8ocis9J1tpbWFnZXNyY3NldD0iJyt0bShuLmltYWdlU3JjU2V0KSsnIl0nLCJzdHJpbmciPT10eXBlb2Ygbi5pbWFnZVNpemVzJiYocis9J1tpbWFnZXNpemVzPSInK3RtKG4uaW1hZ2VTaXplcykrJyJdJykpOnIrPSdbaHJlZj0iJyt0bShlKSsnIl0nO3ZhciBsPXI7c3dpdGNoKHQpe2Nhc2Uic3R5bGUiOmw9YzgoZSk7YnJlYWs7Y2FzZSJzY3JpcHQiOmw9ZmUoZSl9YzAuaGFzKGwpfHwoZT1fKHtyZWw6InByZWxvYWQiLGhyZWY6ImltYWdlIj09PXQmJm4mJm4uaW1hZ2VTcmNTZXQ/dm9pZCAwOmUsYXM6dH0sbiksYzAuc2V0KGwsZSksbnVsbCE9PWM0LnF1ZXJ5U2VsZWN0b3Iocil8fCJzdHlsZSI9PT10JiZjNC5xdWVyeVNlbGVjdG9yKGM5KGwpKXx8InNjcmlwdCI9PT10JiZjNC5xdWVyeVNlbGVjdG9yKGZ0KGwpKXx8KGNhKHQ9YzQuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlNih0KSxjNC5oZWFkLmFwcGVuZENoaWxkKHQpKSl9fSxtOmZ1bmN0aW9uKGUsdCl7aWYoYzMubShlLHQpLGM0JiZlKXt2YXIgbj10JiYic3RyaW5nIj09dHlwZW9mIHQuYXM/dC5hczoic2NyaXB0IixyPSdsaW5rW3JlbD0ibW9kdWxlcHJlbG9hZCJdW2FzPSInK3RtKG4pKyciXVtocmVmPSInK3RtKGUpKyciXScsbD1yO3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6bD1mZShlKX1pZighYzAuaGFzKGwpJiYoZT1fKHtyZWw6Im1vZHVsZXByZWxvYWQiLGhyZWY6ZX0sdCksYzAuc2V0KGwsZSksbnVsbD09PWM0LnF1ZXJ5U2VsZWN0b3IocikpKXtzd2l0Y2gobil7Y2FzZSJhdWRpb3dvcmtsZXQiOmNhc2UicGFpbnR3b3JrbGV0IjpjYXNlInNlcnZpY2V3b3JrZXIiOmNhc2Uic2hhcmVkd29ya2VyIjpjYXNlIndvcmtlciI6Y2FzZSJzY3JpcHQiOmlmKGM0LnF1ZXJ5U2VsZWN0b3IoZnQobCkpKXJldHVybn1jYShuPWM0LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTYobiksYzQuaGVhZC5hcHBlbmRDaGlsZChuKX19fSxYOmZ1bmN0aW9uKGUsdCl7aWYoYzMuWChlLHQpLGM0JiZlKXt2YXIgbj1lNChjNCkuaG9pc3RhYmxlU2NyaXB0cyxyPWZlKGUpLGw9bi5nZXQocik7bHx8KChsPWM0LnF1ZXJ5U2VsZWN0b3IoZnQocikpKXx8KGU9Xyh7c3JjOmUsYXN5bmM6ITB9LHQpLCh0PWMwLmdldChyKSkmJmZhKGUsdCksZTYobD1jNC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2EobCwibGluayIsZSksYzQuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fSxTOmZ1bmN0aW9uKGUsdCxuKXtpZihjMy5TKGUsdCxuKSxjNCYmZSl7dmFyIHI9ZTQoYzQpLmhvaXN0YWJsZVN0eWxlcyxsPWM4KGUpO3Q9dHx8ImRlZmF1bHQiO3ZhciBhPXIuZ2V0KGwpO2lmKCFhKXt2YXIgbz17bG9hZGluZzowLHByZWxvYWQ6bnVsbH07aWYoYT1jNC5xdWVyeVNlbGVjdG9yKGM5KGwpKSlvLmxvYWRpbmc9NTtlbHNle2U9Xyh7cmVsOiJzdHlsZXNoZWV0IixocmVmOmUsImRhdGEtcHJlY2VkZW5jZSI6dH0sbiksKG49YzAuZ2V0KGwpKSYmZmwoZSxuKTt2YXIgaT1hPWM0LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlNihpKSxjYShpLCJsaW5rIixlKSxpLl9wPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7aS5vbmxvYWQ9ZSxpLm9uZXJyb3I9dH0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtvLmxvYWRpbmd8PTF9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbigpe28ubG9hZGluZ3w9Mn0pLG8ubG9hZGluZ3w9NCxmcihhLHQsYzQpfWE9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOmEsY291bnQ6MSxzdGF0ZTpvfSxyLnNldChsLGEpfX19LE06ZnVuY3Rpb24oZSx0KXtpZihjMy5NKGUsdCksYzQmJmUpe3ZhciBuPWU0KGM0KS5ob2lzdGFibGVTY3JpcHRzLHI9ZmUoZSksbD1uLmdldChyKTtsfHwoKGw9YzQucXVlcnlTZWxlY3RvcihmdChyKSkpfHwoZT1fKHtzcmM6ZSxhc3luYzohMCx0eXBlOiJtb2R1bGUifSx0KSwodD1jMC5nZXQocikpJiZmYShlLHQpLGU2KGw9YzQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLGNhKGwsImxpbmsiLGUpLGM0LmhlYWQuYXBwZW5kQ2hpbGQobCkpLGw9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bCxjb3VudDoxLHN0YXRlOm51bGx9LG4uc2V0KHIsbCkpfX19O3ZhciBjND0idSI8dHlwZW9mIGRvY3VtZW50P251bGw6ZG9jdW1lbnQ7ZnVuY3Rpb24gYzYoZSx0LG4pe2lmKGM0JiYic3RyaW5nIj09dHlwZW9mIHQmJnQpe3ZhciByPXRtKHQpO3I9J2xpbmtbcmVsPSInK2UrJyJdW2hyZWY9IicrcisnIl0nLCJzdHJpbmciPT10eXBlb2YgbiYmKHIrPSdbY3Jvc3NvcmlnaW49IicrbisnIl0nKSxjMS5oYXMocil8fChjMS5hZGQociksZT17cmVsOmUsY3Jvc3NPcmlnaW46bixocmVmOnR9LG51bGw9PT1jNC5xdWVyeVNlbGVjdG9yKHIpJiYoY2EodD1jNC5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU2KHQpLGM0LmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19ZnVuY3Rpb24gYzUoZSx0LG4scil7dmFyIGw9KGw9ZW4uY3VycmVudCk/YzIobCk6bnVsbDtpZighbCl0aHJvdyBFcnJvcih1KDQ0NikpO3N3aXRjaChlKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiJzdHJpbmciPT10eXBlb2Ygbi5wcmVjZWRlbmNlJiYic3RyaW5nIj09dHlwZW9mIG4uaHJlZj8odD1jOChuLmhyZWYpLChyPShuPWU0KGwpLmhvaXN0YWJsZVN0eWxlcykuZ2V0KHQpKXx8KHI9e3R5cGU6InN0eWxlIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH0sbi5zZXQodCxyKSkscik6e3R5cGU6InZvaWQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfTtjYXNlImxpbmsiOmlmKCJzdHlsZXNoZWV0Ij09PW4ucmVsJiYic3RyaW5nIj09dHlwZW9mIG4uaHJlZiYmInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2Upe2U9Yzgobi5ocmVmKTt2YXIgYSxvLGkscyxjPWU0KGwpLmhvaXN0YWJsZVN0eWxlcyxmPWMuZ2V0KGUpO2lmKGZ8fChsPWwub3duZXJEb2N1bWVudHx8bCxmPXt0eXBlOiJzdHlsZXNoZWV0IixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6e2xvYWRpbmc6MCxwcmVsb2FkOm51bGx9fSxjLnNldChlLGYpLChjPWwucXVlcnlTZWxlY3RvcihjOShlKSkpJiYhYy5fcCYmKGYuaW5zdGFuY2U9YyxmLnN0YXRlLmxvYWRpbmc9NSksYzAuaGFzKGUpfHwobj17cmVsOiJwcmVsb2FkIixhczoic3R5bGUiLGhyZWY6bi5ocmVmLGNyb3NzT3JpZ2luOm4uY3Jvc3NPcmlnaW4saW50ZWdyaXR5Om4uaW50ZWdyaXR5LG1lZGlhOm4ubWVkaWEsaHJlZkxhbmc6bi5ocmVmTGFuZyxyZWZlcnJlclBvbGljeTpuLnJlZmVycmVyUG9saWN5fSxjMC5zZXQoZSxuKSxjfHwoYT1sLG89ZSxpPW4scz1mLnN0YXRlLGEucXVlcnlTZWxlY3RvcignbGlua1tyZWw9InByZWxvYWQiXVthcz0ic3R5bGUiXVsnK28rIl0iKT9zLmxvYWRpbmc9MToocy5wcmVsb2FkPW89YS5jcmVhdGVFbGVtZW50KCJsaW5rIiksby5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBzLmxvYWRpbmd8PTF9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbigpe3JldHVybiBzLmxvYWRpbmd8PTJ9KSxjYShvLCJsaW5rIixpKSxlNihvKSxhLmhlYWQuYXBwZW5kQ2hpbGQobykpKSkpLHQmJm51bGw9PT1yKXRocm93IEVycm9yKHUoNTI4LCIiKSk7cmV0dXJuIGZ9aWYodCYmbnVsbCE9PXIpdGhyb3cgRXJyb3IodSg1MjksIiIpKTtyZXR1cm4gbnVsbDtjYXNlInNjcmlwdCI6cmV0dXJuIHQ9bi5hc3luYywic3RyaW5nIj09dHlwZW9mKG49bi5zcmMpJiZ0JiYiZnVuY3Rpb24iIT10eXBlb2YgdCYmInN5bWJvbCIhPXR5cGVvZiB0Pyh0PWZlKG4pLChyPShuPWU0KGwpLmhvaXN0YWJsZVNjcmlwdHMpLmdldCh0KSl8fChyPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDQsZSkpfX1mdW5jdGlvbiBjOChlKXtyZXR1cm4naHJlZj0iJyt0bShlKSsnIid9ZnVuY3Rpb24gYzkoZSl7cmV0dXJuJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bJytlKyJdIn1mdW5jdGlvbiBjNyhlKXtyZXR1cm4gXyh7fSxlLHsiZGF0YS1wcmVjZWRlbmNlIjplLnByZWNlZGVuY2UscHJlY2VkZW5jZTpudWxsfSl9ZnVuY3Rpb24gZmUoZSl7cmV0dXJuJ1tzcmM9IicrdG0oZSkrJyJdJ31mdW5jdGlvbiBmdChlKXtyZXR1cm4ic2NyaXB0W2FzeW5jXSIrZX1mdW5jdGlvbiBmbihlLHQsbil7aWYodC5jb3VudCsrLG51bGw9PT10Lmluc3RhbmNlKXN3aXRjaCh0LnR5cGUpe2Nhc2Uic3R5bGUiOnZhciByPWUucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS1ocmVmfj0iJyt0bShuLmhyZWYpKyciXScpO2lmKHIpcmV0dXJuIHQuaW5zdGFuY2U9cixlNihyKSxyO3ZhciBsPV8oe30sbix7ImRhdGEtaHJlZiI6bi5ocmVmLCJkYXRhLXByZWNlZGVuY2UiOm4ucHJlY2VkZW5jZSxocmVmOm51bGwscHJlY2VkZW5jZTpudWxsfSk7cmV0dXJuIGU2KHI9KGUub3duZXJEb2N1bWVudHx8ZSkuY3JlYXRlRWxlbWVudCgic3R5bGUiKSksY2Eociwic3R5bGUiLGwpLGZyKHIsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9cjtjYXNlInN0eWxlc2hlZXQiOmw9Yzgobi5ocmVmKTt2YXIgYT1lLnF1ZXJ5U2VsZWN0b3IoYzkobCkpO2lmKGEpcmV0dXJuIHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPWEsZTYoYSksYTtyPWM3KG4pLChsPWMwLmdldChsKSkmJmZsKHIsbCksZTYoYT0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7cmV0dXJuIG8uX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtvLm9ubG9hZD1lLG8ub25lcnJvcj10fSksY2EoYSwibGluayIsciksdC5zdGF0ZS5sb2FkaW5nfD00LGZyKGEsbi5wcmVjZWRlbmNlLGUpLHQuaW5zdGFuY2U9YTtjYXNlInNjcmlwdCI6aWYoYT1mZShuLnNyYyksbD1lLnF1ZXJ5U2VsZWN0b3IoZnQoYSkpKXJldHVybiB0Lmluc3RhbmNlPWwsZTYobCksbDtyZXR1cm4gcj1uLChsPWMwLmdldChhKSkmJmZhKHI9Xyh7fSxuKSxsKSxlNihsPShlPWUub3duZXJEb2N1bWVudHx8ZSkuY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLGNhKGwsImxpbmsiLHIpLGUuaGVhZC5hcHBlbmRDaGlsZChsKSx0Lmluc3RhbmNlPWw7Y2FzZSJ2b2lkIjpyZXR1cm4gbnVsbDtkZWZhdWx0OnRocm93IEVycm9yKHUoNDQzLHQudHlwZSkpfXJldHVybiJzdHlsZXNoZWV0Ij09PXQudHlwZSYmMD09KDQmdC5zdGF0ZS5sb2FkaW5nKSYmKHI9dC5pbnN0YW5jZSx0LnN0YXRlLmxvYWRpbmd8PTQsZnIocixuLnByZWNlZGVuY2UsZSkpLHQuaW5zdGFuY2V9ZnVuY3Rpb24gZnIoZSx0LG4pe2Zvcih2YXIgcj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdJyksbD1yLmxlbmd0aD9yW3IubGVuZ3RoLTFdOm51bGwsYT1sLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTtpZihpLmRhdGFzZXQucHJlY2VkZW5jZT09PXQpYT1pO2Vsc2UgaWYoYSE9PWwpYnJlYWt9YT9hLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsYS5uZXh0U2libGluZyk6KHQ9OT09PW4ubm9kZVR5cGU/bi5oZWFkOm4pLmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gZmwoZSx0KXtudWxsPT1lLmNyb3NzT3JpZ2luJiYoZS5jcm9zc09yaWdpbj10LmNyb3NzT3JpZ2luKSxudWxsPT1lLnJlZmVycmVyUG9saWN5JiYoZS5yZWZlcnJlclBvbGljeT10LnJlZmVycmVyUG9saWN5KSxudWxsPT1lLnRpdGxlJiYoZS50aXRsZT10LnRpdGxlKX1mdW5jdGlvbiBmYShlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUuaW50ZWdyaXR5JiYoZS5pbnRlZ3JpdHk9dC5pbnRlZ3JpdHkpfXZhciBmbz1udWxsO2Z1bmN0aW9uIGZpKGUsdCxuKXtpZihudWxsPT09Zm8pe3ZhciByPW5ldyBNYXAsbD1mbz1uZXcgTWFwO2wuc2V0KG4scil9ZWxzZShyPShsPWZvKS5nZXQobikpfHwocj1uZXcgTWFwLGwuc2V0KG4scikpO2lmKHIuaGFzKGUpKXJldHVybiByO2ZvcihyLnNldChlLG51bGwpLG49bi5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSxsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07aWYoIShhW2VaXXx8YVtlV118fCJsaW5rIj09PWUmJiJzdHlsZXNoZWV0Ij09PWEuZ2V0QXR0cmlidXRlKCJyZWwiKSkmJiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1hLm5hbWVzcGFjZVVSSSl7dmFyIG89YS5nZXRBdHRyaWJ1dGUodCl8fCIiO289ZStvO3ZhciBpPXIuZ2V0KG8pO2k/aS5wdXNoKGEpOnIuc2V0KG8sW2FdKX19cmV0dXJuIHJ9ZnVuY3Rpb24gZnUoZSx0LG4peyhlPWUub3duZXJEb2N1bWVudHx8ZSkuaGVhZC5pbnNlcnRCZWZvcmUobiwidGl0bGUiPT09dD9lLnF1ZXJ5U2VsZWN0b3IoImhlYWQgPiB0aXRsZSIpOm51bGwpfWZ1bmN0aW9uIGZzKGUsdCl7cmV0dXJuImltZyI9PT1lJiZudWxsIT10LnNyYyYmIiIhPT10LnNyYyYmbnVsbD09dC5vbkxvYWQmJiJsYXp5IiE9PXQubG9hZGluZ31mdW5jdGlvbiBmYyhlKXtyZXR1cm4ic3R5bGVzaGVldCIhPT1lLnR5cGV8fDAhPSgzJmUuc3RhdGUubG9hZGluZyl9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuKGUud2lkdGh8fDEwMCkqKGUuaGVpZ2h0fHwxMDApKigibnVtYmVyIj09dHlwZW9mIGRldmljZVBpeGVsUmF0aW8/ZGV2aWNlUGl4ZWxSYXRpbzoxKSouMjV9ZnVuY3Rpb24gZmQoZSx0KXsiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWNvZGUmJihlLmltZ0NvdW50KyssdC5jb21wbGV0ZXx8KGUuaW1nQnl0ZXMrPWZmKHQpLGUuc3VzcGVuc2V5SW1hZ2VzLnB1c2godCkpLGU9ZmcuYmluZChlKSx0LmRlY29kZSgpLnRoZW4oZSxlKSl9dmFyIGZwPTA7ZnVuY3Rpb24gZm0oZSl7aWYoMD09PWUuY291bnQmJigwPT09ZS5pbWdDb3VudHx8IWUud2FpdGluZ0ZvckltYWdlcykpe2lmKGUuc3R5bGVzaGVldHMpZnkoZSxlLnN0eWxlc2hlZXRzKTtlbHNlIGlmKGUudW5zdXNwZW5kKXt2YXIgdD1lLnVuc3VzcGVuZDtlLnVuc3VzcGVuZD1udWxsLHQoKX19fWZ1bmN0aW9uIGZoKCl7dGhpcy5jb3VudC0tLGZtKHRoaXMpfWZ1bmN0aW9uIGZnKCl7dGhpcy5pbWdDb3VudC0tLGZtKHRoaXMpfXZhciBmdj1udWxsO2Z1bmN0aW9uIGZ5KGUsdCl7ZS5zdHlsZXNoZWV0cz1udWxsLG51bGwhPT1lLnVuc3VzcGVuZCYmKGUuY291bnQrKyxmdj1uZXcgTWFwLHQuZm9yRWFjaChmYixlKSxmdj1udWxsLGZoLmNhbGwoZSkpfWZ1bmN0aW9uIGZiKGUsdCl7aWYoISg0JnQuc3RhdGUubG9hZGluZykpe3ZhciBuPWZ2LmdldChlKTtpZihuKXZhciByPW4uZ2V0KG51bGwpO2Vsc2V7bj1uZXcgTWFwLGZ2LnNldChlLG4pO2Zvcih2YXIgbD1lLnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdIiksYT0wO2E8bC5sZW5ndGg7YSsrKXt2YXIgbz1sW2FdOygiTElOSyI9PT1vLm5vZGVOYW1lfHwibm90IGFsbCIhPT1vLmdldEF0dHJpYnV0ZSgibWVkaWEiKSkmJihuLnNldChvLmRhdGFzZXQucHJlY2VkZW5jZSxvKSxyPW8pfXImJm4uc2V0KG51bGwscil9bz0obD10Lmluc3RhbmNlKS5nZXRBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpLChhPW4uZ2V0KG8pfHxyKT09PXImJm4uc2V0KG51bGwsbCksbi5zZXQobyxsKSx0aGlzLmNvdW50Kysscj1maC5iaW5kKHRoaXMpLGwuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsciksbC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsciksYT9hLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGwsYS5uZXh0U2libGluZyk6KGU9OT09PWUubm9kZVR5cGU/ZS5oZWFkOmUpLmluc2VydEJlZm9yZShsLGUuZmlyc3RDaGlsZCksdC5zdGF0ZS5sb2FkaW5nfD00fX12YXIgZnc9eyQkdHlwZW9mOkwsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9jdXJyZW50VmFsdWU6SyxfY3VycmVudFZhbHVlMjpLLF90aHJlYWRDb3VudDowfTtmdW5jdGlvbiBmUyhlLHQsbixyLGwsYSxvLGksdSl7dGhpcy50YWc9MSx0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5uZXh0PXRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PXRoaXMuY2FuY2VsUGVuZGluZ0NvbW1pdD1udWxsLHRoaXMuY2FsbGJhY2tQcmlvcml0eT0wLHRoaXMuZXhwaXJhdGlvblRpbWVzPWVEKC0xKSx0aGlzLmVudGFuZ2xlZExhbmVzPXRoaXMuc2hlbGxTdXNwZW5kQ291bnRlcj10aGlzLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzPXRoaXMuZXhwaXJlZExhbmVzPXRoaXMud2FybUxhbmVzPXRoaXMucGluZ2VkTGFuZXM9dGhpcy5zdXNwZW5kZWRMYW5lcz10aGlzLnBlbmRpbmdMYW5lcz0wLHRoaXMuZW50YW5nbGVtZW50cz1lRCgwKSx0aGlzLmhpZGRlblVwZGF0ZXM9ZUQobnVsbCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblVuY2F1Z2h0RXJyb3I9bCx0aGlzLm9uQ2F1Z2h0RXJyb3I9YSx0aGlzLm9uUmVjb3ZlcmFibGVFcnJvcj1vLHRoaXMucG9vbGVkQ2FjaGU9bnVsbCx0aGlzLnBvb2xlZENhY2hlTGFuZXM9MCx0aGlzLmZvcm1TdGF0ZT11LHRoaXMudHJhbnNpdGlvblR5cGVzPW51bGwsdGhpcy5pbmNvbXBsZXRlVHJhbnNpdGlvbnM9bmV3IE1hcH1mdW5jdGlvbiBmayhlLHQsbixyLGwsYSxvLGksdSxzLGMsZil7cmV0dXJuIGU9bmV3IGZTKGUsdCxuLG8sdSxzLGMsZixpKSx0PTEsITA9PT1hJiYodHw9MjQpLGE9cnkoMyxudWxsLG51bGwsdCksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSx0PWxzKCksdC5yZWZDb3VudCsrLGUucG9vbGVkQ2FjaGU9dCx0LnJlZkNvdW50KyssYS5tZW1vaXplZFN0YXRlPXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOm4sY2FjaGU6dH0sbFYoYSksZX1mdW5jdGlvbiBmRShlLHQsbixyLGwsYSl7bD1sP3JnOnJnLG51bGw9PT1yLmNvbnRleHQ/ci5jb250ZXh0PWw6ci5wZW5kaW5nQ29udGV4dD1sLChyPWwkKHQpKS5wYXlsb2FkPXtlbGVtZW50Om59LG51bGwhPT0oYT12b2lkIDA9PT1hP251bGw6YSkmJihyLmNhbGxiYWNrPWEpLG51bGwhPT0obj1sUShlLHIsdCkpJiYodTcobixlLHQpLGxXKG4sZSx0KSl9ZnVuY3Rpb24gZl8oZSx0KXtpZihudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7dmFyIG49ZS5yZXRyeUxhbmU7ZS5yZXRyeUxhbmU9MCE9PW4mJm48dD9uOnR9fWZ1bmN0aW9uIGZ4KGUsdCl7Zl8oZSx0KSwoZT1lLmFsdGVybmF0ZSkmJmZfKGUsdCl9ZnVuY3Rpb24gZlAoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9cnAoZSwweDQwMDAwMDApO251bGwhPT10JiZ1Nyh0LGUsMHg0MDAwMDAwKSxmeChlLDB4NDAwMDAwMCl9fWZ1bmN0aW9uIGZOKGUpe2lmKDEzPT09ZS50YWd8fDMxPT09ZS50YWcpe3ZhciB0PXU1KCksbj1ycChlLHQ9ZUIodCkpO251bGwhPT1uJiZ1NyhuLGUsdCksZngoZSx0KX19dmFyIGZDPSEwO2Z1bmN0aW9uIGZUKGUsdCxuLHIpe3ZhciBsPVcuVDtXLlQ9bnVsbDt2YXIgYT1xLnA7dHJ5e3EucD0yLGZ6KGUsdCxuLHIpfWZpbmFsbHl7cS5wPWEsVy5UPWx9fWZ1bmN0aW9uIGZPKGUsdCxuLHIpe3ZhciBsPVcuVDtXLlQ9bnVsbDt2YXIgYT1xLnA7dHJ5e3EucD04LGZ6KGUsdCxuLHIpfWZpbmFsbHl7cS5wPWEsVy5UPWx9fWZ1bmN0aW9uIGZ6KGUsdCxuLHIpe2lmKGZDKXt2YXIgbD1mTChyKTtpZihudWxsPT09bClzNChlLHQscixmUixuKSxmJChlLHIpO2Vsc2UgaWYoZnVuY3Rpb24oZSx0LG4scixsKXtzd2l0Y2godCl7Y2FzZSJmb2N1c2luIjpyZXR1cm4gZkY9ZlEoZkYsZSx0LG4scixsKSwhMDtjYXNlImRyYWdlbnRlciI6cmV0dXJuIGZBPWZRKGZBLGUsdCxuLHIsbCksITA7Y2FzZSJtb3VzZW92ZXIiOnJldHVybiBmaj1mUShmaixlLHQsbixyLGwpLCEwO2Nhc2UicG9pbnRlcm92ZXIiOnZhciBhPWwucG9pbnRlcklkO3JldHVybiBmVS5zZXQoYSxmUShmVS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITA7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6cmV0dXJuIGE9bC5wb2ludGVySWQsZkIuc2V0KGEsZlEoZkIuZ2V0KGEpfHxudWxsLGUsdCxuLHIsbCkpLCEwfXJldHVybiExfShsLGUsdCxuLHIpKXIuc3RvcFByb3BhZ2F0aW9uKCk7ZWxzZSBpZihmJChlLHIpLDQmdCYmLTE8ZkguaW5kZXhPZihlKSl7Zm9yKDtudWxsIT09bDspe3ZhciBhPWUyKGwpO2lmKG51bGwhPT1hKXN3aXRjaChhLnRhZyl7Y2FzZSAzOmlmKChhPWEuc3RhdGVOb2RlKS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXt2YXIgbz1lTChhLnBlbmRpbmdMYW5lcyk7aWYoMCE9PW8pe3ZhciBpPWE7Zm9yKGkucGVuZGluZ0xhbmVzfD0yLGkuZW50YW5nbGVkTGFuZXN8PTI7bzspe3ZhciB1PTE8PDMxLWVQKG8pO2kuZW50YW5nbGVtZW50c1sxXXw9dSxvJj1+dX1zaihhKSwwPT0oNiZ1XykmJih1UT1ldigpKzUwMCxzVSgwLCExKSl9fWJyZWFrO2Nhc2UgMzE6Y2FzZSAxMzpudWxsIT09KGk9cnAoYSwyKSkmJnU3KGksYSwyKSxzcigpLGZ4KGEsMil9aWYobnVsbD09PShhPWZMKHIpKSYmczQoZSx0LHIsZlIsbiksYT09PWwpYnJlYWs7bD1hfW51bGwhPT1sJiZyLnN0b3BQcm9wYWdhdGlvbigpfWVsc2UgczQoZSx0LHIsbnVsbCxuKX19ZnVuY3Rpb24gZkwoZSl7cmV0dXJuIGZNKGU9dHooZSkpfXZhciBmUj1udWxsO2Z1bmN0aW9uIGZNKGUpe2lmKGZSPW51bGwsbnVsbCE9PShlPWUxKGUpKSl7dmFyIHQ9YyhlKTtpZihudWxsPT09dCllPW51bGw7ZWxzZXt2YXIgbj10LnRhZztpZigxMz09PW4pe2lmKG51bGwhPT0oZT1mKHQpKSlyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZigzMT09PW4pe2lmKG51bGwhPT0oZT1kKHQpKSlyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZigzPT09bil7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gMz09PXQudGFnP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtlPW51bGx9ZWxzZSB0IT09ZSYmKGU9bnVsbCl9fXJldHVybiBmUj1lLG51bGx9ZnVuY3Rpb24gZkkoZSl7c3dpdGNoKGUpe2Nhc2UiYmVmb3JldG9nZ2xlIjpjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJzZWVrZWQiOmNhc2Uic3VibWl0IjpjYXNlInRvZ2dsZSI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmdWxsc2NyZWVuZXJyb3IiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAyO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJyZXNpemUiOmNhc2Uic2Nyb2xsIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDg7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goZXkoKSl7Y2FzZSBlYjpyZXR1cm4gMjtjYXNlIGV3OnJldHVybiA4O2Nhc2UgZVM6Y2FzZSBlazpyZXR1cm4gMzI7Y2FzZSBlRTpyZXR1cm4gMHgxMDAwMDAwMDtkZWZhdWx0OnJldHVybiAzMn1kZWZhdWx0OnJldHVybiAzMn19dmFyIGZEPSExLGZGPW51bGwsZkE9bnVsbCxmaj1udWxsLGZVPW5ldyBNYXAsZkI9bmV3IE1hcCxmVj1bXSxmSD0ibW91c2Vkb3duIG1vdXNldXAgdG91Y2hjYW5jZWwgdG91Y2hlbmQgdG91Y2hzdGFydCBhdXhjbGljayBkYmxjbGljayBwb2ludGVyY2FuY2VsIHBvaW50ZXJkb3duIHBvaW50ZXJ1cCBkcmFnZW5kIGRyYWdzdGFydCBkcm9wIGNvbXBvc2l0aW9uZW5kIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCB0ZXh0SW5wdXQgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIGYkKGUsdCl7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6ZkY9bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOmZBPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOmZqPW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpmVS5kZWxldGUodC5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpmQi5kZWxldGUodC5wb2ludGVySWQpfX1mdW5jdGlvbiBmUShlLHQsbixyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOnQsZG9tRXZlbnROYW1lOm4sZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT10JiZudWxsIT09KHQ9ZTIodCkpJiZmUCh0KSk6KGUuZXZlbnRTeXN0ZW1GbGFnc3w9cix0PWUudGFyZ2V0Q29udGFpbmVycyxudWxsIT09bCYmLTE9PT10LmluZGV4T2YobCkmJnQucHVzaChsKSksZX1mdW5jdGlvbiBmVyhlKXt2YXIgdD1lMShlLnRhcmdldCk7aWYobnVsbCE9PXQpe3ZhciBuPWModCk7aWYobnVsbCE9PW4pe2lmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KHQ9ZihuKSkpe2UuYmxvY2tlZE9uPXQsZSQoZS5wcmlvcml0eSxmdW5jdGlvbigpe2ZOKG4pfSk7cmV0dXJufX1lbHNlIGlmKDMxPT09dCl7aWYobnVsbCE9PSh0PWQobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmTihuKX0pO3JldHVybn19ZWxzZSBpZigzPT09dCYmbi5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7ZS5ibG9ja2VkT249Mz09PW4udGFnP24uc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtyZXR1cm59fX1lLmJsb2NrZWRPbj1udWxsfWZ1bmN0aW9uIGZxKGUpe2lmKG51bGwhPT1lLmJsb2NrZWRPbilyZXR1cm4hMTtmb3IodmFyIHQ9ZS50YXJnZXRDb250YWluZXJzOzA8dC5sZW5ndGg7KXt2YXIgbj1mTChlLm5hdGl2ZUV2ZW50KTtpZihudWxsIT09bilyZXR1cm4gbnVsbCE9PSh0PWUyKG4pKSYmZlAodCksZS5ibG9ja2VkT249biwhMTt2YXIgcj1uZXcobj1lLm5hdGl2ZUV2ZW50KS5jb25zdHJ1Y3RvcihuLnR5cGUsbik7dE89cixuLnRhcmdldC5kaXNwYXRjaEV2ZW50KHIpLHRPPW51bGwsdC5zaGlmdCgpfXJldHVybiEwfWZ1bmN0aW9uIGZLKGUsdCxuKXtmcShlKSYmbi5kZWxldGUodCl9ZnVuY3Rpb24gZlgoKXtmRD0hMSxudWxsIT09ZkYmJmZxKGZGKSYmKGZGPW51bGwpLG51bGwhPT1mQSYmZnEoZkEpJiYoZkE9bnVsbCksbnVsbCE9PWZqJiZmcShmaikmJihmaj1udWxsKSxmVS5mb3JFYWNoKGZLKSxmQi5mb3JFYWNoKGZLKX1mdW5jdGlvbiBmWShlLHQpe2UuYmxvY2tlZE9uPT09dCYmKGUuYmxvY2tlZE9uPW51bGwsZkR8fChmRD0hMCxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmWCkpKX12YXIgZkc9bnVsbDtmdW5jdGlvbiBmSihlKXtmRyE9PWUmJihmRz1lLGEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhhLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGZ1bmN0aW9uKCl7Zkc9PT1lJiYoZkc9bnVsbCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0zKXt2YXIgbj1lW3RdLHI9ZVt0KzFdLGw9ZVt0KzJdO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKWlmKG51bGw9PT1mTShyfHxuKSljb250aW51ZTtlbHNlIGJyZWFrO3ZhciBhPWUyKG4pO251bGwhPT1hJiYoZS5zcGxpY2UodCwzKSx0LT0zLG9zKGEse3BlbmRpbmc6ITAsZGF0YTpsLG1ldGhvZDpuLm1ldGhvZCxhY3Rpb246cn0scixsKSl9fSkpfWZ1bmN0aW9uIGZaKGUpe2Z1bmN0aW9uIHQodCl7cmV0dXJuIGZZKHQsZSl9bnVsbCE9PWZGJiZmWShmRixlKSxudWxsIT09ZkEmJmZZKGZBLGUpLG51bGwhPT1maiYmZlkoZmosZSksZlUuZm9yRWFjaCh0KSxmQi5mb3JFYWNoKHQpO2Zvcih2YXIgbj0wO248ZlYubGVuZ3RoO24rKyl7dmFyIHI9ZlZbbl07ci5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCl9Zm9yKDswPGZWLmxlbmd0aCYmbnVsbD09PShuPWZWWzBdKS5ibG9ja2VkT247KWZXKG4pLG51bGw9PT1uLmJsb2NrZWRPbiYmZlYuc2hpZnQoKTtpZihudWxsIT0obj0oZS5vd25lckRvY3VtZW50fHxlKS4kJHJlYWN0Rm9ybVJlcGxheSkpZm9yKHI9MDtyPG4ubGVuZ3RoO3IrPTMpe3ZhciBsPW5bcl0sYT1uW3IrMV0sbz1sW2VxXXx8bnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgYSlvfHxmSihuKTtlbHNlIGlmKG8pe3ZhciBpPW51bGw7aWYoYSYmYS5oYXNBdHRyaWJ1dGUoImZvcm1BY3Rpb24iKSl7aWYobD1hLG89YVtlcV18fG51bGwpaT1vLmZvcm1BY3Rpb247ZWxzZSBpZihudWxsIT09Zk0obCkpY29udGludWV9ZWxzZSBpPW8uYWN0aW9uOyJmdW5jdGlvbiI9PXR5cGVvZiBpP25bcisxXT1pOihuLnNwbGljZShyLDMpLHItPTMpLGZKKG4pfX19ZnVuY3Rpb24gZjAoKXtmdW5jdGlvbiBlKGUpe2UuY2FuSW50ZXJjZXB0JiYicmVhY3QtdHJhbnNpdGlvbiI9PT1lLmluZm8mJmUuaW50ZXJjZXB0KHtoYW5kbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3JldHVybiBsPWV9KX0sZm9jdXNSZXNldDoibWFudWFsIixzY3JvbGw6Im1hbnVhbCJ9KX1mdW5jdGlvbiB0KCl7bnVsbCE9PWwmJihsKCksbD1udWxsKSxyfHxzZXRUaW1lb3V0KG4sMjApfWZ1bmN0aW9uIG4oKXtpZighciYmIW5hdmlnYXRpb24udHJhbnNpdGlvbil7dmFyIGU9bmF2aWdhdGlvbi5jdXJyZW50RW50cnk7ZSYmbnVsbCE9ZS51cmwmJm5hdmlnYXRpb24ubmF2aWdhdGUoZS51cmwse3N0YXRlOmUuZ2V0U3RhdGUoKSxpbmZvOiJyZWFjdC10cmFuc2l0aW9uIixoaXN0b3J5OiJyZXBsYWNlIn0pfX1pZigib2JqZWN0Ij09dHlwZW9mIG5hdmlnYXRpb24pe3ZhciByPSExLGw9bnVsbDtyZXR1cm4gbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsZSksbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZXN1Y2Nlc3MiLHQpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVlcnJvciIsdCksc2V0VGltZW91dChuLDEwMCksZnVuY3Rpb24oKXtyPSEwLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLG51bGwhPT1sJiYobCgpLGw9bnVsbCl9fX1mdW5jdGlvbiBmMShlKXt0aGlzLl9pbnRlcm5hbFJvb3Q9ZX1mdW5jdGlvbiBmMihlKXt0aGlzLl9pbnRlcm5hbFJvb3Q9ZX1mMi5wcm90b3R5cGUucmVuZGVyPWYxLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT10KXRocm93IEVycm9yKHUoNDA5KSk7ZkUodC5jdXJyZW50LHU1KCksZSx0LG51bGwsbnVsbCl9LGYyLnByb3RvdHlwZS51bm1vdW50PWYxLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1lLmNvbnRhaW5lckluZm87ZkUoZS5jdXJyZW50LDIsbnVsbCxlLG51bGwsbnVsbCksc3IoKSx0W2VLXT1udWxsfX0sZjIucHJvdG90eXBlLnVuc3RhYmxlX3NjaGVkdWxlSHlkcmF0aW9uPWZ1bmN0aW9uKGUpe2lmKGUpe3ZhciB0PWVIKCk7ZT17YmxvY2tlZE9uOm51bGwsdGFyZ2V0OmUscHJpb3JpdHk6dH07Zm9yKHZhciBuPTA7bjxmVi5sZW5ndGgmJjAhPT10JiZ0PGZWW25dLnByaW9yaXR5O24rKyk7ZlYuc3BsaWNlKG4sMCxlKSwwPT09biYmZlcoZSl9fTt2YXIgZjM9by52ZXJzaW9uO2lmKCIxOS4zLjAtY2FuYXJ5LTNmMGI5ZTYxLTIwMjYwMzE3IiE9PWYzKXRocm93IEVycm9yKHUoNTI3LGYzLCIxOS4zLjAtY2FuYXJ5LTNmMGI5ZTYxLTIwMjYwMzE3IikpO2lmKHEuZmluZERPTU5vZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5fcmVhY3RJbnRlcm5hbHM7aWYodm9pZCAwPT09dCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUucmVuZGVyKXRocm93IEVycm9yKHUoMTg4KSk7dGhyb3cgRXJyb3IodSgyNjgsZT1PYmplY3Qua2V5cyhlKS5qb2luKCIsIikpKX1yZXR1cm4gbnVsbD09PShlPW51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZighdCl7aWYobnVsbD09PSh0PWMoZSkpKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIHQhPT1lP251bGw6ZX1mb3IodmFyIG49ZSxyPXQ7Oyl7dmFyIGw9bi5yZXR1cm47aWYobnVsbD09PWwpYnJlYWs7dmFyIGE9bC5hbHRlcm5hdGU7aWYobnVsbD09PWEpe2lmKG51bGwhPT0ocj1sLnJldHVybikpe249cjtjb250aW51ZX1icmVha31pZihsLmNoaWxkPT09YS5jaGlsZCl7Zm9yKGE9bC5jaGlsZDthOyl7aWYoYT09PW4pcmV0dXJuIHAobCksZTtpZihhPT09cilyZXR1cm4gcChsKSx0O2E9YS5zaWJsaW5nfXRocm93IEVycm9yKHUoMTg4KSl9aWYobi5yZXR1cm4hPT1yLnJldHVybiluPWwscj1hO2Vsc2V7Zm9yKHZhciBvPSExLGk9bC5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1sLHI9YTticmVha31pZihpPT09cil7bz0hMCxyPWwsbj1hO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXtmb3IoaT1hLmNoaWxkO2k7KXtpZihpPT09bil7bz0hMCxuPWEscj1sO2JyZWFrfWlmKGk9PT1yKXtvPSEwLHI9YSxuPWw7YnJlYWt9aT1pLnNpYmxpbmd9aWYoIW8pdGhyb3cgRXJyb3IodSgxODkpKX19aWYobi5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKHUoMTkwKSl9aWYoMyE9PW4udGFnKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIG4uc3RhdGVOb2RlLmN1cnJlbnQ9PT1uP2U6dH0odCkpP2Z1bmN0aW9uIGUodCl7dmFyIG49dC50YWc7aWYoNT09PW58fDI2PT09bnx8Mjc9PT1ufHw2PT09bilyZXR1cm4gdDtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYobnVsbCE9PShuPWUodCkpKXJldHVybiBuO3Q9dC5zaWJsaW5nfXJldHVybiBudWxsfShlKTpudWxsKT9udWxsOmUuc3RhdGVOb2RlfSwidSI+dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyl7dmFyIGY0PV9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztpZighZjQuaXNEaXNhYmxlZCYmZjQuc3VwcG9ydHNGaWJlcil0cnl7ZV89ZjQuaW5qZWN0KHtidW5kbGVUeXBlOjAsdmVyc2lvbjoiMTkuMy4wLWNhbmFyeS0zZjBiOWU2MS0yMDI2MDMxNyIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIixjdXJyZW50RGlzcGF0Y2hlclJlZjpXLHJlY29uY2lsZXJWZXJzaW9uOiIxOS4zLjAtY2FuYXJ5LTNmMGI5ZTYxLTIwMjYwMzE3In0pLGV4PWY0fWNhdGNoKGUpe319bi5jcmVhdGVSb290PWZ1bmN0aW9uKGUsdCl7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgbj0hMSxyPSIiLGw9b0wsYT1vUixvPW9NO3JldHVybiBudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihuPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJihyPXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblVuY2F1Z2h0RXJyb3ImJihsPXQub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT10Lm9uQ2F1Z2h0RXJyb3ImJihhPXQub25DYXVnaHRFcnJvciksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJihvPXQub25SZWNvdmVyYWJsZUVycm9yKSksdD1mayhlLDEsITEsbnVsbCxudWxsLG4scixudWxsLGwsYSxvLGYwKSxlW2VLXT10LmN1cnJlbnQsczIoZSksbmV3IGYxKHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsdCxuKXtpZighcyhlKSl0aHJvdyBFcnJvcih1KDI5OSkpO3ZhciByLGw9ITEsYT0iIixvPW9MLGk9b1IsYz1vTSxmPW51bGw7cmV0dXJuIG51bGwhPW4mJighMD09PW4udW5zdGFibGVfc3RyaWN0TW9kZSYmKGw9ITApLHZvaWQgMCE9PW4uaWRlbnRpZmllclByZWZpeCYmKGE9bi5pZGVudGlmaWVyUHJlZml4KSx2b2lkIDAhPT1uLm9uVW5jYXVnaHRFcnJvciYmKG89bi5vblVuY2F1Z2h0RXJyb3IpLHZvaWQgMCE9PW4ub25DYXVnaHRFcnJvciYmKGk9bi5vbkNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uUmVjb3ZlcmFibGVFcnJvciYmKGM9bi5vblJlY292ZXJhYmxlRXJyb3IpLHZvaWQgMCE9PW4uZm9ybVN0YXRlJiYoZj1uLmZvcm1TdGF0ZSkpLCh0PWZrKGUsMSwhMCx0LG51bGwhPW4/bjpudWxsLGwsYSxmLG8saSxjLGYwKSkuY29udGV4dD0ocj1udWxsLHJnKSxuPXQuY3VycmVudCwoYT1sJChsPWVCKGw9dTUoKSkpKS5jYWxsYmFjaz1udWxsLGxRKG4sYSxsKSxuPWwsdC5jdXJyZW50LmxhbmVzPW4sZUYodCxuKSxzaih0KSxlW2VLXT10LmN1cnJlbnQsczIoZSksbmV3IGYyKHQpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktM2YwYjllNjEtMjAyNjAzMTcifSw4ODAxNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDQ2NDgwKX0sNDI3MzIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIkhlYWRNYW5hZ2VyQ29udGV4dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7bGV0IHI9ZS5yKDU1NjgyKS5fKGUucig3MTY0NSkpLmRlZmF1bHQuY3JlYXRlQ29udGV4dCh7fSl9LDUxMzIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig1NTY4Miksbz1lLnIoNjU3MTMpLGk9ZS5yKDMyMDYxKSx1PWUucigyODI3OSkscz1lLnIoNzIzODMpLGM9YS5fKGUucig2ODAyNykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYyNjM0LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3MTY0NSksbD1lLnIoNzQwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtpLHVdPSgwLHIudXNlU3RhdGUpKCIiKSxzPSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09cy5jdXJyZW50JiZzLmN1cnJlbnQhPT1lJiZ1KGUpLHMuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKGksdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwyNTAxOCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMTMyNTgpLGw9ZS5yKDcwNzI1KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7ImNoaWxkcmVuImluIG4mJmkudW5zaGlmdCgiY2hpbGRyZW4iKTtsZXQgdT10LnNsb3RzO2lmKG51bGwhPT11KWZvcihsZXQgdCBvZiBpKXtsZXRbbyxpXT1uW3RdO2lmKG89PT1yLkRFRkFVTFRfU0VHTUVOVF9LRVkpY29udGludWU7bGV0IHM9dVt0XTtpZighcyljb250aW51ZTtsZXQgYz1lKHMsaSxhKyIvIisoMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShvKSxhKyIvIisoMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShvLCEwKSk7aWYoYylyZXR1cm4gY31yZXR1cm4gbnVsbH0oZSx0LCIiLCIiKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw0MTYyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17R3JhY2VmdWxEZWdyYWRlQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig0MzQ3Niksbz1lLnIoNzE2NDUpO2NsYXNzIGkgZXh0ZW5kcyBvLkNvbXBvbmVudHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnN0YXRlPXtoYXNFcnJvcjohMX0sdGhpcy5yb290SHRtbD0iIix0aGlzLmh0bWxBdHRyaWJ1dGVzPXt9LHRoaXMuaHRtbFJlZj0oMCxvLmNyZWF0ZVJlZikoKX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGUpe3JldHVybntoYXNFcnJvcjohMH19Y29tcG9uZW50RGlkTW91bnQoKXtsZXQgZT10aGlzLmh0bWxSZWYuY3VycmVudDt0aGlzLnN0YXRlLmhhc0Vycm9yJiZlJiZPYmplY3QuZW50cmllcyh0aGlzLmh0bWxBdHRyaWJ1dGVzKS5mb3JFYWNoKChbdCxuXSk9PntlLnNldEF0dHJpYnV0ZSh0LG4pfSl9cmVuZGVyKCl7bGV0e2hhc0Vycm9yOmV9PXRoaXMuc3RhdGU7cmV0dXJuKCJ1Ij50eXBlb2Ygd2luZG93JiYhdGhpcy5yb290SHRtbCYmKHRoaXMucm9vdEh0bWw9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTCx0aGlzLmh0bWxBdHRyaWJ1dGVzPWZ1bmN0aW9uKGUpe2xldCB0PXt9O2ZvcihsZXQgbj0wO248ZS5hdHRyaWJ1dGVzLmxlbmd0aDtuKyspe2xldCByPWUuYXR0cmlidXRlc1tuXTt0W3IubmFtZV09ci52YWx1ZX1yZXR1cm4gdH0oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksZSk/KDAsYS5qc3gpKCJodG1sIix7cmVmOnRoaXMuaHRtbFJlZixzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc6ITAsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6e19faHRtbDp0aGlzLnJvb3RIdG1sfX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWxldCB1PWk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTQxMDksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBzfX0pO2xldCByPWUucig1NTY4MiksbD1lLnIoNDM0NzYpO2Uucig3MTY0NSk7bGV0IGE9ci5fKGUucig0MTYyNCkpLG89ZS5yKDcyMzgzKSxpPWUucig4MjYwNCksdT0idSI+dHlwZW9mIHdpbmRvdyYmKDAsaS5pc0JvdCkod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpO2Z1bmN0aW9uIHMoe2NoaWxkcmVuOmUsZXJyb3JDb21wb25lbnQ6dCxlcnJvclN0eWxlczpuLGVycm9yU2NyaXB0czpyfSl7cmV0dXJuIHU/KDAsbC5qc3gpKGEuZGVmYXVsdCx7Y2hpbGRyZW46ZX0pOigwLGwuanN4KShvLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cixjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNTM3MjYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBSfX0pO2xldCByPWUucig1NTY4MiksbD1lLnIoOTA4MDkpLGE9ZS5yKDQzNDc2KSxvPWwuXyhlLnIoNzE2NDUpKSxpPWUucig4MzcyKSx1PWUucig4ODU0MCkscz1lLnIoNTExOTEpLGM9ZS5yKDYxOTk0KSxmPWUucig0MTUzOCksZD1lLnIoOTQyNzIpLHA9ZS5yKDYyNjM0KSxtPWUucig1ODQ0MiksaD1lLnIoMjUwMTgpLGc9ZS5yKDE1MDczKSx2PWUucig4NzI1MCkseT1lLnIoNTI4MTcpLGI9ZS5yKDM0NzI3KSx3PWUucig3ODM3NyksUz1lLnIoOTk3ODEpLGs9ZS5yKDI0MDYzKSxFPWUucig2ODM5MSksXz1lLnIoOTE5NDkpLHg9ci5fKGUucig5NDEwOSkpLFA9ci5fKGUucig2ODAyNykpLE49ZS5yKDk3MzY3KTtlLnIoNDMzNjkpO2xldCBDPXt9O2Z1bmN0aW9uIFQoe2FwcFJvdXRlclN0YXRlOmV9KXtyZXR1cm4oMCxvLnVzZUluc2VydGlvbkVmZmVjdCkoKCk9PntsZXR7dHJlZTp0LHB1c2hSZWY6bixjYW5vbmljYWxVcmw6cixyZW5kZXJlZFNlYXJjaDpsfT1lLGE9ey4uLm4ucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU/d2luZG93Lmhpc3Rvcnkuc3RhdGU6e30sX19OQTohMCxfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFOnt0cmVlOnQscmVuZGVyZWRTZWFyY2g6bH19O24ucGVuZGluZ1B1c2gmJigwLHMuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PXI/KG4ucGVuZGluZ1B1c2g9ITEsd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKGEsIiIscikpOndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShhLCIiLHIpLCgwLGQuc2V0TGFzdENvbW1pdHRlZFRyZWUpKHQpfSxbZV0pLCgwLG8udXNlRWZmZWN0KSgoKT0+eygwLF8ucGluZ1Zpc2libGVMaW5rcykoZS5uZXh0VXJsLGUudHJlZSl9LFtlLm5leHRVcmwsZS50cmVlXSksbnVsbH1mdW5jdGlvbiBPKGUpe251bGw9PWUmJihlPXt9KTtsZXQgdD13aW5kb3cuaGlzdG9yeS5zdGF0ZSxuPXQ/Ll9fTkE7biYmKGUuX19OQT1uKTtsZXQgcj10Py5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFO3JldHVybiByJiYoZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFPXIpLGV9ZnVuY3Rpb24geih7aGVhZENhY2hlTm9kZTplfSl7bGV0IHQ9bnVsbCE9PWU/ZS5oZWFkOm51bGwsbj1udWxsIT09ZT9lLnByZWZldGNoSGVhZDpudWxsLHI9bnVsbCE9PW4/bjp0O3JldHVybigwLG8udXNlRGVmZXJyZWRWYWx1ZSkodCxyKX1mdW5jdGlvbiBMKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yOnQsd2ViU29ja2V0Om4sc3RhdGljSW5kaWNhdG9yU3RhdGU6cn0pe2xldCBsLHM9KDAsZi51c2VBY3Rpb25RdWV1ZSkoZSkse2Nhbm9uaWNhbFVybDpkfT1zLHtzZWFyY2hQYXJhbXM6dyxwYXRobmFtZTpffT0oMCxvLnVzZU1lbW8pKCgpPT57bGV0IGU9bmV3IFVSTChkLCJ1Ijx0eXBlb2Ygd2luZG93PyJodHRwOi8vbiI6d2luZG93LmxvY2F0aW9uLmhyZWYpO3JldHVybntzZWFyY2hQYXJhbXM6ZS5zZWFyY2hQYXJhbXMscGF0aG5hbWU6KDAseS5oYXNCYXNlUGF0aCkoZS5wYXRobmFtZSk/KDAsdi5yZW1vdmVCYXNlUGF0aCkoZS5wYXRobmFtZSk6ZS5wYXRobmFtZX19LFtkXSk7KDAsby51c2VFZmZlY3QpKCgpPT57bGV0IGU9KDAsYi5leHRyYWN0U291cmNlUGFnZUZyb21GbGlnaHRSb3V0ZXJTdGF0ZSkocy50cmVlKTt2b2lkIDAhPT1lP3dpbmRvdy5uZXh0Ll9faW50ZXJuYWxfc3JjX3BhZ2U9ZTpkZWxldGUgd2luZG93Lm5leHQuX19pbnRlcm5hbF9zcmNfcGFnZX0sW3MudHJlZV0pLCgwLG8udXNlRWZmZWN0KSgoKT0+e2Z1bmN0aW9uIGUoZSl7ZS5wZXJzaXN0ZWQmJndpbmRvdy5oaXN0b3J5LnN0YXRlPy5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFJiYoQy5wZW5kaW5nTXBhUGF0aD12b2lkIDAsKDAsZi5kaXNwYXRjaEFwcFJvdXRlckFjdGlvbikoe3R5cGU6dS5BQ1RJT05fUkVTVE9SRSx1cmw6bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksaGlzdG9yeVN0YXRlOndpbmRvdy5oaXN0b3J5LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUV9KSl9cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpfX0sW10pLCgwLG8udXNlRWZmZWN0KSgoKT0+e2Z1bmN0aW9uIGUoZSl7bGV0IHQ9InJlYXNvbiJpbiBlP2UucmVhc29uOmUuZXJyb3I7aWYoKDAsRS5pc1JlZGlyZWN0RXJyb3IpKHQpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG49KDAsay5nZXRVUkxGcm9tUmVkaXJlY3RFcnJvcikodCk7InB1c2giPT09KDAsay5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKHQpP1MucHVibGljQXBwUm91dGVySW5zdGFuY2UucHVzaChuLHt9KTpTLnB1YmxpY0FwcFJvdXRlckluc3RhbmNlLnJlcGxhY2Uobix7fSl9fXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidW5oYW5kbGVkcmVqZWN0aW9uIixlKX19LFtdKTtsZXR7cHVzaFJlZjpQfT1zO2lmKFAubXBhTmF2aWdhdGlvbil7aWYoQy5wZW5kaW5nTXBhUGF0aCE9PWQpe2xldCBlPXdpbmRvdy5sb2NhdGlvbjtQLnBlbmRpbmdQdXNoP2UuYXNzaWduKGQpOmUucmVwbGFjZShkKSxDLnBlbmRpbmdNcGFQYXRoPWR9dGhyb3cgZy51bnJlc29sdmVkVGhlbmFibGV9KDAsby51c2VFZmZlY3QpKCgpPT57bGV0IGU9d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlLmJpbmQod2luZG93Lmhpc3RvcnkpLHQ9d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlLmJpbmQod2luZG93Lmhpc3RvcnkpLG49ZT0+e2xldCB0PXdpbmRvdy5sb2NhdGlvbi5ocmVmLG49d2luZG93Lmhpc3Rvcnkuc3RhdGU/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57KDAsZi5kaXNwYXRjaEFwcFJvdXRlckFjdGlvbikoe3R5cGU6dS5BQ1RJT05fUkVTVE9SRSx1cmw6bmV3IFVSTChlPz90LHQpLGhpc3RvcnlTdGF0ZTpufSl9KX07d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWZ1bmN0aW9uKHQscixsKXtyZXR1cm4gdD8uX19OQXx8dD8uX058fCh0PU8odCksbCYmbihsKSksZSh0LHIsbCl9LHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZT1mdW5jdGlvbihlLHIsbCl7cmV0dXJuIGU/Ll9fTkF8fGU/Ll9OfHwoZT1PKGUpLGwmJm4obCkpLHQoZSxyLGwpfTtsZXQgcj1lPT57aWYoZS5zdGF0ZSl7aWYoIWUuc3RhdGUuX19OQSlyZXR1cm4gdm9pZCB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57KDAsUy5kaXNwYXRjaFRyYXZlcnNlQWN0aW9uKSh3aW5kb3cubG9jYXRpb24uaHJlZixlLnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUpfSl9fTtyZXR1cm4gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKSwoKT0+e3dpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZT1lLHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZT10LHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIscil9fSxbXSk7bGV0e2NhY2hlOlIsdHJlZTpNLG5leHRVcmw6SSxmb2N1c0FuZFNjcm9sbFJlZjpELHByZXZpb3VzTmV4dFVybDpGfT1zLEE9KDAsby51c2VNZW1vKSgoKT0+KDAsaC5maW5kSGVhZEluQ2FjaGUpKFIsTVsxXSksW1IsTV0pLGo9KDAsby51c2VNZW1vKSgoKT0+KDAsYi5nZXRTZWxlY3RlZFBhcmFtcykoTSksW01dKSxVPSgwLG8udXNlTWVtbykoKCk9Pih7cGFyZW50VHJlZTpNLHBhcmVudENhY2hlTm9kZTpSLHBhcmVudFNlZ21lbnRQYXRoOm51bGwscGFyZW50UGFyYW1zOnt9LHBhcmVudExvYWRpbmdEYXRhOm51bGwsZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmQsaXNBY3RpdmU6ITB9KSxbTSxSLGRdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpNLGZvY3VzQW5kU2Nyb2xsUmVmOkQsbmV4dFVybDpJLHByZXZpb3VzTmV4dFVybDpGfSksW00sRCxJLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKG0uUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKE4uUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpSLnJzY30pLCgwLGEuanN4KShwLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpNfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLG51bGwsKDAsYS5qc3gpKGMuTmF2aWdhdGlvblByb21pc2VzQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6bnVsbCxjaGlsZHJlbjooMCxhLmpzeCkoYy5QYXRoUGFyYW1zQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6aixjaGlsZHJlbjooMCxhLmpzeCkoYy5QYXRobmFtZUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOl8sY2hpbGRyZW46KDAsYS5qc3gpKGMuU2VhcmNoUGFyYW1zQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dyxjaGlsZHJlbjooMCxhLmpzeCkoaS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpCLGNoaWxkcmVuOigwLGEuanN4KShpLkFwcFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOlMucHVibGljQXBwUm91dGVySW5zdGFuY2UsY2hpbGRyZW46KDAsYS5qc3gpKGkuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6VSxjaGlsZHJlbjpWfSl9KX0pfSl9KX0pfSldfSl9ZnVuY3Rpb24gUih7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvclN0YXRlOnQsd2ViU29ja2V0Om4sc3RhdGljSW5kaWNhdG9yU3RhdGU6cn0peygwLHcudXNlTmF2RmFpbHVyZUhhbmRsZXIpKCk7bGV0IGw9KDAsYS5qc3gpKEwse2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSk7cmV0dXJuKDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6UC5kZWZhdWx0LGNoaWxkcmVuOmx9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw2NTcxNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19KTtsZXQgcj1lLnIoNTExOTEpLGw9ZS5yKDM0NzI3KSxhPWUucig1MDU5MCksbz1lLnIoOTU4NzEpLGk9ZS5yKDIwODk2KSx1PWUucig5Mzk2KSxzPWUucig3OTAyNyksYz1lLnIoODcyODgpLGY9ZS5yKDk2MTY3KTtmdW5jdGlvbiBkKHtuYXZpZ2F0ZWRBdDplLGluaXRpYWxSU0NQYXlsb2FkOnQsaW5pdGlhbEZsaWdodFN0cmVhbUZvckNhY2hlOm4sbG9jYXRpb246cH0pe2xldHtjOm0sZjpoLHE6ZyxpOnYsUzp5LHM6YixsOncsaDpTLHA6ayxkOkV9PXQsXz1tLmpvaW4oIi8iKSx7dHJlZTp4LHNlZWREYXRhOlAsaGVhZDpOfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKShoWzBdKSxDPXA/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkocCk6XyxUPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LE89KDAsaS5jb252ZXJ0Um9vdEZsaWdodFJvdXRlclN0YXRlVG9Sb3V0ZVRyZWUpKHgsZyxUKSx6PVQubWV0YWRhdGFWYXJ5UGF0aCxMPSgwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxPLFAsTiwoMCxzLmNvbXB1dGVEeW5hbWljU3RhbGVBdCkoZSxFPz9zLlVua25vd25EeW5hbWljU3RhbGVUaW1lKSk7aWYobnVsbCE9PXAmJm51bGwhPT16KXtpZigoMCxmLmRpc2NvdmVyS25vd25Sb3V0ZSkoRGF0ZS5ub3coKSxwLnBhdGhuYW1lLG51bGwsbnVsbCxPLHosdixDLHksITEpLG51bGwhPT1QJiZ2b2lkIDAhPT1iKWlmKHZvaWQgMCE9PXcmJm51bGwhPW4pKDAsYy5kZWNvZGVTdGF0aWNTdGFnZSkobix3LHZvaWQgMCkudGhlbihhc3luYyBlPT57bGV0IHQ9RGF0ZS5ub3coKSxuPWF3YWl0ICgwLGkuZ2V0U3RhbGVBdCkodCxlLnMpOygwLGkud3JpdGVTdGF0aWNTdGFnZVJlc3BvbnNlSW50b0NhY2hlKSh0LGUuZix2b2lkIDAsZS5oLG4seCxnLCEwKX0pLmNhdGNoKCgpPT57fSk7ZWxzZXtsZXQgZT1EYXRlLm5vdygpOygwLGkuZ2V0U3RhbGVBdCkoZSxiKS50aGVuKHQ9PnsoMCxpLndyaXRlU3RhdGljU3RhZ2VSZXNwb25zZUludG9DYWNoZSkoZSxoLHZvaWQgMCxTLHQseCxnLCExKX0pLmNhdGNoKCgpPT57fSksbj8uY2FuY2VsKCl9ZWxzZSBuPy5jYW5jZWwoKTtudWxsIT1rJiYoMCxpLnByb2Nlc3NSdW50aW1lUHJlZmV0Y2hTdHJlYW0pKERhdGUubm93KCksayx4LGcpLnRoZW4oZT0+e251bGwhPT1lJiYoMCxpLndyaXRlRHluYW1pY1JlbmRlclJlc3BvbnNlSW50b0NhY2hlKShEYXRlLm5vdygpLHUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lLGUuZmxpZ2h0RGF0YXMsZS5idWlsZElkLGUuaXNSZXNwb25zZVBhcnRpYWwsZS5oZWFkVmFyeVBhcmFtcyxlLnN0YWxlQXQsZS5uYXZpZ2F0aW9uU2VlZCxudWxsKX0pLmNhdGNoKCgpPT57fSl9cmV0dXJue3RyZWU6TC5yb3V0ZSxjYWNoZTpMLm5vZGUscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e3Njcm9sbFJlZjpudWxsLGZvcmNlU2Nyb2xsOiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsfSxjYW5vbmljYWxVcmw6QyxyZW5kZXJlZFNlYXJjaDpnLG5leHRVcmw6KCgwLGwuZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUpKHgpfHxwPy5wYXRobmFtZSk/P251bGwscHJldmlvdXNOZXh0VXJsOm51bGwsZGVidWdJbmZvOm51bGx9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDk4NTY5LChlLHQsbik9PnsidXNlIHN0cmljdCI7bGV0IHIsbCxhLG87T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJoeWRyYXRlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gan19KTtsZXQgaT1lLnIoNTU2ODIpLHU9ZS5yKDQzNDc2KTtlLnIoMjM5MTEpO2xldCBzPWkuXyhlLnIoODgwMTQpKSxjPWkuXyhlLnIoNzE2NDUpKSxmPWUucigzNTMyNiksZD1lLnIoNDI3MzIpLHA9ZS5yKDk3MjM4KSxtPWUucig1MTMyMyksaD1lLnIoMzIxMjApLGc9ZS5yKDkyMjQ1KSx2PWUucig5OTc4MSkseT1pLl8oZS5yKDUzNzI2KSksYj1lLnIoNjU3MTYpO2Uucig4MzcyKTtsZXQgdz1lLnIoNTA1OTApLFM9ZS5yKDQzMzY5KSxrPWUucigzMjk5MiksRT1mLmNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSxfPWYuY3JlYXRlRnJvbUZldGNoLHg9ZG9jdW1lbnQsUD1zZWxmLl9fbmV4dF9pbnN0YW50X3Rlc3Q/c2VsZi5fX25leHRfaW5zdGFudF90ZXN0OnZvaWQgMCxOPW5ldyBUZXh0RW5jb2RlcixDPSExLFQ9ITEsTz1udWxsO2Z1bmN0aW9uIHooZSl7aWYoMD09PWVbMF0pYT1bXTtlbHNlIGlmKDE9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO28/by5lbnF1ZXVlKE4uZW5jb2RlKGVbMV0pKTphLnB1c2goZVsxXSl9ZWxzZSBpZigyPT09ZVswXSlPPWVbMV07ZWxzZSBpZigzPT09ZVswXSl7aWYoIWEpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmV4cGVjdGVkIHNlcnZlciBkYXRhOiBtaXNzaW5nIGJvb3RzdHJhcCBzY3JpcHQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgbj1hdG9iKGVbMV0pLHI9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2Zvcih2YXIgdD0wO3Q8bi5sZW5ndGg7dCsrKXJbdF09bi5jaGFyQ29kZUF0KHQpO28/by5lbnF1ZXVlKHIpOmEucHVzaChyKX19bGV0IEw9ZnVuY3Rpb24oKXtvJiYhVCYmKG8uY2xvc2UoKSxUPSEwLGE9dm9pZCAwKSxDPSEwfTsibG9hZGluZyI9PT1kb2N1bWVudC5yZWFkeVN0YXRlP2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEwsITEpOnNldFRpbWVvdXQoTCk7bGV0IFI9c2VsZi5fX25leHRfZj1zZWxmLl9fbmV4dF9mfHxbXTtSLmZvckVhY2goeiksUi5sZW5ndGg9MCxSLnB1c2g9ejtsZXQgTT1uZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGUpe2EmJihhLmZvckVhY2godD0+e2UuZW5xdWV1ZSgic3RyaW5nIj09dHlwZW9mIHQ/Ti5lbmNvZGUodCk6dCl9KSxDJiYhVCkmJihudWxsPT09ZS5kZXNpcmVkU2l6ZXx8ZS5kZXNpcmVkU2l6ZTwwP1B8fGUuZXJyb3IoT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJUaGUgY29ubmVjdGlvbiB0byB0aGUgcGFnZSB3YXMgdW5leHBlY3RlZGx5IGNsb3NlZCwgcG9zc2libHkgZHVlIHRvIHRoZSBzdG9wIGJ1dHRvbiBiZWluZyBjbGlja2VkLCBsb3NzIG9mIFdpLUZpLCBvciBhbiB1bnN0YWJsZSBpbnRlcm5ldCBjb25uZWN0aW9uLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTE3IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pKTplLmNsb3NlKCksVD0hMCxhPXZvaWQgMCksbz1lfX0pO2lmKFApbD1Qcm9taXNlLnJlc29sdmUoXyhQLHtjYWxsU2VydmVyOmguY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmcuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6cix1bnN0YWJsZV9hbGxvd1BhcnRpYWxTdHJlYW06ITB9KSkudGhlbihhc3luYyBlPT4oMCx3LmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBQLGUpKTtlbHNlIGlmKHdpbmRvdy5fX05FWFRfQ0xJRU5UX1JFU1VNRSl7bGV0IGU9d2luZG93Ll9fTkVYVF9DTElFTlRfUkVTVU1FO2w9UHJvbWlzZS5yZXNvbHZlKF8oZSx7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyB0PT4oMCx3LmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBlLHQpKX1lbHNlIGw9RShNLHtjYWxsU2VydmVyOmguY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmcuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6cixzdGFydFRpbWU6MH0pO2Z1bmN0aW9uIEkoe2luaXRpYWxSU0NQYXlsb2FkOmUsYWN0aW9uUXVldWU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7cmV0dXJuKDAsdS5qc3gpKHkuZGVmYXVsdCx7YWN0aW9uUXVldWU6dCxnbG9iYWxFcnJvclN0YXRlOmUuRyx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl9bGV0IEQ9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBBPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBqKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7YS5iPygwLGsuc2V0TmF2aWdhdGlvbkJ1aWxkSWQpKGEuYik6KDAsay5zZXROYXZpZ2F0aW9uQnVpbGRJZCkoKDAsUy5nZXREZXBsb3ltZW50SWQpKCkpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxSU0NQYXlsb2FkOmEsaW5pdGlhbEZsaWdodFN0cmVhbUZvckNhY2hlOm51bGwsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRix7Y2hpbGRyZW46KDAsdS5qc3gpKEkse2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEEpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uQSxmb3JtU3RhdGU6T30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTQ1NTMsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5yKDIzNzU1KTtsZXQgcj1lLnIoOTY1MTcpO2Uucig5NzIzOCksd2luZG93Lm5leHQudHVyYm9wYWNrPSEwLHNlbGYuX193ZWJwYWNrX2hhc2hfXz0iIjtsZXQgbD1lLnIoNTUyNik7KDAsci5hcHBCb290c3RyYXApKHQ9PntsZXR7aHlkcmF0ZTpufT1lLnIoOTg1NjkpO24obCx0KX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9XSk7"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/10kvqm-y-lmui.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.536Z","timestamp":1785136352536,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/10kvqm-y-lmui.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 6506\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"10kvqm-y-lmui.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"e40e9f8f8c5918ad4d3fed3b7c5e5f96\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:05 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/10kvqm-y-lmui.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dnmw9-1785136352541-225b3e918d9c\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":12661,"size_decoded":5353,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (12648), with no line terminators","md5":"e40e9f8f8c5918ad4d3fed3b7c5e5f96","sha1":"6bd4f7dd64f55362b040ffdf12923048fb043299","sha256":"86f3bc021007f36b68a8d16e21d4f97fb4529a931e934027a300e0c4d4bc2035","sha512":"580aef5fe86ad53509afd35defe39031978bd1c7ca7774a033e10609046f62dac0246fb82d9b69f87ce1a2a923cedacc0d06efbd14653c0a4807a9c621a23bdf","ssdeep":"192:KWUT2jUTuMFHlaMFe8MS7hf3WEoQJyxX4yrN0zyj4AjT8kwMQ8Bqe3/:KWUHsIMY/WJ4yrNqVAjwMQ8Bqev","tlshash":"284284657194eadcea6b00d8442fc00db12f2e6dc90faca8b7f8ace51a5404d7563bc9","first_seen":"2026-07-27T05:24:49.459169Z","last_seen":"2026-07-27T07:13:55.100322Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOmE9Im1kIixjaGlsZHJlbjpuLGxvYWRpbmc6cyxjbGFzc05hbWU6bCxkaXNhYmxlZDppLC4uLm99KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVthXSxsKSxkaXNhYmxlZDppfHxzLC4uLm8sY2hpbGRyZW46cz8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOm59KX1dKX0sOTUwNTcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGE9e2Zvcm1hdFVybDpmdW5jdGlvbigpe3JldHVybiBpfSxmb3JtYXRXaXRoVmFsaWRhdGlvbjpmdW5jdGlvbigpe3JldHVybiBjfSx1cmxPYmplY3RLZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIG4gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixuLHtlbnVtZXJhYmxlOiEwLGdldDphW25dfSk7bGV0IHM9ZS5yKDkwODA5KS5fKGUucig5ODE4MykpLGw9L2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvO2Z1bmN0aW9uIGkoZSl7bGV0e2F1dGg6dCxob3N0bmFtZTpyfT1lLGE9ZS5wcm90b2NvbHx8IiIsbj1lLnBhdGhuYW1lfHwiIixpPWUuaGFzaHx8IiIsbz1lLnF1ZXJ5fHwiIixjPSExO3Q9dD9lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTNBL2ksIjoiKSsiQCI6IiIsZS5ob3N0P2M9dCtlLmhvc3Q6ciYmKGM9dCsofnIuaW5kZXhPZigiOiIpP2BbJHtyfV1gOnIpLGUucG9ydCYmKGMrPSI6IitlLnBvcnQpKSxvJiYib2JqZWN0Ij09dHlwZW9mIG8mJihvPVN0cmluZyhzLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMobykpKTtsZXQgdT1lLnNlYXJjaHx8byYmYD8ke299YHx8IiI7cmV0dXJuIGEmJiFhLmVuZHNXaXRoKCI6IikmJihhKz0iOiIpLGUuc2xhc2hlc3x8KCFhfHxsLnRlc3QoYSkpJiYhMSE9PWM/KGM9Ii8vIisoY3x8IiIpLG4mJiIvIiE9PW5bMF0mJihuPSIvIituKSk6Y3x8KGM9IiIpLGkmJiIjIiE9PWlbMF0mJihpPSIjIitpKSx1JiYiPyIhPT11WzBdJiYodT0iPyIrdSksbj1uLnJlcGxhY2UoL1s/I10vZyxlbmNvZGVVUklDb21wb25lbnQpLHU9dS5yZXBsYWNlKCIjIiwiJTIzIiksYCR7YX0ke2N9JHtufSR7dX0ke2l9YH1sZXQgbz1bImF1dGgiLCJoYXNoIiwiaG9zdCIsImhvc3RuYW1lIiwiaHJlZiIsInBhdGgiLCJwYXRobmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInF1ZXJ5Iiwic2VhcmNoIiwic2xhc2hlcyJdO2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGkoZSl9fSwxODU4MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwidXNlTWVyZ2VkUmVmIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgYT1lLnIoNzE2NDUpO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj0oMCxhLnVzZVJlZikobnVsbCksbj0oMCxhLnVzZVJlZikobnVsbCk7cmV0dXJuKDAsYS51c2VDYWxsYmFjaykoYT0+e2lmKG51bGw9PT1hKXtsZXQgZT1yLmN1cnJlbnQ7ZSYmKHIuY3VycmVudD1udWxsLGUoKSk7bGV0IHQ9bi5jdXJyZW50O3QmJihuLmN1cnJlbnQ9bnVsbCx0KCkpfWVsc2UgZSYmKHIuY3VycmVudD1zKGUsYSkpLHQmJihuLmN1cnJlbnQ9cyh0LGEpKX0sW2UsdF0pfWZ1bmN0aW9uIHMoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gZS5jdXJyZW50PXQsKCk9PntlLmN1cnJlbnQ9bnVsbH07e2xldCByPWUodCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/cjooKT0+ZShudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzM2NjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTG9jYWxVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBzfX0pO2xldCBhPWUucigxODk2Nyksbj1lLnIoNTI4MTcpO2Z1bmN0aW9uIHMoZSl7aWYoISgwLGEuaXNBYnNvbHV0ZVVybCkoZSkpcmV0dXJuITA7dHJ5e2xldCB0PSgwLGEuZ2V0TG9jYXRpb25PcmlnaW4pKCkscj1uZXcgVVJMKGUsdCk7cmV0dXJuIHIub3JpZ2luPT09dCYmKDAsbi5oYXNCYXNlUGF0aCkoci5wYXRobmFtZSl9Y2F0Y2goZSl7cmV0dXJuITF9fX0sODQ1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVycm9yT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IGE9ZT0+e319LDIyMDE2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBhPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LHVzZUxpbmtTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgbiBpbiBhKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG4se2VudW1lcmFibGU6ITAsZ2V0OmFbbl19KTtsZXQgcz1lLnIoOTA4MDkpLGw9ZS5yKDQzNDc2KSxpPXMuXyhlLnIoNzE2NDUpKSxvPWUucig5NTA1NyksYz1lLnIoODM3MiksdT1lLnIoMTg1ODEpLGQ9ZS5yKDE4OTY3KSxoPWUucig1NTUwKTtlLnIoMzM1MjUpO2xldCBmPWUucig4ODU0MCkseD1lLnIoOTE5NDkpLG09ZS5yKDczNjY4KSxwPWUucig5Mzk2KTtmdW5jdGlvbiBiKHQpe3ZhciByLGE7bGV0IG4scyxiLFt5LGpdPSgwLGkudXNlT3B0aW1pc3RpYykoeC5JRExFX0xJTktfU1RBVFVTKSx2PSgwLGkudXNlUmVmKShudWxsKSx7aHJlZjpOLGFzOl8sY2hpbGRyZW46dyxwcmVmZXRjaDpTPW51bGwscGFzc0hyZWY6ayxyZXBsYWNlOkMsc2hhbGxvdzpQLHNjcm9sbDpMLG9uQ2xpY2s6TSxvbk1vdXNlRW50ZXI6TyxvblRvdWNoU3RhcnQ6VCxsZWdhY3lCZWhhdmlvcjpSPSExLG9uTmF2aWdhdGU6QSx0cmFuc2l0aW9uVHlwZXM6RSxyZWY6VSx1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjpJLC4uLkJ9PXQ7bj13LFImJigic3RyaW5nIj09dHlwZW9mIG58fCJudW1iZXIiPT10eXBlb2YgbikmJihuPSgwLGwuanN4KSgiYSIse2NoaWxkcmVuOm59KSk7bGV0ICQ9aS5kZWZhdWx0LnVzZUNvbnRleHQoYy5BcHBSb3V0ZXJDb250ZXh0KSxGPSExIT09UyxEPSExIT09Uz9udWxsPT09KGE9Uyl8fCJhdXRvIj09PWE/cC5GZXRjaFN0cmF0ZWd5LlBQUjpwLkZldGNoU3RyYXRlZ3kuRnVsbDpwLkZldGNoU3RyYXRlZ3kuUFBSLEs9InN0cmluZyI9PXR5cGVvZihyPV98fE4pP3I6KDAsby5mb3JtYXRVcmwpKHIpO2lmKFIpe2lmKG4/LiQkdHlwZW9mPT09U3ltYm9sLmZvcigicmVhY3QubGF6eSIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPmAgcmVjZWl2ZWQgYSBkaXJlY3QgY2hpbGQgdGhhdCBpcyBlaXRoZXIgYSBTZXJ2ZXIgQ29tcG9uZW50LCBvciBKU1ggdGhhdCB3YXMgbG9hZGVkIHdpdGggUmVhY3QubGF6eSgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIEVpdGhlciByZW1vdmUgbGVnYWN5QmVoYXZpb3IsIG9yIG1ha2UgdGhlIGRpcmVjdCBjaGlsZCBhIENsaWVudCBDb21wb25lbnQgdGhhdCByZW5kZXJzIHRoZSBMaW5rJ3MgYDxhPmAgdGFnLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODYzIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3M9aS5kZWZhdWx0LkNoaWxkcmVuLm9ubHkobil9bGV0IHo9Uj9zJiYib2JqZWN0Ij09dHlwZW9mIHMmJnMucmVmOlUscT1pLmRlZmF1bHQudXNlQ2FsbGJhY2soZT0+KG51bGwhPT0kJiYodi5jdXJyZW50PSgwLHgubW91bnRMaW5rSW5zdGFuY2UpKGUsSywkLEQsRixqKSksKCk9Pnt2LmN1cnJlbnQmJigoMCx4LnVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24pKHYuY3VycmVudCksdi5jdXJyZW50PW51bGwpLCgwLHgudW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKShlKX0pLFtGLEssJCxELGpdKSxXPXtyZWY6KDAsdS51c2VNZXJnZWRSZWYpKHEseiksb25DbGljayh0KXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgTXx8TSh0KSxSJiZzLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy5wcm9wcy5vbkNsaWNrJiZzLnByb3BzLm9uQ2xpY2sodCksISR8fHQuZGVmYXVsdFByZXZlbnRlZHx8ZnVuY3Rpb24odCxyLGEsbixzLGwsbyl7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBjLHtub2RlTmFtZTp1fT10LmN1cnJlbnRUYXJnZXQ7aWYoIkEiPT09dS50b1VwcGVyQ2FzZSgpJiYoKGM9dC5jdXJyZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFyZ2V0IikpJiYiX3NlbGYiIT09Y3x8dC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuc2hpZnRLZXl8fHQuYWx0S2V5fHx0Lm5hdGl2ZUV2ZW50JiYyPT09dC5uYXRpdmVFdmVudC53aGljaCl8fHQuY3VycmVudFRhcmdldC5oYXNBdHRyaWJ1dGUoImRvd25sb2FkIikpcmV0dXJuO2lmKCEoMCxtLmlzTG9jYWxVUkwpKHIpKXtuJiYodC5wcmV2ZW50RGVmYXVsdCgpLGxvY2F0aW9uLnJlcGxhY2UocikpO3JldHVybn1pZih0LnByZXZlbnREZWZhdWx0KCksbCl7bGV0IGU9ITE7aWYobCh7cHJldmVudERlZmF1bHQ6KCk9PntlPSEwfX0pLGUpcmV0dXJufWxldHtkaXNwYXRjaE5hdmlnYXRlQWN0aW9uOmR9PWUucig5OTc4MSk7aS5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbigoKT0+e2QocixuPyJyZXBsYWNlIjoicHVzaCIsITE9PT1zP2YuU2Nyb2xsQmVoYXZpb3IuTm9TY3JvbGw6Zi5TY3JvbGxCZWhhdmlvci5EZWZhdWx0LGEuY3VycmVudCxvKX0pfX0odCxLLHYsQyxMLEEsRSl9LG9uTW91c2VFbnRlcihlKXtSfHwiZnVuY3Rpb24iIT10eXBlb2YgT3x8TyhlKSxSJiZzLnByb3BzJiYiZnVuY3Rpb24iPT10eXBlb2Ygcy5wcm9wcy5vbk1vdXNlRW50ZXImJnMucHJvcHMub25Nb3VzZUVudGVyKGUpLCQmJkYmJigwLHgub25OYXZpZ2F0aW9uSW50ZW50KShlLmN1cnJlbnRUYXJnZXQsITA9PT1JKX0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe1J8fCJmdW5jdGlvbiIhPXR5cGVvZiBUfHxUKGUpLFImJnMucHJvcHMmJiJmdW5jdGlvbiI9PXR5cGVvZiBzLnByb3BzLm9uVG91Y2hTdGFydCYmcy5wcm9wcy5vblRvdWNoU3RhcnQoZSksJCYmRiYmKDAseC5vbk5hdmlnYXRpb25JbnRlbnQpKGUuY3VycmVudFRhcmdldCwhMD09PUkpfX07cmV0dXJuKDAsZC5pc0Fic29sdXRlVXJsKShLKT9XLmhyZWY9SzpSJiYhayYmKCJhIiE9PXMudHlwZXx8ImhyZWYiaW4gcy5wcm9wcyl8fChXLmhyZWY9KDAsaC5hZGRCYXNlUGF0aCkoSykpLGI9Uj9pLmRlZmF1bHQuY2xvbmVFbGVtZW50KHMsVyk6KDAsbC5qc3gpKCJhIix7Li4uQiwuLi5XLGNoaWxkcmVuOm59KSwoMCxsLmpzeCkoZy5Qcm92aWRlcix7dmFsdWU6eSxjaGlsZHJlbjpifSl9ZS5yKDg0NTA4KTtsZXQgZz0oMCxpLmNyZWF0ZUNvbnRleHQpKHguSURMRV9MSU5LX1NUQVRVUykseT0oKT0+KDAsaS51c2VDb250ZXh0KShnKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjY1LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSgyMjAxNiksYT1lLmkoNzE2NDUpLG49ZS5pKDU5NTQ0KSxzPWUuaSgxNzI1NSk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbigpe2xldHtkYXRhOmV9PSgwLHMudXNlU2Vzc2lvbikoKSxbbCxpXT0oMCxhLnVzZVN0YXRlKSghMSk7cmV0dXJuKDAsdC5qc3hzKSgibmF2Iix7Y2xhc3NOYW1lOiJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy1ibGFjay84MCBiYWNrZHJvcC1ibHVyLW1kIGJvcmRlci1iIGJvcmRlci1ncmF5LTgwMCIsY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCIsY2hpbGRyZW46KDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC0xNiIsY2hpbGRyZW46WygwLHQuanN4cykoci5kZWZhdWx0LHtocmVmOiIvIixjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LTJ4bCIsY2hpbGRyZW46IuKbjyJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQteGwiLGNoaWxkcmVuOiJIYXNoVmF1bHQifSldfSksKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJoaWRkZW4gbWQ6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTYiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToidGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LWFtYmVyLTQwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LXNtIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC1hbWJlci00MDAgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1zbSIsY2hpbGRyZW46IkNvbnRhY3QifSldfSksKDAsdC5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46ZT8oMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjaGlsZHJlbjooMCx0LmpzeCkobi5kZWZhdWx0LHt2YXJpYW50OiJvdXRsaW5lIixzaXplOiJzbSIsY2hpbGRyZW46IkRhc2hib2FyZCJ9KX0pLCgwLHQuanN4KShuLmRlZmF1bHQse3ZhcmlhbnQ6Imdob3N0IixzaXplOiJzbSIsb25DbGljazooKT0+KDAscy5zaWduT3V0KSh7Y2FsbGJhY2tVcmw6Ii9hdXRoL2xvZ2luIn0pLGNoaWxkcmVuOiJTaWduIE91dCJ9KV19KTooMCx0LmpzeHMpKHQuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9sb2dpbiIsY2hpbGRyZW46KDAsdC5qc3gpKG4uZGVmYXVsdCx7dmFyaWFudDoiZ2hvc3QiLHNpemU6InNtIixjaGlsZHJlbjoiTG9naW4ifSl9KSwoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvYXV0aC9yZWdpc3RlciIsY2hpbGRyZW46KDAsdC5qc3gpKG4uZGVmYXVsdCx7c2l6ZToic20iLGNoaWxkcmVuOiJHZXQgU3RhcnRlZCJ9KX0pXX0pfSksKDAsdC5qc3gpKCJidXR0b24iLHtjbGFzc05hbWU6Im1kOmhpZGRlbiB0ZXh0LWdyYXktNDAwIixvbkNsaWNrOigpPT5pKCFsKSxjaGlsZHJlbjooMCx0LmpzeCkoInN2ZyIse2NsYXNzTmFtZToidy02IGgtNiIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLHZpZXdCb3g6IjAgMCAyNCAyNCIsY2hpbGRyZW46KDAsdC5qc3gpKCJwYXRoIix7c3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCIsc3Ryb2tlV2lkdGg6MixkOmw/Ik02IDE4TDE4IDZNNiA2bDEyIDEyIjoiTTQgNmgxNk00IDEyaDE2TTQgMThoMTYifSl9KX0pXX0pfSksbCYmKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJtZDpoaWRkZW4gYmctZ3JheS05MDAgYm9yZGVyLXQgYm9yZGVyLWdyYXktODAwIHB4LTQgcHktNCBzcGFjZS15LTMiLGNoaWxkcmVuOlsoMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvcGxhbnMiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiUGxhbnMifSksKDAsdC5qc3gpKHIuZGVmYXVsdCx7aHJlZjoiL2Fib3V0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkFib3V0In0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9mYXEiLGNsYXNzTmFtZToiYmxvY2sgdGV4dC1ncmF5LTQwMCBob3Zlcjp0ZXh0LXdoaXRlIixjaGlsZHJlbjoiRkFRIn0pLCgwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9jb250YWN0IixjbGFzc05hbWU6ImJsb2NrIHRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSIsY2hpbGRyZW46IkNvbnRhY3QifSksZT8oMCx0LmpzeCkoci5kZWZhdWx0LHtocmVmOiIvZGFzaGJvYXJkIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiRGFzaGJvYXJkIn0pOigwLHQuanN4KShyLmRlZmF1bHQse2hyZWY6Ii9hdXRoL2xvZ2luIixjbGFzc05hbWU6ImJsb2NrIHRleHQtYW1iZXItNDAwIixjaGlsZHJlbjoiTG9naW4gLyBSZWdpc3RlciJ9KV19KV19KX1dKX0sNjM1OTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoNDM0NzYpLHI9ZS5pKDcxNjQ1KTtlLnMoWyJkZWZhdWx0IiwwLGZ1bmN0aW9uKCl7bGV0W2UsYV09KDAsci51c2VTdGF0ZSkobnVsbCksW24sc109KDAsci51c2VTdGF0ZSkoMCk7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgpPT57bGV0IGU9YXN5bmMoKT0+e3RyeXtsZXQgZT1hd2FpdCBmZXRjaCgiaHR0cHM6Ly9hcGkuY29pbmdlY2tvLmNvbS9hcGkvdjMvc2ltcGxlL3ByaWNlP2lkcz1iaXRjb2luJnZzX2N1cnJlbmNpZXM9dXNkJmluY2x1ZGVfMjRocl9jaGFuZ2U9dHJ1ZSIpLHQ9YXdhaXQgZS5qc29uKCk7YSh0LmJpdGNvaW4udXNkKSxzKHQuYml0Y29pbi51c2RfMjRoX2NoYW5nZSl9Y2F0Y2h7fX07ZSgpO2xldCB0PXNldEludGVydmFsKGUsM2U0KTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbCh0KX0sW10pLCgwLHQuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJiZy1ncmF5LTkwMCBib3JkZXItYiBib3JkZXItZ3JheS04MDAgcHktMiBtdC0xNiIsY2hpbGRyZW46KDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJtYXgtdy03eGwgbXgtYXV0byBweC00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtIixjaGlsZHJlbjpbKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCIsY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToidGV4dC1ncmF5LTUwMCIsY2hpbGRyZW46IkxpdmUgQlRDIFByaWNlOiJ9KSxlPygwLHQuanN4cykoInNwYW4iLHtjbGFzc05hbWU6InRleHQtd2hpdGUgZm9udC1ib2xkIixjaGlsZHJlbjpbIiQiLGUudG9Mb2NhbGVTdHJpbmcoKSwoMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOmBtbC0yIHRleHQteHMgJHtuPj0wPyJ0ZXh0LWdyZWVuLTQwMCI6InRleHQtcmVkLTQwMCJ9YCxjaGlsZHJlbjpbbj49MD8i4payIjoi4pa8IiwiICIsTWF0aC5hYnMobikudG9GaXhlZCgyKSwiJSJdfSldfSk6KDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNjAwIGFuaW1hdGUtcHVsc2UiLGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pXX0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiaGlkZGVuIG1kOmZsZXggaXRlbXMtY2VudGVyIGdhcC02IHRleHQtZ3JheS01MDAiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtjaGlsZHJlbjoi8J+UkiBTU0wgU2VjdXJlZCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjaGlsZHJlbjoi4pqhIDk5LjklIFVwdGltZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjaGlsZHJlbjoi4pyFIEluc3RhbnQgUGF5b3V0cyJ9KV19KV19KX0pfV0pfSw5OTY1MixlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg0MzQ3Nikscj1lLmkoNzE2NDUpO2xldCBhPVsiSioqKm4iLCJBKioqYSIsIk0qKiplIiwiQyoqKnMiLCJSKioqbCIsIlMqKipoIiwiRCoqKmQiLCJMKioqYSJdLG49Wy4wMDEyLC4wMDM0LDhlLTQsLjAwMjEsLjAwNTYsLjAwMTUsLjAwNDMsOWUtNF07ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbigpe2xldFtlLHNdPSgwLHIudXNlU3RhdGUpKFtdKTtyZXR1cm4oMCxyLnVzZUVmZmVjdCkoKCk9PntzKEFycmF5LmZyb20oe2xlbmd0aDo1fSwoZSx0KT0+KHtuYW1lOmFbdCVhLmxlbmd0aF0sYW1vdW50Om5bdCVuLmxlbmd0aF0sdGltZTpgJHt0KzF9bSBhZ29gfSkpKTtsZXQgZT1zZXRJbnRlcnZhbCgoKT0+e3MoZT0+W3tuYW1lOmFbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmEubGVuZ3RoKV0sYW1vdW50Om5bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm4ubGVuZ3RoKV0sdGltZToianVzdCBub3cifSwuLi5lLnNsaWNlKDAsNCldKX0sNGUzKTtyZXR1cm4oKT0+Y2xlYXJJbnRlcnZhbChlKX0sW10pLCgwLHQuanN4KSgic2VjdGlvbiIse2NsYXNzTmFtZToicHktMTYgYmctZ3JheS05MDAvMzAgYm9yZGVyLXkgYm9yZGVyLWdyYXktODAwIixjaGlsZHJlbjooMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6Im1heC13LTN4bCBteC1hdXRvIHB4LTQiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LWNlbnRlciB0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi04IixjaGlsZHJlbjoiTGl2ZSBQYXlvdXQgRmVlZCJ9KSwoMCx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToic3BhY2UteS0zIixjaGlsZHJlbjplLm1hcCgoZSxyKT0+KDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLWxnIHB4LTQgcHktMyB0ZXh0LXNtIixjaGlsZHJlbjpbKDAsdC5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyIsY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToidy0yIGgtMiBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGFuaW1hdGUtcHVsc2UifSksKDAsdC5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToidGV4dC1ncmF5LTQwMCIsY2hpbGRyZW46W2UubmFtZSwiIHJlY2VpdmVkIGEgcGF5b3V0Il19KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtjbGFzc05hbWU6ImZsZXggaXRlbXMtY2VudGVyIGdhcC00IixjaGlsZHJlbjpbKDAsdC5qc3hzKSgic3BhbiIse2NsYXNzTmFtZToidGV4dC1hbWJlci00MDAgZm9udC1zZW1pYm9sZCIsY2hpbGRyZW46W2UuYW1vdW50LCIgQlRDIl19KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6InRleHQtZ3JheS02MDAgdGV4dC14cyIsY2hpbGRyZW46ZS50aW1lfSldfSldfSxyKSl9KV19KX0pfV0pfV0pOw=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.028Z","timestamp":1785136353028,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"1969ecaaa062bb77635d9f364278c5af\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353035-8780b6677bf3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1263,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/plans?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.052Z","timestamp":1785136353052,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /plans?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416301\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"3c5ca2b3514cd47971280500527adf44\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /plans.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136353058-1fdadc1b984d\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1255,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":35,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":35,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.251Z","timestamp":1785136353251,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 416302\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"2ece1d69c0619e9adfc169e755ac3cb1\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /index.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::9nlgb-1785136353256-bf398726c3c3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1255,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.513Z","timestamp":1785136352513,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2 HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 6506\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\"\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Mon, 27 Jul 2026 05:24:05 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zwz4w-1785136352520-3c4813c7b307\r\ncontent-length: 48432\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":48432,"size_decoded":49051,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-07-29T13:08:33.586983Z","times_seen":83807,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0csa4r95ocl1m.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.533Z","timestamp":1785136352533,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0csa4r95ocl1m.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98146\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0csa4r95ocl1m.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"2ac2ffea73dd897ce6373123a3d2f2cd\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0csa4r95ocl1m.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::lfrdt-1785136352538-427679cc9fdf\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1954,"size_decoded":1580,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (1950), with no line terminators","md5":"2ac2ffea73dd897ce6373123a3d2f2cd","sha1":"4ebe53d6946c5d1a096c6be65e8e8108a2cf74b1","sha256":"be514dc19c45f343681db95b27e7d056861a82bc6d5578fd850a49a659cae907","sha512":"3501c5be1ca4b6a8c39e831a9c91fa37d389e61227e9ffb30ab6f9150b3f1cb45af8d54cdefb6d5079ecc8293894bd3f1da11101141be282330bffb09075baed","ssdeep":"","tlshash":"32412f04b001df9c689704e5902ec41de43b6facca1fedabb5bca8612b5549d39433ed","first_seen":"2026-07-27T05:24:49.477446Z","last_seen":"2026-07-27T07:13:55.088129Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDU5NTQ0LGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDQzNDc2KSxyPWUuaSg3NTE1Nyk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7dmFyaWFudDplPSJwcmltYXJ5IixzaXplOnM9Im1kIixjaGlsZHJlbjphLGxvYWRpbmc6aSxjbGFzc05hbWU6bixkaXNhYmxlZDpjLC4uLmx9KXtyZXR1cm4oMCx0LmpzeCkoImJ1dHRvbiIse2NsYXNzTmFtZTooMCxyLmNuKSgiaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtc2VtaWJvbGQgcm91bmRlZC1sZyB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQiLHtwcmltYXJ5OiJiZy1hbWJlci01MDAgaG92ZXI6YmctYW1iZXItNDAwIHRleHQtYmxhY2siLG91dGxpbmU6ImJvcmRlciBib3JkZXItYW1iZXItNTAwIHRleHQtYW1iZXItNDAwIGhvdmVyOmJnLWFtYmVyLTUwMC8xMCIsZ2hvc3Q6InRleHQtZ3JheS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy13aGl0ZS81IixkYW5nZXI6ImJnLXJlZC02MDAgaG92ZXI6YmctcmVkLTUwMCB0ZXh0LXdoaXRlIn1bZV0se3NtOiJweC0zIHB5LTEuNSB0ZXh0LXNtIixtZDoicHgtNSBweS0yLjUgdGV4dC1zbSIsbGc6InB4LTcgcHktMyB0ZXh0LWJhc2UifVtzXSxuKSxkaXNhYmxlZDpjfHxpLC4uLmwsY2hpbGRyZW46aT8oMCx0LmpzeHMpKCJzcGFuIix7Y2xhc3NOYW1lOiJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiIsY2hpbGRyZW46WygwLHQuanN4cykoInN2ZyIse2NsYXNzTmFtZToiYW5pbWF0ZS1zcGluIGgtNCB3LTQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsY2hpbGRyZW46WygwLHQuanN4KSgiY2lyY2xlIix7Y2xhc3NOYW1lOiJvcGFjaXR5LTI1IixjeDoiMTIiLGN5OiIxMiIscjoiMTAiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiNCJ9KSwoMCx0LmpzeCkoInBhdGgiLHtjbGFzc05hbWU6Im9wYWNpdHktNzUiLGZpbGw6ImN1cnJlbnRDb2xvciIsZDoiTTQgMTJhOCA4IDAgMDE4LTh2OHoifSldfSksIkxvYWRpbmcuLi4iXX0pOmF9KX1dKX0sNTgyOTgsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoNDM0NzYpLHI9ZS5pKDcxNjQ1KSxzPWUuaSg1OTU0NCk7ZS5zKFsiZGVmYXVsdCIsMCxmdW5jdGlvbih7ZXJyb3I6ZSxyZXNldDphfSl7cmV0dXJuKDAsci51c2VFZmZlY3QpKCgpPT57Y29uc29sZS5lcnJvcihlKX0sW2VdKSwoMCx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToibWluLWgtc2NyZWVuIGJnLWJsYWNrIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTQgdGV4dC1jZW50ZXIiLGNoaWxkcmVuOigwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse2NsYXNzTmFtZToidGV4dC01eGwgbWItNCIsY2hpbGRyZW46IuKaoO+4jyJ9KSwoMCx0LmpzeCkoImgyIix7Y2xhc3NOYW1lOiJ0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC13aGl0ZSBtYi0yIixjaGlsZHJlbjoiU29tZXRoaW5nIHdlbnQgd3JvbmcifSksKDAsdC5qc3gpKCJwIix7Y2xhc3NOYW1lOiJ0ZXh0LWdyYXktNTAwIG1iLTYgbWF4LXctc20gbXgtYXV0byIsY2hpbGRyZW46ZS5tZXNzYWdlPy5pbmNsdWRlcygiZGF0YWJhc2UiKXx8ZS5tZXNzYWdlPy5pbmNsdWRlcygicHJpc21hIik/IkRhdGFiYXNlIGNvbm5lY3Rpb24gZmFpbGVkLiBQbGVhc2UgZW5zdXJlIHlvdXIgZGF0YWJhc2UgaXMgY29uZmlndXJlZC4iOiJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLiJ9KSwoMCx0LmpzeCkocy5kZWZhdWx0LHtvbkNsaWNrOmEsY2hpbGRyZW46IlRyeSBBZ2FpbiJ9KV19KX0pfV0pfV0pOw=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/favicon.ico?favicon.0x3dzn~oxb6tn.ico","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.666Z","timestamp":1785136352666,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /favicon.ico?favicon.0x3dzn~oxb6tn.ico HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 142475\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"favicon.ico\"\r\ncontent-encoding: br\r\ncontent-type: image/vnd.microsoft.icon\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"c30c7d42707a47a3f4591831641e50dc\"\r\nlast-modified: Sat, 25 Jul 2026 15:37:56 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /favicon.ico\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4w69t-1785136352672-0d38e8ea61f1\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":25931,"size_decoded":9847,"mime_type":"image/vnd.microsoft.icon","magic":"MS Windows icon resource - 4 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel","md5":"c30c7d42707a47a3f4591831641e50dc","sha1":"9ecfcc8f0ead0bf3d2d7c39e084b88f41cc89a2e","sha256":"2b8ad2d33455a8f736fc3a8ebf8f0bdea8848ad4c0db48a2833bd0f9cd775932","sha512":"7053e0f76e92179fb5154e2665d81897736bdcc22b002b0a3f8e212f27ef80f56224adaa09972848a20c66b064d16eafa732140461071ad70b6193c33dd517e0","ssdeep":"384:ryveIpvjGAUdJ/RN0d2q3OTirIDpXofYPj68Xg5RNy7yyTLb4v0:bIAJdhwYqZ8pYYPjSy7j3j","tlshash":"11c28e9b2b7e2015c908257641aeddfb011b5d4b28b4a20025fa3eb7b4b3735091fa7f","first_seen":"2023-04-30T22:57:19Z","last_seen":"2026-07-29T12:49:43.851447Z","times_seen":36392,"resource_available":false,"data":"AAABAAQAEBAAAAEAIAAoBQAARgAAACAgAAABACAAKBQAAG4FAAAwMAAAAQAgACgtAACWGQAAAAAAAAEAIACNHgAAvkYAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAABdAAAAugAAALoAAABdAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAADyAAAA/wAAAP8AAAD/AAAA/wAAAPIAAACgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAOAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOAAAAA4AAAAAAAAAAAAAAAAAAAAHwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAB8AAAAAAAAAAAAAAKEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAChAAAAAAAAACMAAAD0AAAA/wAAAP9PT0//rq6u/6urq/+rq6v/q6ur/6urq/+tra3/Z2dn/wAAAP8AAAD/AAAA9AAAACMAAABZAAAA/wAAAP8AAAD/Hx8f/+3t7f///////////////////////f39/zU1Nf8AAAD/AAAA/wAAAP8AAABZAAAAuwAAAP8AAAD/AAAA/wAAAP9ra2v//////////////////////46Ojv8AAAD/AAAA/wAAAP8AAAD/AAAAuwAAALsAAAD/AAAA/wAAAP8AAAD/CQkJ/83Nzf///////////+Tk5P8YGBj/AAAA/wAAAP8AAAD/AAAA/wAAALsAAABZAAAA/wAAAP8AAAD/AAAA/wAAAP9KSkr//f39//////9ra2v/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABZAAAAIwAAAPQAAAD/AAAA/wAAAP8AAAD/AQEB/7a2tv/V1dX/CQkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAIwAAAAAAAAChAAAA/wAAAP8AAAD/AAAA/wAAAP8xMTH/RERE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAoQAAAAAAAAAAAAAAHwAAAOIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAB8AAAAAAAAAAAAAAAAAAAA4AAAA4AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAAA8gAAAP8AAAD/AAAA/wAAAP8AAADyAAAAoAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAABdAAAAugAAALoAAABdAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAsAAAAVQAAAIEAAADoAAAA6AAAAIEAAABVAAAALAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAACFAAAA0gAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA0gAAAIUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACWAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAACWAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRAAAA4QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADhAAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgAAAPsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAAAA+wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAOQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAGwAAAAAAAAAAAAAAAAAAAAAAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAAAAAAAAAAAAAAAAAAKAAAAPUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAAAnAAAAAAAAAAAAAACGAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ODg4/4uLi/+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+IiIj/iIiI/4iIiP+JiYn/X19f/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIYAAAAAAAAABwAAANQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8eHh7/7u7u//////////////////////////////////////////////////////////////////////9TU1P/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAAcAAAArAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9oaGj/////////////////////////////////////////////////////////////////rq6u/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAAKwAAAFQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP/Ly8v///////////////////////////////////////////////////////T09P8sLCz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABUAAAAggAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0dHR//9/f3/////////////////////////////////////////////////jY2N/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIEAAADpAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/62trf///////////////////////////////////////////+Tk5P8XFxf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Kysr//Pz8///////////////////////////////////////ampq/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADpAAAAgQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/i4uL/////////////////////////////////8zMzP8ICAj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIIAAABUAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8WFhb/4+Pj///////////////////////9/f3/SUlJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAVAAAACsAAAD6AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9oaGj//////////////////////6+vr/8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAArAAAABwAAANQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wgICP/Ly8v////////////09PT/LCws/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAAcAAAAAAAAAhgAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0dHR//9/f3//////42Njf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACGAAAAAAAAAAAAAAAnAAAA9AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/7Gxsf/s7Oz/FxcX/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9QAAACgAAAAAAAAAAAAAAAAAAACXAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/MzMz/19fX/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACXAAAAAAAAAAAAAAAAAAAAAAAAABoAAADjAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5AAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8AAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAABPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAD7AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACWAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAACWAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAhQAAANIAAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAANIAAACFAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAACwAAABVAAAAgQAAAOgAAADoAAAAgQAAAFUAAAAsAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAKAAAAEwAAABqAAAAswAAAPgAAAD3AAAAswAAAGoAAABLAAAAKAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAVgAAAKAAAADYAAAA+AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAANgAAACgAAAAVQAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAAIsAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAACLAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAACLAAAA7wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7wAAAIsAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADcAAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACKAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAIoAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAK0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACtAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAuAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAuAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACuAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAK4AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAATwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3wAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAADxAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPEAAAAjAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACLAAAAAAAAAAAAAAAAAAAAEQAAAOQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8kJCT/aGho/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/2VlZf9lZWX/ZWVl/1BQUP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADkAAAAEQAAAAAAAAAAAAAAVQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8cHBz/6+vr/////////////////////////////////////////////////////////////////////////////////////////////////////////////////3Nzc/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAVQAAAAAAAAAAAAAAoQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ZWVl////////////////////////////////////////////////////////////////////////////////////////////////////////////zMzM/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAoQAAAAAAAAAJAAAA2gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BwcH/8nJyf/////////////////////////////////////////////////////////////////////////////////////////////////9/f3/SEhI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2gAAAAkAAAAoAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/0VFRf/8/Pz///////////////////////////////////////////////////////////////////////////////////////////+urq7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAACgAAABLAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+qqqr///////////////////////////////////////////////////////////////////////////////////////T09P8sLCz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAEwAAABqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8pKSn/8vLy/////////////////////////////////////////////////////////////////////////////////4yMjP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGoAAAC0AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/iIiI////////////////////////////////////////////////////////////////////////////4+Pj/xYWFv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALMAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/FBQU/+Hh4f//////////////////////////////////////////////////////////////////////aWlp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/2VlZf/////////////////////////////////////////////////////////////////Ly8v/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPgAAACzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wcHB//Jycn///////////////////////////////////////////////////////39/f9ISEj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALQAAABqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9FRUX//Pz8/////////////////////////////////////////////////66u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AAAAAAAAAAAAAAAAAAAAAAAVAAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA3wAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACuAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAK4AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAuAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAuAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAK0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACtAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAACKAAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAIoAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUgAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADcAAAAUQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAACLAAAA7wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA7wAAAIsAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAIsAAADhAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAACLAAAAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAVQAAAKAAAADYAAAA+AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAANgAAACgAAAAVgAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAKAAAAEsAAABqAAAAswAAAPcAAAD4AAAAswAAAGoAAABMAAAAKAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAAAABc1JHQgCuzhzpAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAEAoAMABAAAAAEAAAEAAAAAAEQiOHMAAB4DSURBVHgB7V0JsBXVmW6UXQg8FhFRVkGW6MRoJAnKToyOMTMqiHGwwmSqBsSNqUmhiAiYRJNMMpOqKM4UKNSYMtbEmdEYGUcJi8FxX0DlsYjghoobEngIyJvvu9CPvo97b/e9vZ3T/f1V33t9u0+f5Tvn//v0+c853cKRZIGBrihEZ6AT0BE4CegD9AROALoBXYDuQAugDmgDeKURP3YADcBO4DPgPWA78DbwLvAmsAvgdeIT4CAgsZQBNgaJHQxQganQvYDBQP/DoFLTAFD5aQRaA3HKXkRO4+AagHdwvA3YDLwB0FjQaNCYSAxnQAbAzAo6GdniE3wI8DVgIHAiQAPAJ7zJsgeZc3sN63D8KvAywN4DjYXEIAZkANKvjJbIAhV8KDAS+AowAOCTPkvyFgqzBXgeWAOsBzYBBwBJSgzIAKRDfD8kS0UfBwwHTgHYfc+TfIrC8rXhGeB/AfYWaCAkCTIgA5AM2Xwvp8KPAC4ATgN6AJIjDLyPw1eAZcAK4DWA4w2SGBmQAYiP3LaI+gzgO8B5AJW+FSDxZ+BzBKkHHgZoEF4AGgBJxAzIAERMKKI7E7gEOB+g0h8LSGpngGMEHEh8CHgQoDGgy1IiBoxhgO/004GVAEfB2UCF6DlgL2AlMAPoDUjEQGoM8L1+LLAIoNtLCp8sB3QpLgbOAehJkYiBRBjogVSmAk8C+wEpfrocsA5WA+yBdQUkYiAWBuiqmw3QVSWlN5ODjaib+QBfySRiIBIGOEHn18AHgBTfDg74SvYzYBggEQM1MTAEd1HxPwak+HZy8NHhOvwy/kvEQCAGpPh2KnslI+0agkGBWoAC5ZKBXij1zwE98bNnAFzjwFeD2wGNEYAEySEGOuDfLGAb4DYU/c82FzQEM4E6QJJjBi5G2Z8DpPD55IB1PxHQPAKQkCfhFN0HgIOAlF8c3I92cDogyTgDHVG+mwEOCknxxYG3DXB7M87z0GsBSMiijEehngK8la5j8dG8DTyNNjImiwqQ1zJ1Q8H/BeDa8uaVrd/ipFQb+DPaCr0F6g2ABJuFO+68CJSqZJ0TL35tgL0BLviSWMZAe+R3LrAb8KtkXRdHldoAewNsS9zgRWIBA5z//ShQqVJ1TfxU2wYeQ5vS2gLDDcBk5O9dKb+MX0xt4D3E+z1AYhgDnM33S4DbR1Vr2RVenFXTBtjG2Nb4mikxgIEByAO7Z9VUosKKr7BtYDnaXH8D2n+us8BR/s1A2MrU/eKwljbwOtqe1V4Cm3esnQby7wG4RZdEDKTBAOcJ/DWwE+C6AuvERgPQBizfBtwK8FgiBtJkgG3wPIBuQn7y7AtAEhMDtLj3ArV013SPeIu7Dfw72mbePvEWk6ofHe1JOLUCiLsSFb84DtMGuEMx26okQga4lROnZYapGN0r/pJqA2yr3EVaEgEDwxHHJiCpylM64jqKNrABbfbrEbT/XEcxGqXnF2CiqBDFIR6TbgNsu2zDxorJXoBRYO23QE9j2VPGxEBlBrgBzbcBugi556RxYqoBcJX/BOMYU4bEQHUMcJq6sUbARANA5b8P0JO/uoam0OYyQCPAuQLG9QRMMwCjQZKUHyRIMscAXwdoBJ4HtgJGSAsjcnEoExzt/0/gRIPypKyIgagZ4HJ1bkdPV2HqYooBGAAmlgEDU2dEGRAD8TPARUTnA3RvpyrHpJr6ocQ5a4rdfim/AZWhLCTCAB94vwFSnzGYdg/gSyDhD8A5gEQM5I2BVSjwdwGuJkxF0hwE5Oqpu4ALUym5EhUD6TPQF1k4GXgEOAAkLmkagAUo7YzES6wExYBZDJyO7PBhyF2tEpe0DMA0lPTHgAljEImTrgTFQDMGuGbgA4DzBBKVNMYAxqKE/w3QLyoRA2LgEAP8/gDHA/6YJCFJG4B+hwvYN8lCKi0xYAkDbyCfEwC6CRORJLvgx6FEi4G+iZRMiYgB+xjgA/LfAOpKIpLkGMBPUaLLEymVEhED9jJAI9AOeDSJIiRlAKj4twNJ9jiS4E9piIE4GPgaIt0AvBpH5N44W3h/xHQ8FPEuB7S0NyaCFW0mGdiOUo0HXouzdHH3ANiV4S6+p8VZCMUtBjLIAL1kpwIPAPvjKl/cBuAmZHxqXJlXvGIg4wz0R/n2AaviKmecrwCjkemHgcRGNOMiSfGKgRQZ2IO0LwBiMQJxGYBOyPDjwFmARAyIgXAMvIzbOYHu43DRHH13XK8A85HUpKOT0xkxIAZqYIAD6BxP+58a7q14Sxw9gNFI8fcA90GTiAExEA0DnyMavgpEOlU4agPA9f10+anrDxIkYiBiBp5BfHwV2B1VvFG/AvwDMjYlqswpHjEgBooY6IVfDcDqorMhfkTZA+C65pUAv+ArEQNiIB4GPkG03Dp/XRTRHxNFJIijNTAXkPJHRGhS0XTo0MHp3bt3UskpnfAMUMcWAJHobiSRIDPc1usSQGIZA1OnTnWWLFnitGrVyrKc5zq7F6H03DvACOHA3/NAo2AXB8cff3zjli1bGimTJ09W/dnVhqlzRnjarpPi26X4bn3NmzevoPz8s379+sa6ujoZAbuMwA9Rl6lKX6TOVUtqOJZxMHjw4MYdO3Y0GQAezJ49W/VoVz2+Cd3rCaQmtyFlNRrLOGjRokXj3XffXaT8/PHhhx829u/fX/VpV33+U1raPwgJvy8DYJ8BHDt2bOO+ffuOMgA8sWjRIhkAuwzAp9BB7rmRuNyBFNVYLOOgbdu2jStWrCip/Dy5d+/exhEjRqhe7arXO5PW/mFI8GMZAPsM4JQpU8oqv3th+fLljXALygjYYwQ4OSjRXoCe/vY0jiZFpttvw4YNrp5X/C+3oHXGPbFegJ7+Fio/e2tet19F7cfF+vp6uQXtqmf2AoYAVUkti4HoexxXVSoKnDoDcPs5CxcudNq3bx8oL926dXM+++wz54knnggUXoFSZ4DfF+TankfizElfRK6Rf7ueDI3l3H5+vQC5Ba17DfgI+tk/TgMwH5E3vVPq2A4uxo0b17h//34/fS95XW5BO+rYo4uz4zIAXRDxRk9CMgQWGEM/t19JrfeclFvQOgOwBTraPQ4jwE96S+kt4yCI28+j7yUP5Ra0rt1/P2oD0AYR/kkGwK6GUI3br6Tme07KLWhV3f8fdJU6G5mcg5j4gQL1ACzioBq3n0fXSx7KLWhV2+cGomODaH9QNyAH/84MEqHCmMFAtW4/v1zTLbhr1y65Bf2IMuM69fog8GAU2eFGhNsBPf0t4aBWt1/JR7/npNyCVukA3fV9ojAAV0n5rar4Rrr9yq328+hzTYdyC1rVFjhwH0q4UdwqQE9/SzgI6/bzswpyC1qlC9TdlmEsAN/7d8sA2FPpV155pZ8Oh74ut6A17WEPdDfU2N2PpPzWVHYj3X4bN24MreBBIrj88svVK7SjV/gT6HBNwsUFLwGqaEs4iNLt52cE5Ba0Ri9ehA63q8UCjMBNe2UA7KjoUpt8+ilx2Os33XSTHg7mPxw4J+AbtRiAH0v57VB+uv3uueeesPpc9f1yC9rRPqDHt1VrANhlUPfffOteeALH6fbzswqLFy9WL8D8dvIC9Jmv9IHlDITkCKIq13AO4nb7+RkAuQWt0BG+yp9dSvvLfRuQ84hrGjgolYjOxcfAxIkTndGjR8eXgE/Mbdq0cRYsWKBvC/rwlPJlLgzimF4goVF4HNDT33AOknT7+fUE5BY0Xl8eg06Xe+AXGYa++MV5xDIAhnOQpNvPzwDQLdi5c2e1GXPbzAfQaep2kZRaDTgKIX5QFEo/jGOAq/3uuuuuwJt8xl0ArhbcvXu3s3r16riTUvy1MXAcbuPU4Hrv7aW6BBO8AXRsHgNw+zmzZs1yunbtalTmrr/+egffFjQqT8pMEQPji36V+NEa554D1JUzmIM03X5+rwJyCxqtO9Rt6nhZGYwr/MCADIChHKTt9vMzAHILGq071G3qeJM0fwXg98U6N13VgXEMTJo0KVW3nx8hcgv6MZTqdeo2v+zVJM0NwDebrujAOAa6d+/uzJkzx7h8Nc8QPj/uXHrppc1P67cZDJzrzYbXAPD4LO9FHZvFwIwZM5yBAwealakyubnlllucurq6Mld1OkUGvoK0m7x/XgNwAi4MSDFjSroCA3T7XX311RVCmHXp1FNPda66irvJSQxjgE+QnqXyxCWDBwANABrGQVqr/fwG/Pyua7WgkbpEHT/HNQDeHkBR18ANoP/pM8B36iuuuCL9jFSZA85TwJ4BVd6l4DEzwO4/B/sL4jUATSfdi/qfPgNw+xUG/lq1apV+ZmrIAQ3XiBGB16HUkIJuqYGBprE+1wDw/2k1RKRbYmYg7dV+YYsnt2BYBmO5n+MALbwx82uimwG9/xvEgUmr/fze9/2ua7WgUbrFr3zza99NywPpASg5MshAknQYsMnt58cQ3YJYLegXTNeTYYD6TjQZgJNx3J4nJGYwQLcfDUBWhG5Bm9yYWeG9TDk64nwvXnPHAPqXCajTKTBg6mq/sFRcd911Wi0YlsTo7h/CqFwDoAlA0REbOqaxY+10+/kVnHsGyC3ox1Ji1/sxJdcA9EksWSVUkQHb3X4VC4eLcgv6MZTY9cJDnwaAHw8svA8klrQSKsuA6av9ymY84AW5BQMSFX8wev6OpQHoBGjVRvyE+6YAt58Vq/18C+ITgK84Wi3oQ1L8l7mdVGfXANAISFJmgItnbFntF5aquXPnyi0YlsRw99MnKwMQjsPo7rZttV/YkmfNzRmWjxTu50O/E3sA9AnywwGSlBjIqtvPj86ZM2fKLehHUnzXuTdgRxqA3vGloZiDMJBVt59f2bVa0I+h2K+fRAOgKcCx81w+gay7/cqX/NAVuQX9GIr1eh8aAE4DlqTEQNbdfn60yi3ox1Cs13tyc4C/BbQXQKw8l46cm3wuXbrUuA98lM5tfGf79evnrF+/3nnllVfiS0Qxl2LgTb0ClKIloXNcHJMXt58fpXIL+jEUy/Vu7AFcCxSWBsaShCItyQDdYAsXLjTm234lM5ngSX1bMEGyjyS1kz0ALdI+QkgiR67bj41ecoQBrRY8wkVCR91pANollJiSOcxAXt1+fg1AqwX9GIr8+jHcF+wLgIZAkgADdPstW7bM6M97JUBD2STwbUFn/Pjxzpo1a8qG0YXIGPicii/lj4xP/4hs3+TTv4ThQtBALliwwLF1F+RwpU/87jYcBJyXeLI5TVBuv2AV37dvX6e+vl5uwWB0hQqlp38o+qq7mYNccvv5c8ZB0nnz5unbgv5UhQ6hHkBoCoNFMGzYMOfOO+902rXTmGsQxrhOoKGhwVm1alWQ4ApTIwPsAXxe4726LSADfKLdcMMNTpcuha3YA96lYNdee616TPE2g4M0AJ/Em4Zi56j2ZZddJiKqZIAGc86cOVXepeBVMPAhDcDBKm5Q0CoZYJf/5ptv1qh2lby5wWk4R40a5f7U/2gZaKAB2BFtnIrNy8DkyZOdc88913tKx1UwwNWC8+fPd1q35v4VkogZ+JSDgOyb9o04YkUHBnr06OEsWbJE7/4hW0OfPn2cjRs3OmvXrg0Zk25vxsBm9gA+anZSPyNigINYAwYMiCi2/EbDQVS+RtXVafPqiFvBe+wBsH96dsQR5z66oUOHyu0XYSuQWzBCMo9EtZw9gO1HfusoCgb4xLrxxhvV9Y+CTE8c11xzjdyCHj4iOHyLBmBbBBEpCg8DEyZMcDj4J4mWAfYC5BaMlNPtNABvRxplziOj248fwGzZkl9ck0TNgNyCkTJa2BJsF6LcF2m0OY6MDXTkyJE5ZiDeosstGBm/nAG8iz2AnYcRWcx5jYhuP3VR4699GljNrAzNc0HvaQA+PYzQMeY9Ag5Sye0XfyvgICsNrdyCobguMgCaCxCKS+yrDrff9OnTQ8ai24MyMGjQIIfLqyU1M8A1QIVNQbklmKYD18yj48jtF4K8ELdqW/UQ5DnOO7j7AF8BKK8f+qe/tTDA1X5y+9XCXLh79G3BUPwV3P+uAXgjVFQ5vpluP76Pyu2XTiOg4ZXXpSbuCw991wCsrykK3VQYjVYDTK8huN8W1GrBqutgC+9wDQDfBzgfQFIFA3L7VUFWjEHlFqya3D244y3e5RqA93BMSKpgQG6/KsiKMajcglWTy/U/BX13DQBdAuwFSAIyQLfftGnTAoZWsLgZoFuQy68lgRjg9P+C6981AI04sSnQrQpUYICbfHIUWmIOA1otGLgu1iFkYStA1wDwzucC357zgFrtZ2YDkFswcL285ob0GgCe5KQgSQUGtMlnBXIMuCS3oG8lUMdfckN5DcBWnHzfvaD/pRngIhRt8lmaGxPOyi3oWwscAGzaA8RrAHhB4wAV+JPbrwI5Bl2iW3DSpEkG5ciorHACUJPHz2sAiroGRmXZkMzI7WdIRfhkg25BbSJaliSO9TV9C4SbgnrlOPyQ6fQycvhYm3yWIMXgUxwQ3Lt3r7Ny5UqDc5lK1n6BVJtm/np7AMzNqwD3B5B4GNBqPw8ZFh1qteBRlUXdbvIA8GpzA8D5wXxHkHgY0Lf9PGRYdCi34FGVRd0urAFwrzQ3ANwb8Cn3ov47hc95c7Vfq1atRIeFDMgtWFRp1O2i/T+bGwCGfrzolpz/kNvP7gYgt2BR/T1W9As/mg8C8vpe4AqAA4K5Frr9li5dqg98WN4K9G3BQgV+gL8/AorG+Er1AN5EoJcLt+T8j9x+2WgAcgsW6pHz/6nbRVKqB8CFQd2A84pC5uwH3X533HGH0759+5yVPJvFlVvQuQM1+2Tz2i3VA2CYNQA/HJBLcd1+bDSS7DBAt+App5ySnQIFL0kDgq4oFbycAeCH2Iv8haVuzuo5uf2yWbM06JwhmEPZiDLXlyp3OQPAgcBHS92Q9XPuJp9y+2WzpnP66bY/oDbZCzhKyhkABnwIKPIZHnV3Bk/ktIFksCZLFymHbkG+yj9Smo3SbkA3LLcMugg4wT2R9f9y+2W9hg+Vj27BTZs2OWvX8k0388Lp/bcCB0qVtFIPgF2GZaVuyuo5uf2yWrPF5eIgLz/hnpNvCz6M0vOVvqSUcgN6A3LSwBQg8/Ng5fbzVnv2j7t16+Y0NDQ4q1atynJh96BwswDu9VFSWpQ8e+RkSxwuB0YeOZW9I35U4r777nMuvvji7BVOJSrLAA3A8OHDnXXrOEcmk7IapRoP7C9XOip4JeF7w31Apg0Au4JsBPX19U5jI+dBSfLAwLHHHpv1ad73ox7LKj/r2K8HwDB9gGeA4/lDIgbEgBUMcNuvs4CK3/uoNAjolpIbCNKPKBEDYsAeBjiAX1H5WZQgBoDh7gVyNyeABZeIAQsZYLf/7iD5DmoAuDbghSARKowYEAOpM8BX9meD5CKoAeBson8NEqHCiAExkDoD7LFTZ30lyCCgGwkHAbmlUD/3hP6LATFgHAObkKOvAx8HyVnQHgDj4o4ii4JEqjBiQAykxgDd9oGUnzmspgfA8P0Bvlt04Q+JGBADRjHAh/RwYGvQXFXTA2Cc3FL4t0EjVzgxIAYSZWApUttaTYrV9gAY9xCAWwt15g+JGBADRjDwCXJxLsDVf4Gl2h4AI14P8D1DIgbEgDkMUCerUn5mvZYeAO8bCnBugHoBZEMiBtJloKanP7NcSw+A970GqBdAJiRiIH0Ganr6M9u19gB4L3sBHAvoxB8SMSAGUmGAI/989+fGn1VLrT0AJsRegOYFVE25bhADkTLAOf81KT9zEaYHwPt7Ak8DJ/OHRAyIgUQZ4JLfbwBba03Vb0swv3j/jADcVGSCX0BdFwNiIHIG5iDGR8PEGrYHwLQ7AKuAr/KHRAyIgUQY4OrcMcBnYVIL2wNg2twnYAcwEYjCoCAaiRgQAz4MXI3rL/mE8b0cZhDQG/mD+PGQ94SOxYAYiI2B3yFmbvcdWqJ8Yp+G3PBVoC50rhSBGBAD5RjgpJ/RwNpyAao5H8UrgJse/ZGtgLHuCf0XA2IgcgZuRYwPRBVrlD0A5uk44I/A2fwhEQNiIFIGnkNs44BQA3/eHEXZA2C83IyQS4YnA37fHEAQiRgQAwEZoMt9KrAhYPhAwaI2AEz0DaA7wI0JJGJADETDwD8jmshn3kb9CuAWtQsOVgIcGJSIATEQjgF2/ccDO8NFc/TdUbkBm8fMPcmuA/Y0v6DfYkAMVMXAboT+IRC58jMXcbwCMF7KVoDjAGMAiRgQA7Ux8BPctrS2W/3viusVwE25PQ44SYjdF4kYEAPVMUCP2oVAQ3W3BQ8dtwFgTrhvwOMAVw5KxIAYCMYAV/rR5cdl97FJnK8Abqa5TuBt4K+AuMYc3LT0XwxkgYEDKMQ0YEXchUnCALAMrwKcIsy1yxIxIAYqM/ArXP5F5SDRXE3iFcDNKWcJcsGQpgq7jOi/GDiaAT71vwNw9D92SdIAsDADgMeAfvwhEQNioIiBrfjFByQn0yUiSb+Tv45S/R3AaY0SMSAGjjCwC4c/ABJTfiad1BgA03KFBeSSxguApHsgbh70XwyYxMAXyMxM4D+SzlQaBoBl5NTGjsA3+UMiBnLOwE9RfiJxScsAsKBPABwLOJ0/JGIgpwzci3L/I0DXX+KSdhe8E0rMmYKjEi+5EhQD6TPwJ2ThL4HI1vdXW6SkBwGb528nTvwN8GzzC/otBjLOANv85UBqyk9+0+4BMA+UgcAyYAB/SMRAxhnYhPKdD9Arlqqk3QNwC09CrgDedU/ovxjIKANs41OA1JWf/KY5CMj0vfIOfvBjB98GOngv6FgMZIQBLvD5HrDGlPKYZADIyVbgeUBGACRIMsUAlZ/v/CtNKpVpBoDcbAU4T0BGACRIMsEAlZ8b5a4yrTQmGgBytA1QT8C01qL81MKA++Q3TvlZGFMNAPO2FaAR+BbAWYMSMWAbAxzw4zv/SlMzbrIBIGdbgSeBkUBXQCIGbGFgMzLKbj8n+0hCMnAK7n8aaBTEgQVtgG11ECCJkIGTENdqQEZAHJjcBlagjbKtWiGmvwJ4SeSUyf8CSK4WEHmZ0bEpDPwGGfk+wA/lWiE2GQASuhfglGHOYOT+gqbMZERWJDlmgOv5fwlwTb82u0moIUxHOlxMZHJ3UHnLfv1Q4acl1OaVTDMGxuE351RL0cRBGm2AbW98szapnwkz0B/pLQfSaABKM7+8P442NyDhth55craNAZQigPsL/g7gZ8jOBjQuABIksTHA9/1fAX8PvB9bKoq4Jga4pJhTL/VkFgdxtAHO7OPkHonBDAxD3h4D4mgAijO/vD6KNsW2JbGAgbbI41yAI7RSWnEQpg3wCz1sS3zFlFjGwFjkV1OIZQBqNQAvof3Q0ySxmIE65P12QL0BGYKghoATzjjQ1w2QZISBMSiHegMyAn5G4Cm0E/n2M6L0zYvB3sBsgK5Dv4ag6/ni6CO0iZsB7T0BErIuXEx0PyAlFwcH0Q4eAE4DJDlioCXKOhHg/oMyBPnkgHV/CSDJMQN8LZgJbAdkCPLBAfecnAV0ACRioMBAP/ylt0CGILtG4GPU78+BXoBEDJRkgFs5/RrgoJB6BNnggIrPOh0KSMRAIAa+jFAyBHYbACl+oKauQJUY4PzvnwF6NbDHGHyA+tITv1Kr1rWqGeAYwXxgI6BXAzM52IK64TwP7iItEQOxMMDvE1wFPAHsB2QM0uWAdcBvR0wFegASMZAIA5xHcA6wGOCXjWUIkuWAr2SLAC74ag1IxEBqDPRGyjOAlUADIGMQDwd7DnM8Hf/5SiYJyUCLkPfr9mIGuB3ZGcB3gYsADiCypyCpnQFuwbUO4HbwnLL7PCCJiAEZgIiILBFNO5z7KnA+cCEwGGgDSPwZ4Hs9lZ678PweeBHgEl1JxAzIAERMaJno2uI8J6GMAWgQOMdAA1YgwSPv45hK/wiwBuBmHPsASYwMyADESG6FqPvjGleffQvgTsZ0W3UG8iSforCbgaeB5QAV/g1AkiADMgAJkl0mKY4RDASGACOAMwEaiJOBLAk9Ja8DVPTVwGvAJuAAIEmJARmAlIj3SbYXrtOz8BcABxLZWzgJ6Am0B0yWXcgcXXTvAlTwZ4H1wDbgLUBiEAMyAAZVhk9WuuM6DQANQT+Arw19ABoLLmnuBHwJ4HhDnML3cnbfdwIfATsAzsAj6gE+6WkAOA9fYjgDMgCGV1CA7NH16BoAGoGOAHsPJwJur+EEHNM48Ho7gMaked1/jnOfAJzDQKWmAn8IvAdQobcBbwN8wlP5aQRoACQWM/D/QN+5DmrsiuEAAAAASUVORK5CYII="}},"time_used":28,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/register?_rsc=1r34m","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.989Z","timestamp":1785136352989,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/register?_rsc=1r34m HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_tree\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 416302\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: \"acface2fdee4323d4cb028bf1b834ba6\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/register.segments/_tree.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5jlz5-1785136352996-6982271e4d7a\r\ncontent-length: 498\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":498,"size_decoded":1165,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (329)","md5":"20abd08ca3c86e32de4a595f4824ce1c","sha1":"b9c89b27ecac97002638bea1841eba9d3e0d95af","sha256":"a87344b6b9439e7a7231ab3e3c926c8508134931982e0bfa436d262ea16bb5a4","sha512":"3798db60afec2e33bb062cde4dd09920267ecd2bf250fb755b344c0bdbce3fd5e782692a40013753840149c9011667949fc66ffc8c3d8936a7b4909686a4985d","ssdeep":"","tlshash":"d2f0277785082c89adf0d858066ae70f143c152730b64ca8c8cd8dd003a143e5a47587","first_seen":"2026-07-27T05:24:49.509506Z","last_seen":"2026-07-27T07:13:55.103453Z","times_seen":3,"resource_available":false,"data":"OkhMWyIvX25leHQvc3RhdGljL2NodW5rcy8wZTUxaWR5Yzl5bHJyLmNzcyIsInN0eWxlIl0KOkhMWyIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjBxLTMwMXY0a3h4bnIud29mZjIiLCJmb250Iix7ImNyb3NzT3JpZ2luIjoiIiwidHlwZSI6ImZvbnQvd29mZjIifV0KMDp7InRyZWUiOnsibmFtZSI6IiIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjoxNiwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6ImF1dGgiLCJwYXJhbSI6bnVsbCwicHJlZmV0Y2hIaW50cyI6MCwic2xvdHMiOnsiY2hpbGRyZW4iOnsibmFtZSI6InJlZ2lzdGVyIiwicGFyYW0iOm51bGwsInByZWZldGNoSGludHMiOjAsInNsb3RzIjp7ImNoaWxkcmVuIjp7Im5hbWUiOiJfX1BBR0VfXyIsInBhcmFtIjpudWxsLCJwcmVmZXRjaEhpbnRzIjowLCJzbG90cyI6bnVsbH19fX19fX0sInN0YWxlVGltZSI6MzAwLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0K"}},"time_used":22,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/auth/login?_rsc=1yixr","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.137Z","timestamp":1785136353137,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /auth/login?_rsc=1yixr HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /auth/login/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"9cfdd74b346349efdc7d75eac687a864\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /auth/login.segments/auth/login/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353142-5e5d05ca3235\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1031,"size_decoded":1128,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (511)","md5":"be13603e3961f3b223951c42def8b32e","sha1":"3b4e52b9d019d6cf3e79ccec401850e6490dee7e","sha256":"160935c9a29b32dd06d13cdfdbd60dec92d8b6f2900d04d6395e0c0af8d57174","sha512":"9ebf02754cf6249feec2561ed3545331a7518da16a52f8d9f5ec56ce6714aad20a12462d53a8678557bb0d582891abb2097a21ef909c7c981dee0cd9b7253c78","ssdeep":"","tlshash":"7c11382bea09fd5a5cb0cc9d296f9b2b61ed6c3795714cace28ecda903468b51b440d0","first_seen":"2026-07-27T05:24:49.484666Z","last_seen":"2026-07-27T07:13:55.119216Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzQ3MjU3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiQ2xpZW50UGFnZVJvb3QiXQozOklbNDUzMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzB5eTNtLnFfamY5ZzQuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQo2OklbOTczNjcsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJPdXRsZXRCb3VuZGFyeSJdCjc6IiRTcmVhY3Quc3VzcGVuc2UiCjA6eyJyc2MiOlsiJCIsIiQxIiwiYyIseyJjaGlsZHJlbiI6W1siJCIsIiRMMiIsbnVsbCx7IkNvbXBvbmVudCI6IiQzIiwic2VydmVyUHJvdmlkZWRQYXJhbXMiOnsic2VhcmNoUGFyYW1zIjp7fSwicGFyYW1zIjp7fSwicHJvbWlzZXMiOlsiJEA0IiwiJEA1Il19fV0sW1siJCIsInNjcmlwdCIsInNjcmlwdC0wIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzB5eTNtLnFfamY5ZzQuanMiLCJhc3luYyI6dHJ1ZX1dLFsiJCIsInNjcmlwdCIsInNjcmlwdC0xIix7InNyYyI6Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzB3dnVoMGkwcWg2cjguanMiLCJhc3luYyI6dHJ1ZX1dXSxbIiQiLCIkTDYiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJDciLG51bGwseyJuYW1lIjoiTmV4dC5NZXRhZGF0YU91dGxldCIsImNoaWxkcmVuIjoiJEA4In1dfV1dfV0sImlzUGFydGlhbCI6ZmFsc2UsInN0YWxlVGltZSI6MzAwLCJ2YXJ5UGFyYW1zIjpudWxsLCJidWlsZElkIjoiZ1BEZjJUZVVmZU1QMUNwcUlER3lnIn0KNDp7fQo1OiIkMDpyc2M6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpzZXJ2ZXJQcm92aWRlZFBhcmFtczpwYXJhbXMiCjg6bnVsbAo="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/contact?_rsc=1pn8p","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.143Z","timestamp":1785136353143,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /contact?_rsc=1pn8p HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /_head\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"e2974b14770e5db65b9a935bb8796acd\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /contact.segments/_head.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::hfd4l-1785136353150-436091f88a66\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":1220,"size_decoded":1257,"mime_type":"text/x-component","magic":"ASCII text, with very long lines (849)","md5":"f2c9aec1e3472fa2b20f1470e1906ecd","sha1":"c18e83dc244a6713b7d568d7e39674d3383a9958","sha256":"d4e869fb3a10ae5cf653984cc488c337bf4fcdb95ddab1687f80369d8907c580","sha512":"a42677c185b772906eb80ee483ca65b6e80c24a6568d6c6eabe673f6fadfce47c0b5f269e2c092514136f43511c648e831d5c21b698c512a8960e46553433c7b","ssdeep":"","tlshash":"dd21df3b9a09dc1e2fb7c98840afd31a77bd6a37a6741c76c14ecd1803894762f411e1","first_seen":"2026-07-27T05:24:49.433048Z","last_seen":"2026-07-27T07:13:55.092645Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzk3MzY3LFsiL19uZXh0L3N0YXRpYy9jaHVua3MvMTZpLnZtXy42bWFfdS5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzBuLnF+cjVkLW1teG4uanMiXSwiVmlld3BvcnRCb3VuZGFyeSJdCjM6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk1ldGFkYXRhQm91bmRhcnkiXQo0OiIkU3JlYWN0LnN1c3BlbnNlIgo1OklbMjcyMDEsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyJdLCJJY29uTWFyayJdCjA6eyJyc2MiOlsiJCIsIiQxIiwiaCIseyJjaGlsZHJlbiI6W251bGwsWyIkIiwiJEwyIixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJtZXRhIiwiMCIseyJjaGFyU2V0IjoidXRmLTgifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6InZpZXdwb3J0IiwiY29udGVudCI6IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIn1dXX1dLFsiJCIsImRpdiIsbnVsbCx7ImhpZGRlbiI6dHJ1ZSwiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkNCIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhIiwiY2hpbGRyZW4iOltbIiQiLCJ0aXRsZSIsIjAiLHsiY2hpbGRyZW4iOiJIYXNoVmF1bHQgLSBQcm9mZXNzaW9uYWwgQml0Y29pbiBDbG91ZCBNaW5pbmcifV0sWyIkIiwibWV0YSIsIjEiLHsibmFtZSI6ImRlc2NyaXB0aW9uIiwiY29udGVudCI6Ik1pbmUgQml0Y29pbiB3aXRoIHByb2Zlc3Npb25hbC1ncmFkZSBoYXJkd2FyZS4gVHJhbnNwYXJlbnQgcGF5b3V0cywgcmVhbC10aW1lIHN0YXRzLCBhbmQgZ3VhcmFudGVlZCB1cHRpbWUuIn1dLFsiJCIsImxpbmsiLCIyIix7InJlbCI6Imljb24iLCJocmVmIjoiL2Zhdmljb24uaWNvP2Zhdmljb24uMHgzZHpufm94YjZ0bi5pY28iLCJzaXplcyI6IjI1NngyNTYiLCJ0eXBlIjoiaW1hZ2UveC1pY29uIn1dLFsiJCIsIiRMNSIsIjMiLHt9XV19XX1dfV0sWyIkIiwibWV0YSIsbnVsbCx7Im5hbWUiOiJuZXh0LXNpemUtYWRqdXN0IiwiY29udGVudCI6IiJ9XV19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo="}},"time_used":30,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/about?_rsc=1pr6k","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:33.250Z","timestamp":1785136353250,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /about?_rsc=1pr6k HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nrsc: 1\r\nnext-router-prefetch: 1\r\nnext-router-segment-prefetch: /about/__PAGE__\r\nnext-url: /\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 250758\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/x-component\r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\netag: W/\"c1d4e53dd6d5589adc4cef6142b381c1\"\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch\r\nx-matched-path: /about.segments/about/__PAGE__.segment.rsc\r\nx-nextjs-postponed: 2\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::glmvs-1785136353255-2d62d43aade2\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":5421,"size_decoded":2225,"mime_type":"text/x-component","magic":"Unicode text, UTF-8 text, with very long lines (4462)","md5":"280d3f8f8df7933fe4f0779a709472f2","sha1":"5fbe0ec9a0a1ec42b2301175bbbc14e5ea0771ee","sha256":"c49de5d76c200c33d148b2e2f33fcf65c89ed7363cbd6b53d2f686e3d9b86d5c","sha512":"8d9c12d0cdaccafa33c41db42c4c569af1e225013e78afef2928b2c05693b3c78c35ef780b44a7bbd0818258b14d6ac3a0860ca7de7fde52dd7ce7dc93403e88","ssdeep":"96:Xyy1yycZlEmI60RnvxhiLLlxh9vwxhtODG1O+xhIRB7yHccLeIvvuPHc5RuFy6xD:CykyMlEmIHRnvxhiLRxh9YxhtOUxxhIn","tlshash":"41b1693e6746aead7e7b4495542fc62a321d473b8a678dbae2fd6d5403860353e033c0","first_seen":"2026-07-27T05:24:49.449736Z","last_seen":"2026-07-27T07:13:55.102773Z","times_seen":3,"resource_available":false,"data":"MToiJFNyZWFjdC5mcmFnbWVudCIKMjpJWzMyNjUsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sImRlZmF1bHQiXQozOklbMjIwMTYsWyIvX25leHQvc3RhdGljL2NodW5rcy8xNmkudm1fLjZtYV91LmpzIiwiL19uZXh0L3N0YXRpYy9jaHVua3MvMG4ucX5yNWQtbW14bi5qcyIsIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE3cXl0eGo3aG0ydjkuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIl0sIiJdCjg6SVs5NzM2NyxbIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzE2aS52bV8uNm1hX3UuanMiLCIvX25leHQvc3RhdGljL2NodW5rcy8wbi5xfnI1ZC1tbXhuLmpzIl0sIk91dGxldEJvdW5kYXJ5Il0KOToiJFNyZWFjdC5zdXNwZW5zZSIKMDp7InJzYyI6WyIkIiwiJDEiLCJjIix7ImNoaWxkcmVuIjpbWyIkIiwibWFpbiIsbnVsbCx7ImNoaWxkcmVuIjpbWyIkIiwiJEwyIixudWxsLHt9XSxbIiQiLCJkaXYiLG51bGwseyJjbGFzc05hbWUiOiJwdC0yNCBwYi0yMCBtYXgtdy00eGwgbXgtYXV0byBweC00IiwiY2hpbGRyZW4iOltbIiQiLCJoMSIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtNHhsIHNtOnRleHQtNXhsIGZvbnQtYm9sZCB0ZXh0LXdoaXRlIG1iLTYiLCJjaGlsZHJlbiI6IkFib3V0IEhhc2hWYXVsdCJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTQwMCB0ZXh0LWxnIG1iLTgiLCJjaGlsZHJlbiI6Ikhhc2hWYXVsdCBpcyBhIHByb2Zlc3Npb25hbCBCaXRjb2luIGNsb3VkIG1pbmluZyBwbGF0Zm9ybSBmb3VuZGVkIGluIDIwMjAuIFdlIG9wZXJhdGUgbWluaW5nIGZhcm1zIGFjcm9zcyBOb3J0aCBBbWVyaWNhLCBFdXJvcGUsIGFuZCBBc2lhLCBwcm92aWRpbmcgcmV0YWlsIGludmVzdG9ycyBhY2Nlc3MgdG8gaW5zdGl0dXRpb25hbC1ncmFkZSBtaW5pbmcgaW5mcmFzdHJ1Y3R1cmUuIn1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTYgbWItMTIiLCJjaGlsZHJlbiI6W1siJCIsImRpdiIsIk91ciBNaXNzaW9uIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYiLCJjaGlsZHJlbiI6W1siJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6Ik91ciBNaXNzaW9uIn1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IlRvIGRlbW9jcmF0aXplIEJpdGNvaW4gbWluaW5nIGJ5IG1ha2luZyBpdCBhY2Nlc3NpYmxlIHRvIGV2ZXJ5b25lLCByZWdhcmRsZXNzIG9mIHRlY2huaWNhbCBrbm93bGVkZ2Ugb3IgY2FwaXRhbC4ifV1dfV0sWyIkIiwiZGl2IiwiT3VyIEluZnJhc3RydWN0dXJlIix7ImNsYXNzTmFtZSI6ImJnLWdyYXktOTAwIGJvcmRlciBib3JkZXItZ3JheS04MDAgcm91bmRlZC14bCBwLTYiLCJjaGlsZHJlbiI6W1siJCIsImgzIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC13aGl0ZSBmb250LXNlbWlib2xkIG1iLTIiLCJjaGlsZHJlbiI6Ik91ciBJbmZyYXN0cnVjdHVyZSJ9XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJXZSBvcGVyYXRlIG92ZXIgNTAsMDAwIEFTSUMgbWluZXJzIGFjcm9zcyA2IGRhdGEgY2VudGVycyB3aXRoIHJlZHVuZGFudCBwb3dlciBhbmQgY29vbGluZyBzeXN0ZW1zLiJ9XV19XSxbIiQiLCJkaXYiLCJUcmFuc3BhcmVuY3kiLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiVHJhbnNwYXJlbmN5In1dLFsiJCIsInAiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWdyYXktNTAwIHRleHQtc20iLCJjaGlsZHJlbiI6IkFsbCBwYXlvdXRzIGFyZSB2ZXJpZmlhYmxlIG9uLWNoYWluLiBXZSBwdWJsaXNoIG1vbnRobHkgcmVwb3J0cyBvbiBoYXNocmF0ZSwgZWFybmluZ3MsIGFuZCBvcGVyYXRpb25hbCBjb3N0cy4ifV1dfV0sWyIkIiwiZGl2IiwiU2VjdXJpdHkiLHsiY2xhc3NOYW1lIjoiYmctZ3JheS05MDAgYm9yZGVyIGJvcmRlci1ncmF5LTgwMCByb3VuZGVkLXhsIHAtNiIsImNoaWxkcmVuIjpbWyIkIiwiaDMiLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LXdoaXRlIGZvbnQtc2VtaWJvbGQgbWItMiIsImNoaWxkcmVuIjoiU2VjdXJpdHkifV0sWyIkIiwicCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtZ3JheS01MDAgdGV4dC1zbSIsImNoaWxkcmVuIjoiQmFuay1ncmFkZSBlbmNyeXB0aW9uLCAyRkEsIGFuZCBjb2xkIHN0b3JhZ2UgZm9yIGFsbCBwbGF0Zm9ybSBmdW5kcy4gWW91ciBhc3NldHMgYXJlIGFsd2F5cyBwcm90ZWN0ZWQuIn1dXX1dXX1dXX1dLFsiJCIsImZvb3RlciIsbnVsbCx7ImNsYXNzTmFtZSI6ImJnLWJsYWNrIGJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBtdC0yMCIsImNoaWxkcmVuIjpbWyIkIiwiZGl2IixudWxsLHsiY2xhc3NOYW1lIjoibWF4LXctN3hsIG14LWF1dG8gcHgtNCBweS0xMiBncmlkIGdyaWQtY29scy0xIG1kOmdyaWQtY29scy00IGdhcC04IiwiY2hpbGRyZW4iOltbIiQiLCJkaXYiLG51bGwseyJjaGlsZHJlbiI6W1siJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIG1iLTQiLCJjaGlsZHJlbiI6W1siJCIsInNwYW4iLG51bGwseyJjbGFzc05hbWUiOiJ0ZXh0LWFtYmVyLTQwMCB0ZXh0LXhsIiwiY2hpbGRyZW4iOiLim48ifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtbGciLCJjaGlsZHJlbiI6Ikhhc2hWYXVsdCJ9XV19XSxbIiQiLCJwIixudWxsLHsiY2xhc3NOYW1lIjoidGV4dC1ncmF5LTUwMCB0ZXh0LXNtIiwiY2hpbGRyZW4iOiJQcm9mZXNzaW9uYWwgQml0Y29pbiBjbG91ZCBtaW5pbmcgcGxhdGZvcm0gd2l0aCBndWFyYW50ZWVkIHVwdGltZSBhbmQgdHJhbnNwYXJlbnQgcGF5b3V0cy4ifV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJQbGF0Zm9ybSJ9XSxbIiQiLCJ1bCIsbnVsbCx7ImNsYXNzTmFtZSI6InNwYWNlLXktMiB0ZXh0LXNtIHRleHQtZ3JheS01MDAiLCJjaGlsZHJlbiI6W1siJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvcGxhbnMiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiTWluaW5nIFBsYW5zIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9kYXNoYm9hcmQiLCJjbGFzc05hbWUiOiJob3Zlcjp0ZXh0LWFtYmVyLTQwMCIsImNoaWxkcmVuIjoiRGFzaGJvYXJkIn1dfV0sWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9hdXRoL3JlZ2lzdGVyIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkdldCBTdGFydGVkIn1dfV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJDb21wYW55In1dLFsiJCIsInVsIixudWxsLHsiY2xhc3NOYW1lIjoic3BhY2UteS0yIHRleHQtc20gdGV4dC1ncmF5LTUwMCIsImNoaWxkcmVuIjpbWyIkIiwibGkiLG51bGwseyJjaGlsZHJlbiI6WyIkIiwiJEwzIixudWxsLHsiaHJlZiI6Ii9hYm91dCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJBYm91dCBVcyJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvZmFxIiwiY2xhc3NOYW1lIjoiaG92ZXI6dGV4dC1hbWJlci00MDAiLCJjaGlsZHJlbiI6IkZBUSJ9XX1dLFsiJCIsImxpIixudWxsLHsiY2hpbGRyZW4iOlsiJCIsIiRMMyIsbnVsbCx7ImhyZWYiOiIvY29udGFjdCIsImNsYXNzTmFtZSI6ImhvdmVyOnRleHQtYW1iZXItNDAwIiwiY2hpbGRyZW4iOiJDb250YWN0In1dfV1dfV1dfV0sWyIkIiwiZGl2IixudWxsLHsiY2hpbGRyZW4iOltbIiQiLCJoNCIsbnVsbCx7ImNsYXNzTmFtZSI6InRleHQtd2hpdGUgZm9udC1zZW1pYm9sZCBtYi0zIiwiY2hpbGRyZW4iOiJUcnVzdCAmIFNlY3VyaXR5In1dLFsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggZmxleC1jb2wgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNTAwIiwiY2hpbGRyZW4iOltbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IvCflJIgU1NMIFNlY3VyZWQifV0sWyIkIiwic3BhbiIsbnVsbCx7ImNsYXNzTmFtZSI6ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIiwiY2hpbGRyZW4iOiLinIUgVmVyaWZpZWQgUGF5b3V0cyJ9XSxbIiQiLCJzcGFuIixudWxsLHsiY2xhc3NOYW1lIjoiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiLCJjaGlsZHJlbiI6IuKaoSA5OS45JSBVcHRpbWUifV1dfV1dfV1dfV0sIiRMNCJdfV1dfV0sWyIkTDUiLCIkTDYiXSwiJEw3Il19XSwiaXNQYXJ0aWFsIjpmYWxzZSwic3RhbGVUaW1lIjozMDAsInZhcnlQYXJhbXMiOm51bGwsImJ1aWxkSWQiOiJnUERmMlRlVWZlTVAxQ3BxSURHeWcifQo0OlsiJCIsImRpdiIsbnVsbCx7ImNsYXNzTmFtZSI6ImJvcmRlci10IGJvcmRlci1ncmF5LTgwMCBweS00IHRleHQtY2VudGVyIHRleHQtZ3JheS02MDAgdGV4dC1zbSIsImNoaWxkcmVuIjpbIsKpICIsMjAyNiwiIEhhc2hWYXVsdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iXX1dCjU6WyIkIiwic2NyaXB0Iiwic2NyaXB0LTAiLHsic3JjIjoiL19uZXh0L3N0YXRpYy9jaHVua3MvMTdxeXR4ajdobTJ2OS5qcyIsImFzeW5jIjp0cnVlfV0KNjpbIiQiLCJzY3JpcHQiLCJzY3JpcHQtMSIseyJzcmMiOiIvX25leHQvc3RhdGljL2NodW5rcy8wd3Z1aDBpMHFoNnI4LmpzIiwiYXN5bmMiOnRydWV9XQo3OlsiJCIsIiRMOCIsbnVsbCx7ImNoaWxkcmVuIjpbIiQiLCIkOSIsbnVsbCx7Im5hbWUiOiJOZXh0Lk1ldGFkYXRhT3V0bGV0IiwiY2hpbGRyZW4iOiIkQGEifV19XQphOm51bGwK"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"hashvault.site/_next/static/chunks/0wvuh0i0qh6r8.js","fqdn":"hashvault.site","domain":"hashvault.site","tld":"site"},"ip":{"addr":"64.29.17.1","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.535Z","timestamp":1785136352535,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.hashvault.site","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Fri, 12 Jun 2026 23:30:22 GMT","end":"Thu, 10 Sep 2026 23:30:21 GMT"},"fingerprint":{"sha1":"C2:50:67:B4:9B:91:4C:1D:BF:93:56:FB:C2:85:56:77:C9:0B:99:FB","sha256":"4D:CE:F5:BD:DE:6C:CA:CB:A2:25:56:00:BD:1C:9C:C4:8F:12:16:49:D3:45:76:5B:EA:A1:56:0C:EA:BF:7B:3C"}}},"request":{"raw":"GET /_next/static/chunks/0wvuh0i0qh6r8.js HTTP/1.1\r\nHost: hashvault.site\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://hashvault.site/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 98146\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"0wvuh0i0qh6r8.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 07:12:32 GMT\r\netag: W/\"b268d268ecab0e02c3ed9e4e6d2a2761\"\r\nlast-modified: Sun, 26 Jul 2026 03:56:45 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/0wvuh0i0qh6r8.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::zwz4w-1785136352540-851eedcf9959\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":26629,"size_decoded":9089,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (26629), with no line terminators","md5":"b268d268ecab0e02c3ed9e4e6d2a2761","sha1":"1596419c645dd36a6537ad893c25496d4af76353","sha256":"242585328dd540da8bd42e863c607d414f1584ec3f0ad602d7de5e0877ed3bfa","sha512":"e99e234f170d0cfc5f89994c8d7b87a4460172a7dfcbc0278de2ed93291d0e1a9c003c4ebcf47532a2935f31d5fc3f396fe80cbc24fe692b7394137aa445bf72","ssdeep":"384:27MuqZ8wPSkMFWdvE+Ff8IiULq2UPWuqgVitiA/HXdjz9/KD:2W8w6aLqRWuqgSJKD","tlshash":"94c2b626690705fe2aee93d7e05cebd5cd385602e0498b4ce3878f319b59be81187b1d","first_seen":"2026-07-27T05:24:49.496948Z","last_seen":"2026-07-27T07:13:55.093129Z","times_seen":3,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LGU9PnsidXNlIHN0cmljdCI7bGV0IHI9KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSxvPVtdLHQ9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCBsPWVbcl0sbj1vLm5leHRQYXJ0LmdldChsKTtpZihuKXtsZXQgbz10KGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IHM9by52YWxpZGF0b3JzO2lmKG51bGw9PT1zKXJldHVybjtsZXQgYT0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPXMubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPXNbZV07aWYoci52YWxpZGF0b3IoYSkpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbD0oZSxvKT0+e2xldCB0PXIoKTtmb3IobGV0IHIgaW4gZSluKGVbcl0sdCxyLG8pO3JldHVybiB0fSxuPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/YShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/aShlLHIsbyx0KTpkKGUscixvLHQpfSxhPShlLHIsbyk9PnsoIiI9PT1lP3I6YyhyLGUpKS5jbGFzc0dyb3VwSWQ9b30saT0oZSxyLG8sdCk9PnttKGUpP24oZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxzPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8cztlKyspe2xldFtzLGFdPWxbZV07bihhLGMocixzKSxvLHQpfX0sYz0oZSxvKT0+e2xldCB0PWUsbD1vLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgbz1sW2VdLG49dC5uZXh0UGFydC5nZXQobyk7bnx8KG49cigpLHQubmV4dFBhcnQuc2V0KG8sbikpLHQ9bn1yZXR1cm4gdH0sbT1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixwPVtdLGI9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLHU9L1xzKy8sZj1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWYoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGc9W10saD1lPT57bGV0IHI9cj0+cltlXXx8ZztyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LGs9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2ksdz0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx4PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHk9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx2PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyx6PS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8saj0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sQz1lPT54LnRlc3QoZSksTj1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxPPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLEk9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZOKGUuc2xpY2UoMCwtMSkpLFM9ZT0+eS50ZXN0KGUpLFQ9KCk9PiEwLCQ9ZT0+di50ZXN0KGUpJiYhei50ZXN0KGUpLE09KCk9PiExLFc9ZT0+ai50ZXN0KGUpLEE9ZT0+Ry50ZXN0KGUpLFA9ZT0+IXEoZSkmJiFIKGUpLFU9ZT0+ZWUoZSxlbCxNKSxxPWU9PmsudGVzdChlKSxCPWU9PmVlKGUsZW4sJCksRD1lPT5lZShlLGVzLE4pLEs9ZT0+ZWUoZSxlaSxUKSxSPWU9PmVlKGUsZWEsTSksXz1lPT5lZShlLGVvLE0pLEU9ZT0+ZWUoZSxldCxBKSxGPWU9PmVlKGUsZWQsVyksSD1lPT53LnRlc3QoZSksSj1lPT5lcihlLGVuKSxMPWU9PmVyKGUsZWEpLFE9ZT0+ZXIoZSxlbyksVj1lPT5lcihlLGVsKSxYPWU9PmVyKGUsZXQpLFk9ZT0+ZXIoZSxlZCwhMCksWj1lPT5lcihlLGVpLCEwKSxlZT0oZSxyLG8pPT57bGV0IHQ9ay5leGVjKGUpO3JldHVybiEhdCYmKHRbMV0/cih0WzFdKTpvKHRbMl0pKX0sZXI9KGUscixvPSExKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byl9LGVvPWU9PiJwb3NpdGlvbiI9PT1lfHwicGVyY2VudGFnZSI9PT1lLGV0PWU9PiJpbWFnZSI9PT1lfHwidXJsIj09PWUsZWw9ZT0+Imxlbmd0aCI9PT1lfHwic2l6ZSI9PT1lfHwiYmctc2l6ZSI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZSxlcz1lPT4ibnVtYmVyIj09PWUsZWE9ZT0+ImZhbWlseS1uYW1lIj09PWUsZWk9ZT0+Im51bWJlciI9PT1lfHwid2VpZ2h0Ij09PWUsZWQ9ZT0+InNoYWRvdyI9PT1lLGVjPSgoZSwuLi5yKT0+e2xldCBuLHMsYSxpLGQ9ZT0+e2xldCByPXMoZSk7aWYocilyZXR1cm4gcjtsZXQgbz0oKGUscik9PntsZXR7cGFyc2VDbGFzc05hbWU6byxnZXRDbGFzc0dyb3VwSWQ6dCxnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHM6bCxzb3J0TW9kaWZpZXJzOm59PXIscz1bXSxhPWUudHJpbSgpLnNwbGl0KHUpLGk9IiI7Zm9yKGxldCBlPWEubGVuZ3RoLTE7ZT49MDtlLT0xKXtsZXQgcj1hW2VdLHtpc0V4dGVybmFsOmQsbW9kaWZpZXJzOmMsaGFzSW1wb3J0YW50TW9kaWZpZXI6bSxiYXNlQ2xhc3NOYW1lOnAsbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjpifT1vKHIpO2lmKGQpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX1sZXQgdT0hIWIsZj10KHU/cC5zdWJzdHJpbmcoMCxiKTpwKTtpZighZil7aWYoIXV8fCEoZj10KHApKSl7aT1yKyhpLmxlbmd0aD4wPyIgIitpOmkpO2NvbnRpbnVlfXU9ITF9bGV0IGc9MD09PWMubGVuZ3RoPyIiOjE9PT1jLmxlbmd0aD9jWzBdOm4oYykuam9pbigiOiIpLGg9bT9nKyIhIjpnLGs9aCtmO2lmKHMuaW5kZXhPZihrKT4tMSljb250aW51ZTtzLnB1c2goayk7bGV0IHc9bChmLHUpO2ZvcihsZXQgZT0wO2U8dy5sZW5ndGg7KytlKXtsZXQgcj13W2VdO3MucHVzaChoK3IpfWk9cisoaS5sZW5ndGg+MD8iICIraTppKX1yZXR1cm4gaX0pKGUsbik7cmV0dXJuIGEoZSxvKSxvfTtyZXR1cm4gaT1jPT57dmFyIG07bGV0IHU7cmV0dXJuIHM9KG49e2NhY2hlOihlPT57aWYoZTwxKXJldHVybntnZXQ6KCk9PnZvaWQgMCxzZXQ6KCk9Pnt9fTtsZXQgcj0wLG89T2JqZWN0LmNyZWF0ZShudWxsKSx0PU9iamVjdC5jcmVhdGUobnVsbCksbD0obCxuKT0+e29bbF09biwrK3I+ZSYmKHI9MCx0PW8sbz1PYmplY3QuY3JlYXRlKG51bGwpKX07cmV0dXJue2dldChlKXtsZXQgcj1vW2VdO3JldHVybiB2b2lkIDAhPT1yP3I6dm9pZCAwIT09KHI9dFtlXSk/KGwoZSxyKSxyKTp2b2lkIDB9LHNldChlLHIpe2UgaW4gbz9vW2VdPXI6bChlLHIpfX19KSgobT1yLnJlZHVjZSgoZSxyKT0+cihlKSxlKCkpKS5jYWNoZVNpemUpLHBhcnNlQ2xhc3NOYW1lOihlPT57bGV0e3ByZWZpeDpyLGV4cGVyaW1lbnRhbFBhcnNlQ2xhc3NOYW1lOm99PWUsdD1lPT57bGV0IHIsbz1bXSx0PTAsbD0wLG49MCxzPWUubGVuZ3RoO2ZvcihsZXQgYT0wO2E8czthKyspe2xldCBzPWVbYV07aWYoMD09PXQmJjA9PT1sKXtpZigiOiI9PT1zKXtvLnB1c2goZS5zbGljZShuLGEpKSxuPWErMTtjb250aW51ZX1pZigiLyI9PT1zKXtyPWE7Y29udGludWV9fSJbIj09PXM/dCsrOiJdIj09PXM/dC0tOiIoIj09PXM/bCsrOiIpIj09PXMmJmwtLX1sZXQgYT0wPT09by5sZW5ndGg/ZTplLnNsaWNlKG4pLGk9YSxkPSExO3JldHVybiBhLmVuZHNXaXRoKCIhIik/KGk9YS5zbGljZSgwLC0xKSxkPSEwKTphLnN0YXJ0c1dpdGgoIiEiKSYmKGk9YS5zbGljZSgxKSxkPSEwKSxiKG8sZCxpLHImJnI+bj9yLW46dm9pZCAwKX07aWYocil7bGV0IGU9cisiOiIsbz10O3Q9cj0+ci5zdGFydHNXaXRoKGUpP28oci5zbGljZShlLmxlbmd0aCkpOmIocCwhMSxyLHZvaWQgMCwhMCl9aWYobyl7bGV0IGU9dDt0PXI9Pm8oe2NsYXNzTmFtZTpyLHBhcnNlQ2xhc3NOYW1lOmV9KX1yZXR1cm4gdH0pKG0pLHNvcnRNb2RpZmllcnM6KHU9bmV3IE1hcCxtLm9yZGVyU2Vuc2l0aXZlTW9kaWZpZXJzLmZvckVhY2goKGUscik9Pnt1LnNldChlLDFlNityKX0pLGU9PntsZXQgcj1bXSxvPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtsZXQgbD1lW3RdLG49IlsiPT09bFswXSxzPXUuaGFzKGwpO258fHM/KG8ubGVuZ3RoPjAmJihvLnNvcnQoKSxyLnB1c2goLi4ubyksbz1bXSksci5wdXNoKGwpKTpvLnB1c2gobCl9cmV0dXJuIG8ubGVuZ3RoPjAmJihvLnNvcnQoKSxyLnB1c2goLi4ubykpLHJ9KSwuLi4oZT0+e2xldCByPShlPT57bGV0e3RoZW1lOnIsY2xhc3NHcm91cHM6b309ZTtyZXR1cm4gbChvLHIpfSkoZSkse2NvbmZsaWN0aW5nQ2xhc3NHcm91cHM6bixjb25mbGljdGluZ0NsYXNzR3JvdXBNb2RpZmllcnM6c309ZTtyZXR1cm57Z2V0Q2xhc3NHcm91cElkOmU9PntpZihlLnN0YXJ0c1dpdGgoIlsiKSYmZS5lbmRzV2l0aCgiXSIpKXt2YXIgbztsZXQgcix0LGw7cmV0dXJuIC0xPT09KG89ZSkuc2xpY2UoMSwtMSkuaW5kZXhPZigiOiIpP3ZvaWQgMDoodD0ocj1vLnNsaWNlKDEsLTEpKS5pbmRleE9mKCI6IiksKGw9ci5zbGljZSgwLHQpKT8iYXJiaXRyYXJ5Li4iK2w6dm9pZCAwKX1sZXQgbD1lLnNwbGl0KCItIiksbj0rKCIiPT09bFswXSYmbC5sZW5ndGg+MSk7cmV0dXJuIHQobCxuLHIpfSxnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHM6KGUscik9PntpZihyKXtsZXQgcj1zW2VdLHQ9bltlXTtpZihyKXtpZih0KXtsZXQgZT1BcnJheSh0Lmxlbmd0aCtyLmxlbmd0aCk7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspZVtyXT10W3JdO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKWVbdC5sZW5ndGgrb109cltvXTtyZXR1cm4gZX1yZXR1cm4gcn1yZXR1cm4gdHx8b31yZXR1cm4gbltlXXx8b319fSkobSl9KS5jYWNoZS5nZXQsYT1uLmNhY2hlLnNldCxpPWQsZChjKX0sKC4uLmUpPT5pKCgoLi4uZSk9PntsZXQgcixvLHQ9MCxsPSIiO2Zvcig7dDxlLmxlbmd0aDspKHI9ZVt0KytdKSYmKG89ZihyKSkmJihsJiYobCs9IiAiKSxsKz1vKTtyZXR1cm4gbH0pKC4uLmUpKX0pKCgpPT57bGV0IGU9aCgiY29sb3IiKSxyPWgoImZvbnQiKSxvPWgoInRleHQiKSx0PWgoImZvbnQtd2VpZ2h0IiksbD1oKCJ0cmFja2luZyIpLG49aCgibGVhZGluZyIpLHM9aCgiYnJlYWtwb2ludCIpLGE9aCgiY29udGFpbmVyIiksaT1oKCJzcGFjaW5nIiksZD1oKCJyYWRpdXMiKSxjPWgoInNoYWRvdyIpLG09aCgiaW5zZXQtc2hhZG93IikscD1oKCJ0ZXh0LXNoYWRvdyIpLGI9aCgiZHJvcC1zaGFkb3ciKSx1PWgoImJsdXIiKSxmPWgoInBlcnNwZWN0aXZlIiksZz1oKCJhc3BlY3QiKSxrPWgoImVhc2UiKSx3PWgoImFuaW1hdGUiKSx4PSgpPT5bImF1dG8iLCJhdm9pZCIsImFsbCIsImF2b2lkLXBhZ2UiLCJwYWdlIiwibGVmdCIsInJpZ2h0IiwiY29sdW1uIl0seT0oKT0+WyJjZW50ZXIiLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ0b3AtbGVmdCIsImxlZnQtdG9wIiwidG9wLXJpZ2h0IiwicmlnaHQtdG9wIiwiYm90dG9tLXJpZ2h0IiwicmlnaHQtYm90dG9tIiwiYm90dG9tLWxlZnQiLCJsZWZ0LWJvdHRvbSJdLHY9KCk9PlsuLi55KCksSCxxXSx6PSgpPT5bImF1dG8iLCJoaWRkZW4iLCJjbGlwIiwidmlzaWJsZSIsInNjcm9sbCJdLGo9KCk9PlsiYXV0byIsImNvbnRhaW4iLCJub25lIl0sRz0oKT0+W0gscSxpXSwkPSgpPT5bQywiZnVsbCIsImF1dG8iLC4uLkcoKV0sTT0oKT0+W08sIm5vbmUiLCJzdWJncmlkIixILHFdLFc9KCk9PlsiYXV0byIse3NwYW46WyJmdWxsIixPLEgscV19LE8sSCxxXSxBPSgpPT5bTywiYXV0byIsSCxxXSxlZT0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgscV0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5HKCldLGVsPSgpPT5bQywiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkcoKV0sZW49KCk9PltDLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5HKCldLGVzPSgpPT5bQywic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5HKCldLGVhPSgpPT5bZSxILHFdLGVpPSgpPT5bLi4ueSgpLFEsXyx7cG9zaXRpb246W0gscV19XSxlZD0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVjPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFYsVSx7c2l6ZTpbSCxxXX1dLGVtPSgpPT5bSSxKLEJdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixkLEgscV0sZWI9KCk9PlsiIixOLEosQl0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bTixJLFEsX10sZWg9KCk9PlsiIiwibm9uZSIsdSxILHFdLGVrPSgpPT5bIm5vbmUiLE4sSCxxXSxldz0oKT0+WyJub25lIixOLEgscV0sZXg9KCk9PltOLEgscV0sZXk9KCk9PltDLCJmdWxsIiwuLi5HKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbU10sYnJlYWtwb2ludDpbU10sY29sb3I6W1RdLGNvbnRhaW5lcjpbU10sImRyb3Atc2hhZG93IjpbU10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbUF0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltTXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbU10sc2hhZG93OltTXSxzcGFjaW5nOlsicHgiLE5dLHRleHQ6W1NdLCJ0ZXh0LXNoYWRvdyI6W1NdLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixDLHEsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltOLHEsSCxhXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDokKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6JCgpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOiQoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOiQoKSxzdGFydDokKCl9XSxlbmQ6W3siaW5zZXQtZSI6JCgpLGVuZDokKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjokKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjokKCl9XSx0b3A6W3t0b3A6JCgpfV0scmlnaHQ6W3tyaWdodDokKCl9XSxib3R0b206W3tib3R0b206JCgpfV0sbGVmdDpbe2xlZnQ6JCgpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltPLCJhdXRvIixILHFdfV0sYmFzaXM6W3tiYXNpczpbQywiZnVsbCIsImF1dG8iLGEsLi4uRygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W04sQywiYXV0byIsImluaXRpYWwiLCJub25lIixxXX1dLGdyb3c6W3tncm93OlsiIixOLEgscV19XSxzaHJpbms6W3tzaHJpbms6WyIiLE4sSCxxXX1dLG9yZGVyOlt7b3JkZXI6W08sImZpcnN0IiwibGFzdCIsIm5vbmUiLEgscV19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOk0oKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpXKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOkEoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpBKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOk0oKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpXKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOkEoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpBKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6ZWUoKX1dLCJhdXRvLXJvd3MiOlt7ImF1dG8tcm93cyI6ZWUoKX1dLGdhcDpbe2dhcDpHKCl9XSwiZ2FwLXgiOlt7ImdhcC14IjpHKCl9XSwiZ2FwLXkiOlt7ImdhcC15IjpHKCl9XSwianVzdGlmeS1jb250ZW50Ijpbe2p1c3RpZnk6Wy4uLmVyKCksIm5vcm1hbCJdfV0sImp1c3RpZnktaXRlbXMiOlt7Imp1c3RpZnktaXRlbXMiOlsuLi5lbygpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LXNlbGYiOlt7Imp1c3RpZnktc2VsZiI6WyJhdXRvIiwuLi5lbygpXX1dLCJhbGlnbi1jb250ZW50Ijpbe2NvbnRlbnQ6WyJub3JtYWwiLC4uLmVyKCldfV0sImFsaWduLWl0ZW1zIjpbe2l0ZW1zOlsuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sImFsaWduLXNlbGYiOlt7c2VsZjpbImF1dG8iLC4uLmVvKCkse2Jhc2VsaW5lOlsiIiwibGFzdCJdfV19XSwicGxhY2UtY29udGVudCI6W3sicGxhY2UtY29udGVudCI6ZXIoKX1dLCJwbGFjZS1pdGVtcyI6W3sicGxhY2UtaXRlbXMiOlsuLi5lbygpLCJiYXNlbGluZSJdfV0sInBsYWNlLXNlbGYiOlt7InBsYWNlLXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSxwOlt7cDpHKCl9XSxweDpbe3B4OkcoKX1dLHB5Olt7cHk6RygpfV0scHM6W3twczpHKCl9XSxwZTpbe3BlOkcoKX1dLHBiczpbe3BiczpHKCl9XSxwYmU6W3twYmU6RygpfV0scHQ6W3twdDpHKCl9XSxwcjpbe3ByOkcoKX1dLHBiOlt7cGI6RygpfV0scGw6W3twbDpHKCl9XSxtOlt7bTpldCgpfV0sbXg6W3tteDpldCgpfV0sbXk6W3tteTpldCgpfV0sbXM6W3ttczpldCgpfV0sbWU6W3ttZTpldCgpfV0sbWJzOlt7bWJzOmV0KCl9XSxtYmU6W3ttYmU6ZXQoKX1dLG10Olt7bXQ6ZXQoKX1dLG1yOlt7bXI6ZXQoKX1dLG1iOlt7bWI6ZXQoKX1dLG1sOlt7bWw6ZXQoKX1dLCJzcGFjZS14IjpbeyJzcGFjZS14IjpHKCl9XSwic3BhY2UteC1yZXZlcnNlIjpbInNwYWNlLXgtcmV2ZXJzZSJdLCJzcGFjZS15IjpbeyJzcGFjZS15IjpHKCl9XSwic3BhY2UteS1yZXZlcnNlIjpbInNwYWNlLXktcmV2ZXJzZSJdLHNpemU6W3tzaXplOmVsKCl9XSwiaW5saW5lLXNpemUiOlt7aW5saW5lOlsiYXV0byIsLi4uZW4oKV19XSwibWluLWlubGluZS1zaXplIjpbeyJtaW4taW5saW5lIjpbImF1dG8iLC4uLmVuKCldfV0sIm1heC1pbmxpbmUtc2l6ZSI6W3sibWF4LWlubGluZSI6WyJub25lIiwuLi5lbigpXX1dLCJibG9jay1zaXplIjpbe2Jsb2NrOlsiYXV0byIsLi4uZXMoKV19XSwibWluLWJsb2NrLXNpemUiOlt7Im1pbi1ibG9jayI6WyJhdXRvIiwuLi5lcygpXX1dLCJtYXgtYmxvY2stc2l6ZSI6W3sibWF4LWJsb2NrIjpbIm5vbmUiLC4uLmVzKCldfV0sdzpbe3c6W2EsInNjcmVlbiIsLi4uZWwoKV19XSwibWluLXciOlt7Im1pbi13IjpbYSwic2NyZWVuIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LXciOlt7Im1heC13IjpbYSwic2NyZWVuIiwibm9uZSIsInByb3NlIix7c2NyZWVuOltzXX0sLi4uZWwoKV19XSxoOlt7aDpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJtaW4taCI6W3sibWluLWgiOlsic2NyZWVuIiwibGgiLCJub25lIiwuLi5lbCgpXX1dLCJtYXgtaCI6W3sibWF4LWgiOlsic2NyZWVuIiwibGgiLC4uLmVsKCldfV0sImZvbnQtc2l6ZSI6W3t0ZXh0OlsiYmFzZSIsbyxKLEJdfV0sImZvbnQtc21vb3RoaW5nIjpbImFudGlhbGlhc2VkIiwic3VicGl4ZWwtYW50aWFsaWFzZWQiXSwiZm9udC1zdHlsZSI6WyJpdGFsaWMiLCJub3QtaXRhbGljIl0sImZvbnQtd2VpZ2h0Ijpbe2ZvbnQ6W3QsWixLXX1dLCJmb250LXN0cmV0Y2giOlt7ImZvbnQtc3RyZXRjaCI6WyJ1bHRyYS1jb25kZW5zZWQiLCJleHRyYS1jb25kZW5zZWQiLCJjb25kZW5zZWQiLCJzZW1pLWNvbmRlbnNlZCIsIm5vcm1hbCIsInNlbWktZXhwYW5kZWQiLCJleHBhbmRlZCIsImV4dHJhLWV4cGFuZGVkIiwidWx0cmEtZXhwYW5kZWQiLEkscV19XSwiZm9udC1mYW1pbHkiOlt7Zm9udDpbTCxSLHJdfV0sImZvbnQtZmVhdHVyZXMiOlt7ImZvbnQtZmVhdHVyZXMiOltxXX1dLCJmdm4tbm9ybWFsIjpbIm5vcm1hbC1udW1zIl0sImZ2bi1vcmRpbmFsIjpbIm9yZGluYWwiXSwiZnZuLXNsYXNoZWQtemVybyI6WyJzbGFzaGVkLXplcm8iXSwiZnZuLWZpZ3VyZSI6WyJsaW5pbmctbnVtcyIsIm9sZHN0eWxlLW51bXMiXSwiZnZuLXNwYWNpbmciOlsicHJvcG9ydGlvbmFsLW51bXMiLCJ0YWJ1bGFyLW51bXMiXSwiZnZuLWZyYWN0aW9uIjpbImRpYWdvbmFsLWZyYWN0aW9ucyIsInN0YWNrZWQtZnJhY3Rpb25zIl0sdHJhY2tpbmc6W3t0cmFja2luZzpbbCxILHFdfV0sImxpbmUtY2xhbXAiOlt7ImxpbmUtY2xhbXAiOltOLCJub25lIixILERdfV0sbGVhZGluZzpbe2xlYWRpbmc6W24sLi4uRygpXX1dLCJsaXN0LWltYWdlIjpbeyJsaXN0LWltYWdlIjpbIm5vbmUiLEgscV19XSwibGlzdC1zdHlsZS1wb3NpdGlvbiI6W3tsaXN0OlsiaW5zaWRlIiwib3V0c2lkZSJdfV0sImxpc3Qtc3R5bGUtdHlwZSI6W3tsaXN0OlsiZGlzYyIsImRlY2ltYWwiLCJub25lIixILHFdfV0sInRleHQtYWxpZ25tZW50Ijpbe3RleHQ6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiLCJqdXN0aWZ5Iiwic3RhcnQiLCJlbmQiXX1dLCJwbGFjZWhvbGRlci1jb2xvciI6W3twbGFjZWhvbGRlcjplYSgpfV0sInRleHQtY29sb3IiOlt7dGV4dDplYSgpfV0sInRleHQtZGVjb3JhdGlvbiI6WyJ1bmRlcmxpbmUiLCJvdmVybGluZSIsImxpbmUtdGhyb3VnaCIsIm5vLXVuZGVybGluZSJdLCJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOlt7ZGVjb3JhdGlvbjpbLi4uZXUoKSwid2F2eSJdfV0sInRleHQtZGVjb3JhdGlvbi10aGlja25lc3MiOlt7ZGVjb3JhdGlvbjpbTiwiZnJvbS1mb250IiwiYXV0byIsSCxCXX1dLCJ0ZXh0LWRlY29yYXRpb24tY29sb3IiOlt7ZGVjb3JhdGlvbjplYSgpfV0sInVuZGVybGluZS1vZmZzZXQiOlt7InVuZGVybGluZS1vZmZzZXQiOltOLCJhdXRvIixILHFdfV0sInRleHQtdHJhbnNmb3JtIjpbInVwcGVyY2FzZSIsImxvd2VyY2FzZSIsImNhcGl0YWxpemUiLCJub3JtYWwtY2FzZSJdLCJ0ZXh0LW92ZXJmbG93IjpbInRydW5jYXRlIiwidGV4dC1lbGxpcHNpcyIsInRleHQtY2xpcCJdLCJ0ZXh0LXdyYXAiOlt7dGV4dDpbIndyYXAiLCJub3dyYXAiLCJiYWxhbmNlIiwicHJldHR5Il19XSxpbmRlbnQ6W3tpbmRlbnQ6RygpfV0sInZlcnRpY2FsLWFsaWduIjpbe2FsaWduOlsiYmFzZWxpbmUiLCJ0b3AiLCJtaWRkbGUiLCJib3R0b20iLCJ0ZXh0LXRvcCIsInRleHQtYm90dG9tIiwic3ViIiwic3VwZXIiLEgscV19XSx3aGl0ZXNwYWNlOlt7d2hpdGVzcGFjZTpbIm5vcm1hbCIsIm5vd3JhcCIsInByZSIsInByZS1saW5lIiwicHJlLXdyYXAiLCJicmVhay1zcGFjZXMiXX1dLGJyZWFrOlt7YnJlYWs6WyJub3JtYWwiLCJ3b3JkcyIsImFsbCIsImtlZXAiXX1dLHdyYXA6W3t3cmFwOlsiYnJlYWstd29yZCIsImFueXdoZXJlIiwibm9ybWFsIl19XSxoeXBoZW5zOlt7aHlwaGVuczpbIm5vbmUiLCJtYW51YWwiLCJhdXRvIl19XSxjb250ZW50Olt7Y29udGVudDpbIm5vbmUiLEgscV19XSwiYmctYXR0YWNobWVudCI6W3tiZzpbImZpeGVkIiwibG9jYWwiLCJzY3JvbGwiXX1dLCJiZy1jbGlwIjpbeyJiZy1jbGlwIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwidGV4dCJdfV0sImJnLW9yaWdpbiI6W3siYmctb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50Il19XSwiYmctcG9zaXRpb24iOlt7Ymc6ZWkoKX1dLCJiZy1yZXBlYXQiOlt7Ymc6ZWQoKX1dLCJiZy1zaXplIjpbe2JnOmVjKCl9XSwiYmctaW1hZ2UiOlt7Ymc6WyJub25lIix7bGluZWFyOlt7dG86WyJ0IiwidHIiLCJyIiwiYnIiLCJiIiwiYmwiLCJsIiwidGwiXX0sTyxILHFdLHJhZGlhbDpbIiIsSCxxXSxjb25pYzpbTyxILHFdfSxYLEVdfV0sImJnLWNvbG9yIjpbe2JnOmVhKCl9XSwiZ3JhZGllbnQtZnJvbS1wb3MiOlt7ZnJvbTplbSgpfV0sImdyYWRpZW50LXZpYS1wb3MiOlt7dmlhOmVtKCl9XSwiZ3JhZGllbnQtdG8tcG9zIjpbe3RvOmVtKCl9XSwiZ3JhZGllbnQtZnJvbSI6W3tmcm9tOmVhKCl9XSwiZ3JhZGllbnQtdmlhIjpbe3ZpYTplYSgpfV0sImdyYWRpZW50LXRvIjpbe3RvOmVhKCl9XSxyb3VuZGVkOlt7cm91bmRlZDplcCgpfV0sInJvdW5kZWQtcyI6W3sicm91bmRlZC1zIjplcCgpfV0sInJvdW5kZWQtZSI6W3sicm91bmRlZC1lIjplcCgpfV0sInJvdW5kZWQtdCI6W3sicm91bmRlZC10IjplcCgpfV0sInJvdW5kZWQtciI6W3sicm91bmRlZC1yIjplcCgpfV0sInJvdW5kZWQtYiI6W3sicm91bmRlZC1iIjplcCgpfV0sInJvdW5kZWQtbCI6W3sicm91bmRlZC1sIjplcCgpfV0sInJvdW5kZWQtc3MiOlt7InJvdW5kZWQtc3MiOmVwKCl9XSwicm91bmRlZC1zZSI6W3sicm91bmRlZC1zZSI6ZXAoKX1dLCJyb3VuZGVkLWVlIjpbeyJyb3VuZGVkLWVlIjplcCgpfV0sInJvdW5kZWQtZXMiOlt7InJvdW5kZWQtZXMiOmVwKCl9XSwicm91bmRlZC10bCI6W3sicm91bmRlZC10bCI6ZXAoKX1dLCJyb3VuZGVkLXRyIjpbeyJyb3VuZGVkLXRyIjplcCgpfV0sInJvdW5kZWQtYnIiOlt7InJvdW5kZWQtYnIiOmVwKCl9XSwicm91bmRlZC1ibCI6W3sicm91bmRlZC1ibCI6ZXAoKX1dLCJib3JkZXItdyI6W3tib3JkZXI6ZWIoKX1dLCJib3JkZXItdy14IjpbeyJib3JkZXIteCI6ZWIoKX1dLCJib3JkZXItdy15IjpbeyJib3JkZXIteSI6ZWIoKX1dLCJib3JkZXItdy1zIjpbeyJib3JkZXItcyI6ZWIoKX1dLCJib3JkZXItdy1lIjpbeyJib3JkZXItZSI6ZWIoKX1dLCJib3JkZXItdy1icyI6W3siYm9yZGVyLWJzIjplYigpfV0sImJvcmRlci13LWJlIjpbeyJib3JkZXItYmUiOmViKCl9XSwiYm9yZGVyLXctdCI6W3siYm9yZGVyLXQiOmViKCl9XSwiYm9yZGVyLXctciI6W3siYm9yZGVyLXIiOmViKCl9XSwiYm9yZGVyLXctYiI6W3siYm9yZGVyLWIiOmViKCl9XSwiYm9yZGVyLXctbCI6W3siYm9yZGVyLWwiOmViKCl9XSwiZGl2aWRlLXgiOlt7ImRpdmlkZS14IjplYigpfV0sImRpdmlkZS14LXJldmVyc2UiOlsiZGl2aWRlLXgtcmV2ZXJzZSJdLCJkaXZpZGUteSI6W3siZGl2aWRlLXkiOmViKCl9XSwiZGl2aWRlLXktcmV2ZXJzZSI6WyJkaXZpZGUteS1yZXZlcnNlIl0sImJvcmRlci1zdHlsZSI6W3tib3JkZXI6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJkaXZpZGUtc3R5bGUiOlt7ZGl2aWRlOlsuLi5ldSgpLCJoaWRkZW4iLCJub25lIl19XSwiYm9yZGVyLWNvbG9yIjpbe2JvcmRlcjplYSgpfV0sImJvcmRlci1jb2xvci14IjpbeyJib3JkZXIteCI6ZWEoKX1dLCJib3JkZXItY29sb3IteSI6W3siYm9yZGVyLXkiOmVhKCl9XSwiYm9yZGVyLWNvbG9yLXMiOlt7ImJvcmRlci1zIjplYSgpfV0sImJvcmRlci1jb2xvci1lIjpbeyJib3JkZXItZSI6ZWEoKX1dLCJib3JkZXItY29sb3ItYnMiOlt7ImJvcmRlci1icyI6ZWEoKX1dLCJib3JkZXItY29sb3ItYmUiOlt7ImJvcmRlci1iZSI6ZWEoKX1dLCJib3JkZXItY29sb3ItdCI6W3siYm9yZGVyLXQiOmVhKCl9XSwiYm9yZGVyLWNvbG9yLXIiOlt7ImJvcmRlci1yIjplYSgpfV0sImJvcmRlci1jb2xvci1iIjpbeyJib3JkZXItYiI6ZWEoKX1dLCJib3JkZXItY29sb3ItbCI6W3siYm9yZGVyLWwiOmVhKCl9XSwiZGl2aWRlLWNvbG9yIjpbe2RpdmlkZTplYSgpfV0sIm91dGxpbmUtc3R5bGUiOlt7b3V0bGluZTpbLi4uZXUoKSwibm9uZSIsImhpZGRlbiJdfV0sIm91dGxpbmUtb2Zmc2V0IjpbeyJvdXRsaW5lLW9mZnNldCI6W04sSCxxXX1dLCJvdXRsaW5lLXciOlt7b3V0bGluZTpbIiIsTixKLEJdfV0sIm91dGxpbmUtY29sb3IiOlt7b3V0bGluZTplYSgpfV0sc2hhZG93Olt7c2hhZG93OlsiIiwibm9uZSIsYyxZLEZdfV0sInNoYWRvdy1jb2xvciI6W3tzaGFkb3c6ZWEoKX1dLCJpbnNldC1zaGFkb3ciOlt7Imluc2V0LXNoYWRvdyI6WyJub25lIixtLFksRl19XSwiaW5zZXQtc2hhZG93LWNvbG9yIjpbeyJpbnNldC1zaGFkb3ciOmVhKCl9XSwicmluZy13Ijpbe3Jpbmc6ZWIoKX1dLCJyaW5nLXctaW5zZXQiOlsicmluZy1pbnNldCJdLCJyaW5nLWNvbG9yIjpbe3Jpbmc6ZWEoKX1dLCJyaW5nLW9mZnNldC13IjpbeyJyaW5nLW9mZnNldCI6W04sQl19XSwicmluZy1vZmZzZXQtY29sb3IiOlt7InJpbmctb2Zmc2V0IjplYSgpfV0sImluc2V0LXJpbmctdyI6W3siaW5zZXQtcmluZyI6ZWIoKX1dLCJpbnNldC1yaW5nLWNvbG9yIjpbeyJpbnNldC1yaW5nIjplYSgpfV0sInRleHQtc2hhZG93IjpbeyJ0ZXh0LXNoYWRvdyI6WyJub25lIixwLFksRl19XSwidGV4dC1zaGFkb3ctY29sb3IiOlt7InRleHQtc2hhZG93IjplYSgpfV0sb3BhY2l0eTpbe29wYWNpdHk6W04sSCxxXX1dLCJtaXgtYmxlbmQiOlt7Im1peC1ibGVuZCI6Wy4uLmVmKCksInBsdXMtZGFya2VyIiwicGx1cy1saWdodGVyIl19XSwiYmctYmxlbmQiOlt7ImJnLWJsZW5kIjplZigpfV0sIm1hc2stY2xpcCI6W3sibWFzay1jbGlwIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX0sIm1hc2stbm8tY2xpcCJdLCJtYXNrLWNvbXBvc2l0ZSI6W3ttYXNrOlsiYWRkIiwic3VidHJhY3QiLCJpbnRlcnNlY3QiLCJleGNsdWRlIl19XSwibWFzay1pbWFnZS1saW5lYXItcG9zIjpbeyJtYXNrLWxpbmVhciI6W05dfV0sIm1hc2staW1hZ2UtbGluZWFyLWZyb20tcG9zIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLXBvcyI6W3sibWFzay1saW5lYXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1jb2xvciI6W3sibWFzay1saW5lYXItZnJvbSI6ZWEoKX1dLCJtYXNrLWltYWdlLWxpbmVhci10by1jb2xvciI6W3sibWFzay1saW5lYXItdG8iOmVhKCl9XSwibWFzay1pbWFnZS10LWZyb20tcG9zIjpbeyJtYXNrLXQtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtdG8tcG9zIjpbeyJtYXNrLXQtdG8iOmVnKCl9XSwibWFzay1pbWFnZS10LWZyb20tY29sb3IiOlt7Im1hc2stdC1mcm9tIjplYSgpfV0sIm1hc2staW1hZ2UtdC10by1jb2xvciI6W3sibWFzay10LXRvIjplYSgpfV0sIm1hc2staW1hZ2Utci1mcm9tLXBvcyI6W3sibWFzay1yLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1yLXRvLXBvcyI6W3sibWFzay1yLXRvIjplZygpfV0sIm1hc2staW1hZ2Utci1mcm9tLWNvbG9yIjpbeyJtYXNrLXItZnJvbSI6ZWEoKX1dLCJtYXNrLWltYWdlLXItdG8tY29sb3IiOlt7Im1hc2stci10byI6ZWEoKX1dLCJtYXNrLWltYWdlLWItZnJvbS1wb3MiOlt7Im1hc2stYi1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtYi10by1wb3MiOlt7Im1hc2stYi10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWItZnJvbS1jb2xvciI6W3sibWFzay1iLWZyb20iOmVhKCl9XSwibWFzay1pbWFnZS1iLXRvLWNvbG9yIjpbeyJtYXNrLWItdG8iOmVhKCl9XSwibWFzay1pbWFnZS1sLWZyb20tcG9zIjpbeyJtYXNrLWwtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtdG8tcG9zIjpbeyJtYXNrLWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1sLWZyb20tY29sb3IiOlt7Im1hc2stbC1mcm9tIjplYSgpfV0sIm1hc2staW1hZ2UtbC10by1jb2xvciI6W3sibWFzay1sLXRvIjplYSgpfV0sIm1hc2staW1hZ2UteC1mcm9tLXBvcyI6W3sibWFzay14LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS14LXRvLXBvcyI6W3sibWFzay14LXRvIjplZygpfV0sIm1hc2staW1hZ2UteC1mcm9tLWNvbG9yIjpbeyJtYXNrLXgtZnJvbSI6ZWEoKX1dLCJtYXNrLWltYWdlLXgtdG8tY29sb3IiOlt7Im1hc2steC10byI6ZWEoKX1dLCJtYXNrLWltYWdlLXktZnJvbS1wb3MiOlt7Im1hc2steS1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UteS10by1wb3MiOlt7Im1hc2steS10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXktZnJvbS1jb2xvciI6W3sibWFzay15LWZyb20iOmVhKCl9XSwibWFzay1pbWFnZS15LXRvLWNvbG9yIjpbeyJtYXNrLXktdG8iOmVhKCl9XSwibWFzay1pbWFnZS1yYWRpYWwiOlt7Im1hc2stcmFkaWFsIjpbSCxxXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1mcm9tLXBvcyI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1wb3MiOlt7Im1hc2stcmFkaWFsLXRvIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tY29sb3IiOlt7Im1hc2stcmFkaWFsLWZyb20iOmVhKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtdG8tY29sb3IiOlt7Im1hc2stcmFkaWFsLXRvIjplYSgpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXNoYXBlIjpbeyJtYXNrLXJhZGlhbCI6WyJjaXJjbGUiLCJlbGxpcHNlIl19XSwibWFzay1pbWFnZS1yYWRpYWwtc2l6ZSI6W3sibWFzay1yYWRpYWwiOlt7Y2xvc2VzdDpbInNpZGUiLCJjb3JuZXIiXSxmYXJ0aGVzdDpbInNpZGUiLCJjb3JuZXIiXX1dfV0sIm1hc2staW1hZ2UtcmFkaWFsLXBvcyI6W3sibWFzay1yYWRpYWwtYXQiOnkoKX1dLCJtYXNrLWltYWdlLWNvbmljLXBvcyI6W3sibWFzay1jb25pYyI6W05dfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1wb3MiOlt7Im1hc2stY29uaWMtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLWNvbmljLXRvLXBvcyI6W3sibWFzay1jb25pYy10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWNvbmljLWZyb20tY29sb3IiOlt7Im1hc2stY29uaWMtZnJvbSI6ZWEoKX1dLCJtYXNrLWltYWdlLWNvbmljLXRvLWNvbG9yIjpbeyJtYXNrLWNvbmljLXRvIjplYSgpfV0sIm1hc2stbW9kZSI6W3ttYXNrOlsiYWxwaGEiLCJsdW1pbmFuY2UiLCJtYXRjaCJdfV0sIm1hc2stb3JpZ2luIjpbeyJtYXNrLW9yaWdpbiI6WyJib3JkZXIiLCJwYWRkaW5nIiwiY29udGVudCIsImZpbGwiLCJzdHJva2UiLCJ2aWV3Il19XSwibWFzay1wb3NpdGlvbiI6W3ttYXNrOmVpKCl9XSwibWFzay1yZXBlYXQiOlt7bWFzazplZCgpfV0sIm1hc2stc2l6ZSI6W3ttYXNrOmVjKCl9XSwibWFzay10eXBlIjpbeyJtYXNrLXR5cGUiOlsiYWxwaGEiLCJsdW1pbmFuY2UiXX1dLCJtYXNrLWltYWdlIjpbe21hc2s6WyJub25lIixILHFdfV0sZmlsdGVyOlt7ZmlsdGVyOlsiIiwibm9uZSIsSCxxXX1dLGJsdXI6W3tibHVyOmVoKCl9XSxicmlnaHRuZXNzOlt7YnJpZ2h0bmVzczpbTixILHFdfV0sY29udHJhc3Q6W3tjb250cmFzdDpbTixILHFdfV0sImRyb3Atc2hhZG93IjpbeyJkcm9wLXNoYWRvdyI6WyIiLCJub25lIixiLFksRl19XSwiZHJvcC1zaGFkb3ctY29sb3IiOlt7ImRyb3Atc2hhZG93IjplYSgpfV0sZ3JheXNjYWxlOlt7Z3JheXNjYWxlOlsiIixOLEgscV19XSwiaHVlLXJvdGF0ZSI6W3siaHVlLXJvdGF0ZSI6W04sSCxxXX1dLGludmVydDpbe2ludmVydDpbIiIsTixILHFdfV0sc2F0dXJhdGU6W3tzYXR1cmF0ZTpbTixILHFdfV0sc2VwaWE6W3tzZXBpYTpbIiIsTixILHFdfV0sImJhY2tkcm9wLWZpbHRlciI6W3siYmFja2Ryb3AtZmlsdGVyIjpbIiIsIm5vbmUiLEgscV19XSwiYmFja2Ryb3AtYmx1ciI6W3siYmFja2Ryb3AtYmx1ciI6ZWgoKX1dLCJiYWNrZHJvcC1icmlnaHRuZXNzIjpbeyJiYWNrZHJvcC1icmlnaHRuZXNzIjpbTixILHFdfV0sImJhY2tkcm9wLWNvbnRyYXN0IjpbeyJiYWNrZHJvcC1jb250cmFzdCI6W04sSCxxXX1dLCJiYWNrZHJvcC1ncmF5c2NhbGUiOlt7ImJhY2tkcm9wLWdyYXlzY2FsZSI6WyIiLE4sSCxxXX1dLCJiYWNrZHJvcC1odWUtcm90YXRlIjpbeyJiYWNrZHJvcC1odWUtcm90YXRlIjpbTixILHFdfV0sImJhY2tkcm9wLWludmVydCI6W3siYmFja2Ryb3AtaW52ZXJ0IjpbIiIsTixILHFdfV0sImJhY2tkcm9wLW9wYWNpdHkiOlt7ImJhY2tkcm9wLW9wYWNpdHkiOltOLEgscV19XSwiYmFja2Ryb3Atc2F0dXJhdGUiOlt7ImJhY2tkcm9wLXNhdHVyYXRlIjpbTixILHFdfV0sImJhY2tkcm9wLXNlcGlhIjpbeyJiYWNrZHJvcC1zZXBpYSI6WyIiLE4sSCxxXX1dLCJib3JkZXItY29sbGFwc2UiOlt7Ym9yZGVyOlsiY29sbGFwc2UiLCJzZXBhcmF0ZSJdfV0sImJvcmRlci1zcGFjaW5nIjpbeyJib3JkZXItc3BhY2luZyI6RygpfV0sImJvcmRlci1zcGFjaW5nLXgiOlt7ImJvcmRlci1zcGFjaW5nLXgiOkcoKX1dLCJib3JkZXItc3BhY2luZy15IjpbeyJib3JkZXItc3BhY2luZy15IjpHKCl9XSwidGFibGUtbGF5b3V0Ijpbe3RhYmxlOlsiYXV0byIsImZpeGVkIl19XSxjYXB0aW9uOlt7Y2FwdGlvbjpbInRvcCIsImJvdHRvbSJdfV0sdHJhbnNpdGlvbjpbe3RyYW5zaXRpb246WyIiLCJhbGwiLCJjb2xvcnMiLCJvcGFjaXR5Iiwic2hhZG93IiwidHJhbnNmb3JtIiwibm9uZSIsSCxxXX1dLCJ0cmFuc2l0aW9uLWJlaGF2aW9yIjpbe3RyYW5zaXRpb246WyJub3JtYWwiLCJkaXNjcmV0ZSJdfV0sZHVyYXRpb246W3tkdXJhdGlvbjpbTiwiaW5pdGlhbCIsSCxxXX1dLGVhc2U6W3tlYXNlOlsibGluZWFyIiwiaW5pdGlhbCIsayxILHFdfV0sZGVsYXk6W3tkZWxheTpbTixILHFdfV0sYW5pbWF0ZTpbe2FuaW1hdGU6WyJub25lIix3LEgscV19XSxiYWNrZmFjZTpbe2JhY2tmYWNlOlsiaGlkZGVuIiwidmlzaWJsZSJdfV0scGVyc3BlY3RpdmU6W3twZXJzcGVjdGl2ZTpbZixILHFdfV0sInBlcnNwZWN0aXZlLW9yaWdpbiI6W3sicGVyc3BlY3RpdmUtb3JpZ2luIjp2KCl9XSxyb3RhdGU6W3tyb3RhdGU6ZWsoKX1dLCJyb3RhdGUteCI6W3sicm90YXRlLXgiOmVrKCl9XSwicm90YXRlLXkiOlt7InJvdGF0ZS15IjplaygpfV0sInJvdGF0ZS16IjpbeyJyb3RhdGUteiI6ZWsoKX1dLHNjYWxlOlt7c2NhbGU6ZXcoKX1dLCJzY2FsZS14IjpbeyJzY2FsZS14IjpldygpfV0sInNjYWxlLXkiOlt7InNjYWxlLXkiOmV3KCl9XSwic2NhbGUteiI6W3sic2NhbGUteiI6ZXcoKX1dLCJzY2FsZS0zZCI6WyJzY2FsZS0zZCJdLHNrZXc6W3tza2V3OmV4KCl9XSwic2tldy14IjpbeyJza2V3LXgiOmV4KCl9XSwic2tldy15IjpbeyJza2V3LXkiOmV4KCl9XSx0cmFuc2Zvcm06W3t0cmFuc2Zvcm06W0gscSwiIiwibm9uZSIsImdwdSIsImNwdSJdfV0sInRyYW5zZm9ybS1vcmlnaW4iOlt7b3JpZ2luOnYoKX1dLCJ0cmFuc2Zvcm0tc3R5bGUiOlt7dHJhbnNmb3JtOlsiM2QiLCJmbGF0Il19XSx0cmFuc2xhdGU6W3t0cmFuc2xhdGU6ZXkoKX1dLCJ0cmFuc2xhdGUteCI6W3sidHJhbnNsYXRlLXgiOmV5KCl9XSwidHJhbnNsYXRlLXkiOlt7InRyYW5zbGF0ZS15IjpleSgpfV0sInRyYW5zbGF0ZS16IjpbeyJ0cmFuc2xhdGUteiI6ZXkoKX1dLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUtbm9uZSJdLGFjY2VudDpbe2FjY2VudDplYSgpfV0sYXBwZWFyYW5jZTpbe2FwcGVhcmFuY2U6WyJub25lIiwiYXV0byJdfV0sImNhcmV0LWNvbG9yIjpbe2NhcmV0OmVhKCl9XSwiY29sb3Itc2NoZW1lIjpbe3NjaGVtZTpbIm5vcm1hbCIsImRhcmsiLCJsaWdodCIsImxpZ2h0LWRhcmsiLCJvbmx5LWRhcmsiLCJvbmx5LWxpZ2h0Il19XSxjdXJzb3I6W3tjdXJzb3I6WyJhdXRvIiwiZGVmYXVsdCIsInBvaW50ZXIiLCJ3YWl0IiwidGV4dCIsIm1vdmUiLCJoZWxwIiwibm90LWFsbG93ZWQiLCJub25lIiwiY29udGV4dC1tZW51IiwicHJvZ3Jlc3MiLCJjZWxsIiwiY3Jvc3NoYWlyIiwidmVydGljYWwtdGV4dCIsImFsaWFzIiwiY29weSIsIm5vLWRyb3AiLCJncmFiIiwiZ3JhYmJpbmciLCJhbGwtc2Nyb2xsIiwiY29sLXJlc2l6ZSIsInJvdy1yZXNpemUiLCJuLXJlc2l6ZSIsImUtcmVzaXplIiwicy1yZXNpemUiLCJ3LXJlc2l6ZSIsIm5lLXJlc2l6ZSIsIm53LXJlc2l6ZSIsInNlLXJlc2l6ZSIsInN3LXJlc2l6ZSIsImV3LXJlc2l6ZSIsIm5zLXJlc2l6ZSIsIm5lc3ctcmVzaXplIiwibndzZS1yZXNpemUiLCJ6b29tLWluIiwiem9vbS1vdXQiLEgscV19XSwiZmllbGQtc2l6aW5nIjpbeyJmaWVsZC1zaXppbmciOlsiZml4ZWQiLCJjb250ZW50Il19XSwicG9pbnRlci1ldmVudHMiOlt7InBvaW50ZXItZXZlbnRzIjpbImF1dG8iLCJub25lIl19XSxyZXNpemU6W3tyZXNpemU6WyJub25lIiwiIiwieSIsIngiXX1dLCJzY3JvbGwtYmVoYXZpb3IiOlt7c2Nyb2xsOlsiYXV0byIsInNtb290aCJdfV0sInNjcm9sbC1tIjpbeyJzY3JvbGwtbSI6RygpfV0sInNjcm9sbC1teCI6W3sic2Nyb2xsLW14IjpHKCl9XSwic2Nyb2xsLW15IjpbeyJzY3JvbGwtbXkiOkcoKX1dLCJzY3JvbGwtbXMiOlt7InNjcm9sbC1tcyI6RygpfV0sInNjcm9sbC1tZSI6W3sic2Nyb2xsLW1lIjpHKCl9XSwic2Nyb2xsLW1icyI6W3sic2Nyb2xsLW1icyI6RygpfV0sInNjcm9sbC1tYmUiOlt7InNjcm9sbC1tYmUiOkcoKX1dLCJzY3JvbGwtbXQiOlt7InNjcm9sbC1tdCI6RygpfV0sInNjcm9sbC1tciI6W3sic2Nyb2xsLW1yIjpHKCl9XSwic2Nyb2xsLW1iIjpbeyJzY3JvbGwtbWIiOkcoKX1dLCJzY3JvbGwtbWwiOlt7InNjcm9sbC1tbCI6RygpfV0sInNjcm9sbC1wIjpbeyJzY3JvbGwtcCI6RygpfV0sInNjcm9sbC1weCI6W3sic2Nyb2xsLXB4IjpHKCl9XSwic2Nyb2xsLXB5IjpbeyJzY3JvbGwtcHkiOkcoKX1dLCJzY3JvbGwtcHMiOlt7InNjcm9sbC1wcyI6RygpfV0sInNjcm9sbC1wZSI6W3sic2Nyb2xsLXBlIjpHKCl9XSwic2Nyb2xsLXBicyI6W3sic2Nyb2xsLXBicyI6RygpfV0sInNjcm9sbC1wYmUiOlt7InNjcm9sbC1wYmUiOkcoKX1dLCJzY3JvbGwtcHQiOlt7InNjcm9sbC1wdCI6RygpfV0sInNjcm9sbC1wciI6W3sic2Nyb2xsLXByIjpHKCl9XSwic2Nyb2xsLXBiIjpbeyJzY3JvbGwtcGIiOkcoKX1dLCJzY3JvbGwtcGwiOlt7InNjcm9sbC1wbCI6RygpfV0sInNuYXAtYWxpZ24iOlt7c25hcDpbInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwiYWxpZ24tbm9uZSJdfV0sInNuYXAtc3RvcCI6W3tzbmFwOlsibm9ybWFsIiwiYWx3YXlzIl19XSwic25hcC10eXBlIjpbe3NuYXA6WyJub25lIiwieCIsInkiLCJib3RoIl19XSwic25hcC1zdHJpY3RuZXNzIjpbe3NuYXA6WyJtYW5kYXRvcnkiLCJwcm94aW1pdHkiXX1dLHRvdWNoOlt7dG91Y2g6WyJhdXRvIiwibm9uZSIsIm1hbmlwdWxhdGlvbiJdfV0sInRvdWNoLXgiOlt7InRvdWNoLXBhbiI6WyJ4IiwibGVmdCIsInJpZ2h0Il19XSwidG91Y2gteSI6W3sidG91Y2gtcGFuIjpbInkiLCJ1cCIsImRvd24iXX1dLCJ0b3VjaC1weiI6WyJ0b3VjaC1waW5jaC16b29tIl0sc2VsZWN0Olt7c2VsZWN0Olsibm9uZSIsInRleHQiLCJhbGwiLCJhdXRvIl19XSwid2lsbC1jaGFuZ2UiOlt7IndpbGwtY2hhbmdlIjpbImF1dG8iLCJzY3JvbGwiLCJjb250ZW50cyIsInRyYW5zZm9ybSIsSCxxXX1dLGZpbGw6W3tmaWxsOlsibm9uZSIsLi4uZWEoKV19XSwic3Ryb2tlLXciOlt7c3Ryb2tlOltOLEosQixEXX1dLHN0cm9rZTpbe3N0cm9rZTpbIm5vbmUiLC4uLmVhKCldfV0sImZvcmNlZC1jb2xvci1hZGp1c3QiOlt7ImZvcmNlZC1jb2xvci1hZGp1c3QiOlsiYXV0byIsIm5vbmUiXX1dfSxjb25mbGljdGluZ0NsYXNzR3JvdXBzOntvdmVyZmxvdzpbIm92ZXJmbG93LXgiLCJvdmVyZmxvdy15Il0sb3ZlcnNjcm9sbDpbIm92ZXJzY3JvbGwteCIsIm92ZXJzY3JvbGwteSJdLGluc2V0OlsiaW5zZXQteCIsImluc2V0LXkiLCJpbnNldC1icyIsImluc2V0LWJlIiwic3RhcnQiLCJlbmQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXSwiaW5zZXQteCI6WyJyaWdodCIsImxlZnQiXSwiaW5zZXQteSI6WyJ0b3AiLCJib3R0b20iXSxmbGV4OlsiYmFzaXMiLCJncm93Iiwic2hyaW5rIl0sZ2FwOlsiZ2FwLXgiLCJnYXAteSJdLHA6WyJweCIsInB5IiwicHMiLCJwZSIsInBicyIsInBiZSIsInB0IiwicHIiLCJwYiIsInBsIl0scHg6WyJwciIsInBsIl0scHk6WyJwdCIsInBiIl0sbTpbIm14IiwibXkiLCJtcyIsIm1lIiwibWJzIiwibWJlIiwibXQiLCJtciIsIm1iIiwibWwiXSxteDpbIm1yIiwibWwiXSxteTpbIm10IiwibWIiXSxzaXplOlsidyIsImgiXSwiZm9udC1zaXplIjpbImxlYWRpbmciXSwiZnZuLW5vcm1hbCI6WyJmdm4tb3JkaW5hbCIsImZ2bi1zbGFzaGVkLXplcm8iLCJmdm4tZmlndXJlIiwiZnZuLXNwYWNpbmciLCJmdm4tZnJhY3Rpb24iXSwiZnZuLW9yZGluYWwiOlsiZnZuLW5vcm1hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbImZ2bi1ub3JtYWwiXSwiZnZuLWZpZ3VyZSI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zcGFjaW5nIjpbImZ2bi1ub3JtYWwiXSwiZnZuLWZyYWN0aW9uIjpbImZ2bi1ub3JtYWwiXSwibGluZS1jbGFtcCI6WyJkaXNwbGF5Iiwib3ZlcmZsb3ciXSxyb3VuZGVkOlsicm91bmRlZC1zIiwicm91bmRlZC1lIiwicm91bmRlZC10Iiwicm91bmRlZC1yIiwicm91bmRlZC1iIiwicm91bmRlZC1sIiwicm91bmRlZC1zcyIsInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIiwicm91bmRlZC1lcyIsInJvdW5kZWQtdGwiLCJyb3VuZGVkLXRyIiwicm91bmRlZC1iciIsInJvdW5kZWQtYmwiXSwicm91bmRlZC1zIjpbInJvdW5kZWQtc3MiLCJyb3VuZGVkLWVzIl0sInJvdW5kZWQtZSI6WyJyb3VuZGVkLXNlIiwicm91bmRlZC1lZSJdLCJyb3VuZGVkLXQiOlsicm91bmRlZC10bCIsInJvdW5kZWQtdHIiXSwicm91bmRlZC1yIjpbInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIl0sInJvdW5kZWQtYiI6WyJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLWwiOlsicm91bmRlZC10bCIsInJvdW5kZWQtYmwiXSwiYm9yZGVyLXNwYWNpbmciOlsiYm9yZGVyLXNwYWNpbmcteCIsImJvcmRlci1zcGFjaW5nLXkiXSwiYm9yZGVyLXciOlsiYm9yZGVyLXcteCIsImJvcmRlci13LXkiLCJib3JkZXItdy1zIiwiYm9yZGVyLXctZSIsImJvcmRlci13LWJzIiwiYm9yZGVyLXctYmUiLCJib3JkZXItdy10IiwiYm9yZGVyLXctciIsImJvcmRlci13LWIiLCJib3JkZXItdy1sIl0sImJvcmRlci13LXgiOlsiYm9yZGVyLXctciIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteSI6WyJib3JkZXItdy10IiwiYm9yZGVyLXctYiJdLCJib3JkZXItY29sb3IiOlsiYm9yZGVyLWNvbG9yLXgiLCJib3JkZXItY29sb3IteSIsImJvcmRlci1jb2xvci1zIiwiYm9yZGVyLWNvbG9yLWUiLCJib3JkZXItY29sb3ItYnMiLCJib3JkZXItY29sb3ItYmUiLCJib3JkZXItY29sb3ItdCIsImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWIiLCJib3JkZXItY29sb3ItbCJdLCJib3JkZXItY29sb3IteCI6WyJib3JkZXItY29sb3ItciIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci15IjpbImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLWIiXSx0cmFuc2xhdGU6WyJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLW5vbmUiXSwidHJhbnNsYXRlLW5vbmUiOlsidHJhbnNsYXRlIiwidHJhbnNsYXRlLXgiLCJ0cmFuc2xhdGUteSIsInRyYW5zbGF0ZS16Il0sInNjcm9sbC1tIjpbInNjcm9sbC1teCIsInNjcm9sbC1teSIsInNjcm9sbC1tcyIsInNjcm9sbC1tZSIsInNjcm9sbC1tYnMiLCJzY3JvbGwtbWJlIiwic2Nyb2xsLW10Iiwic2Nyb2xsLW1yIiwic2Nyb2xsLW1iIiwic2Nyb2xsLW1sIl0sInNjcm9sbC1teCI6WyJzY3JvbGwtbXIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW15IjpbInNjcm9sbC1tdCIsInNjcm9sbC1tYiJdLCJzY3JvbGwtcCI6WyJzY3JvbGwtcHgiLCJzY3JvbGwtcHkiLCJzY3JvbGwtcHMiLCJzY3JvbGwtcGUiLCJzY3JvbGwtcGJzIiwic2Nyb2xsLXBiZSIsInNjcm9sbC1wdCIsInNjcm9sbC1wciIsInNjcm9sbC1wYiIsInNjcm9sbC1wbCJdLCJzY3JvbGwtcHgiOlsic2Nyb2xsLXByIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weSI6WyJzY3JvbGwtcHQiLCJzY3JvbGwtcGIiXSx0b3VjaDpbInRvdWNoLXgiLCJ0b3VjaC15IiwidG91Y2gtcHoiXSwidG91Y2gteCI6WyJ0b3VjaCJdLCJ0b3VjaC15IjpbInRvdWNoIl0sInRvdWNoLXB6IjpbInRvdWNoIl19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cE1vZGlmaWVyczp7ImZvbnQtc2l6ZSI6WyJsZWFkaW5nIl19LG9yZGVyU2Vuc2l0aXZlTW9kaWZpZXJzOlsiKiIsIioqIiwiYWZ0ZXIiLCJiYWNrZHJvcCIsImJlZm9yZSIsImRldGFpbHMtY29udGVudCIsImZpbGUiLCJmaXJzdC1sZXR0ZXIiLCJmaXJzdC1saW5lIiwibWFya2VyIiwicGxhY2Vob2xkZXIiLCJzZWxlY3Rpb24iXX19KTtlLnMoWyJjbiIsMCxmdW5jdGlvbiguLi5lKXtyZXR1cm4gZWMoZnVuY3Rpb24oKXtmb3IodmFyIGUscixvPTAsdD0iIixsPWFyZ3VtZW50cy5sZW5ndGg7bzxsO28rKykoZT1hcmd1bWVudHNbb10pJiYocj1mdW5jdGlvbiBlKHIpe3ZhciBvLHQsbD0iIjtpZigic3RyaW5nIj09dHlwZW9mIHJ8fCJudW1iZXIiPT10eXBlb2YgcilsKz1yO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByKWlmKEFycmF5LmlzQXJyYXkocikpe3ZhciBuPXIubGVuZ3RoO2ZvcihvPTA7bzxuO28rKylyW29dJiYodD1lKHJbb10pKSYmKGwmJihsKz0iICIpLGwrPXQpfWVsc2UgZm9yKHQgaW4gcilyW3RdJiYobCYmKGwrPSIgIiksbCs9dCk7cmV0dXJuIGx9KGUpKSYmKHQmJih0Kz0iICIpLHQrPXIpO3JldHVybiB0fShlKSl9LCJmb3JtYXRVU0QiLDAsZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OiJVU0QifSkuZm9ybWF0KGUpfV0sNzUxNTcpfV0pOw=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/simple/price?ids=bitcoin\u0026vs_currencies=usd\u0026include_24hr_change=true","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://hashvault.site/","date":"2026-07-27T07:12:32.940Z","timestamp":1785136352940,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/simple/price?ids=bitcoin\u0026vs_currencies=usd\u0026include_24hr_change=true HTTP/1.1\r\nHost: api.coingecko.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://hashvault.site/\r\nOrigin: https://hashvault.site\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 07:12:33 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=60\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"467f7e57e382854109c285a060b82310\"\r\nx-request-id: ec083f3a-3395-4edd-8bd0-5ee9ba4dfe55\r\nx-runtime: 0.002422\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\ncf-ray: a219d61e4b0256ca-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":61,"size_decoded":1266,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1397e04e14110fff0d8a3320d48b8b1f","sha1":"aa1402dabcca7599c64929a34bf826bbf5e45541","sha256":"32f02ecea953e727e0e9207d3d016781dbcca455e2aa638762fe2cf6d2995692","sha512":"ca4fde0790c4c55e2606a38cfcf01beb10d692ae85c72fe0f6c93bc5a0ac207106f54d5de8510e6f32161fea009b6b6ab033cae333250151553b867899b4722e","ssdeep":"","tlshash":"35a002575070c15795b29a714e805326bb9a34f45c5c5745472ae64a14581d80755c4e","first_seen":"2026-07-27T07:13:04.157015Z","last_seen":"2026-07-27T07:13:55.100966Z","times_seen":2,"resource_available":false,"data":"eyJiaXRjb2luIjp7InVzZCI6NjUzNTIsInVzZF8yNGhfY2hhbmdlIjoxLjU2MTc5MTMzNTc2MjI2NjF9fQ=="}},"time_used":203,"timings":{"blocked":-1,"dns":4,"connect":2,"send":0,"wait":149,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
